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

148 lines
5.5 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 ICSROUTE2OPDAL
  12. {
  13. public static void AddAndEdit(List<ICSROUTE2OP> mandayInfoList, string dsconn)
  14. {
  15. FramDataContext db = new FramDataContext(dsconn);
  16. db.Connection.Open();
  17. db.Transaction = db.Connection.BeginTransaction();
  18. try
  19. {
  20. foreach (ICSROUTE2OP mandayInfo in mandayInfoList)
  21. {
  22. //todo
  23. bool isNew = false;
  24. var line = db.ICSROUTE2OP.SingleOrDefault(a => a.ID == mandayInfo.ID);
  25. if (line == null)
  26. {
  27. isNew = true;
  28. line = new ICSROUTE2OP();
  29. line.ID = AppConfig.GetGuid();
  30. line.ROUTEID = mandayInfo.ROUTEID;
  31. line.OPID = mandayInfo.OPID;
  32. }
  33. line.ROUTECODE = mandayInfo.ROUTECODE;
  34. line.OPCODE = mandayInfo.OPCODE;
  35. line.OPSEQ = mandayInfo.OPSEQ;
  36. line.OPCONTROL = mandayInfo.OPCONTROL;
  37. line.CtrlType = mandayInfo.CtrlType;
  38. line.OPAttr = mandayInfo.OPAttr;
  39. line.MUSER = mandayInfo.MUSER;
  40. line.MUSERName = mandayInfo.MUSERName;
  41. line.MTIME = mandayInfo.MTIME;
  42. line.WORKPOINT = mandayInfo.WORKPOINT;
  43. if (isNew)
  44. db.ICSROUTE2OP.InsertOnSubmit(line);
  45. db.SubmitChanges();
  46. }
  47. db.SubmitChanges();
  48. db.Transaction.Commit();
  49. }
  50. catch (Exception ex)
  51. {
  52. db.Transaction.Rollback();
  53. throw ex;
  54. }
  55. }
  56. public static DataTable SearchROUTE2OP(string routeid, string dsconn)
  57. {
  58. List<ICSROUTE2OP> returnperson = new List<ICSROUTE2OP>();
  59. string sql = @"select OPSEQ,OPCODE,OPID
  60. from ICSROUTE2OP
  61. where ROUTEID='{0}' and WorkPoint='" + AppConfig.WorkPointCode + "'";
  62. sql = string.Format(sql, routeid);
  63. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  64. return dt;
  65. }
  66. public static void deleteInfo(string dsconn, List<string> codeList)
  67. {
  68. FramDataContext db = new FramDataContext(dsconn);
  69. db.Connection.Open();
  70. db.Transaction = db.Connection.BeginTransaction();
  71. try
  72. {
  73. var lines0 = db.ICSITEM2ROUTE.Where(a => codeList.Contains(a.ROUTEID) && a.WorkPoint == AppConfig.WorkPointCode);
  74. if (lines0.Count() != 0)
  75. {
  76. string routes = "";
  77. List<ICSITEM2ROUTE> list = lines0.ToList();
  78. for (int i = 0; i < list.Count(); i++)
  79. {
  80. routes += (list[i].ROUTECODE + "\r\n");
  81. }
  82. throw new Exception(routes + "已关联产品,不可删除");
  83. }
  84. var lines = db.ICSROUTE2OP.Where(a => codeList.Contains(a.ROUTEID) && codeList.Contains(a.OPID) && a.WORKPOINT == AppConfig.WorkPointCode);
  85. db.ICSROUTE2OP.DeleteAllOnSubmit(lines);
  86. db.SubmitChanges();
  87. db.Transaction.Commit();
  88. }
  89. catch (Exception ex)
  90. {
  91. db.Transaction.Rollback();
  92. throw ex;
  93. }
  94. finally
  95. {
  96. db.Connection.Close();
  97. }
  98. }
  99. public static void AddList(List<ICSROUTE2OP> list, string dsconn)
  100. {
  101. FramDataContext db = new FramDataContext(dsconn);
  102. db.Connection.Open();
  103. db.Transaction = db.Connection.BeginTransaction();
  104. try
  105. {
  106. foreach (ICSROUTE2OP info in list)
  107. {
  108. var line = db.ICSROUTE2OP.SingleOrDefault(a => a.ROUTEID == info.ROUTEID && a.OPID == info.OPID && a.WORKPOINT == AppConfig.WorkPointCode);
  109. if (line != null)
  110. {
  111. throw new Exception("批量添加:途程" + info.ROUTECODE + "工序" + info.OPCODE + "重复!");
  112. }
  113. line = new ICSROUTE2OP();
  114. line.ID = AppConfig.GetGuid();
  115. line.ROUTEID = info.ROUTEID;
  116. line.OPID = info.OPID;
  117. line.ROUTECODE = info.ROUTECODE;
  118. line.OPCODE = info.OPCODE;
  119. line.OPSEQ = info.OPSEQ;
  120. line.OPCONTROL = info.OPCONTROL;
  121. line.CtrlType = info.CtrlType;
  122. line.OPAttr = info.OPAttr;
  123. line.MUSER = info.MUSER;
  124. line.MUSERName = info.MUSERName;
  125. line.MTIME = info.MTIME;
  126. line.WORKPOINT = info.WORKPOINT;
  127. db.ICSROUTE2OP.InsertOnSubmit(line);
  128. db.SubmitChanges();
  129. }
  130. db.Transaction.Commit();
  131. }
  132. catch (Exception ex)
  133. {
  134. db.Transaction.Rollback();
  135. throw ex;
  136. }
  137. }
  138. }
  139. }