using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; namespace Core.StlMes.Client.Qcm { public partial class frmStationSelect : FrmBase { UltraGrid proCes = new UltraGrid();//全工序 UltraGrid baCk = new UltraGrid(); //MSC string strOperator = ""; OpeBase ob = new OpeBase(); public frmStationSelect() { InitializeComponent(); } public frmStationSelect(UltraGrid ultraGridProCes, UltraGrid ultraGridBack, OpeBase obs, string name) { strOperator = name; proCes = ultraGridProCes; baCk = ultraGridBack; ob = obs; InitializeComponent(); string msc = ""; string msc_pline = ""; string proName = ""; foreach (UltraGridRow ugrs in ultraGridBack.Rows) { if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { msc = ugrs.Cells["MSC"].Value.ToString(); msc_pline = ugrs.Cells["MSC_PLINE"].Value.ToString(); break; } } this.uldtsProce.Tables[0].Clear(); foreach (UltraGridRow ugrs in ultraGridProCes.Rows) { if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { proName += "'" + ugrs.Cells["PROCESS_CODE"].Value.ToString() + "',"; } } if (string.IsNullOrEmpty(proName)) { return; } proName = proName.Substring(0, proName.Length - 1); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName, "'" + msc + "'", "'" + msc_pline + "'" }, ob); foreach (DataRow dr in dt.Rows) { DataRow _dr = uldtsProce.Tables[0].NewRow(); foreach (DataColumn dc in uldtsProce.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsProce.Tables[0].Rows.Add(_dr); } ultraGridSta.UpdateData(); Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGridSta.Rows.Count; i++) { row = ultraGridSta.Rows[i]; if (!string.IsNullOrEmpty(row.Cells["MSC"].Value.ToString())) { row.Cells["UCCHOOSE"].Value = true; } if (row.Cells["CHOOSE"].Value.ToString().ToLower() == "1") { row.Cells["CHOOSE"].Value = true; } else { row.Cells["CHOOSE"].Value = false; } if (row.Cells["RETURN_RESULT"].Value.ToString().ToLower() == "1") { row.Cells["RETURN_RESULT"].Value = true; } else { row.Cells["RETURN_RESULT"].Value = false; } if (row.Cells["SEND_CHECKPLAN"].Value.ToString().ToLower() == "1") { row.Cells["SEND_CHECKPLAN"].Value = true; } else { row.Cells["SEND_CHECKPLAN"].Value = false; } } } private void butQue_Click(object sender, EventArgs e) { bool ose = false; string wholeCode = "";//工序代码 string wholeDesc = "";//工序名称 string msc = ""; string msc_pline = ""; string choose = ""; string return_result = ""; string send_checkplan = ""; //判断工序点是否勾选数据 foreach (UltraGridRow ugrs in ultraGridSta.Rows) { ultraGridSta.UpdateData(); if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { ose = true; break; } } if (ose) { #region 循环MSC勾选的项 foreach (UltraGridRow ugrs in baCk.Rows) { baCk.UpdateData(); if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { msc = ugrs.Cells["MSC"].Value.ToString(); msc_pline = ugrs.Cells["MSC_PLINE"].Value.ToString(); ArrayList parmProcess = new ArrayList(); parmProcess.Add(msc); parmProcess.Add(msc_pline); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "DELETE_MSC_PROCESS"; ccp.ServerParams = new object[] { parmProcess }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "DELETE_MSC_STATION"; ccp.ServerParams = new object[] { parmProcess }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //循环工序基础表 foreach (UltraGridRow ugrsCes in proCes.Rows) { if (ugrsCes.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { wholeCode += ugrsCes.Cells["PROCESS_CODE"].Value.ToString() + "-"; wholeDesc += ugrsCes.Cells["PROCESS_DESC"].Value.ToString() + "-"; ArrayList parmCost = new ArrayList(); parmCost.Add(ugrsCes.Cells["Cost"].Value.ToString()); parmCost.Add(ugrsCes.Cells["PROCESS_CODE"].Value.ToString()); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "UPDATECOM_BASE_PROCESSCOST"; ccp.ServerParams = new object[] { parmCost }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //DataTable proSave = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_PRO_SAVEROW", new Object[] { msc, msc_pline, wholeCode }, ob); //if (proSave.Rows.Count > 0) //{ // continue; //} DataTable isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_PRO_SEQ", new Object[] { msc, msc_pline }, ob); ArrayList parm = new ArrayList(); parm.Add(msc); parm.Add(msc_pline); parm.Add(isx.Rows[0][0]); parm.Add(strOperator); parm.Add(ugrsCes.Cells["PROCESS_CODE"].Value.ToString()); parm.Add(ugrsCes.Cells["PROCESS_DESC"].Value.ToString()); parm.Add(ugrsCes.Cells["MINUTE_PRODUCT"].Value.ToString() == "" ? "0" : ugrsCes.Cells["MINUTE_PRODUCT"].Value.ToString()); parm.Add(ugrsCes.Cells["MINUTE_WAITE"].Value.ToString() == "" ? "0" : ugrsCes.Cells["MINUTE_WAITE"].Value.ToString()); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_PRO"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning("工序基础表新增失败."); return; } } } #endregion #region 循环全程工序点表STATION foreach (UltraGridRow ugrsGrid in this.ultraGridSta.Rows) { ultraGridSta.UpdateData(); if (ugrsGrid.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") {/* msc, msc_pline, backlog_seq, whole_backlog, process_desc, station_code, station_desc, station_type, station_id, COST, choose, return_result, send_checkplan, create_name */ if (ugrsGrid.Cells["CHOOSE"].Value.ToString().ToLower() == "true") { choose = "1"; } else { choose = "0"; } if (ugrsGrid.Cells["RETURN_RESULT"].Value.ToString().ToLower() == "true") { return_result = "1"; } else { return_result = "0"; } if (ugrsGrid.Cells["SEND_CHECKPLAN"].Value.ToString().ToLower() == "true") { send_checkplan = "1"; } else { send_checkplan = "0"; } //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); //如果选择,查询表是否存在,存在返回,不存在新增。 //if (Convert.ToInt32(ygh.Rows[0][0]) > 0) //{ // continue; //} DataTable isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECTCOM_MSC_STA", new Object[] { msc, msc_pline }, ob); ArrayList parm = new ArrayList(); parm.Add(msc); parm.Add(msc_pline); parm.Add(isx.Rows[0][0]); parm.Add(ugrsGrid.Cells["PROCESS_CODE"].Value.ToString()); parm.Add(ugrsGrid.Cells["PROCESS_DESC"].Value.ToString()); parm.Add(ugrsGrid.Cells["STATION_CODE"].Value.ToString()); parm.Add(ugrsGrid.Cells["STATION_DESC"].Value.ToString()); parm.Add(ugrsGrid.Cells["STATION_TYPE"].Value.ToString()); parm.Add(ugrsGrid.Cells["STATION_ID"].Value.ToString()); parm.Add(ugrsGrid.Cells["COST"].Value.ToString()); parm.Add(choose); parm.Add(return_result); parm.Add(send_checkplan); parm.Add(strOperator); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_STA"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning("新增全程工序点表失败!"); return; } } } #endregion } } ArrayList parms = new ArrayList(); parms.Add(wholeCode.Substring(0, wholeCode.Length - 1)); parms.Add(wholeDesc.Substring(0, wholeDesc.Length - 1)); parms.Add(msc); parms.Add(msc_pline); CoreClientParam ccps = new CoreClientParam(); ccps.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccps.MethodName = "getLineListUPDATECOM_MSC_BACKLOG"; ccps.ServerParams = new object[] { parms }; ccps = ob.ExecuteNonQuery(ccps, CoreInvokeType.Internal); if (ccps.ReturnCode == -1) { return; } else { MessageUtil.ShowTips("添加成功!"); this.Close(); } } else { MessageUtil.ShowWarning("请勾选工序点数据!"); return; } } private void butEsc_Click(object sender, EventArgs e) { this.Close(); } } }