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";
// }
//}
}
}
}