MscMsc_BackLog.cs 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using CoreFS.SA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Data;
  10. using System.Linq;
  11. using System.Windows.Forms;
  12. namespace Core.StlMes.Client.Qcm
  13. {
  14. class MscMsc_BackLog
  15. {
  16. public static DataTable Query(FrmProPSCMSC2 frm)
  17. {
  18. if (frm.ControlMsc.GridMsc.ActiveRow == null) return null;
  19. string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
  20. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  21. {
  22. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  23. }
  24. else
  25. {
  26. UltraGridRow activeRow = frm.ControlMsc.GridMsc.ActiveRow;
  27. msc = activeRow.GetValue("KEY_JG");
  28. }
  29. ArrayList list = new ArrayList();
  30. list.Add(msc);
  31. list.Add(frm.ckbDeleteFilter.Checked ? "0" : "1");
  32. DataTable dt = null;
  33. try
  34. {
  35. dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMscBackLog",
  36. new object[] { list }, frm.ob);
  37. }
  38. catch
  39. {
  40. return null;
  41. }
  42. return dt;
  43. }
  44. public static bool Insert(FrmProPSCMSC2 frm)
  45. {
  46. if (CheckData(frm, "Insert") == false) return false;
  47. frm.UltraGrid5.UpdateData();
  48. if (MessageUtil.ShowYesNoAndQuestion("是否新增所选择的记录?") == DialogResult.No)
  49. {
  50. return false;
  51. }
  52. string strMaxMscPline = GetMaxMscPline(frm);
  53. string[] strWhole_BackLogs = GetWhole_BackLog(frm);
  54. string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
  55. string processNo = "";
  56. string memo = "";
  57. string autoCraft = "";
  58. string activeMscPlie = "";
  59. if (frm.UltraGrid4.ActiveRow != null)
  60. {
  61. processNo = frm.UltraGrid4.GetActiveRowValue("PROCESS_NO");
  62. memo = frm.UltraGrid4.GetActiveRowValue("Memo");
  63. autoCraft = frm.UltraGrid4.GetActiveRowValue("AUTO_CRAFT");
  64. activeMscPlie = frm.UltraGrid4.GetActiveRowValue("MSC_PLINE");
  65. }
  66. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  67. {
  68. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  69. }
  70. else
  71. {
  72. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
  73. }
  74. ArrayList list1 = new ArrayList();
  75. list1.Add(msc);
  76. list1.Add(strMaxMscPline);
  77. list1.Add(strWhole_BackLogs[0]);
  78. list1.Add(strWhole_BackLogs[1]);
  79. list1.Add(frm.UserInfo.GetUserName());
  80. list1.Add(processNo);
  81. list1.Add(memo);
  82. list1.Add(autoCraft);
  83. ArrayList list2 = new ArrayList();
  84. ArrayList list3 = new ArrayList();
  85. foreach (UltraGridRow row in frm.UltraGrid5.Rows)
  86. {
  87. string strDeleteFlag = "";
  88. string cic = row.GetValue("CIC");
  89. string pic = row.GetValue("PIC");
  90. string dic = row.GetValue("DIC");
  91. string sic = row.GetValue("SIC");
  92. string wic = row.GetValue("WIC");
  93. string gic = row.GetValue("GIC");
  94. string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
  95. if (row.Cells["CHK"].Value.ToString() == "False")
  96. {
  97. strDeleteFlag = "DELETE";
  98. }
  99. else
  100. {
  101. if (frm._dicMscStation.ContainsKey(processCode))
  102. {
  103. UltraGrid ultraGridSta2 = frm._dicMscStation[processCode];
  104. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403201" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  105. {
  106. cic = "";
  107. }
  108. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403202" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  109. {
  110. pic = "";
  111. }
  112. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403203" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  113. {
  114. sic = "";
  115. }
  116. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403204" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  117. {
  118. dic = "";
  119. }
  120. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403205" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  121. {
  122. wic = "";
  123. }
  124. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403208" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  125. {
  126. gic = "";
  127. }
  128. }
  129. }
  130. string MaxMscProBkLog_seq = QueryMaxMscProBkLog_seq(frm, strMaxMscPline);
  131. ArrayList listProcess = new ArrayList();
  132. listProcess.AddRange(
  133. strDeleteFlag, msc, strMaxMscPline,
  134. MaxMscProBkLog_seq, frm.UserInfo.GetUserName(), row.GetValue("PROCESS_CODE"),
  135. row.GetValue("PROCESS_DESC"), row.GetValue("MINUTE_PRODUCT"), row.GetValue("MINUTE_WAITE"),
  136. row.GetValue("BATCH_WAITE"), row.GetValue("MINUTE_PRODUCT_OUT"), row.GetValue("MINUTE_WAITE_OUT"),
  137. row.GetValue("BATCH_WAITE_OUT"), row.GetValue("COST"), cic, pic, sic, dic, wic,
  138. gic, row.GetValue("MEMO"), row.GetValue("PROCESS_CODE_C"),
  139. row.GetText("PROCESS_CODE_C"), row.GetValue("ICOUNT"), "");
  140. list2.Add(listProcess);
  141. if (frm._dicMscStation.ContainsKey(processCode) == false)
  142. {
  143. if (row.Cells["CHK"].Value.ToString() == "True")
  144. {
  145. ArrayList listSub = new ArrayList();
  146. listSub.Add(processCode);
  147. listSub.Add(frm.UserInfo.GetUserName());
  148. listSub.Add(msc);
  149. listSub.Add(strMaxMscPline);
  150. listSub.Add(row.GetValue("PROCESS_CODE_C"));
  151. listSub.Add(row.GetValue("ICOUNT"));
  152. list3.Add(listSub);
  153. }
  154. continue;
  155. }
  156. UltraGrid ultraGridSta = frm._dicMscStation[processCode];
  157. foreach (UltraGridRow rowSta in ultraGridSta.Rows)
  158. {
  159. //如果工序选择的二级工序和工序点选择的不一致,则不对工序点进行保存,只保存工序。
  160. if (rowSta.GetValue("PROCESS_CODE_C") != row.GetValue("PROCESS_CODE_C"))
  161. {
  162. continue;
  163. }
  164. ArrayList listSub = new ArrayList();
  165. string strDeleteFlag2 = "";
  166. if (rowSta.Cells["UCCHOOSE"].Value.ToString() == "False")
  167. {
  168. strDeleteFlag2 = "DELETE";
  169. }
  170. listSub.Add(strDeleteFlag2);//0
  171. listSub.Add(msc);//最终保存的时候赋值。1
  172. listSub.Add(strMaxMscPline);//2
  173. listSub.Add(rowSta.GetValue("BACKLOG_SEQ"));//3
  174. listSub.Add(rowSta.GetValue("PROCESS_CODE"));//4
  175. listSub.Add(rowSta.GetValue("PROCESS_DESC"));//5
  176. listSub.Add(rowSta.GetValue("STATION_CODE"));//6
  177. listSub.Add(rowSta.GetValue("STATION_DESC"));//7
  178. listSub.Add(rowSta.GetValue("STATION_TYPE_CODE"));//8
  179. listSub.Add(rowSta.GetValue("STATION_ID"));//9
  180. listSub.Add(rowSta.GetValue("COST"));//10
  181. listSub.Add(rowSta.GetValue("CHOOSE") == "True" ? "1" : "0");//11
  182. listSub.Add(rowSta.GetValue("RETURN_RESULT") == "True" ? "1" : "0");//12
  183. listSub.Add(rowSta.GetValue("SEND_CHECKPLAN") == "True" ? "1" : "0");//13
  184. listSub.Add(frm.UserInfo.GetUserName());//14
  185. listSub.Add(rowSta.GetValue("PROCESS_SEQ"));//15
  186. listSub.Add(rowSta.GetValue("MEMO"));//16
  187. listSub.Add(rowSta.GetValue("PROCESS_CODE_C"));
  188. listSub.Add(rowSta.GetValue("PROCESS_DESC_C"));
  189. list3.Add(listSub);
  190. }
  191. //foreach (ArrayList listStation in listStations)
  192. //{
  193. // listStation[1] = frm.ultraGrid2.ActiveRow.Cells["MSC"].Value.ToString();
  194. // listStation[2] = strMaxMscPline;
  195. // list3.Add(listStation);
  196. //}
  197. }
  198. try
  199. {
  200. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.insertMscBackLog",
  201. new object[] { list1, list2, list3 }, frm.ob);
  202. }
  203. catch
  204. {
  205. return false;
  206. }
  207. MessageUtil.ShowTips("新增成功!");
  208. return true;
  209. }
  210. /// <summary>
  211. /// 修改工艺文件路径
  212. /// </summary>
  213. /// <param name="frm"></param>
  214. /// <returns></returns>
  215. public static void UpdateCraftPath(FrmProPSCMSC2 frm)
  216. {
  217. UltraGridRow row = frm.UltraGrid4.ActiveRow;
  218. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateCraftPath",
  219. new object[] { row.GetValue("MSC"), row.GetValue("MSC_PLINE"), row.Cells["CRAFT_PATH"].Tag.ToString2() }, frm.ob);
  220. }
  221. /// <summary>
  222. /// 修改工艺贴图
  223. /// </summary>
  224. /// <param name="frm"></param>
  225. public static void UpdateProcessFile(string processFile, string msc, string mscPline, string processCode, OpeBase ob)
  226. {
  227. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateProcessFile",
  228. new object[] { new string[] { processFile, msc, mscPline, processCode } }, ob);
  229. }
  230. public static bool Update(FrmProPSCMSC2 frm)
  231. {
  232. if (CheckData(frm, "Update") == false) return false;
  233. frm.UltraGrid5.UpdateData();
  234. if (MessageUtil.ShowYesNoAndQuestion("是否修改所选择的记录?") == DialogResult.No)
  235. {
  236. return false;
  237. }
  238. string[] strWhole_BackLogs = GetWhole_BackLog(frm);
  239. string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
  240. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  241. {
  242. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  243. }
  244. else
  245. {
  246. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
  247. }
  248. ArrayList list1 = new ArrayList();
  249. list1.Add(strWhole_BackLogs[0]);
  250. list1.Add(strWhole_BackLogs[1]);
  251. list1.Add(frm.UserInfo.GetUserName());
  252. list1.Add(frm.UltraGrid4.GetActiveRowValue("PROCESS_NO"));
  253. list1.Add(frm.UltraGrid4.ActiveRow.Cells["MEMO"].Value.ToString());
  254. list1.Add(frm.UltraGrid4.ActiveRow.Cells["AUTO_CRAFT"].Value.ToString());
  255. list1.Add(msc);
  256. list1.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
  257. ArrayList list2 = new ArrayList();
  258. ArrayList list3 = new ArrayList();
  259. foreach (UltraGridRow row in frm.UltraGrid5.Rows)
  260. {
  261. string strDeleteFlag = "";
  262. string cic = row.GetValue("CIC");
  263. string pic = row.GetValue("PIC");
  264. string dic = row.GetValue("DIC");
  265. string sic = row.GetValue("SIC");
  266. string wic = row.GetValue("WIC");
  267. string gic = row.GetValue("GIC");
  268. string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
  269. if (row.Cells["CHK"].Value.ToString() == "False")
  270. {
  271. strDeleteFlag = "DELETE";
  272. }
  273. else
  274. {
  275. if (frm._dicMscStation.ContainsKey(processCode))
  276. {
  277. UltraGrid ultraGridSta2 = frm._dicMscStation[processCode];
  278. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403201" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  279. {
  280. cic = "";
  281. }
  282. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403202" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  283. {
  284. pic = "";
  285. }
  286. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403203" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  287. {
  288. sic = "";
  289. }
  290. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403204" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  291. {
  292. dic = "";
  293. }
  294. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403205" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  295. {
  296. wic = "";
  297. }
  298. if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403208" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
  299. {
  300. gic = "";
  301. }
  302. }
  303. }
  304. //string MaxMscProBkLog_seq = QueryMaxMscProBkLog_seq(frm, strMaxMscPline);
  305. ArrayList listProcess = new ArrayList();
  306. listProcess.Add(strDeleteFlag);
  307. listProcess.Add(msc);
  308. listProcess.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
  309. listProcess.Add(row.Cells["BACKLOG_SEQ"].Value.ToString());
  310. listProcess.Add(frm.UserInfo.GetUserName());
  311. listProcess.Add(row.Cells["PROCESS_CODE"].Value.ToString());
  312. listProcess.Add(row.Cells["PROCESS_DESC"].Value.ToString());
  313. listProcess.Add(row.Cells["MINUTE_PRODUCT"].Value.ToString());
  314. listProcess.Add(row.Cells["MINUTE_WAITE"].Value.ToString());
  315. listProcess.AddRange(row.GetValue("BATCH_WAITE"), row.GetValue("MINUTE_PRODUCT_OUT"),
  316. row.GetValue("MINUTE_WAITE_OUT"), row.GetValue("BATCH_WAITE_OUT"));
  317. listProcess.Add(row.Cells["COST"].Value.ToString());
  318. listProcess.Add(cic);
  319. listProcess.Add(pic);
  320. listProcess.Add(sic);
  321. listProcess.Add(dic);
  322. listProcess.Add(wic);
  323. listProcess.Add(gic);
  324. listProcess.Add(row.Cells["MEMO"].Value.ToString());
  325. listProcess.Add(row.GetValue("PROCESS_CODE_C"));
  326. listProcess.Add(row.GetText("PROCESS_CODE_C"));
  327. listProcess.Add(row.GetValue("ICOUNT"));
  328. listProcess.Add(row.GetValue("PROCESS_FILE"));
  329. list2.Add(listProcess);
  330. if (frm._dicMscStation.ContainsKey(processCode) == false) continue;
  331. UltraGrid ultraGridSta = frm._dicMscStation[processCode];
  332. foreach (UltraGridRow rowSta in ultraGridSta.Rows)
  333. {
  334. //如果工序选择的二级工序和工序点选择的不一致,则不对工序点进行保存,只保存工序。
  335. if (rowSta.GetValue("PROCESS_CODE_C") != row.GetValue("PROCESS_CODE_C"))
  336. {
  337. continue;
  338. }
  339. ArrayList listSub = new ArrayList();
  340. string strDeleteFlag2 = "";
  341. if (rowSta.Cells["UCCHOOSE"].Value.ToString() == "False")
  342. {
  343. strDeleteFlag2 = "DELETE";
  344. }
  345. listSub.Add(strDeleteFlag2);//0
  346. listSub.Add(msc);//最终保存的时候赋值。1
  347. listSub.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());//2
  348. listSub.Add(rowSta.Cells["BACKLOG_SEQ"].Value.ToString());//3
  349. listSub.Add(rowSta.Cells["PROCESS_CODE"].Value.ToString());//4
  350. listSub.Add(rowSta.Cells["PROCESS_DESC"].Value.ToString());//5
  351. listSub.Add(rowSta.Cells["STATION_CODE"].Value.ToString());//6
  352. listSub.Add(rowSta.Cells["STATION_DESC"].Value.ToString());//7
  353. listSub.Add(rowSta.Cells["STATION_TYPE_CODE"].Value.ToString());//8
  354. listSub.Add(rowSta.Cells["STATION_ID"].Value.ToString());//9
  355. listSub.Add(rowSta.Cells["COST"].Value.ToString());//10
  356. listSub.Add(rowSta.Cells["CHOOSE"].Value.ToString() == "True" ? "1" : "0");//11
  357. listSub.Add(rowSta.Cells["RETURN_RESULT"].Value.ToString() == "True" ? "1" : "0");//12
  358. listSub.Add(rowSta.Cells["SEND_CHECKPLAN"].Value.ToString() == "True" ? "1" : "0");//13
  359. listSub.Add(frm.UserInfo.GetUserName());//14
  360. listSub.Add(rowSta.Cells["PROCESS_SEQ"].Value.ToString());//15
  361. listSub.Add(rowSta.Cells["MEMO"].Value.ToString());//16
  362. listSub.Add(rowSta.GetValue("PROCESS_CODE_C"));
  363. listSub.Add(rowSta.GetValue("PROCESS_DESC_C"));
  364. list3.Add(listSub);
  365. }
  366. }
  367. try
  368. {
  369. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateMscBackLog",
  370. new object[] { list1, list2, list3, frm.OrdLnPk }, frm.ob);
  371. }
  372. catch
  373. {
  374. return false;
  375. }
  376. MessageUtil.ShowTips("修改成功!");
  377. return true;
  378. }
  379. private static string GetMaxMscPline(FrmProPSCMSC2 frm)
  380. {
  381. string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
  382. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  383. {
  384. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  385. }
  386. else
  387. {
  388. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
  389. }
  390. ArrayList list = new ArrayList();
  391. list.Add(msc);
  392. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMaxMscBackLogPline",
  393. new object[] { list }, frm.ob);
  394. if (dt != null)
  395. {
  396. return dt.Rows[0][0].ToString();
  397. }
  398. return "";
  399. }
  400. private static string[] GetWhole_BackLog(FrmProPSCMSC2 frm)
  401. {
  402. string[] strWhole_BackLogs = new string[] { "", "" };
  403. int i = 0;
  404. foreach (UltraGridRow row in frm.UltraGrid5.Rows)
  405. {
  406. if (row.Cells["CHK"].Value.ToString() == "True")
  407. {
  408. if (i == 0)
  409. {
  410. strWhole_BackLogs[0] += row.Cells["PROCESS_CODE"].Value.ToString();
  411. strWhole_BackLogs[1] += row.GetValue("PROCESS_DESC") + "【" + row.GetText("PROCESS_CODE_C") + "】";
  412. }
  413. else
  414. {
  415. strWhole_BackLogs[0] += "-" + row.Cells["PROCESS_CODE"].Value.ToString();
  416. strWhole_BackLogs[1] += "-" + row.GetValue("PROCESS_DESC") + "【" + row.GetText("PROCESS_CODE_C") + "】";
  417. }
  418. i++;
  419. }
  420. }
  421. return strWhole_BackLogs;
  422. }
  423. private static string QueryMaxMscProBkLog_seq(FrmProPSCMSC2 frm, string strMaxMscPline)
  424. {
  425. string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
  426. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  427. {
  428. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  429. }
  430. else
  431. {
  432. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
  433. }
  434. ArrayList list = new ArrayList();
  435. list.Add(msc);
  436. list.Add(strMaxMscPline);
  437. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMaxMscProBkLog_seq",
  438. new object[] { list }, frm.ob);
  439. if (dt != null)
  440. {
  441. return dt.Rows[0][0].ToString();
  442. }
  443. return "";
  444. }
  445. public static bool Delete(FrmProPSCMSC2 frm)
  446. {
  447. string msc = frm.UltraGrid4.ActiveRow.Cells["MSC"].Value.ToString();
  448. string mscPline = frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  449. //if (IsExistProcess(frm, msc, mscPline))
  450. //{
  451. // MessageUtil.ShowWarning("请先作废制程下面的工序,然后再进行操作!");
  452. // return false;
  453. //}
  454. //if (IsExistGrade(frm, msc, mscPline))
  455. //{
  456. // MessageUtil.ShowWarning("请先作废制程下面的钢种,然后再进行操作!");
  457. // return false;
  458. //}
  459. return DeleteOrResume(frm, "0");
  460. }
  461. public static bool Resume(FrmProPSCMSC2 frm)
  462. {
  463. return DeleteOrResume(frm, "1");
  464. }
  465. private static bool DeleteOrResume(FrmProPSCMSC2 frm, string validFlag)
  466. {
  467. string strAction = validFlag == "1" ? "Resume" : "Delete";
  468. if (CheckData(frm, strAction) == false) return false;
  469. if (MessageUtil.ShowYesNoAndQuestion("是否" + (validFlag == "1" ? "恢复" : "作废") + "所选择的记录?")
  470. == DialogResult.No)
  471. {
  472. return false;
  473. }
  474. ArrayList list = new ArrayList();
  475. list.Add(validFlag);
  476. list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC"].Value.ToString());
  477. list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
  478. list.Add(frm.UserInfo.GetUserName());
  479. try
  480. {
  481. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.deleteOrResumeMscBackLog",
  482. new object[] { list }, frm.ob);
  483. }
  484. catch
  485. {
  486. return false;
  487. }
  488. MessageUtil.ShowTips(validFlag == "1" ? "恢复" : "作废" + "成功!");
  489. return true;
  490. }
  491. private static bool IsExistProcess(FrmProPSCMSC2 frm, string msc, string mscPline)
  492. {
  493. ArrayList list = new ArrayList();
  494. list.AddRange(msc, mscPline);
  495. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistProcess",
  496. new object[] { list }, frm.ob);
  497. if (dt.Rows[0][0].ToString() != "0")
  498. {
  499. return true;
  500. }
  501. return false;
  502. }
  503. private static bool IsExistGrade(FrmProPSCMSC2 frm, string msc, string mscPline)
  504. {
  505. ArrayList list = new ArrayList();
  506. list.AddRange(msc, mscPline);
  507. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistGrade",
  508. new object[] { list }, frm.ob);
  509. if (dt.Rows[0][0].ToString() != "0")
  510. {
  511. return true;
  512. }
  513. return false;
  514. }
  515. private static DataTable GetMscTabByMsc(string msc, OpeBase ob)
  516. {
  517. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
  518. new object[] { msc }, ob);
  519. return dt;
  520. }
  521. private static bool CheckData(FrmProPSCMSC2 frm, string strAction)
  522. {
  523. UltraGridRow[] rows = GridHelper.GetRowsWithKey(frm.UltraGrid5,
  524. new string[] { "CHK" }, new string[] { "True" });
  525. if (frm.ControlMsc.GridMsc.ActiveRow == null)
  526. {
  527. MessageUtil.ShowWarning("选择一条冶金规范码后再进行操作!");
  528. frm.ultraTabControl1.Tabs["MSC"].Selected = true;
  529. return false;
  530. }
  531. else if (frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString() == "")
  532. {
  533. MessageUtil.ShowWarning("请先新增冶金规范码后再进行操作!");
  534. frm.ultraTabControl1.Tabs["MSC"].Selected = true;
  535. return false;
  536. }
  537. string msc = frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString();
  538. if (strAction == "Insert")
  539. {
  540. if (isExistBackLog(msc, "1", GetWhole_BackLog(frm)[1], frm) == true)
  541. {
  542. MessageUtil.ShowWarning("系统已存在相同的制程!");
  543. return false;
  544. }
  545. }
  546. if ((strAction == "Update" || strAction == "Delete" || strAction == "Resume") && frm.UltraGrid4.ActiveRow == null)
  547. {
  548. MessageUtil.ShowWarning("选择一条制程后再进行操作!");
  549. return false;
  550. }
  551. DataTable dtMsc = GetMscTabByMsc(msc, frm.ob);
  552. //if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != CoreUserInfo.UserInfo.GetDeptid()
  553. // && CoreUserInfo.UserInfo.GetUserID() != "admin" && frm._dicMscStation.Count > 0)
  554. //{
  555. // MessageUtil.ShowWarning("该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!");
  556. // return false;
  557. //}
  558. if (strAction == "Update")
  559. {
  560. if (isExistBackLog(msc, frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"),
  561. GetWhole_BackLog(frm)[1], frm) == true)
  562. {
  563. MessageUtil.ShowWarning("系统已存在相同的制程!");
  564. return false;
  565. }
  566. }
  567. //if (strAction == "Insert" || strAction == "Update")
  568. //{
  569. // string mscPline = frm.UltraGrid4.ActiveRow == null ? "" : frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE");
  570. // string backLogDesc = GetWhole_BackLog(frm)[1];
  571. // if(GetBackLogDescCnt(msc, backLogDesc, strAction,
  572. // "", frm.ob) > 0)
  573. // {
  574. // MessageUtil.ShowWarning("系统已存在该全程途径描述!");
  575. // return false;
  576. // }
  577. //}
  578. if (strAction == "Update")
  579. {
  580. DataTable comMscBackLog = QueryComMscBacklogByPk(frm.UltraGrid4.ActiveRow.GetValue("MSC"),
  581. frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"), frm);
  582. if (comMscBackLog.Rows[0]["VALIDFLAG"].ToString2() != "1")
  583. {
  584. MessageUtil.ShowWarning("只能修改录入状态的制程!");
  585. return false;
  586. }
  587. //if (GetDesignBomCnt(msc, frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"), frm.ob) > 0)
  588. //{
  589. // MessageUtil.ShowWarning("该制程已生成物料信息,不允许修改!");
  590. // return false;
  591. //}
  592. }
  593. if (strAction == "Delete" && frm.UltraGrid4.ActiveRow.GetValue("VALIDFLAG") != "1")
  594. {
  595. MessageUtil.ShowWarning("只能作废录入状态的制程!");
  596. return false;
  597. }
  598. if (strAction == "Update" || strAction == "Insert")
  599. {
  600. foreach (UltraGridRow row in rows)
  601. {
  602. if (row.Cells["MINUTE_PRODUCT"].Value.ToString() == "")
  603. {
  604. MessageUtil.ShowWarning("自炼生产时间不能为空!");
  605. row.Cells["MINUTE_PRODUCT"].Activate();
  606. return false;
  607. }
  608. else if (row.Cells["MINUTE_PRODUCT"].Value.ToString().TryParseDecimal() == false)
  609. {
  610. MessageUtil.ShowWarning("请输入合法的自炼生产时间!");
  611. row.Cells["MINUTE_PRODUCT"].Activate();
  612. return false;
  613. }
  614. if (row.Cells["MINUTE_WAITE"].Value.ToString() == "")
  615. {
  616. MessageUtil.ShowWarning("自炼等待时间不能为空!");
  617. row.Cells["MINUTE_WAITE"].Activate();
  618. return false;
  619. }
  620. else if (row.Cells["MINUTE_WAITE"].Value.ToString().TryParseDecimal() == false)
  621. {
  622. MessageUtil.ShowWarning("请输入合法的自炼等待时间!");
  623. row.Cells["MINUTE_WAITE"].Activate();
  624. return false;
  625. }
  626. if (row.Cells["BATCH_WAITE"].Value.ToString() == "")
  627. {
  628. MessageUtil.ShowWarning("自炼批量等待时间不能为空!");
  629. row.Cells["BATCH_WAITE"].Activate();
  630. return false;
  631. }
  632. else if (row.Cells["BATCH_WAITE"].Value.ToString().TryParseDecimal() == false)
  633. {
  634. MessageUtil.ShowWarning("请输入合法的自炼批量等待时间!");
  635. row.Cells["BATCH_WAITE"].Activate();
  636. return false;
  637. }
  638. if (row.Cells["MINUTE_PRODUCT_OUT"].Value.ToString() == "")
  639. {
  640. MessageUtil.ShowWarning("外购生产时间不能为空!");
  641. row.Cells["MINUTE_PRODUCT_OUT"].Activate();
  642. return false;
  643. }
  644. else if (row.Cells["MINUTE_PRODUCT_OUT"].Value.ToString().TryParseDecimal() == false)
  645. {
  646. MessageUtil.ShowWarning("请输入合法的外购生产时间!");
  647. row.Cells["MINUTE_PRODUCT_OUT"].Activate();
  648. return false;
  649. }
  650. if (row.Cells["MINUTE_WAITE_OUT"].Value.ToString() == "")
  651. {
  652. MessageUtil.ShowWarning("外购等待时间不能为空!");
  653. row.Cells["MINUTE_WAITE_OUT"].Activate();
  654. return false;
  655. }
  656. else if (row.Cells["MINUTE_WAITE_OUT"].Value.ToString().TryParseDecimal() == false)
  657. {
  658. MessageUtil.ShowWarning("请输入合法的外购等待时间!");
  659. row.Cells["MINUTE_WAITE_OUT"].Activate();
  660. return false;
  661. }
  662. if (row.Cells["BATCH_WAITE_OUT"].Value.ToString() == "")
  663. {
  664. MessageUtil.ShowWarning("外购批量等待时间不能为空!");
  665. row.Cells["BATCH_WAITE_OUT"].Activate();
  666. return false;
  667. }
  668. else if (row.Cells["BATCH_WAITE_OUT"].Value.ToString().TryParseDecimal() == false)
  669. {
  670. MessageUtil.ShowWarning("请输入合法的外购批量等待时间!");
  671. row.Cells["BATCH_WAITE_OUT"].Activate();
  672. return false;
  673. }
  674. if (row.Cells["COST"].Value.ToString() == "")
  675. {
  676. MessageUtil.ShowWarning("工序成本不能为空!");
  677. row.Cells["COST"].Activate();
  678. return false;
  679. }
  680. if (row.Cells["PROCESS_CODE_C"].Value.ToString() == "")
  681. {
  682. MessageUtil.ShowWarning("请选择二级工序!");
  683. row.Cells["PROCESS_CODE_C"].Activate();
  684. return false;
  685. }
  686. if (isExistStation(frm, row) == true)
  687. {
  688. if (row.GetValue("PROCESS_SEQ_OLD") != "" && row.GetValue("PROCESS_SEQ_OLD") != row.GetValue("ICOUNT"))
  689. {
  690. MessageUtil.ShowWarning("工序[" + row.GetValue("PROCESS_DESC") + "]的循环次数被修改,请重新选择该工序的工序点!");
  691. row.SetCellActive("BTN");
  692. return false;
  693. }
  694. if (row.GetValue("PROCESS_CODE_C_OLD") != row.GetValue("PROCESS_CODE_C"))
  695. {
  696. MessageUtil.ShowWarning("工序[" + row.GetValue("PROCESS_DESC") + "]的二级工序被修改,请重新选择该工序的工序点!");
  697. row.SetCellActive("BTN");
  698. return false;
  699. }
  700. }
  701. }
  702. //检查内控标准维护是否和工序点的类型一致。
  703. //string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
  704. //if (frm._dicMscStation.ContainsKey(processCode) == false)
  705. //{
  706. // if (CheckStationType2(row, frm, processCode) == false)
  707. // {
  708. // return false;
  709. // }
  710. //}
  711. //else
  712. //{
  713. // UltraGrid ultraGridSta = frm._dicMscStation[processCode];
  714. // if (CheckStationType(row, ultraGridSta) == false)
  715. // {
  716. // return false;
  717. // }
  718. //}
  719. }
  720. return true;
  721. }
  722. private static int GetBackLogDescCnt(string msc, string backLogDesc, string strAction, string mscPline, OpeBase ob)
  723. {
  724. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getBackLogDescCnt",
  725. new object[] { backLogDesc, msc, strAction, mscPline }, ob);
  726. return int.Parse(dt.Rows[0][0].ToString());
  727. }
  728. private static int GetDesignBomCnt(string msc, string mscPline, OpeBase ob)
  729. {
  730. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getDesignBomCnt",
  731. new object[] { msc, mscPline }, ob);
  732. return int.Parse(dt.Rows[0][0].ToString());
  733. }
  734. private static bool isExistStation(FrmProPSCMSC2 frm, UltraGridRow row)
  735. {
  736. DataTable dt = null;
  737. ArrayList list = new ArrayList();
  738. list.Add(row.Cells["PROCESS_CODE"].Value.ToString());
  739. list.Add(row.GetValue("PROCESS_CODE_C"));
  740. try
  741. {
  742. dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryBaseStation",
  743. new object[] { list }, frm.ob);
  744. }
  745. catch
  746. {
  747. return false;
  748. }
  749. if (dt.Rows.Count > 0)
  750. {
  751. return true;
  752. }
  753. return false;
  754. }
  755. private static bool CheckStationType(UltraGridRow row, UltraGrid ultraGridSta)
  756. {
  757. string[] strCic = row.Cells["CIC"].Value.ToString().Split(',');
  758. string[] strPic = row.Cells["PIC"].Value.ToString().Split(',');
  759. string[] strSic = row.Cells["SIC"].Value.ToString().Split(',');
  760. string[] strDic = row.Cells["DIC"].Value.ToString().Split(',');
  761. string[] strWic = row.Cells["WIC"].Value.ToString().Split(',');
  762. if (IsSelectStandPay(ultraGridSta, "403201", "成分标准", strCic) == false)
  763. {
  764. row.Cells["BTN2"].Activate();
  765. return false;
  766. }
  767. else if (IsSelectStandPay(ultraGridSta, "403202", "理化标准", strPic) == false)
  768. {
  769. row.Cells["BTN2"].Activate();
  770. return false;
  771. }
  772. else if (IsSelectStandPay(ultraGridSta, "403203", "公差标准", strSic) == false)
  773. {
  774. row.Cells["BTN2"].Activate();
  775. return false;
  776. }
  777. else if (IsSelectStandPay(ultraGridSta, "403204", "探伤标准", strDic) == false)
  778. {
  779. row.Cells["BTN2"].Activate();
  780. return false;
  781. }
  782. else if (IsSelectStandPay(ultraGridSta, "403205", "水压标准", strWic) == false)
  783. {
  784. row.Cells["BTN2"].Activate();
  785. return false;
  786. }
  787. return true;
  788. }
  789. private static bool IsSelectStandPay(UltraGrid ultraGridSta, string typeCode, string typeName, string[] strIc)
  790. {
  791. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGridSta,
  792. new string[] { "UCCHOOSE", "STATION_TYPE_CODE" }, new string[] { "True", typeCode });
  793. if (rows.Length == 0)
  794. {
  795. if (strIc[0] != "" && strIc.Length > 0)
  796. {
  797. MessageUtil.ShowWarning(string.Format("由于所选择的工序点类型中,不包含{0}标准,所以不能选择{0}内控标准!", typeName));
  798. return false;
  799. }
  800. }
  801. else
  802. {
  803. if (strIc[0] == "")
  804. {
  805. MessageUtil.ShowWarning(string.Format("请选择一条{0}内控标准!", typeName));
  806. return false;
  807. }
  808. }
  809. return true;
  810. }
  811. private static bool CheckStationType2(UltraGridRow row, FrmProPSCMSC2 frm, string processCode)
  812. {
  813. string[] strCic = row.Cells["CIC"].Value.ToString().Split(',');
  814. string[] strPic = row.Cells["PIC"].Value.ToString().Split(',');
  815. string[] strSic = row.Cells["SIC"].Value.ToString().Split(',');
  816. string[] strDic = row.Cells["DIC"].Value.ToString().Split(',');
  817. string[] strWic = row.Cells["WIC"].Value.ToString().Split(',');
  818. if (IsSelectStandPay(frm, "403201", "成分标准", strCic, processCode) == false)
  819. {
  820. row.Cells["BTN2"].Activate();
  821. return false;
  822. }
  823. else if (IsSelectStandPay(frm, "403202", "理化标准", strPic, processCode) == false)
  824. {
  825. row.Cells["BTN2"].Activate();
  826. return false;
  827. }
  828. else if (IsSelectStandPay(frm, "403203", "公差标准", strSic, processCode) == false)
  829. {
  830. row.Cells["BTN2"].Activate();
  831. return false;
  832. }
  833. else if (IsSelectStandPay(frm, "403204", "探伤标准", strDic, processCode) == false)
  834. {
  835. row.Cells["BTN2"].Activate();
  836. return false;
  837. }
  838. else if (IsSelectStandPay(frm, "403205", "水压标准", strWic, processCode) == false)
  839. {
  840. row.Cells["BTN2"].Activate();
  841. return false;
  842. }
  843. return true;
  844. }
  845. private static bool IsSelectStandPay(FrmProPSCMSC2 frm, string typeCode, string typeName, string[] strIc, string processCode)
  846. {
  847. string msc = "";
  848. if (frm.UltraGrid4.ActiveRow == null) return true;
  849. if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
  850. {
  851. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
  852. }
  853. else
  854. {
  855. msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
  856. }
  857. ArrayList list = new ArrayList();
  858. list.Add(msc);
  859. list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
  860. list.Add(typeCode);
  861. list.Add(processCode);
  862. list.Add(typeCode);
  863. list.Add(processCode);
  864. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.querySttnTypeCnt", new object[] { list }, frm.ob);
  865. if (dt.Rows[0][0].ToString() == "0")
  866. {
  867. if (strIc[0] != "" && strIc.Length > 0)
  868. {
  869. MessageUtil.ShowWarning(string.Format("由于所选择的工序点类型中,不包含{0}标准,所以不能选择{0}内控标准!", typeName));
  870. return false;
  871. }
  872. }
  873. else
  874. {
  875. if (strIc[0] == "")
  876. {
  877. MessageUtil.ShowWarning(string.Format("请选择一条{0}内控标准!", typeName));
  878. return false;
  879. }
  880. }
  881. return true;
  882. }
  883. public static bool CopyBackLog(string msc, FrmProPSCMSC2 frm, string copyMsc, string mscPline)
  884. {
  885. if (frm.ControlMsc.GridMsc.ActiveRow == null)
  886. {
  887. MessageUtil.ShowWarning("选择一条冶金规范码后再进行操作!");
  888. frm.ultraTabControl1.Tabs["MSC"].Selected = true;
  889. return false;
  890. }
  891. else if (frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString() == "")
  892. {
  893. MessageUtil.ShowWarning("请先新增冶金规范码后再进行操作!");
  894. frm.ultraTabControl1.Tabs["MSC"].Selected = true;
  895. return false;
  896. }
  897. if (String.IsNullOrEmpty(mscPline) && ExistBackLog(msc, frm) == true)
  898. {
  899. MessageUtil.ShowWarning("该MSC下存在制程,不能使用复制功能!");
  900. return false;
  901. }
  902. else if(!String.IsNullOrEmpty(mscPline)){
  903. DataTable comMscBackLog = QueryComMscBacklogByPk(msc, mscPline, frm);
  904. if (comMscBackLog.Rows.Count > 0)
  905. {
  906. MessageUtil.ShowWarning("该MSC下 " + mscPline + " 存在制程,不能使用复制功能!");
  907. return false;
  908. }
  909. }
  910. if (MessageUtil.ShowYesNoAndQuestion("是否复制" + copyMsc + "下 " + mscPline + "制程?") == DialogResult.No)
  911. {
  912. return false;
  913. }
  914. ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.CopyBackLog",
  915. new object[] { msc, CoreUserInfo.UserInfo.GetUserName(), copyMsc.ToString2(), mscPline.ToString2() }, frm.ob);
  916. MessageUtil.ShowTips("复制成功!\r\n复制的数据为无效状态,请核实后再进行恢复操作!");
  917. Query(frm);
  918. return true;
  919. }
  920. private static bool ExistBackLog(string msc, FrmProPSCMSC2 frm)
  921. {
  922. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryExistBackLog",
  923. new object[] { msc }, frm.ob);
  924. if (dt.Rows.Count > 0)
  925. {
  926. return true;
  927. }
  928. else
  929. {
  930. return false;
  931. }
  932. }
  933. private static DataTable QueryComMscBacklogByPk(string msc, string mscPline, FrmProPSCMSC2 frm)
  934. {
  935. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryComMscBacklogByPk",
  936. new object[] { msc, mscPline }, frm.ob);
  937. return dt;
  938. }
  939. /// <summary>
  940. /// 通过主键查询二级工序
  941. /// </summary>
  942. /// <param name="processCodeC"></param>
  943. /// <param name="frm"></param>
  944. /// <returns></returns>
  945. public static DataTable QueryComBaseProcessCByPk(string processCodeC, FrmProPSCMSC2 frm)
  946. {
  947. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryComBaseProcessCByPk",
  948. new object[] { processCodeC }, frm.ob);
  949. return dt;
  950. }
  951. /// <summary>
  952. /// 是否存在全程途径码
  953. /// </summary>
  954. /// <param name="msc"></param>
  955. /// <param name="mscPline"></param>
  956. /// <param name="frm"></param>
  957. /// <returns></returns>
  958. public static bool isExistBackLog(string msc, string mscPline, string wholeBacklogDesc, FrmProPSCMSC2 frm)
  959. {
  960. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistsBackLog",
  961. new object[] { msc, mscPline, wholeBacklogDesc }, frm.ob);
  962. if (dt.Rows[0][0].ToString() == "0")
  963. {
  964. return false;
  965. }
  966. else
  967. {
  968. return true;
  969. }
  970. }
  971. }
  972. }