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

218 lines
8.4 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 System.Data;
  7. using ICSSoft.Base.Config.DBHelper;
  8. using ICSSoft.Base.Config.AppConfig;
  9. namespace ICSSoft.Frame.Data.DAL
  10. {
  11. public class ICSSENDINVPLANDAL
  12. {
  13. #region 查询物料
  14. public static List<FormICSINVENTORYUIModel> SearchItemInfoList(string dsconn)
  15. {
  16. try
  17. {
  18. List<FormICSINVENTORYUIModel> returntype = new List<FormICSINVENTORYUIModel>();
  19. string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC]
  20. from [ICSINVENTORY]
  21. where INVTYPE=''";
  22. sql = string.Format(sql);
  23. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  24. foreach (DataRow dr in dt.Rows)
  25. {
  26. FormICSINVENTORYUIModel itemmodel = new FormICSINVENTORYUIModel();
  27. itemmodel.ID = dr["ID"].ToString();
  28. itemmodel.INVCODE = dr["INVCODE"].ToString();
  29. itemmodel.INVNAME = dr["INVNAME"].ToString();
  30. itemmodel.INVDESC = dr["INVDESC"].ToString();
  31. if (!returntype.Contains(itemmodel))
  32. returntype.Add(itemmodel);
  33. }
  34. return returntype;
  35. }
  36. catch (Exception ex)
  37. {
  38. throw ex;
  39. }
  40. }
  41. #endregion
  42. #region 查询工单
  43. public static List<FormICSMOUIModel> SearchMOInfoList(string dsconn)
  44. {
  45. try
  46. {
  47. List<FormICSMOUIModel> returnmo = new List<FormICSMOUIModel>();
  48. string sql = @"select [ID],[MOCODE],[MOMEMO],[MODESC]
  49. from [ICSMO]
  50. ";
  51. sql = string.Format(sql);
  52. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  53. foreach (DataRow dr in dt.Rows)
  54. {
  55. FormICSMOUIModel momodel = new FormICSMOUIModel();
  56. momodel.ID = dr["ID"].ToString();
  57. momodel.MOCODE = dr["MOCODE"].ToString();
  58. momodel.MOMEMO = dr["MOMEMO"].ToString();
  59. momodel.MODESC = dr["MODESC"].ToString();
  60. if (!returnmo.Contains(momodel))
  61. returnmo.Add(momodel);
  62. }
  63. return returnmo;
  64. }
  65. catch (Exception ex)
  66. {
  67. throw ex;
  68. }
  69. }
  70. #endregion
  71. #region 新增和修改
  72. public static void Add(List<FormICSSENDINVPLANUIModel> sendInfoList, string dsconn)
  73. {
  74. FramDataContext db = new FramDataContext(dsconn);
  75. db.Connection.Open();
  76. db.Transaction = db.Connection.BeginTransaction();
  77. try
  78. {
  79. foreach (FormICSSENDINVPLANUIModel sendInfo in sendInfoList)
  80. {
  81. bool isNew = false;
  82. var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.ID == sendInfo.ID);
  83. if (line == null)
  84. {
  85. isNew = true;
  86. line = new ICSSENDINVPLAN();
  87. line.ID = AppConfig.GetGuid();
  88. line.Version = sendInfo.Version;
  89. line.ManuDepartment = "";
  90. line.ProjectName = "";
  91. line.LotNo = "";
  92. line.Exattention = "";
  93. line.SendDate = DateTime.Now;
  94. line.Sender = "";
  95. line.ObjProgress = "";
  96. }
  97. line.PlanQty = sendInfo.PlanQty;
  98. line.MoCode = sendInfo.mo.ID;
  99. line.Mcode = sendInfo.item.ID;
  100. line.WorkPoint = AppConfig.WorkPointCode;
  101. line.MUSER = AppConfig.UserId;
  102. line.MUSERName = AppConfig.UserName;
  103. line.MTIME = DateTime.Now;
  104. if (isNew)
  105. db.ICSSENDINVPLAN.InsertOnSubmit(line);
  106. db.SubmitChanges();
  107. }
  108. db.Transaction.Commit();
  109. }
  110. catch (Exception ex)
  111. {
  112. db.Transaction.Rollback();
  113. throw ex;
  114. }
  115. }
  116. #endregion
  117. #region 通过guid查询
  118. public static List<FormICSSENDINVPLANUIModel> SearchSendInfoByID(string sendid, string dsconn)
  119. {
  120. List<FormICSSENDINVPLANUIModel> returnsend = new List<FormICSSENDINVPLANUIModel>();
  121. string sql = @"select a.[ManuDepartment],a.[ProjectName],a.[LotNo],a.[PlanQty],a.[Exattention],a.[SendDate],a.[Sender],
  122. a.[ObjProgress],a.[Version],
  123. b.[ID] as bid,b.[INVCODE],b.[INVNAME],b.[INVDESC],
  124. c.[ID] as cid,c.[MOCODE],c.[MOMEMO],c.[MODESC]
  125. from ICSSENDINVPLAN a
  126. left join ICSINVENTORY b on a.Mcode=b.ID
  127. left join ICSMO c on a.MoCode=c.ID
  128. where a.ID='{0}'";
  129. sql = string.Format(sql, sendid);
  130. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  131. foreach (DataRow dr in dt.Rows)
  132. {
  133. FormICSSENDINVPLANUIModel sendInfo = new FormICSSENDINVPLANUIModel();
  134. sendInfo.Version = Convert.ToDecimal(dr["Version"].ToString());
  135. sendInfo.ManuDepartment = dr["ManuDepartment"].ToString();
  136. sendInfo.ProjectName = dr["ProjectName"].ToString();
  137. sendInfo.LotNo = dr["LotNo"].ToString();
  138. sendInfo.PlanQty = Convert.ToDecimal(dr["PlanQty"].ToString());
  139. sendInfo.Exattention = dr["Exattention"].ToString();
  140. sendInfo.SendDate = Convert.ToDateTime(dr["SendDate"].ToString());
  141. sendInfo.Sender = dr["Sender"].ToString();
  142. sendInfo.ObjProgress = dr["ObjProgress"].ToString();
  143. sendInfo.mo = new FormICSMOUIModel();
  144. sendInfo.mo.ID = dr["cid"].ToString();
  145. sendInfo.mo.MOCODE = dr["MOCODE"].ToString();
  146. sendInfo.mo.MOMEMO = dr["MOMEMO"].ToString();
  147. sendInfo.mo.MODESC = dr["MODESC"].ToString();
  148. sendInfo.item = new FormICSINVENTORYUIModel();
  149. sendInfo.item.ID = dr["bid"].ToString();
  150. sendInfo.item.INVCODE = dr["INVCODE"].ToString();
  151. sendInfo.item.INVNAME = dr["INVNAME"].ToString();
  152. sendInfo.item.INVDESC = dr["INVDESC"].ToString();
  153. if (!returnsend.Contains(sendInfo))
  154. {
  155. returnsend.Add(sendInfo);
  156. }
  157. }
  158. return returnsend;
  159. }
  160. #endregion
  161. #region 删除
  162. public static void deleteInfo(List<string> sendidList, string dsconn)
  163. {
  164. FramDataContext db = new FramDataContext(dsconn);
  165. db.Connection.Open();
  166. db.Transaction = db.Connection.BeginTransaction();
  167. try
  168. {
  169. var lines = db.ICSSENDINVPLAN.Where(a => sendidList.Contains(a.ID));
  170. db.ICSSENDINVPLAN.DeleteAllOnSubmit(lines);
  171. db.SubmitChanges();
  172. db.Transaction.Commit();
  173. }
  174. catch (Exception ex)
  175. {
  176. db.Transaction.Rollback();
  177. throw ex;
  178. }
  179. }
  180. #endregion
  181. #region 代码是否存在
  182. public static bool IsIncluding(decimal version, string workpoint, string dsconn)
  183. {
  184. FramDataContext db = new FramDataContext(dsconn);
  185. db.Connection.Open();
  186. db.Transaction = db.Connection.BeginTransaction();
  187. try
  188. {
  189. var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.Version == version && a.WorkPoint == workpoint);
  190. if (line == null)
  191. return true;
  192. else
  193. return false;
  194. }
  195. catch (Exception ex)
  196. {
  197. db.Transaction.Rollback();
  198. throw ex;
  199. }
  200. }
  201. #endregion
  202. }
  203. }