frmStationSelect.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. using Core.Mes.Client.Comm.Server;
  2. using Core.Mes.Client.Comm.Tool;
  3. using CoreFS.CA06;
  4. using Infragistics.Win.UltraWinGrid;
  5. using System;
  6. using System.Collections;
  7. using System.Data;
  8. namespace Core.StlMes.Client.Qcm
  9. {
  10. public partial class frmStationSelect : FrmBase
  11. {
  12. UltraGrid proCes = new UltraGrid();//全工序
  13. UltraGrid baCk = new UltraGrid(); //MSC
  14. string strOperator = "";
  15. OpeBase ob = new OpeBase();
  16. public frmStationSelect()
  17. {
  18. InitializeComponent();
  19. }
  20. public frmStationSelect(UltraGrid ultraGridProCes, UltraGrid ultraGridBack, OpeBase obs, string name)
  21. {
  22. strOperator = name;
  23. proCes = ultraGridProCes;
  24. baCk = ultraGridBack;
  25. ob = obs;
  26. InitializeComponent();
  27. string msc = "";
  28. string msc_pline = "";
  29. string proName = "";
  30. foreach (UltraGridRow ugrs in ultraGridBack.Rows)
  31. {
  32. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  33. {
  34. msc = ugrs.Cells["MSC"].Value.ToString();
  35. msc_pline = ugrs.Cells["MSC_PLINE"].Value.ToString();
  36. break;
  37. }
  38. }
  39. this.uldtsProce.Tables[0].Clear();
  40. foreach (UltraGridRow ugrs in ultraGridProCes.Rows)
  41. {
  42. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  43. {
  44. proName += "'" + ugrs.Cells["PROCESS_CODE"].Value.ToString() + "',";
  45. }
  46. }
  47. if (string.IsNullOrEmpty(proName))
  48. {
  49. return;
  50. }
  51. proName = proName.Substring(0, proName.Length - 1);
  52. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName, "'" + msc + "'", "'" + msc_pline + "'" }, ob);
  53. foreach (DataRow dr in dt.Rows)
  54. {
  55. DataRow _dr = uldtsProce.Tables[0].NewRow();
  56. foreach (DataColumn dc in uldtsProce.Tables[0].Columns)
  57. {
  58. _dr[dc.ColumnName] = dr[dc.ColumnName];
  59. }
  60. uldtsProce.Tables[0].Rows.Add(_dr);
  61. }
  62. ultraGridSta.UpdateData();
  63. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  64. for (int i = 0; i < ultraGridSta.Rows.Count; i++)
  65. {
  66. row = ultraGridSta.Rows[i];
  67. if (!string.IsNullOrEmpty(row.Cells["MSC"].Value.ToString()))
  68. {
  69. row.Cells["UCCHOOSE"].Value = true;
  70. }
  71. if (row.Cells["CHOOSE"].Value.ToString().ToLower() == "1")
  72. {
  73. row.Cells["CHOOSE"].Value = true;
  74. }
  75. else
  76. {
  77. row.Cells["CHOOSE"].Value = false;
  78. }
  79. if (row.Cells["RETURN_RESULT"].Value.ToString().ToLower() == "1")
  80. {
  81. row.Cells["RETURN_RESULT"].Value = true;
  82. }
  83. else
  84. {
  85. row.Cells["RETURN_RESULT"].Value = false;
  86. }
  87. if (row.Cells["SEND_CHECKPLAN"].Value.ToString().ToLower() == "1")
  88. {
  89. row.Cells["SEND_CHECKPLAN"].Value = true;
  90. }
  91. else
  92. {
  93. row.Cells["SEND_CHECKPLAN"].Value = false;
  94. }
  95. }
  96. }
  97. private void butQue_Click(object sender, EventArgs e)
  98. {
  99. bool ose = false;
  100. string wholeCode = "";//工序代码
  101. string wholeDesc = "";//工序名称
  102. string msc = "";
  103. string msc_pline = "";
  104. string choose = "";
  105. string return_result = "";
  106. string send_checkplan = "";
  107. //判断工序点是否勾选数据
  108. foreach (UltraGridRow ugrs in ultraGridSta.Rows)
  109. {
  110. ultraGridSta.UpdateData();
  111. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  112. {
  113. ose = true;
  114. break;
  115. }
  116. }
  117. if (ose)
  118. {
  119. #region 循环MSC勾选的项
  120. foreach (UltraGridRow ugrs in baCk.Rows)
  121. {
  122. baCk.UpdateData();
  123. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  124. {
  125. msc = ugrs.Cells["MSC"].Value.ToString();
  126. msc_pline = ugrs.Cells["MSC_PLINE"].Value.ToString();
  127. ArrayList parmProcess = new ArrayList();
  128. parmProcess.Add(msc);
  129. parmProcess.Add(msc_pline);
  130. CoreClientParam ccp = new CoreClientParam();
  131. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  132. ccp.MethodName = "DELETE_MSC_PROCESS";
  133. ccp.ServerParams = new object[] { parmProcess };
  134. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  135. ccp = new CoreClientParam();
  136. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  137. ccp.MethodName = "DELETE_MSC_STATION";
  138. ccp.ServerParams = new object[] { parmProcess };
  139. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  140. //循环工序基础表
  141. foreach (UltraGridRow ugrsCes in proCes.Rows)
  142. {
  143. if (ugrsCes.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  144. {
  145. wholeCode += ugrsCes.Cells["PROCESS_CODE"].Value.ToString() + "-";
  146. wholeDesc += ugrsCes.Cells["PROCESS_DESC"].Value.ToString() + "-";
  147. ArrayList parmCost = new ArrayList();
  148. parmCost.Add(ugrsCes.Cells["Cost"].Value.ToString());
  149. parmCost.Add(ugrsCes.Cells["PROCESS_CODE"].Value.ToString());
  150. ccp = new CoreClientParam();
  151. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  152. ccp.MethodName = "UPDATECOM_BASE_PROCESSCOST";
  153. ccp.ServerParams = new object[] { parmCost };
  154. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  155. //DataTable proSave = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_PRO_SAVEROW", new Object[] { msc, msc_pline, wholeCode }, ob);
  156. //if (proSave.Rows.Count > 0)
  157. //{
  158. // continue;
  159. //}
  160. DataTable isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_PRO_SEQ", new Object[] { msc, msc_pline }, ob);
  161. ArrayList parm = new ArrayList();
  162. parm.Add(msc);
  163. parm.Add(msc_pline);
  164. parm.Add(isx.Rows[0][0]);
  165. parm.Add(strOperator);
  166. parm.Add(ugrsCes.Cells["PROCESS_CODE"].Value.ToString());
  167. parm.Add(ugrsCes.Cells["PROCESS_DESC"].Value.ToString());
  168. parm.Add(ugrsCes.Cells["MINUTE_PRODUCT"].Value.ToString() == "" ? "0" : ugrsCes.Cells["MINUTE_PRODUCT"].Value.ToString());
  169. parm.Add(ugrsCes.Cells["MINUTE_WAITE"].Value.ToString() == "" ? "0" : ugrsCes.Cells["MINUTE_WAITE"].Value.ToString());
  170. ccp = new CoreClientParam();
  171. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  172. ccp.MethodName = "getLineListINSERTCOM_MSC_PRO";
  173. ccp.ServerParams = new object[] { parm };
  174. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  175. if (ccp.ReturnCode == -1)
  176. {
  177. MessageUtil.ShowWarning("工序基础表新增失败.");
  178. return;
  179. }
  180. }
  181. }
  182. #endregion
  183. #region 循环全程工序点表STATION
  184. foreach (UltraGridRow ugrsGrid in this.ultraGridSta.Rows)
  185. {
  186. ultraGridSta.UpdateData();
  187. if (ugrsGrid.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  188. {/*
  189. msc, msc_pline, backlog_seq, whole_backlog,
  190. process_desc, station_code, station_desc, station_type,
  191. station_id, COST, choose, return_result, send_checkplan,
  192. create_name
  193. */
  194. if (ugrsGrid.Cells["CHOOSE"].Value.ToString().ToLower() == "true")
  195. {
  196. choose = "1";
  197. }
  198. else
  199. {
  200. choose = "0";
  201. }
  202. if (ugrsGrid.Cells["RETURN_RESULT"].Value.ToString().ToLower() == "true")
  203. {
  204. return_result = "1";
  205. }
  206. else
  207. {
  208. return_result = "0";
  209. }
  210. if (ugrsGrid.Cells["SEND_CHECKPLAN"].Value.ToString().ToLower() == "true")
  211. {
  212. send_checkplan = "1";
  213. }
  214. else
  215. {
  216. send_checkplan = "0";
  217. }
  218. //DataTable ygh = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_STA_SAVEROW", new Object[] { msc, msc_pline, ugrsGrid.Cells["PROCESS_CODE"].Value.ToString(), ugrsGrid.Cells["STATION_CODE"].Value.ToString(), ugrsGrid.Cells["STATION_TYPE"].Value.ToString() }, ob);
  219. //如果选择,查询表是否存在,存在返回,不存在新增。
  220. //if (Convert.ToInt32(ygh.Rows[0][0]) > 0)
  221. //{
  222. // continue;
  223. //}
  224. DataTable isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_STA", new Object[] { msc, msc_pline }, ob);
  225. ArrayList parm = new ArrayList();
  226. parm.Add(msc);
  227. parm.Add(msc_pline);
  228. parm.Add(isx.Rows[0][0]);
  229. parm.Add(ugrsGrid.Cells["PROCESS_CODE"].Value.ToString());
  230. parm.Add(ugrsGrid.Cells["PROCESS_DESC"].Value.ToString());
  231. parm.Add(ugrsGrid.Cells["STATION_CODE"].Value.ToString());
  232. parm.Add(ugrsGrid.Cells["STATION_DESC"].Value.ToString());
  233. parm.Add(ugrsGrid.Cells["STATION_TYPE"].Value.ToString());
  234. parm.Add(ugrsGrid.Cells["STATION_ID"].Value.ToString());
  235. parm.Add(ugrsGrid.Cells["COST"].Value.ToString());
  236. parm.Add(choose);
  237. parm.Add(return_result);
  238. parm.Add(send_checkplan);
  239. parm.Add(strOperator);
  240. ccp = new CoreClientParam();
  241. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  242. ccp.MethodName = "getLineListINSERTCOM_MSC_STA";
  243. ccp.ServerParams = new object[] { parm };
  244. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  245. if (ccp.ReturnCode == -1)
  246. {
  247. MessageUtil.ShowWarning("新增全程工序点表失败!");
  248. return;
  249. }
  250. }
  251. }
  252. #endregion
  253. }
  254. }
  255. ArrayList parms = new ArrayList();
  256. parms.Add(wholeCode.Substring(0, wholeCode.Length - 1));
  257. parms.Add(wholeDesc.Substring(0, wholeDesc.Length - 1));
  258. parms.Add(msc);
  259. parms.Add(msc_pline);
  260. CoreClientParam ccps = new CoreClientParam();
  261. ccps.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  262. ccps.MethodName = "getLineListUPDATECOM_MSC_BACKLOG";
  263. ccps.ServerParams = new object[] { parms };
  264. ccps = ob.ExecuteNonQuery(ccps, CoreInvokeType.Internal);
  265. if (ccps.ReturnCode == -1)
  266. {
  267. return;
  268. }
  269. else
  270. {
  271. MessageUtil.ShowTips("添加成功!");
  272. this.Close();
  273. }
  274. }
  275. else
  276. {
  277. MessageUtil.ShowWarning("请勾选工序点数据!");
  278. return;
  279. }
  280. }
  281. private void butEsc_Click(object sender, EventArgs e)
  282. {
  283. this.Close();
  284. }
  285. }
  286. }