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 System.Collections; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.SaleOrder.Dialog; namespace Core.StlMes.Client.SaleOrder { public partial class frmOrderDeliveryReview : FrmBase { public frmOrderDeliveryReview() { InitializeComponent(); this.IsLoadUserView = true; } private string[] dataArr = null; public frmOrderDeliveryReview(OpeBase _ob, string[] arr) { InitializeComponent(); this.IsLoadUserView = true; this.ob = _ob; this.CustomInfo = "CHGE"; dataArr = new string[arr.Length]; dataArr = arr; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); foreach (UltraGridColumn col in ultraGrid1.DisplayLayout.Bands[0].Columns) { col.SortIndicator = SortIndicator.Disabled; } } /// /// 来自于哪个界面 1交货期评审提报 2 交货期评审 3 合同行变更时的交货期 /// private string statusFrom = ""; // private void frmOrderDeliveryReview_Load(object sender, EventArgs e) { //默认查询当前日期-1月——当前日期数据。 udtEnd.DateTime = DateTime.Now; udtStart.DateTime = DateTime.Now.AddMonths(-1); if (this.CustomInfo.Contains("REPORT")) //交货期评审提报 { statusFrom = "1"; } else if (this.CustomInfo.Contains("CHGE")) //合同变更 { statusFrom = "3"; } else //交货期评审 { statusFrom = "2"; } } /// /// 重写基类toolBar方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(); break; case "doReport": doReport(); break; case "doCancel": doCancel(); break; case "doClose": this.Close(); break; case "Cycle": DoCycle(); break; case "InPutMpsNo": InPutMpsNo(); break; case "Update": UpdateDelivery(); break; //分界面 case "doOk": this.doOk(); break; case "doReviewNotPass": this.doReviewNotPass(); break; //------合同行变更交货期界面------ case "ChgeQuery": this.ChgeQuery(); break; case "ChgeUpdate": UpdateDeliveryChge(); break; } } /// /// 维护MPS编号 /// private void InPutMpsNo() { UltraGridRow ugr = ultraGHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择一个需要维护MPS编号的合同!"); return; } string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); //判断选择的合同是否需要维护MPS编号 DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getMpsFlag", new object[] { ordPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { if (!dt.Rows[0][0].ToString().Contains("1")) { MessageUtil.ShowWarning("您选择的合同不需要维护MPS编号!"); return; } } else { MessageUtil.ShowWarning("您选择的合同合同行出现异常!"); return; } FrmInPutMpsNo pmn = new FrmInPutMpsNo(this.ob, ordPk); pmn.ShowDialog(); doQuery(); foreach (UltraGridRow uRow in ultraGHead.Rows) { if (uRow.Cells["ORD_PK"].Value.ToString() == ordPk) { uRow.Activate(); break; } } } /// /// 修改交货行的信息。替代之前的"保存“与”删除“ /// private void UpdateDelivery() { UltraGridRow row = ultraGridOrderLine.ActiveRow; if (row == null) { MessageUtil.ShowWarning("请选择你要修改的合同行!"); return; } if (row.HasParent()) row = row.ParentRow; //合同行变更时交货期。 if (statusFrom == "3") { string lnPk = row.Cells["ORD_LN_PK"].Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.selectOrderLine", new object[] { lnPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString(); string isLock = dt.Rows[0]["ISLOCK"].ToString(); if (isLock != "1") { MessageUtil.ShowWarning("您选择的合同行尚未锁定!"); return; } if (lnStatus != "12020202") { MessageUtil.ShowWarning("您选择的合同行尚未通过技术评审!"); return; } } else { MessageUtil.ShowWarning("您选择的合同行已不存在!"); return; } } UltraGridRow ugr = ultraGHead.ActiveRow; string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); DataTable stsDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getOrdStatus", new object[] { ordPk }, this.ob); if (stsDt != null && stsDt.Rows.Count > 0) { string ordSts = stsDt.Rows[0][0].ToString(); if (ordSts != "12020202" && ordSts != "12020211") { MessageUtil.ShowWarning("只有技术评审通过和交货期评审失败的状态才可以修改交货期!"); return; } } else { MessageUtil.ShowWarning("您选择的合同已被删除!"); return; } string orderunit = ""; //订货单位 string shrow = ""; //收货单位 string enTotalLen = ""; //保总长 string lenUnit = ""; //长度单位 string specCode = ""; //产品规格代码 orderunit = row.Cells["ORDER_UNIT"].Value.ToString(); if (row.HasParent()) { shrow = row.Cells["RECEIV_NM"].Value == null ? "" : row.Cells["RECEIV_NM"].Value.ToString(); enTotalLen = row.ParentRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString(); lenUnit = row.ParentRow.Cells["LEN_UNIT"].Value.ToString(); specCode = row.ParentRow.Cells["SPEC_CODE"].Value.ToString(); } else { shrow = row.ChildBands[0].Rows[0].Cells["RECEIV_NM"].Value == null ? "" : row.ChildBands[0].Rows[0].Cells["RECEIV_NM"].Value.ToString(); enTotalLen = row.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString(); lenUnit = row.Cells["LEN_UNIT"].Value.ToString(); specCode = row.Cells["SPEC_CODE"].Value.ToString(); } DataTable dlyDt = new DataTable(); frmOrderDelivery fod = new frmOrderDelivery(this.ob); fod.OrderNo = row.Cells["ORD_LN_PK"].Value.ToString(); string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString(); fod.NumWt = row.Cells["ORDER_QTY"].Value.ToString(); fod.OrderUnit = orderunit; fod.LenUnit = lenUnit; fod.SaleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); fod.ShRow = shrow; fod.FromForm = "1"; fod.ManageNo = ordPk; fod.OrderNo = ordLnPk; fod.Order_line_lne = Convert.ToDouble(enTotalLen == "" ? "0" : enTotalLen); fod.Spec_code = specCode; fod.ShowDialog(); dlyDt = fod.DlyDt; doQuery(); foreach (UltraGridRow uRow in ultraGHead.Rows) { if (uRow.Cells["ORD_PK"].Value.ToString().Equals(ordPk)) { uRow.Activate(); DoCycle(); break; } } foreach (UltraGridRow cRow in ultraGridOrderLine.Rows) { if (cRow.Cells["ORD_LN_PK"].Value.ToString().Equals(ordLnPk)) { cRow.Activate(); break; } } if (fod.DialogResult != DialogResult.OK) return; string strLine = ""; for (int k = 0; k < dlyDt.Rows.Count; k++) { string ordLnDlyPk = dlyDt.Rows[k]["ORD_LN_DLY_PK"].ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderLine.getOrderDlyTransit", new object[] { ordLnDlyPk }, this.ob); string trasLine = ""; for (int n = 0; n < dt.Rows.Count; n++) { string agency = dt.Rows[n]["AGENCY_FL"].ToString(); if (agency == "0" || agency == "2") //买方线路 { if (agency == "0") trasLine += " 买方线路:"; else { trasLine += " 买方线路(买方代办):"; } if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "") trasLine = trasLine + "运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString(); if (dt.Rows[n]["DESTINATION"].ToString() != "") trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString(); if (dt.Rows[n]["STATION_NO"].ToString() != "") trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString(); if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "") trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString(); if (dt.Rows[n]["PORT_NO"].ToString() != "") trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString(); if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "") trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString(); if (dt.Rows[n]["RECEIVOR"].ToString() != "") trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString(); } else { trasLine += " TPCO代办线路:"; if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "") trasLine = trasLine + " 运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString(); if (dt.Rows[n]["DESTINATION"].ToString() != "") trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString(); if (dt.Rows[n]["STATION_NO"].ToString() != "") trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString(); if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "") trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString(); if (dt.Rows[n]["PORT_NO"].ToString() != "") trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString(); if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "") trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString(); if (dt.Rows[n]["RECEIVOR"].ToString() != "") trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString(); } trasLine = trasLine + ";"; } strLine += "交货量:" + dlyDt.Rows[k]["DELVRY_QTY"].ToString() + ";交货日期:" + dlyDt.Rows[k]["DELVRY_EDATE"].ToString() + ";收货单位:" + dlyDt.Rows[k]["RECEIV_NM"].ToString() + ";交货地点:" + dlyDt.Rows[k]["DELVRY_ADDR"].ToString() + trasLine + "\r\n";//;运输方案:" + orderDerlivery.Tables[i].Rows[k]["TRANSIT_PLAN"].ToString() + "\r\n"; } UltraGridRow ugrLine = ultraGridOrderLine.ActiveRow; ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.setOrderLineDlyEtime", new object[] { ugrLine.Cells["ORD_LN_PK"].Value.ToString(), ugrLine.Cells["DELVRY_EDATE"].Value.ToString(), strLine }, this.ob); } private void UpdateDeliveryChge() { UltraGridRow row = ultraGridOrderLine.ActiveRow; if (row == null) { MessageUtil.ShowWarning("请选择你要修改的合同行!"); return; } if (row.HasParent()) row = row.ParentRow; //合同行变更时交货期。 if (statusFrom == "3") { string lnPk = row.Cells["ORD_LN_PK"].Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.selectOrderLine", new object[] { lnPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString(); string isLock = dt.Rows[0]["ISLOCK"].ToString(); if (isLock != "1") { MessageUtil.ShowWarning("您选择的合同行尚未锁定!"); return; } if (lnStatus != "12020202") { MessageUtil.ShowWarning("您选择的合同行尚未通过技术评审!"); return; } } else { MessageUtil.ShowWarning("您选择的合同行已不存在!"); return; } } UltraGridRow ugr = ultraGHead.ActiveRow; string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); string orderunit = ""; //订货单位 string shrow = ""; //收货单位 string enTotalLen = ""; //保总长 string lenUnit = ""; //长度单位 string specCode = ""; //产品规格代码 orderunit = row.Cells["ORDER_UNIT"].Value.ToString(); if (row.HasParent()) { shrow = row.Cells["RECEIV_NM"].Value == null ? "" : row.Cells["RECEIV_NM"].Value.ToString(); enTotalLen = row.ParentRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString(); lenUnit = row.ParentRow.Cells["LEN_UNIT"].Value.ToString(); specCode = row.ParentRow.Cells["SPEC_CODE"].Value.ToString(); } else { shrow = row.ChildBands[0].Rows[0].Cells["RECEIV_NM"].Value == null ? "" : row.ChildBands[0].Rows[0].Cells["RECEIV_NM"].Value.ToString(); enTotalLen = row.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString(); lenUnit = row.Cells["LEN_UNIT"].Value.ToString(); specCode = row.Cells["SPEC_CODE"].Value.ToString(); } DataTable dlyDt = new DataTable(); frmOrderDelivery fod = new frmOrderDelivery(this.ob); fod.OrderNo = row.Cells["ORD_LN_PK"].Value.ToString(); string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString(); fod.NumWt = row.Cells["ORDER_QTY"].Value.ToString(); fod.OrderUnit = orderunit; fod.LenUnit = lenUnit; fod.SaleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); fod.ShRow = shrow; fod.FromForm = "3"; fod.ManageNo = ordPk; fod.OrderNo = ordLnPk; fod.Order_line_lne = Convert.ToDouble(enTotalLen == "" ? "0" : enTotalLen); fod.Spec_code = specCode; fod.ShowDialog(); dlyDt = fod.DlyDt; doQuery(); foreach (UltraGridRow uRow in ultraGHead.Rows) { if (uRow.Cells["ORD_PK"].Value.ToString().Equals(ordPk)) { uRow.Activate(); DoCycle(); break; } } foreach (UltraGridRow cRow in ultraGridOrderLine.Rows) { if (cRow.Cells["ORD_LN_PK"].Value.ToString().Equals(ordLnPk)) { cRow.Activate(); break; } } if (fod.DialogResult != DialogResult.OK) return; string strLine = ""; for (int k = 0; k < dlyDt.Rows.Count; k++) { string ordLnDlyPk = dlyDt.Rows[k]["ORD_LN_DLY_PK"].ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderLine.getOrderDlyTransit", new object[] { ordLnDlyPk }, this.ob); string trasLine = ""; for (int n = 0; n < dt.Rows.Count; n++) { string agency = dt.Rows[n]["AGENCY_FL"].ToString(); if (agency == "0" || agency == "2") //买方线路 { if (agency == "0") trasLine += " 买方线路:"; else { trasLine += " 买方线路(买方代办):"; } if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "") trasLine = trasLine + "运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString(); if (dt.Rows[n]["DESTINATION"].ToString() != "") trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString(); if (dt.Rows[n]["STATION_NO"].ToString() != "") trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString(); if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "") trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString(); if (dt.Rows[n]["PORT_NO"].ToString() != "") trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString(); if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "") trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString(); if (dt.Rows[n]["RECEIVOR"].ToString() != "") trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString(); } else { trasLine += " TPCO代办线路:"; if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "") trasLine = trasLine + " 运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString(); if (dt.Rows[n]["DESTINATION"].ToString() != "") trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString(); if (dt.Rows[n]["STATION_NO"].ToString() != "") trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString(); if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "") trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString(); if (dt.Rows[n]["PORT_NO"].ToString() != "") trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString(); if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "") trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString(); if (dt.Rows[n]["RECEIVOR"].ToString() != "") trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString(); } trasLine = trasLine + ";"; } strLine += "交货量:" + dlyDt.Rows[k]["DELVRY_QTY"].ToString() + ";交货日期:" + dlyDt.Rows[k]["DELVRY_EDATE"].ToString() + ";收货单位:" + dlyDt.Rows[k]["RECEIV_NM"].ToString() + ";交货地点:" + dlyDt.Rows[k]["DELVRY_ADDR"].ToString() + trasLine + "\r\n";//;运输方案:" + orderDerlivery.Tables[i].Rows[k]["TRANSIT_PLAN"].ToString() + "\r\n"; } UltraGridRow ugrLine = ultraGridOrderLine.ActiveRow; ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.setOrderLineDlyEtime", new object[] { ugrLine.Cells["ORD_LN_PK"].Value.ToString(), ugrLine.Cells["DELVRY_EDATE"].Value.ToString(), strLine }, this.ob); } /// /// 交货期评审失败 /// private void doReviewNotPass() { UltraGridRow ugr = ultraGHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择你要操作的合同!"); return; } //如果选择的是交货期评审失败的合同呢 if (ugr.Cells["ORDER_STS"].Text.Trim() == "12020211") { MessageUtil.ShowWarning("您选择的合同已经是”交货期评审失败状态“,不必重复操作!"); return; } if (MessageBox.Show("是否对所选合同进行评审不通过操作?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; dlgReviewMemo dlg = new dlgReviewMemo(); dlg.ReviewFlag = 0; dlg.ReviewSatus = "评审不通过"; dlg.ShowDialog(); string reviewMemo = dlg.ReviewMemo; if (dlg.DialogResult != DialogResult.OK) return; string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); string ordPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString(); //UpdateHeadStatus(ordPk, hStatus, hStatusDesc); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp.MethodName = "reviewBack"; ccp.ServerParams = new object[] { ordPk, name, dept, reviewMemo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageBox.Show(ccp.ReturnObject.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } doQuery(); } /// /// 交货期评审通过 /// private void doOk() { //12020212 UltraGridRow ugr = ultraGHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择你要操作的合同!"); return; } if (ugr.Cells["ORDER_STS"].Text.Trim() == "12020212") { MessageUtil.ShowWarning("您选择的合同已经是”交货期评审通过“,不能再评审通过!"); return; } //如果选择的是交货期评审失败的合同呢 if (ugr.Cells["ORDER_STS"].Text.Trim() == "12020211") { MessageUtil.ShowWarning("您选择的合同已经是”交货期评审失败状态“,不能再评审通过!"); return; } string ordPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString(); string hStatus = "12020212"; string hStatusDesc = "交货期评审通过"; if (MessageBox.Show("是否对选择的合同评审通过?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; //投入产能井操作 dlgReviewMemo dlg = new dlgReviewMemo(); dlg.ReviewFlag = 1; dlg.ReviewSatus = "评审通过"; dlg.ShowDialog(); string reviewMemo = dlg.ReviewMemo; if (dlg.DialogResult != DialogResult.OK) return; string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; //if (this.CustomInfo.ToString2().EndsWith("120504_0") || this.CustomInfo.ToString2().EndsWith("120504_1")) //{ // string startStatus = this.CustomInfo.ToString2().Split('_')[1].ToString2(); // string endStatus = (int.Parse(startStatus) + 1 ).ToString2(); // ccp.MethodName = "updateThExamineStatus"; // ccp.ServerParams = new object[] { ordPk, name, dept, reviewMemo, startStatus, endStatus }; //} //else { ccp.MethodName = "inputWell"; ccp.ServerParams = new object[] { ordPk, name, dept, reviewMemo, saleOrg }; //} ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; if (ccp != null) { if (ccp.ReturnCode == -1) { if (ccp.ReturnObject != null) { MessageUtil.ShowWarning(ccp.ReturnObject.ToString()); return; } else { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } } } doQuery(); //UpdateHeadStatus(ordPk, hStatus, hStatusDesc); } /// /// 取消提报 /// private void doCancel() { if (ultraGHead.ActiveRow == null) { MessageBox.Show("请选择你要操作的合同!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (MessageBox.Show("是否确认撤销提报?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; //1. 判断当前选中合同行交货期是否满足。 //2. 满足。 string ordPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString(); //string hStatus = "12020202"; //string hStatusDesc = "技术评审通过"; //UpdateHeadStatus(ordPk, hStatus, hStatusDesc); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp.MethodName = "updateOrderStatusCancel"; ccp.ServerParams = new object[] { ordPk, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageBox.Show(ccp.ReturnObject.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } doQuery(); } /// /// 确认功能,提报 /// private void doReport() { if (ultraGHead.ActiveRow == null) { MessageBox.Show("请选择要操作的合同!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } UltraGridRow ugr = ultraGHead.ActiveRow; string ordPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString(); // string hStatus = "12020210"; // string hStatusDesc = "待交货期评审"; //判断交货行的交货量是否等于合同行的交货量! //ORD_PK --合同行--每个合同行的交货行的总量 if (ultraGHead.ActiveRow.Cells["ORDER_STS"].Value.ToString() == "12020210") { MessageBox.Show("您所选合同已处于[待交货期评审]状态,不必重复提报!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp.MethodName = "isMeetDelivery"; ccp.ServerParams = new object[] { ordPk }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp != null) { if (ccp.ReturnCode == -1 || ccp.ReturnObject.ToString().Equals("N")) { MessageUtil.ShowWarning("您选择的合同的交货量与订货量不一致,不能提报!"); return; } } DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getOrderDeliveryStatus", new object[] { ordPk }, this.ob); List list = new List(); foreach (DataRow dr in dt.Rows) { list.Add(dr["PRDCYC_MEET"].ToString()); } if (list.Contains("等待") || list.Count <= 0) { MessageUtil.ShowWarning("请先对要提报的合同进行交货期分析!"); return; } //卡住MPS的输入 DataTable mpsDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getLineMpsComplete", new object[] { ordPk }, this.ob); list = new List(); foreach (DataRow dr in mpsDt.Rows) { list.Add(dr[0].ToString()); } if (list.Contains("1")) { MessageUtil.ShowWarning("确认后的MPS编号不存在或者MPS编号对应的MPS文本尚未维护,不能提报!"); return; } //1. 判断当前选中合同行交货期是否满足。(这里需要到数据库验证) if (ultraGHead.ActiveRow.Cells["ISDELIVERYD"].Value.ToString() == "满足") { if (MessageBox.Show("是否提报选择的合同!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; } else { //if (MessageBox.Show("您选择的合同交货期不满足,是否继续提报?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) // return; MessageBox.Show("您选择的合同交货期不满足,不能提报!请按系统分析的交货期调整", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //UpdateHeadStatus(ordPk, hStatus, hStatusDesc); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); CoreClientParam ccp1 = new CoreClientParam(); ccp1.IfShowErrMsg = false; ccp1.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp1.MethodName = "updateOrderStatusReport"; ccp1.ServerParams = new object[] { ordPk, UserInfo.GetUserName(), dept }; ccp1 = this.ExecuteNonQuery(ccp1, CoreInvokeType.Internal); if (ccp1 == null) return; else { if (ccp1.ReturnCode == -1) { MessageBox.Show(ccp1.ReturnObject.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } doQuery(); } /// /// 修正合同头状态 /// /// private void UpdateHeadStatus(string ordPk, string hStatus, string hStatusDesc) { //获取当前选中合同头主键,修正当前合同头主键下面全部合同行,全部交货行状态为交货期评审通过。 //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp.MethodName = "UpdateHeadStatus"; ccp.ServerParams = new object[] { ordPk, hStatus, hStatusDesc }; try { ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); } catch (Exception ex) { MessageBox.Show("错误提示:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ccp.ReturnCode == -1) { return; } else { MessageBox.Show("操作成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); doQuery(); foreach (UltraGridRow row in ultraGHead.Rows) { if (ordPk.Equals(row.Cells["ORD_PK"].Value.ToString())) { row.Activate(); break; } } } } /// /// 查询出技术评审通过的合同头信息。 /// private void doQuery() { string orderNo = utxtOrderNo.Text.Trim(); string isDeliveryD = ""; if (uchkIsDeliveryD.Checked) { isDeliveryD = "0"; } else { isDeliveryD = "1"; } string orderStart = "1000-01-01 00:00:01"; string orderEnd = "9999-12-31 23:59:59"; TimeSpan ts = udtEnd.DateTime.Subtract(udtStart.DateTime); if (ts.TotalDays < 0) { MessageBox.Show("创建开始日期必须小于创建结束日期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string valid = "1"; if (chkValid.Checked) { valid = "0"; } else { valid = "1"; } if (uchkDate.Checked) { orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01"; orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59"; } string[] arr = this.ValidDataPurviewIds; string supp = this.CustomInfo.Contains("120504") ? "120504" : ""; if (this.CustomInfo.ToString2().Equals("REVIEW")) { supp = "120501"; } string thExamineStatus = ""; //if (this.CustomInfo.ToString2().EndsWith("120504_0") || this.CustomInfo.ToString2().EndsWith("120504_1") || this.CustomInfo.ToString2().EndsWith("120504_2")) //{ // thExamineStatus = this.CustomInfo.ToString2().Split('_')[1].ToString2(); //} DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.doQuery", new Object[] { orderNo, isDeliveryD, orderStart, orderEnd, valid, statusFrom, arr, supp, thExamineStatus }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true); dataTable1.Clear(); string status = "满足"; string status1 = "不满足"; string status2 = "等待"; if (dt.Rows.Count > 0) { foreach (UltraGridRow row in ultraGHead.Rows) { if ("1".Equals(row.Cells["ISDELIVERYD"].Value)) { row.Cells["ISDELIVERYD"].Value = status; } else if ("2".Equals(row.Cells["ISDELIVERYD"].Value)) { row.Cells["ISDELIVERYD"].Value = status2; } else { row.Cells["ISDELIVERYD"].Value = status1; } if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value)) { row.Cells["CUSTOMER_MODEL_FL"].Value = status; } else { row.Cells["CUSTOMER_MODEL_FL"].Value = status1; } if ("1".Equals(row.Cells["VALIDFLAG"].Value)) { row.Cells["VALIDFLAG"].Value = true; row.Appearance.ForeColor = Color.Black; } else { row.Cells["VALIDFLAG"].Value = false; row.Appearance.ForeColor = Color.Red; } } //列自适应 GridHelper.RefreshAndAutoSizeExceptRows(ultraGHead, new UltraGridColumn[] { }); ultraGHead.UpdateData(); } else { slm_order_line_delivery.Rows.Clear(); slm_order_line.Rows.Clear(); } } private void bindSlmOrderLine(string orderPk) { if (ultraGHead.ActiveRow == null) { MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } this.slm_order_line_delivery.Rows.Clear(); this.slm_order_line.Clear(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.GetOrderLine", new Object[] { orderPk, statusFrom }, this.ob); DataTable deliveryDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.GetOrderLineDelivery", new Object[] { orderPk, statusFrom }, this.ob); 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]; //主表不可编辑 DataRow[] dr = slm_order_line_delivery.Select("ORD_LN_PK = '" + row.Cells["ORD_LN_PK"].Value.ToString() + "'", "DELVRY_EDATE DESC"); if (dr.Length > 0) { row.Cells["DELVRY_EDATE"].Value = dr[0]["DELVRY_EDATE"].ToString(); } for (int k = 0; k < ultraGridOrderLine.Rows[i].Cells.Count; k++) { ultraGridOrderLine.Rows[i].Cells[k].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } //从表不可编辑。 string strStatus = "满足"; UltraGridRow rowChind = null; ArrayList list = new ArrayList(); for (int j = 0; j < ultraGridOrderLine.Rows[i].ChildBands[0].Rows.Count; j++) { rowChind = ultraGridOrderLine.Rows[i].ChildBands[0].Rows[j]; if ("等待".Equals(rowChind.Cells["PRDCYC_MEET"].Value.ToString())) { list.Add("a"); } else if ("不满足".Equals(rowChind.Cells["PRDCYC_MEET"].Value.ToString())) { list.Add("b"); } } if (list.Count <= 0) { strStatus = "满足"; } else { if (list.Contains("b")) { strStatus = "不满足"; } else { strStatus = "等待"; } } //STATUS,状态字段: row.Cells["STATUS"].Value = strStatus; row.Cells["PlineSelect"].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(); } //列自适应 UltraGridColumn[] col = new UltraGridColumn[] { ultraGridOrderLine.DisplayLayout.Bands[0].Columns["LEN_DESC"], ultraGridOrderLine.DisplayLayout.Bands[0].Columns["STD_NAME"] , ultraGridOrderLine.DisplayLayout.Bands[0].Columns["PSC_DESC"] }; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGridOrderLine, col); ultraGridOrderLine.UpdateData(); } /// /// 带出合同行信息和交货行信息。 /// /// /// private void ultraGHead_AfterRowActivate(object sender, EventArgs e) { if (ultraGHead.ActiveRow != null) { string orderPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString(); bindSlmOrderLine(orderPk); } dataTable2.Clear(); dataTable1.Clear(); } private void uchkOrderNo_CheckedChanged(object sender, EventArgs e) { utxtOrderNo.ReadOnly = !uchkOrderNo.Checked; } /// /// 创建日期是否有效 /// /// /// private void uchkDate_CheckedChanged(object sender, EventArgs e) { if (uchkDate.Checked) { udtStart.ReadOnly = false; udtEnd.ReadOnly = false; } else { udtStart.ReadOnly = true; udtEnd.ReadOnly = true; } } /// /// cellChange事件 /// /// /// private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key.Equals("DELVRY_EDATE")) return; ultraGridOrderLine.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { if (Convert.ToBoolean(e.Cell.Value)) { for (int i = 0; i < e.Cell.Row.Cells.Count; i++) { e.Cell.Row.Cells[i].Activation = Activation.AllowEdit; } } else { for (int i = 0; i < e.Cell.Row.Cells.Count; i++) { if (e.Cell.Row.Cells[i].Column.Key.Equals("CHK")) { e.Cell.Row.Cells[i].Activation = Activation.AllowEdit; } else e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly; } } } } private string deliveryInsertPk = ""; private int deliveryInsertSeq = 0; /// /// 子表新增行时触发事件 /// /// /// private void ultraGridOrderLine_AfterRowInsert(object sender, RowEventArgs e) { // UltraGridRow ugr = ultraGridOrderLine.ActiveRow; // if (ugr == null) // return; // if (!ugr.HasParent()) // return; // if (Convert.ToBoolean(ugr.Cells["CHK"].Value)) // { // for (int i = 0; i < ugr.Cells.Count; i++) // { // ugr.Cells[i].Activation = Activation.AllowEdit; // } // } // else // { // for (int i = 0; i < ugr.Cells.Count; i++) // { // if (ugr.Cells[i].Column.Key.Equals("CHK")) // ugr.Cells[i].Activation = Activation.AllowEdit; // else // ugr.Cells[i].Activation = Activation.ActivateOnly; // } // } // string ordLnPk = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["ORD_LN_PK"].Value.ToString(); // //判断全局变量是否为空,不为空,则001+1,补0,组合,赋值即可。 // if ("".Equals(deliveryInsertPk)) // { // //从数据库中去获取最大交货行主键,存入全局变量。35位+001 // string deliveryMaxPk = GetDeliveryMaxPk(ordLnPk); // if ("".Equals(deliveryMaxPk)) // { // deliveryInsertPk = ordLnPk; // deliveryInsertSeq = 1; // } // else // { // deliveryInsertPk = ordLnPk; // deliveryInsertSeq = Convert.ToInt32(deliveryMaxPk.Substring(35)) + 1; // } // } // else // { // deliveryInsertSeq++; // } // string deliveryInsertSeqStr = deliveryInsertSeq.ToString(); // while (deliveryInsertSeqStr.Length < 3) // { // deliveryInsertSeqStr = "0" + deliveryInsertSeqStr; // } // //ORD_PK,ORD_LN_PK,ORD_LN_DLY_PK,DELIVERY_NO,DELVRY_EDATE,DELVRY_QTY,ORDER_UNIT,WGT_ESTMT,RECEIV_NO,RECEIV_NM // e.Row.Cells["ORD_PK"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["ORD_PK"].Value; // e.Row.Cells["ORD_LN_PK"].Value = ordLnPk; // e.Row.Cells["ORD_LN_DLY_PK"].Value = ordLnPk + deliveryInsertSeqStr; // e.Row.Cells["DELIVERY_NO"].Value = deliveryInsertSeqStr; // e.Row.Cells["DELVRY_EDATE"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["DELVRY_EDATE"].Value; // e.Row.Cells["DELVRY_QTY"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["DELVRY_QTY"].Value; // e.Row.Cells["ORDER_UNIT"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["ORDER_UNIT"].Value; // e.Row.Cells["WGT_ESTMT"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["WGT_ESTMT"].Value; // e.Row.Cells["RECEIV_NO"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["RECEIV_NO"].Value; // e.Row.Cells["RECEIV_NM"].Value = e.Row.ParentRow.ChildBands[0].Rows[0].Cells["RECEIV_NM"].Value; } /// /// 获取当前选中合同行向下最大交货行主键 /// /// /// private string GetDeliveryMaxPk(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.GetDeliveryMaxPk", new Object[] { ordLnPk }, this.ob); return dt.Rows[0][0].ToString(); } private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = this.ultraGridOrderLine.ActiveRow; if (ugr != null) { if (ugr.HasParent()) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getMscPLPCLST", new object[] { ugr.Cells["ORD_LN_DLY_PK"].Value.ToString() }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); if (dt == null || dt.Rows.Count <= 0) dataTable2.Clear(); if (Convert.ToBoolean(ugr.Cells["CHK"].Value)) { for (int i = 0; i < ugr.Cells.Count; i++) { ugr.Cells[i].Activation = Activation.AllowEdit; } } else { for (int i = 0; i < ugr.Cells.Count; i++) { if (ugr.Cells[i].Column.Key.Equals("CHK")) { ugr.Cells[i].Activation = Activation.AllowEdit; } else ugr.Cells[i].Activation = Activation.ActivateOnly; } } } else { deliveryInsertPk = ""; deliveryInsertSeq = 0; dataTable2.Clear(); dataTable1.Clear(); for (int i = 0; i < ugr.ChildBands[0].Rows.Count; i++) { ugr.ChildBands[0].Rows[i].Cells["CHK"].Value = true; } } } //ultraGridOrderLine.UpdateData(); } /// /// 交货期分析 这里曾经出现一个70行的合同 计算过久导致服务端与客户端失去联系 从而报错! 所以后来改为单行分析。 /// private void DoCycle() { UltraGridRow ugr = ultraGHead.ActiveRow; //合同头GRID if (ugr == null) { MessageUtil.ShowWarning("请选择您要分析的合同!"); return; } this.Cursor = Cursors.WaitCursor; string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString(); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview"; ccp.MethodName = "castWell"; ccp.ServerParams = new object[] { ordPk, ordLnPk, CustomInfo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp != null) { if (ccp.ReturnCode == -1) { MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); row.Activate(); row.ExpandAll(); this.Cursor = Cursors.Default; return; } } } doQuery(); foreach (UltraGridRow uRow in ultraGHead.Rows) { if (uRow.Cells["ORD_PK"].Value.ToString().Equals(ordPk)) { uRow.Activate(); foreach (UltraGridRow uLineRow in ultraGridOrderLine.Rows) { uLineRow.ExpandAll(); } break; } } this.Cursor = Cursors.Default; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; UltraGridRow ugrLine = ultraGridOrderLine.ActiveRow; UltraGridRow ugrHead = ultraGHead.ActiveRow; if (ugr == null) { dataTable2.Clear(); } if (ugr == null || ugrLine == null || ugrHead == null) return; string designKey = ugrLine.Cells["DESGIN_KEY"].Value.ToString(); string processCode = ugr.Cells["PROCESS_CODE"].Value.ToString(); string saleOrg = ugrHead.Cells["SALE_ORG"].Value.ToString(); string time = ugr.Cells["REVIEW_ASK"].Value.ToString(); if (time == "") return; DateTime date = Convert.ToDateTime(time); int year = date.Year; int month = date.Month; string wellCode = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getWellCode", new object[] { designKey, processCode }, this.ob); if (dt != null && dt.Rows.Count > 0) { wellCode = dt.Rows[0][0].ToString(); } else { MessageUtil.ShowWarning("找不到对应的产能井!"); return; } //DesignKey -- Wellcode ---消耗信息,月产值信息 DataTable wellDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getWellDetail", new object[] { wellCode, saleOrg, year, month }, this.ob); GridHelper.CopyDataToDatatable(ref wellDt, ref dataTable2, true); } private void ultraGridOrderLine_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow ugr = ultraGridOrderLine.ActiveRow; if (ugr == null || ugr.HasParent()) return; if (e.Cell.Column.Key.Equals("PlineSelect")) { string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString().Trim(); frmPlineSelected fps = new frmPlineSelected(ordLnPk, this.ob); fps.ShowDialog(); } } private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) doQuery(); } /// /// 查询出技术评审通过的合同头信息。 /// private void ChgeQuery() { string orderNo = utxtOrderNo.Text.Trim(); string isDeliveryD = ""; if (uchkIsDeliveryD.Checked) { isDeliveryD = "0"; } else { isDeliveryD = "1"; } string orderStart = "1000-01-01 00:00:00"; string orderEnd = "9999-12-31 23:59:59"; TimeSpan ts = udtEnd.DateTime.Subtract(udtStart.DateTime); if (ts.TotalDays < 0) { MessageBox.Show("创建开始日期必须小于创建结束日期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string valid = "1"; if (chkValid.Checked) { valid = "0"; } else { valid = "1"; } if (uchkDate.Checked) { orderStart = udtStart.DateTime.ToShortDateString() + " 00:00:01"; orderEnd = udtEnd.DateTime.ToShortDateString() + " 23:59:59"; } string[] arr = this.dataArr; string supp = this.CustomInfo.Contains("120504") ? "120504" : ""; if (orderNo.StartsWith("TH")) { supp = "120504"; } DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.doQuery", new Object[] { orderNo, isDeliveryD, orderStart, orderEnd, valid, statusFrom, arr, supp }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true); dataTable1.Clear(); string status = "满足"; string status1 = "不满足"; string status2 = "等待"; if (dt.Rows.Count > 0) { foreach (UltraGridRow row in ultraGHead.Rows) { if ("1".Equals(row.Cells["ISDELIVERYD"].Value)) { row.Cells["ISDELIVERYD"].Value = status; } else if ("2".Equals(row.Cells["ISDELIVERYD"].Value)) { row.Cells["ISDELIVERYD"].Value = status2; } else { row.Cells["ISDELIVERYD"].Value = status1; } if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value)) { row.Cells["CUSTOMER_MODEL_FL"].Value = status; } else { row.Cells["CUSTOMER_MODEL_FL"].Value = status1; } if ("1".Equals(row.Cells["VALIDFLAG"].Value)) { row.Cells["VALIDFLAG"].Value = true; row.Appearance.ForeColor = Color.Black; } else { row.Cells["VALIDFLAG"].Value = false; row.Appearance.ForeColor = Color.Red; } } //列自适应 GridHelper.RefreshAndAutoSizeExceptRows(ultraGHead, new UltraGridColumn[] { }); ultraGHead.UpdateData(); } else { slm_order_line_delivery.Rows.Clear(); slm_order_line.Rows.Clear(); } } } }