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

107 lines
3.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 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 ICSITEMBoxDAL
  13. {
  14. #region 新增和修改
  15. public static void Add(List<FormICSITEMBoxUIModel> InfoList, string dsconn)
  16. {
  17. FramDataContext db = new FramDataContext(dsconn);
  18. db.Connection.Open();
  19. db.Transaction = db.Connection.BeginTransaction();
  20. try
  21. {
  22. foreach (FormICSITEMBoxUIModel info in InfoList)
  23. {
  24. bool isNew = false;
  25. var line = db.ICSITEMBox.SingleOrDefault(a => a.ID == info.ID && a.WorkPoint == AppConfig.WorkPointCode);
  26. if (line == null)
  27. {
  28. isNew = true;
  29. line = new ICSITEMBox();
  30. line.ID = AppConfig.GetGuid();
  31. }
  32. line.BoxNO = info.BoxNO;
  33. line.NO = info.NO;
  34. line.CUSORDERNO = info.CUSORDERNO;
  35. line.CUSITEMCODE = info.CUSITEMCODE;
  36. line.INVStd = info.INVStd;
  37. line.QTY = info.QTY;
  38. line.MUSER = AppConfig.UserCode;
  39. line.MUSERName = AppConfig.UserName;
  40. line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  41. line.WorkPoint = AppConfig.WorkPointCode;
  42. if (isNew)
  43. {
  44. db.ICSITEMBox.InsertOnSubmit(line);
  45. }
  46. db.SubmitChanges();
  47. foreach (ICSITEMBoxDetail infoDetail in info.ITEMBoxDetail)
  48. {
  49. bool isNewDetail = false;
  50. var lineDetail = db.ICSITEMBoxDetail.SingleOrDefault(a => a.ID == infoDetail.ID && a.WorkPoint == AppConfig.WorkPointCode);
  51. if (lineDetail == null)
  52. {
  53. isNewDetail = true;
  54. lineDetail = new ICSITEMBoxDetail();
  55. lineDetail.ID = AppConfig.GetGuid();
  56. }
  57. lineDetail.NO = infoDetail.NO;
  58. lineDetail.LOTNO = infoDetail.LOTNO;
  59. lineDetail.QTY = infoDetail.QTY;
  60. lineDetail.MUSER = AppConfig.UserCode;
  61. lineDetail.MUSERName = AppConfig.UserName;
  62. lineDetail.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  63. lineDetail.WorkPoint = AppConfig.WorkPointCode;
  64. if (isNewDetail)
  65. {
  66. db.ICSITEMBoxDetail.InsertOnSubmit(lineDetail);
  67. }
  68. db.SubmitChanges();
  69. }
  70. }
  71. db.Transaction.Commit();
  72. }
  73. catch (Exception ex)
  74. {
  75. db.Transaction.Rollback();
  76. throw ex;
  77. }
  78. }
  79. #endregion
  80. #region 删除
  81. public static void deleteInfo(List<string> codeList, string dsconn)
  82. {
  83. FramDataContext db = new FramDataContext(dsconn);
  84. db.Connection.Open();
  85. db.Transaction = db.Connection.BeginTransaction();
  86. try
  87. {
  88. var lines = db.ICSITEMBox.Where(a => codeList.Contains(a.ID));
  89. db.ICSITEMBox.DeleteAllOnSubmit(lines);
  90. db.SubmitChanges();
  91. db.Transaction.Commit();
  92. }
  93. catch (Exception ex)
  94. {
  95. db.Transaction.Rollback();
  96. throw ex;
  97. }
  98. }
  99. #endregion
  100. }
  101. }