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

262 lines
8.7 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 ICSShiftDAL
  13. {
  14. #region 增加修改
  15. public static void AddAndEdit(List<FormICSShiftUIModel> shiftInfoList, string dsconn)
  16. {
  17. FramDataContext db = new FramDataContext(dsconn);
  18. db.Connection.Open();
  19. db.Transaction = db.Connection.BeginTransaction();
  20. try
  21. {
  22. foreach (FormICSShiftUIModel shiftInfo in shiftInfoList)
  23. {
  24. bool isNew = false;
  25. var line = db.ICSSHIFT.SingleOrDefault(a => a.SHIFTCODE == shiftInfo.SHIFTCODE);
  26. if (line == null)
  27. {
  28. isNew = true;
  29. line = new ICSSHIFT();
  30. line.ID = AppConfig.GetGuid();
  31. line.SHIFTCODE = shiftInfo.SHIFTCODE;
  32. }
  33. var codes = db.ICSSHIFT.Where(a => a.SHIFTSEQ == shiftInfo.SHIFTSEQ &&a.SHIFTTYPEID==shiftInfo.SHIFTTYPEID&& a.ID != line.ID);
  34. if (codes.ToList().Count > 0)
  35. {
  36. throw new Exception("班次次序在该班制中已存在");
  37. }
  38. line.SHIFTTYPEID = shiftInfo.SHIFTTYPEID;
  39. line.SHIFTSEQ=shiftInfo.SHIFTSEQ;
  40. line.SHIFTDESC=shiftInfo.SHIFTDESC;
  41. line.SHIFTBTIME=shiftInfo.SHIFTBTIME;
  42. line.SHIFTETIME=shiftInfo.SHIFTETIME;
  43. line.ISOVERDAY=shiftInfo.ISOVERDAY;
  44. line.MUSER=shiftInfo.MUSER;
  45. line.MUSERName=shiftInfo.MUSERName;
  46. line.MTIME =Convert.ToDateTime(shiftInfo.MTIME);
  47. line.WorkPoint = shiftInfo.WorkPoint;
  48. line.EATTRIBUTE1 = shiftInfo.EATTRIBUTE1;
  49. if (isNew)
  50. db.ICSSHIFT.InsertOnSubmit(line);
  51. db.SubmitChanges();
  52. }
  53. db.SubmitChanges();
  54. db.Transaction.Commit();
  55. }
  56. catch (Exception ex)
  57. {
  58. db.Transaction.Rollback();
  59. throw new Exception(ex.Message);
  60. }
  61. }
  62. #endregion
  63. #region 班次代码是否存在
  64. public static bool IsIncludingShiftCode(string shiftcode, string dsconn)
  65. {
  66. FramDataContext db = new FramDataContext(dsconn);
  67. db.Connection.Open();
  68. db.Transaction = db.Connection.BeginTransaction();
  69. try
  70. {
  71. var line = db.ICSSHIFT.SingleOrDefault(a => a.SHIFTCODE == shiftcode);
  72. if (line == null)
  73. return true;
  74. else
  75. return false;
  76. }
  77. catch (Exception ex)
  78. {
  79. db.Transaction.Rollback();
  80. throw ex;
  81. }
  82. }
  83. #endregion
  84. //#region 班次次序是否存在
  85. //public static bool IsIncludingInShiftSeq(int shiftsqe, string shifttypeid)
  86. //{
  87. // FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  88. // db.Connection.Open();
  89. // db.Transaction = db.Connection.BeginTransaction();
  90. // try
  91. // {
  92. // var line = db.ICSSHIFT.SingleOrDefault(a => a.SHIFTSEQ == shiftsqe && a.SHIFTTYPEID == shifttypeid);
  93. // if (line == null)
  94. // return true;
  95. // else
  96. // return false;
  97. // }
  98. // catch (Exception ex)
  99. // {
  100. // db.Transaction.Rollback();
  101. // throw ex;
  102. // }
  103. //}
  104. //#endregion
  105. #region 班次代码是否在时段维护中使用
  106. public static bool isIncludingInICSTP(List<string> idList, string dsconn)
  107. {
  108. FramDataContext db = new FramDataContext(dsconn);
  109. db.Connection.Open();
  110. db.Transaction = db.Connection.BeginTransaction();
  111. try
  112. {
  113. bool flag = false;
  114. var lines = db.ICSTP.Where(a => idList.Contains(a.SHIFTID));
  115. if (lines.Count() != 0)
  116. flag = true;
  117. return flag;
  118. }
  119. catch (Exception ex)
  120. {
  121. //db.Transaction.Rollback();
  122. throw ex;
  123. }
  124. }
  125. #endregion
  126. public static List<FormICSShiftUIModel> SearchShiftInfoByCode(string SHIFTCODE, string dsconn)
  127. {
  128. List<FormICSShiftUIModel> returnshift = new List<FormICSShiftUIModel>();
  129. string sql = @"select a.SHIFTCODE,b.ID,b.SHIFTTYPECODE,a.SHIFTSEQ,a.SHIFTDESC,a.SHIFTBTIME,a.SHIFTETIME,a.ISOVERDAY,a.MUSERName,a.MTIME
  130. from ICSSHIFT a
  131. left join ICSSHIFTTYPE b on a.SHIFTTYPEID=b.ID
  132. where SHIFTCODE='{0}'";
  133. sql = string.Format(sql, SHIFTCODE);
  134. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  135. foreach (DataRow dr in dt.Rows)
  136. {
  137. FormICSShiftUIModel shiftInfo = new FormICSShiftUIModel();
  138. shiftInfo.SHIFTCODE = dr["SHIFTCODE"].ToString();
  139. shiftInfo.shifttype = new FormICSShifTypeUIModel();
  140. //shiftInfo.SHIFTTYPEID = dr["ID"].ToString();
  141. shiftInfo.shifttype.SHIFTTYPECODE = dr["SHIFTTYPECODE"].ToString();
  142. shiftInfo.SHIFTSEQ = Convert.ToInt32(dr["SHIFTSEQ"]);
  143. shiftInfo.SHIFTDESC = dr["SHIFTDESC"].ToString();
  144. shiftInfo.SHIFTBTIME = int.Parse(dr["SHIFTBTIME"].ToString());
  145. shiftInfo.SHIFTETIME = int.Parse(dr["SHIFTETIME"].ToString());
  146. shiftInfo.ISOVERDAY = dr["ISOVERDAY"].ToString();
  147. shiftInfo.MUSERName = dr["MUSERName"].ToString();
  148. shiftInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
  149. if (!returnshift.Contains(shiftInfo))
  150. {
  151. returnshift.Add(shiftInfo);
  152. }
  153. }
  154. return returnshift;
  155. }
  156. public static DataTable SelectShiftTypeCode()
  157. {
  158. string sql = @"select SHIFTTYPECODE as [班制代码]
  159. from dbo.ICSSHIFTTYPE
  160. where 1=1";
  161. sql = string.Format(sql);
  162. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  163. return dt;
  164. }
  165. public static DataTable SelectShiftTypeId(string str)
  166. {
  167. string sql = @"select ID
  168. from dbo.ICSSHIFTTYPE
  169. where SHIFTTYPECODE='" + str + "'";
  170. sql = string.Format(sql);
  171. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  172. return dt;
  173. }
  174. #region delete
  175. public static void delete(List<String> guidList)
  176. {
  177. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  178. db.Connection.Open();
  179. db.Transaction = db.Connection.BeginTransaction();
  180. try
  181. {
  182. var lines = db.ICSSHIFT.Where(a => guidList.Contains(a.ID));
  183. db.ICSSHIFT.DeleteAllOnSubmit(lines);
  184. db.SubmitChanges();
  185. db.Transaction.Commit();
  186. }
  187. catch (Exception ex)
  188. {
  189. db.Transaction.Rollback();
  190. throw ex;
  191. }
  192. }
  193. #endregion
  194. public static DataTable GetShiftCode()
  195. {
  196. try
  197. {
  198. string sql = @"select TOP 1 [SHIFTCODE]
  199. FROM [dbo].[ICSSHIFT] order by SHIFTCODE desc";
  200. return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  201. }
  202. catch (Exception ex)
  203. {
  204. throw ex;
  205. }
  206. }
  207. // public static DataTable GetShiftSeqCode()
  208. // {
  209. // try
  210. // {
  211. // string sql = @"select TOP 1 [SHIFTSEQ]
  212. // FROM [dbo].[ICSSHIFT] order by [SHIFTTYPEID] desc";
  213. // return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  214. // }
  215. // catch (Exception ex)
  216. // {
  217. // throw ex;
  218. // }
  219. // }
  220. }
  221. }