using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control; using Core.StlMes.Client.Mcp.Control.Base; using Core.StlMes.Client.Mcp.Mch.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.Mcp.Mch.MchResult { public partial class FrmMchDownLineManage : FrmBase { private string departm = ""; private string plineCode = ""; private string gxsl = "1"; private string gxts = "0"; private string gxfq = "0"; private string gxcs = "0"; private string gxlw = "0"; private string gxnj = "0"; private string gxtj = "0"; private string gxsy = "0"; private string gxdl = "0"; private string gxcl = "0"; private string storageNo = ""; private string feedGx = ""; private string[] plineCodes; private string zlJudNO = "";//组炉炉号 private string zlBatchNo = "";//组炉批号 private OpeBase pssOb = null; public FrmMchDownLineManage() { InitializeComponent(); } private void FrmMchDownLineManage_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); departm = UserInfo.GetDepartment(); plineCode = YdmBaseClass.GetPCode(departm, this.ob);//获取 用户 对应的产线 plineCodes = comm.GetPlineCode(ValidDataPurviewIds,"G",this.CustomInfo,ob); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid3.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[1]); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQuery", new object[] { "" }, ob); cmbGx.DataSource = dt; cmbGx.DisplayMember = "BASENAME"; cmbGx.ValueMember = "BASECODE"; ReturnGX.DataSource = dt; ReturnGX.DisplayMember = "BASENAME"; ReturnGX.ValueMember = "BASECODE"; if (dt.Rows.Count > 0) { feedGx = dt.Rows[0]["BASECODE"].ToString(); } pssOb = new OpeBase { MainUrl = CoreCommon.coreCommon.UrlList["pssserver"].Url }; DataTable dt3 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getStorageDep", new object[] { this.UserInfo.GetDeptid(), Core.Mes.Client.Comm.Server.ClsBaseInfo.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob), "800202", "800302" }, this.ob); if (dt3.Rows.Count > 0) { storageNo = dt3.Rows[0]["STORAGE_NO"].ToString(); } } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "SetFurnace": DoSetFurnace(); break; case "CancelFurnace": DoCancelFurnace(); break; case "OnlineComm": DoOnlineComm(); break; case "ReturnLine": DoReturnLine(); break; case "CancelReturnLine": DoCancelReturnLine(); break; case "OutSourc": DoOutSourc(); break; case "CancelOutSourc": DoCancelOutSourc(); break; case "OrdersSourc": //DoOrdersSourc();委托单打印 break; case "UpdateFalg": DoUpdateStoveNo(); break; case "Take": doTake(); break; case "InterDelegation": DoInterDelegation(); break; case "ReturnInstore": DoReturnLine("1"); break; case "Export": ExportData(); break; case "Close": this.Close(); break; } } /// /// 导出 /// private void ExportData() { if (this.ultraTabControl1.Tabs[0].Active) { GridHelper.ulGridToExcel(ultraGrid1, "离线实绩"); } else if (this.ultraTabControl1.Tabs[1].Active) { GridHelper.ulGridToExcel(ultraGrid2, "组炉实绩"); } else if (this.ultraTabControl1.Tabs[2].Active) { GridHelper.ulGridToExcel(ultraGrid3, "返线实绩"); } else if (this.ultraTabControl1.Tabs[3].Active) { GridHelper.ulGridToExcel(ultraGrid4, "委外实绩"); } } private void DoInterDelegation() { ultraGrid1.UpdateData(); var checkMagRows = this.ultraGrid1.Rows.Where(p => (bool)p.Cells["CHK"].Value).ToList(); if (!checkMagRows.Any()) { MessageUtil.ShowTips("请勾选需要委内的数据!"); return; } var List = checkMagRows.Select(p => p.ListObject as MchOfflineResultEntity).Where(p => p != null).ToList(); FrmChangePline FrmChangePline = new FrmChangePline(ob, "G", List.Select(p => p.PlineCode).ToList()); FrmChangePline.ShowDialog(); if (FrmChangePline.DialogResult != DialogResult.OK || FrmChangePline.PlineCode == "") return; if (MessageUtil.ShowYesNoAndQuestion("是否确认委内生产?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "DoInterDelegation"; ccp.ServerParams = new object[] { List.Select(p => p.ResultNo).ToList(), FrmChangePline.PlineCode }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("委内成功!")) { DoQuery(); } } } /// /// 脱单 /// private void doTake() { this.ultraGrid1.UpdateData(); ArrayList parm = new ArrayList(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要脱单的炉批信息!"); return; } foreach (UltraGridRow row in checkMagRows) { MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; if (milOfflineResultEntity.GroupLog.ToString() == "已组炉") { MessageUtil.ShowTips("炉号" + milOfflineResultEntity.JudgeStoveNo.ToString() + "是其他炉批组炉批出来的,不允许脱单!"); return; } string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } if (MessageUtil.ShowYesNoAndQuestion("是否确认脱单?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doTake"; ccp.ServerParams = new object[] { parm, this.UserInfo.GetUserName() }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("脱单成功!")) { DoQuery(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 查询 /// private void DoQuery() { if (!CheckQuery()) return; if (ultraTabControl1.SelectedTab.Key.Equals("0")) { DoQueryOffLine(); } else if (ultraTabControl1.SelectedTab.Key.Equals("1")) { DoQueryOffLineGroup(); } else if (ultraTabControl1.SelectedTab.Key.Equals("2")) { DoQueryReturnLine(); } else { DoQueryOutSourc(); } } /// /// 查询离线实绩 /// private void DoQueryOffLine() { string startTime = ""; string endTime = ""; string judgeNo = ""; string batchNo = ""; string gx = ""; if (chkTim.Checked) { startTime = StartTime.Value.ToString(); endTime = EndTime.Value.ToString(); } if (chkJugeHeatNo.Checked) { judgeNo = txtJugeNo.Text.ToString().Trim(); } if (chkBatch.Checked) { batchNo = txtBatch.Text.ToString().Trim(); } if (chkGx.Checked) { gx = cmbGx.Value.ToString(); } ArrayList list = new ArrayList(); list.Add(startTime); list.Add(endTime); list.Add(judgeNo); list.Add(batchNo); list.Add(gx); List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQueryOffLine", new object[] { list, plineCodes }, this.ob); OfflineResultEntitybindingSource.DataSource = listSource; } /// /// 查询组炉实绩 /// private void DoQueryOffLineGroup() { string startTime = ""; string endTime = ""; string judgeNo = ""; string batchNo = ""; string gx = ""; if (chkTim.Checked) { startTime = StartTime.Value.ToString(); endTime = EndTime.Value.ToString(); } if (chkJugeHeatNo.Checked) { judgeNo = txtJugeNo.Text.ToString().Trim(); } if (chkBatch.Checked) { batchNo = txtBatch.Text.ToString().Trim(); } if (chkGx.Checked) { gx = cmbGx.Value.ToString(); } ArrayList list = new ArrayList(); list.Add(startTime); list.Add(endTime); list.Add(judgeNo); list.Add(batchNo); list.Add(gx); List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQueryOffLineGroup", new object[] { list, plineCodes }, this.ob); List listGroup = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQueryOffGroupDetail", new object[] { listSource.Select(p => p.GroupId).Distinct().ToArray() }, this.ob); listSource.ForEach(p => p.MchGroupResultEntitys = listGroup.Where(q => q.GroupId == p.GroupId).OrderBy(q => q.GroupXh).ToList()); mchOfflineResultAndGroupEntityBindingSource.DataSource = listSource; } /// /// 返线实绩 /// private void DoQueryReturnLine() { string startTime = ""; string endTime = ""; string judgeNo = ""; string batchNo = ""; string gx = ""; if (chkTim.Checked) { startTime = StartTime.Value.ToString(); endTime = EndTime.Value.ToString(); } if (chkJugeHeatNo.Checked) { judgeNo = txtJugeNo.Text.ToString().Trim(); } if (chkBatch.Checked) { batchNo = txtBatch.Text.ToString().Trim(); } if (chkGx.Checked) { gx = cmbGx.Value.ToString(); } ArrayList list = new ArrayList(); list.Add(startTime); list.Add(endTime); list.Add(judgeNo); list.Add(batchNo); list.Add(gx); List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQueryReturnLine", new object[] { list, plineCodes }, this.ob); OfflineResultEntitybindingSourc3.DataSource = listSource; } /// /// 委外实绩 /// /// private void DoQueryOutSourc() { string startTime = ""; string endTime = ""; string judgeNo = ""; string batchNo = ""; string strat = ""; if (chkTim.Checked) { startTime = StartTime.Value.ToString(); endTime = EndTime.Value.ToString(); } if (chkJugeHeatNo.Checked) { judgeNo = txtJugeNo.Text.ToString().Trim(); } if (chkBatch.Checked) { batchNo = txtBatch.Text.ToString().Trim(); } if (chkStrat.Checked) { strat = cmbStrat.Value.ToString(); } ArrayList list = new ArrayList(); list.Add(startTime); list.Add(endTime); list.Add(judgeNo); list.Add(batchNo); list.Add(strat); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMchDownLineManage.doQueryOutSourc", new object[] { list, plineCodes }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); } /// /// 组炉 /// private void DoSetFurnace() { this.ultraGrid1.UpdateData(); //string jugeNo = ""; //string lotNo = ""; int m = 0; int n = 0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); IQueryable checkRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK1") == "True"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要组炉的炉批信息!"); return; } if (checkRows.Count() != 1) { MessageUtil.ShowTips("组炉主炉号只允许选择一条!"); return; } //if (txtJudgeStoveNo.Text.Trim().Equals("")) //{ // MessageUtil.ShowTips("组炉新炉号不能为空!"); // return; //} //else //{ // jugeNo = txtJudgeStoveNo.Text.Trim(); //} //foreach (UltraGridRow row1 in checkRows) //{ // if (txtLotNo.Text.Trim().Equals("")) // { // lotNo = row1.Cells["ZyBatchId"].Text.ToString(); // } // else // { // lotNo = txtLotNo.Text.Trim(); // } //} ArrayList parm = new ArrayList(); ArrayList parm1 = new ArrayList(); ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; if (milOfflineResultEntity.OfflineBranch.ToString() == "") { MessageUtil.ShowTips("可编辑支不能为空!"); return; } if (int.Parse(milOfflineResultEntity.OfflineBranch.ToString()) <= 0) { MessageUtil.ShowTips("输入的操作支数需为正整数!"); return; } if (int.Parse(milOfflineResultEntity.OfflineBranch.ToString()) - int.Parse(milOfflineResultEntity.Totalcount.ToString()) > 0) { MessageUtil.ShowTips("组炉时操作支数不能大于离线剩余支数!"); return; } if (milOfflineResultEntity.GroupLog.ToString() == "已组炉") { MessageUtil.ShowTips("炉号" + milOfflineResultEntity.JudgeStoveNo.ToString() + "是其他炉批组炉批出来的,不允许重复组炉批!"); return; } if (!milOfflineResultEntity.OfflineBranch.Equals(milOfflineResultEntity.Totalcount)) { MessageUtil.ShowTips("离线数据不允许拆分组炉批!"); return; } //if (milOfflineResultEntity.StationDesc.Equals("矫直")) //{ // n = n + 1; //} //if (int.Parse(row.Cells["InstorageNum"].Value.ToString3()) > 0) //{ // m = m + 1; //} string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } //if (m > 0) //{ // MessageUtil.ShowTips("有炉已进行入在线库,不允许进行组炉批!"); // return; //} //if (n > 0) //{ // MessageUtil.ShowTips("矫直离线数据不允许进行组炉批!"); // return; //} int offlinePro = checkMagRows.GroupBy(a => a.GetValue("stationCode")).Count(); if (offlinePro > 1) { MessageUtil.ShowTips("只有同工序的炉信息,才能进行组炉批!"); return; } int offlineType = checkMagRows.GroupBy(a => a.GetValue("PlineCode")).Count(); if (offlineType > 1) { MessageUtil.ShowTips("只有同一产线才能进行组炉!"); return; } int steel = checkMagRows.GroupBy(a => a.GetValue("Steelname")).Count(); if (steel > 1) { MessageUtil.ShowTips("只有同钢级的炉信息,才能进行组炉批!"); return; } int grade = checkMagRows.GroupBy(a => a.GetValue("Gradename")).Count(); if (grade > 1) { MessageUtil.ShowTips("只有同钢种的炉信息,才能进行组炉批!"); return; } /* int actLengthMax = checkMagRows.GroupBy(a => a.GetValue("ActLenMax")).Count(); int actLengthMin = checkMagRows.GroupBy(a => a.GetValue("ActLenMin")).Count(); if (actLengthMax > 1 && actLengthMin>1) { MessageUtil.ShowTips("只有同长度上下限的炉信息,才能进行组炉批!"); return; }*/ int pipeSizeD = checkMagRows.GroupBy(a => a.GetValue("ActDimater")).Count(); int pipeSizeH = checkMagRows.GroupBy(a => a.GetValue("ActHeight")).Count(); if (pipeSizeD > 1 && pipeSizeH>1) { MessageUtil.ShowTips("只有同外径,壁厚的炉信息,才能进行组炉批!"); return; } foreach (UltraGridRow uRow in checkRows) { MchOfflineResultEntity milOfflineResultEntity1 = (MchOfflineResultEntity)uRow.ListObject; string milOffTity1 = JSONFormat.Format(milOfflineResultEntity1); parm1.Add(milOffTity1); } FrmRentFurnace furnace = new FrmRentFurnace(); furnace.ShowDialog(); if (furnace.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 zlJudNO = furnace.JudNo; zlBatchNo = furnace.BatchNo; } else { //MessageUtil.ShowTips("请输入组炉炉号,组炉批号!"); return; } parm2.Add(zlJudNO); parm2.Add(zlBatchNo); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); if (MessageUtil.ShowYesNoAndQuestion("是否确认组炉?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doFurnace"; ccp.ServerParams = new object[] { parm, parm1, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("组炉成功!")) { DoQuery(); } } } /// /// 撤销组炉 /// private void DoCancelFurnace() { this.ultraGrid2.UpdateData(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要撤销的组炉信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销组炉?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doCancelFurnace"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销组炉成功!")) { DoQuery(); } } } /// /// 在线改判 /// private void DoOnlineComm() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要改判的信息!"); return; } ArrayList parm = new ArrayList(); ArrayList parm1 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; if (milOfflineResultEntity.GroupLog.ToString().Equals("未组炉")) { MessageUtil.ShowTips("不是组炉数据不允许改判!"); return; } string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } parm1.Add(this.UserInfo.GetUserName()); parm1.Add(this.UserInfo.GetUserGroup()); parm1.Add(this.UserInfo.GetUserOrder()); if (MessageUtil.ShowYesNoAndQuestion("是否确认在线改判?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doOnlineComm"; ccp.ServerParams = new object[] { parm, parm1 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("在线改判成功!")) { DoQuery(); } } } /// /// 返线 /// private void DoReturnLine(string Instore = "0") { this.ultraGrid1.UpdateData(); var checkMagRows = this.ultraGrid1.Rows.Where(p => (bool) p.Cells["CHK"].Value) .Select(p => p.ListObject as MchOfflineResultEntity) .ToList(); if (!checkMagRows.Any()) { MessageUtil.ShowTips("请勾选需要返线的炉批信息!"); return; } var stations = checkMagRows.Select(p => p.StationCode).Distinct().ToList(); if (stations.Count() > 1) { MessageUtil.ShowTips("只有同工序的炉信息,才能进行返线!"); return; } var plineCode = checkMagRows.Select(p => p.PlineCode).Distinct().ToList(); if (plineCode.Count() > 1) { MessageUtil.ShowTips("只有同产线的炉信息,才能进行返线!"); return; } string pointGx = ""; string pointGxName = ""; //FrmReturnCon line = new FrmReturnCon(plineCode, ob, "7013"); FrmReturnConNew line = new FrmReturnConNew(plineCode[0], ob, stations[0]); line.ShowDialog(); if (line.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 pointGx = line.RetPro; pointGxName = line.RetProNmae; } else { //MessageUtil.ShowTips("请选择返线经过工序点!"); return; } ArrayList parm = new ArrayList(); ArrayList parm2 = new ArrayList(); foreach (MchOfflineResultEntity milOfflineResultEntity in checkMagRows) { if (milOfflineResultEntity.OfflineBranch.ToString() == "") { MessageUtil.ShowTips("可编辑支不能为空!"); return; } if (int.Parse(milOfflineResultEntity.OfflineBranch.ToString()) <= 0) { MessageUtil.ShowTips("输入的操作支数需为正整数!"); return; } string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } if (MessageUtil.ShowYesNoAndQuestion("是否确认返线?") == DialogResult.No) return; parm2.Add(plineCode[0]); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(pointGx); parm2.Add(storageNo); parm2.Add(UserInfo.GetDepartment()); parm2.Add(UserInfo.GetDeptid()); parm2.Add(pointGxName); parm2.Add(plineCode[0]); parm2.Add(""); parm2.Add(Instore); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doReturnLine"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("返线成功!")) { ArrayList List = ccp.ReturnObject as ArrayList; if (List != null && List.Count > 0) { for (int i = 0; i < List.Count; i++) { try { string[] para = List[i].ToString2().Split(','); if (para.Length < 3) continue; ccp.ServerName = "com.steering.pss.plnsaleord.stove.PlanFurnProduction"; ccp.MethodName = "addPlnFurn"; ccp.ServerParams = new object[] { para[1], para[2], this.UserInfo.GetUserName(), para[0], "G", "1" }; ccp = pssOb.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnInfo != "") { MessageBox.Show("生成下工序炉计划失败! \n" + ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } catch (Exception ex) { MessageBox.Show("生成下工序炉计划失败!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } } MessageUtil.ShowTips("返线成功"); DoQuery(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 撤销返线 /// private void DoCancelReturnLine() { this.ultraGrid3.UpdateData(); IQueryable checkMagRows = this.ultraGrid3.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要撤销的返线炉批信息!"); return; } ArrayList parm = new ArrayList(); ArrayList parm2 = new ArrayList(); //ArrayList parm1 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { //ArrayList parm3 = new ArrayList(); MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } parm2.Add(plineCode); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(storageNo); parm2.Add(feedGx); if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销返线?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doCancelReturnLine"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销返线成功!")) { DoQuery(); } } } /// /// 委外加工 /// private void DoOutSourc() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要委外加工的主信息!"); return; } ArrayList parm = new ArrayList(); ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { MchOfflineResultEntity milOfflineResultEntity = (MchOfflineResultEntity)row.ListObject; string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } string remark = ""; string subPlinecode = ""; string sunPlineName = ""; string subType = ""; string subGx = ""; FrmOutSouType type = new FrmOutSouType(this.ob); if (type.ShowDialog() == DialogResult.OK) { remark=type.Remark;//委外说明 subPlinecode = type.PlinCode; sunPlineName = type.PlineName; subType = type.SubconType; subGx = type.SubconGx; } else { return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认委外加工?") == DialogResult.No) return; parm2.Add(remark); parm2.Add(plineCode); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(storageNo); parm2.Add(subPlinecode); parm2.Add(sunPlineName); parm2.Add(subType); parm2.Add(subGx); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doOutSourc"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("委外加工成功!")) { DoQuery(); } } } /// /// 撤销委外加工 /// private void DoCancelOutSourc() { this.ultraGrid4.UpdateData(); IQueryable checkMagRows = this.ultraGrid4.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要撤销的委外加工信息!"); return; } ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { ArrayList parm = new ArrayList(); parm.Add(row.Cells["RESULT_NO"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString()); parm.Add(plineCode); parm.Add(this.UserInfo.GetUserName()); parm.Add(this.UserInfo.GetUserGroup()); parm.Add(this.UserInfo.GetUserOrder()); parm.Add(storageNo); parm2.Add(parm); } if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销委外加工?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doCancelOutSourc"; ccp.ServerParams = new object[] {parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销委外加工成功!")) { DoQuery(); } } } /// /// 修改标识炉号 /// private void DoUpdateStoveNo() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要修改的主信息!"); return; } ArrayList parm = new ArrayList(); ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { ArrayList list = new ArrayList(); list.Add(row.Cells["FlagStoveNo"].Text.ToString().Trim()); list.Add(row.Cells["ResultNo"].Text.ToString()); list.Add(row.Cells["HeatPlanNo"].Value.ToString2()); parm.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否修改标识炉号?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchDownLineManage"; ccp.MethodName = "doUpdateFlagStoveNo"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("标识炉号修改成功!")) { DoQuery(); } } } /// /// 数据验证 /// /// private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(StartTime.Value.ToString()), DateTime.Parse(EndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!"); return false; } if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim())) { MessageUtil.ShowWarning("请输入炉号!"); return false; } if (this.chkBatch.Checked && string.IsNullOrEmpty(this.txtBatch.Text.Trim())) { MessageUtil.ShowWarning("请输入生产批号!"); return false; } if (this.chkGx.Checked && string.IsNullOrEmpty(this.cmbGx.Text.Trim())) { MessageUtil.ShowWarning("请选择工序点!"); return false; } if (this.chkStrat.Checked && string.IsNullOrEmpty(this.cmbStrat.Text.Trim())) { MessageUtil.ShowWarning("请选择委外状态!"); return false; } return true; } private void chkTim_CheckedChanged(object sender, EventArgs e) { if (chkTim.Checked) { StartTime.Enabled = true; EndTime.Enabled = true; } else { StartTime.Enabled = false; EndTime.Enabled = false; } if (chkJugeHeatNo.Checked) { txtJugeNo.Enabled = true; } else { txtJugeNo.Enabled = false; } if (chkBatch.Checked) { txtBatch.Enabled = true; } else { txtBatch.Enabled = false; } if (chkGx.Checked) { cmbGx.Enabled = true; } else { cmbGx.Enabled = false; } if (chkStrat.Checked) { cmbStrat.Enabled = true; } else { cmbStrat.Enabled = false; } } private void ultraGrid1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { UltraGridRow row =ultraGrid1.ActiveRow; this.ultraGrid1.UpdateData(); if (e.Cell.Column.Key == "ProcessOrder") { FrmOrderDialog orderZg = new FrmOrderDialog(this.ob, row.Cells["PlineCode"].Text.ToString(), row.Cells["ProPlanId"].Text.ToString(), row.Cells["GxPlanNo"].Text.ToString(), row.Cells["ActDimater"].Text.ToString(), row.Cells["ActHeight"].Text.ToString()); orderZg.ShowDialog(); SlmOrderLineEntity slmEntity = orderZg.SlmEntity; if (slmEntity == null) { return; } e.Cell.Row.Cells["ProcessOrder"].Value = slmEntity.OrderNo + "/" + slmEntity.OrderSeq + "/"+slmEntity.DeliveryNo; e.Cell.Row.Cells["OrderNo"].Value = slmEntity.OrderNo; e.Cell.Row.Cells["OrderSeq"].Value = slmEntity.OrderSeq; e.Cell.Row.Cells["DeliveryNo"].Value = slmEntity.DeliveryNo; e.Cell.Row.Cells["OrdLnDlyPk"].Value = slmEntity.OrdLnDlyPk; //e.Cell.Row.Cells["PRO_PLAN_ID"].Value = slmEntity.ProPlanId; e.Cell.Row.Cells["Producname"].Value = slmEntity.Producname; e.Cell.Row.Cells["Produccode"].Value = slmEntity.Produccode; e.Cell.Row.Cells["Steelcode"].Value = slmEntity.Steelcode; e.Cell.Row.Cells["Steelname"].Value = slmEntity.Steelname; //e.Cell.Row.Cells["SpecName"].Value = slmEntity.SpecName; e.Cell.Row.Cells["ModelCode"].Value = slmEntity.ModelCode; e.Cell.Row.Cells["ModelDesc"].Value = slmEntity.ModelDesc; e.Cell.Row.Cells["StdStyle"].Value = slmEntity.StdStyle; e.Cell.Row.Cells["StdStyleDesc"].Value = slmEntity.StdStyleDesc; e.Cell.Row.Cells["StdCode"].Value = slmEntity.StdCode; e.Cell.Row.Cells["StdName"].Value = slmEntity.StdName; string[] str = slmEntity.SpecName.ToString().Split('x'); e.Cell.Row.Cells["ActDimater"].Value = slmEntity.Dimater; e.Cell.Row.Cells["ActHeight"].Value = slmEntity.Height; e.Cell.Row.Cells["ProPlanId"].Value = slmEntity.ProPlanId; e.Cell.Row.Cells["GxPlanNo"].Value = slmEntity.GxPlanNo; } } private void FrmVrpDownLineManage_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelReturnLine")) { toolMenu.Toolbars[0].Tools["CancelReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelOutSourc")) { toolMenu.Toolbars[0].Tools["CancelOutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OrdersSourc")) { toolMenu.Toolbars[0].Tools["OrdersSourc"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Key == "0") { if (toolMenu.Toolbars[0].Tools.Exists("SetFurnace")) { toolMenu.Toolbars[0].Tools["SetFurnace"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OnlineComm")) { toolMenu.Toolbars[0].Tools["OnlineComm"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnLine")) { toolMenu.Toolbars[0].Tools["ReturnLine"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnInstore")) { toolMenu.Toolbars[0].Tools["ReturnInstore"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelReturnLine")) { toolMenu.Toolbars[0].Tools["CancelReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OutSourc")) { toolMenu.Toolbars[0].Tools["OutSourc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelOutSourc")) { toolMenu.Toolbars[0].Tools["CancelOutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OrdersSourc")) { toolMenu.Toolbars[0].Tools["OrdersSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("UpdateFalg")) { toolMenu.Toolbars[0].Tools["UpdateFalg"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("InterDelegation")) { toolMenu.Toolbars[0].Tools["InterDelegation"].InstanceProps.Visible = DefaultableBoolean.True; } chkTim.Text = "离线日期"; chkGx.Visible = true; cmbGx.Visible = true; chkStrat.Visible = false; cmbStrat.Visible = false; chkGx.Checked = false; chkStrat.Checked = false; } else if (ultraTabControl1.SelectedTab.Key == "1") { if (toolMenu.Toolbars[0].Tools.Exists("SetFurnace")) { toolMenu.Toolbars[0].Tools["SetFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("OnlineComm")) { toolMenu.Toolbars[0].Tools["OnlineComm"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnLine")) { toolMenu.Toolbars[0].Tools["ReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnInstore")) { toolMenu.Toolbars[0].Tools["ReturnInstore"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelReturnLine")) { toolMenu.Toolbars[0].Tools["CancelReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OutSourc")) { toolMenu.Toolbars[0].Tools["OutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelOutSourc")) { toolMenu.Toolbars[0].Tools["CancelOutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OrdersSourc")) { toolMenu.Toolbars[0].Tools["OrdersSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("UpdateFalg")) { toolMenu.Toolbars[0].Tools["UpdateFalg"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("InterDelegation")) { toolMenu.Toolbars[0].Tools["InterDelegation"].InstanceProps.Visible = DefaultableBoolean.False; } chkTim.Text = "组炉日期"; chkGx.Visible = true; cmbGx.Visible = true; chkStrat.Visible = false; cmbStrat.Visible = false; chkGx.Checked = false; chkStrat.Checked = false; } else if (ultraTabControl1.SelectedTab.Key == "2") { if (toolMenu.Toolbars[0].Tools.Exists("SetFurnace")) { toolMenu.Toolbars[0].Tools["SetFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OnlineComm")) { toolMenu.Toolbars[0].Tools["OnlineComm"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnLine")) { toolMenu.Toolbars[0].Tools["ReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnInstore")) { toolMenu.Toolbars[0].Tools["ReturnInstore"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelReturnLine")) { toolMenu.Toolbars[0].Tools["CancelReturnLine"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("OutSourc")) { toolMenu.Toolbars[0].Tools["OutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelOutSourc")) { toolMenu.Toolbars[0].Tools["CancelOutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OrdersSourc")) { toolMenu.Toolbars[0].Tools["OrdersSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("UpdateFalg")) { toolMenu.Toolbars[0].Tools["UpdateFalg"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("InterDelegation")) { toolMenu.Toolbars[0].Tools["InterDelegation"].InstanceProps.Visible = DefaultableBoolean.False; } chkTim.Text = "返线日期"; chkGx.Visible = true; cmbGx.Visible = true; chkStrat.Visible = false; cmbStrat.Visible = false; chkGx.Checked = false; chkStrat.Checked = false; } else if (ultraTabControl1.SelectedTab.Key == "3") { if (toolMenu.Toolbars[0].Tools.Exists("SetFurnace")) { toolMenu.Toolbars[0].Tools["SetFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OnlineComm")) { toolMenu.Toolbars[0].Tools["OnlineComm"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnLine")) { toolMenu.Toolbars[0].Tools["ReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ReturnInstore")) { toolMenu.Toolbars[0].Tools["ReturnInstore"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelReturnLine")) { toolMenu.Toolbars[0].Tools["CancelReturnLine"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("OutSourc")) { toolMenu.Toolbars[0].Tools["OutSourc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelOutSourc")) { toolMenu.Toolbars[0].Tools["CancelOutSourc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("OrdersSourc")) { toolMenu.Toolbars[0].Tools["OrdersSourc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("UpdateFalg")) { toolMenu.Toolbars[0].Tools["UpdateFalg"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("InterDelegation")) { toolMenu.Toolbars[0].Tools["InterDelegation"].InstanceProps.Visible = DefaultableBoolean.False; } chkTim.Text = "委外日期"; chkGx.Visible = false; cmbGx.Visible = false; chkStrat.Visible = true; cmbStrat.Visible = true; chkGx.Checked = false; chkStrat.Checked = false; } } } }