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

274 lines
9.9 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 ICSINVReceiptDAL
  12. {
  13. public static List<FormICSStorageUIModel> SearchStorageInfoList(string dsconn)
  14. {
  15. try
  16. {
  17. List<FormICSStorageUIModel> returns = new List<FormICSStorageUIModel>();
  18. string sql = @"select [Serial],[StorageCode],[StorageName]
  19. from [ICSStorage]";
  20. sql = string.Format(sql);
  21. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  22. foreach (DataRow dr in dt.Rows)
  23. {
  24. FormICSStorageUIModel smodel = new FormICSStorageUIModel();
  25. smodel.Serial = dr["Serial"].ToString();
  26. smodel.StorageCode = dr["StorageCode"].ToString();
  27. smodel.StorageName = dr["StorageName"].ToString();
  28. if (!returns.Contains(smodel))
  29. returns.Add(smodel);
  30. }
  31. return returns;
  32. }
  33. catch (Exception ex)
  34. {
  35. throw ex;
  36. }
  37. }
  38. public static List<FormICSVendorUIModel> SearchVendorInfoList(string dsconn)
  39. {
  40. try
  41. {
  42. List<FormICSVendorUIModel> returnv = new List<FormICSVendorUIModel>();
  43. string sql = @"select [ID],[VendorCode],[VendorName]
  44. from [ICSVendor]";
  45. sql = string.Format(sql);
  46. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  47. foreach (DataRow dr in dt.Rows)
  48. {
  49. FormICSVendorUIModel vmodel = new FormICSVendorUIModel();
  50. vmodel.ID = dr["ID"].ToString();
  51. vmodel.VendorCode = dr["VendorCode"].ToString();
  52. vmodel.VendorName = dr["VendorName"].ToString();
  53. if (!returnv.Contains(vmodel))
  54. returnv.Add(vmodel);
  55. }
  56. return returnv;
  57. }
  58. catch (Exception ex)
  59. {
  60. throw ex;
  61. }
  62. }
  63. #region 新增和修改
  64. public static void Add(List<FormICSINVReceiptUIModel> INVInfoList, string dsconn)
  65. {
  66. FramDataContext db = new FramDataContext(dsconn);
  67. db.Connection.Open();
  68. db.Transaction = db.Connection.BeginTransaction();
  69. try
  70. {
  71. foreach (FormICSINVReceiptUIModel info in INVInfoList)
  72. {
  73. bool isNew = false;
  74. var line = db.ICSINVReceipt.SingleOrDefault(a =>a.ID==info.ID);
  75. if (line == null)
  76. {
  77. isNew = true;
  78. line = new ICSINVReceipt();
  79. line.ID = AppConfig.GetGuid();
  80. line.ReceiptNO = info.ReceiptNO;
  81. line.RECSTATUS = "新建";
  82. line.ISALLINSTORAGE = "N";
  83. }
  84. line.RECTYPE = info.RECTYPE;
  85. line.StorageID = info.sto.Serial;
  86. if (info.ven != null)
  87. line.VENDORCODE = info.ven.ID;
  88. else
  89. line.VENDORCODE = null;
  90. line.MEMO = info.MEMO;
  91. line.CreateTIME = info.CreateTIME;
  92. line.CreateUSER = info.CreateUSER;
  93. line.MUSER = AppConfig.UserId;
  94. line.MUSERName = AppConfig.UserName;
  95. line.MTIME = DateTime.Now;
  96. line.WorkPoint = AppConfig.WorkPointCode;
  97. if (isNew)
  98. {
  99. db.ICSINVReceipt.InsertOnSubmit(line);
  100. }
  101. db.SubmitChanges();
  102. }
  103. db.Transaction.Commit();
  104. }
  105. catch (Exception ex)
  106. {
  107. db.Transaction.Rollback();
  108. throw ex;
  109. }
  110. }
  111. #endregion
  112. #region 入库单代码是否存在
  113. public static bool IsIncluding(string noCODE,string workpoint, string dsconn)
  114. {
  115. FramDataContext db = new FramDataContext(dsconn);
  116. db.Connection.Open();
  117. db.Transaction = db.Connection.BeginTransaction();
  118. try
  119. {
  120. var line = db.ICSINVReceipt.SingleOrDefault(a => a.ReceiptNO==noCODE&&a.WorkPoint==workpoint);
  121. if (line == null)
  122. return true;
  123. else
  124. return false;
  125. }
  126. catch (Exception ex)
  127. {
  128. db.Transaction.Rollback();
  129. throw ex;
  130. }
  131. }
  132. #endregion
  133. #region 通过入库代码查询
  134. public static List<FormICSINVReceiptUIModel> SearchInfoByID(string Rguid, string dsconn)
  135. {
  136. List<FormICSINVReceiptUIModel> INVR = new List<FormICSINVReceiptUIModel>();
  137. string sql = @"select a.[ReceiptNO] as ReceiptNO,a.[RECTYPE] as RECTYPE,a.[RECSTATUS] as RECSTATUS,
  138. a.[StorageID] as StorageID,b.[StorageCode] as StorageCode,b.[StorageName] as StorageName,
  139. a.[VENDORCODE] as VENDORID,c.[VendorCode] as VendorCode,c.[VendorName] as VendorName,
  140. a.[MEMO] as MEMO,a.[CreateTIME] as CreateTIME,a.[CreateUSER] as CreateUSER,a.[ISALLINSTORAGE] as ISALLINSTORAGE
  141. from ICSINVReceipt as a
  142. left join ICSStorage b on a.StorageID=b.Serial
  143. left join ICSVendor c on a.VENDORCODE=c.ID
  144. where a.ID='{0}'";
  145. sql = string.Format(sql, Rguid);
  146. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  147. foreach (DataRow dr in dt.Rows)
  148. {
  149. FormICSINVReceiptUIModel returnInfo = new FormICSINVReceiptUIModel();
  150. returnInfo.ReceiptNO = dr["ReceiptNO"].ToString();
  151. returnInfo.RECTYPE = dr["RECTYPE"].ToString();
  152. returnInfo.RECSTATUS = dr["RECSTATUS"].ToString();
  153. returnInfo.sto = new FormICSStorageUIModel();
  154. returnInfo.sto.Serial = dr["StorageID"].ToString();
  155. returnInfo.sto.StorageCode = dr["StorageCode"].ToString();
  156. returnInfo.sto.StorageName = dr["StorageName"].ToString();
  157. returnInfo.ven = new FormICSVendorUIModel();
  158. returnInfo.ven.ID = dr["VENDORID"].ToString();
  159. returnInfo.ven.VendorCode = dr["VendorCode"].ToString();
  160. returnInfo.ven.VendorName = dr["VendorName"].ToString();
  161. returnInfo.MEMO = dr["MEMO"].ToString();
  162. returnInfo.CreateTIME = Convert.ToDateTime(dr["CreateTIME"].ToString());
  163. returnInfo.CreateUSER = dr["CreateUSER"].ToString();
  164. returnInfo.ISALLINSTORAGE = dr["ISALLINSTORAGE"].ToString();
  165. if (!INVR.Contains(returnInfo))
  166. {
  167. INVR.Add(returnInfo);
  168. }
  169. }
  170. return INVR;
  171. }
  172. #endregion
  173. #region 删除
  174. public static void deleteInfo(List<string> RIDList, string dsconn)
  175. {
  176. FramDataContext db = new FramDataContext(dsconn);
  177. db.Connection.Open();
  178. db.Transaction = db.Connection.BeginTransaction();
  179. try
  180. {
  181. var lines = db.ICSINVReceipt.Where(a => RIDList.Contains(a.ID));
  182. db.ICSINVReceipt.DeleteAllOnSubmit(lines);
  183. db.SubmitChanges();
  184. db.Transaction.Commit();
  185. }
  186. catch (Exception ex)
  187. {
  188. db.Transaction.Rollback();
  189. throw ex;
  190. }
  191. }
  192. public static bool IsIncludingDetail(List<string> RIDList, string dsconn)
  193. {
  194. FramDataContext db = new FramDataContext(dsconn);
  195. db.Connection.Open();
  196. db.Transaction = db.Connection.BeginTransaction();
  197. try
  198. {
  199. bool flag = false;
  200. var lines = db.ICSINVReceiptDetail.Where(a => RIDList.Contains(a.ReceiptID));
  201. if (lines.Count() != 0)
  202. flag = true;
  203. return flag;
  204. }
  205. catch (Exception ex)
  206. {
  207. db.Transaction.Rollback();
  208. throw ex;
  209. }
  210. }
  211. #endregion
  212. #region 子件资料信息
  213. public static DataTable GetDetail(string MoSql)
  214. {
  215. try
  216. {
  217. string sql = @"SELECT
  218. ReceiptNO,
  219. ReceiptLine,
  220. MOCODE,
  221. MOSEQ,
  222. PLANQTY,
  223. MEMO,
  224. ITEMCODE,
  225. b.INVNAME,
  226. b.INVSTD,
  227. b.INVUOM
  228. FROM
  229. ICSINVReceiptDetail a
  230. LEFT JOIN ICSINVENTORY b ON a.ITEMCODE=b.INVCODE AND a.WorkPoint=b.WorkPoint where ReceiptNO IN (SELECT ReceiptNO FROM(" + MoSql + ")a) AND a.WorkPoint ='" + AppConfig.WorkPointCode + "'";
  231. sql = string.Format(sql);
  232. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  233. return dt;
  234. }
  235. catch (Exception ex)
  236. {
  237. throw ex;
  238. }
  239. }
  240. #endregion
  241. }
  242. }