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.Tool; using com.steering.pss.plnsaleord.order.model; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm; using Core.Mes.Client.Comm.Server; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using CoreFS.SA06; using Core.StlMes.Client.PlnSaleOrd.PopupWindow; using Infragistics.Win; using Core.Mes.Client.Comm.Control; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmSaleOrderReceive : FrmBase { public FrmSaleOrderReceive() { this.IsLoadUserView = true; InitializeComponent(); //System.Threading.Thread t = new System.Threading.Thread(setGridColunmName); //t.Start(); } private void setGridColunmName() { System.Threading.Thread.Sleep(3000); if (comQueryPanelSource1.InvokeRequired) { // 当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它 Action actionDelegate = (x) => { this.comQueryPanelSource1.checkBoxIsConfirm.Visible = x; }; if (!this.CustomInfo.ToString2().Contains("@Rcl")) { this.comQueryPanelSource1.Invoke(actionDelegate,true); } } else { if (!this.IsDisposed) { Init(); } } } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": //查询 DoQuery(GetQueryCondition()); break; case "ConfirmRcl"://热处理组 DoConfirmRcl(); break; case "ConfirmGjg"://管加工组 DoConfirmGjg(); break; case "ConfirmDbk"://镦拔扩 DoConfirmBom("DBK"); break; case "ConfirmZg"://轧管产线 DoConfirmBom("ZG"); break; case "ConfirmGrade"://钢种 DoConfirmBom("Grade"); break; case "DoProChg"://交货行制程变更 DoProChg(); break; case "DoBomDpChg": DoChangeBom(); break; //case "IussedOrder"://下发 // DoIussedOrder(); // break; //case "ConcelIussed":// 取消下发 // DoConcelIussed(); // break; case "LookCraftFile"://查看工艺文件 DoLookCraftFile(); break; case "RefresDate"://刷新加载数据 RefresDate(); DoQuery(GetQueryCondition()); break; case "Close": //关闭 this.Close(); break; case "BaseMaterE": ModifyBaseMaterialEPl(); break; case "LookDbkInOutInfo": LookDbkInOutInfo(); break; case "Export": //导出 DoExport(); break; } } private void DoExport() { if (CustomInfo.Contains("@Dbk")) { GridHelper.ulGridToExcel(ultraGridSaleOrderProc, "镦拔扩确认信息"); } else if (CustomInfo.Contains("@Rcl")) { GridHelper.ulGridToExcel(ultraGridSaleOrderProc, "热处理确认信息"); } else if (CustomInfo.Contains("@Jgx")) { GridHelper.ulGridToExcel(ultraGridSaleOrderProc, "管加工确认信息"); } else if (CustomInfo.Contains("@Grade")) { GridHelper.ulGridToExcel(ultraGridSaleOrderProc, "钢种坯料确认信息"); } } private void FrmSaleOrderReceive_Load(object sender, EventArgs e) { comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Items.Add("1", "已接收"); comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Items.Add("2", "已下发"); comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Items.Add("3", "生产中"); comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Items.Add("4", "生产完成"); comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Items.Add("5", "缴库完毕"); comQueryPanelSource1.ctrlForQueryPORDERSTATUS.SelectedIndex = 0; comQueryPanelSource1.ultraTextEditorAcceptNo.Value = "X" + DateTime.Now.ToString("yyyyMMdd"); Init(); RefresDate(); } /// /// 刷新 /// 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='2005'"; DataTable dtGroupRCL = tableBaseInfo.DefaultView.ToTable(); if (dtGroupRCL != null && dtGroupRCL.Rows.Count > 0) { ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["GroupRcl"].ValueList = PlanComm.GeneralValuelist(ref dtGroupRCL, "BASECODE", "BASENAME"); ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["GroupRcl"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } //加工组 tableBaseInfo.DefaultView.RowFilter = "SORTCODE='2004'"; DataTable dtGroupJGX = tableBaseInfo.DefaultView.ToTable(); if (dtGroupJGX != null && dtGroupJGX.Rows.Count > 0) { ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["GroupJgx"].ValueList = PlanComm.GeneralValuelist(ref dtGroupJGX, "BASECODE", "BASENAME"); ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["GroupJgx"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } //外购坯 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"); ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["OutsBilletFl"].ValueList = vlistSteel; ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["OutsBilletFl"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } //合同紧急度 tableBaseInfo.DefaultView.RowFilter = "SORTCODE='2006'"; DataTable dtPrior = tableBaseInfo.DefaultView.ToTable(); if (dtPrior != null && dtPrior.Rows.Count > 0) { ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtPrior, "BASECODE", "BASENAME"); ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["Priority"].ValueList = vlistSteel; ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["Priority"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } } } private void Init() { EntityHelper.ShowGridCaption(ultraGridSaleOrderProc.DisplayLayout.Bands[0]); ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["OrderAddDesc"].EditorComponent = ultraFileLook; ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["OrderAddDesc"].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; PlanComm.setGridActivation(this.ultraGridSaleOrderProc.DisplayLayout.Bands[0], "CHC"); PlanComm.setGridDigitalCol(ultraGridSaleOrderProc.DisplayLayout.Bands[0], 7, 3, "OrderQtyD", "PlanWtD", "FinishWt", "planWtBegin", "PlanPMain", "Lengthmax", "Lengthmin", "PlanPMainMin", "AimWtEnd", "WeightJg"); PlanComm.setGridDigitalCol(ultraGridSaleOrderProc.DisplayLayout.Bands[0], 5, 2, "Outdiameter", "Wallthick", "TotLenOneP", "LenRollMin", "LenRollMax", "HeightNkMin", "HeightNkMax", "LenToendMin", "LenToendMax", "LengthJg", "DimaterYlg", "HeightYlg", "HeightOrdMax", "HeightOrdMin", "AimWallthick", "RollLength", "ShrtLenRato", "LongLenRato", "AimOutdiameter", "FeedRate", "Coefficient", "CoefficientMin", "CheckJVal"); PlanComm.setGridDigitalCol(ultraGridSaleOrderProc.DisplayLayout.Bands[0], 5, 3, "AimLenEnd", "AimLenRoll", "SiglLen", "EndlenSpecstd", "DifrncLenMax", "AvgLenMin", "Longest", "Shortest", "ZOrderweight"); PlanComm.setGridDigitalCol(ultraGridSaleOrderProc.DisplayLayout.Bands[0], 5, 0, "PlanNumD", "planNumBegin", "CutNumP", "ZOrdernum"); PlanComm.setGridDigitalCol(ultraGridSaleOrderProc.DisplayLayout.Bands[0], 3, 6, "WeightPerM", "WeightKzM"); PlanComm.setGridSummarySet(ultraGridSaleOrderProc, 0, "PlanNumD"); PlanComm.setGridSummarySet(ultraGridSaleOrderProc, 3, "OrderQtyD", "PlanWtD", "FinishWt", "planWtBegin", "PlanPMain", "PlanPMainMin"); switch (this.CustomInfo.ToString().Trim()) { case "@Dbk": case "@Dbk-120504": comQueryPanelSource1.checkBoxIsConfirm.Visible = true; comQueryPanelSource1.checkBoxIsConfirm.Text = "已上传工艺"; break; case "@Zg": case "@Zg-120504": comQueryPanelSource1.checkBoxIsConfirm.Visible = true; break; case "@Grade": case "@Grade-120504": comQueryPanelSource1.checkBoxIsConfirm.Visible = true; break; case "@Jgx": case "@Jgx-120504": comQueryPanelSource1.checkBoxIsConfirm.Visible = true; PlanComm.setGridActivation(this.ultraGridSaleOrderProc.DisplayLayout.Bands[0], "CHC", "GroupJgx"); break; case "@Rcl": case "@Rcl-120504": ultraGridSaleOrderProc.DisplayLayout.Bands[0].Columns["RclInfo"].Hidden = false; //comQueryPanelSource1.checkBoxIsConfirm.Visible = true; PlanComm.setGridActivation(this.ultraGridSaleOrderProc.DisplayLayout.Bands[0], "CHC", "GroupRcl"); break; } } /// /// 获取查询条件信息 /// /// 查询条件信息 private ArrayList GetQueryCondition() { ArrayList ary = new ArrayList(); string strRollmonth = ""; string strAcceptNo = "";//接收批次号 string strOrderNo = ""; //合同号 string strOrderStatus = ""; //合同状态 string haveJg = ""; //是否有接箍 string haveDj = ""; //是否有短节 string isGpOrder = ""; //是否是管坯合同 string ordSource = "";//合同来源 if (comQueryPanelSource1.checkBoxHvJg.Checked) { haveJg = "1"; } if (comQueryPanelSource1.checkBoxHvDj.Checked) { haveDj = "1"; } if (comQueryPanelSource1.checkBoxisGp.Checked) { isGpOrder = "1"; } if (comQueryPanelSource1.checkBoxAcceptNo.Checked) { strAcceptNo = comQueryPanelSource1.ultraTextEditorAcceptNo.Text.Trim(); } if (comQueryPanelSource1.checkBoxForReqORDER_NO.Checked) { strOrderNo = comQueryPanelSource1.ctrlForQueryORDER_NO.Text.Trim(); } if (comQueryPanelSource1.checkBoxForReqPORDERSTATUS.Checked) { strOrderStatus = comQueryPanelSource1.ctrlForQueryPORDERSTATUS.Value.ToString(); } if (comQueryPanelSource1.checkBoxRollMonth.Checked) { strRollmonth = comQueryPanelSource1.ultraDateTimeRollMonth.DateTime.ToString("yyyy-MM"); } if (comQueryPanelSource1.checkBoxOrdSource.Checked) { ordSource = comQueryPanelSource1.ultraComboOrdSource.Value.ToString(); } 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); ary.Add(ordSource); return ary; } /// /// 查询 /// private void DoQuery(ArrayList ary) { string departName = ""; string confirm = ""; string strFinish = ""; if (this.comQueryPanelSource1.checkBoxFinish.Checked) { strFinish = comQueryPanelSource1.ultraComboFinishEditor.Value.ToString(); } #region 权限查询 switch (this.CustomInfo.ToString().Trim()) { case "@Dbk": case "@Dbk-120504": departName = "Dbk"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Zg": case "@Zg-120504": departName = "Zg"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Grade": case "@Grade-120504": departName = "Grade"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Jgx": case "@Jgx-120504": departName = "Jgx"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Rcl": case "@Rcl-120504": departName = "Rcl"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; } #endregion slmSaleOrderEntitybindingSource.DataSource = EntityHelper.GetData( "com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleOrder", new object[] { ary, strFinish, departName, confirm, this.ValidDataPurviewIds,this.CustomInfo.ToString2().Contains("120504")?"120504":"" }, this.ob); foreach (UltraGridRow uRow in this.ultraGridSaleOrderProc.Rows) { if (uRow.Cells["GroupJgx"].Value.ToString().Trim().Equals("/")) { uRow.Cells["GroupJgx"].Activation = Activation.ActivateOnly; } if (uRow.Cells["GroupRcl"].Value.ToString().Trim().Equals("/")) { uRow.Cells["GroupRcl"].Activation = Activation.ActivateOnly; } } } /// /// 热处理确认 /// private void DoConfirmRcl() { try { int defailNum = 0; string messageErr = ""; ultraGridSaleOrderProc.UpdateData(); ArrayList list = new ArrayList(); ArrayList listPk = new ArrayList(); IQueryable checkRows = ultraGridSaleOrderProc.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选合同!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { ///查询合同状态 DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleProcStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString(), uRow.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { defailNum++; continue; } if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("1")) { string rocessSeq = dtStatus.Rows[0]["PROCESS_SEQ"].ToString(); string desginKey = dtStatus.Rows[0]["DESGIN_KEY"].ToString(); string mscPline = dtStatus.Rows[0]["INDEX_SEQ"].ToString(); ArrayList param = new ArrayList(); if (!rocessSeq.Contains("F")) { param.Add("/"); param.Add("2"); } else { //string[] groups = FrmDefGroup.planGroups(desginKey, mscPline, "F", this.ob); //if (!groups.Contains(uRow.Cells["GroupRcl"].Value.ToString())) //{ // defailNum++; // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "评审产线中,没有" // + uRow.Cells["GroupRcl"] .Text+ "组的产线!"; // continue; //} param.Add(uRow.Cells["GroupRcl"].Value.ToString()); param.Add("1"); //确认 } param.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); param.Add(uRow.Cells["PlnDivideId"].Value.ToString()); listPk.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list.Add(param); } else { if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0) { messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已下发,不能修改!"; } defailNum++; continue; } } if (list.Count <= 0) { PlanComm.WaitFromColse(this.Cursor); MessageUtil.ShowTips("0条保存成功," + defailNum + "条保存失败。\n" + messageErr); return; } int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.saveSaleOrderRcl", new object[] { list, listPk }, this.ob); PlanComm.WaitFromColse(this.Cursor); if (succeed > 0) { 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 DoConfirmGjg() { try { int defailNum = 0; string messageErr = ""; ultraGridSaleOrderProc.UpdateData(); ArrayList list = new ArrayList(); ArrayList listPk = new ArrayList(); IQueryable checkRows = ultraGridSaleOrderProc.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选合同!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { //查询合同状态 DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleProcStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString(), uRow.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { defailNum++; continue; } if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("1")) { string rocessSeq = dtStatus.Rows[0]["PROCESS_SEQ"].ToString(); string desginKey = dtStatus.Rows[0]["DESGIN_KEY"].ToString(); string mscPline = dtStatus.Rows[0]["INDEX_SEQ"].ToString(); ArrayList param = new ArrayList(); if (!rocessSeq.Contains("G")) { param.Add("/"); param.Add("2"); } else { //string[] groups = FrmDefGroup.planGroups(desginKey, mscPline, "G", this.ob); //if (!groups.Contains(uRow.Cells["GroupJgx"].Value.ToString())) //{ // defailNum++; // messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" // + uRow.Cells["DeliveryNo"].Value.ToString() + "评审产线中,没有" // + uRow.Cells["GroupJgx"].Text + "组的产线!"; // continue; //} param.Add(uRow.Cells["GroupJgx"].Value.ToString()); param.Add("1"); //确认 } param.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); param.Add(uRow.Cells["PlnDivideId"].Value.ToString()); listPk.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list.Add(param); } else { if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0) { messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已下发,不能修改!"; } defailNum++; continue; } } if (list.Count <= 0) { PlanComm.WaitFromColse(this.Cursor); MessageUtil.ShowTips("0条保存成功," + defailNum + "条保存失败。\n" + messageErr); return; } int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.saveSaleOrderGjg", new object[] { list, listPk }, this.ob); PlanComm.WaitFromColse(this.Cursor); if (succeed > 0) { 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 DoConfirmBom(string prc) { try { int defailNum = 0; string messageErr = ""; ultraGridSaleOrderProc.UpdateData(); ArrayList list = new ArrayList(); ArrayList listPk = new ArrayList(); IQueryable checkRows = ultraGridSaleOrderProc.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选合同!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { //查询合同状态 DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleProcStatus", new object[] { uRow.Cells["OrdLnDlyPk"].Value.ToString(), uRow.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { defailNum++; continue; } if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("1")) { string processCode = ""; string rocessSeq = dtStatus.Rows[0]["PROCESS_SEQ"].ToString(); PlnSaleordProcEntity ordProcEntity = new PlnSaleordProcEntity(); ordProcEntity.EIsOk = dtStatus.Rows[0]["E_IS_OK"].ToString(); ordProcEntity.DIsOk = dtStatus.Rows[0]["D_IS_OK"].ToString(); ordProcEntity.GradecodeIsOk = dtStatus.Rows[0]["GRADECODE_IS_OK"].ToString(); switch (prc.Trim()) { case "DBK": processCode = "E"; ordProcEntity.EIsOk = "1"; break; case "ZG": processCode = "D"; ordProcEntity.DIsOk = "1"; break; case "Grade": ordProcEntity.GradecodeIsOk = "1"; break; default: PlanComm.WaitFromColse(this.Cursor); return; } if (!rocessSeq.Contains(processCode)) { defailNum++; continue; } ordProcEntity.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); ordProcEntity.PlnDivideId = uRow.Cells["PlnDivideId"].Value.ToString(); listPk.Add(uRow.Cells["OrdLnDlyPk"].Value.ToString()); list.Add(ordProcEntity); } else { defailNum++; if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0) { messageErr = "合同:" + uRow.Cells["OrderNoSeq"].Value.ToString() + "/" + uRow.Cells["DeliveryNo"].Value.ToString() + "已下发,不能修改!"; } continue; } } if (list.Count <= 0) { PlanComm.WaitFromColse(this.Cursor); MessageUtil.ShowTips("0条保存成功," + defailNum + "条保存失败。\n" + messageErr); return; } int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.saveConfirmStatus", new object[] { list, listPk }, this.ob); PlanComm.WaitFromColse(this.Cursor); if (succeed > 0) { 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 DoProChg() { UltraGridRow ugr = this.ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } DataTable dtPrcStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleProcStatus", new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtPrcStatus != null && dtPrcStatus.Rows.Count > 0) { if (dtPrcStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0) { MessageUtil.ShowTips("合同:" + ugr.Cells["OrderNoSeq"].Value.ToString() + "/" + ugr.Cells["DeliveryNo"].Value.ToString() + "已经下发了,请先撤消下发。"); return; } //if (dtPrcStatus.Rows[0]["PLAN_WT_D"].ToString().Equals("0")) //{ // MessageUtil.ShowTips("合同:" + ugr.Cells["OrderNoSeq"].Value.ToString() + "/" // + ugr.Cells["DeliveryNo"].Value.ToString() + "是附件类型合同!"); // return; //} if (ugr.Cells["Mergetype"].Value.ToString().Equals("3")) { MessageUtil.ShowTips("合同:" + ugr.Cells["OrderNoSeq"].Value.ToString() + "/" + ugr.Cells["DeliveryNo"].Value.ToString() + "是管坯类型合同!"); return; } FrmChangeIndex changeIndex = new FrmChangeIndex(this.ob, ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString(), ugr.Cells["OrderSource"].Value.ToString()); changeIndex.OrdLnDlyPk = ugr.Cells["OrdLnDlyPk"].Value.ToString(); changeIndex.RNumId = ugr.Cells["RNumId"].Value.ToString(); changeIndex.ShowDialog(); DoQueryID(ugr.Cells["OrdLnDlyPk"].Value.ToString()); this.ultraGridSaleOrderProc.ActiveRow = ugr; } } /// /// 默认产线Bom更改 /// private void DoChangeBom() { UltraGridRow ugr = ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleProcStatus", new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtStatus != null && dtStatus.Rows.Count > 0) { if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0) { MessageUtil.ShowTips("合同:" + ugr.Cells["OrderNoSeq"].Value.ToString() + "/" + ugr.Cells["DeliveryNo"].Value.ToString() + "已经下发。"); return; } FrmChangeBomDp changeBomDp = new FrmChangeBomDp(ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString(), this.ob); switch (this.CustomInfo.ToString().Trim()) { case "@Dbk": case "@Dbk-120504": changeBomDp.Custom = "Dbk"; break; case "@Zg": case "@Zg-120504": changeBomDp.Custom = "Zg"; break; case "@Grade": case "@Grade-120504": changeBomDp.Custom = "Grade"; break; } changeBomDp.ShowDialog(); //DoQueryID(ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString()); DoQueryID(ugr.Cells["OrdLnDlyPk"].Value.ToString()); this.ultraGridSaleOrderProc.ActiveRow = ugr; } } /// /// 查看上传工艺文件 /// private void DoLookCraftFile() { UltraGridRow ugr = this.ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } DataTable dtPath = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.queryCraftFilePath", new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dtPath != null && dtPath.Rows.Count > 0) { ArrayList listPIC = new ArrayList(); foreach (DataRow dr in dtPath.Rows) { listPIC.Add(dr["CRAFT_PATH"].ToString()); } dlgOrderAskLook orderAsk = new dlgOrderAskLook(this.ob, listPIC); orderAsk.Text = "查看上传工艺文件"; orderAsk.Show(); } } /// /// 刷新单条数据 /// /// private void DoQueryID(string ordLnDlyPk) { string departName = ""; string confirm = ""; string strFinish = ""; if (this.comQueryPanelSource1.checkBoxFinish.Checked) { strFinish = comQueryPanelSource1.ultraComboFinishEditor.Value.ToString(); } #region 权限查询 switch (this.CustomInfo.ToString().Trim()) { case "@Dbk": case "@Dbk-120504": departName = "Dbk"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Zg": case "@Zg-120504": departName = "Zg"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Grade": case "@Grade-120504": departName = "Grade"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Jgx": case "@Jgx-120504": departName = "Jgx"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; case "@Rcl": case "@Rcl-120504": departName = "Rcl"; if (comQueryPanelSource1.checkBoxIsConfirm.Checked) { confirm = "1"; } break; } #endregion List listSource = EntityHelper.GetData( "com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.querySaleOrder", new object[] { ordLnDlyPk, GetQueryCondition(), strFinish, departName, confirm }, this.ob); List listSource2 = (List)slmSaleOrderEntitybindingSource.DataSource; PlnSaleOrderQueryEntity[] querayable = listSource2.AsQueryable().Where(a => a.OrdLnDlyPk == ordLnDlyPk).ToArray(); if (querayable.Length > 0) { int number = listSource2.IndexOf(querayable[0]); for (int i = 0; i < querayable.Length; i++) { listSource2.Remove(querayable[i]); } foreach (PlnSaleOrderQueryEntity source in listSource) { slmSaleOrderEntitybindingSource.Insert(number, source); } } this.ultraGridSaleOrderProc.Refresh(); } /// /// 验证合同行工艺文件有没有锁定的(true- 锁定,false - 无锁定) /// /// 合同行pk /// private bool IsLockCraft(string ordLnPk) { bool isLocked = false; DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.queryCraftLockFlag", new object[] { ordLnPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { if (!dt.Rows[0][0].ToString().Trim().Equals("0")) { isLocked = true; } } return isLocked; } private void ultraGridSaleOrderProc_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridSaleOrderProc.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGridSaleOrderProc_KeyUp(object sender, KeyEventArgs e) { PlanComm.setGridCopyActColumn(this.ultraGridSaleOrderProc, "CHC", e, "GroupRcl", "GroupJgx"); } /// /// 查看附加要求贴图 /// /// /// private void ultraFileLook_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { try { UltraGridRow ugr = ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } string askNo = ugr.Cells["AddAskNo"].Value.ToString(); 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(); } catch (Exception ex) { if (!(ex is MESException)) { MessageBox.Show(ex.Message); } } } private void ultraGridSaleOrderProc_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } string desginKey = ugr.Cells["DesginKey"].Value.ToString(); string mscPline = ugr.Cells["IndexSeq"].Value.ToString(); DataTable dtF = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.CoreDefGourp.queryProcessPlineGroup", new object[] { desginKey, mscPline, "F" }, this.ob); DataTable dtG = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.CoreDefGourp.queryProcessPlineGroup", new object[] { desginKey, mscPline, "G" }, this.ob); if (dtF != null && dtF.Rows.Count > 0) { ugr.Cells["GroupRcl"].ValueList = PlanComm.GeneralValuelist(ref dtF, "GROUP_PLAN", "BASENAME"); } if (dtG != null && dtG.Rows.Count > 0) { ugr.Cells["GroupJgx"].ValueList = PlanComm.GeneralValuelist(ref dtG, "GROUP_PLAN", "BASENAME"); } } /// /// 镦拔扩小时能力维护 /// private void ModifyBaseMaterialEPl() { UltraGridRow ugr = ultraGridSaleOrderProc.ActiveRow; if (ugr == null) { return; } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreSaleOrderReceive.selectOrdProcBomDpline", new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob); if (dt == null || dt.Rows.Count <= 0) { return; } string eInMaterialNo = dt.Rows[0]["E_IN_MATERIAL_NO"].ToString(); string eOutMaterialNo = dt.Rows[0]["E_OUT_MATERIAL_NO"].ToString(); string bjType = ugr.Cells["BjType"].Value.ToString(); string bjPine = ""; DataTable dtBjType = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.selectBjPine", new object[] { bjType }, this.ob); if (dtBjType != null && dtBjType.Rows.Count > 0) { bjPine = dtBjType.Rows[0]["PLINE_CODE"].ToString(); } FrmBaseMaterialEPl eBaseMtPl = new FrmBaseMaterialEPl(eInMaterialNo, eOutMaterialNo, bjPine, this.ob); eBaseMtPl.ShowDialog(); } /// /// 查看镦拔扩投入产出信息 /// private void LookDbkInOutInfo() { ultraGridSaleOrderProc.UpdateData(); List listProc = new List(); IQueryable checkRows = ultraGridSaleOrderProc.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("请勾选要查看的合同。"); return; } foreach(UltraGridRow uRow in checkRows) { PlnSaleordProcEntity procEntity = new PlnSaleordProcEntity(); procEntity.OrdLnDlyPk = uRow.Cells["OrdLnDlyPk"].Value.ToString(); procEntity.PlnDivideId = uRow.Cells["PlnDivideId"].Value.ToString(); listProc.Add(procEntity); } FrmCalculateDbk dbkCal = new FrmCalculateDbk(listProc, this.ob); dbkCal.ShowDialog(); if (dbkCal.isChange) { DoQuery(GetQueryCondition()); } } } }