华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

338 lines
12 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ICSSoft.Frame.Data.Entity;
  6. using ICSSoft.Base.Config.AppConfig;
  7. using System.Data;
  8. using System.Data.Sql;
  9. using System.Data.Linq;
  10. using ICSSoft.Base.Config.DBHelper;
  11. namespace ICSSoft.Frame.Data.DAL
  12. {
  13. public class ICSOQCCKLISTDAL
  14. {
  15. public static void AddandEdit(ICSOQCCKLIST MODEL, string Appconstr)
  16. {
  17. FramDataContext db = new FramDataContext(Appconstr);
  18. db.Connection.Open();
  19. db.Transaction = db.Connection.BeginTransaction();
  20. try
  21. {
  22. bool isNew = false;
  23. string b = MODEL.ID;
  24. var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.ID == MODEL.ID);
  25. var codes = db.ICSOQCCKLIST.Where(a => a.INVCode == MODEL.INVCode && a.OPCode == MODEL.OPCode && a.CKGROUPCode == MODEL.CKGROUPCode &&
  26. a.CKGROUPMETH == MODEL.CKGROUPMETH && a.CKGROUPATTR == MODEL.CKGROUPATTR && a.ID != MODEL.ID);
  27. //9.14,许蛟说可以有重复的
  28. //if (codes.ToList().Count > 0)
  29. //{
  30. // throw new Exception("维护信息已存在!");
  31. //}
  32. if (line == null)
  33. {
  34. isNew = true;
  35. line = new ICSOQCCKLIST();
  36. line.ID = MODEL.ID;
  37. }
  38. line.ID = MODEL.ID;
  39. line.INVCode = MODEL.INVCode;
  40. line.OPCode = MODEL.OPCode;
  41. line.CKGROUPCode = MODEL.CKGROUPCode;
  42. line.CKGROUPMETH = MODEL.CKGROUPMETH;
  43. line.CKGROUPATTR = MODEL.CKGROUPATTR;
  44. line.UNIT = MODEL.UNIT;
  45. line.SetValueMax = MODEL.SetValueMax;
  46. line.SetValueMin = MODEL.SetValueMin;
  47. line.ISREF = MODEL.ISREF;
  48. line.MUSER = MODEL.MUSER;
  49. //line.MUSERName = MODEL.MUSERName;
  50. line.MTIME = MODEL.MTIME;
  51. line.WorkPoint = AppConfig.WorkPointCode;
  52. if (isNew)
  53. db.ICSOQCCKLIST.InsertOnSubmit(line);
  54. db.SubmitChanges();
  55. db.Transaction.Commit();
  56. }
  57. catch (Exception ex)
  58. {
  59. db.Transaction.Rollback();
  60. throw new Exception(ex.Message);
  61. }
  62. }
  63. public static void AddandEditList(List<ICSOQCCKLIST> InfoList, string Appconstr)
  64. {
  65. FramDataContext db = new FramDataContext(Appconstr);
  66. db.Connection.Open();
  67. db.Transaction = db.Connection.BeginTransaction();
  68. try
  69. {
  70. foreach (ICSOQCCKLIST info in InfoList)
  71. {
  72. bool isNew = false;
  73. var line1 = db.ICSOQCCKLIST.SingleOrDefault(a => a.INVCode == info.INVCode && a.OPCode == info.OPCode && a.CKGROUPCode == info.CKGROUPCode &&
  74. a.CKGROUPMETH == info.CKGROUPMETH && a.CKGROUPATTR == info.CKGROUPATTR&&a.ID!=info.ID&&info.SetValueMax==a.SetValueMax&&info.SetValueMin==a.SetValueMin);
  75. if (line1 != null)
  76. {
  77. throw new Exception("已存在相同数据!");
  78. }
  79. //var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.INVCode == info.INVCode && a.OPCode == info.OPCode && a.CKGROUPCode == info.CKGROUPCode &&
  80. // a.CKGROUPMETH == info.CKGROUPMETH && a.CKGROUPATTR == info.CKGROUPATTR);
  81. var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.ID ==info.ID);
  82. if (line == null)
  83. {
  84. isNew = true;
  85. line = new ICSOQCCKLIST();
  86. line.ID = info.ID;
  87. }
  88. line.INVCode = info.INVCode;
  89. //0906 [工序-次序] 拼接 例:(001-10)
  90. line.OPCode = info.OPCode;
  91. line.CKGROUPCode = info.CKGROUPCode;
  92. line.CKGROUPMETH = info.CKGROUPMETH;
  93. line.CKGROUPATTR = info.CKGROUPATTR;
  94. line.UNIT = info.UNIT;
  95. line.SetValueMax = info.SetValueMax;
  96. line.SetValueMin = info.SetValueMin;
  97. line.ISREF = info.ISREF;
  98. line.MUSER = info.MUSER;
  99. line.MTIME = info.MTIME;
  100. line.WorkPoint = info.WorkPoint;
  101. //0906
  102. line.cixu = info.cixu;
  103. line.PType = 1;
  104. if (isNew)
  105. {
  106. line.MUSER = AppConfig.UserName;
  107. line.MTIME = DateTime.Now;
  108. db.ICSOQCCKLIST.InsertOnSubmit(line);
  109. }
  110. }
  111. db.SubmitChanges();
  112. db.Transaction.Commit();
  113. }
  114. catch (Exception ex)
  115. {
  116. db.Transaction.Rollback();
  117. throw new Exception(ex.Message);
  118. }
  119. }
  120. public static void delete(List<String> guidList)
  121. {
  122. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  123. db.Connection.Open();
  124. db.Transaction = db.Connection.BeginTransaction();
  125. try
  126. {
  127. var lines = db.ICSOQCCKLIST.Where(a => guidList.Contains(a.ID));
  128. db.ICSOQCCKLIST.DeleteAllOnSubmit(lines);
  129. db.SubmitChanges();
  130. db.Transaction.Commit();
  131. }
  132. catch (Exception ex)
  133. {
  134. db.Transaction.Rollback();
  135. throw ex;
  136. }
  137. }
  138. #region 获取成检验方式
  139. public static DataTable SearchData(string dsconn)
  140. {
  141. try
  142. {
  143. string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND WorkPointCode = '{0}' ";
  144. sql = string.Format(sql, AppConfig.WorkPointCode);
  145. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  146. return dt;
  147. }
  148. catch (Exception ex)
  149. {
  150. throw ex;
  151. }
  152. }
  153. public static DataTable SearchData(string EnumText, string dsconn)
  154. {
  155. try
  156. {
  157. string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND EnumText = '{0}' AND WorkPointCode = '{1}' ";
  158. sql = string.Format(sql, EnumText, AppConfig.WorkPointCode);
  159. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  160. return dt;
  161. }
  162. catch (Exception ex)
  163. {
  164. throw ex;
  165. }
  166. }
  167. #endregion
  168. #region 获取成检验属性
  169. public static DataTable SearchDataa(string dsconn)
  170. {
  171. try
  172. {
  173. //0907暂时
  174. // string sql = @"SELECT EnumKey,
  175. // case when EnumText='尺寸' then '量化' else '外观' end
  176. // FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}' ";
  177. string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}' ";
  178. sql = string.Format(sql, AppConfig.WorkPointCode);
  179. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  180. return dt;
  181. }
  182. catch (Exception ex)
  183. {
  184. throw ex;
  185. }
  186. }
  187. public static DataTable SearchDataa(string EnumText, string dsconn)
  188. {
  189. try
  190. {
  191. string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND EnumText = '{0}' AND WorkPointCode = '{1}' ";
  192. sql = string.Format(sql, EnumText, AppConfig.WorkPointCode);
  193. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  194. return dt;
  195. }
  196. catch (Exception ex)
  197. {
  198. throw ex;
  199. }
  200. }
  201. #endregion
  202. public static DataSet SearchImportData(string dsconn)
  203. {
  204. try
  205. {
  206. string sql = @"SELECT INVCODE FROM ICSINVENTORY WHERE WorkPoint = '{0}'
  207. SELECT OPCODE FROM ICSOP WHERE WorkPoint = '{0}'
  208. SELECT CKGROUP FROM ICSOQCCKGROUP WHERE WorkPoint = '{0}'
  209. SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND WorkPointCode = '{0}'
  210. SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}'";
  211. sql = string.Format(sql, AppConfig.WorkPointCode);
  212. DataSet ds = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql);
  213. return ds;
  214. }
  215. catch (Exception ex)
  216. {
  217. throw ex;
  218. }
  219. }
  220. public static ICSOQCCKGROUP IsExist(string ObjectNO) {
  221. FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
  222. frame.Connection.Open();
  223. try {
  224. ICSOQCCKGROUP group=frame.ICSOQCCKGROUP.Where(a=>(a.CKGROUPDNAME+","+a.CKGROUPDESC)==ObjectNO).FirstOrDefault();
  225. return group;
  226. }
  227. catch (Exception ex) {
  228. throw ex;
  229. }
  230. }
  231. public static ICSOQCCKLIST IsExistCKLIST(string id)
  232. {
  233. FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
  234. frame.Connection.Open();
  235. try
  236. {
  237. ICSOQCCKLIST cklist = frame.ICSOQCCKLIST.Where(a => a.ID == id).FirstOrDefault();
  238. return cklist;
  239. }
  240. catch (Exception ex)
  241. {
  242. throw ex;
  243. }
  244. }
  245. public static void AddGroupAndList(List<ICSOQCCKGROUP> grouplist, List<ICSOQCCKLIST> cklist,List<string> id,string invcode,string opcode) {
  246. FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
  247. frame.Connection.Open();
  248. frame.Transaction = frame.Connection.BeginTransaction();
  249. try {
  250. if (grouplist.Count > 0)
  251. {
  252. frame.ICSOQCCKGROUP.InsertAllOnSubmit(grouplist);
  253. frame.SubmitChanges();
  254. }
  255. foreach(ICSOQCCKLIST list in cklist)
  256. {
  257. bool isnew = false;
  258. ICSOQCCKLIST b=frame.ICSOQCCKLIST.Where(a => a.ID == list.ID).FirstOrDefault();
  259. if (b == null) {
  260. isnew = true;
  261. b = new ICSOQCCKLIST();
  262. }
  263. b.ID = list.ID;
  264. b.INVCode = list.INVCode;
  265. b.ISREF = list.ISREF;
  266. b.JY1 = list.JY1;
  267. b.JY2 = list.JY2;
  268. b.MTIME = list.MTIME;
  269. b.MUSER = list.MUSER;
  270. b.MUSERNAME = list.MUSERNAME;
  271. b.OPCode = list.OPCode;
  272. b.PType = list.PType;
  273. b.SetValueMax = list.SetValueMax;
  274. b.SetValueMin = list.SetValueMin;
  275. b.UNIT = list.UNIT;
  276. b.WorkPoint = list.WorkPoint;
  277. b.CKGROUPATTR = list.CKGROUPATTR;
  278. b.CKGROUPCode = list.CKGROUPCode;
  279. b.CKGROUPMETH = list.CKGROUPMETH;
  280. b.EATTRIBUTE1 = list.EATTRIBUTE1;
  281. b.GJ = list.GJ;
  282. b.StandValue = list.StandValue;
  283. if (isnew)
  284. frame.ICSOQCCKLIST.InsertOnSubmit(b);
  285. frame.SubmitChanges();
  286. }
  287. //失效检验数据
  288. List<ICSOQCCKLIST> sx = frame.ICSOQCCKLIST.Where(a => a.INVCode == invcode && a.OPCode == opcode && !id.Contains(a.ID)).ToList();
  289. foreach (ICSOQCCKLIST s in sx) {
  290. s.ISREF = "否";
  291. }
  292. frame.SubmitChanges();
  293. frame.Transaction.Commit();
  294. }
  295. catch (Exception ex) {
  296. frame.Transaction.Rollback();
  297. throw ex;
  298. }
  299. }
  300. }
  301. }