锐腾搅拌上料功能
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.

242 lines
8.1 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.DBHelper;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. using ICSSoft.Base.Config.AppConfig;
  10. namespace ICSSoft.Frame.Data.DAL
  11. {
  12. public class ICSMODELOP2CKGROUPDAL
  13. {
  14. #region 增加修改
  15. public static void AddAndEdit(List<FormICSMODELOP2CKGROUPUIModel> ckgroupInfoList, string dsconn)
  16. {
  17. FramDataContext db = new FramDataContext(dsconn);
  18. db.Connection.Open();
  19. db.Transaction = db.Connection.BeginTransaction();
  20. try
  21. {
  22. foreach (FormICSMODELOP2CKGROUPUIModel ckgroupInfo in ckgroupInfoList)
  23. {
  24. bool isNew = false;
  25. var line = db.ICSMODELOP2CKGROUP.SingleOrDefault(a => a.ITEMID == ckgroupInfo.ITEMID && a.OPID == ckgroupInfo.OPID);
  26. if (line == null)
  27. {
  28. isNew = true;
  29. line = new ICSMODELOP2CKGROUP();
  30. line.ITEMID = ckgroupInfo.ITEMID;
  31. line.OPID = ckgroupInfo.OPID;
  32. line.CKGROUPID = ckgroupInfo.CKGROUPID;
  33. }
  34. line.ITEMCODE = ckgroupInfo.ITEMCODE;
  35. line.OPCODE = ckgroupInfo.OPCODE;
  36. line.CKGROUP = ckgroupInfo.CKGROUP;
  37. line.SEQ = ckgroupInfo.SEQ;
  38. line.MUSER = ckgroupInfo.MUSER;
  39. line.MUSERName = ckgroupInfo.MUSERName;
  40. line.MTIME = Convert.ToDateTime(ckgroupInfo.MTIME);
  41. line.WorkPoint = ckgroupInfo.WorkPoint;
  42. line.EATTRIBUTE1 = ckgroupInfo.EATTRIBUTE1;
  43. if (isNew)
  44. db.ICSMODELOP2CKGROUP.InsertOnSubmit(line);
  45. db.SubmitChanges();
  46. }
  47. db.SubmitChanges();
  48. db.Transaction.Commit();
  49. }
  50. catch (Exception ex)
  51. {
  52. db.Transaction.Rollback();
  53. throw new Exception(ex.Message);
  54. }
  55. }
  56. #endregion
  57. public static List<FormICSMODELOP2CKGROUPUIModel> SearchCkgroupInfoByCode(string ITEMCODE, string OPCODE, string CKGROUP, string dsconn)
  58. {
  59. List<FormICSMODELOP2CKGROUPUIModel> returnshift = new List<FormICSMODELOP2CKGROUPUIModel>();
  60. string sql = @"select a.ITEMID as ITEMID,
  61. a.OPID as OPID,
  62. a.CKGROUPID as CKGROUPID,
  63. b.INVCODE as ITEMCODE,
  64. c.OPCODE as OPCODE,
  65. d.CKGROUP as CKGROUP,
  66. a.SEQ as SEQ,
  67. a.MUSERName as MUSERName,
  68. a.MTIME as MTIME
  69. from ICSMODELOP2CKGROUP a
  70. left join ICSINVENTORY b on a.ITEMID=b.ID
  71. left join ICSOP c on a.OPID=c.ID
  72. left join ICSOQCCKGROUP d on a.CKGROUPID=d.ID
  73. where b.INVCODE='" + ITEMCODE + "'and c.OPCODE='" + OPCODE + "' and d.CKGROUP='" + CKGROUP + "'";
  74. sql = string.Format(sql);
  75. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  76. foreach (DataRow dr in dt.Rows)
  77. {
  78. FormICSMODELOP2CKGROUPUIModel shiftInfo = new FormICSMODELOP2CKGROUPUIModel();
  79. shiftInfo.inventory = new FormICSINVENTORYUIModel();
  80. shiftInfo.inventory.INVCODE = dr["ITEMCODE"].ToString();
  81. shiftInfo.op = new FormICSOPUIModel();
  82. shiftInfo.op.OPCODE = dr["OPCODE"].ToString();
  83. shiftInfo.oqcckgroup = new FormICSOQCCKGROUPUIModel();
  84. shiftInfo.oqcckgroup.CKGROUP = dr["CKGROUP"].ToString();
  85. shiftInfo.SEQ = int.Parse(dr["SEQ"].ToString());
  86. shiftInfo.MUSERName = dr["MUSERName"].ToString();
  87. shiftInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
  88. if (!returnshift.Contains(shiftInfo))
  89. {
  90. returnshift.Add(shiftInfo);
  91. }
  92. }
  93. return returnshift;
  94. }
  95. public static List<FormICSOPUIModel> SearchOPInfoList(string str,string dsconn)
  96. {
  97. try
  98. {
  99. List<FormICSOPUIModel> returntype = new List<FormICSOPUIModel>();
  100. string sql = @"select distinct b.OPCODE,a.OPDESC
  101. from dbo.ICSITEMROUTE2OP b
  102. left join dbo.ICSOP a on b.OPID=a.ID
  103. WHERE ITEMCODE='" + str + "'";
  104. sql = string.Format(sql);
  105. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  106. foreach (DataRow dr in dt.Rows)
  107. {
  108. FormICSOPUIModel typemodel = new FormICSOPUIModel();
  109. typemodel.OPCODE = dr["OPCODE"].ToString();
  110. typemodel.OPDESC = dr["OPDESC"].ToString();
  111. if (!returntype.Contains(typemodel))
  112. returntype.Add(typemodel);
  113. }
  114. return returntype;
  115. }
  116. catch (Exception ex)
  117. {
  118. throw ex;
  119. }
  120. }
  121. #region 根据存货编码查找产品id
  122. public static DataTable SelectItemId(string str, string wp)
  123. {
  124. string sql = @"select ID
  125. from dbo.ICSINVENTORY
  126. where INVCODE='" + str + "' and WorkPoint='" + wp + "'";
  127. sql = string.Format(sql);
  128. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  129. return dt;
  130. }
  131. #endregion
  132. #region 根据工序代码查找工序id
  133. public static DataTable SelectOpId(string str, string wp)
  134. {
  135. string sql = @"select ID
  136. from dbo.ICSOP
  137. where OPCODE='" + str + "'and WorkPoint='" + wp + "'";
  138. sql = string.Format(sql);
  139. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  140. return dt;
  141. }
  142. #endregion
  143. #region 根据检验类型代码查找检验类型id
  144. public static DataTable SelectCkgroupId(string str, string wp)
  145. {
  146. string sql = @"select ID
  147. from dbo.ICSOQCCKGROUP
  148. where CKGROUP='" + str + "'and WorkPoint='" + wp + "'";
  149. sql = string.Format(sql);
  150. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  151. return dt;
  152. }
  153. #endregion
  154. #region delete
  155. public static void delete(List<String> codeList)
  156. {
  157. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  158. db.Connection.Open();
  159. db.Transaction = db.Connection.BeginTransaction();
  160. try
  161. {
  162. var lines = db.ICSMODELOP2CKGROUP.Where(a => codeList.Contains(a.ITEMCODE) && codeList.Contains(a.OPCODE) && codeList.Contains(a.CKGROUP));
  163. db.ICSMODELOP2CKGROUP.DeleteAllOnSubmit(lines);
  164. db.SubmitChanges();
  165. db.Transaction.Commit();
  166. }
  167. catch (Exception ex)
  168. {
  169. db.Transaction.Rollback();
  170. throw ex;
  171. }
  172. }
  173. #endregion
  174. #region 产品工序是否已经存在
  175. public static bool IsIncludingItemOP(string ITEMCODE, string OPCODE, string dsconn)
  176. {
  177. FramDataContext db = new FramDataContext(dsconn);
  178. db.Connection.Open();
  179. db.Transaction = db.Connection.BeginTransaction();
  180. try
  181. {
  182. var line = db.ICSMODELOP2CKGROUP.SingleOrDefault(a => a.ITEMCODE == ITEMCODE && a.OPCODE == OPCODE);
  183. if (line == null)
  184. return true;
  185. else
  186. return false;
  187. }
  188. catch (Exception ex)
  189. {
  190. db.Transaction.Rollback();
  191. throw ex;
  192. }
  193. }
  194. #endregion
  195. }
  196. }