using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.Qcm; using Core.Mes.Client.Comm.Format; //using Core.StlMes.Client.SaleOrder.Object; using System.Collections; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.SaleOrder.Dialog; using System.Threading; using Core.StlMes.Client.SaleOrder.Control; namespace Core.StlMes.Client.SaleOrder.ReviewForm { public partial class frmOrderReviewTechnology : FrmBase { private CtrlBom _ctrlBom; private CtrlBom _ctrlBomHead; private CtrlBom _ctrlBomJg; private CtrlBom _ctrlBomBl; private CtrlBomI _ctrlBomI; private CtrlBom _ctrlBomJgBl; private string _errItem = "";//当前正在执行确认的错误项。 private bool _isRun = false;//是否正在执行后台查询和质量设计 public frmOrderReviewTechnology() { InitializeComponent(); ExceptionHelper.RegistException(); _ctrlBomHead = new CtrlBom(splitContainer1.Panel1); _ctrlBomHead.UltraLabel1.Text = " 产品"; _ctrlBomHead.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomHead_AfterRowActivate); GridHelper.HidenExcludeColumns(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0], "MaterialDesc"); _ctrlBom = new CtrlBom(ultraTabPageControl14); _ctrlBom.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBom_AfterRowActivate); _ctrlBom.UltraLabel1.Text = " 产品"; GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "JInMaterialDesc", "JOutMaterialDesc", "IInMaterialDesc", "IOutMaterialDesc"); GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo"); _ctrlBomJg = new CtrlBom(ultraTabPageControl12); _ctrlBomJg.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomJg_AfterRowActivate); _ctrlBomJg.UltraLabel1.Text = " 接箍"; GridHelper.HidenExcludeColumns(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo", "MaterialDesc", "BomTyp"); _ctrlBomBl = new CtrlBom(ultraTabPageControl13); _ctrlBomBl.UltraLabel1.Text = " 备料"; _ctrlBomI = new CtrlBomI(splitContainer2.Panel2); _ctrlBomJgBl = new CtrlBom(splitContainer2.Panel2); _ctrlBomJgBl.Visible = false; this.IsLoadUserView = true; } private void frmOrderReviewTechnology_Load(object sender, EventArgs e) { labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30); labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); //评审状态,设计状态,默认选中第一项,数据是手动绑定在控件上面的。 cmbSts.SelectedIndex = 0; cmbDesignSts.SelectedIndex = 0; ClsBaseInfo.SetComboItemHeight(cmbSts); ClsBaseInfo.SetComboItemHeight(cmbDesignSts); cmbSts.ReadOnly = false; cmbSts.Value = "D"; EntityHelper.ShowGridCaption(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomBl.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomI.UltraGridBomI.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomJgBl.UltraGridBom.DisplayLayout.Bands[0]); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False; ctrlOrderLineDesign1.UltraGridD.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; } /// /// 重写基类toolBar方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(); break; case "doQuality": doQuality(); break; case "doReviewPass": DoCommit("1"); break; case "doReviewNotPass": DoCommit("0"); break; //case "doSave": // doSave(); // break; case "RollBack": RollBack(); break; case "Msc": ShowMsc(); break; case "doClose": this.Close(); break; case "Export": GridHelper.ulGridToExcel(ultraGridOrderLine, "技术评审"); break; } } /// /// 保存按钮,update周期修正值。 /// private void doSave() { if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); if (ultraGridMscPlPc.ActiveRow == null) { MessageBox.Show("请先选择生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } //当没有选择项时,给出提示。 int chkNumber = 0; foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { chkNumber++; } } if (chkNumber <= 0) { MessageBox.Show("请先选中需要保存的生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ArrayList parms = new ArrayList(); foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { ArrayList parm = new ArrayList(); parm.Add(row.Cells["CYC_EDIT"].Value.ToString()); parm.Add(row.Cells["DESGIN_KEY"].Value.ToString()); parm.Add(row.Cells["ORD_LN_DLY_PK"].Value.ToString()); parm.Add(row.Cells["MSC_PLINE"].Value.ToString()); parms.Add(parm); } } //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); //服务端的包名+类名 ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; //类里的方法名 ccp.MethodName = "UpdateMscPlPc"; ccp.ServerParams = new object[] { parms }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { MessageBox.Show("保存成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); GetMscPlPc(ordLnPk); } } private void RollBack() { if (ultraGridOrderLine.ActiveRow == null) { MessageUtil.ShowWarning("请选择一条记录,再进行操作!"); return; } frmDesignFallBack frmFallBack = new frmDesignFallBack(pOrdLnPk, "", false, ob); frmFallBack.ShowDialog(); Relocate(pOrdLnPk); } private void Relocate(string ordLnPk) { doQuery(); foreach (UltraGridRow rowT in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(rowT.Cells["ORD_LN_PK"].Value.ToString())) { rowT.Activate(); break; } } } private void ShowMsc() { if (ultraGridOrderLine.ActiveRow == null) return; var row = ultraGridOrderLine.ActiveRow; string psc = row.GetValue("PSC"); string msc = ""; string dimater = ""; string height = ""; string specCode = ""; msc = row.GetValue("MSC"); dimater = row.GetValue("DIMATER"); height = row.GetValue("HEIGHT"); specCode = row.GetValue("SPEC_CODE"); string custAlphaNo = ""; string specialDesc = ""; if (!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString() : dt.Rows[0]["CUST_ALPHA_NO"].ToString(); specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString(); } string ordLnPk = row.GetValue("ORD_LN_PK"); FrmProPSCMSC2Popup popup = new FrmProPSCMSC2Popup(new string[] { psc, msc, dimater, height, specCode, ordLnPk }, custAlphaNo, specialDesc, "", ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob); popup.ShowDialog(); } /// /// 评审通过 /// private void doReviewPass(string y) { ultraGridOrderLine.UpdateData(); if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } int ucount = 0; ArrayList paramPassList = new ArrayList(); ArrayList paramOrdPk = new ArrayList(); //提取出来,用于完成之后聚焦。 string ordLnPk = ""; foreach (UltraGridRow urow in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(urow.Cells["CHK"].Value)) { //执行事务,改变评审主表、项目表、明细表状态为评审通过S。改变合同行状态为技术评审通过。 string deviewNo = urow.Cells["REVIEW_NO"].Value.ToString(); string ordPk = urow.Cells["ORD_PK"].Value.ToString(); ordLnPk = urow.Cells["ORD_LN_PK"].Value.ToString(); string reviewMan = UserInfo.GetUserName(); string reviewDept = UserInfo.GetDepartment(); //如果当前选中行的评审状态为失败或通过,return。 string reviewStatus = GetReviewStatus(ordLnPk); //WD如果为待审或评审中,则继续操作,否则组织操作。 if ("W".Equals(reviewStatus) || "D".Equals(reviewStatus)) { ucount++; if ("1".Equals(y)) { if (!"通过".Equals(urow.Cells["DESIGN_STS"].Value.ToString())) { MessageBox.Show("请先完成质量设计。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); urow.Activate(); return; } //if ("评审通过".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString())) //{ // MessageBox.Show("当前合同行,已通过技术评审,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // urow.Activate(); // return; //} } else { if ("评审失败".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString())) { MessageBox.Show("当前合同行,评审状态为评审失败,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); urow.Activate(); return; } } if ("002001001001" != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "19880049") { MessageUtil.ShowWarning("只有制造部-计划科的人员,才能进行评审操作!"); return; } ArrayList param = new ArrayList(); param.Add(deviewNo); param.Add(ordPk); param.Add(ordLnPk); param.Add(reviewMan); param.Add(reviewDept); //用于判断是技术评审通过还是失败。 //param.Add(y); paramPassList.Add(param); //获取合同头集合,用于修正合同头状态。 paramOrdPk.Add(ordPk); } else { MessageBox.Show("当前合同行技术评审完毕,不允许再次执行技术评审。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } } if ("0".Equals(y)) { if (MessageBox.Show("是否确认执行技术评审失败操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } else if ("1".Equals(y)) { if (MessageBox.Show("是否确认执行技术评审通过操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (ucount <= 0) { MessageBox.Show("请先勾选需要操作的合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); //服务端的包名+类名 ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; //类里的方法名 ccp.MethodName = "doReviewPass"; ccp.ServerParams = new Object[] { paramPassList, y }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { string[] strs = paramOrdPk.Cast().Distinct().ToArray(); for (int j = 0; j < strs.Length; j++) { if ("1".Equals(y)) { //依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。 DataTable GetLineDt = GetLineDtByOrdPk(strs[j]); if (GetLineDt.Rows.Count <= 0) { //没有,则合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。 UpdateOrderHead(strs[j]); } } else { //依据当前合同行所属合同头Key,判断该合同头状态是否为技术评审通过。 DataTable ordHeadSts = GetOrderHeadSts(strs[j]); if (ordHeadSts.Rows.Count > 0) { string ordSts = ordHeadSts.Rows[0][0].ToString(); if ("12020202".Equals(ordSts)) { //则修改其状态为技术评审失败。12020203 UpdateOrderHeadSts(strs[j]); } //否则,不修改其状态。 } } } doQuery(); //聚焦当前选中合同行。 foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } /// /// 获取当前合同头状态。 /// /// /// private DataTable GetOrderHeadSts(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 修改当前合同头状态为技术评审失败 /// /// private void UpdateOrderHeadSts(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。 /// private void UpdateOrderHead(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHead", new Object[] { ordPk }, this.ob); } /// /// 依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。 /// /// /// private DataTable GetLineDtByOrdPk(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetLineDtByOrdPk", new Object[] { ordPk }, this.ob); } private DataTable GetOrdLnState(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getOrdLnState", new object[] { ordLnPk }, ob); return dt; } /// /// 质量设计 /// private void doQuality() { ultraGridOrderLine.UpdateData(); try { this.Cursor = Cursors.WaitCursor; int chkCnt = ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count(); if (chkCnt == 0) { MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } int i = 0; //共sum条合同行执行质量设计 sum = 0; //通过 sumT = 0; //失败 sumF = 0; string ordLnPkT = ""; //刷新UltraGrid,选中与取消选中时,需要刷新UltraGrid。 ultraGridOrderLine.UpdateData(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value) == false) continue; if (row.GetValue("ORD_LN_PK").StartsWith("BL")) { DataRow dr = GetMscBLByPk(row.GetValue("ORD_LN_PK")); if (dr["REVIEW_STATUS"].ToString() != "0" && dr["REVIEW_STATUS"].ToString() != "1") { if(_isRun == false) { MessageUtil.ShowWarning("备料码[" + row.GetValue("ORD_LN_PK") + "]不是待技术评审或者技术评审中状态,不能进行质量设计!"); } row.Activate(); return; } } else { string ordLnState = GetOrdLnState(row.GetValue("ORD_LN_PK")).Rows[0]["ORDER_LN_STATUS"].ToString(); string ordNo = row.Cells["ORDER_NO"].Value.ToString(); string ordSeq = row.Cells["ORDER_SEQ"].Value.ToString(); if (ordLnState != "12020201" && !this.CustomInfo.Equals("120504-BBHT") && !UserInfo.GetUserName().Equals("admin")) { if (_isRun == false) { MessageUtil.ShowWarning("合同号[" + ordNo + "]-合同行号[" + ordSeq + "]不是待技术评审状态,不能进行质量设计!"); } row.Activate(); return; } } } foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { i++; string ordPk = row.Cells["ORD_PK"].Value.ToString(); string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString(); string ordSeq = row.Cells["ORDER_SEQ"].Value.ToString(); if (ordLnPk.StartsWith("BL")) { QualityBL(ordLnPk); ordLnPkT = ordLnPk; } else { //如果当前选中行的评审状态为失败或通过,return。 string reviewStatus = GetReviewStatus(ordLnPk); //WD如果为待审或评审中,则继续操作,否则组织操作。 if ("W".Equals(reviewStatus) || "D".Equals(reviewStatus) || this.CustomInfo.Equals("120504-BBHT") || UserInfo.GetUserName().Equals("admin")) { Quality(ordPk, ordLnPk, ordSeq); ordLnPkT = ordLnPk; } else { if (_isRun == false) { MessageBox.Show("当前合同行已进行技术评审,不允许执行质量设计。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } return; } } } } if (i <= 0) { MessageBox.Show("当前没有选中合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (sum <= 0) { return; } if (_isRun == false) { MessageBox.Show("当前共" + sum + "条记录执行质量设计," + sumT + "条记录通过," + sumF + "条记录不通过。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } doQuery(); foreach (UltraGridRow rowT in ultraGridOrderLine.Rows) { if (ordLnPkT.Equals(rowT.Cells["ORD_LN_PK"].Value.ToString())) { rowT.Activate(); break; } } } finally { this.Cursor = Cursors.Default; } } private DataRow GetMscBLByPk(string bLCode) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.BLCodeManage.queryMscBlByPk", new object[] { bLCode }, ob); return dt.Rows[0]; } /// /// 获取合同行技术评审状态。 /// /// /// private string GetReviewStatus(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetReviewStatus", new Object[] { ordLnPk }, this.ob); if (dt.Rows.Count > 0) { return dt.Rows[0][0].ToString(); } else { return ""; } } private int sum = 0; private int sumT = 0; private int sumF = 0; /// /// 质量设计方法 /// private void Quality(string ordPk, string ordLnPk, string ordSeq) { //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。 //循环调用质量设计方法。 if (AskRollBack() == false) return; ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserID()); //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); //服务端的包名+类名 ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignMain"; //类里的方法名 ccp.MethodName = "qualityDesign"; ccp.ServerParams = new object[] { ordPk, ordLnPk, ordSeq, param }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //ccp.ReturnObject(); if (ccp.ReturnCode == -1) { return; } else { if (!"".Equals(ccp.ReturnInfo)) { MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } sum++; if (Convert.ToBoolean(ccp.ReturnObject.ToString())) { sumT++; } else { sumF++; } } } /// /// 质量设计方法 /// private void QualityBL(string blCode) { //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。 //循环调用质量设计方法。 if (AskRollBack() == false) return; ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserID()); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignBL"; ccp.MethodName = "qualityDesignBL"; ccp.ServerParams = new object[] { blCode, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //ccp.ReturnObject(); if (ccp.ReturnCode == -1) { return; } else { if (!"".Equals(ccp.ReturnInfo)) { MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } sum++; if (Convert.ToBoolean(ccp.ReturnObject.ToString())) { sumT++; } else { sumF++; } } } private DataTable GetParentData() { //模糊查询条件,合同号、评审状态W、F、S、设计状态。 string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30)) { return null; } else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0)) { return null; } beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } string ordLnPk = utxtOrderNo.Text.Trim(); string orderSts = cmbSts.Value.ToString().Trim(); string designSts = cmbDesignSts.Value.ToString().Trim(); string unit_code = UserInfo.GetDeptid(); if (UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049" || (this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { unit_code = ""; } string supp = this.CustomInfo.ToString2().Contains("120504") ? "120504" : ""; if (this.CustomInfo.ToString2().Equals("120501")) { supp = "120501"; } ArrayList list = new ArrayList(); DataTable dt = null; list.AddRange(designSts, ordLnPk, orderSts, unit_code, beginTime, endTime, supp); if (this.CustomInfo.ToString2().Equals("120504-BBHT")) { dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryBBHT", new Object[] { list }, this.ob); } else { dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQuery", new Object[] { list }, this.ob); } return dt; } /// /// 合同行查询 /// private void doQuery() { try { this.Cursor = Cursors.WaitCursor; string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30)) { MessageUtil.ShowWarning("查询条件:合同行创建时间范围不能超过31天!"); labelDateTimePicker1.DateTimePicker.Focus(); return; } else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0)) { MessageUtil.ShowWarning("查询条件:合同行创建时间的开始时间不能大于结束时间!"); labelDateTimePicker1.DateTimePicker.Focus(); return; } beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } //模糊查询条件,合同号、评审状态W、F、S、设计状态。 string ordLnPk = utxtOrderNo.Text.Trim(); string orderSts = cmbSts.Value.ToString().Trim(); string designSts = cmbDesignSts.Value.ToString().Trim(); string unit_code = UserInfo.GetDeptid(); if (UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049" || (this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { unit_code = ""; } //先清除交货信息子表记录,再清除合同行主表记录。 this.slm_order_line_delivery.Rows.Clear(); this.slm_order_line.Clear(); DataTable dt = GetParentData(); //取消子行(交货行) //ArrayList listSub = new ArrayList(); //listSub.AddRange(designSts, ordLnPk, orderSts, unit_code, beginTime, endTime); //DataTable deliveryDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderLineDelivery", //new Object[] { listSub }, this.ob); //当合同行数据为空时,清空旗下设计状态TABLE。 if (dt.Rows.Count <= 0) { //交付标准 this.slm_ord_design_std.Rows.Clear(); //制程 this.slm_ord_design_msc_pl.Rows.Clear(); //制程适用钢种 this.slm_ord_design_msc_pl_gz.Rows.Clear(); //投入、产出物料,现在好像没有该表。 this.slm_ord_design_msc_pl_In.Rows.Clear(); //接箍料 this.com_msc_jg.Rows.Clear(); //接箍备料 this.com_msc_bl.Rows.Clear(); //单独备料 this.slm_ord_design_msc_bl.Rows.Clear(); //生产周期主表 this.slm_ord_design_msc_pl_pc.Rows.Clear(); //生产周期明细 this.slm_ord_design_msc_pl_pc_lst.Rows.Clear(); //质量设计展示项目。 if (ctrlOrderLineDesign1.DesignDt != null) { ctrlOrderLineDesign1.DesignDt.Rows.Clear(); } //质量设计不通过项目。 if (ctrlOrderLineDesign1.DesignDtNPass != null) { ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear(); } _ctrlBom.BomBindingSource.Clear(); _ctrlBomBl.BomBindingSource.Clear(); _ctrlBomHead.BomBindingSource.Clear(); _ctrlBomI.BomIBindingSource.Clear(); _ctrlBomJg.BomBindingSource.Clear(); _ctrlBomJgBl.BomBindingSource.Clear(); } //绑定数据时,先绑定主表。 GridHelper.CopyDataToDatatable(ref dt, ref this.slm_order_line, true); //GridHelper.CopyDataToDatatable(ref deliveryDt, ref this.slm_order_line_delivery, true); //不同颜色区分是否有效数据 //Infragistics.Win.UltraWinGrid.UltraGridRow row = null; //for (int i = 0; i < ultraGridOrderLine.Rows.Count; i++) //{ // row = ultraGridOrderLine.Rows[i]; // //选择项全部设置为false。 // row.Cells["CHK"].Value = false; // //评审状态W:待审;D:评审中;S:评审通过;F评审失败 // //if ("W".Equals(row.Cells["REVIEW_STATUS"].Value.ToString())) // //{ // // row.Cells["REVIEW_STATUS"].Value = "待审"; // //} // //else if ("D".Equals(row.Cells["REVIEW_STATUS"].Value.ToString())) // //{ // // row.Cells["REVIEW_STATUS"].Value = "评审中"; // //} // //else if ("S".Equals(row.Cells["REVIEW_STATUS"].Value.ToString())) // //{ // // row.Cells["REVIEW_STATUS"].Value = "评审通过"; // //} // //else if ("F".Equals(row.Cells["REVIEW_STATUS"].Value.ToString())) // //{ // // row.Cells["REVIEW_STATUS"].Value = "评审失败"; // //} // ////设计状态W:等待;S:通过;F:失败 // //if ("W".Equals(row.Cells["DESIGN_STS"].Value.ToString())) // //{ // // row.Cells["DESIGN_STS"].Value = "等待"; // //} // //else if ("S".Equals(row.Cells["DESIGN_STS"].Value.ToString())) // //{ // // row.Cells["DESIGN_STS"].Value = "通过"; // //} // //else if ("F".Equals(row.Cells["DESIGN_STS"].Value.ToString())) // //{ // // row.Cells["DESIGN_STS"].Value = "失败"; // //} // ////ASSEL // //if ("1".Equals(row.Cells["ASSEL_FL"].Value.ToString())) // //{ // // row.Cells["ASSEL_FL"].Value = true; // //} // //else // //{ // // row.Cells["ASSEL_FL"].Value = false; // //} // ////是否监制 // //if ("1".Equals(row.Cells["PRODUCER_FL"].Value.ToString())) // //{ // // row.Cells["PRODUCER_FL"].Value = true; // //} // //else // //{ // // row.Cells["PRODUCER_FL"].Value = false; // //} // ////主生产计划 // //if ("1".Equals(row.Cells["MPS_FL"].Value.ToString())) // //{ // // row.Cells["MPS_FL"].Value = true; // //} // //else // //{ // // row.Cells["MPS_FL"].Value = false; // //} // //if ("S".Equals(row.Cells["DESIGN_STS"].Value.ToString())) // //{ // // row.Cells["UNIT_DESC"].Value = "计划科"; // //} // //交货量差 // row.Cells["DELVRY_RANGE"].Value = "-" + row.Cells["DELVRY_RANGE_MIN"].Value.ToString() + row.Cells["DELVRY_RANGE_TPE"].Value.ToString() + "," + "+" + // row.Cells["DELVRY_RANGE_MAX"].Value.ToString() + row.Cells["DELVRY_RANGE_TPE"].Value.ToString(); // //除选择之外,其他项不可编辑。选择项,是最后一项。 // for (int j = 0; j < ultraGridOrderLine.Rows[i].Cells.Count - 1; j++) // { // //ultraGridOrderLine.Rows[i].Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; // } // //从表不可编辑。 // UltraGridRow rowChind = null; // for (int j = 0; j < ultraGridOrderLine.Rows[i].ChildBands[0].Rows.Count; j++) // { // rowChind = ultraGridOrderLine.Rows[i].ChildBands[0].Rows[j]; // for (int k = 0; k < rowChind.Cells.Count; k++) // { // //rowChind.Cells[k].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; // } // //if ("1".Equals(rowChind.Cells["AGENCY_FL"].Value.ToString())) // //{ // // rowChind.Cells["AGENCY_FL"].Value = true; // //} // //else // //{ // // rowChind.Cells["AGENCY_FL"].Value = false; // //} // //截取生产周期 // //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12 // //string prdCyc = Convert.ToDouble(ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value).ToString("f4"); // if (!"".Equals(rowChind.Cells["PRD_CYC"].Value.ToString())) // { // rowChind.Cells["PRD_CYC"].Value = Convert.ToDouble(rowChind.Cells["PRD_CYC"].Value).ToString("f4"); // } // } //} //列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridOrderLine, new UltraGridColumn[] { // ultraGridOrderLine.DisplayLayout.Bands[0].Columns["CHK"] // }); ultraGridOrderLine.UpdateData(); } finally { this.Cursor = Cursors.Default; } } /// /// 获取当前合同行主键下面,设计状态不通过的管理科室。 /// /// /// private DataTable isDesignV(string ordLnPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.isDesignV", new Object[] { ordLnPk }, this.ob); } /// /// 查询区合同号查询事件。 /// /// /// private void uchkOrderNo_CheckedChanged(object sender, EventArgs e) { if (uchkOrderNo.Checked) { utxtOrderNo.ReadOnly = false; } else { utxtOrderNo.Text = ""; utxtOrderNo.ReadOnly = true; } } /// /// 查询区评审状态 /// /// /// private void uchkSts_CheckedChanged(object sender, EventArgs e) { if (uchkSts.Checked) { cmbSts.ReadOnly = false; } else { cmbSts.ReadOnly = true; cmbSts.SelectedIndex = 0; } } /// /// 查询区设计状态 /// /// /// private void uchkDesignSts_CheckedChanged(object sender, EventArgs e) { if (uchkDesignSts.Checked) { cmbDesignSts.ReadOnly = false; } else { cmbDesignSts.ReadOnly = true; cmbDesignSts.SelectedIndex = 0; } } private string pOrdPk = ""; private string pOrdLnPk = ""; private string pOrdSeq = ""; private string pDesignKey = ""; /// /// 选中合同行时 /// /// /// private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; if (_isRun == false && ckbAutoRefresh.Checked) { ckbAutoRefresh.Checked = false; } //获取设计状态和设计状态明细。 pOrdPk = ultraGridOrderLine.ActiveRow.Cells["ORD_PK"].Value.ToString(); pOrdLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); pOrdSeq = ultraGridOrderLine.ActiveRow.Cells["ORDER_SEQ"].Value.ToString(); pDesignKey = ultraGridOrderLine.ActiveRow.HasParent() ? ultraGridOrderLine.ActiveRow.ParentRow.Cells["DESGIN_KEY"].Value.ToString() : ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); DataTable dtMps = getMpsInfo(pOrdLnPk); GetOrdDesign(pOrdLnPk); //获取质量设计失败项目。 GetOrdDesignNPass(pOrdLnPk); GetDesginDownData(pOrdLnPk, pDesignKey); } finally { this.Cursor = Cursors.Default; } } private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraGridOrderLine.ActiveRow == null) return; this.Cursor = Cursors.WaitCursor; string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetDesginDownData(ordLnPk, designKey); this.Cursor = Cursors.Default; } /// /// 获取质量设计向下数据 /// private void GetDesginDownData(string ordLnPk, string designKey) { if (ultraTabControl3.SelectedTab == null) return; switch (ultraTabControl3.SelectedTab.Key) { case "0": //产品交付要求数据绑定 GetDesignStd(designKey); break; case "1": //生产制程,全程途径数据绑定。 GetDesignMscPl(designKey); break; case "2": //接箍数据绑定。COM_MSC_JG GetComMscJg(designKey); break; case "3": //备料码数据绑定 GetMscBl(designKey); break; case "4": //交货行数据绑定。 GetMscPlPc(ordLnPk); break; case "5": GetBomHead(designKey); break; case "6": GetDesignWater(designKey); break; } } private void GetDesignWater(string designKey) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetSlmDesignWater", new object[] { designKey }, ob); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } /// /// 备料码 /// /// private void GetMscBl(string designKey) { DataTable mscBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetMscBl", new Object[] { designKey }, this.ob); GridHelper.CopyDataToDatatable(ref mscBlDt, ref this.slm_ord_design_msc_bl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscBl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]3 //}); } private void GetBomHead(string designKey) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomLst", new object[] { designKey }, ob); _ctrlBomHead.BomBindingSource.DataSource = listSource; if (_ctrlBomHead.UltraGridBom.Rows.Count == 0) { _ctrlBom.BomBindingSource.Clear(); _ctrlBomJg.BomBindingSource.Clear(); _ctrlBomBl.BomBindingSource.Clear(); _ctrlBomI.BomIBindingSource.Clear(); _ctrlBomJgBl.BomBindingSource.Clear(); } } /// /// 查询Bom /// private void GetBom(SlmOrdDesignBomEntity bom) { List listSource = new List(); listSource.Add(EntityHelper.CopyEntity(bom)); _ctrlBom.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBom.UltraGridBom); if (_ctrlBom.UltraGridBom.Rows.Count == 0) { _ctrlBomI.BomIBindingSource.Clear(); } } /// /// 查询BomJg /// private void GetBomJg(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomJgLst", new object[] { bom }, ob); _ctrlBomJg.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomJg.UltraGridBom); } /// /// 查询BomBl /// private void GetBomBl(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomBlLst", new object[] { bom }, ob); _ctrlBomBl.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomBl.UltraGridBom); } private void GetBomJgBlByBom(string bom, string bomJg) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomLstByBomJg", new object[] { bom, bomJg }, ob); _ctrlBomJgBl.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomJgBl.UltraGridBom); } private void GetBomIByBom(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomILst", new object[] { bom }, ob); _ctrlBomI.BomIBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomI.UltraGridBomI); } /// /// 交货行数据绑定。 /// /// private void GetMscPlPc(string ordLnPk) { DataTable mscPlPcDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetMscPlPc", new Object[] { ordLnPk, "" }, this.ob); if (mscPlPcDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref mscPlPcDt, ref this.slm_ord_design_msc_pl_pc, true); foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { row.SetValue("BTN", "维护"); } } else { this.slm_ord_design_msc_pl_pc.Rows.Clear(); this.slm_ord_design_msc_pl_pc_lst.Rows.Clear(); } for (int i = 0; i < ultraGridMscPlPc.Rows.Count; i++) { //除最后一项,选择项外,其他项不可编辑。 for (int j = 0; j < ultraGridMscPlPc.Rows[i].Cells.Count - 1; j++) { ultraGridMscPlPc.Rows[i].Cells[j].Activation = Activation.ActivateOnly; } //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12 string prdCyc = Math.Round(Convert.ToDouble(ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value), 4).ToString(); ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value = prdCyc; ultraGridMscPlPc.Rows[i].Cells["CHK"].Value = false; } ultraGridMscPlPc.UpdateData(); } /// /// 接箍数据绑定 /// /// private void GetComMscJg(string designKey) { DataTable comMscJgDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetComMscJg", new Object[] { designKey }, this.ob); if (comMscJgDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref comMscJgDt, ref this.com_msc_jg, true); } else { this.com_msc_jg.Rows.Clear(); this.com_msc_bl.Rows.Clear(); } //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(ultraGridJg, "FILE_NAME", "JG_MEMO", "MEMO"); } /// /// 生产制程,全程途径数据绑定。 /// /// private void GetDesignMscPl(string designKey) { DataTable designMscPlDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetDesignMscPl", new Object[] { designKey }, this.ob); if (designMscPlDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref designMscPlDt, ref this.slm_ord_design_msc_pl, true); } else { this.slm_ord_design_msc_pl.Rows.Clear(); this.slm_ord_design_msc_pl_gz.Rows.Clear(); this.slm_ord_design_msc_pl_In.Rows.Clear(); this.slm_ord_design_msc_pl_gx_prl.Rows.Clear(); } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridDesignMscPl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 产品交付要求数据绑定 /// /// private void GetDesignStd(string designKey) { DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetDesignStd", new Object[] { designKey }, this.ob); GridHelper.CopyDataToDatatable(ref designDt, ref this.slm_ord_design_std, true); //列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridDesignStd, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 用于判断,质量设计是否通过。 /// private string orderDesignSts = ""; //public string OrderDesignSts //{ // get { return orderDesignSts; } // set { orderDesignSts = value; } //} /// /// 获取质量设计失败项目。 /// /// /// private void GetOrdDesignNPass(string ordLnPk) { //质量设计状态DESIGN_STS='F'的项目。 DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrdDesignNPass", new Object[] { ordLnPk }, this.ob); if (designDt.Rows.Count <= 0) { if (ctrlOrderLineDesign1.DesignDtNPass != null) { ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear(); } return; } DataTable orderLineDesign = new DataTable(); //设计状态主信息展示列。 orderLineDesign.Columns.Add("columns"); //*2是因为,每一行取2列,项目名称和管理科室。假设有12行记录,则该表有24列。 //项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。 for (int i = 0; i < designDt.Rows.Count; i++) { orderLineDesign.Columns.Add("columns" + i); } //项目名称 DataRow designRowItem = orderLineDesign.NewRow(); //管理科室 DataRow designRowUnitDesc = orderLineDesign.NewRow(); //所有相关参数 DataRow designRowKey = orderLineDesign.NewRow(); //整体设计状态展示。 //string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); //if ("W".Equals(designSts)) //{ // designSts = "等待"; //} //else if ("S".Equals(designSts)) //{ // designSts = "通过"; //} //else if ("F".Equals(designSts)) //{ // designSts = "失败"; //} designRowItem["columns"] = "待维护项目"; designRowUnitDesc["columns"] = "管理科室"; //为新创建的表赋值。 //int j = 0; for (int i = 0; i < designDt.Rows.Count; i++) { //项目名称 designRowItem["columns" + i] = designDt.Rows[i]["LST_ITEM"].ToString(); //管理科室 designRowUnitDesc["columns" + i] = designDt.Rows[i]["UNIT_DESC"].ToString(); //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值 //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY designRowKey["columns" + i] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString() + "|" + designDt.Rows[i]["PSC"].ToString() + "|" + designDt.Rows[i]["MSC"].ToString() + "|" + designDt.Rows[i]["USE_CODE"].ToString() + "|" + designDt.Rows[i]["FINAL_USER"].ToString() + "|" + designDt.Rows[i]["GRADECODE"].ToString() + "|" + designDt.Rows[i]["UNIT_CODE"].ToString() + "|" + designDt.Rows[i]["DESIGN_OBJ_KEY"].ToString(); } //第一行存储了项目名称和失败原因参数。 orderLineDesign.Rows.Add(designRowItem); orderLineDesign.Rows.Add(designRowUnitDesc); orderLineDesign.Rows.Add(designRowKey); ctrlOrderLineDesign1.DesignDtNPass = orderLineDesign; ctrlOrderLineDesign1.binUltraGridNPass(); } /// /// 获取设计状态和设计状态明细。 /// /// /// private void GetOrdDesign(string ordLnPk) { DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrdDesign", new Object[] { ordLnPk }, this.ob); if (designDt.Rows.Count <= 0) { orderDesignSts = ""; if (ctrlOrderLineDesign1.DesignDt != null) { ctrlOrderLineDesign1.DesignDt.Rows.Clear(); } return; } orderDesignSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); DataTable orderLineDesign = new DataTable(); //总设计状态 orderLineDesign.Columns.Add("columns"); for (int i = 0; i < designDt.Rows.Count * 2; i++) { //有多少行,就有多少列,*2是因为每1行,取2列。设计状态和设计状态明细。 orderLineDesign.Columns.Add("columns" + i); } //项目名称行 DataRow designRowItem = orderLineDesign.NewRow(); //项目设计状态行。 DataRow designRowStsRs = orderLineDesign.NewRow(); //整体设计状态展示。 string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); if ("W".Equals(designSts)) { designSts = "等待"; } else if ("S".Equals(designSts)) { designSts = "通过"; } else if ("F".Equals(designSts)) { designSts = "失败"; } designRowItem["columns"] = "质量设计状态"; designRowStsRs["columns"] = designSts; int j = 0; //遍历所有行,获取相应数据。 for (int i = 0; i < designDt.Rows.Count; i++) { //构建第1行记录,第1列记录。 designRowItem["columns" + j] = designDt.Rows[i]["LST_ITEM"].ToString(); //构建第2行记录,第1列记录。 designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_RS"].ToString(); j++; //构建第1行记录,第2列记录。 designRowItem["columns" + j] = ""; //构建第2行记录,第2列记录。 designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString(); j++; } orderLineDesign.Rows.Add(designRowItem); orderLineDesign.Rows.Add(designRowStsRs); //将Table,Set传递给自定义控件。 ctrlOrderLineDesign1.DesignDt = orderLineDesign; //调用自定义控件方法绑定数据源。 ctrlOrderLineDesign1.binUltraGrid(); if (ctrlOrderLineDesign1.UltraGirdDelivery.Rows.Count >= 2) { foreach (var cell in ctrlOrderLineDesign1.UltraGirdDelivery.Rows[0].Cells) { if (cell.Value.ToString() == "内控标准" || cell.Value.ToString() == "试样码") { if (ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Value.ToString() == "缺项") { ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Appearance.BackColor = Color.FromArgb(255, 99, 71); } } } } } private DataTable getMpsInfo(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getMpsInfo", new object[] { ordLnPk }, ob); return dt; } /// /// 全程途径选中行触发事件 /// /// /// private void ultraGridDesignMscPl_AfterRowActivate(object sender, EventArgs e) { string desginKey = ultraGridDesignMscPl.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridDesignMscPl.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); GetDesignMscPlGz(desginKey, mscPline); GetDesignMscPlIn(desginKey, mscPline); } /// /// 依据全程途径获取对应钢种 /// /// private void GetDesignMscPlGz(string desginKey, string mscPline) { DataTable desginMscPlGzDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetDesignMscPlGz", new Object[] { desginKey, mscPline }, this.ob); GridHelper.CopyDataToDatatable(ref desginMscPlGzDt, ref this.slm_ord_design_msc_pl_gz, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGz, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 依据全程途径获取工序投入产出物料 /// /// private void GetDesignMscPlIn(string desginKey, string mscPline) { DataTable desginMscPlInDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetDesignMscPlIn", new Object[] { desginKey, mscPline }, this.ob); if (desginMscPlInDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref desginMscPlInDt, ref this.slm_ord_design_msc_pl_In, true); } else { this.slm_ord_design_msc_pl_In.Rows.Clear(); this.slm_ord_design_msc_pl_gx_prl.Rows.Clear(); } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridIn, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } private void ultraGridIn_AfterRowActivate(object sender, EventArgs e) { string desginKey = ultraGridIn.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridIn.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); string backlogSeq = ultraGridIn.ActiveRow.Cells["BACKLOG_SEQ"].Value.ToString(); string processCode = ultraGridIn.ActiveRow.Cells["PROCESS_CODE"].Value.ToString(); GetDesignMscPlGxPrl(desginKey, mscPline, backlogSeq, processCode); } /// /// 依据工序获取适应产线 /// /// /// private void GetDesignMscPlGxPrl(string designKey, string mscPline, string backlogSeq, string processCode) { DataTable desginMscPlGxPrl = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetDesignMscPlGxPrl", new Object[] { designKey, mscPline, backlogSeq, processCode }, this.ob); GridHelper.CopyDataToDatatable(ref desginMscPlGxPrl, ref this.slm_ord_design_msc_pl_gx_prl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGxPrl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 接箍行触发事件,获取接箍备料信息。 /// /// /// private void ultraGridJg_AfterRowActivate(object sender, EventArgs e) { string keyJg = ultraGridJg.ActiveRow.Cells["KEY_JG"].Value.ToString(); string desginKey = ultraGridJg.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetJgBl(desginKey, keyJg); } /// /// 获取接箍备料信息 /// /// private void GetJgBl(string desginKey, string keyJg) { DataTable jgBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetJgBl", new Object[] { desginKey, keyJg }, this.ob); GridHelper.CopyDataToDatatable(ref jgBlDt, ref this.com_msc_bl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridBl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 交货行带出相应的工序。 /// /// /// private void ultraGridMscPlPc_AfterRowActivate(object sender, EventArgs e) { string designKey = ultraGridMscPlPc.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridMscPlPc.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); string ordLnDlyPk = ultraGridMscPlPc.ActiveRow.Cells["ORD_LN_DLY_PK"].Value.ToString(); GetMscPlPcLst(designKey, mscPline, ordLnDlyPk); ultraGridMscPlPcLst.UpdateData(); } /// /// 获取交货行对应的工序。 /// /// private void GetMscPlPcLst(string designKey, string mscPline, string ordLnDlyPk) { DataTable plPcLstDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetMscPlPcLst", new Object[] { designKey, mscPline, ordLnDlyPk }, this.ob); GridHelper.CopyDataToDatatable(ref plPcLstDt, ref this.slm_ord_design_msc_pl_pc_lst, true); for (int i = 0; i < ultraGridMscPlPcLst.Rows.Count; i++) { //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12 string prdCyc = Convert.ToDouble(ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value).ToString("f4"); ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value = prdCyc; } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscPlPcLst, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } private void _ctrlBomJg_AfterRowActivate(object sender, EventArgs e) { SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject; SlmOrdDesignBomEntity bomJg = (SlmOrdDesignBomEntity)_ctrlBomJg.UltraGridBom.ActiveRow.ListObject; GetBomJgBlByBom(bomHead.Bom.ToString(), bomJg.Bom.ToString()); } private void ultraTabControl4_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (e.Tab.Key == "0") { splitContainer2.Panel2Collapsed = false; splitContainer2.SplitterDistance = this.Width - 300 - splitContainer1.Panel1.Width; _ctrlBomI.Visible = true; _ctrlBomJgBl.Visible = false; } else if (e.Tab.Key == "1") { splitContainer2.Panel2Collapsed = false; splitContainer2.SplitterDistance = 400; _ctrlBomI.Visible = false; _ctrlBomJgBl.Visible = true; } else { splitContainer2.Panel2Collapsed = true; } GetBomHeadDown(); } private void _ctrlBomHead_AfterRowActivate(object sender, EventArgs e) { GetBomHeadDown(); } private void GetBomHeadDown() { if (ultraTabControl4.SelectedTab == null) return; if (_ctrlBomHead.UltraGridBom.ActiveRow == null) return; SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject; if (ultraTabControl4.SelectedTab.Key == "0") { GetBom(bomHead); } else if (ultraTabControl4.SelectedTab.Key == "1") { GetBomJg(bomHead.Bom.ToString()); } else if (ultraTabControl4.SelectedTab.Key == "2") { GetBomBl(bomHead.Bom.ToString()); } } private void _ctrlBom_AfterRowActivate(object sender, EventArgs e) { SlmOrdDesignBomEntity bom = (SlmOrdDesignBomEntity)_ctrlBom.UltraGridBom.ActiveRow.ListObject; GetBomIByBom(bom.Bom.ToString()); } /// /// 质量设计方法 /// private void QualityT(string ordPk, string ordLnPk, string ordSeq) { //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。 //循环调用质量设计方法。 if (AskRollBack() == false) return; ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserID()); CoreClientParam ccp = new CoreClientParam(); if (ordLnPk.StartsWith("BL")) { ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignBL"; ccp.MethodName = "qualityDesignBL"; ccp.ServerParams = new object[] { ordLnPk, UserInfo.GetUserName() }; } else { ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignMain"; ccp.MethodName = "qualityDesign"; ccp.ServerParams = new object[] { ordPk, ordLnPk, ordSeq, param }; } ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { doQuery(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } private bool AskRollBack() { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.checkFallBack", new object[] { pOrdLnPk }, ob); if (dt.Rows.Count > 0) { if (_errItem != "" && _errItem != dt.Rows[0]["FALLBACK_ITEM"].ToString()) { string str = dt.Rows[0]["FALLBACK_DEPT_DESC"].ToString() + dt.Rows[0]["FALLBACK_MAN"].ToString() + "将此合同号回退至" + dt.Rows[0]["FALLBACK_ITEM"].ToString() + " 回退原因:" + dt.Rows[0]["FALLBACK_REASON"].ToString(); if (MessageUtil.ShowYesNoAndQuestion(str + " \r\n是否继续质量设计?") == DialogResult.No) { return false; } } } ServerHelper.SetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.updateFallBack", new object[] { pOrdLnPk }, ob); return true; } /// /// 选中之后,才允许编辑。 /// /// /// private void ultraGridMscPlPc_CellChange(object sender, CellEventArgs e) { ultraGridMscPlPc.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { if (e.Cell.Value != null && !string.IsNullOrEmpty(e.Cell.Value.ToString())) { if (Convert.ToBoolean(e.Cell.Value)) { e.Cell.Row.Cells["CYC_EDIT"].Activation = Activation.AllowEdit; } else { //没有选中,除第一列外,全部不可编辑。 for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++) { e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } else { //没有选中,除第一列外,全部不可编辑。 for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++) { e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } } private void ultraGridMscPlPc_ClickCellButton(object sender, CellEventArgs e) { string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK"); string mscPline = ultraGridMscPlPc.GetActiveRowValue("MSC_PLINE"); string ordLnState = GetReviewStatus(ordLnPk); if (ordLnState != "D") { MessageUtil.ShowWarning("只有技术评审中的合同行,才允许周期修正!"); return; } PopupMscPlPc popup = new PopupMscPlPc(ordLnPk, mscPline, "0", false, ob); popup.ShowDialog(); GetMscPlPc(ordLnPk); } /// /// 单项维护质量设计。 /// /// /// private void ctrlOrderLineDesign1_DesignCellText(string lstItem, string designObj) { if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选中合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ckbAutoRefresh.Checked = false; string desginKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string custAlphaNo = ""; string specialDesc = ""; if(!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString() : dt.Rows[0]["CUST_ALPHA_NO"].ToString(); specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString(); } //外径、壁厚参数,DIMATER,HEIGHT string dimater = ultraGridOrderLine.ActiveRow.Cells["DIMATER"].Value.ToString(); string height = ultraGridOrderLine.ActiveRow.Cells["HEIGHT"].Value.ToString(); string specCode = ultraGridOrderLine.ActiveRow.Cells["SPEC_CODE"].Value.ToString(); string specName = ultraGridOrderLine.ActiveRow.Cells["SPEC_NAME"].Value.ToString(); //扣型 string modelCode = ultraGridOrderLine.ActiveRow.Cells["MODEL_CODE"].Value.ToString(); //评审单号,合同头表REVW_RPT_NO string revwRptNo = ultraGridOrderLine.ActiveRow.Cells["REVW_RPT_NO"].Value.ToString(); //钢种,钢级牌号 //string steelCode=ultraGridOrderLine.ActiveRow.Cells["STEELCODE"].Value.ToString(); //ADD_ASK_NO附加要求编号。 string addAskNo = ultraGridOrderLine.ActiveRow.Cells["ADD_ASK_NO"].Value.ToString(); //订货单位 //CUSTOMER_NM、CUSTOMER_NO string customerNo = ultraGridOrderLine.ActiveRow.Cells["CUSTOMER_NO"].Value.ToString(); string ordPk = ultraGridOrderLine.ActiveRow.Cells["ORD_PK"].Value.ToString(); string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); string designStsDesc = ""; string psc = ""; string msc = ""; string useCode = ""; string finalUser = ""; string gradeCode = ""; string unitCode = ""; string designObjKey = ""; if (designObj != "") { string[] designKeyObj = designObj.Split('|'); //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值 //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY designStsDesc = designKeyObj[0]; psc = designKeyObj[1]; msc = designKeyObj[2]; useCode = designKeyObj[3]; finalUser = designKeyObj[4]; gradeCode = designKeyObj[5]; unitCode = designKeyObj[6]; designObjKey = designKeyObj[7]; } if (!"admin".Equals(UserInfo.GetUserID()) && UserInfo.GetUserID() != "19880049" && !(this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { string userUnitCode = UserInfo.GetDeptid(); //if (!userUnitCode.Equals(unitCode)) //{ // MessageBox.Show("您不具备维护该项的权限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // return; //} } //if ("".Equals(msc)) //{ // MessageBox.Show("当前msc为空,供测试使用!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); //} switch (lstItem) { case "MSC(0)": //传入值:产品规范码PSC、最终用户(可能无值)、用途码(产品alpha)、基础MSC(无特殊要求)、失败原因描述 string[] strMsc = { psc, finalUser, useCode, msc, designStsDesc }; getMscFrm(strMsc, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "质保书模板": string[] strMscZbs = { psc, finalUser, useCode, msc, designStsDesc }; getMscFrm(strMscZbs, "", specialDesc, "", ordLnPk, designStsDesc); break; case "成分标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strComponent = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getComponentFrm(strComponent, designStsDesc); break; case "理化标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strMaterial = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getMaterialFrm(strMaterial, designStsDesc); break; case "探伤标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdDetection string[] strDetection = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getDetectionFrm(strDetection, designStsDesc); break; case "公差标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmTolerancesStandard string[] strTolerances = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getTolerancesFrm(strTolerances, designStsDesc); break; case "水压标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmWaterPressureStand string[] strWater = { psc, useCode, msc, dimater, height, modelCode, ordLnPk, designStsDesc }; getWaterFrm(strWater, designStsDesc); break; case "加工标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdProcess string[] strCom = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getComFrm(strCom, designStsDesc); break; case "产品技术要求": //产品规范码PSC、最终用户、评审单号、基础MSC码、外径、壁厚、扣型编码。提供后台方法自动形成用途码与MSC,FrmOrderSpecialInfo string[] strSpecial = { psc, finalUser, revwRptNo, msc, dimater, height, modelCode, custAlphaNo, ordLnPk, specCode, specName, ordPk}; getSpecialFrm(strSpecial, designStsDesc); break; case "MSC(n)": //产品规范码PSC、最终用户、用途码(产品alpha)、使用MSC码、失败原因描述 string[] strMscN = { psc, finalUser, useCode, msc, designStsDesc }; getMscFrmN(strMscN, "", specialDesc, "", ordLnPk, designStsDesc); break; case "接箍制程": case "制程": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strPro = { psc, useCode, msc, dimater, height, modelCode, desginKey, ordLnPk, designObjKey}; getProcess(strPro, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "钢种": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述 string[] strSteel = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, designObjKey }; getSteel(strSteel, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "内控标准": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述 string[] strNk = { psc, useCode, msc, dimater, height, modelCode, designObjKey, designStsDesc }; getNk(strNk, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "镦拔扩": //钢种、镦拔扩外径(mm)、镦拔扩壁厚(mm)、失败原因描述; string[] strD = { gradeCode, dimater, height, ordLnPk, desginKey, designObjKey, designStsDesc }; getD(strD, designStsDesc); break; case "接箍": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述。 string[] strJg = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, specCode, designStsDesc }; getMscJg(strJg, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "备料": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strBl = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getMscBl(strBl, custAlphaNo, specialDesc, "", ordLnPk, designStsDesc); break; case "适用产线": string[] oneKey = designObjKey.Split(','); if (oneKey.Length == 8) { string twoKey = oneKey[7]; if ("1".Equals(twoKey)) { //工序、失败原因描述FrmComMSCPlineRSpec string[] strLine = { designObjKey }; getLine(strLine, designStsDesc); } else { //2 //工序、失败原因描述FrmComMSCPlineRSpec string[] strLine = { designObjKey }; //另一个界面。 getLine2(strLine, designStsDesc); } } else { MessageBox.Show("传参错误,请传8个参数,以,分隔。请与管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } break; case "合同附加要求": //产品规范码PSC、附加要求码、最终用户(如果无值则用订货单位替代); //现在改为最终用户允许为空。 //string userStr = finalUser; //if ("".Equals(finalUser)) //{ // userStr = customerNo; //} string[] strAskAdd = { psc, addAskNo, finalUser, ordPk, ordLnPk}; getAskAdd(strAskAdd, designStsDesc); break; case "投入/产出物料": break; case "成分偏差标准": ShowShowChemBias(designStsDesc); break; case "检验项评审": ShowDetectionLeve(designStsDesc); break; case "生产周期": //适用MSC码、制程号、失败原因描述;FrmProPSCMSC2 string[] strPDate = { msc, designObjKey, designStsDesc }; getPDate(strPDate, "", specialDesc, "", ordLnPk, designStsDesc); break; case "MPS": getCraft(desginKey, ordPk, ordLnPk); break; case "长度": getLength(desginKey); break; case "MSC(n)管理科室": getDesignDept(ordLnPk); break; case "在线机探盲区切长": getDetectionLegth(ordLnPk, ob); break; case "试样码": ShowSpline(designObjKey, designStsDesc); break; case "质保书": break; } } /// /// 调用MSC窗体 /// /// private void getMscFrm(string[] strMsc, string custAlphaNo, string specialDesc, string useCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmPsc = new FrmProPSCMSC2Popup(strMsc, custAlphaNo, useCode, specialDesc, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.MSC, designStsDesc, this.ob); frmPsc.StdSucessEvent += new StdSucessHandler(frmPsc_StdSucessEvent); frmPsc.StartPosition = FormStartPosition.CenterScreen; frmPsc.WindowState = FormWindowState.Maximized; frmPsc.WindowState = FormWindowState.Maximized; frmPsc.ShowDialog(); } /// /// 冶金规范维护事件 /// /// /// void frmPsc_StdSucessEvent(object sender, StdEventArgs e) { //传出值:是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isResult = e.Result; string msc = e.Msc; string useCode = e.UseCode; if ("1".Equals(isResult)) { _errItem = "MSC(0)"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 调用成分窗体 /// /// private void getComponentFrm(string[] strComponent, string designStsDesc) { PopupChemStandard frmChem = new PopupChemStandard(strComponent, designStsDesc, this.ob); frmChem.ChemStdSuccessEvent += new ChemStdSuccessHandler(frmChem_ChemStdSuccessEvent); frmChem.StartPosition = FormStartPosition.CenterScreen; frmChem.WindowState = FormWindowState.Maximized; frmChem.ShowDialog(); } void frmChem_ChemStdSuccessEvent(object sender, ChemStdEventArgs e) { //是否成功(0:失败/1:成功)、CIC [采用事件触发] string isRsult = e.Result; string cic = e.Cic; if ("1".Equals(isRsult)) { _errItem = "成分标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 调用理化窗体 /// /// private void getMaterialFrm(string[] strMaterial, string designStsDesc) { PopupMaterialStandard frmMaterial = new PopupMaterialStandard(strMaterial, designStsDesc, this.ob); frmMaterial.MaterialStdSuccessEvent += new MaterialStdSuccessHandler(frmMaterial_MaterialStdSuccessEvent); frmMaterial.StartPosition = FormStartPosition.CenterScreen; frmMaterial.WindowState = FormWindowState.Maximized; frmMaterial.ShowDialog(); } /// /// 理化标准维护事件 /// /// /// void frmMaterial_MaterialStdSuccessEvent(object sender, MaterialStdEventArgs e) { //是否成功(0:失败/1:成功)、PIC,[采用事件触发] string isRsult = e.Result; string pic = e.Pic; if ("1".Equals(isRsult)) { _errItem = "理化标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 探伤标准 /// /// private void getDetectionFrm(string[] strDetection, string designStsDesc) { PopupComMSCStdDetection frmDetection = new PopupComMSCStdDetection(strDetection, designStsDesc, this.ob); frmDetection.DetectionStdSuccessEvent += new DetectionStdSuccessHandler(frmDetection_DetectionStdSuccessEvent); frmDetection.StartPosition = FormStartPosition.CenterScreen; frmDetection.WindowState = FormWindowState.Maximized; frmDetection.ShowDialog(); } /// /// 探伤标准维护事件 /// /// /// void frmDetection_DetectionStdSuccessEvent(object sender, DetectionStdEventArgs e) { //是否成功(0:失败/1:成功)、DIC,[采用事件触发] string isRsult = e.Result; string pic = e.Dic; if ("1".Equals(isRsult)) { _errItem = "探伤标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 公差标准 /// /// private void getTolerancesFrm(string[] strTolerances, string designStsDesc) { PopupTolerancesStandard frmTolerances = new PopupTolerancesStandard(strTolerances, designStsDesc, this.ob); frmTolerances.TolerancesStdSuccessEvent += new TolerancesStdSuccessHanlder(frmTolerances_TolerancesStdSuccessEvent); frmTolerances.StartPosition = FormStartPosition.CenterScreen; frmTolerances.WindowState = FormWindowState.Maximized; frmTolerances.ShowDialog(); } /// /// 公差标准维护事件 /// /// /// void frmTolerances_TolerancesStdSuccessEvent(object sender, TolerancesStdSuccessEventArgs e) { //是否成功(0:失败/1:成功)、SIC,[采用事件触发] string isRsult = e.Result; string sic = e.Sic; if ("1".Equals(isRsult)) { _errItem = "公差标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 水压标准 /// /// private void getWaterFrm(string[] strWater, string designStsDesc) { PopupProductWater frmWater = new PopupProductWater(strWater, designStsDesc, this.ob); frmWater.ProductWaterSuccessEvent += new ProductWaterSuccessHandler(frmWater_ProductWaterSuccessEvent); frmWater.StartPosition = FormStartPosition.CenterScreen; frmWater.WindowState = FormWindowState.Maximized; frmWater.ShowDialog(); } /// /// 水压标准维护事件 /// /// /// void frmWater_ProductWaterSuccessEvent(object sender, ProductWaterEventArgs e) { //是否成功(0:失败/1:成功)、WIC,[采用事件触发] string isRsult = e.Result; string wic = e.Wic; if ("1".Equals(isRsult)) { _errItem = "水压标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 加工标准 /// /// private void getComFrm(string[] strCom, string designStsDesc) { PopupComMSCStdProcess frmCom = new PopupComMSCStdProcess(strCom, designStsDesc, this.ob); frmCom.MscStdProcessSuccessEvent += new MscStdProcessSuccessHanlder(frmCom_MscStdProcessSuccessEvent); frmCom.StartPosition = FormStartPosition.CenterScreen; frmCom.WindowState = FormWindowState.Maximized; frmCom.ShowDialog(); } /// /// 加工标准维护事件 /// /// /// void frmCom_MscStdProcessSuccessEvent(object sender, MscStdProcessEventArgs e) { //是否成功(0:失败/1:成功)、GIC,[采用事件触发] string isRsult = e.Result; string gic = e.Gic; if ("1".Equals(isRsult)) { _errItem = "加工标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 产品技术特殊要求 /// /// private void getSpecialFrm(string[] strSpecial, string designStsDesc) { //FrmOrderSpecialInfo frmSpecial = new FrmOrderSpecialInfo(strSpecial, StdExceptionType.Delivery, "产品技术特殊要求异常。", this.ob); //frmSpecial.StdSucessEvent += new StdSucessHandler(frmSpecial_StdSucessEvent); //frmSpecial.StartPosition = FormStartPosition.CenterScreen;frmPsc.WindowState = FormWindowState.Maximized; //frmSpecial.ShowDialog(); PopupOrderSpecialInfo popupOrderSpecialInfo = new PopupOrderSpecialInfo(strSpecial, designStsDesc, ob); popupOrderSpecialInfo.PopupOrderSpecialEvent += new PopupOrderSpecialHandler(popupOrderSpecialInfo_PopupOrderSpecialEvent); popupOrderSpecialInfo.ShowDialog(); } void popupOrderSpecialInfo_PopupOrderSpecialEvent(object sender, OrderSpecialInfoArgs e) { //是否成功(0:失败/1:成功)、MSC、MSC描述、MSC类型、用途码、用途码描述、[采用事件触发] //清空客户Alpha编号 string isRsult = e.Result; if ("1".Equals(isRsult)) { //成功,更新合同行msc相关数据。 string msc = e.Msc; string mscDesc = e.MscDesc; string mscType = e.ProductType; string useCode = e.UseCode; string useDesc = e.UseDesc; string custAlphaNo = e.CustAlphaNo; Object[] mscParams = new Object[] { msc, mscDesc, mscType, useCode, useDesc, custAlphaNo, pOrdLnPk }; if (e.CustAlphaNo != "") { UpdateOrderLineMsc(mscParams); } _errItem = "产品技术要求"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } else { doQuery(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (pOrdLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } /// /// 技术特殊要求维护成功后,更新合同行Msc相关数据。 /// /// private void UpdateOrderLineMsc(Object[] mscParams) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderLineMsc", mscParams, this.ob); } ///// ///// 产品技术特殊要求维护事件 ///// ///// ///// //void frmSpecial_StdSucessEvent(object sender, StdEventArgs e) //{ // //是否成功(0:失败/1:成功),产品特殊要求对应的的信息:MSC码、用途码、CIC、PIC、WIC、GIC、DIC、SIC //} /// /// 调用MSC窗体,特殊技术要求 /// /// private void getMscFrmN(string[] strMscN, string custAlphaNo, string specialDesc, string useCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmMscN = new FrmProPSCMSC2Popup(strMscN, custAlphaNo, specialDesc, useCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.MSCN, designStsDesc, this.ob); frmMscN.StdSucessEvent += new StdSucessHandler(frmMscN_StdSucessEvent); frmMscN.StartPosition = FormStartPosition.CenterScreen; frmMscN.WindowState = FormWindowState.Maximized; frmMscN.ShowDialog(); } /// /// 冶金规范维护事件 /// /// /// void frmMscN_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isRsult = e.Result; string msc = e.Msc; string useCode = e.UseCode; if ("1".Equals(isRsult)) { _errItem = "MSC(n)"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch{}; _errItem = ""; } } /// /// 调用MSC窗体,制程 /// /// private void getProcess(string[] strPro, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmProC = new FrmProPSCMSC2Popup(strPro, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob); frmProC.StdSucessEvent += new StdSucessHandler(frmProC_StdSucessEvent); frmProC.StartPosition = FormStartPosition.CenterScreen; frmProC.WindowState = FormWindowState.Maximized; frmProC.ShowDialog(); } /// /// 制程维护事件 /// /// /// void frmProC_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功)、制程号,[采用事件触发] string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "制程"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 钢种 /// /// private void getSteel(string[] str, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmSteel = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob); frmSteel.StdSucessEvent += new StdSucessHandler(frmSteel_StdSucessEvent); frmSteel.StartPosition = FormStartPosition.CenterScreen; frmSteel.WindowState = FormWindowState.Maximized; frmSteel.ShowDialog(); } /// /// 钢种 /// /// /// void frmSteel_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "钢种"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 内控标准 /// /// private void getNk(string[] str, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmNk = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.NkStd, designStsDesc, this.ob); frmNk.StdSucessEvent += new StdSucessHandler(frmNk_StdSucessEvent); frmNk.StartPosition = FormStartPosition.CenterScreen; frmNk.WindowState = FormWindowState.Maximized; frmNk.ShowDialog(); } /// /// 内控标准 /// /// /// void frmNk_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "内控标准"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 镦拔扩 /// /// private void getD(string[] str, string designStsDesc) { PopupUpsettingDialExpansion frmD = new PopupUpsettingDialExpansion(str, designStsDesc, this.ob); frmD.UpsettingDialExpansionEvent += new UpsettingDialExpansionHandler(frmD_UpsettingDialExpansionEvent); frmD.StartPosition = FormStartPosition.CenterScreen; frmD.WindowState = FormWindowState.Maximized; frmD.ShowDialog(); } /// /// 镦拔扩 /// /// /// void frmD_UpsettingDialExpansionEvent(object sender, UpsettionDialExpansionArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "镦拔扩"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 接箍 /// /// private void getMscJg(string[] str, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmJg = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.Jg, designStsDesc, this.ob); frmJg.StdSucessEvent += new StdSucessHandler(frmJg_StdSucessEvent); frmJg.StartPosition = FormStartPosition.CenterScreen; frmJg.WindowState = FormWindowState.Maximized; frmJg.ShowDialog(); } /// /// 接箍 /// /// /// void frmJg_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "接箍"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 备料 /// /// private void getMscBl(string[] str, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmBl = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.Bl, designStsDesc, this.ob); frmBl.StdSucessEvent += new StdSucessHandler(frmBl_StdSucessEvent); frmBl.StartPosition = FormStartPosition.CenterScreen; frmBl.WindowState = FormWindowState.Maximized; frmBl.ShowDialog(); } /// /// 备料 /// /// /// void frmBl_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "备料"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } private void ShowShowChemBias(string errMsg) { FrmProductCHEMBIAS productChemBias = new FrmProductCHEMBIAS(errMsg, ob); if (productChemBias.ShowDialog() == System.Windows.Forms.DialogResult.OK) { try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; } } private void ShowDetectionLeve(string errMsg) { DetectionLeveFrm detectionLeveFrm = new DetectionLeveFrm(ob, errMsg); detectionLeveFrm.ShowDialog(); } /// /// 生产周期 /// /// private void getPDate(string[] str, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmPDate = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, mscUseCode, ordLnPk, false, this.ValidDataPurviewIds, StdExceptionType.ProductDate, designStsDesc, this.ob); frmPDate.StdSucessEvent += new StdSucessHandler(frmPDate_StdSucessEvent); frmPDate.StartPosition = FormStartPosition.CenterScreen; frmPDate.WindowState = FormWindowState.Maximized; frmPDate.ShowDialog(); } /// /// 生产周期 /// /// /// void frmPDate_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "生产周期"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 适用产线 /// /// private void getLine(string[] str, string designStsDesc) { PopupComMSCPlineRSpec frmLine = new PopupComMSCPlineRSpec(str, designStsDesc, this.ob); frmLine.PlineRSpecSucessEvent += new PlineRSpecSucessHandler(frmLine_PlineRSpecSucessEvent); frmLine.StartPosition = FormStartPosition.CenterScreen; frmLine.WindowState = FormWindowState.Maximized; frmLine.ShowDialog(); } /// /// 适用产线 /// /// /// void frmLine_PlineRSpecSucessEvent(object sender, PlineRSpecArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "适用产线"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 适用产线2 /// /// private void getLine2(string[] strLine, string designStsDesc) { PopupMscCastRForg popup = new PopupMscCastRForg(strLine, designStsDesc, this.ob); popup.MscCastRForgSucessEvent += new MscCastRForgSucessHandler(popup_MscCastRForgSucessEvent); popup.ShowDialog(); } void popup_MscCastRForgSucessEvent(object sender, MscCastRForgArgs e) { string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "适用产线"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 附加要求 /// /// private void getAskAdd(string[] str, string designStsDesc) { PopupOrderAskAdd popup = new PopupOrderAskAdd(str, designStsDesc, this.ob); popup.PopupOrderAskAddEvent += new PopupOrderAskAddHandler(popup_PopupOrderAskAddEvent); popup.ShowDialog(); } void popup_PopupOrderAskAddEvent(object sender, PopupOrderAskAddArgs e) { //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isRsult = e.Result; //string msc = e.Msc; //string useCode = e.UseCode; if ("1".Equals(isRsult)) { _errItem = "合同附加要求"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } else { doQuery(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (pOrdLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } private void getCraft(string desginKey, string ordPk, string ordLnPk) { SlmOrdDesignMscPlStiTcEntity mscPlStiTc = new SlmOrdDesignMscPlStiTcEntity(); mscPlStiTc.DesginKey = desginKey; mscPlStiTc.OrdPk = ordPk; mscPlStiTc.OrdLnPk = ordLnPk; PopupOrderCraft popup = new PopupOrderCraft(mscPlStiTc, ob); popup.PopupOrderCraftEvent += new PopupOrderCraftHandler(popup_PopupOrderCraftEvent); popup.ShowDialog(); } void popup_PopupOrderCraftEvent(object sender, PopupOrderCraftArgs e) { ultraGridOrderLine_AfterRowActivate(null, null); if (e.Result == "1") { _errItem = "MPS"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } private void getLength(string ordLnPk) { frmDesignLength frmDsgLth = new frmDesignLength(ordLnPk, ob); frmDsgLth.ShowDialog(); _errItem = "长度"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } private void getDesignDept(string ordLnPk) { frmDesignDept frm = new frmDesignDept(ob, ordLnPk); frm.ShowDialog(); _errItem = "MSC(n)管理科室"; try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } private void getDetectionLegth(string ordLnPk, OpeBase ob) { DetectionPopup detectionPopup = new DetectionPopup(ordLnPk, ob); detectionPopup.ShowDialog(); try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; } private void ShowSpline(string objKey, string errMsg) { FrmPhySample frmPhySample = new FrmPhySample(ob, objKey, pOrdLnPk, pDesignKey, errMsg); if (frmPhySample.ShowDialog() == System.Windows.Forms.DialogResult.OK) { try { QualityT(pOrdPk, pOrdLnPk, pOrdLnPk); } catch { }; } } //2015/06/24 private void DoCommit(String flag) { ultraGridOrderLine.UpdateData(); //String str = ultraGridOrderLine.ActiveRow.Cells["CHK"].Value.ToString(); IQueryable ultraGrid1CheckedRows = ultraGridOrderLine.Rows.AsQueryable().Where(" CHK = 'True'"); if (ultraGrid1CheckedRows.Count() == 0) { MessageUtil.ShowWarning("请选择合同行"); return; } if (flag.Equals("1")) { if (MessageUtil.ShowYesNoAndQuestion("确认评审通过?") == DialogResult.No) { return; } //if (UserInfo.GetDeptid() == "002001001001" || UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049") //{ // if (MessageUtil.ShowYesNoAndQuestion("确认评审通过?") == DialogResult.No) // { // return; // } //} //else //{ // MessageUtil.ShowWarning("只有计划科的所属人员,才能进行评审通过操作!"); // return; //} } else { if (MessageUtil.ShowYesNoAndQuestion("确认评审不通过?") == DialogResult.No) { return; } } dlgReviewMemo dlg = new dlgReviewMemo(); if (flag.Equals("1")) { dlg.ReviewMemo = @"合同评审结论: 1.用户所提的产品标准、规范及要求已经识别,我公司现有生产条件能够满足用户合同要求; 2.公司所生产的产品能够符合当地法律法规及其他适用要求;"; } if (flag.Equals("1")) { dlg.ReviewFlag = 1; dlg.ReviewSatus = "评审通过"; } else { dlg.ReviewFlag = 0; dlg.ReviewSatus = "评审不通过"; } dlg.ShowDialog(); bool result = true; IQueryable ultraGrid1CheckedRowsOrd = ultraGrid1CheckedRows.Where(a => !a.GetValue("ORD_LN_PK").StartsWith("BL")); if (ultraGrid1CheckedRowsOrd.Count() > 0) { result = DoCommit(ultraGrid1CheckedRowsOrd, dlg, flag, "ORD"); } if (result == true) { DoCommit(ultraGrid1CheckedRows.Where(a => a.GetValue("ORD_LN_PK").StartsWith("BL")), dlg, flag, "BL"); } } private bool DoCommit(IQueryable ultraGrid1CheckedRows, dlgReviewMemo dlg, String flag, string type) { if (dlg.DialogResult == DialogResult.OK) { string reviewMemo = dlg.ReviewMemo; ArrayList paramList = new ArrayList(); String ordLnPk = ""; foreach (UltraGridRow ugr in ultraGrid1CheckedRows) { String[] param = new String[3]; param[0] = ugr.Cells["ORD_PK"].Value.ToString(); param[1] = ugr.Cells["ORD_LN_PK"].Value.ToString(); param[2] = ugr.Cells["DESGIN_KEY"].Value.ToString2(); ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString(); paramList.Add(param); } string userName = UserInfo.GetUserName(); string userDept = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), ob) + "-" + UserInfo.GetDepartment(); string reason = reviewMemo; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; if (type == "BL") { ccp.MethodName = "doCommitBl"; } else { ccp.MethodName = "doCommit"; } ccp.ServerParams = new object[] { paramList, userDept, userName, reason, flag }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (!"".Equals(ccp.ReturnInfo) || ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return false; } else { //清除回退。 //ServerHelper.SetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.updateFallBack", // new object[] { pOrdLnPk }, ob); doQuery(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } return true; } private DataTable GetComMscBl(string blCode) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getComMscBl", new object[]{blCode}, ob); return dt; } private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker2.DateTimePicker.Enabled = labelDateTimePicker1.CheckBox.Checked; } private void utxtOrderNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { doQuery(); } } private void ckbAutoRefresh_CheckedChanged(object sender, EventArgs e) { if (ckbAutoRefresh.Checked) { timer1.Start(); } else { timer1.Stop(); } } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; if (_isRun == true) return; _isRun = true; DataTable dt = GetParentData(); try { if (dt != null && dt.Rows.Count > 0) { Beap(); FlashWindow.Flash((Form)this.TopLevelControl, 5); WaitingForm2 wf = new WaitingForm2(); wf.Msg = "正在刷新数据,请稍候......"; wf.Show(); wf.Update(); this.doQuery(); while (_isBeaping) { } wf.ShowToUser = false; wf.Close(); } else { this.slm_order_line_delivery.Rows.Clear(); this.slm_order_line.Clear(); } } finally { _isRun = false; timer1.Enabled = true; } } private bool _isBeaping; private void Beap() { _isBeaping = true; Thread thread = new Thread(() => { for (int i = 0; i < 5; i++) { BeepHelper.Beep(500, 700); } _isBeaping = false; }); thread.Start(); } private void ultraGridOrderLine_MouseUp(object sender, MouseEventArgs e) { foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.Selected) { row.Cells["CHK"].Value = true; } } ultraGridOrderLine.UpdateData(); } private PopupTextBox popupTextBox; private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { string key = ultraGridOrderLine.ActiveCell.Column.Key; if (key == "ORDER_ADD_DESC" || key == "ALL_ADD_DESC") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } else if (key == "ORDER_SPECIAL_DESC") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } } dlgOrderAskDown askDown; private void ultraTextEditor4_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGridJg.ActiveRow; if (ultraGridJg.ActiveCell.Column.Key == "FILE_NAME") { string designKey = row.GetValue("DESGIN_KEY"); string path = "Qcm/Jg/" + designKey + "/"; askDown = new dlgOrderAskDown(this.ob, path); askDown.DeleteButton.Visible = false; askDown.Show(); } else if (ultraGridJg.ActiveCell.Column.Key == "MEMO" || ultraGridJg.ActiveCell.Column.Key == "JG_MEMO") { PopupTextBox p = new PopupTextBox(ultraGridJg.ActiveCell.Value.ToString()); p.UltraPanel1.Visible = false; p.TxtInfo.ReadOnly = true; p.Show(); } } } }