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;
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.PlnSaleOrd.BaseMethod;
using Core.StlMes.Client.PlnSaleOrd.工序排产;
using Core.StlMes.Client.PlnSaleOrd.工序排产.entity;
using CoreFS.CA06;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using Core.StlMes.Client.PlnSaleOrd.窗体;
using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool;
using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity;
namespace Core.StlMes.Client.PlnSaleOrd
{
///
/// 热处理排产
///
public partial class FrmPlnOrderRclS : FrmBase
{
DataTable dtPlinGroup = null;
Dictionary ucbDicton = null;
private string[] plinePower = new string[] { "" };
///
/// 产线
///
private string _plineCode = "";
///
/// 热处理订单编号
///
private string _ProPlanId = "";
///
/// 订单排产序号
///
private string _GxPlanNo = "";
///
/// 集合
///
private ArrayList _entityList = null;
private ArrayList _entityList1 = null;
///
/// 颜色
///
private Color _color = new Color();
private string proPlanId = "";
private string gxPlanNo = "";
public FrmPlnOrderRclS()
{
this.IsLoadUserView = true;
InitializeComponent();
}
public FrmPlnOrderRclS(String plineCode, OpeBase ob)
{
this.IsLoadUserView = true;
this.ob = ob;
this._plineCode = plineCode;
InitializeComponent();
}
private void FrmOrderRclS_Load(object sender, EventArgs e)
{
if (CustomInfo == null) { CustomInfo = ""; }
EntityHelper.ShowGridCaption(ultraGridRcls.DisplayLayout.Bands[0]);
BaseHelper.setUltraGridColumnMaxInput(ultraGridRcls, new string[] { "WeigthS" });
BaseHelper.InitCellPosition(ultraGridRcls, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "Outdiameter", "Wallthick", "LengthmaxIn", "LengthminIn", "LengthIn", "Aimlength", "InWeightS", "InNumS", "WeigthS",
"NumS", "MatchWtIn", "MatchNumIn", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight", "Finishnum", "AddWtIn", "AddNumIn", "ProcessingCost", "TotalCost"
,"FinishWgt","UnfinishWgt","UnfinishNum","OutputNum","ExpectWt","ExpectNum","HrCapcty"});
BaseHelper.GridColumnSum(ultraGridRcls, new string[] { "WeigthS", "RealBatchWt", "RealIndoubleWt", "Finishweight", "InWeightS", "AddWtIn", "BatchedWt" });
BaseHelper.GridColumnCount(ultraGridRcls, new string[] { "NumS", "RealBatchNum", "RealIndoubleNum", "Finishnum", "InNumS", "AddNumIn", "BatchedNum" });
BaseHelper.InitCellPositionMiddle(ultraGridRcls, new string[] { "IsRepairPln", "IsPlanOk", "IfMonitorRcl", "Isendgx" });
PlanHelper.InitRepairType(ultraGridRcls, this);
PlanHelper.InitEditGroup("2005", ultraGridRcls, this, "GroupRcl");
PlanHelper.InitDropGroup("2005", txtGroup, this.ob);
PlanHelper.InitEditPline("F", _plineCode, ultraGridRcls, this);
EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]);
if (CustomInfo == "0")
{
plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob);
splitContainer1.Panel2Collapsed = true;
//PlanHelper.InitDropPline("F", "", comJgPlne, this.ob);
ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this);
ultraToolbarsManager1.Visible = false;
BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "GroupRcl" });
BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "GroupRcl" });
//炉计划
BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" });
BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" });
EntityHelper.setColumnShowOrHidden(ultraGridRcls, new string[] { "PenaltyDesc", "OrderCreateName", "OrderDocumentaryName" }, false);
}
else if (CustomInfo == "1")
{
plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob);
EntityHelper.setColumnShowOrHidden(ultraGridRcls, new string[] { "OrderTeam", "LenRollMin" }, false);
//PlanHelper.InitDropPline("F", "", comJgPlne, this.ob);
ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this);
ultraToolbarsManager1.Visible = false;
ultraLabel1.Visible = false;
BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "PlanTimeB", "RepairType", "PlanUsetime", "Memo", "Decision", "ZyBatchId", "ProgyMemo" });
BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "Memo", "Decision", "ZyBatchId", "ProgyMemo" });
BaseHelper.ForbidSort(ultraGridRcls);
//炉计划
BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" });
BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" });
}
else if (CustomInfo == "3")
{
plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob);
//PlanHelper.InitDropPline("F", "", comJgPlne, this.ob);
ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this);
//炉计划
BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" });
//BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq" });
ultraToolbarsManager2.Visible = false;
ultraToolbarsManager1.Visible = false;
ultraLabel1.Visible = false;
BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "GroupRcl" });
BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "GroupRcl" });
BaseHelper.ForbidSort(ultraGridRcls);
}
else
{
splitContainer1.Panel2Collapsed = true;
PlanHelper.InitDropPline("F", _plineCode, comJgPlne, this.ob);
ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this);
//排产弹窗界面
this.chcJgPlne.Enabled = false;
BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "PlanTimeB", "RepairType", "PlanUsetime", "Memo", "Decision" });
BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "Memo", "Decision" });
comJgPlne.Value = _plineCode;
BaseHelper.ForbidSort(ultraGridRcls);
//Query();
//炉计划
BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" });
BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" });
}
InitColorStyle();
InitTime();
BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" });
BaseHelper.setUltraGridColumnBits(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" });
BaseHelper.InitCellPosition(ultraGrid1, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn",
"LengthminIn","OutnumCut", "Outdiameter","Wallthick","Lengthmin","Lengthmax","CraftSeq","RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt","RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum","ProcessSeq"});
BaseHelper.GridColumnSum(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" });
BaseHelper.GridColumnCount(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" });
BaseHelper.ForbidSort(ultraGrid1);
BaseHelper.SetGroupBySum(ultraGrid1, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW", "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" }, "HeatPlanNo");
_color = ultraGridRcls.DisplayLayout.Override.RowSelectorAppearance.BackColor;
}
///
/// 初始化列状态
///
private void InitColorStyle()
{
ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss";
ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss";
ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime;
ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileNo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileNo"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["PreInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["PreInfo"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["AfInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["AfInfo"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProLin"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProLin"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["TimeDiffer"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProNum"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridRcls.DisplayLayout.Bands[0].Columns["ZgStartTime"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridRcls.DisplayLayout.Bands[0].Columns["ZgStartTime"].CellAppearance.BackColor = Color.GreenYellow;
UltraComboEditor uceAbc = new UltraComboEditor();
ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].EditorComponent = uceAbc;
ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ValueList vlistSteel = new ValueList(); ;
vlistSteel.ValueListItems.Insert(0, "A", "A");
vlistSteel.ValueListItems.Insert(1, "B", "B");
ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].ValueList = vlistSteel;
}
private void InitTime()
{
DateTime now = DateTime.Now;
DateTime d1 = new DateTime(now.Year, now.Month, 1);
DateTime d2 = d1.AddMonths(1).AddSeconds(-1);
txtPlanTimeB1.Value = d1;
txtPlanTimeB2.Value = d2;
txtPlanTimeE1.Value = d1;
txtPlanTimeE2.Value = d2;
}
private void ultraGridRcls_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
PlanHelper.ControlCellEdit(e.Row);
//排产查询界面
if (CustomInfo.Equals("0") || CustomInfo.Equals("1"))
{
if (ucbDicton != null)
{
string key = e.Row.Cells["GroupRcl"].Value == null ? "" : e.Row.Cells["GroupRcl"].Value.ToString();
if (ucbDicton.ContainsKey(key))
{
e.Row.Cells["PlineCode"].EditorComponent = ucbDicton[key];
}
}
}
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query"://查询
Query();
break;
case "Capacity": //产线能力维护
Capacity("0");
break;
case "PlineChange": //产线调整
PlineChange();
break;
case "Export": //导出
GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息");
break;
case "Close"://关闭
this.Close();
break;
case "AddRepairPlan"://检修计划
AddRepairPlan();
break;
case "DeleteRepairPlan"://删除检修计划
DeleteRepairPlan();
break;
case "AddCL"://承揽
AddCL();
break;
case "TimeChange"://时间调整
TimeChange();
break;
case "StatusChange"://状态调整
StatusChange();
break;
case "InitData"://耗时初始化
InitData();
break;
case "UpdateProgyMemo":
updateProgyMemo();
break;
case "UpdatePlanMemo"://修改计划备注
updatePlanMemo();
break;
case "Spit"://拆分订单
Spit();
break;
case "Merge"://合并订单
Merge();
break;
case "Issued"://确认
Issued("0");
break;
case "CancelIssued"://取消确认
Issued("1");
break;
case "SetPlanFinish"://设置合同完成
SetPlanFinish();
break;
case "Confirm"://炉计划下发
Issued("2");
break;
case "UinConfirm"://取消炉计划下发
Issued("3");
break;
case "Decision"://修改判定字头
DoDecision();
break;
case "ModifyProcess"://手动获取工艺
DoModifyProcess();
break;
case "AgainProcess"://重新获取工艺
doAgainProcess();
break;
case "UpdateBatch"://修改生产批次
doUpdateBatch();
break;
case "Print":
printData();
break;
case "SortOrderRcl":
sortOrderRcl();
break;
case "Notice":
tabNotice();
break;
case "UpdateOrderTeam"://修改是否协同
UpdateOrderTeam();
break;
default:
break;
}
}
private void UpdateOrderTeam()
{
this.ultraGridRcls.UpdateData();
IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请选择需要操作的数据信息!");
return;
}
ArrayList parmList = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
PlnOrderRclSOEntity plnOrderRclSTity = (PlnOrderRclSOEntity)row.ListObject;
string plnOrderRclSEntity = JSONFormat.Format(plnOrderRclSTity);
parmList.Add(plnOrderRclSEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "UpdateOrderTeam";
ccp.ServerParams = new object[] { parmList, "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
private void tabNotice()
{
this.ultraGridRcls.UpdateData();
IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请选择需要操作的监制信息!");
return;
}
ArrayList parmList = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
PlnOrderRclSOEntity plnOrderZgsTity = (PlnOrderRclSOEntity)row.ListObject;
string plnOrderZgsEntity = JSONFormat.Format(plnOrderZgsTity);
parmList.Add(plnOrderZgsEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "tabNotice";
ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName(), "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("标识监制成功!"))
{
Query();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
///
/// 打印检验要点
///
private void printData()
{
UltraGridRow row = ultraGridRcls.ActiveRow;
if (row == null) return;
string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilTestKey2.cpt&PROCESS_CODE=F&ORDER_NO=" + row.Cells["OrderNo"].Value.ToString();
FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
fBug.AutoSize = true;
fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fBug.Text = "检验要点打印";
fBug.ShowDialog();
}
///
/// 修改热处理计划备注 TZH 24.9,14
///
private void updatePlanMemo()
{
this.ultraGridRcls.UpdateData();
IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请选择需要修改的订单信息!");
return;
}
ArrayList parmList = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
PlnOrderRclSOEntity plnOrdRclTity = (PlnOrderRclSOEntity)row.ListObject;
string plnEntity = JSONFormat.Format(plnOrdRclTity);
parmList.Add(plnEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "updatePlanMemo";
ccp.ServerParams = new object[] { parmList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
///
/// 修改工艺备注
///
private void updateProgyMemo()
{
this.ultraGridRcls.UpdateData();
IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请选择需要修改的订单信息!");
return;
}
ArrayList parmList = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
PlnOrderRclSOEntity plnOrdRclTity = (PlnOrderRclSOEntity)row.ListObject;
string plnEntity = JSONFormat.Format(plnOrdRclTity);
parmList.Add(plnEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "updateProgyMemo";
ccp.ServerParams = new object[] { parmList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
private void sortOrderRcl()
{
string plineCode = "";
plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString();
if (plineCode.Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
ccp.MethodName = "sortOrderRcl";
ccp.ServerParams = new object[] { plineCode };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("重新排序成功!"))
{
Query();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Query"://查询
Query();
break;
case "Capacity"://产线能力维护
Capacity("1");
break;
case "AddRepairPlan"://检修计划
AddRepairPlan();
break;
case "DeleteRepairPlan"://删除检修计划
DeleteRepairPlan();
break;
case "AddCL"://承揽
AddCL();
break;
case "PlineChange"://产线调整
PlineChange();
break;
case "TimeChange"://时间调整
TimeChange();
break;
case "StatusChange"://状态调整
StatusChange();
break;
case "InitData"://耗时初始化
InitData();
break;
case "Spit"://拆分订单
Spit();
break;
case "Merge"://合并订单
Merge();
break;
case "Issued"://下发
Issued("0");
break;
case "CancelIssued"://取消下发
Issued("1");
break;
case "Export": //导出
GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息");
break;
case "SetPlanFinish"://设置合同完成
SetPlanFinish();
break;
case "AgainProcess"://重新获取工艺
doAgainProcess();
break;
case "ModifyProcess"://手动获取工艺
DoModifyProcess();
break;
case "Close"://关闭
this.Close();
break;
default:
break;
}
}
private void chc_CheckedChanged(object sender, EventArgs e)
{
if (chcOrderNo.Checked) { txtOrderNo.ReadOnly = false; } else { txtOrderNo.ReadOnly = true; }
if (chcProPlanId.Checked) { txtProPlanId.ReadOnly = false; } else { txtProPlanId.ReadOnly = true; }
if (chcGroup.Checked) { txtGroup.ReadOnly = false; } else { txtGroup.ReadOnly = true; }
}
///
/// 查询
///
private void Query()
{
//产线
string plineCode = "";
if (chcJgPlne.Checked)
{
plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString();
}
//如果是排产界面,则下拉框的产线不能为空,需要排序
if (!CustomInfo.Equals("0") && plineCode.Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
try
{
this.Cursor = Cursors.WaitCursor;
//string plineCode = "";
//if (chcJgPlne.Checked) { plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString(); }
//执行状态
string[] statusArr = contorlPlanStatus1.statusArr;
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
string group = "";
if (chcGroup.Checked && txtGroup.Value != null) { group = txtGroup.Value.ToString(); }
string planTimeB1 = "";
string planTimeB2 = "";
if (chcPlanTimeB.Checked && txtPlanTimeB2.Value != null && txtPlanTimeB1.Value != null)
{
planTimeB1 = DateTime.Parse(txtPlanTimeB1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
planTimeB2 = DateTime.Parse(txtPlanTimeB2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
}
string planTimeE1 = "";
string planTimeE2 = "";
if (chcPlanTimeE.Checked && txtPlanTimeE2.Value != null && txtPlanTimeE1.Value != null)
{
planTimeE1 = DateTime.Parse(txtPlanTimeE1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
planTimeE2 = DateTime.Parse(txtPlanTimeE2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
}
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlanOrderF",
new object[] { plineCode, proPlanId, orderNo, group, statusArr, planTimeB1, planTimeB2, planTimeE1, planTimeE2 }, this.ob);
plnOrderRclSOEntityBindingSource.DataSource = listSource;
dtPlinGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlinCodeGroup", null, this.ob);
//ProducHelper.copyLZData(ultraGridRcls,"F",this.ob);
if (!ultraGridRcls.DisplayLayout.Bands[0].Columns.Exists("CraftFileLv2GPath"))
{
ultraGridRcls.DisplayLayout.Bands[0].Columns.Add("CraftFileLv2GPath");
ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2GPath"].Hidden = true;
}
foreach (UltraGridRow ugr in ultraGridRcls.Rows)
{
string str = ugr.Cells["PreInfo"].Text.Trim();
string craftFileLv2G = ugr.Cells["CraftFileLv2G"].Text.Trim();
string[] name = craftFileLv2G.Split(new char[1] { '/' });
ugr.Cells["CraftFileLv2GPath"].Value = craftFileLv2G;
ugr.Cells["CraftFileLv2G"].Value = name[name.Length - 1];
if (str != null && str != "")
{
string[] sArray = str.Split(new char[1] { ',' });
ugr.Cells["TimeDiffer"].Value = sArray[0].Substring(0, sArray[0].IndexOf("天"));
ugr.Cells["BefProLin"].Value = sArray[1];
ugr.Cells["BefProNum"].Value = sArray[2].Substring(0, sArray[2].IndexOf("条"));
}
string strH = ugr.Cells["AfInfo"].Text.Trim();
if (strH != null && strH != "")
{
string[] sArray = strH.Split(new char[3] { '天', ',', '条' });
string plineCodeH = sArray[2];
if (dtPlinGroup.Rows.Count > 0)
{
//for (int i = 0; i < dtPlinGroup.Rows.Count; i++)
//{
string plinGroup = dtPlinGroup.Rows[0]["PLINE_NAME_M"].ToString() + "/" + dtPlinGroup.Rows[0]["PLINE_NAME_C"].ToString();
DataRow[] dr = dtPlinGroup.Select("PLINE_NAME_M='" + ugr.Cells["PlineCode"].Text.ToString() + "' AND PLINE_NAME_C ='" + plineCodeH + "'", "");
if (dr == null || dr.Length == 0) { }
else
{
//DataTable tmp = dr.Table.Clone(); // 复制DataRow的表结构
//if (tmp.Rows.Count > 0)
//{
ugr.Cells["StockGroupName"].Value = dr[0]["STOCK_GROUP_NAME"].ToString();
//}
}
}
}
if (ugr.Cells["IsNoticeEp"].Text.Equals("已通知"))
{
ugr.Cells["IsNoticeEp"].Appearance.BackColor = Color.GreenYellow;
ugr.Activate();
}
}
if ((!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) || _entityList != null)
{
foreach (UltraGridRow ugr in ultraGridRcls.Rows)
{
if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals(""))
{
if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo))
{
ugr.Activate();
//break;
}
}
if (_entityList != null)
{
for (int i = 0; i < _entityList.Count; i++)
{
PlnOrderRclSEntity entity = (PlnOrderRclSEntity)_entityList[i];
if (ugr.Cells["ProPlanId"].Text.Trim().Equals(entity.ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(entity.GxPlanNo))
{
ugr.Appearance.BackColor = Color.Wheat;
ugr.Activate();
//if (_entityList == null)break;
}
}
}
}
}
_ProPlanId = "";
_GxPlanNo = "";
_entityList = null;
if (!CustomInfo.Equals("0"))
{
_plineCode = comJgPlne.Value.ToString();
}
}
finally
{
wf3.Close();
this.Cursor = Cursors.Default;
}
}
///
/// 拆分订单
///
private void Spit()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.SpitPlanOrder(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 合并
///
private void Merge()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.MergePlanOrder(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 产线能力维护
///
private void Capacity(string flag)
{
UltraGridRow ugr = ultraGridRcls.ActiveRow;
if (ugr == null)
{ return; }
if (flag.Equals("0"))
{
FrmBaseMaterialFPl fpl = new FrmBaseMaterialFPl(ugr.Cells["InwlId"].Value.ToString(), ugr.Cells["OutwlId"].Value.ToString(), "", ugr.Cells["PlineCode"].Value.ToString(), this.ob);
fpl.ShowDialog();
}
else
{
FrmBaseMaterialFPl fpl = new FrmBaseMaterialFPl(ugr.Cells["InwlId"].Value.ToString(), ugr.Cells["OutwlId"].Value.ToString(), ugr.Cells["GroupRcl"].Value.ToString(), ugr.Cells["PlineCode"].Value.ToString(), this.ob);
fpl.ShowDialog();
}
}
///
/// 产线调整
///
private void PlineChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.PlineChange(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 时间调整
///
private void TimeChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.TimeChange(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
private void ultraGridRcls_MouseDown(object sender, MouseEventArgs e)
{
//排产查询界面,不能排序
if (CustomInfo.Equals("0"))
{ return; }
try
{ ultraGridRcls.UpdateData(); }
catch (Exception)
{
MessageUtil.ShowWarning("数据异常,请刷新数据!"); return;
}
if (e.Button == MouseButtons.Right)
{
//移动行
ArrayList entityList = ProducHelper.GetChcRows(ultraGridRcls);
if (entityList == null || entityList.Count == 0)
{
return;
}
//定位行
UIElement myUIElement = ultraGridRcls.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y));
UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell));
if (myCell == null) { return; }
UltraGridRow ugr = myCell.Row;
if (ugr == null) { return; }
PlnOrderRclSEntity entityD = (PlnOrderRclSEntity)ugr.ListObject;
bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "F", "", this.ob);
if (flag)
{
_entityList = entityList;
Query();
}
}
}
///
/// 检修计划
///
private void AddRepairPlan()
{
FrmJxjh frmJxjh = new FrmJxjh(ob, _plineCode, "F");
frmJxjh.ShowDialog();
Query();
}
///
/// 状态调整
///
private void StatusChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.StatusChange(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
private void ultraGridRcls_CellChange(object sender, CellEventArgs e)
{
try
{
ultraGridRcls.UpdateData();
}
catch (Exception)
{
MessageUtil.ShowWarning("计划开始时间格式异常,请刷新数据!");
return;
}
if (e.Cell.Column.Key.Equals("PlineCode"))
{
IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
if (CustomInfo.Equals("0"))
{
e.Cell.Row.Cells["PlineName"].Value = e.Cell.Text;
}
else
{
if (chcRows != null && chcRows.Count() > 0)
{
foreach (UltraGridRow ugr in chcRows)
{
ugr.Cells["PlineCode"].Value = e.Cell.Value.ToString();
ugr.Cells["PlineName"].Value = e.Cell.Text;
}
}
}
}
else if (e.Cell.Column.Key.Equals("GroupRcl"))
{
e.Cell.Row.Cells["PlineCode"].Value = "";
}
}
private void ultraGridRcls_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugrAc = ultraGridRcls.ActiveRow;
if (ugrAc == null)
{
return;
}
foreach (UltraGridRow ugr in ultraGridRcls.Rows)
{
if (ugr.Cells["ProPlanId"].Text.Equals(ugrAc.Cells["ProPlanId"].Text))
{
ugr.RowSelectorAppearance.BackColor = Color.LightGreen;
}
else
{
ugr.RowSelectorAppearance.BackColor = _color;
}
if (ugr.Cells["PlanUsetime"].Value == null || ugr.Cells["PlanUsetime"].Value.ToString().Equals("") || Convert.ToDouble(ugr.Cells["PlanUsetime"].Value.ToString()) <= 0)
{
ugr.Cells["PlanUsetime"].Appearance.BackColor = Color.MistyRose;
}
if (ugr.Cells["ExeStatus"].Value.ToString().Equals("生产中"))
{
ugr.Cells["PlanTimeB"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
}
if (ugr.Cells["IsRepairPln"].Text.Equals("是"))
{
ugr.Cells["PlanUsetime"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
ugr.Cells["RepairType"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
}
}
proPlanId = ugrAc.Cells["ProPlanId"].Text;
gxPlanNo = ugrAc.Cells["GxPlanNo"].Text;
if (CustomInfo == "0") return;
QueryZyReadyF(proPlanId, gxPlanNo);
}
///
/// 查询虚拟炉计划
///
///
///
private void QueryZyReadyF(string proPlanId, string gxPlanNo)
{
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.planStove.FrmPlanStoveF.queryPlanStovePlanId", new object[] { proPlanId, gxPlanNo }, this.ob);
plnZyRclReadyEntityBindingSource.DataSource = listSource;
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
//没有实际炉计划,主炉计划变颜色
if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals(""))
{
//ugr.RowSelectorAppearance.BackColor = Color.GreenYellow;
ugr.Appearance.BackColor = Color.Orange;
}
if (!string.IsNullOrEmpty(ugr.Cells["ApplyDesc"].Value.ToString2()))
{
ugr.Appearance.BackColor = Color.Red;
}
if (_entityList1 != null)
{
for (int i = 0; i < _entityList1.Count; i++)
{
PlnZyRclReadyEntity entity = (PlnZyRclReadyEntity)_entityList1[i];
if (ugr.Cells["HeatPlanNo"].Text.Trim().Equals(entity.HeatPlanNo))
{
ugr.Appearance.BackColor = Color.Wheat;
ugr.Activate();
}
}
}
}
_entityList1 = null;
}
private void ultraGridRcls_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGridRcls.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHC"].Value = true;
}
}
}
///
/// 初始化数据
///
private void InitData()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.InitData(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
private void chcJgPlne_CheckedChanged(object sender, EventArgs e)
{
if (chcJgPlne.Checked) { comJgPlne.ReadOnly = false; } else { comJgPlne.ReadOnly = true; }
}
///
/// 删除检修计划
///
public void DeleteRepairPlan()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.DeleteRepairPlan(list, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
private void comJgPlne_ValueChanged(object sender, EventArgs e)
{
}
private void FrmPlnOrderRclS_KeyDown(object sender, KeyEventArgs e)
{
if (CustomInfo.Equals("0"))
{
return;
}
if (e.Alt)
{
if (e.KeyValue == 81)//Q
{
Query();
}
else if (e.KeyValue == 90)//W
{
PlineChange();
}
else if (e.KeyValue == 69)//E
{
if (CustomInfo.Equals("0"))
{
Capacity("0");
}
else
{
Capacity("1");
}
}
else if (e.KeyValue == 82)//R
{
AddRepairPlan();
}
else if (e.KeyValue == 84)//T
{
TimeChange();
}
else if (e.KeyValue == 65)//A
{
InitData();
}
else if (e.KeyValue == 83)//S
{
Spit();
}
else if (e.KeyValue == 68)//D
{
Merge();
}
else if (e.KeyValue == 70)//F
{
StatusChange();
}
else if (e.KeyValue == 67)//C
{
this.Close();
}
else if (e.KeyValue == 80)//P
{
GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息");
}
else if (e.KeyValue == 73)//I
{
DeleteRepairPlan();
}
}
}
///
/// 下发(取消)
///
private void Issued(string isFlag)
{
IQueryable checkRows = ultraGridRcls.Rows.AsQueryable().Where("CHC = 'True'");
if (isFlag.Equals("2"))
{
string porderstatus = "";//合同状态
foreach (UltraGridRow row in checkRows)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.doQueryPorderstatus", new object[] { row.Cells["OrdLnDlyPk"].Text.Trim() }, ob);
if (dt.Rows.Count > 0)
{
porderstatus = dt.Rows[0]["PORDERSTATUS"].ToString();
}
if (porderstatus.Equals("4") || porderstatus.Equals("5"))
{
MessageUtil.ShowTips("该合同已生产完成或关闭,请联系销售!");
return;
}
}
}
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.issuedPlanOrder(list, UserInfo.GetUserName(), isFlag, "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
private void ultraGridRcls_ClickCellButton(object sender, CellEventArgs e)
{
UltraGridRow row = ultraGridRcls.ActiveRow;
if (e.Cell.Column.Key.Equals("CraftFileNo"))
{
string filePath = row.GetValue("CraftPath");
dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
// askDown.DeleteButton.Visible = false;
askDown.Show();
}
else if (e.Cell.Column.Key.Equals("CraftFileLv2G"))
{
string craftFileLv2G = row.GetValue("CraftFileLv2GPath");
dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, craftFileLv2G);
// askDown.DeleteButton.Visible = false;
askDown.Show();
// FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(craftFileLv2G,this.ob);
// frmCraftFileLv2.ShowDialog();
}
//else if (e.Cell.Column.Key.Equals("PreInfo"))
//{
// string proPlanId = row.GetValue("ProPlanId");
// string preInfo = row.GetValue("PreInfo");
// if (preInfo == null || preInfo.Length == 0) { return; }
// FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId,"F","Pr",this.ob);
// frmPreGxInfo.ShowDialog();
//}
else if (e.Cell.Column.Key.Equals("BefProLin"))
{
string proPlanId = row.GetValue("ProPlanId");
string preInfo = row.GetValue("PreInfo");
if (preInfo == null || preInfo.Length == 0) { return; }
FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "F", "Pr", this.ob);
frmPreGxInfo.ShowDialog();
}
else if (e.Cell.Column.Key.Equals("AfInfo"))
{
string proPlanId = row.GetValue("ProPlanId");
string afInfo = row.GetValue("AfInfo");
if (afInfo == null || afInfo.Length == 0) { return; }
FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "F", "Af", this.ob);
frmPreGxInfo.ShowDialog();
}
else if (e.Cell.Column.Key.Equals("ZgStartTime"))
{
string plnPivideId = row.GetValue("PlnDivideId");
string ordLnDlyPk = row.GetValue("OrdLnDlyPk");
FrmZgSum frmPreGxInfo = new FrmZgSum(ordLnDlyPk, plnPivideId, this.ob);
frmPreGxInfo.ShowDialog();
}
}
private void AddCL()
{
try
{
ultraGridRcls.UpdateData();
}
catch (Exception)
{
return;
}
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
if (list == null || list.Count != 1)
{
MessageUtil.ShowWarning("请选择唯一订单新增承揽!");
return;
}
PlnOrderRclSEntity entity = (PlnOrderRclSEntity)(list[0]);
if (entity.IsRepairPln.Equals("Y"))
{
MessageUtil.ShowWarning("检修计划不能新增承揽!");
return;
}
FrmCL frmCL = new FrmCL(_plineCode, "F", JSONFormat.Format(entity), UserInfo.GetUserName(), ob);
frmCL.ShowDialog();
Query();
}
private void chcPlanTimeB_CheckedChanged(object sender, EventArgs e)
{
if (chcPlanTimeB.Checked) { txtPlanTimeB1.ReadOnly = false; txtPlanTimeB2.ReadOnly = false; } else { txtPlanTimeB1.ReadOnly = true; txtPlanTimeB2.ReadOnly = true; }
}
private void chcPlanTimeE_CheckedChanged(object sender, EventArgs e)
{
if (chcPlanTimeE.Checked) { txtPlanTimeE1.ReadOnly = false; txtPlanTimeE2.ReadOnly = false; } else { txtPlanTimeE1.ReadOnly = true; txtPlanTimeE2.ReadOnly = true; }
}
///
/// 修改判定字头
///
private void DoDecision()
{
ultraGridRcls.UpdateData();
IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
if (chcRows == null || chcRows.Count() == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (UltraGridRow ugr in chcRows)
{
ArrayList list = new ArrayList();
if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划"))
{
MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!");
return;
}
list.Add(ugr.Cells["ProPlanId"].Text.ToString());
list.Add(ugr.Cells["GxPlanNo"].Text.ToString());
list.Add(ugr.Cells["Decision"].Text.ToString());
jsonList.Add(list);
}
if (MessageUtil.ShowYesNoAndQuestion("是否判定字头修改?") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "doDecision";
ccp.ServerParams = new object[] { jsonList, "F" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
}
}
///
/// 设置完成
///
private void SetPlanFinish()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
bool flag = ProducHelper.SetPlanFinish(list, UserInfo.GetUserName(), "F", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 修改生产批次
///
private void doUpdateBatch()
{
ultraGridRcls.UpdateData();
IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
if (chcRows == null || chcRows.Count() == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (UltraGridRow ugr in chcRows)
{
ArrayList list = new ArrayList();
//if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划"))
//{
// MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!");
// return;
//}
if (ugr.Cells["IfStoveIssued"].Text.ToString().Equals("/"))
{
MessageUtil.ShowTips("选择的订单未下发,不能修改生产批号!");
return;
}
list.Add(ugr.Cells["ProPlanId"].Text.ToString());
list.Add(ugr.Cells["GxPlanNo"].Text.ToString());
list.Add(ugr.Cells["ZyBatchId"].Text.ToString());
jsonList.Add(list);
}
if (MessageUtil.ShowYesNoAndQuestion("是否修改生产批号?") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "doUpdateBatch";
ccp.ServerParams = new object[] { jsonList, "F" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
}
}
///
/// 订单层重新获取工艺
///
private void DoModifyProcess()
{
ArrayList messageErr = new ArrayList();
ultraGridRcls.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridRcls);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderRclSEntity entity in list)
{
jsonList.Add(JSONFormat.Format(entity));
}
if (MessageUtil.ShowYesNoAndQuestion("是否手动获取工艺?") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
ccp.MethodName = "DoModifyProcess";
ccp.ServerParams = new object[] { jsonList, "F" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("获取成功!"))
{
Query();
}
}
#region 炉计划层操作
///
/// 炉计划按钮事件
///
///
///
private void ultraToolbarsManager2_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Issued"://下发
Issuedlu("0");
break;
case "IssuedU"://撤销
Issuedlu("1");
break;
case "Delete"://删除炉计划
doDelete();
break;
case "Print"://打印
doPrint();
break;
case "DeleteStatr"://删除剩余炉计划
doDeleteStatr();
break;
case "UpdateSeq"://修改循环次数
doUpdateSeq();
break;
case "Update"://修改判定炉号
doUpdate();
break;
case "BreakUp"://拆分
doBreakUp();
break;
case "AgainProcess"://重新获取工艺
doAgainProcess();
break;
case "UpdateGroup":
doUpdateGroup();//修改炉归组
break;
case "LuClose"://手动关闭炉计划
doLuClose();
break;
case "Export":
GridHelper.ulGridToExcel(ultraGrid1, "热处理炉计划信息");
break;
default:
break;
}
}
///
/// 炉计划打印
///
private void doPrint()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
string judgeStoveNo = "";
string plineCode = "";
string heatPlanNo = "";
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
//if (item.Cells["Planstatus"].Text.ToString().Trim().Equals("计划"))
//{
// MessageUtil.ShowTips("选中该炉计划状态是计划状态,不能打印!");
// return;
//}
if (item.Cells["HeatPlanSqe"].Text.ToString().Trim().Equals(""))
{
MessageUtil.ShowTips("选中炉计划未生成实际炉计划,不能打印!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
//list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim());
//list1.Add(item.Cells["StoveNo"].Text.ToString().Trim());
list.Add(list1);
plineCode = item.Cells["PlineCode"].Text.ToString().Trim();
judgeStoveNo += "'" + item.Cells["JudgeStoveNo"].Text.ToString().Trim() + "',";
heatPlanNo += "'" + item.Cells["HeatPlanNo"].Text.ToString().Trim() + "',";
}
}
if (countM > 0)
{
}
else
{
}
//if (MessageUtil.ShowYesNoAndQuestion("是否确认打印炉计划?") ==
//DialogResult.No)
// return;
if (judgeStoveNo.Equals("")) return;
judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3);
heatPlanNo = heatPlanNo.Substring(1, heatPlanNo.Length - 3);
string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttProductionPlan.cpt&op=view" + "&JUDGE_STOVE_NO=" + judgeStoveNo + "&PLINE_CODE=" + plineCode + "&USERID=" + this.UserInfo.GetUserID() + "&HEAT_PLAN_NO=" + heatPlanNo;
FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
fBug.AutoSize = true;
fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fBug.Text = "热处理炉计划打印";
fBug.ShowDialog();
//生成打印次数,打印时间
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "updatePintFlag";
ccp.ServerParams = new object[] { list };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
//MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 单炉下发炉计划
///
///
private void Issuedlu(string flag)
{
UltraGridRow ugrAc = ultraGridRcls.ActiveRow;
if (ugrAc == null) return;
string zyBatchId = ugrAc.Cells["ZyBatchId"].Text.ToString().Trim();
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (flag.Equals("0") && !item.Cells["Planstatus"].Text.ToString().Equals("计划"))
{
MessageUtil.ShowTips("选中该炉计划已下发,不能重复下发!");
return;
}
if (flag.Equals("1") && item.Cells["Planstatus"].Text.ToString().Equals("计划"))
{
MessageUtil.ShowTips("选中该炉计划不处于下发状态,不能撤销!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
//list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim());
//list1.Add(item.Cells["StoveNo"].Text.ToString().Trim());
list.Add(list1);
}
}
//去重
for (int i = 0; i < list.Count; i++)
{
for (int j = i + 1; j < list.Count; j++)
{
if (list[i].Equals(list[j]))
{
list.RemoveAt(j);
if (i > 0)
{
i--;
}
}
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
ArrayList possList = new ArrayList();
IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'");
var posslist = checkMagRows.Select(p => (PlnZyRclReadyEntity)p.ListObject).ToList();
var grouplist = posslist.GroupBy(p => p.HeatPlanNo);
grouplist.ToList().ForEach(p =>
{
PlnZyJgxReadyEntity tmp = new PlnZyJgxReadyEntity();
tmp.HeatPlanNo = p.First().HeatPlanNo;
//tmp.PlineCode = p.First().PlineCode;
//tmp.ActCount = p.Sum(q => q.ActCount);
possList.Add(JSONFormat.Format(tmp));
});
if (MessageUtil.ShowYesNoAndQuestion((flag.Equals("0") ? "是否下发?" : "是否撤销下发?")) ==
DialogResult.No)
return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "doFurnacePlan";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag, proPlanId, gxPlanNo, possList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals(flag.Equals("0") ? "下发成功!" : "撤销成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 重新获取工艺
///
private void doAgainProcess()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否获取工艺?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
ccp.MethodName = "doAgainProcess";
ccp.ServerParams = new object[] { list, proPlanId, gxPlanNo, "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("获取成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 删除炉计划
///
private void doDelete()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (!item.Cells["Planstatus"].Text.ToString().Equals("计划"))
{
MessageUtil.ShowTips("选中该炉计划不是计划状态,不能删除!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是删除炉计划?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "doDeleteLu";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("删除成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
private void doDeleteStatr()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发"))
{
MessageUtil.ShowTips("选中该炉计划是计划/下发状态,不能删除!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是删除剩余炉计划?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
ccp.MethodName = "doDeleteStatr";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("删除成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 托选
///
///
///
private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHC"].Value = true;
}
}
}
private int splitterDistance = 0;
private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox1.Expanded == false)
{
this.splitContainer1.SplitterDistance = splitContainer1.Size.Height - 26;
}
else
{
this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
}
}
private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
StoveHelper.CustomMergedCellEvaluator merge = new StoveHelper.CustomMergedCellEvaluator("HeatPlanNo");
e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["StoveNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["StoveNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["GxProSeq"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["GxProSeq"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["Planstatus"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["Planstatus"].MergedCellEvaluator = merge;
}
///
///修改循环次数
///
private void doUpdateSeq()
{
ultraGrid1.UpdateData();
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (!item.Cells["Planstatus"].Text.ToString().Equals("计划") && !item.Cells["Planstatus"].Text.ToString().Equals("下发"))
{
MessageUtil.ShowTips("选中该炉计划不是计划/下发状态,不能修改!");
return;
}
string processSeq = "0";
if (!item.Cells["ProcessSeq"].Value.Equals(""))
{
processSeq = item.Cells["ProcessSeq"].Value.ToString();
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(processSeq);
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "doUpdate";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 修改判定炉号,备注
///
private void doUpdate()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (!item.Cells["Planstatus"].Text.ToString().Equals("计划"))
{
MessageUtil.ShowTips("选中该炉计划不是计划状态,不能修改!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim());
list1.Add(item.Cells["Memo"].Text.ToString().Trim());
list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
ccp.MethodName = "doUpdate";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 修改炉归组
///
private void doUpdateGroup()
{
ultraGrid1.UpdateData();
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
//int countC = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
//if (!item.Cells["Planstatus"].Text.ToString().Equals("计划") && !item.Cells["Planstatus"].Text.ToString().Equals("下发"))
//{
// MessageUtil.ShowTips("选中该炉计划不是计划/下发状态,不能修改!");
// return;
//}
list1.Add(item.Cells["LotNoGroup"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "doUpdateGroup";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 手动关闭炉计划
///
private void doLuClose()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
ArrayList list = new ArrayList();
string heatPlanNo = "";
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
if (item.Cells["Planstatus"].Text.ToString().Equals("关闭"))
{
MessageUtil.ShowTips("选中该炉计划是关闭状态,不能重复关闭!");
return;
}
if (!heatPlanNo.Equals(item.Cells["HeatPlanNo"].Text.ToString()))
{
heatPlanNo = item.Cells["HeatPlanNo"].Text.ToString().Trim();
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list.Add(list1);
}
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否关闭炉计划?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF";
ccp.MethodName = "doLuClose";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("关闭成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
///
/// 拆分
///
private void doBreakUp()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) return;
int countM = 0;
ArrayList list = new ArrayList();
foreach (UltraGridRow item in ultraGrid1.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
ArrayList list1 = new ArrayList();
int reaNum = 0;//上料支
int plnNum = 0;//装炉支
if (!item.Cells["RealIndoubleNum"].Text.ToString().Equals(""))
{
reaNum = int.Parse(item.Cells["RealIndoubleNum"].Value.ToString());
}
if (!item.Cells["PlanIndoubleNum"].Text.ToString().Equals(""))
{
plnNum = int.Parse(item.Cells["PlanIndoubleNum"].Value.ToString());
}
if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发"))
{
MessageUtil.ShowTips("选中工单是计划/下发状态,不能拆分!");
return;
}
if (reaNum == 0)
{
MessageUtil.ShowTips("选中的工单无上料支,不能拆分!");
return;
}
if (plnNum - reaNum <= 0)
{
MessageUtil.ShowTips("选中的炉计划已全部上料,不能拆分!");
return;
}
list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
list.Add(list1);
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选炉计划信息!");
return;
}
if (countM > 1)
{
MessageUtil.ShowWarning("不能一次性拆分多条炉计划!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否拆分?") == DialogResult.No) return;
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
ccp.MethodName = "doBreakUp";
ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("拆分成功!"))
{
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
#endregion
private void ultraGrid1_MouseDown(object sender, MouseEventArgs e)
{
try
{ ultraGrid1.UpdateData(); }
catch (Exception)
{
MessageUtil.ShowWarning("数据异常,请刷新数据!"); return;
}
if (e.Button == MouseButtons.Right)
{
//移动行
ArrayList entityList = ProducHelper.GetChcRows(ultraGrid1);
if (entityList == null || entityList.Count == 0)
{
return;
}
//定位行
UIElement myUIElement = ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y));
UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell));
if (myCell == null) { return; }
UltraGridRow ugr = myCell.Row;
if (ugr == null) { return; }
PlnZyRclReadyEntity entityD = (PlnZyRclReadyEntity)ugr.ListObject;
//bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "F", "", this.ob);
//if (flag)
//{
// _entityList = entityList;
// Query();
//}
//定位行序号
string gxProSeqD = entityD.LotNoSqe.ToString();
//移动行序号集合
ArrayList seqList = new ArrayList();
ArrayList list = new ArrayList();
foreach (object entityM in entityList)
{
PlnZyRclReadyEntity entity = (PlnZyRclReadyEntity)entityM;
//调整行只能为计划中的
//if (!entity.Planstatus.Equals("计划")) { return; }
seqList.Add(Convert.ToInt32(entity.LotNoSqe));
list.Add(JSONFormat.Format(entity));
}
seqList.Sort();
////如果鼠标坐标行在调整行的中间,则不允许调整
//if (Convert.ToInt32(gxProSeqD) >= (int)seqList[0] && Convert.ToInt32(gxProSeqD) <= (int)seqList[seqList.Count - 1])
//{
// return ;
//}
DialogResult resutl=MessageBox.Show("是否重新分组并调整生产顺序至:" + entityD.LotNoSqe + "位?", "提示", MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
// if (MessageUtil.ShowYesNoAndQuestion("是否调整生产顺序至:" + entityD.LotNoSqe + "位?") == DialogResult.Cancel)
//{
// return;
//}
CoreClientParam ccp = new CoreClientParam();
if (resutl == DialogResult.Cancel)
{
return;
}
else if (resutl == DialogResult.Yes)
{
PlanComm.WaitFromOpen(this.Cursor);
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
ccp.MethodName = "sortLotNoSeq";
ccp.ServerParams = new object[] { list, JSONFormat.Format(entityD) };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
else {
PlanComm.WaitFromOpen(this.Cursor);
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
ccp.MethodName = "sortLotNoSeqNew";
ccp.ServerParams = new object[] { list, JSONFormat.Format(entityD) };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("移动成功!"))
{
_entityList1 = entityList;
QueryZyReadyF(proPlanId, gxPlanNo);
}
}
}
private void cmbPro_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
this.ultraGridRcls.UpdateData();
UltraGridRow row = this.ultraGridRcls.ActiveRow;
if (row == null)
{
return;
}
FrmProInformation fp = new FrmProInformation(ob, row.Cells["PrdcrNo"].Text, row.Cells["IndexSeq"].Text, "F");
fp.ShowDialog();
}
}
}