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 System.Collections; using System.IO; using System.Diagnostics; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using Infragistics.Win.UltraWinGrid.ExcelExport; using Infragistics.Excel; using CoreFS.CA06; using CoreFS.SA06; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm; using Core.Mes.Client.Comm.Tool; using com.steering.pss.plan.order; using com.steering.pss.plan.jgtransa.model; using Core.StlMes.Client.Plan.Order.JGGXPln; namespace Core.StlMes.Client.Plan.Order { public partial class FrmOrderJGGXPln : FrmBase { //用于计算可分离容器的大小。 private int _splitterDistanceOrder = 0; private bool _groupBoxOrderExpandedChanged = false; private int _splitterDistanceGp = 0; private bool _groupBoxGpExpandedChanged = false; private int _splitterDistanceJGorder = 0; private bool _groupBoxJGorderExpandedChanged = false; public FrmOrderJGGXPln() { this.IsLoadUserView = true; InitializeComponent(); } /// /// 菜单栏 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": //查询 QueryJGGXDD(); break; case "addDD": //新增接箍订单 DoAddJgDd(); break; case "JRDD": //选择加入订单 DoAddJR(); break; case "updataDD": //接箍订单修改 DoModefiy(); break; case "SetTime": //生产时间设置 updataTime(); break; case "Confirmjg": //接箍订单下发 upddxf(); break; case "CancelDD": //取消下发 QuJGDD(); break; case "deleteDD": //删除订单 deletedd(); break; case "Import": //导出 Export(); break; case "deleMx": //删除订单明细 deleteddmx(); break; case "Close": //删除订单明细 this.Close(); break; } } // 界面加载 private void FrmOrderJGGXPln_Load(object sender, EventArgs e) { QueryJGGXDD(); } //接箍工序订单主表与从表查询 查询接箍合同表,接箍备料关系表 private void QueryJGGXDD() { DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering", new Object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt3, dataTable2, true); DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ", new object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt4, dataTable4, true); dataTable3.Clear(); dataTable5.Clear(); DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt1, dataTable5, true); DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCB", new object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt2, dataTable3, true); } /// /// 新建接箍订单 /// private void DoAddJgDd() { try { ultraGridJGReq.UpdateData(); IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选要新建订单的接箍料!"); return; } ArrayList list = new ArrayList(); UltraGridRow ugr = checkRows.First(); string codeJg = ugr.Cells["CODE_JG"].Value.ToString(); string codeBl = ugr.Cells["CODE_JG_BL"].Value.ToString(); int numJg = 0; //订单接箍个数 int numBl = 0; //备料支数 double weightJg = 0; double weightBl = 0; //接箍需求长度=接箍长度+单个排产加长长度(mm) double lenjg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + Convert.ToDouble(ugr.Cells["SINGLE_ADDLEN"].Value); double lenBl = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value) * 1000; if (lenBl < lenjg) { MessageUtil.ShowError("备料管太短,请核对备料需求信息!"); return; } if (lenjg <= 0) { MessageUtil.ShowError("接箍长度必须大于零!"); return; } int singleCutNun = (int)(lenBl / lenjg); PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity(); string prdcrNo = ""; //监制编号 ultraGridJgOrder.UpdateData(); IQueryable rowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where( "JG_ORDERNO = '" + ugr.Cells["JG_ORDERNO"].Value.ToString() + "'"); if (rowJgOrder.Count() > 0) { prdcrNo = rowJgOrder.First().Cells["PRDCR_NO"].Value.ToString(); } foreach (UltraGridRow uRow in checkRows) { string uRowPrd = ""; if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg)) { MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!"); return; } if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl)) { MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!"); return; } if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0) { MessageUtil.ShowTips("接箍排产个数必须大于零个!"); return; } ultraGridJgOrder.UpdateData(); IQueryable uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where( "JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'"); if (uRowJgOrder.Count() > 0) { uRowPrd = uRowJgOrder.First().Cells["PRDCR_NO"].Value.ToString(); } if (!prdcrNo.Equals(uRowPrd)) { MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能合并成生产订单!"); return; } PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity(); jgDEntity.CodeJg = codeJg; jgDEntity.CodeJgBl = codeBl; jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString(); jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString(); jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString(); jgDEntity.CreateName = UserInfo.GetUserName(); numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value); list.Add(jgDEntity); } //需备料管支数 if ((numJg % singleCutNun) == 0) { numBl = numJg / singleCutNun; } else { numBl = (numJg / singleCutNun) + 1; } weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000;//单位吨t weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value); //选定产线和设置生产时间 FrmGXandTime getPlineTime = new FrmGXandTime(this.ob); getPlineTime.InMaterialNo = codeBl; getPlineTime.OutMaterialNo = codeJg; getPlineTime.ShowDialog(); if (!getPlineTime.IsConfirm) { return; } jgMEntity.CodeJg = codeJg; jgMEntity.CodeJgBl = codeBl; jgMEntity.PlanNum = numJg.ToString(); jgMEntity.SingleCutNun = singleCutNun.ToString(); jgMEntity.BlNum = numBl.ToString(); jgMEntity.BlWeight = weightBl.ToString(); if (getPlineTime.HrCapcty > 0) { jgMEntity.PlanUsetimeJg = ((weightJg / getPlineTime.HrCapcty) * 60).ToString();//单位分min } else { jgMEntity.PlanUsetimeJg = "0"; } jgMEntity.PlanTimeJg = getPlineTime.TimeSc.ToString("yyyy-MM-dd HH:mm:ss"); jgMEntity.PlineCode = getPlineTime.Plinecode; jgMEntity.PlineName = getPlineTime.Plinename; jgMEntity.PrdcrNo = prdcrNo; jgMEntity.AimlengthBl = ugr.Cells["AIMLENGTH_BL"].Value.ToString(); if (prdcrNo.Equals("")) { jgMEntity.IfMonitorJg = "0"; } else { jgMEntity.IfMonitorJg = "1"; } jgMEntity.CreateName = UserInfo.GetUserName(); int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJgDd", new object[] { list, jgMEntity }, this.ob); if (suceed > 0) { MessageUtil.ShowTips("新增成功!"); } } catch (Exception ex) { if (!(ex is MESException)) { MessageBox.Show(ex.Message); } } QueryJGGXDD(); } /// /// 加入接箍订单 /// private void DoAddJR() { try { ultraGridJgGxM.UpdateData(); ultraGridJGReq.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True'"); IQueryable checkRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowTips("请选择要加入订单的需求。"); return; } if (checkRows1.Count() == 0) { MessageUtil.ShowTips("请选择要将需求加入到哪条订单中。"); return; } if (checkRows1.Count() > 1) { MessageUtil.ShowTips("您选择了多条订单,只能加入一条订单中。"); return; } UltraGridRow ugr = checkRows.First(); UltraGridRow ugrM = checkRows1.First(); DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById", new object[] { ugrM.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!"); return; } if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0")) { MessageUtil.ShowError("指定的订单已经下发,不能再修改!"); return; } string prdcrNo = dtStatus.Rows[0]["PRDCR_NO"].ToString(); int singleCutNun = Convert.ToInt32(dtStatus.Rows[0]["SINGLE_CUT_NUN"]); string codeBl = dtStatus.Rows[0]["CODE_JG_BL"].ToString(); string codeJg = dtStatus.Rows[0]["CODE_JG"].ToString(); int numJg = 0; //订单接箍个数 int numBl = 0; //备料支数 double weightJg = 0; double weightBl = 0; PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity(); foreach (UltraGridRow uRow in checkRows) { if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg)) { MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!"); return; } if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl)) { MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!"); return; } if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0) { MessageUtil.ShowTips("接箍排产个数必须大于零个!"); return; } ultraGridJgOrder.UpdateData(); string uRowPrd = ""; PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity(); IQueryable uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where( "JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'"); if (uRowJgOrder.Count() > 0) { uRowPrd = uRowJgOrder.First().Cells["PRDCR_NO"].Value.ToString(); } if (!prdcrNo.Equals(uRowPrd)) { MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能加入该生产订单中!"); return; } jgDEntity.CodeJg = codeJg; jgDEntity.CodeJgBl = codeBl; jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString(); jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString(); jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString(); jgDEntity.UpdateName = UserInfo.GetUserName(); jgDEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString(); numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value); list.Add(jgDEntity); } //需备料管支数 if ((numJg % singleCutNun) == 0) { numBl = numJg / singleCutNun; } else { numBl = (numJg / singleCutNun) + 1; } double hrCapcty = 0; //小时能力(t/h) ArrayList param = new ArrayList(); param.Add(codeBl); param.Add(codeJg); param.Add(dtStatus.Rows[0]["PLINE_CODE"].ToString()); DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJgPlHrCapcty", new object[] { param }, this.ob); if (dt != null && dt.Rows.Count > 0) { double.TryParse(dt.Rows[0]["HR_CAPCTY"].ToString(), out hrCapcty); } weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000; weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value); jgMEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString(); jgMEntity.PlanNum = numJg.ToString(); jgMEntity.BlNum = numBl.ToString(); jgMEntity.BlWeight = weightBl.ToString(); jgMEntity.UpdateName = UserInfo.GetUserName(); jgMEntity.PlanUsetimeJg = (weightJg * hrCapcty * 60).ToString();//单位分min int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.inCreaseJgDd", new object[] { list, jgMEntity }, this.ob); if (suceed > 0) { MessageUtil.ShowTips("操作成功!"); } } catch (Exception ex) { if (!(ex is MESException)) { MessageBox.Show(ex.Message); } } QueryJGGXDD(); } /// /// 修改订单 /// private void DoModefiy() { UltraGridRow ugr = ultraGridJgGxM.ActiveRow; FrmModifyPlnJgM modifyPlnJgM = new FrmModifyPlnJgM(this.ob); if (ugr == null) { return; } DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById", new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!"); return; } if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0")) { MessageUtil.ShowError("指定的订单已经下发,不能再修改!"); return; } modifyPlnJgM.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); modifyPlnJgM.ShowDialog(); QueryJGGXDD(); } /// /// 生产排序 /// private void SetTime() { ArrayList str = new ArrayList(); DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob); for (int i = 0; i < dt.Rows.Count; i++) { str.Add(i + 1); str.Add(dt.Rows[i]["PRO_PLAN_ID"].ToString()); int Time = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.DDSCPX", new object[] { str }, this.ob); str.Clear(); } } /// /// 修改生产时间 /// /// /// private void updataTime() { ultraGridJgGxM.UpdateData(); ArrayList str = new ArrayList(); IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选订单信息"); return; } foreach (UltraGridRow uRow in checkRows) { str.Add(uRow.Cells["PLAN_TIME_JG"].Value.ToString()); str.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString()); int uptime = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPDDTime", new object[] { str }, this.ob); str.Clear(); } SetTime(); MessageUtil.ShowTips("时间设置成功"); QueryJGGXDD(); } //查询接箍合同表,接箍备料关系表 private void RefresDate() { DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering", new Object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt3, dataTable2, true); DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ", new object[] { }, this.ob); GridHelper.CopyDataToDatatable(dt4, dataTable4, true); } //查询订单表 private DataTable QueryJGDDS() { string tim = System.DateTime.Now.ToString("yyyyMMdd"); try { DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDS", new object[] { }, this.ob); return dt; } catch { return null; } } /// /// 接箍工序订单制定及从表插入 /// private void doAddJGDD() { DataTable dt = QueryJGDDS(); int i; if (!String.IsNullOrEmpty(dt.Rows[0][0].ToString())) { i = Convert.ToInt32(dt.Rows[0]["shu"].ToString()) + 1001; } else { i = 1001; } string shu = i.ToString(); string sh = shu.Substring(1); string JgDdNo = "JGD_" + System.DateTime.Now.ToString("yyyyMMdd") + sh; // ArrayList str = new ArrayList(); ArrayList parms = new ArrayList(); ArrayList list = new ArrayList(); ArrayList list2 = new ArrayList(); #region 筛选、记录接箍合同 ultraGridJGReq.UpdateData(); double codeJg = 0; double WeightBL = 0; double NumBL = 0; IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选要新建的接箍料信息!"); return; } UltraGridRow ugr = checkRows.First(); WeightBL = Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value); string hth = ugr.Cells["JG_ORDERNO"].Value.ToString(); DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh", new Object[] { hth }, this.ob); foreach (UltraGridRow uRow in checkRows) { ArrayList list4 = new ArrayList(); list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX", new object[] { list4 }, this.ob); NumBL += Convert.ToDouble(uRow.Cells["JGBL_REQ_NUM"].Value); codeJg += Convert.ToDouble(uRow.Cells["JG_GS"].Value); if (data.Rows[0]["JG_GS"].ToString().Equals("0")) { MessageUtil.ShowTips("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "已全部生成订单,无法再次制定!"); return; } if (uRow.Cells["JG_GS"].Value.Equals("0") || (Convert.ToInt32(data.Rows[0]["JG_GS"].ToString()) < Convert.ToInt32(uRow.Cells["JG_GS"].Value))) { MessageUtil.ShowWarning("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "的生成订单接箍数不能为0或超过剩余接箍数!"); return; } if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString()) { MessageUtil.ShowTips("接箍码不同,不能合并下发订单!"); return; } if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString()) { MessageUtil.ShowTips("接箍备料码不同,不能合并下发订单!"); return; } string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString(); DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh", new Object[] { hth1 }, this.ob); if (dt2.Rows.Count == 1 && dt3.Rows.Count == 1) { if (dt2.Rows[0][0].ToString() != dt3.Rows[0][0].ToString()) { MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单"); return; } } else { MessageUtil.ShowTips("无合同号对应的监制要求信息"); return; } } #endregion string str = ugr.Cells["CODE_JG"].Value.ToString(); DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLJCB", new object[] { str }, this.ob); double Nun; double LBL = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value); double Ljg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + 10; Nun = Math.Truncate(1000 * LBL / Ljg); FrmGXandTime GX = new FrmGXandTime(this.ob); GX.ShowDialog(); if (!GX.IsConfirm) return; ArrayList aryHS = new ArrayList(); double Gxhs = 0; aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString()); aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString()); aryHS.Add(GX.Plinecode); string HS = QueryHS(aryHS); if (HS == null) Gxhs = 0; else Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06; parms.Add(JgDdNo); parms.Add(GX.Plinecode); parms.Add(GX.Plinename); parms.Add(dt2.Rows[0]["MONITORDEMAND"].ToString()); parms.Add(dt2.Rows[0]["IF_MONITOR_JG"].ToString()); parms.Add(dt2.Rows[0]["PRDCR_NO"].ToString()); parms.Add(ugr.Cells["CODE_JG"].Value.ToString()); parms.Add(ugr.Cells["STEELCODE"].Value.ToString()); parms.Add(ugr.Cells["STEELNAME"].Value.ToString()); parms.Add(ugr.Cells["OUTDIAMETER"].Value.ToString()); parms.Add(ugr.Cells["WALLTHICK"].Value.ToString()); parms.Add(ugr.Cells["AIMLENGTH"].Value.ToString()); parms.Add(ugr.Cells["SINGLEWEIGHT"].Value.ToString()); parms.Add(dt1.Rows[0]["SPEC_JG"].ToString()); parms.Add(dt1.Rows[0]["SPEC_JG_DESC"].ToString()); parms.Add(dt1.Rows[0]["MODEL_CODE"].ToString()); parms.Add(dt1.Rows[0]["MODEL_DESC"].ToString()); parms.Add(dt1.Rows[0]["STYLE_JG"].ToString()); parms.Add(dt1.Rows[0]["DIAMETER"].ToString()); parms.Add(dt1.Rows[0]["CHECK_J_VAL"].ToString()); parms.Add(ugr.Cells["CODE_JG_BL"].Value.ToString()); parms.Add(dt1.Rows[0]["MIN_D"].ToString()); parms.Add(dt1.Rows[0]["MIN_H"].ToString()); parms.Add(ugr.Cells["AIMLENGTH_BL"].Value.ToString()); parms.Add(dt1.Rows[0]["DIAMETER_PL"].ToString()); parms.Add(dt1.Rows[0]["HEIGHT_PL"].ToString()); parms.Add(dt1.Rows[0]["LENGTH_MIN"].ToString()); parms.Add(dt1.Rows[0]["LENGTH_MAX"].ToString()); parms.Add(codeJg); parms.Add(Nun); parms.Add((int)Math.Ceiling(codeJg / Nun)); parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun)); parms.Add(Gxhs); parms.Add(GX.TimeSc.ToString("yyyy-MM-dd HH:mm:ss")); parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); list.Add(parms); ArrayList str3 = new ArrayList(); foreach (UltraGridRow uRow in checkRows)//插入从表 { ArrayList ary = new ArrayList(); ArrayList str2 = new ArrayList(); ArrayList list5 = new ArrayList(); ary.Add(JgDdNo); ary.Add(uRow.Cells["JG_GS"].Value.ToString()); ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); list5.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); list5.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX", new object[] { list5 }, this.ob); int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value); if (abc == Convert.ToInt32(uRow.Cells["NUM_JG"].Value)) { str2.Add("2"); } else { str2.Add("1"); } str2.Add(Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value)); str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); list2.Add(ary); str3.Add(str2); } int test = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.ddtest", new object[] { list, list2, str3 }, this.ob); SetTime(); MessageUtil.ShowTips("接箍工序订单新增成功"); QueryJGGXDD(); } private string QueryHS() { throw new NotImplementedException(); } /// /// 取消接箍订单 /// private void QuJGDD() { ultraGridJgGxM.UpdateData(); IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选订单信息"); return; } foreach (UltraGridRow uRow in checkRows) { string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString(); int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.qxTGJGDD", new object[] { str }, this.ob); } MessageUtil.ShowTips("订单取消成功"); QueryJGGXDD(); } /// /// 下发接箍订单 /// private void upddxf() { ultraGridJgGxM.UpdateData(); IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选订单信息"); return; } foreach (UltraGridRow uRow in checkRows) { string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString(); int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPTGJGDD", new object[] { str }, this.ob); } MessageUtil.ShowTips("订单下发成功"); QueryJGGXDD(); } /// ///删除接箍订单 /// private void deletedd() { ultraGridJgGxM.UpdateData(); IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选订单信息"); return; } ArrayList str1 = new ArrayList(); ArrayList list1 = new ArrayList(); foreach(UltraGridRow uRow in checkRows) { DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD", new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); if (dd.Rows[0]["PLANSTATUS"].Equals("1")) { MessageUtil.ShowWarning("订单:"+uRow.Cells["PRO_PLAN_ID"].Value.ToString()+"已下发,禁止删除"); return; } ArrayList list = new ArrayList(); string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString(); list.Add(str); str1.Add(list); DataTable dtc = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCBA", new object[] { str }, this.ob); for (int i = 0; i < dtc.Rows.Count;i++ ) { ArrayList ary = new ArrayList(); ArrayList listbl = new ArrayList(); ary.Add(dtc.Rows[i]["REQ_BL_ID"].ToString()); ary.Add(dtc.Rows[i]["JG_ORDERNO"].ToString()); DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX", new object[] { ary }, this.ob); int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) - Convert.ToInt32(dtc.Rows[i]["PLANNUM"].ToString()); if (abc == 0) { listbl.Add("0"); } else { listbl.Add("1"); } listbl.Add(abc); listbl.Add(dtc.Rows[i]["REQ_BL_ID"].ToString()); listbl.Add(dtc.Rows[i]["JG_ORDERNO"].ToString()); list1.Add(listbl); } } int deleb = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.detTGJGDD", new object[] { str1,list1},this.ob); MessageUtil.ShowTips("订单删除成功"); QueryJGGXDD(); } /// /// 加入订单 /// /// /// private void AddJR() { ultraGridJgGxM.UpdateData(); ultraGridJGReq.UpdateData(); ArrayList parms = new ArrayList(); IQueryablecheckRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); IQueryablecheckRows2 = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' "); if(checkRows1.Count() == 0) { MessageUtil.ShowTips("未勾选订单信息!"); return; } else if(checkRows1.Count() > 1) { MessageUtil.ShowTips("只能选择一条订单信息加入!"); return; } DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD", new object[] { checkRows1.First().Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); if (dd.Rows[0]["PLANSTATUS"].Equals("1")) { MessageUtil.ShowWarning("订单已下发,禁止添加"); return; } if (checkRows2.Count() == 0) { MessageUtil.ShowWarning("未勾选要加入的接箍信息!"); return; } UltraGridRow ugr = checkRows1.First(); double codeJg = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value); int Nun = Convert.ToInt32(ugr.Cells["SINGLE_CUT_NUN"].Value); double WeightBL = Convert.ToDouble(ugr.Cells["BL_WEIGHT"].Value)/Convert.ToInt32(ugr.Cells["BL_NUM"].Value); string JgDdNo = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); ArrayList str3 = new ArrayList(); ArrayList ary1 = new ArrayList(); foreach (UltraGridRow uRow in checkRows2) { codeJg += Convert.ToDouble(uRow.Cells["NUM_JG"].Value); if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString()) { MessageUtil.ShowTips("要加入的信息接箍码不同!"); return; } else if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString()) { MessageUtil.ShowTips("要加入的信息接箍备料码不同!"); return; } ArrayList list4 = new ArrayList(); list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX", new object[] { list4 }, this.ob); if (!data.Rows[0]["PLANSTATUS"].ToString().Equals("0")) { MessageUtil.ShowTips("接箍备料信息" + uRow.Cells["JG_ORDERNO"].Value + "已生成订单!"); return; } string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh", new Object[] { hth1 }, this.ob); if (dt.Rows.Count == 1 && ugr.Cells["MONITORDEMAND"].Value.ToString()!=null) { if (dt.Rows[0][0].ToString() != ugr.Cells["MONITORDEMAND"].Value.ToString()) { MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单"); return; } } ArrayList ary = new ArrayList(); ArrayList str2 = new ArrayList(); ary.Add(JgDdNo); ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); ary1.Add(ary); str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString()); str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString()); str3.Add(str2); } ArrayList aryHS = new ArrayList(); double Gxhs = 0; aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString()); aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString()); aryHS.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); string HS = QueryHS(aryHS); if (HS == null) Gxhs = 0; else Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06; parms.Add(codeJg); parms.Add((int)Math.Ceiling(codeJg / Nun)); parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun)); parms.Add(Gxhs); parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); parms.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString()); ArrayList parmb = new ArrayList(); parmb.Add(parms); int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJGDDThe", new object[] { parmb,str3,ary1 }, this.ob); MessageUtil.ShowTips("加入成功"); QueryJGGXDD(); } /// /// 删除订单明细 /// private void deleteddmx() { ultraGridJgGxM.UpdateData(); bool ab = false; ArrayList lista = new ArrayList(); ArrayList listb = new ArrayList(); foreach (UltraGridRow uRow in ultraGridJgGxM.Rows) { int Nun = Convert.ToInt32(uRow.Cells["SINGLE_CUT_NUN"].Value); bool aboy = false; double codeJg = Convert.ToDouble(uRow.Cells["PLAN_NUM"].Value); double WeightBL = Convert.ToDouble(uRow.Cells["BL_WEIGHT"].Value) / Convert.ToInt32(uRow.Cells["BL_NUM"].Value); DataTable dd = new DataTable(); IQueryable checkRow = uRow.ChildBands[0].Rows.AsQueryable().Where("CHC = 'True' "); if (checkRow.Count() > 0) { dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD", new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); } if (uRow.ChildBands[0].Rows.Count() - checkRow.Count() <= 0) { MessageUtil.ShowWarning("如果您想删除订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "的全部明细,请直接删除订单!"); return; } else if (checkRow.Count() > 0 && dd.Rows[0]["PLANSTATUS"].Equals("1")) { MessageUtil.ShowWarning("订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "已下发,禁止删除明细!"); return; } foreach(UltraGridRow cRow in uRow.ChildBands[0].Rows) { if (Convert.ToBoolean(cRow.Cells["CHC"].Text)) { ArrayList list = new ArrayList(); list.Add(cRow.Cells["REQ_BL_ID"].Value.ToString()); list.Add(cRow.Cells["JG_ORDERNO"].Value.ToString()); DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX", new object[] { list }, this.ob); codeJg -= Convert.ToDouble(dt.Rows[0]["NUM_JG"].ToString()); lista.Add(list); aboy = true; ab = true; } } if (aboy) { ArrayList ary = new ArrayList(); ArrayList aryHS = new ArrayList(); double Gxhs = 0; aryHS.Add(uRow.Cells["CODE_JG_BL"].Value.ToString()); aryHS.Add(uRow.Cells["CODE_JG"].Value.ToString()); aryHS.Add(uRow.Cells["PLINE_CODE"].Value.ToString()); string HS = QueryHS(aryHS); if (HS == null) Gxhs = 0; else Gxhs = codeJg * Convert.ToDouble(uRow.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06; ary.Add(codeJg); ary.Add((int)Math.Ceiling(codeJg / Nun)); ary.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun)); ary.Add(Gxhs); ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); ary.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString()); listb.Add(ary); } } int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.deletmx", new object[] { listb, lista }, this.ob); if (!ab) { MessageUtil.ShowWarning("未勾选要删除的明细信息!"); return; } MessageUtil.ShowTips("明细删除成功"); QueryJGGXDD(); } /// /// 修改订单 /// /// /// private void UpdateDD() { ArrayList str = new ArrayList(); ultraGridJgGxM.UpdateData(); IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' "); if(checkRows.Count()!=1) { MessageUtil.ShowTips("请选择一条且只选一条要修改的订单信息!"); return; } UltraGridRow ugr = checkRows.First(); FrmGXandTime GX = new FrmGXandTime(this.ob); GX.ShowDialog(); if (!GX.IsConfirm) return; ArrayList aryHS = new ArrayList(); double Gxhs = 0; aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString()); aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString()); aryHS.Add(GX.Plinecode); string HS = QueryHS(aryHS); if (HS == null) Gxhs = 0; else Gxhs = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value) * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06; str.Add(GX.Plinecode); str.Add(GX.Plinename); str.Add(Gxhs); str.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); str.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); str.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString()); int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPJGDD", new object[]{ str },this.ob); MessageUtil.ShowTips("修改成功!"); QueryJGGXDD(); } /// /// 导出数据 /// private void Export() { PlanComm.Export(ref ultraGridJgGxM, "接箍订单信息"); } /// /// 接箍备料选择变色处理 /// /// /// private void ultraGrid4_BeforeRowActivate(object sender, RowEventArgs e) { foreach (UltraGridRow uRow in ultraGridJGReq.Rows) { uRow.Appearance.BackColor = System.Drawing.Color.White; } foreach (UltraGridRow uRow in ultraGridJGReq.Rows) { if (uRow.Cells["CODE_JG_BL"].Value.Equals(e.Row.Cells["CODE_JG_BL"].Value) && uRow.Cells["CODE_JG"].Value.Equals(e.Row.Cells["CODE_JG"].Value)) { uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen; } } } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { UltraGridRow uge = ultraGridJgOrder.ActiveRow; if (uge == null) return; foreach (UltraGridRow uRow in ultraGridJGReq.Rows) { if (uRow.Cells["JG_ORDERNO"].Value.Equals(uge.Cells["JG_ORDERNO"].Value)) { uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen; ultraGridJGReq.ActiveRow = uRow;//跳到当前项 } else { uRow.Appearance.BackColor = System.Drawing.Color.White; } } } private string QueryHS(ArrayList ary) { DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDHSL", new object[] { ary }, this.ob); if (dt != null && dt.Rows.Count > 0) return dt.Rows[0]["HR_CAPCTY"].ToString(); else return null; } #region splitContainer中groupBox闭合打开的的操作 private void splitContainerJG_SplitterMoved(object sender, SplitterEventArgs e) { if (_groupBoxOrderExpandedChanged == false) { _splitterDistanceOrder = splitContainerJG.SplitterDistance; if (splitContainerJG.SplitterDistance >= 1) { ultraExpandableGroupBoxOrder.Expanded = true; } } if (_groupBoxGpExpandedChanged == false) { _splitterDistanceGp = splitContainerJG.SplitterDistance; if (splitContainerJG.SplitterDistance < this.Bottom) { ultraExpandableGroupBoxGp.Expanded = true; } } } private void ultraExpandableGroupBoxOrder_ExpandedStateChanged(object sender, EventArgs e) { _groupBoxOrderExpandedChanged = true; if (ultraExpandableGroupBoxOrder.Expanded) { splitContainerJG.SplitterDistance = _splitterDistanceOrder; } else { splitContainerJG.SplitterDistance = this.Top; } _groupBoxOrderExpandedChanged = false; } private void ultraExpandableGroupBoxGp_ExpandedStateChanged(object sender, EventArgs e) { _groupBoxGpExpandedChanged = true; if (ultraExpandableGroupBoxGp.Expanded) { splitContainerJG.SplitterDistance = _splitterDistanceGp; } else { splitContainerJG.SplitterDistance = this.Bottom; } _groupBoxGpExpandedChanged = false; } private void ultraExpandableGroupBoxEdit_ExpandedStateChanged(object sender, EventArgs e) { _groupBoxJGorderExpandedChanged = true; if (ultraExpandableGroupBoxEdit.Expanded) { splitContainerJGorder.SplitterDistance = _splitterDistanceJGorder; } else { splitContainerJGorder.SplitterDistance = this.Width; } _groupBoxJGorderExpandedChanged = false; } private void splitContainerJGorder_SplitterMoved(object sender, SplitterEventArgs e) { if (_groupBoxJGorderExpandedChanged == false) { _splitterDistanceJGorder = splitContainerJGorder.SplitterDistance; if (splitContainerJGorder.SplitterDistance >= 1) { ultraExpandableGroupBoxEdit.Expanded = true; } } } #endregion } }