using Core.Mes.Client.Comm.Control; 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; using System.Drawing; using System.Text.RegularExpressions; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class FrmProPSCMSC : FrmBase { string pscName = ""; //MSC名称 string pscmscName = "";//PSC string mscNmae = "";//MSC string strShift = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserOrder(); string strTerm = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserGroup(); string strOperator = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); string STD_CODE, STD_NAME, PRODUCCODE, PRODUCNAME, STEELCODE, STEELNAME, STD_STYLE, STD_STYLE_DESC, NEW_PROC_CODE, NEW_PROC_DESC = " "; string pscNameDesc = ""; string proMsc = "";//全程工序MSC string pline = "";//产线号 int iSelectRow = -1; //判定全程途径是否单选 string whole_backlog = "";//工序 string whole_backlog_desc = "";//工序名称 //用于展开操作项 ArrayList listExpanl = new ArrayList(); string falsTra = "false"; TreeNode tNode = new TreeNode(); TreeNode tNodes = new TreeNode(); public FrmProPSCMSC() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { falsTra = "false"; switch (ToolbarKey) { case "Query": this.doQuery(); break; case "Add": this.DoAdd(); if (falsTra.Equals("true")) { MessageUtil.ShowTips("操作成功!"); } else if (falsTra.Equals("triwFalse")) { MessageUtil.ShowWarning("请单击选择树菜单品名-->冶金规范码!"); return; } else if (falsTra.Equals("com_msc")) { MessageUtil.ShowError(" 插入com_msc失败,可能数据错误,请联系计算机中心维护人员处理."); return; } else if (falsTra.Equals("pscrmsc")) { MessageUtil.ShowError("插入品名和冶金规范码关系表失败(com_psc_r_msc)失败,可能数据错误,请联系计算机中心维护人员处理."); return; } else if (falsTra.Equals("cicpic")) { MessageUtil.ShowError("冶金规范码项目已存在!"); return; } else if (falsTra.Equals("backLog")) { MessageUtil.ShowWarning("该产线号已存在!,不能重复添加。"); return; } else { MessageUtil.ShowWarning("未选中任何数据,操作失败!"); return; } doQuery(); uldtsMscGetData(); DataTable dtx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob); uldtsMscGetDataBACLOG(dtx); break; case "Update"://作废 if (boolMsc()) { if (MessageBox.Show("是否确认无效?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdate("申请作废"); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "UpdateCs"://审核 if (boolMsc()) { if (MessageBox.Show("是否确认审核通过?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdate("审核"); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "UpdateBs"://提交审核 if (boolMsc()) { if (MessageBox.Show("是否确认提交审核?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdate("提交审核"); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "UpdateEs"://申请修改 if (boolMsc()) { if (MessageBox.Show("是否确认申请修改?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdate("申请修改"); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "UpdateMsc"://更新MSC if (boolMsc()) { if (MessageBox.Show("是否确认更新?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdateMsc(); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "Resume": //恢复 if (boolMsc()) { if (MessageBox.Show("是否确认恢复?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { this.DoUpdate("申请恢复"); } } else { MessageUtil.ShowWarning("请选择一条冶金规范码数据!"); } break; case "Close": this.Close(); break; } } /** *验证是否选择冶金规范码 **/ public bool boolMsc() { foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows) { if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { return true; } } return false; } /** *除了更新,查询按钮都调用该方法。 **/ public void DoUpdate(string flagName) { string flagbug = ""; int selectid = 0; foreach (UltraGridRow ugr in this.ultraGridMSC.Rows) { if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true") { string msc = ugr.Cells["MSC"].Value.ToString().Trim(); string valflag = flagName; string flag = ""; DataTable dataFlg = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYCOM_MSC_PSCRMSC", new Object[] { msc }, this.ob); if (dataFlg.Rows.Count <= 0) { MessageUtil.ShowWarning(pscName + " 冶金规范码不存在."); continue; } string valName = dataFlg.Rows[0][0].ToString(); if (string.IsNullOrEmpty(valName)) { flagbug += "冶金规范码:" + msc + " 有效标记不能为空; "; continue; } if (flagName.Equals("申请修改") && valName.Equals("申请修改")) { MessageUtil.ShowWarning("不能重复申请修改。"); continue; } if (flagName.Equals("提交审核") && valName.Equals("提交审核")) { MessageUtil.ShowWarning("不能重复提交审核。"); continue; } if (flagName.Equals("审核") && valName.Equals("审核")) { MessageUtil.ShowWarning("不能重复审核。"); continue; } if (flagName.Equals("申请作废") && valName.Equals("申请作废")) { MessageUtil.ShowWarning("不能重复申请作废。"); continue; } if (flagName.Equals("申请恢复") && valName.Equals("申请恢复")) { MessageUtil.ShowWarning("不能重复申请恢复。"); continue; } if (flagName.Equals("申请恢复") && valName.Equals("录入状态")) { MessageUtil.ShowWarning("申请恢复失败,已经是录入状态,请提交审核。"); continue; } if (flagName.Equals("申请修改") && !valName.Equals("作废")) { valflag = "申请修改"; } else if (flagName.Equals("申请修改") && valName.Equals("作废")) { MessageUtil.ShowWarning("作废状态不能申请修改,请先恢复在修改。"); continue; } if (flagName.Equals("申请修改") && !valName.Equals("提交审核")) { valflag = "申请修改"; } else if (flagName.Equals("申请修改") && valName.Equals("提交审核")) { MessageUtil.ShowWarning("提交审核状态不能申请修改,请先审核完成在修改。"); continue; } if (flagName.Equals("申请作废") && !valName.Equals("作废")) { valflag = "申请作废"; } else if (flagName.Equals("申请作废") && valName.Equals("作废")) { MessageUtil.ShowWarning("已经作废,不可重复!"); continue; } if (flagName.Equals("审核") && valName.Equals("无效")) { MessageUtil.ShowWarning("已经作废,请恢复数据,进行下一步操作。"); continue; } if (flagName.Equals("申请修改") && valName.Equals("无效")) { MessageUtil.ShowWarning("已经作废,请恢复数据,进行下一步操作。"); continue; } if (flagName.Equals("申请恢复") && valName.Equals("已生效")) { MessageUtil.ShowWarning("已经生效的冶金规范码,操作无效!"); continue; } if (flagName.Equals("审核") && valName.Equals("已生效")) { MessageUtil.ShowWarning("已经审核的冶金规范码,操作无效!"); continue; } if (flagName.Equals("提交审核") && valName.Equals("已生效")) { MessageUtil.ShowWarning("已经审核的冶金规范码,提交审核操作无效!"); continue; } if (flagName.Equals("审核") && valName.Equals("申请修改")) { valflag = "录入状态"; } if (flagName.Equals("审核") && valName.Equals("申请作废")) { valflag = "无效"; } if (flagName.Equals("审核") && valName.Equals("申请恢复")) { valflag = "录入状态"; } if (flagName.Equals("审核") && valName.Equals("提交审核")) { valflag = "已生效"; } if (flagName.Equals("审核") && valName.Equals("提交审核")) { valflag = "已生效"; } if (flagName.Equals("提交审核") && valName.Equals("录入状态")) { valflag = "提交审核"; } if (flagName.Equals("提交审核") && !valName.Equals("录入状态")) { MessageUtil.ShowWarning("MSC码:" + msc + ",必须是录入状态!"); continue; } if (flagName.Equals("录入状态") && !valName.Equals("作废")) { MessageUtil.ShowWarning("该条数据有效, 恢复失败."); continue; } if (flagName.Equals("审核") && valName.Equals("录入状态")) { MessageUtil.ShowWarning("请按照流程操作, 目前状态是录入需要提交审核->审核!"); continue; } selectid = ugr.Index; if (valflag.Trim().Equals("录入状态")) valflag = "A"; else if (valflag.Trim().Equals("提交审核")) valflag = "B"; else if (valflag.Trim().Equals("已生效")) valflag = "C"; else if (valflag.Trim().Equals("无效")) valflag = "D"; else if (valflag.Trim().Equals("申请修改")) valflag = "E"; else if (valflag.Trim().Equals("申请作废")) valflag = "F"; else if (valflag.Trim().Equals("申请恢复")) valflag = "G"; else if (valflag.Trim().Equals("申请审核")) valflag = "H"; if (valflag.Equals("D")) flag = "0"; else flag = "1"; ArrayList parm = new ArrayList(); parm.Add(valflag);//valflag代码标示 parm.Add(msc);//MSC主建代码 CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListUPDATEVALIDFLAG"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { parm = new ArrayList(); parm.Add(flag);//valflag代码标示 parm.Add(msc);//MSC主建代码 ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListUPDATEPSCRMSCIS"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } } } } if (!string.IsNullOrEmpty(flagbug)) { MessageUtil.ShowWarning(flagbug); } this.ultraGridMSC.Rows[selectid].Selected = true; doQuery(); uldtsMscGetData(); } /** *只更新冶金规范码数据 **/ public void DoUpdateMsc() { string flagbug = ""; int selectid = 0; foreach (UltraGridRow ugr in this.ultraGridMSC.Rows) { if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true") { string msc = ugr.Cells["MSC"].Value.ToString().Trim(); string valflag = ugr.Cells["VALIDFLAG"].Value.ToString(); if (string.IsNullOrEmpty(valflag)) { flagbug += "冶金规范码:" + msc + " 有效标记不能为空; "; continue; } if (!valflag.Equals("录入状态")) { flagbug += "冶金规范码:" + msc + " 录入状态才能修改。"; continue; } string department_code = ugr.Cells["DEPARTMENT_DESC"].Text.ToString(); string department_desc = ugr.Cells["DEPARTMENT_CODE"].Text.ToString(); string unit_code = ugr.Cells["UNIT_DESC"].Text.ToString(); string unit_desc = ugr.Cells["UNIT_CODE"].Text.ToString(); string use_code = ugr.Cells["USE_CODE"].Text.ToString(); string use_desc = ugr.Cells["USE_DESC"].Text.ToString(); string user_count = ugr.Cells["USER_COUNT"].Text.ToString(); string msc_seq = ugr.Cells["MSC_SEQ"].Text.ToString(); string msc_desc_seq = ugr.Cells["MSC_DESC_SEQ"].Text.ToString(); string update_name = strOperator; string memo = ugr.Cells["MEMO"].Text.ToString().Trim(); string msc_style = ugr.Cells["MSC_STYLE"].Text.ToString().Trim(); if (msc_style.Trim().Equals("钢管")) msc_style = "A"; else if (msc_style.Trim().Equals("其他")) msc_style = "B"; string allownk = ugr.Cells["ALLOW_NK"].Text.ToString().Trim(); if (allownk.Trim().Equals("需要")) allownk = "1"; else if (allownk.Trim().Equals("不需要")) allownk = "0"; selectid = ugr.Index; //if (valflag.Trim().Equals("录入状态")) valflag = "A"; //else if (valflag.Trim().Equals("提交审核")) valflag = "B"; //else if (valflag.Trim().Equals("已生效")) valflag = "C"; //else if (valflag.Trim().Equals("无效")) valflag = "D"; //else if (valflag.Trim().Equals("申请审核")) valflag = "E"; ArrayList parm = new ArrayList(); parm.Add(department_code); parm.Add(department_desc); parm.Add(unit_code); parm.Add(unit_desc); parm.Add(msc_style); parm.Add(user_count); parm.Add(allownk); parm.Add(msc_seq); parm.Add(msc_desc_seq); //parm.Add(valflag);//valflag代码标示 parm.Add(update_name); parm.Add(memo); parm.Add(use_code); parm.Add(use_desc); parm.Add(msc);//MSC主建代码 CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListSETUPDATECOMMSC"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } } } if (!string.IsNullOrEmpty(flagbug)) { MessageUtil.ShowWarning(flagbug); } else { MessageUtil.ShowTips("修改完成"); } this.ultraGridMSC.Rows[selectid].Selected = true; doQuery(); uldtsMscGetData(); } /** * 已知需要维护3种标准,涉及三张表COM_MSC_ITEM(与树形菜单有关),COM_MSC_STD_CIC,COM_MSC_STD_PIC。 * 1.适用客观无法维护. * 2.成分标准:新增成分项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_CIC成分表,成分表界面维护其他属性。 * 3.材质标准:新增材质项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_PIC成分表,材质表界面维护其他属性。 **/ #region 冶金规范码二级。 private void gridMscrj(int Index) { foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows[Index].ChildBands[0].Rows) { if (ugrs.Cells["BANDUCCHOOSE"].Value.ToString().ToLower() == "true" || ugrs.Cells["BANDUCCHOOSE"].Text.ToString().ToLower() == "true") { string msc = " where msc = '" + ugrs.Cells["MSC"].Value.ToString() + "' and ITEM ='" + ugrs.Cells["ITEM"].Value.ToString() + "' AND (item_c ='" + ugrs.Cells["ITEM_C"].Value.ToString() + "' or item_c is null) "; DataTable dts = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_COM_ITEM", new Object[] { msc }, this.ob); if (dts.Rows.Count <= 0) { /* msc, index_seq, item, item_c, create_name, create_time, validflag, memo */ ArrayList parm = new ArrayList(); parm.Add(ugrs.Cells["MSC"].Value.ToString()); parm.Add(ugrs.Cells["MSC"].Value.ToString()); parm.Add(ugrs.Cells["ITEM"].Value.ToString()); parm.Add(ugrs.Cells["ITEM_C"].Value.ToString()); parm.Add(strOperator); parm.Add("1"); parm.Add(" "); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_ITEM"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { string name_item = ""; DataTable dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM"].Value.ToString() }, this.ob); if (dtitem.Rows[0]["basename"].Equals("成分标准")) { dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM_C"].Value.ToString() }, this.ob); if (dtitem.Rows.Count > 0) { if (dtitem.Rows[0]["basename"].Equals("国家标准")) { name_item = "G"; } else if (dtitem.Rows[0]["basename"].Equals("客户标准")) { name_item = "K"; } else { MessageUtil.ShowWarning("国家标准和客户标准不存在"); continue; } parm = new ArrayList(); parm.Add("CIC" + name_item); parm.Add(pscmscName); parm.Add(name_item); parm.Add(strOperator); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_STD_CIC"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; } } else if (dtitem.Rows[0]["basename"].Equals("材质标准")) { dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM_C"].Value.ToString() }, this.ob); if (dtitem.Rows.Count > 0) { if (dtitem.Rows[0]["basename"].Equals("国家标准")) { name_item = "G"; } else if (dtitem.Rows[0]["basename"].Equals("客户标准")) { name_item = "K"; } else { MessageUtil.ShowWarning("国家标准和客户标准不存在"); continue; } parm = new ArrayList(); parm.Add("PIC" + name_item); parm.Add(pscmscName); parm.Add(name_item); parm.Add(strOperator); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_STD_PIC"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; } } } } else { falsTra = "cicpic"; } } } } #endregion /** *新增按钮涉及面有:冶金规范码、冶金规范码二级、全程工序产线。 *1.新增冶金规范码涉及两张表:COM_MSC,COM_PSC_R_MSC; *2 * 已知需要维护3种标准,涉及三张表COM_MSC_ITEM(与树形菜单有关),COM_MSC_STD_CIC,COM_MSC_STD_PIC。 * 1.适用客观无法维护. * 2.成分标准:新增成分项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_CIC成分表,成分表界面维护其他属性。 * 3.材质标准:新增材质项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_PIC成分表,材质表界面维护其他属性。 *3.全程工序产线(COM_MSC_BACKLOG与树菜单有关)简单新增。 **/ private void DoAdd() { //IList stName = new List(); //IList stPline = new List(); string strmscCode = "";//冶金规范码 string strPscName = ""; //冶金规范码描述 string errString = "";// 冶金规范码bug string errItemBug = "";//项目表bug string errBug = "";//验证 string flagInt = ""; string msc_pline = "";//产线号 #region 冶金规范码 /*msc, msc_desc, use_code, use_desc, department_code, department_desc, unit_code, unit_desc, msc_style, user_count, produccode, producname, std_code, std_name, steelcode, steelname, std_style, std_style_desc, new_proc_code, new_proc_desc, allow_nk, msc_seq, msc_desc_seq, create_name, create_time, validflag, memo*/ ultraGridMSC.UpdateData(); foreach (UltraGridRow ugr in this.ultraGridMSC.Rows) { if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true") { //用于修改增加后展开 listExpanl.Add(ugr.Index); string usecode = ugr.Cells["USE_CODE"].Value.ToString().Trim(); string msctos = ugr.Cells["MSC"].Value.ToString().Trim(); this.tNodes.Name = msctos; int count = Convert.ToInt32(ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYPSCORMSCCOUNT", new Object[] { pscmscName, msctos }, this.ob).Rows[0][0].ToString()); if (count > 0) { falsTra = "true"; gridMscrj(ugr.Index); continue; } if (!string.IsNullOrEmpty(pscmscName) && !pscmscName.Substring(0, 3).Equals("PSC")) { errBug += "PSC错误,请点击MSC。"; break; } if (string.IsNullOrEmpty(ugr.Cells["USER_COUNT"].Value.ToString().Trim())) { errBug += "使用次数不能为空,请填写!"; break; } if (string.IsNullOrEmpty(ugr.Cells["ALLOW_NK"].Value.ToString().Trim())) { errBug += "是否维护内控标准不能为空,请填写!"; break; } if (string.IsNullOrEmpty(errBug)) { strmscCode = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYStaMsc", new Object[] { }, this.ob).Rows[0][0].ToString(); string usedesc = ugr.Cells["USE_CODE"].Text.ToString().Trim(); if (string.IsNullOrEmpty(usecode)) { strPscName = pscNameDesc; } else { strPscName = pscNameDesc + "-" + usecode; } string departmentcode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString().Trim(); string departmentdesc = ugr.Cells["DEPARTMENT_CODE"].Text.ToString().Trim(); string unitcode = ugr.Cells["UNIT_CODE"].Value.ToString().Trim(); string unitdesc = ugr.Cells["UNIT_CODE"].Text.ToString().Trim(); string mscstyle = ugr.Cells["MSC_STYLE"].Text.ToString().Trim(); if (mscstyle.Trim().Equals("钢管")) mscstyle = "A"; else if (mscstyle.Trim().Equals("其他")) mscstyle = "B"; string usercount = ugr.Cells["USER_COUNT"].Value.ToString().Trim(); string use_code = ugr.Cells["USE_CODE"].Value.ToString().Trim(); string use_desc = ugr.Cells["USE_CODE"].Text.ToString().Trim(); string produccode = this.PRODUCCODE;//品名 string producname = this.PRODUCNAME; string stdcode = this.STD_CODE; string stdname = this.STD_NAME; string steelcode = this.STEELCODE; string steelname = this.STEELNAME; string stdstyle = this.STD_STYLE; string stdstyledesc = this.STD_STYLE_DESC; string newproccode = this.NEW_PROC_CODE; string newprocdesc = this.NEW_PROC_DESC; string allownk = ugr.Cells["ALLOW_NK"].Text.ToString().Trim(); string mscseq = " "; string mscdescseq = " "; if (allownk.Trim().Equals("需要")) allownk = "1"; else if (allownk.Trim().Equals("不需要")) allownk = "0"; if (!string.IsNullOrEmpty(ugr.Cells["MSC_SEQ"].Text.Trim())) { mscseq = ugr.Cells["MSC_SEQ"].Text.ToString().Trim().Substring(0, 20); mscdescseq = ugr.Cells["MSC_SEQ"].Text.ToString().Trim(); } string createname = strOperator; string validflag = "A"; //if (validflag.Trim().Equals("录入状态")) validflag = "A"; //else if (validflag.Trim().Equals("提交审核")) validflag = "B"; //else if (validflag.Trim().Equals("已生效")) validflag = "C"; //else if (validflag.Trim().Equals("无效")) validflag = "D"; string memo = ugr.Cells["MEMO"].Value.ToString().Trim(); if (flagInt.Trim().Equals("无效")) flagInt = "0"; else flagInt = "1"; ArrayList parm = new ArrayList(); parm.Add(strmscCode); parm.Add(strPscName); parm.Add(usecode); parm.Add(usedesc); parm.Add(departmentcode); parm.Add(departmentdesc); parm.Add(unitcode); parm.Add(unitdesc); parm.Add(mscstyle); parm.Add(usercount); parm.Add(produccode); parm.Add(producname); parm.Add(stdcode); parm.Add(stdname); parm.Add(steelcode); parm.Add(steelname); parm.Add(stdstyle); parm.Add(stdstyledesc); parm.Add(newproccode); parm.Add(newprocdesc); parm.Add(allownk); parm.Add(mscseq); parm.Add(mscdescseq); parm.Add(createname); parm.Add(validflag); parm.Add(memo); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListInsertMSC"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { falsTra = "com_msc"; return; } else { parm = new ArrayList(); parm.Add(pscmscName);//PSC代码 parm.Add(pscmscName);//PSC描述 parm.Add(usecode); parm.Add(usedesc); parm.Add(strmscCode); parm.Add(strPscName); parm.Add(createname); parm.Add(flagInt); parm.Add(memo); ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListInsertPSCRMSC"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { falsTra = "pscrmsc"; return; } else { falsTra = "true"; gridMscrj(ugr.Index); } } } } #endregion } #region 全程工序 foreach (UltraGridRow ugrs in this.ultraGridBack.Rows) { if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { if (!string.IsNullOrEmpty(pscName) && pscName.Substring(0, 3).Equals("MSC")) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOGS", new Object[] { pscName, ugrs.Cells["msc_pline"].Value.ToString() }, this.ob); if (dt.Rows.Count > 0) { falsTra = "backLog"; //stName.Add(ugrs.Cells["msc"].Value.ToString()); //stPline.Add(ugrs.Cells["msc_pline"].Value.ToString()); continue; } if (pscName.Substring(0, 3).Equals("MSC")) { ArrayList parm = new ArrayList(); string memo = ugrs.Cells["MEMO"].Value.ToString(); parm.Add(pscName); parm.Add(pscName); parm.Add(strOperator); parm.Add(memo); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC"; ccp.MethodName = "getLineListINSERTCOM_MSC_BACKLOG"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { falsTra = "true"; } } } else { falsTra = "triwFalse"; return; } } } #endregion if (!string.IsNullOrEmpty(errString)) { MessageUtil.ShowWarning("其他冶金规范维护成功,以下冶金规范已存在:" + errString + "; /R 错误提示:" + errBug); } if (!string.IsNullOrEmpty(errItemBug)) { MessageUtil.ShowWarning(errItemBug); } if (!string.IsNullOrEmpty(errBug)) { MessageUtil.ShowWarning(errBug); return; } } /**加载全程工序点路径 * 11.27提出需求未实现部分:勾选大工序循环次数(ICOUNT)>1 在工序点画面复制一份相同数据如:选中一条热处理大工序循环次数=2,工序点只有一条热处理1显示两遍,保存到工序点表(com_msc_station).同工序流水号。 **/ public void loadStation(string mscs, string msc_plines) { DataTable dtStiation = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERY_MSC_STATION_DESC", new Object[] { mscs, msc_plines }, this.ob); string staTionName = "全程工序点路径: "; for (int j = 0; j < dtStiation.Rows.Count; j++) { staTionName += dtStiation.Rows[j]["STATION_DESC"].ToString() + "-"; } this.labelStation.Text = staTionName.Substring(0, staTionName.Length - 1); } private void FrmProPSCMSC_Load(object sender, EventArgs e) { doQuery(); loadBox(); } //初始化box private void loadBox() { DataTable isx = new DataTable(); DataTable unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); //引用MSC代码 this.MSCBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryMSC", new Object[] { }, this.ob); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["代码"].ToString(), isx.Rows[i]["代码"].ToString()); } if (isx.Rows.Count > 0) { this.MSCBOX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); MSCBOX.DataSource = unLoad; MSCBOX.DisplayMember = "Name"; MSCBOX.ValueMember = "Code"; } //AlpHa代码 isx = new DataTable(); this.STDBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQuerySTD", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), isx.Rows[i]["代码"].ToString()); } if (isx.Rows.Count > 0) { this.STDBOX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); STDBOX.DataSource = unLoad; STDBOX.DisplayMember = "Name"; STDBOX.ValueMember = "Code"; } //类型:钢管,其他。 isx = new DataTable(); this.MSCSTYLECOMBX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryType", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), i.ToString()); } if (isx.Rows.Count > 0) { this.MSCSTYLECOMBX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.Add(dr); MSCSTYLECOMBX.DataSource = unLoad; MSCSTYLECOMBX.DisplayMember = "Name"; MSCSTYLECOMBX.ValueMember = "Code"; } //维护内控标准:需要,不需要。 isx = new DataTable(); this.ALLOWNKBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYLKAK", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), i.ToString()); } if (isx.Rows.Count > 0) { this.ALLOWNKBOX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.Add(dr); ALLOWNKBOX.DataSource = unLoad; ALLOWNKBOX.DisplayMember = "Name"; ALLOWNKBOX.ValueMember = "Code"; } //状态 录入,已生效...... isx = new DataTable(); this.VALIDFLAGBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryVALIDFLAG", new Object[] { }, this.ob); if (isx.Rows.Count > 0) { this.VALIDFLAGBOX.DataSource = isx; DataRow dr = isx.NewRow(); isx.Rows.InsertAt(dr, 0); VALIDFLAGBOX.DataSource = isx; } //查询项目规范项 isx = new DataTable(); this.ultraITEMBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["basename"].ToString(), isx.Rows[i]["basecode"].ToString()); } if (isx.Rows.Count > 0) { this.ultraITEMBOX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); ultraITEMBOX.DataSource = unLoad; ultraITEMBOX.DisplayMember = "Name"; ultraITEMBOX.ValueMember = "Code"; } //获取内控标准 isx = new DataTable(); this.ultraComboSTDNK.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_STD_NK", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["std_name"].ToString(), isx.Rows[i]["std_code"].ToString()); } if (isx.Rows.Count > 0) { this.ultraComboSTDNK.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); ultraComboSTDNK.DataSource = unLoad; ultraComboSTDNK.DisplayMember = "Name"; ultraComboSTDNK.ValueMember = "Code"; } //获取部门 isx = new DataTable(); this.ultraComboDepart.DataSource = null; isx = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartment", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["DEPARTNAME"].ToString(), isx.Rows[i]["DEPARTID"].ToString()); } if (isx.Rows.Count > 0) { this.ultraComboDepart.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); ultraComboDepart.DataSource = unLoad; ultraComboDepart.DisplayMember = "Name"; ultraComboDepart.ValueMember = "Code"; } //获取科室 isx = new DataTable(); this.ultraComboSection.DataSource = null; isx = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection", new Object[] { }, this.ob); unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["DEPARTNAME"].ToString(), isx.Rows[i]["DEPARTID"].ToString()); } if (isx.Rows.Count > 0) { this.ultraComboSection.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); ultraComboSection.DataSource = unLoad; ultraComboSection.DisplayMember = "Name"; ultraComboSection.ValueMember = "Code"; } } //查询树形结构 private void doQuery() { //产品规范 tNode = new TreeNode(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQuery", new Object[] { }, this.ob); DataTable fnodedt = new DataTable(); //一级 DataTable datblBack = new DataTable(); //工序 DataTable datblGrad = new DataTable(); //钢种 DataTable fnodeLipn = new DataTable(); //二级 this.treeViewName.Nodes.Clear(); TreeNode fnode = new TreeNode(); TreeNode fnodeLp = new TreeNode();//工序 TreeNode fnodexs = new TreeNode(); //冶金 TreeNode fnodexGx = new TreeNode(); //工序 TreeNode fnodexGz = new TreeNode(); //钢种 int j = 0; int x = 0; for (int i = 0; i < dt.Rows.Count; i++) { string mscName = dt.Rows[i]["msc"].ToString(); //正在修改的树形结构、 if (i > 0) { if (dt.Rows[i - 1]["psc"].ToString().Equals(dt.Rows[i]["psc"].ToString())) { j = j + 1; //二级 if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString()) && !string.IsNullOrEmpty(dt.Rows[i]["msc"].ToString())) { fnode = treeViewName.Nodes[i - j]; fnode.Nodes.Add(dt.Rows[i]["msc"].ToString(), dt.Rows[i]["mscdesc"].ToString()); fnodedt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_ITEMCODE", new Object[] { mscName }, this.ob); fnodeLipn = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { mscName }, this.ob); fnodeLp = fnode.LastNode; fnodexs = fnode.LastNode; fnodexGx = fnode.LastNode; fnodexGz = fnode.LastNode; x = 0; //加载成分和标准 for (int r = 0; r < fnodedt.Rows.Count; r++) { if (r > 0 && fnodedt.Rows[r - 1]["item"].ToString().Equals(fnodedt.Rows[r]["item"].ToString())) { fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString()); continue; } fnode = fnodexs; fnodexs = fnode; fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename"].ToString()); if (!string.IsNullOrEmpty(fnodedt.Rows[r]["basename_c"].ToString())) { fnode = fnode.LastNode; fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString()); } } //加载全程工序 for (int w = 0; w < fnodeLipn.Rows.Count; w++) { fnode = fnodeLp; fnode.Nodes.Add(fnodeLipn.Rows[w]["msc_pline"].ToString(), "全程路径产线号-" + fnodeLipn.Rows[w]["msc_pline"].ToString()); datblBack = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_PROCESSDESC", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"] }, this.ob); for (int r = 0; r < datblBack.Rows.Count; r++) { if (r > 0 && datblBack.Rows[r - 1]["process_code"].ToString().Equals(datblBack.Rows[r]["process_code"].ToString())) { fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString()); continue; } if (!string.IsNullOrEmpty(datblBack.Rows[r]["process_desc"].ToString().Trim()) && !string.IsNullOrEmpty(datblBack.Rows[r]["process_code"].ToString().Trim())) { fnode = fnodeLp.LastNode; fnode.Nodes.Add(datblBack.Rows[r]["process_code"].ToString(), datblBack.Rows[r]["process_desc"].ToString()); if (!string.IsNullOrEmpty(datblBack.Rows[r]["station_code"].ToString().Trim())) { fnode = fnode.LastNode; fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString()); } } } //加载钢种 datblGrad = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_GRADECODE", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"].ToString() }, this.ob); for (int r = 0; r < datblGrad.Rows.Count; r++) { if (r > 0 && datblGrad.Rows[r - 1]["gradecode"].ToString().Equals(datblGrad.Rows[r]["gradecode"].ToString())) { fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString()); continue; } fnode = fnodeLp.LastNode; fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString()); } } } continue; } } //一级 if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString())) { treeViewName.Nodes.Add(dt.Rows[i]["psc"].ToString(), dt.Rows[i]["psc_desc"].ToString()); } //二级 if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString()) && !string.IsNullOrEmpty(dt.Rows[i]["msc"].ToString())) { fnode = treeViewName.Nodes[i - j]; fnode.Nodes.Add(dt.Rows[i]["msc"].ToString(), dt.Rows[i]["mscdesc"].ToString()); fnodedt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_ITEMCODE", new Object[] { mscName }, this.ob); fnodeLipn = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { mscName }, this.ob); fnodeLp = fnode.LastNode; fnodexs = fnode.LastNode; fnodexGx = fnode.LastNode; fnodexGz = fnode.LastNode; x = 0; for (int r = 0; r < fnodedt.Rows.Count; r++) { if (r > 0 && fnodedt.Rows[r - 1]["item"].ToString().Equals(fnodedt.Rows[r]["item"].ToString())) { fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString()); continue; } fnode = fnodexs; fnodexs = fnode; fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename"].ToString()); if (!string.IsNullOrEmpty(fnodedt.Rows[r]["basename_c"].ToString())) { fnode = fnode.LastNode; fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString()); } } for (int w = 0; w < fnodeLipn.Rows.Count; w++) { fnode = fnodeLp; fnode.Nodes.Add(fnodeLipn.Rows[w]["msc_pline"].ToString(), "全程路径产线号-" + fnodeLipn.Rows[w]["msc_pline"].ToString()); datblBack = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_PROCESSDESC", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"] }, this.ob); for (int r = 0; r < datblBack.Rows.Count; r++) { if (r > 0 && datblBack.Rows[r - 1]["process_code"].ToString().Equals(datblBack.Rows[r]["process_code"].ToString())) { fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString()); continue; } if (!string.IsNullOrEmpty(datblBack.Rows[r]["process_desc"].ToString().Trim()) && !string.IsNullOrEmpty(datblBack.Rows[r]["process_code"].ToString().Trim())) { fnode = fnodeLp.LastNode; fnode.Nodes.Add(datblBack.Rows[r]["process_code"].ToString(), datblBack.Rows[r]["process_desc"].ToString()); if (!string.IsNullOrEmpty(datblBack.Rows[r]["station_code"].ToString().Trim())) { fnode = fnode.LastNode; fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString()); } } } datblGrad = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_GRADECODE", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"].ToString() }, this.ob); for (int r = 0; r < datblGrad.Rows.Count; r++) { if (r > 0 && datblGrad.Rows[r - 1]["gradecode"].ToString().Equals(datblGrad.Rows[r]["gradecode"].ToString())) { fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString()); continue; } fnode = fnodeLp.LastNode; fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString()); } } } } //自动展开功能只处理PSC,MSC,MSC子节点三级。tNodes在点击树节点事件保存起来的。 if (!string.IsNullOrEmpty(tNodes.Name)) { for (int e = 0; e < this.treeViewName.Nodes.Count; e++) { //展开PSC节点 if (this.treeViewName.Nodes[e].Name.Equals(tNodes.Name)) { this.treeViewName.Nodes[e].Expand(); return; } //展开MSC节点 for (int w = 0; w < this.treeViewName.Nodes[e].Nodes.Count; w++) { if (this.treeViewName.Nodes[e].Nodes[w].Name.Equals(tNodes.Name)) { this.treeViewName.Nodes[e].Expand(); this.treeViewName.Nodes[e].Nodes[w].ExpandAll(); return; } } //展开MSC子节点 for (int w = 0; w < this.treeViewName.Nodes[e].Nodes.Count; w++) { for (int r = 0; r < this.treeViewName.Nodes[e].Nodes[w].Nodes.Count; r++) { if (this.treeViewName.Nodes[e].Nodes[w].Nodes[r].Name.Equals(tNodes.Name)) { this.treeViewName.Nodes[e].Expand(); this.treeViewName.Nodes[e].Nodes[w].Expand(); this.treeViewName.Nodes[e].Nodes[w].Nodes[r].ExpandAll(); return; } } } } } } //查询冶金规范码 private void uldtsMscGetData() { string columnName = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryComMsc", new Object[] { pscmscName }, this.ob); int i = 0; uldtsMsc.Tables[0].Clear(); foreach (DataRow dr in dt.Rows) { DataRow _dr = uldtsMsc.Tables[0].NewRow(); foreach (DataColumn dc in uldtsMsc.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsMsc.Tables[0].Rows.Add(_dr); columnName += "'" + uldtsMsc.Tables[0].Rows[i]["MSC"].ToString() + "',"; i++; } if (dt.Rows.Count > 0) { int idex = Convert.ToInt32(columnName.LastIndexOf(",")); string sql = "where msc in (" + columnName.Substring(0, idex) + ") "; DataTable dts = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_COM_ITEM", new Object[] { sql }, this.ob); uldtsMsc.Tables[1].Clear(); foreach (DataRow dr in dts.Rows) { DataRow _dr = uldtsMsc.Tables[1].NewRow(); foreach (DataColumn dc in uldtsMsc.Tables[1].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsMsc.Tables[1].Rows.Add(_dr); } } foreach (UltraGridRow ugr in this.ultraGridMSC.Rows) { if (ugr.Cells["VALIDFLAG"].Value.ToString().ToLower() == "无效") { this.ultraGridMSC.Rows[ugr.Index].CellAppearance.BackColor = Color.Red; this.ultraGridMSC.DisplayLayout.Override.AllowColMoving = AllowColMoving.WithinBand; this.ultraGridMSC.DisplayLayout.Override.AllowColSwapping = AllowColSwapping.WithinBand; this.ultraGridMSC.DisplayLayout.Override.TemplateAddRowCellAppearance.BackColor = Color.Yellow; this.ultraGridMSC.DisplayLayout.Override.TemplateAddRowCellAppearance.ForeColor = Color.LightYellow; } } foreach (int ix in listExpanl) { this.ultraGridMSC.Rows[ix].ExpandAll(); } listExpanl = new ArrayList(); GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMSC, new UltraGridColumn[] { }); } //查询冶金规范产线表 private void uldtsMscGetDataBACLOG(DataTable dttos) { DataTable dt = dttos; iSelectRow = -1; this.uldtsBaclog.Tables[0].Clear(); foreach (DataRow dr in dt.Rows) { DataRow _dr = uldtsBaclog.Tables[0].NewRow(); foreach (DataColumn dc in uldtsBaclog.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsBaclog.Tables[0].Rows.Add(_dr); } } //刷新冶金规范产线表 private void uldtsMscGetDataBAClogs(DataTable dttos) { DataTable dt = dttos; this.uldtsBaclog.Tables[0].Clear(); foreach (DataRow dr in dt.Rows) { DataRow _dr = uldtsBaclog.Tables[0].NewRow(); foreach (DataColumn dc in uldtsBaclog.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsBaclog.Tables[0].Rows.Add(_dr); } } //查询钢种 private void uldtsMscGetDatabBaseGrade(DataTable dttos) { DataTable dt = dttos; this.uldtsProce.Tables["TableGrade"].Clear(); foreach (DataRow dr in dt.Rows) { DataRow _dr = this.uldtsProce.Tables["TableGrade"].NewRow(); foreach (DataColumn dc in this.uldtsProce.Tables["TableGrade"].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } this.uldtsProce.Tables["TableGrade"].Rows.Add(_dr); } } //树形结构点击事件 private void treeViewName_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (tNode.Text.Trim() != "") { tNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Regular); tNode.BackColor = Color.Empty; } e.Node.NodeFont = new Font("宋体", 10F, System.Drawing.FontStyle.Underline); e.Node.BackColor = Color.Empty; e.Node.BackColor = Color.LightBlue; tNode = e.Node; tNodes = e.Node; this.uldtsProce.Tables[1].Clear(); //清空工序点数据。 if (e.Node.Name.Length > 3 && e.Node.Name.ToString().Substring(0, 3).Equals("PSC")) { this.pscmscName = e.Node.Name.ToString(); } pscName = e.Node.Name.ToString(); pscNameDesc = e.Node.Text.ToString(); if (e.Node.Name.Length > 3 && e.Node.Name.ToString().Substring(0, 3).Equals("MSC")) { this.mscNmae = e.Node.Name.ToString(); } DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYStaPsc", new Object[] { pscName }, this.ob); if (dt.Rows.Count > 0) { STD_CODE = dt.Rows[0]["STD_CODE"].ToString(); STD_NAME = dt.Rows[0]["STD_NAME"].ToString(); STEELCODE = dt.Rows[0]["STEELCODE"].ToString(); STEELNAME = dt.Rows[0]["STEELNAME"].ToString(); STD_STYLE = dt.Rows[0]["STD_STYLE"].ToString(); STD_STYLE_DESC = dt.Rows[0]["STD_STYLE_DESC"].ToString(); NEW_PROC_CODE = dt.Rows[0]["NEW_PROC_CODE"].ToString(); NEW_PROC_DESC = dt.Rows[0]["NEW_PROC_DESC"].ToString(); PRODUCNAME = dt.Rows[0]["PRODUCNAME"].ToString(); PRODUCCODE = dt.Rows[0]["PRODUCCODE"].ToString(); uldtsMscGetData(); } else if (dt.Rows.Count <= 0) { dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob); uldtsMscGetDataBACLOG(dt); } } /** * 两种逻辑:第一种选择冶金规范码项目;第二种:选择冶金规范码二级自动勾选一级。 *选择冶金规范码项目触发该方法根据ITEM查询com_base_info where SORTCODE = ITEM. **/ private void ultraGrid5_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { ultraGridMSC.UpdateData(); if (e.Cell.Column.Key.Equals("ITEM") && !string.IsNullOrEmpty(e.Cell.Row.Cells["ITEM"].Value.ToString())) { DataTable isx = new DataTable(); this.ultraITEMCBOX.DataSource = null; isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT", new Object[] { e.Cell.Row.Cells["ITEM"].Value.ToString() }, this.ob); if (isx.Rows.Count > 0) { DataTable unLoad = new DataTable(); unLoad.Columns.Add("Name", typeof(System.String)); unLoad.Columns.Add("Code", typeof(System.String)); for (int i = 0; i < isx.Rows.Count; i++) { unLoad.Rows.Add(isx.Rows[i]["basename"].ToString(), isx.Rows[i]["basecode"].ToString()); } if (isx.Rows.Count > 0) { this.ultraITEMCBOX.DataSource = unLoad; DataRow dr = unLoad.NewRow(); unLoad.Rows.InsertAt(dr, 0); ultraITEMCBOX.DataSource = unLoad; ultraITEMCBOX.DisplayMember = "Name"; ultraITEMCBOX.ValueMember = "Code"; } } } if (e.Cell.Column.Key.Equals("BANDUCCHOOSE")) { string toMsc = e.Cell.Row.Cells["MSC"].Value.ToString(); Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGridMSC.Rows.Count; i++) { row = ultraGridMSC.Rows[i]; row.Cells["UCCHOOSE"].Value = false; foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows[i].ChildBands[0].Rows) { if (ugrs.Cells["BANDUCCHOOSE"].Value.ToString().ToLower().Equals("true")) { row = ultraGridMSC.Rows[i]; row.Cells["UCCHOOSE"].Value = true; break; } } } } #region 勾选选择处理逻辑。 //Infragistics.Win.UltraWinGrid.UltraGridRow row = null; //for (int i = 0; i < ultraGridMSC.Rows.Count; i++) //{ // row = ultraGridMSC.Rows[i]; // if (row.Cells["UCCHOOSE"].Value.ToString().ToLower().Equals("true")) // { // row.Activation = Activation.AllowEdit; // } // else // { // //取消勾选变成不可编辑导致勾选栏也不可编辑,待完善。 // //row.Activation = Activation.ActivateOnly; // } //} //row.Band.Columns["UCCHOOSE"].CellActivation = Activation.AllowEdit; #endregion #region 使用次数验证 if (e.Cell.Column.Key.Equals("USER_COUNT") && !e.Cell.Value.ToString().Equals("-") && !e.Cell.Value.ToString().Equals("-1") && !string.IsNullOrEmpty(e.Cell.Value.ToString())) { string pattern = "^([-+]?\\d+)(\\.\\d+)?$"; ;// 定义正则表达式 ," "里面的是表达式 Match m = Regex.Match(e.Cell.Value.ToString(), pattern);// 匹配正则表达式 if (m.Success) { } else { e.Cell.Value = ""; MessageUtil.ShowWarning("有效使用次数只允许使用无限:-1和阿拉伯数字0-9."); } } #endregion } //冶金规范码只允许操作一行。 public int QuerybriBack() { this.ultraGridBack.UpdateData(); int QuerybriBackInt = 0; foreach (UltraGridRow ugrs in this.ultraGridBack.Rows) { if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") { QuerybriBackInt = QuerybriBackInt + 1; } } return QuerybriBackInt; } //加载大工序。 public void comMsc_Process() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_PROCESS", new Object[] { pscName, pline }, this.ob); this.uldtsProce.Tables[0].Clear(); foreach (DataRow dr in dt.Rows) { int iCount = Convert.ToInt32(dr["ICOUNT"]); int iProcessSeq = 1; while (iCount > 0) { DataRow _dr = uldtsProce.Tables[0].NewRow(); foreach (DataColumn dc in uldtsProce.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } _dr["PROCESS_SEQ"] = iProcessSeq; uldtsProce.Tables[0].Rows.Add(_dr); iCount = iCount - 1; iProcessSeq++; } } Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGridProCes.Rows.Count; i++) { row = ultraGridProCes.Rows[i]; if (!string.IsNullOrEmpty(row.Cells["MSC"].Value.ToString())) { row.Cells["UCCHOOSE"].Value = true; } if (row.Cells["VALIDFLAG"].Value.ToString().Equals("无效")) { row.Cells["UCCHOOSE"].Row.Activation = Activation.ActivateOnly; row.CellAppearance.BackColor = Color.Red; } } } //勾选冶金规范码触发的事件 private void ultraGridBack_CellChange(object sender, CellEventArgs e) { this.ultraGridBack.UpdateData(); if (e.Cell.Column.Key.Equals("UCCHOOSE") && Convert.ToBoolean(e.Cell.Value)) { if (iSelectRow != -1) ultraGridBack.Rows[iSelectRow].Cells["UCCHOOSE"].Value = false; iSelectRow = e.Cell.Row.Index; pline = e.Cell.Row.Cells["MSC_PLINE"].Value.ToString(); //刷新钢种 DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob); this.uldtsMscGetDatabBaseGrade(dtlipe); comMsc_Process(); //加载全程工序点路径 loadStation(pscName, pline); this.doQueryCoupLing(); } else { iSelectRow = -1; //加载全程工序点路径 loadStation(" ", " "); this.uldtsProce.Tables[0].Clear(); //清空大工序点数据。 this.uldtsProce.Tables["TableGrade"].Clear();//清空接箍码 this.uldtsCoupling.Tables["TableCoupling"].Clear(); //清空钢种。 } } private void ultraGridProCes_CellChange(object sender, CellEventArgs e) { string name = "0"; //this.ultraGridProCes.UpdateData(); //this.uldtsProce.Tables[1].Clear(); //foreach (UltraGridRow ugrs in this.ultraGridProCes.Rows) //{ // if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true") // { // string proName = ugrs.Cells["PROCESS_CODE"].Value.ToString(); // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName }, this.ob); // foreach (DataRow dr in dt.Rows) // { // DataRow _dr = uldtsProce.Tables[1].NewRow(); // foreach (DataColumn dc in uldtsProce.Tables[1].Columns) // { // _dr[dc.ColumnName] = dr[dc.ColumnName]; // } // uldtsProce.Tables[1].Rows.Add(_dr); // } // } //} //if (e.Cell.Column.Key.Equals("UCCHOOSE") && Convert.ToBoolean(e.Cell.Value)) //{ // string proName = e.Cell.Row.Cells["PROCESS_CODE"].Value.ToString(); // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName }, this.ob); // foreach (DataRow dr in dt.Rows) // { // DataRow _dr = uldtsProce.Tables[1].NewRow(); // foreach (DataColumn dc in uldtsProce.Tables[1].Columns) // { // _dr[dc.ColumnName] = dr[dc.ColumnName]; // } // uldtsProce.Tables[1].Rows.Add(_dr); // } //} } ///< ///接箍码查询 /// public void doQueryCoupLing() { uldtsCoupling.Clear(); string msc = this.pscName; if (string.IsNullOrEmpty(msc)) { return; } bool flag = true; DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYJGAndMSC", new Object[] { msc, flag }, this.ob); foreach (DataRow dr in dt.Rows) { DataRow _dr = uldtsCoupling.Tables[0].NewRow(); foreach (DataColumn dc in uldtsCoupling.Tables[0].Columns) { _dr[dc.ColumnName] = dr[dc.ColumnName]; } uldtsCoupling.Tables[0].Rows.Add(_dr); } Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGridCpling.Rows.Count; i++) { row = ultraGridCpling.Rows[i]; if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("有效")) { row.Appearance.ForeColor = Color.Red; } else { row.Appearance.ForeColor = Color.Black; } } } //接箍按钮 private void butCoupLing_Click(object sender, EventArgs e) { int i = QuerybriBack(); if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; } JGCodeManage jgcm = new JGCodeManage(ob, pscName, pscNameDesc, "", "", "", "", "", "", "", "", "", "", ""); jgcm.ShowDialog(); doQueryCoupLing(); } //备料按钮 private void butBarNo_Click(object sender, EventArgs e) { int i = QuerybriBack(); if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; } BLCodeManageParms blCodeParms = new BLCodeManageParms(); blCodeParms.Ob = ob; blCodeParms.Msc = pscName; blCodeParms.Msc_desc = pscNameDesc; BLCodeManage blcm = new BLCodeManage(blCodeParms); blcm.ShowDialog(); doQueryCoupLing(); } //工序点按钮 private void buttonProRsta_Click(object sender, EventArgs e) { int i = QuerybriBack(); if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; } this.ultraGridProCes.UpdateData(); frmStationSelect frmstr = new frmStationSelect(this.ultraGridProCes, this.ultraGridBack, this.ob, strOperator); frmstr.ShowDialog(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob); uldtsMscGetDataBAClogs(dt); if (iSelectRow != -1) { ultraGridBack.Rows[iSelectRow].Cells["UCCHOOSE"].Value = true; //刷新钢种 DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob); this.uldtsMscGetDatabBaseGrade(dtlipe); comMsc_Process(); //加载全程工序点路径 loadStation(pscName, pline); this.doQueryCoupLing(); } doQuery(); } //钢种按钮 private void buttonGRAD_Click(object sender, EventArgs e) { int i = QuerybriBack(); if (i == 0) { MessageUtil.ShowWarning("请选择一条全程途径数据。"); return; } frmInnerMSCRGRD blcm = new frmInnerMSCRGRD(); blcm.SetOb = this.ob; blcm.Msc = this.pscName; blcm.Msc_pline = this.pline; blcm.NameOrd = strOperator; blcm.ShowDialog(); doQuery(); //刷新钢种 DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob); this.uldtsMscGetDatabBaseGrade(dtlipe); } } }