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 com.steering.pss.plnsaleord.order.model; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Server; using Infragistics.Win; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using Core.Mes.Client.Comm; using Core.Mes.Client.Comm.Control; using System.Diagnostics; using com.steering.pss.plnsaleord.ordAmCal.model; using System.Reflection; using Core.StlMes.Client.PlnSaleOrd.Control; using Core.StlMes.Client.PlnSaleOrd.Entity; using Core.Mes.Client.Comm.Format; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmPlnSaleOrder : FrmBase { public FrmPlnSaleOrder() { this.IsLoadUserView = true; InitializeComponent(); EntityHelper.ShowGridCaption(ultraGridSaleOrder.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(gdMat.DisplayLayout.Bands[0]); System.Threading.Thread t = new System.Threading.Thread(setGridColunmName); t.Start(); } /// /// 用于查询利库数据的参数 /// ArrayList listLiku = new ArrayList(); private void setGridColunmName() { System.Threading.Thread.Sleep(3000); if (!this.IsDisposed) { EntityHelper.ShowGridCaption(ultraGridSaleOrder.DisplayLayout.Bands[0]); } } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": //查询 DoQuery(GetQueryCondition()); break; case "Accept"://合同接收 DoReceive(); break; case "CancelAcp"://合同退回 CancelAcp(); break; case "MonthStatist"://统计报表 DoMonthStatist(); break; case "RefresDate"://刷新加载数据 RefresDate(); DoQuery(GetQueryCondition()); break; case "confirm"://销售确认 DoConfirm(); break; case "cancelConfirm"://销售取消确认 DoCancelConfirm(); break; case "LiKu"://销售利库 ReportLiKu(); break; case "Export": GridHelper.ulGridToExcel(ultraGridSaleOrder, "销售合同提报信息"); break; case "Close": //关闭 this.Close(); break; } } private void DoCancelConfirm() { ultraGridSaleOrder.UpdateData(); IQueryable checkRows = ultraGridSaleOrder.Rows.AsQueryable().Where("CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选任何合同!"); return; } ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); foreach (UltraGridRow uRow in checkRows) { DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { continue; } if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("0")) { MessageUtil.ShowTips(uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已接收,无法取消确认!"); return; } ReportOrderLineDelivery reportModel = new ReportOrderLineDelivery(); string specCode = uRow.Cells["SPECCODE"].Value.ToString(); string ordUnit = uRow.Cells["ORDERUNIT"].Value.ToString(); string elimNum = ""; //脱单量 string elimWgt = ""; string elimLen = ""; string chargeNum = ""; //利库量 string chargeWgt = ""; string chargeLen = ""; //新增 利库量 脱单量的处理逻辑 DataTable dt2 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getProcessOrderInfo", new object[] { uRow.Cells["ORDLNDLYPK"].Value.ToString() }, ob); if (dt2 != null && dt2.Rows.Count > 0) { elimNum = dt2.Rows[0]["ELIM_NUM"].ToString(); elimWgt = dt2.Rows[0]["ELIM_WGT"].ToString(); elimLen = dt2.Rows[0]["ELIM_LEN"].ToString(); chargeNum = dt2.Rows[0]["CHARGE_NUM"].ToString(); chargeWgt = dt2.Rows[0]["CHARGE_WGT"].ToString(); chargeLen = dt2.Rows[0]["CHARGE_LEN"].ToString(); } // reportModel.OrderQty = row["DELVRY_QTY"].ToString(); 以前的提报量 //reportModel.Orderweight = row["ORDERWEIGHT"].ToString(); 估算重量 //reportModel.Totlength = row["TOTLENGTH"].ToString(); 保总长 decimal ordQty = Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()); //交货行的交货量 decimal repQty = 0; //提报量 订单量-利库量+脱单量 decimal estWgt = 0; //估算重量 decimal sureLen = 0; //保总长 if (ordUnit == "吨") { repQty = ordQty + Convert.ToDecimal(chargeWgt == "" ? "0" : chargeWgt) + Convert.ToDecimal(elimWgt == "" ? "0" : elimWgt); estWgt = repQty; sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "支") { repQty = ordQty + Convert.ToDecimal(chargeNum == "" ? "0" : chargeNum) + Convert.ToDecimal(elimNum == "" ? "0" : elimNum); estWgt = repQty; sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "米") { repQty = ordQty + Convert.ToDecimal(chargeLen == "" ? "0" : chargeLen) + Convert.ToDecimal(elimLen == "" ? "0" : elimLen); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "毫米") { repQty = ordQty + Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) * 1000)) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) * 1000)); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "英尺") { repQty = ordQty + Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) / Convert.ToDecimal(0.3048))) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) / Convert.ToDecimal(0.3048))); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "英镑") { repQty = ordQty + Convert.ToDecimal(chargeWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeWgt) / Convert.ToDecimal(0.45359237))) + Convert.ToDecimal(elimWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimWgt) / Convert.ToDecimal(0.45359237))); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } if (repQty <= 0) continue; reportModel.DelvryQty = ordQty.ToString(); reportModel.ChargeNum = chargeNum; reportModel.ChargeWgt = chargeWgt; reportModel.ChargeLen = chargeLen; reportModel.ElimNum = elimNum; reportModel.ElimWgt = elimWgt; reportModel.ElimLen = elimLen; // ORDER_QTY NUMBER(8,3), reportModel.OrderQty = Convert.ToString(repQty); // ORDERWEIGHT NUMBER(16,3),重量估算 reportModel.Orderweight = Convert.ToString(estWgt); // ORDERNUM NUMBER(10),合同支数,无。 reportModel.Ordernum = uRow.Cells["ORDERNUM"].Value.ToString(); // TOTLENGTH NUMBER(16,3),OrdEnsuTotlLen,总保长 reportModel.Totlength = Convert.ToString(sureLen); // ORDER_UNIT VARCHAR2(20), reportModel.OrderUnit = uRow.Cells["OrderUnit"].Value.ToString(); reportModel.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); ArrayList param = new ArrayList(); param.Add("0"); param.Add(reportModel.OrderQty); param.Add(reportModel.Orderweight); param.Add(reportModel.Ordernum); param.Add(reportModel.Totlength); param.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list1.Add(JSONFormat.Format(reportModel)); list.Add(param); } int succed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.updateConfirmXs", new object[] { list,list1 }, this.ob); if (succed > 0) { MessageUtil.ShowTips("取消确认成功"); DoQuery(GetQueryCondition()); } } public static decimal GetPrdctWgtNew(decimal ordernum, string orderunit, string psc, OpeBase ob) { decimal orderwgt = 0; //米单重 decimal dhweight = 0; ArrayList parm = new ArrayList(); //代表 米单重(数据来源于COM_BASE_SPEC表,通过产品规格编码获取,需要除以1000,将“公斤”转换成“吨”) //2015-06-17修改 基础数据维护公式计算,已将数据单位 米/吨。 if (orderunit == "米" || orderunit == "毫米" || orderunit == "英尺") { //查询数据库 DataTable dataWgt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetWeiGht", new Object[] { psc }, ob); if (dataWgt.Rows.Count > 0) { string di = dataWgt.Rows[0][0].ToString(); //外径 string he = dataWgt.Rows[0][1].ToString(); //壁厚 string ty = dataWgt.Rows[0][2].ToString(); //类型(A钢管(必须要填外径壁厚)、B管坯(只允许填外径) string fomula = ""; //公式 DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getBaseCode4052", null, ob); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][1].ToString().Equals(ty)) { fomula = dt.Rows[i][0].ToString(); break; } } if (!fomula.Equals("")) { fomula = fomula.Replace("外径", di); fomula = fomula.Replace("壁厚", he); decimal? result = fomula.CompileFormula(); if (result != null) orderwgt = (decimal)result; else { MessageBox.Show("质量管理-基础信息维护的米单重公式不合法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return 0; } } } //orderwgt = Convert.ToDouble(dataWgt.Rows[0][0]); } if (orderunit == "吨") { dhweight = ordernum; } else if (orderunit == "英镑") { dhweight = Convert.ToDecimal(ordernum * Convert.ToDecimal(0.45359237)); } else if (orderunit == "米") { dhweight = (ordernum * orderwgt); } else if (orderunit == "毫米") { dhweight = (ordernum * orderwgt) / 1000; } else if (orderunit == "英尺") { dhweight = Convert.ToDecimal(ordernum * Convert.ToDecimal(0.3048) * Convert.ToDecimal(orderwgt)); } else if (orderunit == "支") { dhweight = ordernum; } else if (orderunit == "个") { dhweight = ordernum; } return dhweight; } private void DoConfirm() { ultraGridSaleOrder.UpdateData(); IQueryable checkRows = ultraGridSaleOrder.Rows.AsQueryable().Where("CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选任何合同!"); return; } ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); foreach (UltraGridRow uRow in checkRows) { DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { continue; } if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("0")) { MessageUtil.ShowTips(uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已接收,无法确认!"); return; } ReportOrderLineDelivery reportModel = new ReportOrderLineDelivery(); string specCode = uRow.Cells["SPECCODE"].Value.ToString(); string ordUnit = uRow.Cells["ORDERUNIT"].Value.ToString(); string elimNum = ""; //脱单量 string elimWgt = ""; string elimLen = ""; string chargeNum = ""; //利库量 string chargeWgt = ""; string chargeLen = ""; //新增 利库量 脱单量的处理逻辑 DataTable dt2 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getProcessOrderInfo", new object[] { uRow.Cells["ORDLNDLYPK"].Value.ToString() }, ob); if (dt2 != null && dt2.Rows.Count > 0) { elimNum = dt2.Rows[0]["ELIM_NUM"].ToString(); elimWgt = dt2.Rows[0]["ELIM_WGT"].ToString(); elimLen = dt2.Rows[0]["ELIM_LEN"].ToString(); chargeNum = dt2.Rows[0]["CHARGE_NUM"].ToString(); chargeWgt = dt2.Rows[0]["CHARGE_WGT"].ToString(); chargeLen = dt2.Rows[0]["CHARGE_LEN"].ToString(); } // reportModel.OrderQty = row["DELVRY_QTY"].ToString(); 以前的提报量 //reportModel.Orderweight = row["ORDERWEIGHT"].ToString(); 估算重量 //reportModel.Totlength = row["TOTLENGTH"].ToString(); 保总长 decimal ordQty = Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()); //交货行的交货量 decimal repQty = 0; //提报量 订单量-利库量+脱单量 decimal estWgt = 0; //估算重量 decimal sureLen = 0; //保总长 if (ordUnit == "吨") { repQty = ordQty - Convert.ToDecimal(chargeWgt == "" ? "0" : chargeWgt) + Convert.ToDecimal(elimWgt == "" ? "0" : elimWgt); estWgt = repQty; sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "支") { repQty = ordQty - Convert.ToDecimal(chargeNum == "" ? "0" : chargeNum) + Convert.ToDecimal(elimNum == "" ? "0" : elimNum); estWgt = repQty; sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "米") { repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : chargeLen) + Convert.ToDecimal(elimLen == "" ? "0" : elimLen); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "毫米") { repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) * 1000)) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) * 1000)); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "英尺") { repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) / Convert.ToDecimal(0.3048))) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) / Convert.ToDecimal(0.3048))); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } else if (ordUnit == "英镑") { repQty = ordQty - Convert.ToDecimal(chargeWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeWgt) / Convert.ToDecimal(0.45359237))) + Convert.ToDecimal(elimWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimWgt) / Convert.ToDecimal(0.45359237))); estWgt = GetPrdctWgtNew(repQty, ordUnit, specCode, ob); sureLen = repQty / Convert.ToDecimal(uRow.Cells["ORDERQTY"].Value.ToString()) * Convert.ToDecimal(uRow.Cells["TOTLENGTH"].Value.ToString3()); } if (repQty <= 0) continue; reportModel.DelvryQty = ordQty.ToString(); reportModel.ChargeNum = chargeNum; reportModel.ChargeWgt = chargeWgt; reportModel.ChargeLen = chargeLen; reportModel.ElimNum = elimNum; reportModel.ElimWgt = elimWgt; reportModel.ElimLen = elimLen; // ORDER_QTY NUMBER(8,3), reportModel.OrderQty = Convert.ToString(repQty); // ORDERWEIGHT NUMBER(16,3),重量估算 reportModel.Orderweight = Convert.ToString(estWgt); // ORDERNUM NUMBER(10),合同支数,无。 reportModel.Ordernum = uRow.Cells["ORDERNUM"].Value.ToString(); // TOTLENGTH NUMBER(16,3),OrdEnsuTotlLen,总保长 reportModel.Totlength = Convert.ToString(sureLen); // ORDER_UNIT VARCHAR2(20), reportModel.OrderUnit = uRow.Cells["OrderUnit"].Value.ToString(); reportModel.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); ArrayList param = new ArrayList(); param.Add("1"); param.Add(reportModel.OrderQty); param.Add(reportModel.Orderweight); param.Add(reportModel.Ordernum); param.Add(reportModel.Totlength); param.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list.Add(param); list1.Add(JSONFormat.Format(reportModel)); } int succed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.updateConfirmXs", new object[] { list, list1 }, this.ob); if (succed > 0) { MessageUtil.ShowTips("确认成功"); DoQuery(GetQueryCondition()); } } private void FrmPlnSaleOrder_Load(object sender, EventArgs e) { comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("0", "未接收"); comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("1", "已接收"); comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("2", "已下发"); comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("3", "生产中"); comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("4", "生产完成"); comQueryPanel1.ctrlForQueryPORDERSTATUS.Items.Add("5", "缴库完成"); comQueryPanel1.ctrlForQueryPORDERSTATUS.SelectedIndex = 0; comQueryPanel1.checkBoxIsConfirm.Text = "设计通过"; comQueryPanel1.checkBoxIsConfirm.Visible = true; comQueryPanel1.checkBoxIsConfirm.Checked = false; comQueryPanel1.ultraTextEditorAcceptNo.Value = "X" + DateTime.Now.ToString("yyyyMMdd"); if (!this.CustomInfo.ToString().Equals("120501-XS")) { splitContainer1.Panel2Collapsed = true; splitContainer1.Panel2.Hide(); EntityHelper.setColumnShowOrHidden(ultraGridSaleOrder, new string[] { "ActCount", "ActWeight" }, true); } Init(); RefresDate(); DoQuery(GetQueryCondition()); } private void Init() { ultraGridSaleOrder.DisplayLayout.Bands[0].Columns["OrderAddDesc"].EditorComponent = ultraFileLook; ultraGridSaleOrder.DisplayLayout.Bands[0].Columns["OrderAddDesc"].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; PlanComm.setGridActivation(this.ultraGridSaleOrder.DisplayLayout.Bands[0], "CHC"); PlanComm.setGridDigitalCol(ultraGridSaleOrder.DisplayLayout.Bands[0], 7, 3, "OrderQty", "Orderweight", "Planweight", "Paydownweight", "Lengthmax", "Lengthmin", "ReqQtysum", "ConfirmWtSum", "PaydownWtMin", "PaydownWtMax", "WeightJg"); PlanComm.setGridDigitalCol(ultraGridSaleOrder.DisplayLayout.Bands[0], 7, 2, "Totlength", "TotlengthM"); PlanComm.setGridDigitalCol(ultraGridSaleOrder.DisplayLayout.Bands[0], 5, 2, "Outdiameter", "Wallthick", "LenToendMin", "LenToendMax", "LengthJg", "HeightOrdMax", "HeightOrdMin"); PlanComm.setGridDigitalCol(ultraGridSaleOrder.DisplayLayout.Bands[0], 5, 0, "Ordernum", "PaydownNum"); PlanComm.setGridDigitalCol(ultraGridSaleOrder.DisplayLayout.Bands[0], 3, 6, "WeightPerM"); PlanComm.setGridSummarySet(ultraGridSaleOrder, 3, "OrderQty", "Orderweight", "Planweight", "ReqQtysum", "ConfirmWtSum", "PaydownWtMin", "PaydownWtMax", "Paydownweight"); PlanComm.setGridSummarySet(ultraGridSaleOrder, 2, "TotlengthM"); PlanComm.setGridSummarySet(ultraGridSaleOrder, 0, "Ordernum", "PaydownNum", "TotlengthM"); } /// /// 刷新 /// private void RefresDate() { DataTable tableBaseInfo = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryBaseinfoAll", new object[] { }, this.ob); if (tableBaseInfo != null) { //外购坯 tableBaseInfo.DefaultView.RowFilter = "SORTCODE='1218'"; DataTable dtOutBillet = tableBaseInfo.DefaultView.ToTable(); if (dtOutBillet != null && dtOutBillet.Rows.Count > 0) { ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtOutBillet, "BASECODE", "BASENAME"); ultraGridSaleOrder.DisplayLayout.Bands[0].Columns["OutsBilletFl"].ValueList = vlistSteel; ultraGridSaleOrder.DisplayLayout.Bands[0].Columns["OutsBilletFl"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } } } /// /// 获取查询条件信息 /// /// 查询条件信息 private ArrayList GetQueryCondition() { ArrayList ary = new ArrayList(); string strRollmonth = ""; string strAcceptNo = "";//接收批次号 string strOrderNo = ""; //合同号 string strOrderStatus = ""; //合同状态 string haveJg = ""; //是否有接箍 string haveDj = ""; //是否有短节 string isGpOrder = ""; //是否是管坯合同 if (comQueryPanel1.checkBoxHvJg.Checked) { haveJg = "1"; } if (comQueryPanel1.checkBoxHvDj.Checked) { haveDj = "1"; } if (comQueryPanel1.checkBoxisGp.Checked) { isGpOrder = "1"; } if (comQueryPanel1.checkBoxAcceptNo.Checked) { strAcceptNo = comQueryPanel1.ultraTextEditorAcceptNo.Text.Trim(); } if (comQueryPanel1.checkBoxForReqORDER_NO.Checked) { strOrderNo = comQueryPanel1.ctrlForQueryORDER_NO.Text.Trim(); } if (comQueryPanel1.checkBoxForReqPORDERSTATUS.Checked) { strOrderStatus = comQueryPanel1.ctrlForQueryPORDERSTATUS.Value.ToString(); } if (comQueryPanel1.checkBoxRollMonth.Checked) { strRollmonth = comQueryPanel1.ultraDateTimeRollMonth.DateTime.ToString("yyyy-MM"); } ary.Add(strRollmonth); ary.Add(strAcceptNo); ary.Add(strOrderNo); ary.Add(strOrderStatus); ary.Add(haveJg); ary.Add(haveJg); ary.Add(haveDj); ary.Add(haveDj); ary.Add(isGpOrder); ary.Add(isGpOrder); return ary; } /// /// 查询 /// private void DoQuery(ArrayList ary) { if (this.CustomInfo.ToString().Equals("120501-XS")) { this.slmPlnSaleordEntitybindingSource.DataSource = EntityHelper.GetData( "com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleOrder1", new object[] { ary, comQueryPanel1.checkBoxIsConfirm.Checked, this.CustomInfo.ToString2() }, this.ob); } else { this.slmPlnSaleordEntitybindingSource.DataSource = EntityHelper.GetData( "com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleOrder", new object[] { ary, comQueryPanel1.checkBoxIsConfirm.Checked, this.CustomInfo.ToString2() }, this.ob); } IQueryable uRows = ultraGridSaleOrder.Rows.AsQueryable().Where(" IsBackord = '是' "); foreach (UltraGridRow uRow in uRows) { uRow.Appearance.BackColor = Color.FromArgb(255, 222, 173); } } /// /// 合同接收 /// //private void DoAccept() //{ // try // { // int defailNum = 0; // string messageErr = ""; // this.ultraGridSaleOrder.UpdateData(); // ArrayList list = new ArrayList(); // ArrayList listPrc = new ArrayList(); // IQueryable checkRows = ultraGridSaleOrder.Rows.AsQueryable().Where("CHC = 'True'"); // if (checkRows.Count() == 0) // { // MessageUtil.ShowTips("未勾选任何合同!"); // return; // } // PlanComm.WaitFromOpen(this.Cursor); // foreach (UltraGridRow uRow in checkRows) // { // PlnSaleordEntity orderEntity = new PlnSaleordEntity(); // PlnSaleordProcEntity orderPrcEntity = new PlnSaleordProcEntity(); // #region 验证合同 // if (!VerifyOnly(uRow.Cells["OrderNo"].Value.ToString(), // uRow.Cells["OrderSeq"].Value.ToString(), // uRow.Cells["DeliveryNo"].Value.ToString())) // { // if (messageErr.Equals("")) // { // messageErr = "交货行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "存在多条,请联系合同提报人!"; // } // defailNum++; // continue; // } // DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus", // new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); // if (dtStatus == null || dtStatus.Rows.Count <= 0) // { // defailNum++; // continue; // } // if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("0")) // { // if (messageErr.Equals("")) // { // messageErr = "交货行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "已经接收过了!"; // } // defailNum++; // continue; // } // string desginKey = ""; //质量设计主键 // DataTable dtCraft = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryOrdCraftOrdDesign", // new object[] { uRow.Cells["OrdLnPk"].Value.ToString() }, this.ob); // if (dtCraft != null && dtCraft.Rows.Count > 0) // { // bool isSpecCraft = false; // foreach (DataRow dr in dtCraft.Rows) // { // if (dr["VALIDFLAG"].ToString().Equals("1")) // { // isSpecCraft = true; // desginKey = dr["DESGIN_KEY"].ToString(); // orderPrcEntity.CraftFileMan = dr["CRAFT_NAME"].ToString(); // orderPrcEntity.CraftFileNo = dr["CRAFT_NO"].ToString(); // orderPrcEntity.CraftSeq = dr["CRAFT_SEQ"].ToString(); // orderPrcEntity.CraftNoV = dr["CRAFT_NO_V"].ToString(); // break; // } // } // if (!isSpecCraft) // { // desginKey = dtCraft.Rows[0]["DESGIN_KEY"].ToString(); // orderPrcEntity.CraftFileMan = dtCraft.Rows[0]["CRAFT_NAME"].ToString(); // orderPrcEntity.CraftFileNo = dtCraft.Rows[0]["CRAFT_NO"].ToString(); // orderPrcEntity.CraftSeq = dtCraft.Rows[0]["CRAFT_SEQ"].ToString(); // orderPrcEntity.CraftNoV = dtCraft.Rows[0]["CRAFT_NO_V"].ToString(); // } // } // else // { // if (!uRow.Cells["Departname"].Value.ToString().Equals("") // || !uRow.Cells["UnitDesc"].Value.ToString().Equals("")) // { // if (messageErr.Equals("")) // { // messageErr = "合同行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "未找到工艺评审!\n" // + uRow.Cells["Departname"].Value.ToString() + "," + uRow.Cells["UnitDesc"].Value.ToString() + "。"; // } // } // else // { // if (messageErr.Equals("")) // { // messageErr = "合同行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "未找到工艺评审!"; // } // } // defailNum++; // continue; // } // #endregion // #region 获取信息 // orderEntity.TotlengthM = uRow.Cells["Totlength"].Value.ToString(); //保米长 // orderEntity.LenUnit = uRow.Cells["LenUnit"].Value.ToString(); //长度单位 // orderEntity.TotlengthUnit = uRow.Cells["LenUnit"].Value.ToString();//保总长单位 // orderEntity.Lengthmax = uRow.Cells["Lengthmax"].Value.ToString();//最大长度 // orderEntity.Lengthmin = uRow.Cells["Lengthmin"].Value.ToString(); //最小长度 // orderEntity.ShrtLenRato = uRow.Cells["ShrtLenRato"].Value.ToString();//短尺率 // orderEntity.Shortest = uRow.Cells["Shortest"].Value.ToString(); //短尺最短 // orderEntity.Longest = uRow.Cells["Longest"].Value.ToString(); //长尺最长 // orderEntity.AvgLenMin = uRow.Cells["AvgLenMin"].Value.ToString();//平均长度大于 // orderEntity.DifrncLenMax = uRow.Cells["DifrncLenMax"].Value.ToString();//最长最短差小于 // orderEntity.SiglLen = uRow.Cells["SiglLen"].Value.ToString(); //单倍尺长 // orderEntity.EndlenSpecstd = uRow.Cells["EndlenSpecstd"].Value.ToString();//成品长度公差(单倍尺长专用) // orderEntity.AddAskNo = uRow.Cells["AddAskNo"].Value.ToString();//附加要求编码 // orderEntity.OrderUnit = dtStatus.Rows[0]["ORDER_UNIT"].ToString(); //订货计量单位 // orderEntity.OutsStlPipeFl = dtStatus.Rows[0]["OUTS_STL_PIPE_FL"].ToString();//外购管 // string producType = ""; //品名类型 // bool isProCodeD = false;//是否经过轧管 // double outdiameter = 0;///外径 // double wallthick = 0; //壁厚 // double orderQty = 0;//合同订货量 // double.TryParse(uRow.Cells["Wallthick"].Value.ToString(), out wallthick); // if (!double.TryParse(uRow.Cells["Outdiameter"].Value.ToString(), out outdiameter)) // { // if (messageErr.Equals("")) // { // messageErr = "交货行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "外径有误,请核对合同信息!"; // } // defailNum++; // continue; // } // if (!double.TryParse(dtStatus.Rows[0]["ORDER_QTY"].ToString(), out orderQty)) // { // if (messageErr.Equals("")) // { // messageErr = "交货行:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "订货量有误!"; // } // defailNum++; // continue; // } // if (orderEntity.LenUnit.Trim().Equals("英尺")) // { // #region 长度单位为英尺、所有长度字段单位转换为米。 // if (!orderEntity.Lengthmax.Trim().Equals("")) // { // ///最大长度 // orderEntity.Lengthmax = PlanComm.FootoMi(Convert.ToDouble(orderEntity.Lengthmax)).ToString(); // } // if (!orderEntity.Lengthmin.Trim().Equals("")) // { // ///最小长度 // orderEntity.Lengthmin = PlanComm.FootoMi(Convert.ToDouble(orderEntity.Lengthmin)).ToString(); // } // if (!orderEntity.Shortest.Trim().Equals("")) // { // ///短尺最短 // orderEntity.Shortest = PlanComm.FootoMi(Convert.ToDouble(orderEntity.Shortest)).ToString(); // } // if (!orderEntity.TotlengthM.Trim().Equals("")) // { // ///订货长度(保总长)、保米长 // orderEntity.TotlengthM = PlanComm.FootoMi(Convert.ToDouble(orderEntity.TotlengthM)).ToString(); // } // if (!orderEntity.Longest.Trim().Equals("")) // { // ///长尺最长 // orderEntity.Longest = PlanComm.FootoMi(Convert.ToDouble(orderEntity.Longest)).ToString(); // } // if (!orderEntity.AvgLenMin.Trim().Equals("")) // { // ///平均长度大于 // orderEntity.AvgLenMin = PlanComm.FootoMi(Convert.ToDouble(orderEntity.AvgLenMin)).ToString(); // } // if (!orderEntity.DifrncLenMax.Trim().Equals("")) // { // ///最长最短差小于 // orderEntity.DifrncLenMax = PlanComm.FootoMi(Convert.ToDouble(orderEntity.DifrncLenMax)).ToString(); // } // if (!orderEntity.SiglLen.Trim().Equals("")) // { // ///单倍尺长 // orderEntity.SiglLen = PlanComm.FootoMi(Convert.ToDouble(orderEntity.SiglLen)).ToString(); // } // if (!orderEntity.EndlenSpecstd.Trim().Equals("")) // { // ///成品长度公差 // orderEntity.EndlenSpecstd = PlanComm.FootoMi(Convert.ToDouble(orderEntity.EndlenSpecstd)).ToString(); // } // #endregion // } // //查询销售分类和品名类型 // DataTable dtProduce = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryProducType", // new object[] { uRow.Cells["Produccode"].Value.ToString() }, this.ob); // if (dtProduce != null && dtProduce.Rows.Count > 0) // { // orderEntity.PrdCls = dtProduce.Rows[0]["PRODUC_STYLE"].ToString(); // producType = dtProduce.Rows[0]["PRODUC_TYPE"].ToString(); // } // //计重方式-理重、实重 // DataTable dtAddAsk = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryWeighType", // new object[] { uRow.Cells["AddAskNo"].Value.ToString() }, this.ob); // if (dtAddAsk != null && dtAddAsk.Rows.Count > 0) // { // orderEntity.WeighType = dtAddAsk.Rows[0]["ASK_SUB_ITME_VAL_DESC"].ToString(); // } // //合同行交货到站 // DataTable dtTransit = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryTransit", // new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); // if (dtTransit != null && dtTransit.Rows.Count > 0) // { // orderEntity.StationNo = dtTransit.Rows[0]["STATION_NO"].ToString(); // orderEntity.StationNm = dtTransit.Rows[0]["STATION_NM"].ToString(); // } // //合同行交货运输方案 // DataTable dtTranType = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryTranType", // new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); // if (dtTranType != null && dtTranType.Rows.Count > 0) // { // orderEntity.TransitTyp = dtTranType.Rows[0]["TRANSIT_TYP"].ToString(); // } // #region 查询质量设计制程 // DataTable dtDegnPl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryDesginPl", // new object[] { desginKey }, this.ob); // if (dtDegnPl != null && dtDegnPl.Rows.Count > 0) // { // orderPrcEntity.IndexSeq = dtDegnPl.Rows[0]["MSC_PLINE"].ToString(); // orderPrcEntity.ProcessSeq = dtDegnPl.Rows[0]["WHOLE_BACKLOG"].ToString(); // orderPrcEntity.GradecodeAll = dtDegnPl.Rows[0]["GRADENAME"].ToString(); // string wholeDesc = dtDegnPl.Rows[0]["WHOLE_BACKLOG_DESC"].ToString(); // orderEntity.Endgxname = wholeDesc.Substring(wholeDesc.LastIndexOf('-') + 1, // wholeDesc.Length - wholeDesc.LastIndexOf('-') - 1); // if (orderPrcEntity.ProcessSeq.Equals("")) // { // if (messageErr.Equals("")) // { // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() // + "未找到制程经过的工序,请联系管理员。"; // } // defailNum++; // continue; // } // } // else // { // if (messageErr.Equals("")) // { // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() // + "未找到制程,请联系管理员。"; // } // defailNum++; // continue; // } // #endregion // #region 根据制程查询全程途经工序 // ArrayList param = new ArrayList(); // param.Add(desginKey); // param.Add(orderPrcEntity.IndexSeq); // DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryMscplPrc", // new object[] { param }, this.ob); // if (dtProcess != null && dtProcess.Rows.Count > 0) // { // string endgxCode = orderPrcEntity.ProcessSeq.Substring(orderPrcEntity.ProcessSeq.Length - 1); // string gprocessC = ""; //加工二级工序 // string fprocessC = ""; //热处理二级工序 // orderPrcEntity.GroupJgx = "/"; // orderPrcEntity.GroupRcl = "/"; // orderPrcEntity.BjType = "/"; // foreach (DataRow dr in dtProcess.Rows) // { // if (dr["PROCESS_CODE"].ToString().Trim().Equals("H")) // { // orderPrcEntity.GroupJgx = "200401"; // } // if (dr["PROCESS_CODE"].ToString().Trim().Equals("G")) // { // //经过加工工序 // gprocessC = dr["PROCESS_CODE_C"].ToString(); // //加工组 // //string modelCode = uRow.Cells["ModelCode"].Value.ToString(); // //string[] planGroups = FrmDefGroup.planGroups(desginKey, // // orderPrcEntity.IndexSeq, "G", this.ob); // //if (planGroups != null) // //{ // // orderPrcEntity.GroupJgx = FrmDefGroup.defgourpJgc(planGroups, outdiameter, modelCode, this.ob); // //} // //else // //{ // // orderPrcEntity.GroupJgx = FrmDefGroup.defgourpJgc(outdiameter, modelCode, this.ob); // //} // } // if (dr["PROCESS_CODE"].ToString().Trim().Equals("F")) // { // //经过热处理工序 // fprocessC = dr["PROCESS_CODE_C"].ToString(); // //热处理组 // //double lengthmax = Convert.ToDouble(uRow.Cells["Lengthmax"].Value); // //string modelCode = uRow.Cells["ModelCode"].Value.ToString(); // //string[] planGroups = FrmDefGroup.planGroups(desginKey, // // orderPrcEntity.IndexSeq, "F", this.ob); // //if (planGroups != null) // //{ // // orderPrcEntity.GroupRcl = FrmDefGroup.defgourpRcl(planGroups, outdiameter, wallthick, // // lengthmax, dr["PROCESS_CODE_C"].ToString(), modelCode, this.ob); // //} // //else // //{ // // orderPrcEntity.GroupRcl = FrmDefGroup.defgourpRcl(outdiameter, wallthick, // // lengthmax, dr["PROCESS_CODE_C"].ToString(), modelCode, this.ob); // //} // } // if (dr["PROCESS_CODE"].ToString().Trim().Equals("E")) // { // //经过镦拔扩工序 // orderPrcEntity.BjType = dr["PROCESS_DESC_C"].ToString(); // } // if (dr["PROCESS_CODE"].ToString().Trim().Equals("D")) // { // //经过轧管工序 // isProCodeD = true; // } // } // ///生产分类 // orderEntity.ProduceSort = PlnSaleOrderBase.produceSort(endgxCode, orderEntity.PrdCls, gprocessC, fprocessC); // } // else // { // if (messageErr.Equals("")) // { // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() // + "未找到制程途径工序,请联系管理员。"; // } // defailNum++; // continue; // } // #endregion // //查询监制要求 // orderEntity.Monitordemand = queryLinePrdcr(uRow.Cells["PrdcrNo"].Value.ToString(), // orderPrcEntity.IndexSeq); // orderPrcEntity.Prdcrpro = getOrdPrdcrpro(uRow.Cells["PrdcrNo"].Value.ToString(), // orderPrcEntity.IndexSeq, this.ob); // //组合类型 // orderEntity.Mergetype = MergeType(desginKey, orderPrcEntity.ProcessSeq).ToString(); // #region 接箍信息 // if (producType.Equals("D")) // { // # region 如果品名类型是接箍 // DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryJgCode", // new object[] { desginKey }, this.ob); // if (dtjg != null && dtjg.Rows.Count > 0) // { // orderEntity.CodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码 // orderEntity.LengthJg = dtjg.Rows[0]["LENGTH_JG"].ToString(); //接箍长度 // //交货单位“个”或“支”,有合同支数 // if (!(orderEntity.OrderUnit.Trim().Equals("个") || // orderEntity.OrderUnit.Trim().Equals("支"))) // { // if (messageErr.Equals("")) // { // messageErr = "成品接箍合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() // + "交货单位不是“支”,请检查合同!"; // } // defailNum++; // continue; // } // } // #endregion // } // else if (producType.Equals("B")) // { // //如果是钢管+接箍 // DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryJgCode", // new object[] { desginKey }, this.ob); // if (dtjg != null && dtjg.Rows.Count > 0) // { // orderEntity.CodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码 // orderEntity.LengthJg = dtjg.Rows[0]["LENGTH_JG"].ToString();//接箍长度 // } // } // else if (producType.Equals("C")) // { // //附件中,如果有接箍,写入接箍码 // DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryJgCode", // new object[] { desginKey }, this.ob); // if (dtjg != null && dtjg.Rows.Count > 0) // { // orderEntity.CodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码 // orderEntity.LengthJg = dtjg.Rows[0]["LENGTH_JG"].ToString();//接箍长度 // } // } // #endregion // //查询物料信息 // param.Clear(); // param.Add(orderPrcEntity.IndexSeq); // param.Add(uRow.Cells["Msc"].Value.ToString()); // param.Add(uRow.Cells["MaterialNo"].Value.ToString()); // param.Add(orderPrcEntity.ProcessSeq); // DataTable dtBom = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getOrdMscBom", // new object[] { param }, this.ob); // if (dtBom != null && dtBom.Rows.Count > 0) // { // bool isAvailBom = false;//是否存在可用BOM // string errReason = "";//不可用原因 // foreach (DataRow dr in dtBom.Rows) // { // #region 判断坯料的属性 // string dinMaterial = ""; // ///轧管投入物料(炼钢末工序产出物料) // if (!dr["D_IN_MATERIAL_NO"].ToString().Equals("")) // { // dinMaterial = dr["D_IN_MATERIAL_NO"].ToString(); // } // else if (!dr["C_OUT_MATERIAL_NO"].ToString().Equals("")) // { // dinMaterial = dr["C_OUT_MATERIAL_NO"].ToString(); // } // else if (!dr["B_OUT_MATERIAL_NO"].ToString().Equals("")) // { // dinMaterial = dr["B_OUT_MATERIAL_NO"].ToString(); // } // else // { // dinMaterial = dr["A_OUT_MATERIAL_NO"].ToString(); // } // orderPrcEntity.StuffProperty = PlnSaleOrderBase.stuffProperty(dinMaterial); // #endregion // // 轧管去向 // orderPrcEntity.Abc = PlnSaleOrderBase.getPlnOrdZgAbc( // dr["D_OUT_MATERIAL_NO"].ToString()); // orderPrcEntity.Bom = dr["BOM"].ToString(); // orderPrcEntity.GroupRollAll = dr["D_PLINE"].ToString(); // orderPrcEntity.Gradecode = dr["GRADECODE"].ToString(); // orderPrcEntity.EInMaterialDesc = dr["E_IN_MATERIAL_DESC"].ToString(); // orderPrcEntity.EInMaterialNo = dr["E_IN_MATERIAL_NO"].ToString(); // orderPrcEntity.DimaterYlg = dr["DIMATER"].ToString(); // orderPrcEntity.HeightYlg = dr["HEIGHT"].ToString(); // orderPrcEntity.GroupJgx = FrmDefGroup.DefJgxGourp(desginKey, // orderPrcEntity.IndexSeq, dr["BOM"].ToString(), this.ob); // orderPrcEntity.GroupRcl = FrmDefGroup.DefRclGourp(desginKey, // orderPrcEntity.IndexSeq, dr["BOM"].ToString(), this.ob); // #region 默认轧管产线 // ArrayList paramPline = new ArrayList(); // paramPline.Add(dr["D_IN_MATERIAL_NO"].ToString()); // paramPline.Add(dr["D_OUT_MATERIAL_NO"].ToString()); // paramPline.Add(desginKey); // paramPline.Add(orderPrcEntity.IndexSeq); // paramPline.Add(uRow.Cells["FinalUser"].Value.ToString()); // paramPline.Add(uRow.Cells["Produccode"].Value.ToString()); // DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getBomMaterialDpl", // new object[] { paramPline }, this.ob); // if (dtDpl != null && dtDpl.Rows.Count > 0) // { // //如果存在ASSEL机组,优选ASSEL机组 // if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012")) // { // if (queryAsselFl(uRow.Cells["OrdLnPk"].Value.ToString(), this.ob)) // { // orderPrcEntity.GroupRoll = "C012"; // } // else // { // bool isPline = false; // foreach (DataRow drPine in dtDpl.Rows) // { // if (!drPine["PLINE_CODE"].ToString().Equals("C012")) // { // isPline = true; // orderPrcEntity.GroupRoll = drPine["PLINE_CODE"].ToString(); // break; // } // } // if (!isPline) // { // orderPrcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString(); // } // } // } // else // { // orderPrcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString(); // } // } // else if (isProCodeD) // { // errReason = "未找到可用轧管机组(BOM:" + dr["BOM"].ToString() + ")。"; // continue; // } // #endregion // if (orderEntity.Mergetype.Equals("3")) // { // #region 管坯合同 //double orderWeight = 0; //合同量 //double aimlength = 0; //目标长度 //int planNum = 0;//合同支数 //DateTime date = new DateTime(); //double weightMI = PlanComm.GpweightOfmi(outdiameter);//米单重 //double rate = 0; //double delvryRangeMax = Convert.ToDouble(uRow.Cells["DelvryRangeMax"].Value); //double delvryRangeMin = Convert.ToDouble(uRow.Cells["DelvryRangeMin"].Value); //if (uRow.Cells["DelvryRangeTpe"].Value.ToString().Trim().Equals("绝对值")) //{ // delvryRangeMax = (delvryRangeMax / orderQty) * 100; // delvryRangeMin = (delvryRangeMin / orderQty) * 100; //} //if (orderEntity.OrderUnit.Equals("米")) //{ // orderWeight = Math.Round((orderQty * weightMI), 3); //} //else if (orderEntity.OrderUnit.Equals("英尺")) //{ // double lengqty = PlanComm.FootoMi(orderQty); // orderWeight = Math.Round((lengqty * weightMI), 3); //} //else if (orderEntity.OrderUnit.Equals("英磅")) //{ // orderWeight = PlanComm.PoundtoTon(orderQty); //} //else //{ // orderWeight = orderQty; //} ////目标长度,取长度上下限中间值,计算计划支数 //if (!orderEntity.Lengthmax.Trim().Equals("") && !orderEntity.Lengthmin.Trim().Equals("")) //{ // aimlength = (Convert.ToDouble(orderEntity.Lengthmax) + // Convert.ToDouble(orderEntity.Lengthmin)) / 2; // if ((orderWeight % (aimlength * weightMI)) == 0) // { // planNum = (int)(orderWeight / (aimlength * weightMI)); // } // else // { // planNum = (int)(orderWeight / (aimlength * weightMI)) + 1; // } //} //if (DateTime.TryParse(uRow.Cells["RollMonth"].Value.ToString(), out date)) //{ // rate = ((delvryRangeMax + delvryRangeMin) * queryPutRate( // date.Year, date.Month, this.ob) - delvryRangeMin) / 100; //} //orderEntity.Planweight = orderWeight.ToString(); //orderEntity.Orderweight = orderWeight.ToString(); //orderEntity.Ordernum = planNum.ToString(); //orderEntity.WeightPerM = Math.Round(weightMI, 6).ToString(); //orderEntity.PaydownWtMax = (orderWeight * delvryRangeMax / 100).ToString(); //orderEntity.PaydownWtMin = (orderWeight * delvryRangeMin / 100).ToString(); //orderPrcEntity.PlanWtD = orderWeight.ToString(); //orderPrcEntity.PlanNumD = planNum.ToString(); //orderPrcEntity.WeightPerM = Math.Round(weightMI, 6).ToString(); //orderPrcEntity.AimLenEnd = aimlength.ToString(); //orderPrcEntity.PlanPMain = ((1 + rate) * orderWeight).ToString(); //orderPrcEntity.HeightNkMax = "0"; //orderPrcEntity.HeightNkMin = "0"; //orderPrcEntity.AimLenRoll = "0"; // #endregion // } // else if (orderPrcEntity.ProcessSeq.Contains("D") // && !orderPrcEntity.GroupRoll.Trim().Equals("C072") // && !orderEntity.OutsStlPipeFl.Equals("121903") // && !orderEntity.OutsStlPipeFl.Equals("121902") // || orderEntity.OrderUnit.Trim().Equals("支")) // { // #region 合同量转换 // OutOrdParamEntity outOrdParam = new OutOrdParamEntity(); // InOrdParamEntity inOrdParam = new InOrdParamEntity(); // PlnGetOrdAmount ordAmountCal = new PlnGetOrdAmount(this.ob); // DateTime date = new DateTime(); // string errMessage = ""; // double putRate = 1; // double height = 0; // if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date)) // { // //投料率 // putRate = queryPutRate(date.Year, date.Month, this.ob); // } // inOrdParam = ordAmountCal.getInOrdParam(desginKey, orderPrcEntity.IndexSeq, // uRow.Cells["OrdLnDlyPk"].Value.ToString(), orderPrcEntity.GroupRoll, // orderPrcEntity.Bom, orderEntity.CodeJg, putRate); // if (!ordAmountCal.isRightParam(inOrdParam, desginKey, orderEntity.CodeJg, // orderPrcEntity.Bom, orderPrcEntity.GroupRoll, out errMessage)) // { // errReason = errMessage; // continue; // } // ordAmountCal.InEnity = inOrdParam; // outOrdParam = ordAmountCal.getOrdAmount(); // if (outOrdParam.ErrCode == -1) // { // errReason = "合同量转换出错(" + outOrdParam.ErrMessage + ")。"; // continue; // } // orderEntity.Ordernum = outOrdParam.PlanNum.ToString(); // orderEntity.Orderweight = outOrdParam.EstWeight.ToString(); // orderEntity.Orderweightunit = outOrdParam.WeightUnit; // orderEntity.Planweight = outOrdParam.WeightInA.ToString(); // orderEntity.PaydownWtMax = outOrdParam.WeightInAMax.ToString(); // orderEntity.PaydownWtMin = outOrdParam.WeightInAMin.ToString(); // orderEntity.WeightPerM = outOrdParam.WeightMi.ToString(); // orderEntity.LenToendMax = outOrdParam.LenToendMax.ToString(); // orderEntity.LenToendMin = outOrdParam.LenToendMin.ToString(); // if (wallthick > 0) // { // orderEntity.HeightOrdMax = (100 * inOrdParam.StdWallthickMax / wallthick).ToString(); // orderEntity.HeightOrdMin = (100 * inOrdParam.StdWallthickMin / wallthick).ToString(); // } // orderPrcEntity.WeightPerM = outOrdParam.WeightMi.ToString(); // orderPrcEntity.PlanWtD = outOrdParam.WeightInA.ToString(); // orderPrcEntity.PlanNumD = outOrdParam.PlanNum.ToString(); // orderPrcEntity.AimLenRoll = outOrdParam.AimlengthZg.ToString(); // orderPrcEntity.AimLenEnd = outOrdParam.AimLength.ToString(); // orderPrcEntity.PlanPMain = outOrdParam.WeightPc.ToString(); // orderPrcEntity.PlanTotLenD = (outOrdParam.PlanNum * outOrdParam.AimLength).ToString(); // orderPrcEntity.TotLenOneP = outOrdParam.TotLenOneP.ToString(); // orderPrcEntity.CutNumP = outOrdParam.CutNumP.ToString(); // orderPrcEntity.RollLength = outOrdParam.RollLength.ToString(); // orderPrcEntity.AimWallthick = outOrdParam.AimWallthick.ToString(); // orderPrcEntity.LenRollMax = outOrdParam.LenRollMax.ToString(); // orderPrcEntity.LenRollMin = outOrdParam.LenRollMin.ToString(); // // 查询控制壁厚 // if (inOrdParam.StdWallthickMax == inOrdParam.NkWallthickMax // && inOrdParam.StdWallthickMin == inOrdParam.NkWallthickMin // && wallthick > 0) // { // orderPrcEntity.HeightNkMax = (100 * inOrdParam.StdWallthickMax / wallthick).ToString(); // orderPrcEntity.HeightNkMin = (100 * inOrdParam.StdWallthickMin / wallthick).ToString(); // } // else if (double.TryParse(dr["HEIGHT"].ToString(), out height) // && height > 0) // { // orderPrcEntity.HeightNkMax = (100 * inOrdParam.NkWallthickMax / height).ToString(); // orderPrcEntity.HeightNkMin = (100 * inOrdParam.NkWallthickMin / height).ToString(); // } // #endregion // } // else // { // #region 外购管 // double orderWeight = 0; //合同量 // double aimlength = 0; //目标长度 // int planNum = 0;//合同支数 // OrderStdSic std = new OrderStdSic(this.ob); // std.DesginKey = desginKey; // std.Outdiameter = outdiameter; // std.Wallthick = wallthick; // std.getStdTolerance(); // double weightMI = PlanComm.WeightOfMi(outdiameter, std.AimWallthick);//米单重 // double rate = 0; // DateTime date = new DateTime(); // double delvryRangeMax = Convert.ToDouble(uRow.Cells["DelvryRangeMax"].Value); // double delvryRangeMin = Convert.ToDouble(uRow.Cells["DelvryRangeMin"].Value); // if (uRow.Cells["DelvryRangeTpe"].Value.ToString().Trim().Equals("绝对值")) // { // delvryRangeMax = (delvryRangeMax / orderQty) * 100; // delvryRangeMin = (delvryRangeMin / orderQty) * 100; // } // if (orderEntity.OrderUnit.Equals("米")) // { // orderWeight = Math.Round((orderQty * weightMI), 3); // } // else if (orderEntity.OrderUnit.Equals("英尺")) // { // double lengqty = PlanComm.FootoMi(orderQty); // orderWeight = Math.Round((lengqty * weightMI), 3); // } // else if (orderEntity.OrderUnit.Equals("英磅")) // { // orderWeight = PlanComm.PoundtoTon(orderQty); // } // else // { // orderWeight = orderQty; // } // //目标长度,取长度上下限中间值,计算计划支数 // if (!orderEntity.Lengthmax.Trim().Equals("") && !orderEntity.Lengthmin.Trim().Equals("")) // { // aimlength = (Convert.ToDouble(orderEntity.Lengthmax) + // Convert.ToDouble(orderEntity.Lengthmin)) / 2; // if ((orderWeight % (aimlength * weightMI)) == 0) // { // planNum = (int)(orderWeight / (aimlength * weightMI)); // } // else // { // planNum = (int)(orderWeight / (aimlength * weightMI)) + 1; // } // } // if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date)) // { // rate = ((delvryRangeMax + delvryRangeMin) * queryPutRate( // date.Year, date.Month, this.ob) - delvryRangeMin) / 100; // } // orderEntity.Orderweight = orderWeight.ToString(); // orderEntity.Ordernum = planNum.ToString(); // orderEntity.WeightPerM = Math.Round(weightMI, 6).ToString(); // orderEntity.Planweight = orderWeight.ToString(); // orderEntity.PaydownWtMax = (orderWeight * delvryRangeMax / 100).ToString(); // orderEntity.PaydownWtMin = (orderWeight * delvryRangeMin / 100).ToString(); // orderEntity.HeightOrdMax = (100 * std.StdMax / wallthick).ToString(); // orderEntity.HeightOrdMin = (100 * std.StdMin / wallthick).ToString(); // orderPrcEntity.PlanWtD = orderWeight.ToString(); // orderPrcEntity.PlanNumD = planNum.ToString(); // orderPrcEntity.WeightPerM = Math.Round(weightMI, 6).ToString(); // orderPrcEntity.AimLenEnd = aimlength.ToString(); // orderPrcEntity.PlanPMain = ((1 + rate) * orderWeight).ToString(); // orderPrcEntity.PlanTotLenD = (planNum * aimlength).ToString(); // orderPrcEntity.AimWallthick = std.AimWallthick.ToString(); // // 查询控制壁厚 // orderPrcEntity.HeightNkMax = (100 * std.StdMax / wallthick).ToString(); // orderPrcEntity.HeightNkMin = (100 * std.StdMin / wallthick).ToString(); // #endregion // } // isAvailBom = true; // break; // } // if (!isAvailBom) // { // if (messageErr.Equals("")) // { // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + errReason; // } // defailNum++; // continue; // } // } // else // { // if (messageErr.Equals("")) // { // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() // + "/" + uRow.Cells["DeliveryNo"].Value.ToString() // + "未找到BOM,请联系管理员。"; // } // defailNum++; // continue; // } // orderEntity.LenUnit = "米"; // orderEntity.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); // orderEntity.PipeProperty = PlnSaleOrderBase.pipeProperty(uRow.Cells["MaterialNo"].Value.ToString()); // orderEntity.BlGroupNum = desginKey; // orderEntity.Specstandard = desginKey; // orderEntity.UpdateName = UserInfo.GetUserName(); // orderPrcEntity.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); // orderPrcEntity.PlnDivideId = "01"; // ///如果短尺率大于0,则短尺随炉,否则不短尺随炉。 // if (!orderEntity.ShrtLenRato.Trim().Equals("") && Convert.ToInt32(orderEntity.ShrtLenRato) > 0) // { // orderEntity.ShrtStove = "短尺随炉"; // } // #region 判断有没有接箍、短节 // if (orderEntity.Mergetype.Trim().Equals("1") || // orderEntity.Mergetype.Trim().Equals("2")) // { // orderEntity.JgordIsOk = "0"; //接箍合同是否形成 // orderEntity.JglReqIsOk = "0"; //接箍料需求是否制订 // } // else // { // orderEntity.JgordIsOk = "2"; //无接箍 // orderEntity.JglReqIsOk = "2";//无接箍 // } // //判断有没有短节 // if (orderEntity.Mergetype.Trim().Equals("0")) // { // DataTable dtGroupBl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryBlCode", // new object[] { desginKey }, this.ob); // if (dtGroupBl != null && dtGroupBl.Rows.Count > 0) // { // orderEntity.DjblReqIsOk = "0"; //短节备料是否形成 // } // else // { // orderEntity.DjblReqIsOk = "2"; //无短节备料 // } // } // else if (orderEntity.Mergetype.Trim().Equals("2")) // { // orderEntity.DjblReqIsOk = "0"; //短节备料是否形成 // } // else // { // orderEntity.DjblReqIsOk = "2"; //无短节备料 // } // #endregion // #region 各工序信息确认 // if (orderPrcEntity.ProcessSeq.Contains("F")) // { // //判断是否经过热处理工序 // orderPrcEntity.FIsOk = "0"; // } // else // { // orderPrcEntity.FIsOk = "2"; // } // if (orderPrcEntity.ProcessSeq.Contains("G")) // { // //判断是否经过管加工工序 // orderPrcEntity.GIsOk = "0"; // } // else // { // orderPrcEntity.GIsOk = "2"; // } // if (orderPrcEntity.ProcessSeq.Contains("D")) // { // //判断是否经过轧管工序 // orderPrcEntity.DIsOk = "0"; // } // else // { // orderPrcEntity.DIsOk = "2"; // } // if (orderPrcEntity.ProcessSeq.Contains("E")) // { // //判断是否经过镦拔扩工序 // orderPrcEntity.EIsOk = "0"; // } // else // { // orderPrcEntity.EIsOk = "2"; // } // #endregion // list.Add(orderEntity); // listPrc.Add(orderPrcEntity); // #endregion // } // if (list.Count == 0) // { // PlanComm.WaitFromColse(this.Cursor); // MessageUtil.ShowTips("0条接收成功," + defailNum + "条接收失败。\n" + messageErr); // return; // } // CoreClientParam ccp = new CoreClientParam(); // ccp.ServerName = "com.steering.pss.plnsaleord.order.CorePlnSaleOrder"; // ccp.MethodName = "updatePretreat"; // ccp.ServerParams = new object[] { list, listPrc }; // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); // PlanComm.WaitFromColse(this.Cursor); // if (ccp == null) // { // MessageBox.Show("服务端处理失败!"); // return; // } // else if (ccp.ReturnCode != -1) // { // if (defailNum == 0) // { // MessageUtil.ShowTips("接收成功,共" + list.Count + "条。"); // } // else // { // MessageUtil.ShowTips(list.Count + "条接收成功," + defailNum + "条接收失败。\n" + messageErr); // } // } // } // catch (Exception ex) // { // PlanComm.WaitFromColse(this.Cursor); // if (!(ex is MESException)) // { // MessageUtil.ShowError(ex.Message); // } // } // DoQuery(GetQueryCondition()); //} /// /// 接收 /// private void DoReceive() { ultraGridSaleOrder.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = ultraGridSaleOrder.Rows.AsQueryable().Where("CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选任何合同!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { list.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.CorePlnSaleOrder"; ccp.MethodName = "doReceive"; ccp.ServerParams = new object[] { list, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp == null) { MessageBox.Show("服务端处理失败!"); return; } else if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null && !ccp.ReturnObject.ToString().Equals("")) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } } DoQuery(GetQueryCondition()); } /// /// 合同行生成工艺评审数据 /// private void creatCraft(string ordLnPk) { Assembly saleOrdDll = Assembly.LoadFrom(Application.StartupPath + "\\Core.StlMes.Client.SaleOrder.dll"); Type craftReviewType = saleOrdDll.GetType("Core.StlMes.Client.SaleOrder.ReviewForm.frmCraftReviewTechnology"); object craftReviewForm = Activator.CreateInstance(craftReviewType, null); bool result = bool.Parse(craftReviewType.GetMethod("CheckQuality").Invoke( craftReviewForm, new object[] { ordLnPk, this.ob }).ToString()); if (result) { craftReviewType.GetMethod("Quality", new Type[] { typeof(string), typeof(OpeBase) }) .Invoke(craftReviewForm, new object[] { ordLnPk, this.ob }); } } /// /// 合同退回 /// private void CancelAcp() { try { int defailNum = 0; string messageErr = ""; this.ultraGridSaleOrder.UpdateData(); ArrayList list = new ArrayList(); ArrayList listLog = new ArrayList(); IQueryable checkRows = ultraGridSaleOrder.Rows.AsQueryable().Where("CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选任何合同!"); return; } bool isChecked = false; string reason = ""; foreach (UltraGridRow uRow in checkRows) { DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { defailNum++; continue; } if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1")) { if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1")) { defailNum++; messageErr = "请先撤消" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "的接箍合同!"; continue; } if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1")) { defailNum++; messageErr = "请先撤消" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "的短节合同!"; continue; } ArrayList paramLog = new ArrayList(); ArrayList param = new ArrayList(); if (!isChecked) { bool isConfirm = false; FrmCancelPretreat CancelPre = new FrmCancelPretreat(); CancelPre.ShowDialog(); isConfirm = CancelPre.getIsConfirm(); if (!isConfirm) { return; } reason = CancelPre.getConcelReason(); } isChecked = true; #region 记录回退日志 paramLog.Add(reason); paramLog.Add(UserInfo.GetUserName()); paramLog.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); listLog.Add(paramLog); #endregion param.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list.Add(param); } else { defailNum++; if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0) { messageErr = "合同" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "未接收!"; continue; } else { messageErr = "合同" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已经下发!"; continue; } } } if (list.Count == 0) { MessageUtil.ShowTips("0条退回成功," + defailNum + "条退回失败。\n" + messageErr); return; } int succed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.cancelAcp", new object[] { listLog, list }, this.ob); if (succed > 0) { if (defailNum == 0) { MessageUtil.ShowTips("退回成功,共" + list.Count + "条。"); } else { MessageUtil.ShowTips(list.Count + "条退回成功," + defailNum + "条退回失败。\n" + messageErr); } if (list.Count > 0 || defailNum==0) { DoQuery(GetQueryCondition()); } } } catch (Exception ex) { if (!(ex is MESException)) { MessageUtil.ShowError(ex.Message); } } } /// /// 查询投料率 /// /// public static double queryPutRate(int year, int month, OpeBase _ob) { double putRate = 1; DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryPutRate", new object[] { year.ToString(), month.ToString() }, _ob); if (dt != null && dt.Rows.Count > 0) { double.TryParse(dt.Rows[0]["PUT_RATE"].ToString(), out putRate); } return putRate; } /// /// 验证交货行唯一 /// /// 合同号 /// 合同行号 /// 交货行号 public bool VerifyOnly(string orderNo, string orderSeq, string deliveryNo) { ArrayList list = new ArrayList(); list.Add(orderNo); list.Add(orderSeq); list.Add(deliveryNo); DataTable dtOrderNo = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleByPrimary", new object[] { list }, this.ob); if (dtOrderNo != null && dtOrderNo.Rows.Count > 0) { if (!dtOrderNo.Rows[0][0].Equals("1")) { return false; } } return true; } /// /// 返回组合类型 /// /// /// /// private int MergeType(string desginKey, string processSeq) { if (processSeq != "") { string endcode = processSeq.Substring(processSeq.Length - 1, 1); if (endcode.CompareTo("D") < 0) { return 3; } } DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryJgCode", new object[] { desginKey }, this.ob); DataTable dtBl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryBlCode", new object[] { desginKey }, this.ob); if (dtjg.Rows.Count > 0 && dtjg != null) { if (dtBl.Rows.Count > 0 && dtBl != null) { return 2; } else { return 1; } } return 0; } /// /// 查询监制基础信息 /// /// 监制编号 /// 制程 /// private string queryLinePrdcr(string prdcrNo, string mscPline) { ArrayList param = new ArrayList(); param.Add(prdcrNo); param.Add(mscPline); DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryLinePrdcr", new object[] { param }, this.ob); if (dt != null && dt.Rows.Count > 0) { return dt.Rows[0]["PRDCR_DESC"].ToString(); } return ""; } /// /// 查询监制工序 /// /// 监制编号 /// 制程 /// public static string getOrdPrdcrpro(string prdcrNo, string mscPline, OpeBase _ob) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreOrdLinePrdcrLst"; ccp.MethodName = "queryOrdPrdcrpro"; ccp.ServerParams = new object[] { prdcrNo, mscPline }; ccp = _ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal); if (ccp == null || ccp.ReturnObject == null) { return ""; } return (string)ccp.ReturnObject; } /// /// 查询监制工序 /// /// 交货pk /// 排产流水 /// public static string getOrdPrdcrproPk(string ordLnDlyPk, string plnDivideId, OpeBase _ob) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreOrdLinePrdcrLst"; ccp.MethodName = "queryOrdPrdcrproPk"; ccp.ServerParams = new object[] { ordLnDlyPk, plnDivideId }; ccp = _ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal); if (ccp == null || ccp.ReturnObject == null) { return ""; } return (string)ccp.ReturnObject; } /// /// 查询是否Assel机组 /// /// /// public static bool queryAsselFl(string ordLnPk, OpeBase _ob) { bool isAssel = false; DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryAsselFl", new object[] { ordLnPk }, _ob); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0]["ASSEL_FL"].ToString().Trim().Equals("1")) { isAssel = true; } } return isAssel; } /// /// 排产月统计查询 /// private void DoMonthStatist() { FrmReqRollMonth outPut = new FrmReqRollMonth(); outPut.Show(); } private void ultraGridSaleOrder_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridSaleOrder.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGridSaleOrder_CellDataError(object sender, CellDataErrorEventArgs e) { e.RaiseErrorEvent = false; } /// /// 查看附加要求贴图 /// /// /// private void ultraFileLook_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { try { UltraGridRow ugr = ultraGridSaleOrder.ActiveRow; if (ugr == null) { return; } string askNo = ugr.Cells["AddAskNo"].Value.ToString(); string orderAddDesc = ugr.Cells["OrderAddDesc"].Value.ToString(); if (e.Button.Key.ToLower().Equals("select")) { ArrayList listPIC = new ArrayList(); DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryAddAsk", new object[] { askNo }, this.ob); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { listPIC.Add(dr["PIC"].ToString()); } } dlgOrderAskLook orderAsk = new dlgOrderAskLook(this.ob, listPIC); orderAsk.Show(); } else if (e.Button.Key.ToLower().Equals("look")) { BaseForm orderAddDescPre = new BaseForm(this.ob, orderAddDesc); orderAddDescPre.Show(); } } catch (Exception ex) { if (!(ex is MESException)) { MessageBox.Show(ex.Message); } } } private void ReportLiKu() { ultraGridSaleOrder.UpdateData(); UltraGridRow ugr = ultraGridSaleOrder.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要利库的交货行!"); return; } DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus", new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { return; } if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("0")) { MessageUtil.ShowTips(ugr.Cells["OrderNoSeq"].Value.ToString() + "/" + ugr.Cells["DeliveryNo"].Value.ToString() + "已接收,无法利库!"); return; } string ordStr = "合同号:" + ugr.Cells["ORDERNO"].Value.ToString() + "/" + ugr.Cells["ORDERSEQ"].Value.ToString() + " 交货行号:" + ugr.Cells["DELIVERYNO"].Value.ToString(); //合同行提报锁定的! DataTable lockDt1 = ServerHelper.GetData("com.steering.pss.sale.order.DAL.SlmOrderLineLockDAL.getOrderLineLock", new object[] { ugr.Cells["ORDLNPK"].Value.ToString() }, this.ob); if (lockDt1 != null && lockDt1.Rows.Count > 0) { if (lockDt1.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning(ordStr + "该合同行提报排产被锁定请重新审批合同价格!不允许利库! "); return; } } string ordLnDlyPk = ugr.Cells["OrdLnDlyPk"].Value.ToString(); string saleOrg = ugr.Cells["ORDERFROM"].Value.ToString(); FrmReportLiKu frl = new FrmReportLiKu(this.ob, "1"); frl.DataArr = this.ValidDataPurviewIds; frl.ListParm = listLiku; frl.OrdSaleOrg = saleOrg; frl.OrdLnDlyPk = ordLnDlyPk; frl.FormClosingQueryHandle += frl_FormClosingQueryHandle; frl.WindowState = FormWindowState.Maximized; frl.StartPosition = FormStartPosition.CenterScreen; frl.ShowDialog(); } void frl_FormClosingQueryHandle(string ordLnDlyPk) { DoQuery(GetQueryCondition()); foreach (UltraGridRow row in ultraGridSaleOrder.Rows) { if (row.Cells["ORD_LN_DLY_PK"].Value.ToString() == ordLnDlyPk) { row.Activate(); break; } } } private void QueryMatInfo(ArrayList parm, string saleOrg, string suppUnit) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReport.queryMatInfo1", new object[] { parm, saleOrg, suppUnit }, this.ob); matZcMEntityBindingSource.DataSource = listSource; } private void ultraGridSaleOrder_ClickCellButton(object sender, CellEventArgs e) { ultraGridSaleOrder.UpdateData(); UltraGridRow ugr = ultraGridSaleOrder.ActiveRow; if (e.Cell.Column.Key.Equals("OrderNoSeq")) { if (ugr == null) return; string saleOrg = ugr.Cells["ORDERFROM"].Value.ToString().Equals("国际贸易部") ? "100102" : "100101"; string suppUnit = ugr.Cells["supplyUnitCode"].Value.ToString(); QueryMatInfo(listLiku, saleOrg, suppUnit); string str = "合同号:" + ugr.Cells["ORDERNO"].Value.ToString() + "/" + ugr.Cells["ORDERSEQ"].Value.ToString() + " 交货行号:" + ugr.Cells["DELIVERYNO"].Value.ToString() + " 的可利库的库存信息。"; this.labTips.Text = str; this.labTips.AutoSize = true; return; } if (!e.Cell.Column.Key.Equals("IsBackord")) { return; } if (ugr == null) { return; } string ordLnDlyPk = ugr.Cells["OrdLnDlyPk"].Value.ToString(); if (!ugr.Cells["IsBackord"].Value.ToString().Trim().Equals("是")) { return; } if (MessageUtil.ShowQuestion("是否清除回退标记?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.CorePlnSaleOrder"; ccp.MethodName = "clearOrdBackI"; ccp.ServerParams = new object[] { ordLnDlyPk }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) { MessageUtil.ShowError("服务端处理失败!"); return; } if (ccp.ReturnCode < 0) { MessageUtil.ShowError(ccp.ReturnInfo); return; } if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); ugr.Cells["IsBackord"].Value = "否"; if ((ugr.Index + 1) % 2 == 0) { ugr.Appearance.BackColor = Color.FromArgb(240, 248, 255); ; } else { ugr.Appearance.BackColor = Color.White; } } } private void ultraGridSaleOrder_AfterRowActivate(object sender, EventArgs e) { ultraGridSaleOrder.UpdateData(); UltraGridRow ugr = ultraGridSaleOrder.ActiveRow; listLiku = new ArrayList(); listLiku.Add(ugr.Cells["PRODUCCODE"].Value.ToString()); listLiku.Add(ugr.Cells["STEELCODE"].Value.ToString()); listLiku.Add(ugr.Cells["SpecCode"].Value.ToString()); listLiku.Add(ugr.Cells["ModelCode"].Value.ToString()); listLiku.Add(ugr.Cells["StdName"].Value.ToString()); listLiku.Add(ugr.Cells["StdName"].Value.ToString()); } } }