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

173 lines
5.6 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ICSSoft.Base.Config.DBHelper;
  6. using System.Data;
  7. using ICSSoft.Frame.Data.Entity;
  8. using System.Data.Linq;
  9. using System.Data.SqlClient;
  10. using ICSSoft.Base.Config.AppConfig;
  11. namespace ICSSoft.Frame.Data.DAL
  12. {
  13. public class ICSFACTORYDAL
  14. {
  15. #region 新增和修改
  16. public static void Add(List<FormICSFactoryUIModel> factoryInfoList, string dsconn)
  17. {
  18. FramDataContext db = new FramDataContext(dsconn);
  19. db.Connection.Open();
  20. db.Transaction = db.Connection.BeginTransaction();
  21. try
  22. {
  23. foreach (FormICSFactoryUIModel factoryinfo in factoryInfoList)
  24. {
  25. bool isNew = false;
  26. var line = db.ICSFACTORY.SingleOrDefault(a => a.FACCODE == factoryinfo.FACCODE && a.WorkPoint == factoryinfo.WorkPoint);
  27. if (line == null)
  28. {
  29. isNew = true;
  30. line = new ICSFACTORY();
  31. line.ID = AppConfig.GetGuid();
  32. line.FACCODE = factoryinfo.FACCODE;
  33. }
  34. line.FACDESC = factoryinfo.FACDESC;
  35. line.MUSER = AppConfig.UserId;
  36. line.MUSERName = AppConfig.UserName;
  37. line.MTIME = DateTime.Now;
  38. line.WorkPoint = AppConfig.WorkPointCode;
  39. if (isNew)
  40. db.ICSFACTORY.InsertOnSubmit(line);
  41. db.SubmitChanges();
  42. }
  43. db.Transaction.Commit();
  44. }
  45. catch (Exception ex)
  46. {
  47. db.Transaction.Rollback();
  48. throw ex;
  49. }
  50. }
  51. #endregion
  52. #region 通过工厂代码查询
  53. public static List<FormICSFactoryUIModel> SearchFactoryInfoByCode(string FACCODE, string dsconn)
  54. {
  55. List<FormICSFactoryUIModel> returnfactory = new List<FormICSFactoryUIModel>();
  56. string sql = @"select [FACCODE],[FACDESC],[MUSERName],[MTIME]
  57. from ICSFACTORY
  58. where FACCODE='{0}'";
  59. sql = string.Format(sql, FACCODE);
  60. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  61. foreach (DataRow dr in dt.Rows)
  62. {
  63. FormICSFactoryUIModel returnInfo = new FormICSFactoryUIModel();
  64. returnInfo.FACCODE = dr["FACCODE"].ToString();
  65. returnInfo.FACDESC = dr["FACDESC"].ToString();
  66. returnInfo.MUSERName = dr["MUSERName"].ToString();
  67. returnInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
  68. returnfactory.Add(returnInfo);
  69. }
  70. return returnfactory;
  71. }
  72. #endregion
  73. #region 工厂代码是否存在
  74. public static bool IsIncluding(string FACCODE, string dsconn)
  75. {
  76. FramDataContext db = new FramDataContext(dsconn);
  77. db.Connection.Open();
  78. db.Transaction = db.Connection.BeginTransaction();
  79. try
  80. {
  81. var line = db.ICSFACTORY.SingleOrDefault(a => a.FACCODE == FACCODE);
  82. if (line == null)
  83. return true;
  84. else
  85. return false;
  86. }
  87. catch (Exception ex)
  88. {
  89. db.Transaction.Rollback();
  90. throw ex;
  91. }
  92. }
  93. #endregion
  94. #region 删除
  95. public static void deleteInfo(List<string> codeList, string dsconn)
  96. {
  97. FramDataContext db = new FramDataContext(dsconn);
  98. db.Connection.Open();
  99. db.Transaction = db.Connection.BeginTransaction();
  100. try
  101. {
  102. var lines = db.ICSFACTORY.Where(a => codeList.Contains(a.FACCODE));
  103. db.ICSFACTORY.DeleteAllOnSubmit(lines);
  104. db.SubmitChanges();
  105. db.Transaction.Commit();
  106. }
  107. catch (Exception ex)
  108. {
  109. db.Transaction.Rollback();
  110. throw ex;
  111. }
  112. }
  113. #endregion
  114. #region 判断是否在车间维护中已存在该工厂
  115. public static bool isIncludingInSeg(List<string> idList, string dsconn)
  116. {
  117. FramDataContext db = new FramDataContext(dsconn);
  118. db.Connection.Open();
  119. db.Transaction = db.Connection.BeginTransaction();
  120. try
  121. {
  122. bool flag = false;
  123. var lines = db.ICSSEG.Where(a => idList.Contains(a.FACID));
  124. if (lines.Count() != 0)
  125. flag = true;
  126. return flag;
  127. }
  128. catch (Exception ex)
  129. {
  130. //db.Transaction.Rollback();
  131. throw ex;
  132. }
  133. }
  134. #endregion
  135. #region 查询最大的工厂代码
  136. public static string SearchMaxCode(string dsconn)
  137. {
  138. FramDataContext db = new FramDataContext(dsconn);
  139. db.Connection.Open();
  140. db.Transaction = db.Connection.BeginTransaction();
  141. try
  142. {
  143. string lines = db.ICSFACTORY.Max(a => a.FACCODE);
  144. return lines;
  145. //db.ICSSHIFTTYPE.DeleteAllOnSubmit(lines);
  146. //db.SubmitChanges();
  147. //db.Transaction.Commit();
  148. }
  149. catch (Exception ex)
  150. {
  151. db.Transaction.Rollback();
  152. throw ex;
  153. }
  154. }
  155. #endregion
  156. }
  157. }