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

666 lines
25 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. using System.Data.SqlClient;
  12. namespace ICSSoft.Frame.Data.DAL
  13. {
  14. public class ICSPalletDAL
  15. {
  16. public static List<FormICSPalletModel> SearchItemInfoList(string dsconn)
  17. {
  18. try
  19. {
  20. List<FormICSPalletModel> returntype = new List<FormICSPalletModel>();
  21. string sql = @"select [ID],[PalletCode],[MuserCode],[Mtime],[WorkPoint]
  22. from [ICSPallet]
  23. where 1=1";
  24. sql = string.Format(sql);
  25. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  26. foreach (DataRow dr in dt.Rows)
  27. {
  28. FormICSPalletModel itemmodel = new FormICSPalletModel();
  29. itemmodel.ID = dr["ID"].ToString();
  30. itemmodel.PalletCode = dr["PalletCode"].ToString();
  31. itemmodel.MUSER = dr["MUSER"].ToString();
  32. itemmodel.MTIME = DateTime.Now;
  33. itemmodel.WorkPoint = AppConfig.WorkPointCode;
  34. if (!returntype.Contains(itemmodel))
  35. returntype.Add(itemmodel);
  36. }
  37. return returntype;
  38. }
  39. catch (Exception ex)
  40. {
  41. throw ex;
  42. }
  43. }
  44. #region 关联批次
  45. public static void AddandEdit(DataTable dt,string PalletCode, string Appconstr)
  46. {
  47. FramDataContext db = new FramDataContext(Appconstr);
  48. db.Connection.Open();
  49. db.Transaction = db.Connection.BeginTransaction();
  50. try
  51. {
  52. int seq = 0;
  53. for (int i = 0; i < dt.Rows.Count; i++)
  54. {
  55. seq++;
  56. ICSPalletLotNO lines = new ICSPalletLotNO();
  57. lines.PalletCode = PalletCode;
  58. lines.LotNO = dt.Rows[i]["产品批次"].ToString();
  59. lines.Free1 = dt.Rows[i]["存货编码"].ToString();
  60. lines.MuserCode = AppConfig.UserCode;
  61. lines.MuserName = AppConfig.UserName;
  62. lines.WorkPoint = AppConfig.WorkPointCode;
  63. lines.Mtime = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  64. db.ICSPalletLotNO.InsertOnSubmit(lines);
  65. }
  66. db.SubmitChanges();
  67. db.Transaction.Commit();
  68. }
  69. catch (Exception ex)
  70. {
  71. db.Transaction.Rollback();
  72. throw new Exception(ex.Message);
  73. }
  74. }
  75. #endregion
  76. #region 新增和修改
  77. public static void Add(List<FormICSPalletModel> ITEM2ROUTEInfoList, string dsconn)
  78. {
  79. string str = "";
  80. FramDataContext db = new FramDataContext(dsconn);
  81. db.Connection.Open();
  82. db.Transaction = db.Connection.BeginTransaction();
  83. try
  84. {
  85. foreach (FormICSPalletModel info in ITEM2ROUTEInfoList)
  86. {
  87. var line = db.ICSPallet.SingleOrDefault(a => a.PalletCode == info.PalletCode);
  88. if (line != null)
  89. {
  90. throw new Exception("箱号:" + info.PalletCode + " 已存在!\n");
  91. }
  92. else
  93. {
  94. line = new ICSPallet();
  95. }
  96. //var lineone = db.ICSPalletLotNO.Where(a => a.ID == info.ID);
  97. //db.ICSPalletLotNO.DeleteAllOnSubmit(lineone);
  98. line.PalletCode = info.PalletCode;
  99. line.MuserCode = AppConfig.UserId;
  100. line.MuserName = AppConfig.UserName;
  101. line.Mtime = DateTime.Now;
  102. line.WorkPoint = AppConfig.WorkPointCode;
  103. db.ICSPallet.InsertOnSubmit(line);
  104. db.SubmitChanges();
  105. db.Transaction.Commit();
  106. }
  107. //db.Transaction.Commit();
  108. //Addop(ITEM2ROUTEInfoList, dsconn);
  109. }
  110. catch (Exception ex)
  111. {
  112. db.Transaction.Rollback();
  113. throw ex;
  114. }
  115. }
  116. #endregion
  117. #region 代码是否存在
  118. public static bool IsIncluding(string PalletCode, string dsconn)
  119. {
  120. FramDataContext db = new FramDataContext(dsconn);
  121. db.Connection.Open();
  122. db.Transaction = db.Connection.BeginTransaction();
  123. try
  124. {
  125. var line = db.ICSPallet.SingleOrDefault(a => a.PalletCode == PalletCode);
  126. if (line == null)
  127. return true;
  128. else
  129. return false;
  130. }
  131. catch (Exception ex)
  132. {
  133. db.Transaction.Rollback();
  134. throw ex;
  135. }
  136. }
  137. #endregion
  138. #region 根据存货编码查找id
  139. public static string SearchIDbyItemcode(string itemCODE, string dsconn)
  140. {
  141. FramDataContext db = new FramDataContext(dsconn);
  142. db.Connection.Open();
  143. db.Transaction = db.Connection.BeginTransaction();
  144. try
  145. {
  146. var line = db.Base_Inventory.SingleOrDefault(a => a.ItemCode == itemCODE);
  147. if (line != null)
  148. {
  149. return line.guid;
  150. }
  151. else
  152. {
  153. return "";
  154. }
  155. }
  156. catch (Exception ex)
  157. {
  158. db.Transaction.Rollback();
  159. throw ex;
  160. }
  161. }
  162. #endregion
  163. #region 删除
  164. public static void deleteInfo(List<ICSPallet> item2routeList, string dsconn)
  165. {
  166. FramDataContext db = new FramDataContext(dsconn);
  167. db.Connection.Open();
  168. db.Transaction = db.Connection.BeginTransaction();
  169. try
  170. {
  171. foreach (ICSPallet item2route in item2routeList)
  172. {
  173. var lines = db.ICSPallet.Where(a => a.PalletCode == item2route.PalletCode);
  174. db.ICSPallet.DeleteAllOnSubmit(lines);
  175. var lineone = db.ICSPalletLotNO.Where(a => a.PalletCode == item2route.PalletCode);
  176. db.ICSPalletLotNO.DeleteAllOnSubmit(lineone);
  177. db.SubmitChanges();
  178. }
  179. db.Transaction.Commit();
  180. }
  181. catch (Exception ex)
  182. {
  183. db.Transaction.Rollback();
  184. throw ex;
  185. }
  186. }
  187. #endregion
  188. #region 分批
  189. public static void Fenpi(List<FormICSWareHouseLotInfoUIModel> lotInfoList, decimal number, string newlotno, string dsconn)
  190. {
  191. string transNO = "";
  192. FramDataContext db = new FramDataContext(dsconn);
  193. db.Connection.Open();
  194. db.Transaction = db.Connection.BeginTransaction();
  195. try
  196. {
  197. foreach (FormICSWareHouseLotInfoUIModel lotInfo in lotInfoList)
  198. {
  199. string strtime = DateTime.Now.ToString("yyyyMMdd");
  200. string sql = @"SELECT CONVERT(INT,RIGHT(MAX(A.TransNO),3)) AS MAXLOT FROM ICSWareHouseLotInfoLog A WHERE A.TransNO LIKE '{0}%'";
  201. sql = string.Format(sql, strtime);//取已存的transNo后三位
  202. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  203. if (dt == null || dt.Rows.Count <= 0)
  204. {
  205. transNO = strtime + "001";
  206. }
  207. else if (dt.Rows[0][0] == null || dt.Rows[0][0].ToString() == "")
  208. {
  209. transNO = strtime + "001";
  210. }
  211. else
  212. {
  213. transNO = strtime + (Convert.ToInt32(dt.Rows[0][0]) + 1).ToString().PadLeft(3, '0');//自动生成transNo
  214. }
  215. Addone(lotInfo, transNO, number, newlotno, dsconn);
  216. var line = db.ICSWareHouseLotInfo.SingleOrDefault(a => a.ID == lotInfo.ID);
  217. FenpiLog(db, transNO, "分批前", line, lotInfo.LotQty, line.LotNO, dsconn);
  218. line.LotQty = lotInfo.LotQty - number;
  219. line.WorkPoint = AppConfig.WorkPointCode;
  220. line.MUSER = AppConfig.UserCode;
  221. line.MUSERName = AppConfig.UserName;
  222. line.MTIME = DateTime.Now;
  223. db.SubmitChanges();
  224. FenpiLog(db, transNO, "分批后", line, line.LotQty, line.LotNO, dsconn);
  225. var line1 = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == lotInfo.LotNO);
  226. line1.LOTQTY = lotInfo.LotQty;
  227. line1.WorkPoint = AppConfig.WorkPointCode;
  228. line1.MUSER = AppConfig.UserCode;
  229. line1.MUSERName = AppConfig.UserName;
  230. line1.MTIME = DateTime.Now;
  231. db.SubmitChanges();
  232. }
  233. db.Transaction.Commit();
  234. }
  235. catch (Exception ex)
  236. {
  237. db.Transaction.Rollback();
  238. throw ex;
  239. }
  240. }
  241. public static void FenpiLog(FramDataContext db, string transNO, string BusinessCode, ICSWareHouseLotInfo lotInfo, decimal number, string newlotno, string dsconn)
  242. {
  243. try
  244. {
  245. ICSWareHouseLotInfoLog infolog = new ICSWareHouseLotInfoLog();
  246. infolog.ID = AppConfig.GetGuid();
  247. infolog.EATTRIBUTE1 = lotInfo.ID;//新批次ID
  248. infolog.TransNO = transNO;
  249. infolog.LotNO = newlotno;
  250. infolog.TransQTY = number;
  251. infolog.FRMStorageCODE = lotInfo.WHCode;
  252. infolog.TransType = "分批";
  253. infolog.FRMStackCODE = lotInfo.BinCode;
  254. infolog.TOStorageCODE = "";
  255. infolog.BusinessCode = BusinessCode;
  256. infolog.TOStackCODE = "";
  257. infolog.ITEMCODE = lotInfo.INVCode;
  258. infolog.WorkPoint = AppConfig.WorkPointCode;
  259. infolog.MUSER = AppConfig.UserCode;
  260. infolog.MUSERName = AppConfig.UserName;
  261. infolog.MTIME = Convert.ToDateTime(lotInfo.MTIME); //DateTime.Now;
  262. db.ICSWareHouseLotInfoLog.InsertOnSubmit(infolog);
  263. db.SubmitChanges();
  264. }
  265. catch (Exception ex)
  266. {
  267. throw ex;
  268. }
  269. }
  270. public static void hepiLog(FramDataContext db, string transNO, string BusinessCode, ICSWareHouseLotInfo lotInfo, decimal number, string newlotno, string dsconn)
  271. {
  272. try
  273. {
  274. ICSWareHouseLotInfoLog infolog = new ICSWareHouseLotInfoLog();
  275. infolog.ID = AppConfig.GetGuid();
  276. infolog.EATTRIBUTE1 = lotInfo.ID;//新批次ID
  277. infolog.TransNO = transNO;
  278. infolog.LotNO = newlotno;
  279. infolog.TransQTY = number;
  280. infolog.FRMStorageCODE = lotInfo.WHCode;
  281. infolog.TransType = "合批";
  282. infolog.FRMStackCODE = lotInfo.BinCode;
  283. infolog.TOStorageCODE = "";
  284. infolog.BusinessCode = BusinessCode;
  285. infolog.TOStackCODE = "";
  286. infolog.ITEMCODE = lotInfo.INVCode;
  287. infolog.WorkPoint = AppConfig.WorkPointCode;
  288. infolog.MUSER = AppConfig.UserCode;
  289. infolog.MUSERName = AppConfig.UserName;
  290. infolog.MTIME = Convert.ToDateTime(lotInfo.MTIME); //DateTime.Now;
  291. db.ICSWareHouseLotInfoLog.InsertOnSubmit(infolog);
  292. db.SubmitChanges();
  293. }
  294. catch (Exception ex)
  295. {
  296. throw ex;
  297. }
  298. }//////////////////////////////////////////////////////////////////////
  299. public static void Addone(FormICSWareHouseLotInfoUIModel lotInfo, string transNO, decimal number, string newlotno, string dsconn)
  300. {
  301. FramDataContext db = new FramDataContext(dsconn);
  302. db.Connection.Open();
  303. db.Transaction = db.Connection.BeginTransaction();
  304. try
  305. {
  306. ICSWareHouseLotInfo line = new ICSWareHouseLotInfo();
  307. line.ID = AppConfig.GetGuid();
  308. line.LotNO = newlotno;
  309. line.LotQty = number;
  310. line.ReceiveDate = Convert.ToDateTime(lotInfo.ReceiveDate);
  311. line.WHGUID = lotInfo.WHGUID;
  312. line.WHCode = lotInfo.WHCode;
  313. line.BinGUID = lotInfo.BinGUID;
  314. line.BinCode = lotInfo.BinCode;
  315. line.INVGUID = lotInfo.INVGUID;
  316. line.INVCode = lotInfo.INVCode;
  317. line.EATTRIBUTE1 = "FP";
  318. line.WorkPoint = AppConfig.WorkPointCode;
  319. line.MUSER = AppConfig.UserCode;
  320. line.MUSERName = AppConfig.UserName;
  321. line.MTIME = Convert.ToDateTime(lotInfo.MTIME); //DateTime.Now;
  322. db.ICSWareHouseLotInfo.InsertOnSubmit(line);
  323. FenpiLog(db, transNO, "分批后", line, number, newlotno, dsconn);
  324. var line1 = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == lotInfo.LotNO);
  325. if (line1 == null)
  326. {
  327. throw new Exception("条码不存在!!");
  328. }
  329. ICSITEMLot itemLot = new ICSITEMLot();
  330. itemLot.ID = AppConfig.GetGuid();
  331. itemLot.LotNO = newlotno;
  332. itemLot.ItemCode = line1.ItemCode;
  333. itemLot.TransNO = line1.TransNO;
  334. itemLot.TransLine = line1.TransLine;
  335. itemLot.EATTRIBUTE2 = "FP";
  336. itemLot.VENDORITEMCODE = line1.VENDORITEMCODE;
  337. itemLot.VENDORCODE = line1.VENDORCODE;
  338. itemLot.VenderLotNO = line1.VenderLotNO;
  339. itemLot.PRODUCTDATE = line1.PRODUCTDATE;
  340. itemLot.LOTQTY = number;
  341. itemLot.ACTIVE = line1.ACTIVE;
  342. itemLot.Exdate = line1.Exdate;
  343. itemLot.TYPE = line1.TYPE;
  344. itemLot.EATTRIBUTE3 = line1.EATTRIBUTE3;
  345. itemLot.WorkPoint = AppConfig.WorkPointCode;
  346. itemLot.MUSER = AppConfig.UserCode;
  347. itemLot.MUSERName = AppConfig.UserName;
  348. itemLot.MTIME = DateTime.Now;
  349. db.ICSITEMLot.InsertOnSubmit(itemLot);
  350. db.SubmitChanges();
  351. db.Transaction.Commit();
  352. }
  353. catch (Exception ex)
  354. {
  355. db.Transaction.Rollback();
  356. throw ex;
  357. }
  358. }
  359. #endregion///////////////////////////////////////////////////////////////
  360. #region 合批
  361. public static void Hepi(List<FormICSWareHouseLotInfoUIModel> lotInfoList, string nolot, string dsconn)
  362. {
  363. string TransNos = "";
  364. FramDataContext db = new FramDataContext(dsconn);
  365. db.Connection.Open();
  366. db.Transaction = db.Connection.BeginTransaction();
  367. try
  368. {
  369. decimal sumqty = 0.00M;
  370. List<string> nolotlist = new List<string>();
  371. string strtime = DateTime.Now.ToString("yyyyMMdd");
  372. string sql = @"SELECT CONVERT(INT,RIGHT(MAX(A.TransNO),3)) AS MAXLOT FROM ICSWareHouseLotInfoLog A WHERE A.TransNO LIKE '{0}%'";
  373. sql = string.Format(sql, strtime);
  374. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  375. if (dt == null || dt.Rows.Count <= 0)
  376. {
  377. TransNos = strtime + "001";
  378. }
  379. else if (dt.Rows[0][0] == null || dt.Rows[0][0].ToString() == "")
  380. {
  381. TransNos = strtime + "001";
  382. }
  383. else
  384. {
  385. TransNos = strtime + (Convert.ToInt32(dt.Rows[0][0]) + 1).ToString().PadLeft(3, '0');
  386. }
  387. foreach (FormICSWareHouseLotInfoUIModel lotInfo in lotInfoList)
  388. {
  389. var lines = db.ICSWareHouseLotInfo.SingleOrDefault(a => a.LotNO == nolot);
  390. hepiLog(db, TransNos, "合批前", lines, lotInfo.LotQty, lotInfo.LotNO, dsconn);
  391. sumqty = lotInfo.LotQty + sumqty;
  392. if (!lotInfo.LotNO.Equals(nolot))
  393. nolotlist.Add(lotInfo.LotNO);
  394. }
  395. var line = db.ICSWareHouseLotInfo.SingleOrDefault(a => a.LotNO == nolot);
  396. line.LotQty = sumqty;
  397. hepiLog(db, TransNos, "合批后", line, line.LotQty, nolot, dsconn);
  398. line.WorkPoint = AppConfig.WorkPointCode;
  399. line.MUSER = AppConfig.UserCode;
  400. line.MUSERName = AppConfig.UserName;
  401. //line.MTIME = DateTime.Now;
  402. db.SubmitChanges();
  403. db.Transaction.Commit();
  404. DeleteList(nolotlist, dsconn);
  405. }
  406. catch (Exception ex)
  407. {
  408. db.Transaction.Rollback();
  409. throw ex;
  410. }
  411. }
  412. //#region 合批后删除
  413. //public static void DeleteList(List<string> nolotlist, string dsconn)
  414. //{
  415. // FramDataContext db = new FramDataContext(dsconn);
  416. // db.Connection.Open();
  417. // db.Transaction = db.Connection.BeginTransaction();
  418. // try
  419. // {
  420. // var lines = db.ICSWareHouseLotInfo.Where(a => nolotlist.Contains(a.LotNO));
  421. // db.ICSWareHouseLotInfo.DeleteAllOnSubmit(lines);
  422. // db.SubmitChanges();
  423. // db.Transaction.Commit();
  424. // }
  425. // catch (Exception ex)
  426. // {
  427. // db.Transaction.Rollback();
  428. // throw ex;
  429. // }
  430. //}
  431. //#endregion
  432. public static void DeleteList(List<string> nolotlist, string dsconn)
  433. {
  434. try
  435. {
  436. foreach (string lotInfo in nolotlist)
  437. {
  438. string sql1 = @" UPDATE ICSWareHouseLotInfo SET LotQty=0 WHERE LotNO='{0}'";
  439. sql1 = string.Format(sql1, lotInfo);
  440. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql1);
  441. }
  442. }
  443. catch (Exception ex)
  444. {
  445. throw ex;
  446. }
  447. }
  448. #endregion
  449. #region 批次删除
  450. public static void Lotdelete(List<String> LOTList)
  451. {
  452. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  453. db.Connection.Open();
  454. db.Transaction = db.Connection.BeginTransaction();
  455. try
  456. {
  457. var lines = db.ICSWareHouseLotInfo.Where(a => LOTList.Contains(a.ID));
  458. db.ICSWareHouseLotInfo.DeleteAllOnSubmit(lines);
  459. db.SubmitChanges();
  460. db.Transaction.Commit();
  461. }
  462. catch (Exception ex)
  463. {
  464. throw ex;
  465. }
  466. }
  467. #endregion
  468. #region 更新
  469. public static void UpItemLotInfo(List<String> LOTList, string dsconn)
  470. {
  471. SqlConnection conn = new System.Data.SqlClient.SqlConnection(dsconn);
  472. conn.Open();
  473. SqlTransaction sqlTran = conn.BeginTransaction();
  474. try
  475. {
  476. foreach (string lotInfo in LOTList)
  477. {
  478. string sql = @" UPDATE b SET b.qty = b.qty-a.LotQty
  479. FROM (SELECT lotno,INVCode,WHCode,BinCode,SUM(lotqty) AS LotQty FROM dbo.ICSWareHouseLotInfo GROUP BY LotNO,INVCode,WHCode,BinCode) a
  480. LEFT JOIN dbo.ICSWareHouseInfo b ON a.INVCode= b.INVCode AND b.WHCode=a.WHCode AND a.BinCode=b.BinCode
  481. WHERE a.lotno ='{0}'";
  482. sql = string.Format(sql, lotInfo);
  483. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  484. }
  485. }
  486. catch (Exception ex)
  487. {
  488. throw ex;
  489. }
  490. }
  491. #endregion
  492. #region 查询
  493. public static ICSWareHouseLotInfo select(String guid, String Appconstr)
  494. {
  495. FramDataContext db = new FramDataContext(Appconstr);
  496. db.Connection.Open();
  497. db.Transaction = db.Connection.BeginTransaction();
  498. try
  499. {
  500. var line = db.ICSWareHouseLotInfo.SingleOrDefault(a => a.ID == guid);
  501. return (ICSWareHouseLotInfo)line;
  502. }
  503. catch (Exception ex)
  504. {
  505. throw ex;
  506. }
  507. }
  508. public static ICSWareHouseLotInfo Wereselect(String LotNO, String INVCode, String WHCode, String BinCode, string Appconstr)
  509. {
  510. FramDataContext db = new FramDataContext(Appconstr);
  511. db.Connection.Open();
  512. db.Transaction = db.Connection.BeginTransaction();
  513. try
  514. {
  515. var line = db.ICSWareHouseLotInfo.SingleOrDefault(a => a.LotNO == LotNO && a.INVCode == INVCode && a.WHCode == WHCode && a.BinCode == BinCode);
  516. return (ICSWareHouseLotInfo)line;
  517. }
  518. catch (Exception ex)
  519. {
  520. throw ex;
  521. }
  522. }
  523. #endregion
  524. #region 更新条码信息
  525. public static void updatalot(string id, Decimal sum, string dsconn)
  526. {
  527. SqlConnection conn = new System.Data.SqlClient.SqlConnection(dsconn);
  528. conn.Open();
  529. SqlTransaction sqlTran = conn.BeginTransaction();
  530. try
  531. {
  532. string sql = @" UPDATE ICSWareHouseLotInfo SET LotQty='{0}' WHERE ID='{1}'";
  533. sql = string.Format(sql, sum, id);
  534. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  535. }
  536. catch (Exception ex)
  537. {
  538. throw ex;
  539. }
  540. }
  541. #endregion
  542. #region 更新库存信息
  543. public static void updatawerelot(Decimal lsum, string invcode, string whcode, string bincode, string dsconn)
  544. {
  545. SqlConnection conn = new System.Data.SqlClient.SqlConnection(dsconn);
  546. conn.Open();
  547. SqlTransaction sqlTran = conn.BeginTransaction();
  548. try
  549. {
  550. string sql = @"UPDATE ICSWareHouseInfo SET QTY= isnull(QTY,0) +{0} where INVCode='{1}' and WHCode='{2}'and BinCode='{3}'";
  551. sql = string.Format(sql, lsum, invcode, whcode, bincode);
  552. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  553. }
  554. catch (Exception ex)
  555. {
  556. throw ex;
  557. }
  558. }
  559. #endregion
  560. #region 更新日志
  561. public static void BLOGAdd(List<ICSWareHouseLotInfoLog> LotInfoLogList, Decimal lsum, string edit, string dsconn)
  562. {
  563. FramDataContext db = new FramDataContext(dsconn);
  564. db.Connection.Open();
  565. db.Transaction = db.Connection.BeginTransaction();
  566. try
  567. {
  568. foreach (ICSWareHouseLotInfoLog info in LotInfoLogList)
  569. {
  570. var line = new ICSWareHouseLotInfoLog();
  571. line.ID = AppConfig.GetGuid();
  572. line.TransNO = info.TransNO;
  573. line.TransLine = info.TransLine;
  574. line.ITEMCODE = info.ITEMCODE;
  575. line.LotNO = info.LotNO;
  576. line.FRMStorageCODE = info.FRMStorageCODE;
  577. line.FRMStackCODE = info.FRMStackCODE;
  578. line.TOStorageCODE = info.TOStorageCODE;
  579. line.TOStackCODE = info.TOStackCODE;
  580. line.TransQTY = lsum;
  581. line.TransType ="修改";
  582. line.BusinessCode = edit;
  583. line.MUSER = AppConfig.UserCode;
  584. line.MUSERName = AppConfig.UserName;
  585. line.MTIME = DateTime.Now;
  586. line.WorkPoint = AppConfig.WorkPointCode;
  587. db.ICSWareHouseLotInfoLog.InsertOnSubmit(line);
  588. db.SubmitChanges();
  589. db.Transaction.Commit();
  590. }
  591. }
  592. catch (Exception ex)
  593. {
  594. db.Transaction.Rollback();
  595. throw ex;
  596. }
  597. }
  598. #endregion
  599. }
  600. }