using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Common; using Core.StlMes.Client.Mcp.Control; using CoreFS.CA06; 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.Coupling { public partial class FrmPlnZyJgWorkBill : FrmBase { public FrmPlnZyJgWorkBill() { InitializeComponent(); } private void FrmPlnZyJgWorkBill_Load(object sender, EventArgs e) { McpBaseHelper.InitPlineUnit(cmbPlinCode, this.ValidDataPurviewIds, ob, "H"); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Save": DoSave(); break; case "Update": DoUpdate(); break; case "Delete": DoDelete(); break; case "UndBill": DoUndBill(); break; case "DownBill": DoDownBill(); break; case "Offline": DoOffline(); break; case "DownOffline": DoDownOffline(); break; case "CloseBill": DoCloseBill(); break; case "DownCloseBill": DoDownCloseBill(); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void DoQuery() { string plnNo = ""; string plnStrat = ""; string plinCode = ""; if (chkPlnNo.Checked) { if (txtPlnNo.Text == "") { MessageUtil.ShowTips("炉计划号不能为空!"); return; } else { plnNo = txtPlnNo.Text.ToString().Trim(); } } if (chkStarts.Checked) { if (cmbStarts.Text == "") { MessageUtil.ShowTips("炉计划状态不能为空!"); return; } else { plnStrat = cmbStarts.Value.ToString(); } } if (chkPlin.Checked) { if (cmbPlinCode.Text == "") { MessageUtil.ShowTips("生产产线不能为空!"); return; } else { plinCode = cmbPlinCode.Value.ToString(); } } ArrayList list = new ArrayList(); list.Add(plnNo); list.Add(plnStrat); list.Add(plinCode); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill.geQueryPlnJg", new object[] { list }, ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); if (dt.Rows.Count < 0) { QueryPlnBill(""); } } private void QueryPlnBill(string plnNo) { DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill.geQueryPlnJgBill", new object[] { plnNo }, ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); } /// /// 新增 /// private void DoSave() { UltraGridRow row = ultraGridPln.ActiveRow; if (row == null) { MessageUtil.ShowTips("无炉次计划!"); return; } ultraGridPln.UpdateData(); int addCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPln.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { if (urg.Cells["PLN_KEB_NUM"].Value.ToString() == "0" || urg.Cells["PLN_KEB_NUM"].Value.ToString() == "") { MessageUtil.ShowTips("请输入可编辑支数!"); return; } string plnCount = ""; string csCount = ""; //计划个数 if (urg.Cells["PLAN_BL_NUM"].Value.ToString().Equals("0")) { plnCount = "0"; } else { plnCount = ((double.Parse(urg.Cells["PLAN_JG_NUM1"].Value.ToString()) / double.Parse(urg.Cells["PLAN_BL_NUM"].Value.ToString())) * double.Parse(urg.Cells["PLN_KEB_NUM"].Value.ToString())).ToString("f0"); } //测算个数 if (urg.Cells["PLN_KEB_NUM"].Value.ToString().Equals("0")) { csCount = "0"; } else { csCount = (double.Parse(urg.Cells["AIMLENGTH_BL"].Value.ToString()) * 1000 * double.Parse(urg.Cells["PLN_KEB_NUM"].Value.ToString()) / (double.Parse(urg.Cells["AIMLENGTH"].Value.ToString()) + double.Parse(urg.Cells["AVERAGE_LEN"].Value.ToString()))).ToString("f0"); } //需求个数 string xqCount = (double.Parse(plnCount) * 1.03).ToString("f0"); addCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["PLN_KEB_NUM"].Value.ToString()); list1.Add(this.UserInfo.GetUserOrder()); list1.Add(this.UserInfo.GetUserGroup()); list1.Add(this.UserInfo.GetUserName()); list1.Add(urg.Cells["JUDGE_STOVE_NO"].Value.ToString()); list1.Add(urg.Cells["BATCH_NO"].Value.ToString()); list1.Add(plnCount); list1.Add(csCount); list1.Add(xqCount); list.Add(list1); } } if (addCount == 0) { MessageUtil.ShowTips("请选择要新增的炉次计划号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否新增工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "addPlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { DoQuery(); } } /// /// 删除 /// private void DoDelete() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要删除的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否删除工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "deletePlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { DoQuery(); } } /// /// 修改 /// private void DoUpdate() { } /// /// 下发 /// private void DoUndBill() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list1.Add(this.UserInfo.GetUserName()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要下发的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否下发工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "undPlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("下发成功!")) { DoQuery(); } } /// /// 撤销下发 /// private void DoDownBill() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要撤销下发的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否撤销下发工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "downPlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销下发成功!")) { DoQuery(); } } /// /// 离线 /// private void DoOffline() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要离线的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否离线工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "offPlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("离线成功!")) { DoQuery(); } } /// /// 取消离线 /// private void DoDownOffline() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要撤销离线的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否撤销离线工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "downOffPlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销离线成功!")) { DoQuery(); } } /// /// 关闭工单 /// private void DoCloseBill() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); //PLAN_BL_WT int plnCount = int.Parse(urg.Cells["PLAN_BL_NUM"].Value.ToString()) - int.Parse(urg.Cells["LOAD_PIECES"].Value.ToString()); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list1.Add(urg.Cells["LOAD_PIECES"].Value.ToString()); list1.Add(urg.Cells["LOAD_WEIGHT"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择要关闭的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否关闭工单?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "closePlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("工单关闭成功!")) { DoQuery(); } } /// /// 撤销关闭工单 /// private void DoDownCloseBill() { UltraGridRow row = ultraGridPlnWork.ActiveRow; if (row == null) { MessageUtil.ShowTips("无工单信息!"); return; } ultraGridPlnWork.UpdateData(); int delteCount = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridPlnWork.Rows) { if (Convert.ToBoolean(urg.Cells["CHK"].Text) == true) { delteCount += 1; ArrayList list1 = new ArrayList(); list1.Add(urg.Cells["ZY_PLAN_ID"].Text.ToString()); list1.Add(urg.Cells["WO_ID"].Value.ToString()); list1.Add(urg.Cells["LOAD_PIECES"].Value.ToString()); list1.Add(urg.Cells["LOAD_WEIGHT"].Value.ToString()); list.Add(list1); } } if (delteCount == 0) { MessageUtil.ShowTips("请选择撤销关闭的工单号!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否撤销关闭?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmPlnZyJgWorkBill"; ccp.MethodName = "downClosePlnBillResult"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销关闭成功!")) { DoQuery(); } } private void chkStarts_CheckedChanged(object sender, EventArgs e) { if (chkStarts.Checked) { cmbStarts.Enabled = true; } else { cmbStarts.Enabled = false; } if (chkPlin.Checked) { cmbPlinCode.Enabled = true; } else { cmbPlinCode.Enabled = false; } if (chkPlnNo.Checked) { txtPlnNo.Enabled = true; } else { txtPlnNo.Enabled = false; } } private void ultraGridPln_AfterRowActivate(object sender, EventArgs e) { UltraGridRow urg=ultraGridPln.ActiveRow; if (urg == null) return; QueryPlnBill(urg.Cells["ZY_PLAN_ID"].Text.ToString()); } private void ultraGridPln_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { try { ultraGridPln.UpdateData(); foreach (UltraGridRow row in ultraGridPln.Rows) { row.Cells["CHK"].Value = row.Selected; } } catch { } } private void ultraGridPlnWork_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { try { ultraGridPlnWork.UpdateData(); foreach (UltraGridRow row in ultraGridPlnWork.Rows) { row.Cells["CHK"].Value = row.Selected; } } catch { } } private void ultraGridPln_CellChange(object sender, CellEventArgs e) { ultraGridPln.UpdateData(); if (e.Cell.Column.Key.Equals("AVERAGE_LEN")) { if(e.Cell.Row.Cells["AVERAGE_LEN"].Value.ToString().Trim().Equals("")){ e.Cell.Row.Cells["AVERAGE_LEN"].Value = "0"; } } //if (e.Cell.Column.Key.Equals("PLN_KEB_NUM")) //{ // if (e.Cell.Row.Cells["PLN_KEB_NUM"].Value.ToString() == "") // { // e.Cell.Row.Cells["PLN_KEB_NUM"].Value = "0"; // } //} } } }