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

443 lines
17 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 ICSTSDAL
  13. {
  14. #region 增加修改
  15. public static void AddAndEdit(List<FormICSTSERRORCAUSEUIModel> errorcauseList,List<FormICSTSERRORCODE2LOCUIModel> erCode2locList,List<FormICSTSERRORCAUSE2LOCUIModel> erCause2locList,List<FormICSTSERRORCAUSE2EPARTUIModel> erCause2epartList, string dsconn)
  16. {
  17. FramDataContext db = new FramDataContext(dsconn);
  18. db.Connection.Open();
  19. db.Transaction = db.Connection.BeginTransaction();
  20. try
  21. {
  22. foreach (FormICSTSERRORCAUSEUIModel errorcause in errorcauseList)
  23. {
  24. var codes = db.ICSTSERRORCAUSE.Where(a => a.ECODE == errorcause.ECODE && a.ECGCODE == errorcause.ECGCODE && a.TSID == errorcause.TSID);
  25. if (codes.ToList().Count > 0)
  26. {
  27. throw new Exception("不可重复保存");
  28. }
  29. ICSTSERRORCAUSE line1 = new ICSTSERRORCAUSE();
  30. line1.ECODE = errorcause.ECODE;
  31. line1.ECSCODE = errorcause.ECSCODE;
  32. line1.ECGCODE = errorcause.ECGCODE;
  33. line1.ECSGCODE = errorcause.ECSGCODE;
  34. line1.TSID = errorcause.TSID;
  35. line1.RCARD = errorcause.RCARD;
  36. line1.RCARDSEQ = errorcause.RCARDSEQ;
  37. line1.MODELCODE = errorcause.MODELCODE;
  38. line1.ITEMCODE = errorcause.ITEMCODE;
  39. line1.MOCODE = errorcause.MOCODE;
  40. line1.SHIFTDAY = errorcause.SHIFTDAY;
  41. line1.MOSEQ = errorcause.MOSEQ;
  42. line1.RRESCODE = errorcause.RRESCODE;
  43. line1.ROPCODE = errorcause.ROPCODE;
  44. line1.SOLCODE = errorcause.SOLCODE;
  45. line1.DUTYCODE = errorcause.DUTYCODE;
  46. line1.SOLMEMO = errorcause.SOLMEMO;
  47. line1.PREVENTION = errorcause.PREVENTION;
  48. line1.MUSER = errorcause.MUSER;
  49. line1.MUSERName = errorcause.MUSERName;
  50. line1.MTIME = errorcause.MTIME;
  51. line1.WorkPoint = errorcause.WorkPoint;
  52. line1.EATTRIBUTE1 = errorcause.EATTRIBUTE1;
  53. db.ICSTSERRORCAUSE.InsertOnSubmit(line1);
  54. db.SubmitChanges();
  55. UpdateTSSTATUSByRcard(errorcause.RCARD, AppConfig.AppConnectString);
  56. }
  57. foreach (FormICSTSERRORCODE2LOCUIModel erCode2loc in erCode2locList)
  58. {
  59. ICSTSERRORCODE2LOC line2 = new ICSTSERRORCODE2LOC();
  60. line2.ECODE = erCode2loc.ECODE;
  61. line2.ECGCODE = erCode2loc.ECGCODE;
  62. line2.ELOC = erCode2loc.ELOC;
  63. line2.AB = erCode2loc.AB;
  64. line2.TSID = erCode2loc.TSID;
  65. line2.SUBELOC = erCode2loc.SUBELOC;
  66. line2.RCARD = erCode2loc.RCARD;
  67. line2.RCARDSEQ = erCode2loc.RCARDSEQ;
  68. line2.MODELCODE = erCode2loc.MODELCODE;
  69. line2.ITEMCODE = erCode2loc.ITEMCODE;
  70. line2.MOCODE = erCode2loc.MOCODE;
  71. line2.SHIFTDAY = erCode2loc.SHIFTDAY;
  72. line2.MOSEQ = erCode2loc.MOSEQ;
  73. line2.MEMO = erCode2loc.MEMO;
  74. line2.MUSER = erCode2loc.MUSER;
  75. line2.MUSERName = erCode2loc.MUSERName;
  76. line2.MTIME = erCode2loc.MTIME;
  77. line2.WorkPoint = erCode2loc.WorkPoint;
  78. line2.EATTRIBUTE1 = erCode2loc.EATTRIBUTE1;
  79. db.ICSTSERRORCODE2LOC.InsertOnSubmit(line2);
  80. db.SubmitChanges();
  81. }
  82. foreach (FormICSTSERRORCAUSE2LOCUIModel erCause2loc in erCause2locList)
  83. {
  84. ICSTSERRORCAUSE2LOC line3 = new ICSTSERRORCAUSE2LOC();
  85. line3.ECSCODE = erCause2loc.ECSCODE;
  86. line3.ECGCODE = erCause2loc.ECGCODE;
  87. line3.ECODE = erCause2loc.ECODE;
  88. line3.ELOC = erCause2loc.ELOC;
  89. line3.AB = erCause2loc.AB;
  90. line3.TSID = erCause2loc.TSID;
  91. line3.SUBELOC = erCause2loc.SUBELOC;
  92. line3.RCARD = erCause2loc.RCARD;
  93. line3.RCARDSEQ = erCause2loc.RCARDSEQ;
  94. line3.MODELCODE = erCause2loc.MODELCODE;
  95. line3.ITEMCODE = erCause2loc.ITEMCODE;
  96. line3.MOCODE = erCause2loc.MOCODE;
  97. line3.RRESCODE = erCause2loc.RRESCODE;
  98. line3.ROPCODE = erCause2loc.ROPCODE;
  99. line3.ECSGCODE = erCause2loc.ECSGCODE;
  100. line3.MOSEQ = erCause2loc.MOSEQ;
  101. line3.EPART = erCause2loc.EPART;
  102. line3.MUSER = erCause2loc.MUSER;
  103. line3.MUSERName = erCause2loc.MUSERName;
  104. line3.MTIME = erCause2loc.MTIME;
  105. line3.WorkPoint = erCause2loc.WorkPoint;
  106. line3.EATTRIBUTE1 = erCause2loc.EATTRIBUTE1;
  107. db.ICSTSERRORCAUSE2LOC.InsertOnSubmit(line3);
  108. db.SubmitChanges();
  109. }
  110. foreach (FormICSTSERRORCAUSE2EPARTUIModel erCause2epart in erCause2epartList)
  111. {
  112. ICSTSERRORCAUSE2EPART line4 = new ICSTSERRORCAUSE2EPART();
  113. line4.TSID = erCause2epart.TSID;
  114. line4.ECODE = erCause2epart.ECODE;
  115. line4.ECSCODE = erCause2epart.ECSCODE;
  116. line4.ECGCODE = erCause2epart.ECGCODE;
  117. line4.EPART = erCause2epart.EPART;
  118. line4.RCARD = erCause2epart.RCARD;
  119. line4.RCARDSEQ = erCause2epart.RCARDSEQ;
  120. line4.MODELCODE = erCause2epart.MODELCODE;
  121. line4.ITEMCODE = erCause2epart.ITEMCODE;
  122. line4.MOCODE = erCause2epart.MOCODE;
  123. line4.ECSGCODE = erCause2epart.ECSGCODE;
  124. line4.MOSEQ = erCause2epart.MOSEQ;
  125. line4.RRESCODE = erCause2epart.RRESCODE;
  126. line4.ROPCODE = erCause2epart.ROPCODE;
  127. line4.MUSER = erCause2epart.MUSER;
  128. line4.MUSERName = erCause2epart.MUSERName;
  129. line4.MTIME = erCause2epart.MTIME;
  130. line4.WorkPoint = erCause2epart.WorkPoint;
  131. line4.EATTRIBUTE1 = erCause2epart.EATTRIBUTE1;
  132. db.ICSTSERRORCAUSE2EPART.InsertOnSubmit(line4);
  133. db.SubmitChanges();
  134. }
  135. db.SubmitChanges();
  136. db.Transaction.Commit();
  137. }
  138. catch (Exception ex)
  139. {
  140. db.Transaction.Rollback();
  141. throw new Exception(ex.Message);
  142. }
  143. }
  144. #endregion
  145. #region 班次代码是否存在
  146. public static bool IsIncludingShiftCode(string shiftcode, string dsconn)
  147. {
  148. FramDataContext db = new FramDataContext(dsconn);
  149. db.Connection.Open();
  150. db.Transaction = db.Connection.BeginTransaction();
  151. try
  152. {
  153. var line = db.ICSSHIFT.SingleOrDefault(a => a.SHIFTCODE == shiftcode);
  154. if (line == null)
  155. return true;
  156. else
  157. return false;
  158. }
  159. catch (Exception ex)
  160. {
  161. db.Transaction.Rollback();
  162. throw ex;
  163. }
  164. }
  165. #endregion
  166. public static void AddECode(ICSTSERRORCODE errorCodeInfo, string Appconstr)
  167. {
  168. FramDataContext db = new FramDataContext(Appconstr);
  169. db.Connection.Open();
  170. db.Transaction = db.Connection.BeginTransaction();
  171. try
  172. {
  173. var line1 = db.ICSTSERRORCODE.Where(a => a.ECODE == errorCodeInfo.ECODE && a.ECGCODE == errorCodeInfo.ECGCODE && a.TSID == errorCodeInfo.TSID);
  174. if (line1.ToList().Count>0)
  175. {
  176. throw new Exception("不良代码已经存在");
  177. }
  178. ICSTSERRORCODE line = new ICSTSERRORCODE();
  179. line.ECODE = errorCodeInfo.ECODE;
  180. line.ECGCODE = errorCodeInfo.ECGCODE;
  181. line.TSID = errorCodeInfo.TSID;
  182. line.RCARD = errorCodeInfo.RCARD;
  183. line.RCARDSEQ = errorCodeInfo.RCARDSEQ;
  184. line.MODELCODE = errorCodeInfo.MODELCODE;
  185. line.ITEMCODE = errorCodeInfo.ITEMCODE;
  186. line.MOCODE = errorCodeInfo.MOCODE;
  187. line.MOSEQ = errorCodeInfo.MOSEQ;
  188. line.SHIFTDAY = errorCodeInfo.SHIFTDAY;
  189. line.MUSER = errorCodeInfo.MUSER;
  190. line.MUSERName = errorCodeInfo.MUSERName;
  191. line.MTIME = errorCodeInfo.MTIME;
  192. line.WorkPoint = errorCodeInfo.WorkPoint;
  193. line.EATTRIBUTE1 = errorCodeInfo.EATTRIBUTE1;
  194. db.ICSTSERRORCODE.InsertOnSubmit(line);
  195. //UpdateTSSTATUS(errorCodeInfo.RCARD, Appconstr);
  196. db.SubmitChanges();
  197. db.Transaction.Commit();
  198. }
  199. catch (Exception ex)
  200. {
  201. db.Transaction.Rollback();
  202. throw new Exception(ex.Message);
  203. }
  204. }
  205. #region 产品序列号是否存在并且需要维修
  206. public static bool IsIncludingInICSTS(string rcard)
  207. {
  208. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  209. db.Connection.Open();
  210. db.Transaction = db.Connection.BeginTransaction();
  211. try
  212. {
  213. var line = db.ICSTS.SingleOrDefault(a => a.RCARD == rcard && (a.TSSTATUS == "tsstatus_confirm" || a.TSSTATUS == "tsstatus_ts"));
  214. if (line == null)
  215. return true;
  216. else
  217. return false;
  218. }
  219. catch (Exception ex)
  220. {
  221. db.Transaction.Rollback();
  222. throw ex;
  223. }
  224. }
  225. #endregion
  226. #region 班次代码是否在时段维护中使用
  227. public static bool isIncludingInICSTP(List<string> idList, string dsconn)
  228. {
  229. FramDataContext db = new FramDataContext(dsconn);
  230. db.Connection.Open();
  231. db.Transaction = db.Connection.BeginTransaction();
  232. try
  233. {
  234. bool flag = false;
  235. var lines = db.ICSTP.Where(a => idList.Contains(a.SHIFTID));
  236. if (lines.Count() != 0)
  237. flag = true;
  238. return flag;
  239. }
  240. catch (Exception ex)
  241. {
  242. //db.Transaction.Rollback();
  243. throw ex;
  244. }
  245. }
  246. #endregion
  247. public static ICSTS SearchTSInfoByRcard(string rcard, string dsconn)
  248. {
  249. FramDataContext db = new FramDataContext(dsconn);
  250. db.Connection.Open();
  251. db.Transaction = db.Connection.BeginTransaction();
  252. ICSTS entity = new ICSTS();
  253. try
  254. {
  255. var line = db.ICSTS.SingleOrDefault(a => a.RCARD == rcard);
  256. return (ICSTS)line;
  257. }
  258. catch (Exception ex)
  259. {
  260. throw new Exception(ex.Message);
  261. }
  262. }
  263. public static DataTable SelectShiftTypeCode()
  264. {
  265. string sql = @"select SHIFTTYPECODE as [班制代码]
  266. from dbo.ICSSHIFTTYPE
  267. where 1=1";
  268. sql = string.Format(sql);
  269. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  270. return dt;
  271. }
  272. public static DataTable SelectShiftTypeId(string str)
  273. {
  274. string sql = @"select ID
  275. from dbo.ICSSHIFTTYPE
  276. where SHIFTTYPECODE='" + str + "'";
  277. sql = string.Format(sql);
  278. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  279. return dt;
  280. }
  281. #region delete
  282. public static void delete(List<String> guidList)
  283. {
  284. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  285. db.Connection.Open();
  286. db.Transaction = db.Connection.BeginTransaction();
  287. try
  288. {
  289. var lines = db.ICSSHIFT.Where(a => guidList.Contains(a.ID));
  290. db.ICSSHIFT.DeleteAllOnSubmit(lines);
  291. db.SubmitChanges();
  292. db.Transaction.Commit();
  293. }
  294. catch (Exception ex)
  295. {
  296. db.Transaction.Rollback();
  297. throw ex;
  298. }
  299. }
  300. #endregion
  301. public static DataTable GetShiftCode()
  302. {
  303. try
  304. {
  305. string sql = @"select TOP 1 [SHIFTCODE]
  306. FROM [dbo].[ICSSHIFT] order by SHIFTCODE desc";
  307. return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  308. }
  309. catch (Exception ex)
  310. {
  311. throw ex;
  312. }
  313. }
  314. // public static DataTable GetShiftSeqCode()
  315. // {
  316. // try
  317. // {
  318. // string sql = @"select TOP 1 [SHIFTSEQ]
  319. // FROM [dbo].[ICSSHIFT] order by [SHIFTTYPEID] desc";
  320. // return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  321. // }
  322. // catch (Exception ex)
  323. // {
  324. // throw ex;
  325. // }
  326. // }
  327. #region 通过ID更新维修状态
  328. public static void UpdateTSSTATUSByID(string id, string TSSTATUS, string dsconn)
  329. {
  330. FramDataContext db = new FramDataContext(dsconn);
  331. db.Connection.Open();
  332. db.Transaction = db.Connection.BeginTransaction();
  333. try
  334. {
  335. var line = db.ICSTS.SingleOrDefault(a => a.TSID == id);
  336. line.CONFIRMUSER = AppConfig.UserCode;
  337. line.CONFIRMTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  338. line.COPCODE = "";
  339. line.CRESCODE = "";
  340. line.TSSTATUS = "tsstatus_confirm";
  341. line.MUSER = AppConfig.UserCode;
  342. line.MUSERName = AppConfig.UserName;
  343. db.SubmitChanges();
  344. db.Transaction.Commit();
  345. }
  346. catch (Exception ex)
  347. {
  348. db.Transaction.Rollback();
  349. throw new Exception(ex.Message);
  350. }
  351. }
  352. #endregion
  353. #region 通过产品序列号更新维修状态
  354. public static void UpdateTSSTATUSByRcard(string rcard, string dsconn)
  355. {
  356. FramDataContext db = new FramDataContext(dsconn);
  357. db.Connection.Open();
  358. db.Transaction = db.Connection.BeginTransaction();
  359. try
  360. {
  361. var line = db.ICSTS.SingleOrDefault(a => a.RCARD == rcard);
  362. line.TSSTATUS = "tsstatus_ts";
  363. db.SubmitChanges();
  364. db.Transaction.Commit();
  365. }
  366. catch (Exception ex)
  367. {
  368. db.Transaction.Rollback();
  369. throw new Exception(ex.Message);
  370. }
  371. }
  372. #endregion
  373. #region 状态返回送修完
  374. public static void UpdateTSSTATUS(string rcard, string dsconn)
  375. {
  376. FramDataContext db = new FramDataContext(dsconn);
  377. db.Connection.Open();
  378. db.Transaction = db.Connection.BeginTransaction();
  379. try
  380. {
  381. var line = db.ICSTS.SingleOrDefault(a => a.RCARD == rcard && a.TSSTATUS == "tsstatus_ts");
  382. if (line == null)
  383. {
  384. return;
  385. }
  386. line.TSSTATUS = "tsstatus_confirm";
  387. db.SubmitChanges();
  388. db.Transaction.Commit();
  389. }
  390. catch (Exception ex)
  391. {
  392. db.Transaction.Rollback();
  393. throw new Exception(ex.Message);
  394. }
  395. }
  396. #endregion
  397. }
  398. }