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

143 lines
4.6 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. namespace ICSSoft.Frame.Data.DAL
  12. {
  13. public class ICSRESDAL
  14. {
  15. #region AddandEdit
  16. public static void AddandEdit(ICSRES ItemLot, string Appconstr)
  17. {
  18. FramDataContext db = new FramDataContext(Appconstr);
  19. db.Connection.Open();
  20. db.Transaction = db.Connection.BeginTransaction();
  21. try
  22. {
  23. bool isNew = false;
  24. var line = db.ICSRES.SingleOrDefault(a => a.ID == ItemLot.ID);
  25. if (line == null)
  26. {
  27. isNew = true;
  28. line = new ICSRES();
  29. line.ID = AppConfig.GetGuid();
  30. }
  31. var codes = db.ICSRES.Where(a => a.RESCODE == ItemLot.RESCODE && a.ID != line.ID);
  32. if (codes.ToList().Count > 0)
  33. {
  34. throw new Exception("资源代码已存在");
  35. }
  36. line.RESCODE = ItemLot.RESCODE;
  37. line.RESDESC = ItemLot.RESDESC;
  38. line.RESTYPE = ItemLot.RESTYPE;
  39. line.SEGID = ItemLot.SEGID;
  40. if (!(ItemLot.SEGID.Equals("")))
  41. {
  42. var lineone = db.ICSSEG.SingleOrDefault(a => a.ID == ItemLot.SEGID);
  43. line.SEGCODE = lineone.SEGCODE;
  44. }
  45. line.SSID = ItemLot.SSID;
  46. if (!(ItemLot.SSID.Equals("")))
  47. {
  48. var linetwo = db.ICSSS.SingleOrDefault(a => a.ID == ItemLot.SSID);
  49. line.SSCODE = linetwo.SSCODE;
  50. }
  51. line.SHIFTTYPEID = ItemLot.SHIFTTYPEID;
  52. if (!(ItemLot.SHIFTTYPEID.Equals("")))
  53. {
  54. var linethree = db.ICSSHIFTTYPE.SingleOrDefault(a => a.ID == ItemLot.SHIFTTYPEID);
  55. line.SHIFTTYPECODE = linethree.SHIFTTYPECODE;
  56. }
  57. line.DCTCODE = ItemLot.DCTCODE;
  58. line.CREWCODE = ItemLot.CREWCODE;
  59. line.MUSER = ItemLot.MUSER;
  60. line.MUSERName = ItemLot.MUSERName;
  61. line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  62. line.WorkPoint = AppConfig.WorkPointCode;
  63. if (isNew) db.ICSRES.InsertOnSubmit(line);
  64. db.SubmitChanges();
  65. db.Transaction.Commit();
  66. }
  67. catch (Exception ex)
  68. {
  69. db.Transaction.Rollback();
  70. throw new Exception(ex.Message);
  71. }
  72. }
  73. #endregion
  74. #region select
  75. public static DataTable select(String guid, String Appconstr)
  76. {
  77. try
  78. {
  79. string sql = @"SELECT a.[RESCODE]
  80. ,a.[RESDESC]
  81. ,a.[RESGROUP]
  82. ,a.[RESTYPE]
  83. ,a.[SEGID]
  84. ,a.[SSID]
  85. ,a.[SHIFTTYPEID]
  86. ,a.[DCTCODE]
  87. ,a.[CREWCODE]
  88. ,a.[MUSER]
  89. ,a.[MUSERName]
  90. ,a.[MTIME]
  91. ,a.[WorkPoint],
  92. b.SEGCODE,
  93. c.SSCODE,
  94. d.SHIFTTYPECODE
  95. FROM dbo.ICSRES a LEFT JOIN ICSSEG b ON a.SEGID=b.ID
  96. LEFT JOIN [dbo].[ICSSS] c ON a.SSID=c.ID
  97. LEFT JOIN dbo.ICSSHIFTTYPE d ON a.SHIFTTYPEID=d.ID
  98. where a.id='{0}'";
  99. sql = string.Format(sql, guid);
  100. return DBHelper.ExecuteDataset(Appconstr, CommandType.Text, sql).Tables[0];
  101. }
  102. catch (Exception ex)
  103. {
  104. throw new Exception(ex.Message);
  105. }
  106. }
  107. #endregion
  108. #region delete
  109. public static void delete(List<String> guidList)
  110. {
  111. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  112. db.Connection.Open();
  113. db.Transaction = db.Connection.BeginTransaction();
  114. try
  115. {
  116. var line = db.ICSOP2RES.Where(a => guidList.Contains(a.RESID));
  117. if(line.Count()>0){
  118. throw new Exception("资源已经关联工序无法删除!!!");
  119. }
  120. var lines = db.ICSRES.Where(a => guidList.Contains(a.ID));
  121. db.ICSRES.DeleteAllOnSubmit(lines);
  122. db.SubmitChanges();
  123. db.Transaction.Commit();
  124. }
  125. catch (Exception ex)
  126. {
  127. db.Transaction.Rollback();
  128. throw ex;
  129. }
  130. }
  131. #endregion
  132. }
  133. }