| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740 |
- 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 Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
- using Core.StlMes.Client.PlnSaleOrd.Entity;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using Core.Mes.Client.Comm.Format;
- using com.steering.pss.plnsaleord.processOrder.entity;
- namespace Core.StlMes.Client.PlnSaleOrd
- {
- /// <summary>
- /// 制程变更
- /// </summary>
- public partial class FrmMscPlineChange : FrmBase
- {
- public FrmMscPlineChange()
- {
- this.IsLoadUserView = true;
- InitializeComponent();
- System.Threading.Thread t = new System.Threading.Thread(setGridColunmName);
- t.Start();
- }
- private void setGridColunmName()
- {
- System.Threading.Thread.Sleep(3000);
- if (!this.IsDisposed)
- {
- EntityHelper.ShowGridCaption<PlnSaleordProcEntity>(ultraGridProc.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(ultraGridBom.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlEntity>(ultraGridPline.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlGzEntity>(ultraGridGrade.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlPrcEntity>(ultraGridProcess.DisplayLayout.Bands[0]);
- }
- }
- /// <summary>
- /// 待分配排产总量
- /// </summary>
- private double _finishSumWgt = 0;
- /// <summary>
- /// 交货行主键
- /// </summary>
- private string _ordLnDlyPk = "";
- /// <summary>
- /// 排产流水号
- /// </summary>
- private string _plnDivideId = "";
- /// <summary>
- /// 成品完成量
- /// </summary>
- private double _finishWgt = 0;
- /// <summary>
- /// 变更的工序
- /// </summary>
- private string _processCode = "";
- /// <summary>
- /// 排产联动组号
- /// </summary>
- private string _planGroupId = "";
- /// <summary>
- /// 工艺序号
- /// </summary>
- private string _craftSeq = "";
- /// <summary>
- /// 制程号
- /// </summary>
- private string _mscPline = "";
- /// <summary>
- /// BOM
- /// </summary>
- private string _bom = "";
- /// <summary>
- /// 轧制机组
- /// </summary>
- private string _dPine = "";
- /// <summary>
- /// 合同行
- /// </summary>
- private string _orderNoSeq = "";
- /// <summary>
- /// 合同来源
- /// </summary>
- private string _orderSource = "";
- private double _initProcessWgt = 0;
- /// <summary>
- /// 排产实体类集合
- /// </summary>
- private Dictionary<string, PlnSaleordProcEntity> _dicProcs = new Dictionary<string, PlnSaleordProcEntity>();
- /// <summary>
- /// 制程变更传递数据类集合
- /// </summary>
- private Dictionary<string, MscPlineChangeEntity> _dicChanges = new Dictionary<string, MscPlineChangeEntity>();
- public FrmMscPlineChange(string ordLnDlyPk, string processCode, string plnDivideId, string planGroupId,double initProcessWgt, double finishWgt, OpeBase ob,string orderNoSeq,string orderSource)
- {
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this._ordLnDlyPk = ordLnDlyPk;
- this._plnDivideId = plnDivideId;
- this._finishWgt = finishWgt;
- this._processCode = processCode;
- this._planGroupId = planGroupId;
- this._initProcessWgt = initProcessWgt;
- this._orderNoSeq = orderNoSeq;
- this._orderSource = orderSource;
- this.ob = ob;
- this.IsLoadUserView = true;
- InitializeComponent();
- System.Threading.Thread t = new System.Threading.Thread(setGridColunmName);
- t.Start();
- }
- /// <summary>
- /// 初始化界面
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void FrmMscPlineChange_Load(object sender, EventArgs e)
- {
- EntityHelper.ShowGridCaption<PlnSaleordProcEntity>(ultraGridProc.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(ultraGridBom.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlEntity>(ultraGridPline.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlGzEntity>(ultraGridGrade.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<CraftOrdDesignMscPlPrcEntity>(ultraGridProcess.DisplayLayout.Bands[0]);
- BaseHelper.setOtherColumnReadOnly(ultraGridProc, new string[] { "PlanWtD", "PlanNumD" });
- BaseHelper.setOtherColumnReadOnly(ultraGridPline, new string[] { "CHC" });
- BaseHelper.setOtherColumnReadOnly(ultraGridGrade, new string[] { "" });
- BaseHelper.setOtherColumnReadOnly(ultraGridProcess, new string[] { "" });
- QuerySaleOrdProc(_ordLnDlyPk);
- InitPlanWgt();
- userControlSaleordProc1.UltraGridSaleordProc1.AfterRowActivate += UltraGridSaleordProc1_AfterRowActivate;
- }
- /// <summary>
- /// 初始化排产量
- /// </summary>
- private void InitPlanWgt()
- {
- UltraGridRow ugrProduc = userControlSaleordProc1.getUltraGridRow(_plnDivideId);
- if (ugrProduc != null)
- {
- string planWtD = ugrProduc.Cells["PlanWtD"].Text.Equals("") ? "0" : ugrProduc.Cells["PlanWtD"].Text;
- _finishSumWgt = double.Parse(planWtD);
- ugrProduc.Cells["PlanWtD"].Value = _finishWgt.ToString();
- NumPlanWgt.Value = _finishSumWgt - _finishWgt;
- }
- }
- /// <summary>
- /// 激活排产记录查询制程
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- void UltraGridSaleordProc1_AfterRowActivate(object sender, EventArgs e)
- {
- QueryPline(_ordLnDlyPk);
- }
- /// <summary>
- /// 查询排产行工艺制程物料产线
- /// </summary>
- private void DoQueryProc(string r_ordLnDlyPk, string r_plnDivideId)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryProcCraftIndex",
- new object[] { r_ordLnDlyPk, r_plnDivideId }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- _craftSeq = dt.Rows[0]["CRAFT_SEQ"].ToString();
- _mscPline = dt.Rows[0]["INDEX_SEQ"].ToString();
- _bom = dt.Rows[0]["BOM"].ToString();
- _dPine = dt.Rows[0]["GROUP_ROLL"].ToString();
- }
- }
- /// <summary>
- /// 查询合同排产
- /// </summary>
- /// <param name="ordLnDlyPk"></param>
- private void QuerySaleOrdProc(string ordLnDlyPk)
- {
- DoQueryProc(ordLnDlyPk, _plnDivideId);
- userControlSaleordProc1.Query(ordLnDlyPk, _plnDivideId, this.ob);
- }
- /// <summary>
- /// 查询制程
- /// </summary>
- /// <param name="ordLnDlyPk"></param>
- private void QueryPline(string ordLnDlyPk)
- {
- List<CraftOrdDesignMscPlEntity> listPline = EntityHelper.GetData<CraftOrdDesignMscPlEntity>
- ("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryPline", new object[] { ordLnDlyPk }, this.ob);
- craftOrdDesignMscPlEntityBindingSource.DataSource = listPline;
- if (listPline.Count > 0)
- {
- UltraGridRow uRow = userControlSaleordProc1.UltraGridSaleordProc1.ActiveRow;
- foreach (UltraGridRow ugr in ultraGridPline.Rows)
- {
- if (ugr.Cells["CraftSeq"].Text.Equals(_craftSeq)
- && ugr.Cells["MscPline"].Text.Equals(_mscPline))
- {
- ugr.Appearance.BackColor = Color.GreenYellow;
- }
- if (ugr.Cells["CraftSeq"].Text.Equals(uRow.Cells["CraftSeq"].Value.ToString())
- && ugr.Cells["MscPline"].Text.Equals(uRow.Cells["IndexSeq"].Value.ToString()))
- {
- ultraGridPline.ActiveRow = ugr;
- }
- }
- }
- }
- /// <summary>
- /// 查询钢种
- /// </summary>
- /// <param name="ordLnDlyPk"></param>
- private void QueryGrade(string designKey, string mscPline)
- {
- List<CraftOrdDesignMscPlGzEntity> listGrade = EntityHelper.GetData<CraftOrdDesignMscPlGzEntity>
- ("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryGrade", new object[] { designKey, mscPline }, this.ob);
- craftOrdDesignMscPlGzEntityBindingSource.DataSource = listGrade;
- }
- /// <summary>
- /// 查询工序
- /// </summary>
- /// <param name="ordLnDlyPk"></param>
- private void QueryOperation(string designKey, string mscPline)
- {
- List<CraftOrdDesignMscPlPrcEntity> listPrc = EntityHelper.GetData<CraftOrdDesignMscPlPrcEntity>
- ("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryOperation", new object[] { designKey, mscPline }, this.ob);
- craftOrdDesignMscPlPrcEntityBindingSource.DataSource = listPrc;
- }
- /// <summary>
- /// 查询工序点
- /// </summary>
- private void QueryOperationPoint(string designKey, string mscPline)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryOperationPoint", new object[] { designKey, mscPline }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- string points = dt.Rows[0][0].ToString();
- pointTxt.Text = points.Substring(0, points.LastIndexOf("->"));
- }
- else
- {
- pointTxt.Text = "";
- }
- }
- /// <summary>
- /// 查询BOM
- /// </summary>
- /// <param name="materialNo">物料编码</param>
- /// <param name="msc">冶金规范码</param>
- /// <param name="mscPline">制程号</param>
- /// <param name="wholeBacklog">全程途径码</param>
- private void QueryBom(string materialNo, string msc, string mscPline, string wholeBacklog)
- {
- List<SlmOrdDesignBomEntity> listBom = EntityHelper.GetData<SlmOrdDesignBomEntity>
- ("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryBom",
- new object[] { materialNo, msc, mscPline, wholeBacklog }, this.ob);
- slmOrdDesignBomEntityBindingSource.DataSource = listBom;
- if (listBom.Count > 0)
- {
- UltraGridRow uRow = userControlSaleordProc1.UltraGridSaleordProc1.ActiveRow;
- foreach (UltraGridRow ugr in ultraGridBom.Rows)
- {
-
- if (ugr.Cells["Bom"].Text.Equals(_bom))
- {
- ugr.Appearance.BackColor = Color.GreenYellow;
- }
- if (ugr.Cells["Bom"].Text.Equals(uRow.Cells["Bom"].Value.ToString()))
- {
- ultraGridBom.ActiveRow = ugr;
- }
- }
- }
- }
- /// <summary>
- /// 查询产线
- /// </summary>
- /// <param name="designKey"></param>
- /// <param name="dInMaterialNo"></param>
- /// <param name="dOutMaterialNo"></param>
- private void QueryLine(string designKey, string mscPline, string dInMaterialNo, string dOutMaterialNo)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange.queryLine",
- new object[] { designKey, mscPline, dInMaterialNo, dOutMaterialNo }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
- if (dt!=null && dt.Rows.Count > 0)
- {
- UltraGridRow uRow = userControlSaleordProc1.UltraGridSaleordProc1.ActiveRow;
- foreach (UltraGridRow ugr in ultraGridLine.Rows)
- {
- if (ugr.Cells["PLINE_CODE"].Text.Equals(_dPine))
- {
- ugr.Appearance.BackColor = Color.GreenYellow;
- }
- if (ugr.Cells["PLINE_CODE"].Text.Equals(uRow.Cells["GroupRoll"].Value.ToString()))
- {
- ultraGridLine.ActiveRow = ugr;
- }
- }
- }
- }
- /// <summary>
- /// 激活制程行
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGridPline_AfterRowActivate(object sender, EventArgs e)
- {
- UltraGridRow ugrActive = ultraGridPline.ActiveRow;
- if (ugrActive == null)
- {
- return;
- }
- string designKey = ugrActive.Cells["DesginKey"].Text;
- string mscPline = ugrActive.Cells["MscPline"].Text;
- //查询数据
- QueryGrade(designKey, mscPline);
- QueryOperation(designKey, mscPline);
- QueryOperationPoint(designKey, mscPline);
- //获取变更的行
- UltraGridRow ugrChange = userControlSaleordProc1.getUltraGridRow(_plnDivideId);
- string msc = ugrChange.Cells["Msc"].Text;
- string materialNo = ugrChange.Cells["MaterialNo"].Text;
- string wholeBacklog = ugrActive.Cells["WholeBacklog"].Text;
- //查询BOM
- QueryBom(materialNo, msc, mscPline, wholeBacklog);
- }
- /// <summary>
- /// BOM激活行(查询产线)
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGridBom_AfterRowActivate(object sender, EventArgs e)
- {
- UltraGridRow ugrBom = ultraGridBom.ActiveRow;
- if (ugrBom == null)
- {
- return;
- }
- UltraGridRow ugrPline = ultraGridPline.ActiveRow;
- if (ugrPline == null)
- {
- return;
- }
- string designKey = ugrPline.Cells["DesginKey"].Text;
- string mscPline = ugrPline.Cells["MscPline"].Text;
- string inMaterialNo = ugrBom.Cells["DInMaterialNo"].Text;
- string outMaterialNo = ugrBom.Cells["DOutMaterialNo"].Text;
- QueryLine(designKey, mscPline, inMaterialNo, outMaterialNo);
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key)
- {
- case "新增":
- AddMscPline();
- break;
- case "修改":
- ModifyMscPine();
- break;
- case "删除":
- deleteMscPline();
- break;
- case "下发":
- downMscPline();
- break;
- case "关闭":
- this.Close();
- break;
- case "刷新":
- DoRefresDate();
- break;
- default:
- break;
- }
- }
- /// <summary>
- /// 刷新
- /// </summary>
- private void DoRefresDate()
- {
- foreach (UltraGridRow uRow in userControlSaleordProc1.UltraGridSaleordProc1.Rows)
- {
- if (uRow != null && uRow.Cells["Planstatus"].Text.Equals("维护"))
- {
- PlnSaleordProcEntity proEntity = EntityHelper.CopyEntity<PlnSaleordProcEntity>(uRow.ListObject);
- //删除排产实体类
- _dicProcs.Remove(proEntity.PlnDivideId);
- //删除制程变更传递数据类
- _dicChanges.Remove(proEntity.PlnDivideId);
- }
- }
- QuerySaleOrdProc(_ordLnDlyPk);
- InitPlanWgt();
- }
- /// <summary>
- /// 新增排产记录
- /// </summary>
- private void AddMscPline()
- {
- ultraGridPline.UpdateData();
- ultraGridBom.UpdateData();
- ultraGridLine.UpdateData();
- double waitPlanWtD = double.Parse(NumPlanWgt.Value.ToString());
- if (waitPlanWtD <= 0)
- {
- MessageUtil.ShowWarning("待分配排产量为0,不能新增排产记录!");
- return;
- }
- IQueryable<UltraGridRow> ugrPlines = ultraGridPline.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrPlines == null || ugrPlines.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一个制程!");
- return;
- }
- //制程
- CraftOrdDesignMscPlEntity plEntity = (CraftOrdDesignMscPlEntity)ugrPlines.First().ListObject;
- IQueryable<UltraGridRow> ugrBoms = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrBoms == null || ugrBoms.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一条Bom!");
- return;
- }
- //bom
- SlmOrdDesignBomEntity bomEntity = (SlmOrdDesignBomEntity)ugrBoms.First().ListObject;
- IQueryable<UltraGridRow> ugrLines = ultraGridLine.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrLines == null || ugrLines.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一条轧管产线!");
- return;
- }
- //产线
- UltraGridRow ugrLine = ugrLines.First();
- if (plEntity.CraftSeq.Equals(_craftSeq) && plEntity.MscPline.Equals(_mscPline)
- && bomEntity.Bom.Equals(_bom)
- && ugrLine.Cells["PLINE_CODE"].Value.ToString().Equals(_dPine))
- {
- MessageUtil.ShowWarning("您所选取的工艺、制程、物料、产线与原记录完全相同!");
- return;
- }
- //排产原始行
- UltraGridRow ugrProduc = userControlSaleordProc1.getUltraGridRow(_plnDivideId);
- //获取排产分配量
- FrmPlanWgtIn frmPlanWgtIn = new FrmPlanWgtIn(waitPlanWtD);
- frmPlanWgtIn.ShowDialog();
- Boolean wgtFlag = frmPlanWgtIn.Flag;
- if (!wgtFlag)
- {
- return;
- }
- double planWgt = frmPlanWgtIn.PlanWgt;
- PlnSaleordProcEntity plnProcEntity = EntityHelper.CopyEntity<PlnSaleordProcEntity>(ugrProduc.ListObject);
- string plnDivideId = userControlSaleordProc1.getMaxPlnDivideId();
- plnProcEntity.PlnDivideId = plnDivideId;
- plnProcEntity.PlanWtD = (decimal?)planWgt;
- plnProcEntity.CraftFileNo = plEntity.CraftNo;
- plnProcEntity.ProcessSeq = plEntity.WholeBacklog;
- plnProcEntity.Bom = bomEntity.Bom;
- plnProcEntity.Gradecode = bomEntity.Gradecode;
- plnProcEntity.Planstatus = "维护";
- //界面增加一条记录
- userControlSaleordProc1.AddLine(plnProcEntity);
- //修改待分配排产量
- NumPlanWgt.Value = double.Parse(NumPlanWgt.Value.ToString()) - planWgt;
- //保存排产实体类
- _dicProcs.Add(plnDivideId, plnProcEntity);
- //保存制程变更传递数据类
- MscPlineChangeEntity changeEntity = new MscPlineChangeEntity();
- changeEntity.CreatName = UserInfo.GetUserName();
- changeEntity.OrdLnDlyPk = plnProcEntity.OrdLnDlyPk;
- changeEntity.PlnDivideId = _plnDivideId;
- changeEntity.PlanWeightD = planWgt;
- changeEntity.CraftSeq = plEntity.CraftSeq;
- changeEntity.MscPline = plEntity.MscPline;
- changeEntity.Bom = bomEntity.Bom;
- changeEntity.DPline = ugrLine.Cells["PLINE_CODE"].Text;
- _dicChanges.Add(plnDivideId, changeEntity);
- }
- /// <summary>
- /// 删除排产记录
- /// </summary>
- private void deleteMscPline()
- {
- UltraGridRow ugr = userControlSaleordProc1.getActiveRow();
- if (ugr == null || !ugr.Cells["Planstatus"].Text.Equals("维护"))
- {
- MessageUtil.ShowWarning("请选择一条维护的排产记录");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否删除此排产记录!") == DialogResult.No)
- {
- return;
- }
- //转化为实体类
- PlnSaleordProcEntity proEntity = EntityHelper.CopyEntity<PlnSaleordProcEntity>(ugr.ListObject);
- double planWtD = double.Parse(proEntity.PlanWtD.ToString());
- userControlSaleordProc1.RemoveLine((PlnSaleordProcEntity)ugr.ListObject);
- //刷新待分配排产量
- NumPlanWgt.Value = double.Parse(NumPlanWgt.Value.ToString()) + planWtD;
- //删除排产实体类
- _dicProcs.Remove(proEntity.PlnDivideId);
- //删除制程变更传递数据类
- _dicChanges.Remove(proEntity.PlnDivideId);
- }
- /// <summary>
- /// 修改原排产记录
- /// </summary>
- private void ModifyMscPine()
- {
- ultraGridPline.UpdateData();
- ultraGridBom.UpdateData();
- ultraGridLine.UpdateData();
- IQueryable<UltraGridRow> ugrPlines = ultraGridPline.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrPlines == null || ugrPlines.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一个制程!");
- return;
- }
- //制程
- CraftOrdDesignMscPlEntity plEntity = (CraftOrdDesignMscPlEntity)ugrPlines.First().ListObject;
- IQueryable<UltraGridRow> ugrBoms = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrBoms == null || ugrBoms.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一条Bom!");
- return;
- }
- //bom
- SlmOrdDesignBomEntity bomEntity = (SlmOrdDesignBomEntity)ugrBoms.First().ListObject;
- IQueryable<UltraGridRow> ugrLines = ultraGridLine.Rows.AsQueryable().Where(" CHC = 'True' ");
- if (ugrLines == null || ugrLines.Count() != 1)
- {
- MessageUtil.ShowWarning("请选择一条轧管产线!");
- return;
- }
- //产线
- UltraGridRow ugrLine = ugrLines.First();
- if (plEntity.CraftSeq.Equals(_craftSeq) && plEntity.MscPline.Equals(_mscPline)
- && bomEntity.Bom.Equals(_bom)
- && ugrLine.Cells["PLINE_CODE"].Value.ToString().Equals(_dPine))
- {
- MessageUtil.ShowWarning("您所选取的工艺、制程、物料、产线与原记录完全相同!");
- return;
- }
- //排产原始行
- UltraGridRow ugrProduc = userControlSaleordProc1.getUltraGridRow(_plnDivideId);
- PlnSaleordProcEntity plnProcEntity = EntityHelper.CopyEntity<PlnSaleordProcEntity>(ugrProduc.ListObject);
- string plnDivideId = userControlSaleordProc1.getMaxPlnDivideId();
- MscPlineChangeEntity changeEntity = new MscPlineChangeEntity();
- changeEntity.CreatName = UserInfo.GetUserName();
- changeEntity.OrdLnDlyPk = plnProcEntity.OrdLnDlyPk;
- changeEntity.PlnDivideId = _plnDivideId;
- changeEntity.CraftSeq = plEntity.CraftSeq;
- changeEntity.MscPline = plEntity.MscPline;
- changeEntity.Bom = bomEntity.Bom;
- changeEntity.DPline = ugrLine.Cells["PLINE_CODE"].Text;
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CoreProcessOrder";
- ccp.MethodName = "modifyChangeProc";
- ccp.ServerParams = new object[] { changeEntity,_orderNoSeq,_orderSource };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips("修改成功!");
- DoRefresDate();
- }
- else
- {
- MessageUtil.ShowError("修改失败:" + ccp.ReturnInfo);
- return;
- }
- }
- /// <summary>
- /// 下发
- /// </summary>
- private void downMscPline()
- {
- double waitPlanWtD = double.Parse(NumPlanWgt.Value.ToString());
- if (waitPlanWtD > 0)
- {
- MessageUtil.ShowWarning("待分配排产量未分配完全,不能下发!");
- return;
- }
- List<PlnSaleordProcEntity> addProcEntitys = new List<PlnSaleordProcEntity>();
- //新增的排产集合
- foreach (string key in _dicProcs.Keys)
- {
- addProcEntitys.Add(_dicProcs[key]);
- }
- //制程变更传递数据类集合
- List<MscPlineChangeEntity> addChangeEntitys = new List<MscPlineChangeEntity>();
- foreach (string key in _dicChanges.Keys)
- {
- addChangeEntitys.Add(_dicChanges[key]);
- }
- if (addProcEntitys.Count != addChangeEntitys.Count)
- {
- MessageUtil.ShowWarning("数据异常,请重新新增数据!");
- return;
- }
- //原始排产记录
- UltraGridRow ugrProc = userControlSaleordProc1.getUltraGridRow(_plnDivideId);
- PlnSaleordProcEntity beginProcEntity = (PlnSaleordProcEntity)ugrProc.ListObject;
- if (MessageUtil.ShowYesNoAndQuestion("是否下发维护中的排产记录?") == DialogResult.No)
- {
- return;
- }
- bool isUseNewCraft = false;
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CoreMscPlineChange";
- ccp.MethodName = "getIsUseNewCraft";
- ccp.ServerParams = new object[] { _planGroupId, _processCode, addChangeEntitys[0] };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- bool isAllow = (Boolean)ccp.ReturnObject;
- if (isAllow)
- {
- if (MessageUtil.ShowYesNoAndQuestion("原记录" + processCodeToDesc(_processCode)
- + "之后的工序是否使用新的工艺?") == DialogResult.Yes)
- {
- isUseNewCraft = true;
- }
- }
- }
- else
- {
- MessageUtil.ShowError(ccp.ReturnInfo);
- return;
- }
- //CoreClientParam ccp = new CoreClientParam();
- //ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CoreProcessOrder";
- //ccp.MethodName = "getGetRate";
- //ccp.ServerParams = new object[] { _processCode, _planGroupId, _initProcessWgt.ToString(),
- //_finishSumWgt.ToString(), beginProcEntity, addProcEntitys, addChangeEntitys };
- //ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- //if (ccp.ReturnCode != -1)
- //{
- ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CoreProcessOrder";
- ccp.MethodName = "saveChangeProc";
- ccp.ServerParams = new object[] { JSONFormat.Format(beginProcEntity), addChangeEntitys, _processCode, isUseNewCraft, _orderNoSeq, _orderSource };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips("下发成功!");
- DoRefresDate();
- }
- else
- {
- MessageUtil.ShowError("下发失败:" + ccp.ReturnInfo);
- return;
- }
- }
- /// <summary>
- /// 工序点代码转描述
- /// </summary>
- /// <param name="processCode"></param>
- /// <returns></returns>
- public static string processCodeToDesc(string processCode)
- {
- string processDesc = "";
- switch (processCode)
- {
- case "A":
- processDesc = "炼钢";
- break;
- case "B":
- processDesc = "铸造";
- break;
- case "C":
- processDesc = "锻造";
- break;
- case "D":
- processDesc = "轧制";
- break;
- case "E":
- processDesc = "镦拔扩";
- break;
- case "F":
- processDesc = "热处理";
- break;
- case "G":
- processDesc = "加工";
- break;
- case "H":
- processDesc = "接箍加工";
- break;
- }
- return processDesc;
- }
- }
- }
|