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

216 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 ICSSoft.Base.Config.DBHelper;
  7. using System.Data;
  8. using ICSSoft.Base.Config.AppConfig;
  9. namespace ICSSoft.Frame.Data.DAL
  10. {
  11. public class ICSINVReceiptDetailDAL
  12. {
  13. public static List<FormICSINVENTORYUIModel> SearchItemInfoList(string dsconn)
  14. {
  15. try
  16. {
  17. List<FormICSINVENTORYUIModel> returntype = new List<FormICSINVENTORYUIModel>();
  18. string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC]
  19. from [ICSINVENTORY]
  20. where INVTYPE=''";
  21. sql = string.Format(sql);
  22. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  23. foreach (DataRow dr in dt.Rows)
  24. {
  25. FormICSINVENTORYUIModel itemmodel = new FormICSINVENTORYUIModel();
  26. itemmodel.ID = dr["ID"].ToString();
  27. itemmodel.INVCODE = dr["INVCODE"].ToString();
  28. itemmodel.INVNAME = dr["INVNAME"].ToString();
  29. itemmodel.INVDESC = dr["INVDESC"].ToString();
  30. if (!returntype.Contains(itemmodel))
  31. returntype.Add(itemmodel);
  32. }
  33. return returntype;
  34. }
  35. catch (Exception ex)
  36. {
  37. throw ex;
  38. }
  39. }
  40. #region 新增和修改
  41. public static void Add(List<FormICSINVReceiptDetailUIModel> DetailInfoList, string dsconn)
  42. {
  43. FramDataContext db = new FramDataContext(dsconn);
  44. db.Connection.Open();
  45. db.Transaction = db.Connection.BeginTransaction();
  46. try
  47. {
  48. foreach (FormICSINVReceiptDetailUIModel info in DetailInfoList)
  49. {
  50. bool isNew = false;
  51. var line = db.ICSINVReceiptDetail.SingleOrDefault(a => a.ID == info.ID);
  52. if (line == null)
  53. {
  54. isNew = true;
  55. line = new ICSINVReceiptDetail();
  56. line.ID = AppConfig.GetGuid();
  57. line.ReceiptID = info.ReceiptID;
  58. line.ReceiptNO = info.ReceiptNO;
  59. line.ReceiptLine = info.ReceiptLine;
  60. line.RECSTATUS = "新建";
  61. line.IQCStatus = "新建";
  62. line.MOCODE = "";
  63. line.QualifyQTY = Convert.ToDecimal(0);
  64. line.ACTQTY = 0;
  65. line.RECUSER = "";
  66. line.INVUSER = "";
  67. line.ISINSTORAGE = "N";
  68. }
  69. line.ORDERNO = info.ORDERNO;
  70. line.ORDERLINE = info.ORDERLINE;
  71. line.MEMO = info.MEMO;
  72. line.ITEMCODE = info.inv.INVCODE;
  73. line.PLANQTY = info.PLANQTY;
  74. line.VenderLotNO = info.VenderLotNO;
  75. line.RECTIME = DateTime.Now;
  76. line.MUSER = AppConfig.UserId;
  77. line.MUSERName = AppConfig.UserName;
  78. line.MTIME = DateTime.Now;
  79. line.WorkPoint = AppConfig.WorkPointCode;
  80. if (isNew)
  81. {
  82. db.ICSINVReceiptDetail.InsertOnSubmit(line);
  83. }
  84. db.SubmitChanges();
  85. }
  86. db.Transaction.Commit();
  87. }
  88. catch (Exception ex)
  89. {
  90. db.Transaction.Rollback();
  91. throw ex;
  92. }
  93. }
  94. #endregion
  95. #region 查询
  96. public static List<FormICSINVReceiptDetailUIModel> SearchInfoByID(string dID, string dsconn)
  97. {
  98. List<FormICSINVReceiptDetailUIModel> returndetail = new List<FormICSINVReceiptDetailUIModel>();
  99. string sql = @"select a.[ID],a.[ReceiptLine],a.[ORDERNO],a.[ORDERLINE],a.[RECSTATUS],a.[IQCStatus],a.[MEMO],
  100. b.[INVCODE],b.[INVNAME],a.[PLANQTY],a.[QualifyQTY],a.[VenderLotNO],a.[ACTQTY],
  101. a.[RECTIME],a.[RECUSER],a.[INVUSER],a.[ISINSTORAGE],
  102. c.[MOCODE] as cMOCODE,c.[MODESC]
  103. from ICSINVReceiptDetail a
  104. left join ICSINVENTORY b on b.INVCODE=a.ITEMCODE
  105. left join ICSMO c on c.MOCODE=a.MOCODE
  106. where a.ID='{0}'
  107. ";
  108. sql = string.Format(sql, dID);
  109. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  110. foreach (DataRow dr in dt.Rows)
  111. {
  112. FormICSINVReceiptDetailUIModel returnInfo = new FormICSINVReceiptDetailUIModel();
  113. returnInfo.ID = dr["ID"].ToString();
  114. returnInfo.ReceiptLine = Convert.ToInt32(dr["ReceiptLine"].ToString());
  115. returnInfo.ORDERNO = dr["ORDERNO"].ToString();
  116. returnInfo.ORDERLINE = Convert.ToInt32(dr["ORDERLINE"].ToString().Equals("") ? "0" : dr["ORDERLINE"].ToString());
  117. returnInfo.RECSTATUS = dr["RECSTATUS"].ToString();
  118. returnInfo.IQCStatus = dr["IQCStatus"].ToString();
  119. returnInfo.MEMO = dr["MEMO"].ToString();
  120. //returnInfo.MOCODE = dr["MOCODE"].ToString();
  121. //returnInfo.ITEMCODE = dr["ITEMCODE"].ToString();
  122. //string motest=dr["cMOCODE"].ToString();
  123. //if (!motest.Equals(""))
  124. //{
  125. // returnInfo.mo = new FormICSMOUIModel();
  126. // returnInfo.mo.MOCODE = dr["cMOCODE"].ToString();
  127. // returnInfo.mo.MODESC = dr["MODESC"].ToString();
  128. //}
  129. returnInfo.inv = new FormICSINVENTORYUIModel();
  130. returnInfo.inv.INVCODE = dr["INVCODE"].ToString();
  131. returnInfo.inv.INVNAME=dr["INVNAME"].ToString();
  132. returnInfo.PLANQTY = Convert.ToDecimal(dr["PLANQTY"].ToString());
  133. //returnInfo.QualifyQTY = Convert.ToDecimal(dr["QualifyQTY"].ToString().Equals("") ? "0" : dr["QualifyQTY"].ToString());
  134. returnInfo.VenderLotNO = dr["VenderLotNO"].ToString();
  135. //returnInfo.ACTQTY = Convert.ToInt32(dr["ACTQTY"].ToString().Equals("") ? "0" : dr["ACTQTY"].ToString());
  136. //returnInfo.RECTIME = Convert.ToDateTime(dr["RECTIME"].ToString());
  137. //returnInfo.RECUSER = dr["RECUSER"].ToString();
  138. //returnInfo.INVUSER = dr["INVUSER"].ToString();
  139. //returnInfo.ISINSTORAGE = dr["ISINSTORAGE"].ToString();
  140. if (!returndetail.Contains(returnInfo))
  141. {
  142. returndetail.Add(returnInfo);
  143. }
  144. }
  145. return returndetail;
  146. }
  147. #endregion
  148. #region 删除
  149. public static void deleteInfo(List<string> detailIDList, string dsconn)
  150. {
  151. FramDataContext db = new FramDataContext(dsconn);
  152. db.Connection.Open();
  153. db.Transaction = db.Connection.BeginTransaction();
  154. try
  155. {
  156. var lines = db.ICSINVReceiptDetail.Where(a => detailIDList.Contains(a.ID));
  157. db.ICSINVReceiptDetail.DeleteAllOnSubmit(lines);
  158. db.SubmitChanges();
  159. db.Transaction.Commit();
  160. }
  161. catch (Exception ex)
  162. {
  163. db.Transaction.Rollback();
  164. throw ex;
  165. }
  166. }
  167. #endregion
  168. #region 产品明细代码是否存在
  169. public static bool IsIncluding(string Rid,int RLine, string workpoint,string dsconn)
  170. {
  171. FramDataContext db = new FramDataContext(dsconn);
  172. db.Connection.Open();
  173. db.Transaction = db.Connection.BeginTransaction();
  174. try
  175. {
  176. var line = db.ICSINVReceiptDetail.SingleOrDefault(a => a.ReceiptLine == RLine && a.ReceiptID == Rid && a.WorkPoint == workpoint);
  177. if (line == null)
  178. return true;
  179. else
  180. return false;
  181. }
  182. catch (Exception ex)
  183. {
  184. db.Transaction.Rollback();
  185. throw ex;
  186. }
  187. }
  188. #endregion
  189. }
  190. }