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.OrderManage.froms;
using Newtonsoft.Json;
using Core.StlMes.Client.PlnSaleOrd.窗体;
using Core.Mes.Client.Comm;
namespace Core.StlMes.Client.PlnSaleOrd
{
///custominfo==0 表示轧管排产查询界面
///
/// 轧制排产
///
public partial class FrmPlnOrderZgSL1 : FrmBase
{
DataTable dtPlinGroup = null;
private string departm = "";//获取部门ID
private string[] plineCode = null;//获取产线代码
///
/// 订单编号
///
private string _ProPlanId = "";
///
/// 排产序号
///
private string _GxPlanNo = "";
UltraComboEditor uceDimaM = new UltraComboEditor();//芯棒直径
///
/// 行首背景色
///
private Color _backColor = new Color();
///
/// 调整行集合
///
private ArrayList _entityList = null;
public FrmPlnOrderZgSL1()
{
InitializeComponent();
this.IsLoadUserView = true;
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query"://查询
Query();
break;
case "Capacity"://产线能力维护
Capacity();
break;
case "AddRepairPlan"://检修计划
AddRepairPlan();
break;
case "DeleteRepairPlan"://删除检修计划
DeleteRepairPlan();
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 "SetPlanFinish"://设置合同完成
SetPlanFinish();
break;
case "ModifyGpAimWall"://重算
ModifyGpAimWall();
break;
case "UpdateCrop"://修改切头尾
UpdateCrop();
break;
case "UpdateDiameM"://修改芯棒直径
UpdateDiameM();
break;
case "ModifyThicknesWall"://修改控制壁厚
ModifyThicknesWall();
break;
case "Recalculate"://重新计算
Recalculate();
break;
case "Export": //导出
GridHelper.ulGridToExcel(ultraGridZgS, "轧管排产信息");
break;
case "UpdateMonth"://修改排产月份
UpdateMonth();
break;
case "ApplyApproval"://申请审批
ApplyApproval();
break;
case "ModifyBatter"://修改坯子
ModifyBatter();
break;
case "UpdateGroupGp"://修改索引码
UpdateGroupGp();
break;
case "UpdateGradeCode"://修改钢种
UpdateGradeCode();
break;
case "DeleteGperId"://删除管坯需求号
DeleteGperId();
break;
case "UpdateZz"://获取铸造产线
UpdateZz();
break;
case "Termination": //订单终止
doTermination();
break;
case "Close": //关闭
this.Close();
break;
default:
break;
}
}
private void FrmPlnOrderZgS_Load(object sender, EventArgs e)
{
if (CustomInfo == null) { CustomInfo = ""; }
//设置列头名称
EntityHelper.ShowGridCaption(ultraGridZgS.DisplayLayout.Bands[0]);
if (CustomInfo == "0")
{
PlanComm.setGridActivation(this.ultraGridZgS.DisplayLayout.Bands[0], "CHC", "ProMonth");//, "OutsBilletFl"
EntityHelper.setColumnShowOrHidden(ultraGridZgS, new string[] { "PenaltyDesc", "OrderDocumentaryName", "OrderCreateName" }, false);
}
else
{
BaseHelper.setOtherColumnReadOnly(ultraGridZgS, new string[] { "CHC", "PlineCode", "PlanTimeB", "RepairType", "PlanUsetime", "Aimwallthick", "LenGpSingle", "LenCuthead", "LenCutend", "TubeEndRatio", "Memo", "LengthdiscN" });
BaseHelper.setColumnBackColor(ultraGridZgS, new string[] { "PlineCode", "Aimwallthick", "LenGpSingle", "LenCuthead", "LenCutend", "DiameterMandrel", "TubeEndRatio", "Memo", "LengthdiscN" });
}
BaseHelper.InitCellPosition(ultraGridZgS, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "Outdiameter", "Wallthick",
"LenRollMax", "LenRollMin", "Aimoutdiameter", "Aimwallthick", "Aimlength", "DiameterGp", "LenGpSingle", "RollLength",
"LenCuthead", "LenCutend", "OutnumCut", "DiameterMandrel", "InWeightS", "InNumS", "WeigthS", "NumS", "AddWtIn",
"AddNumIn", "MatchWtIn", "MatchNumIn", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight",
"Finishnum", "ProcessingCost", "TotalCost" ,"FinishWgt","UnfinishWgt","UnfinishNum","OutdiameterZg","WallthickZg","GpreqNum","GpreqWeight","TubeEndRatio","WeigthSMin","PlansNum","TimeDiffer","AfProNum","AmountDifference","LjNum","LjWeight","FurnaNum","FurnaWeight" ,"CkNum","CkWeight","HrCapcty","ExpectWt","ExpectNum","PendNum","PendWeight","LjWeightB","LjNumB"});
BaseHelper.setUltraGridColumnMaxInput(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight", "InWeightS", "AddWtIn", "MatchWtIn", "BatchedWt", "AmountDifference", "UnfinishWgt", "LjWeight", "FurnaWeight", "CkWeight", "ExpectWt", "PendWeight", "LjWeightB" });
plineCode= PlanHelper.InitDropPlinePower("D",comPline,this.ValidDataPurviewIds, this.ob);
PlanHelper.InitRepairType(ultraGridZgS, this);
PlanHelper.InitEditPline("D", "", ultraGridZgS, this);
if (CustomInfo != "0") { BaseHelper.ForbidSort(ultraGridZgS); }
BaseHelper.GridColumnSum(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight", "PendWeight" });
BaseHelper.GridColumnCount(ultraGridZgS, new string[] { "NumS", "GpreqNum", "PlansNum", "PendNum" });
BaseHelper.InitCellPositionMiddle(ultraGridZgS, new string[] { "IsRepairPln", "IsPlanOk", "IfMonitorZg", "GpreqIfOk", "Isendgx" });
BaseHelper.setUltraGridColumnColor(ultraGridZgS, new string[] { "CraftFileNo", "CraftFileLv2G", "Gradename", "DiameterGp" }, Color.GreenYellow);
//PlanHelper.InitEditGroup("1218", ultraGridZgS, this, "OutsBilletFl");
PlanHelper.InitEditGroup("1219", ultraGridZgS, this, "OutsStlPipeFl");
_backColor = ultraGridZgS.DisplayLayout.Override.RowSelectorAppearance.BackColor;
InitTime();
InitColorStyle();
}
///
/// 初始化列状态
///
private void InitColorStyle()
{
ultraGridZgS.DisplayLayout.Bands[0].Columns["Gradename"].EditorComponent = ultraTextEditor1;
ultraGridZgS.DisplayLayout.Bands[0].Columns["Gradename"].ButtonDisplayStyle
= Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always;
ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss";
ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss";
ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime;
ultraGridZgS.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgS.DisplayLayout.Bands[0].Columns["CraftFileNo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
//ultraGridZgS.DisplayLayout.Bands[0].Columns["Gradename"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgS.DisplayLayout.Bands[0].Columns["DiameterGp"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgS.DisplayLayout.Bands[0].Columns["AfInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgS.DisplayLayout.Bands[0].Columns["AfInfo"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridZgS.DisplayLayout.Bands[0].Columns["DiameterMandrel"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProLin"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridZgS.DisplayLayout.Bands[0].Columns["TimeDiffer"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProNum"].CellAppearance.BackColor = Color.GreenYellow;
ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProLin"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
UltraNumericEditor[] uneArr = new UltraNumericEditor[3];
for (int i = 0; i < uneArr.Length; i++)
{
uneArr [i]= new UltraNumericEditor();
uneArr[i].NumericType =NumericType.Double;
if (i == 1)
{
uneArr[i].MaskInput = "nnnnn";
}
else
{
uneArr[i].MaskInput = "nnnnn.nn";
}
uneArr[i].SpinButtonDisplayStyle = Infragistics.Win.ButtonDisplayStyle.Always;
this.Controls.Add(uneArr[i]);
uneArr[i].Visible = false;
}
uneArr[0].SpinIncrement = 0.01;
uneArr[1].SpinIncrement = 50;
uneArr[2].SpinIncrement =10;
ultraGridZgS.DisplayLayout.Bands[0].Columns["Outdiameter"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["Wallthick"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["OutdiameterZg"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["WallthickZg"].EditorComponent = uneArr[0];
//ultraGridZgS.DisplayLayout.Bands[0].Columns["PipeLengthMin"].EditorComponent = uneArr[0];
//ultraGridZgS.DisplayLayout.Bands[0].Columns["PipeLengthMax"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimoutdiameter"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimwallthick"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimlength"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["RollLength"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["LenGpSingle"].EditorComponent = uneArr[2];
ultraGridZgS.DisplayLayout.Bands[0].Columns["LenCuthead"].EditorComponent = uneArr[1];
ultraGridZgS.DisplayLayout.Bands[0].Columns["LenCutend"].EditorComponent = uneArr[1];
}
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 InitDimaM(string plineCode, string passCode, string aimoutdiameter, string aimwallthick)
//{
// DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnProcessOrd.queryPlnMandrelId", new object[] { plineCode, passCode, aimoutdiameter,aimwallthick }, this.ob);
// UltraComboEditor uce = new UltraComboEditor();
// ultraGridZgS.Controls.Add(uce);
// uce.Visible = false;
// uce.DropDownListWidth = -1;
// uce.DropDownStyle = DropDownStyle.DropDownList;
// uce.DataSource = dt1;
// uce.DisplayMember = "DIAMETER_MANDREL";
// uce.ValueMember = "MANDREL_ID";
// ultraGridZgS.DisplayLayout.Bands[0].Columns["DiameterMandrel"].EditorComponent = uce;
// ultraGridZgS.DisplayLayout.Bands[0].Columns["DiameterMandrel"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
//}
private void chcPline_CheckedChanged(object sender, EventArgs e)
{
if (chcPline.Checked) { comPline.ReadOnly = false; } else { comPline.ReadOnly = true; }
if (chcOrderNo.Checked) { txtOrderNo.ReadOnly = false; } else { txtOrderNo.ReadOnly = true; }
if (chcProPlanId.Checked) { txtProPlanId.ReadOnly = false; } else { txtProPlanId.ReadOnly = true; }
if (chcPlanTimeB.Checked) { txtPlanTimeB1.ReadOnly = false; txtPlanTimeB2.ReadOnly = false; } else { txtPlanTimeB1.ReadOnly = true; txtPlanTimeB2.ReadOnly = true; }
if (chcPlanTimeE.Checked) { txtPlanTimeE1.ReadOnly = false; txtPlanTimeE2.ReadOnly = false; } else { txtPlanTimeE1.ReadOnly = true; txtPlanTimeE2.ReadOnly = true; }
}
private void ultraGridZgS_InitializeRow(object sender, InitializeRowEventArgs e)
{
PlanHelper.ControlCellEdit(e.Row);
}
///
/// 查询
///
private void Query()
{
//产线
string comPlineCode = "";
if (chcPline.Checked)
{
comPlineCode = comPline.Value == null ? "" : comPline.Value.ToString();
}
//如果是排产界面,则下拉框的产线不能为空,需要排序
if (!CustomInfo.Equals("0") && comPline.Text.Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
try
{
this.Cursor = Cursors.WaitCursor;
//执行状态
string[] statusArr = contorlPlanStatus1.statusArr;
//合同号
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
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");
}
if (plineCode == null)
{
MessageUtil.ShowTips("该用户没有轧管产线查看权限!");
return;
}
dtPlinGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlinCodeGroup", null, this.ob);
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlanOrderD", new object[] { plineCode, proPlanId, orderNo, statusArr, planTimeB1, planTimeB2, planTimeE1, planTimeE2, comPlineCode,"","" }, this.ob);
plnOrderZgSOEntityBindingSource.DataSource = listSource;
//ProducHelper.copyLZData(ultraGridZgS, "D", this.ob);
//ProducHelper.copyLZDataZg(ultraGridZgS, "D", this.ob);
foreach (UltraGridRow ugr in ultraGridZgS.Rows)
{
string str = ugr.Cells["AfInfo"].Text.Trim();
if (str != null && str != "")
{
string[] sArray = str.Split(new char[1] { ','});
ugr.Cells["TimeDiffer"].Value = String.Format("{0:N2} ", sArray[0]).Substring(0, sArray[0].IndexOf("天"));
ugr.Cells["AfProLin"].Value = sArray[1];
ugr.Cells["AfProNum"].Value = sArray[2].Substring(0, sArray[2].IndexOf("条"));
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 ='" + ugr.Cells["AfProLin"].Value.ToString() + "'", "");
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["WeigthSMin"].Text.ToString().Equals("") || ugr.Cells["WeigthSMin"].Value.ToString().Equals("0"))
{
ugr.Cells["AmountDifference"].Value = (double.Parse(ugr.Cells["ExpectWt"].Value.ToString()) - double.Parse(ugr.Cells["WeigthS"].Value.ToString())).ToString();
}
else
{
ugr.Cells["AmountDifference"].Value = (double.Parse(ugr.Cells["ExpectWt"].Value.ToString()) - double.Parse(ugr.Cells["WeigthSMin"].Value.ToString())).ToString();
}
}
//激活操作行代码
//if ((!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) || _entityList != null)
foreach (UltraGridRow ugr in ultraGridZgS.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++)
{
PlnOrderZgSEntity jgxsEntity = (PlnOrderZgSEntity)_entityList[i];
if (ugr.Cells["ProPlanId"].Text.Trim().Equals(jgxsEntity.ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(jgxsEntity.GxPlanNo))
{
ugr.Appearance.BackColor = Color.Wheat;
ugr.Activate();
}
//if (!ugr.Cells["GxProSeq"].Text.Trim().Equals(jgxsEntity.GxProSeq))
//{
// ugr.Cells["GxProSeq"].Appearance.BackColor = Color.Wheat;
// ugr.Activate();
//}
}
}
}
_entityList = null;
_ProPlanId = "";
_ProPlanId = "";
}
finally
{
wf3.Close();
this.Cursor = Cursors.Default;
}
}
///
/// 修改切头尾数据
///
private void UpdateCrop()
{
try
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGridZgS.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowWarning("请选择订单!");
return;
}
PlanComm.WaitFromOpen(this.Cursor);
foreach (UltraGridRow uRow in checkRows)
{
ArrayList param = new ArrayList();
param.Add(UserInfo.GetUserName());
param.Add(uRow.Cells["ProPlanId"].Value.ToString());
param.Add(uRow.Cells["GxPlanNo"].Value.ToString());
param.Add(uRow.Cells["InwlId"].Text);
param.Add(uRow.Cells["OutwlId"].Text);
param.Add(uRow.Cells["PlineCode"].Value.ToString());
list.Add(param);
}
if (list.Count == 0)
{
PlanComm.WaitFromColse(this.Cursor);
MessageUtil.ShowTips("0条修改成功," + messageErr.Count + "条修改失败。\n" + messageErr[0]);
return;
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
ccp.MethodName = "updateCrop";
ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("批量获取切头尾成功!"))
{
Query();
}
}
catch (Exception ex)
{
PlanComm.WaitFromColse(this.Cursor);
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
}
///
/// 产线能力维护
///
private void Capacity()
{
UltraGridRow ugr = ultraGridZgS.ActiveRow;
if (ugr == null)
{
return;
}
string inMaterialNo = ugr.Cells["InwlId"].Text;
string outMaterialNo = ugr.Cells["OutwlId"].Text;
string plineCode = ugr.Cells["PlineCode"].Value.ToString();
FrmBaseMaterialDPl frmBaseMaterialDPl = new FrmBaseMaterialDPl(inMaterialNo, outMaterialNo, plineCode, this.ob);
frmBaseMaterialDPl.ShowDialog();
}
///
/// 新增检修计划
///
private void AddRepairPlan()
{
if (comPline.Value == null || comPline.Value.ToString().Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
FrmJxjh frmJxjh = new FrmJxjh(this.ob, comPline.Value.ToString(), "D");
frmJxjh.ShowDialog();
Query();
}
///
/// 折分订单
///
private void Spit()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.SpitPlanOrder(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 合并订单
///
private void Merge()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.MergePlanOrder(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 产线调整
///
private void PlineChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.PlineChange(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 初始化
///
private void InitData()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.InitData(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 状态调整
///
private void StatusChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.StatusChange(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 时间调整
///
private void TimeChange()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.TimeChange(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 排序
///
///
///
private void ultraGridZgS_MouseDown(object sender, MouseEventArgs e)
{
//排产查询界面,不能排序
if (CustomInfo.Equals("0"))
{ return; }
try
{ ultraGridZgS.UpdateData(); }
catch (Exception)
{
MessageUtil.ShowWarning("数据异常,请刷新数据!"); return;
}
if (e.Button == MouseButtons.Right)
{
//移动行
ArrayList entityList = ProducHelper.GetChcRows(ultraGridZgS);
if (entityList == null || entityList.Count == 0)
{
return;
}
//定位行
UIElement myUIElement = ultraGridZgS.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; }
PlnOrderZgSEntity entityD = (PlnOrderZgSEntity)ugr.ListObject;
bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "D", "", this.ob);
if (flag)
{
_entityList = entityList;
Query();
}
}
}
private void ultraGridZgS_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugrAc = ultraGridZgS.ActiveRow;
if (ugrAc == null)
{
return;
}
foreach (UltraGridRow ugr in ultraGridZgS.Rows)
{
if (ugr.Cells["ProPlanId"].Text.Equals(ugrAc.Cells["ProPlanId"].Text))
{
ugr.RowSelectorAppearance.BackColor = Color.LightGreen;
}
else
{
ugr.RowSelectorAppearance.BackColor = _backColor;
}
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("Y"))
{
ugr.Cells["PlanUsetime"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
ugr.Cells["RepairType"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
}
}
}
private void ultraGridZgS_CellChange(object sender, CellEventArgs e)
{
try
{
ultraGridZgS.UpdateData();
if (e.Cell.Column.Key.Equals("PlineCode"))
{
IQueryable chcRows = ultraGridZgS.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;
}
}
}
}
}
catch (Exception)
{
}
}
///
/// 删除检修计划
///
public void DeleteRepairPlan()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.DeleteRepairPlan(list, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
private void comPline_ValueChanged(object sender, EventArgs e)
{
if (comPline == null)
{ return; }
else
{ if (!CustomInfo.Equals("0")) { } }
}
///
/// 下发(取消)
///
private void Issued(string isFlag)
{
IQueryable checkRows = ultraGridZgS.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count()==0)
{
MessageUtil.ShowWarning("请选择订单!");
return;
}
if (isFlag.Equals("0"))
{
foreach (UltraGridRow row in checkRows)
{
if (row.Cells["LenCuthead"].Text.Trim().Equals(""))
{
MessageUtil.ShowTips("切头无数据,不允许确认!");
return;
}
if (row.Cells["LenCutend"].Text.Trim().Equals(""))
{
MessageUtil.ShowTips("切尾无数据,不允许确认!");
return;
}
//if (row.Cells["Verify1"].Text.Trim().Equals(""))
//{
// MessageUtil.ShowTips("长度需调整!");
// return;
//}
//if (row.Cells["Verify2"].Text.Trim().Equals(""))
//{
// MessageUtil.ShowTips("长度超出范围!");
// return;
//}
//if (row.Cells["Verify3"].Text.Trim().Equals(""))
//{
// MessageUtil.ShowTips("脱不出!");
// return;
//}
if (row.Cells["CicGp"].Text.Trim().Equals(""))
{
MessageUtil.ShowTips("钢种索引码为空!");
return;
}
}
}
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.issuedPlanOrder(list, UserInfo.GetUserName(), isFlag, "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
private void ultraGridZgS_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGridZgS.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHC"].Value = true;
}
}
}
private void ultraGridZgS_ClickCellButton(object sender, CellEventArgs e)
{
UltraGridRow row = ultraGridZgS.ActiveRow;
if (e.Cell.Column.Key.Equals("CraftFileNo"))
{
string filePath = row.GetValue("CraftPath");
dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
askDown.Show();
}
else if (e.Cell.Column.Key.Equals("CraftFileLv2G"))
{
string craftFileLv2G = row.GetValue("CraftFileLv2G");
dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, craftFileLv2G);
askDown.Show();
}
else if (e.Cell.Column.Key.Equals("DiameterGp"))
{
string exeStatus = row.GetValue("ExeStatus");
if (!exeStatus.Equals("计划") && !exeStatus.Equals("生产中"))
{
return;
}
string ordLnDlyPk = row.GetValue("OrdLnDlyPk");
string proPlanId = row.GetValue("ProPlanId");
string gxPlanNo = row.GetValue("GxPlanNo");
string gradeCode = row.GetValue("GradeCode");
if (gradeCode.Equals(""))
{
return;
}
string[] groupCic = null;
if (!row.GetValue("GradeCode").Equals(""))
{
groupCic = row.Cells["CicGroupGp"].Text.ToString().Split(',');
}
string cicGp = row.GetValue("CicGp");
//int numz = 0;
//double wtz = 0;
//if (!row.Cells["FurnaNum"].Text.ToString().Equals(""))
//{
// numz = int.Parse(row.Cells["FurnaNum"].Value.ToString());
// wtz = double.Parse(row.Cells["FurnaWeight"].Value.ToString());
//}
int numLj = 0;
double wtLj = 0;
//if (!row.Cells["LjNum"].Value.ToString().Equals("0"))
//{
numLj = int.Parse(row.Cells["LjNum"].Value.ToString());
wtLj = double.Parse(row.Cells["LjWeight"].Value.ToString());
//}
//else
//{
// numLj = int.Parse(row.Cells["MatchNumIn"].Value.ToString());
// wtLj = double.Parse(row.Cells["MatchWtIn"].Value.ToString());
//}
//int batNum = 0;
//double batWt = 0;
//if (!row.Cells["CkNum"].Text.ToString().Equals(""))
//{
// batNum = int.Parse(row.Cells["CkNum"].Value.ToString());
// batWt = double.Parse(row.Cells["CkWeight"].Value.ToString());
//}
//int num = numz + numLj + batNum;
int num = numLj;
FrmBomConfirm frmBomConfirm = new FrmBomConfirm(ordLnDlyPk, proPlanId, gxPlanNo, this.ob, groupCic, cicGp, num);
frmBomConfirm.ShowDialog();
bool flag = frmBomConfirm.Flag;
if (flag) { Query(); }//如果有修改数据,则刷新页面
}
else if (e.Cell.Column.Key.Equals("Gradename"))
{
string exeStatus = row.GetValue("ExeStatus");
if (!exeStatus.Equals("计划") && !exeStatus.Equals("生产中"))
{
return;
}
string ordLnDlyPk = row.GetValue("OrdLnDlyPk");
string proPlanId = row.GetValue("ProPlanId");
string gxPlanNo = row.GetValue("GxPlanNo");
string gradeCode = row.GetValue("GradeCode");
if (gradeCode.Equals(""))
{
return;
}
string[] groupCic = null;
if (!row.GetValue("GradeCode").Equals(""))
{
groupCic = row.Cells["CicGroupGp"].Text.ToString().Split(',');
}
string cicGp = row.GetValue("CicGp");
int numz = 0;
double wtz = 0;
//if (!row.Cells["FurnaNum"].Text.ToString().Equals(""))
//{
// numz = int.Parse(row.Cells["FurnaNum"].Value.ToString());
// wtz = double.Parse(row.Cells["FurnaWeight"].Value.ToString());
//}
int numLj = 0;
double wtLj = 0;
//if (!row.Cells["LjNum"].Text.ToString().Equals(""))
//{
numLj = int.Parse(row.Cells["LjNum"].Value.ToString());
wtLj = double.Parse(row.Cells["LjWeight"].Value.ToString());
//}
//int batNum = 0;
//double batWt = 0;
//if (!row.Cells["CkNum"].Text.ToString().Equals(""))
//{
// batNum = int.Parse(row.Cells["CkNum"].Value.ToString());
// batWt = double.Parse(row.Cells["CkWeight"].Value.ToString());
//}
int num = numLj ;
FrmBomConfirm frmBomConfirm = new FrmBomConfirm(ordLnDlyPk, proPlanId, gxPlanNo, this.ob, groupCic, cicGp,num);
frmBomConfirm.ShowDialog();
bool flag = frmBomConfirm.Flag;
if (flag) { Query(); }//如果有修改数据,则刷新页面
}
else if (e.Cell.Column.Key.Equals("AfProLin"))
{
string proPlanId = row.GetValue("ProPlanId");
string afInfo = row.GetValue("AfInfo");
if (afInfo == null || afInfo.Length == 0) { return; }
FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "D", "Af", this.ob);
frmPreGxInfo.ShowDialog();
}
else if (e.Cell.Column.Key.Equals("DiameterMandrel"))
{
//InitDimaM(ugr.Cells["PlineCode"].Text.ToString().Trim(), ugr.Cells["PassCode"].Text.ToString().Trim(), ugr.Cells["Aimoutdiameter"].Text.ToString().Trim(), ugr.Cells["Aimwallthick"].Text.ToString().Trim());
FrmDiameterMandrel frmDm = new FrmDiameterMandrel(row.GetValue("PlineCode"), row.GetValue("PassCode"), row.GetValue("Aimoutdiameter"), row.GetValue("Aimwallthick"), this.ob);
frmDm.AutoSize = true;
//frmDm.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
frmDm.Text = "芯棒直径";
frmDm.ShowDialog();
if (frmDm.DialogResult == System.Windows.Forms.DialogResult.OK)
{
//获取弹出窗体的属性值
row.Cells["DiameterMandrel"].Value = frmDm.DiameterMandrel;
}
}
else if (e.Cell.Column.Key.Equals("ApplyNo"))
{
UndoApply();
}
else if (e.Cell.Column.Key.Equals("LengthdiscN"))
{
if (row.GetValue("ApplyStatus") == "审批通过" || row.GetValue("ApplyStatus") == "审批不通过")
{
MessageUtil.ShowTips("该合同:" + row.GetValue("OrderNo") + ",已" + row.GetValue("ApplyStatus") + ",不允许修改推荐长度描述!");
return;
}
string len = row.GetValue("LenNo");//合同长度编码
string LenNoN = row.GetValue("LenNoN");//推荐长度编码
frmOrderLenPln lenPln = new frmOrderLenPln(ob, len, LenNoN);
lenPln.ShowDialog();
if (lenPln.DialogResult == System.Windows.Forms.DialogResult.OK)
{
//获取弹出窗体的属性值
row.Cells["LenNoN"].Value = lenPln.LenNo;
row.Cells["LengthdiscN"].Value = lenPln.LengthdiscN;
}
}
}
///
/// 设置完成
///
private void SetPlanFinish()
{
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
bool flag = ProducHelper.SetPlanFinish(list, UserInfo.GetUserName(), "D", this.ob);
if (flag)
{
_ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
_GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
}
}
///
/// 调整单倍坯长
///
private void ModifyGpAimWall()
{
this.ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
if (entity.IsRepairPln.Equals("Y"))
{
MessageUtil.ShowTips("检修计划不能重算!");
return;
}
if (entity.LenCutend == null)
{
//entity.LenCutend = 0;
MessageUtil.ShowWarning("请输入切尾数据!");
return;
}
if (entity.LenCuthead == null)
{
//entity.LenCuthead = 0;
MessageUtil.ShowWarning("请输入切头数据!");
return;
}
if (entity.DiameterMandrel == null || entity.DiameterMandrel == 0)
{
MessageUtil.ShowWarning("未取到芯棒直径!");
return;
}
//不是外购管的判断
if (!entity.PlineCode.Equals("C065") && !entity.PlineCode.Equals("C072") && !entity.PlineCode.Equals("C066"))
{
//判断基础信息是否有切头尾数据
string cutPlineH = "";//切头
string cutPlineE = "";//切尾
DataTable dt = ServerHelper
.GetData("com.steering.pss.plnsaleord.order.CorePlnProcessOrd.queryBaseMaterialDPl", new object[] { entity.InwlId, entity.OutwlId, entity.PlineCode }, this.ob);
if (dt.Rows.Count > 0)
{
cutPlineH = dt.Rows[0]["CROP_HEAD"].ToString();
cutPlineE = dt.Rows[0]["CROP_END"].ToString();
}
if (cutPlineH == null || cutPlineH.Equals(""))
{
MessageUtil.ShowWarning("基础信息无投入产出物料对应切头数据,请维护!");
return;
}
if (cutPlineE == null || cutPlineE.Equals(""))
{
MessageUtil.ShowWarning("基础信息无投入产出物料对应切尾数据,请维护!");
return;
}
}
if (entity.TubeEndRatio == null)
{
entity.TubeEndRatio = 0;
}
int lenGpSingle = Convert.ToInt32(entity.LenGpSingle);
if (lenGpSingle % 10 != 0)
{
MessageUtil.ShowWarning("单倍坯长个位数不为0!");
return;
}
jsonList.Add(JSONFormat.Format(entity));
}
if (MessageUtil.ShowYesNoAndQuestion("是否重算?") == DialogResult.No)
{
return;
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "modifyGpAimWall";
ccp.ServerParams = new object[] { jsonList, "0" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null)
{
List message = (List)JsonConvert.DeserializeObject(
ccp.ReturnObject.ToString(), typeof(List));
if (message.Count == 0)
{
MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
+ message.Count + "条修改失败。");
}
else
{
MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
+ message.Count + "条修改失败。\n" + message[0]);
}
if (list.Count - message.Count>0)
{
Query();
}
}
}
}
///
/// 调整控制壁厚
///
private void ModifyThicknesWall()
{
this.ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
if (entity.IsRepairPln.Equals("Y"))
{
MessageUtil.ShowTips("检修计划不能调整控制壁厚!");
return;
}
jsonList.Add(JSONFormat.Format(entity));
}
if (MessageUtil.ShowYesNoAndQuestion("是否修改控制壁厚?") == DialogResult.No)
{
return;
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "modifyThicknesWall";
ccp.ServerParams = new object[] { jsonList,this.UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("调整控制壁厚成功!"))
{
Query();
}
}
///
/// 修改芯棒直接
///
private void UpdateDiameM()
{
try
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = new ArrayList();
//IQueryable checkRows = ultraGridZgS.Rows.AsQueryable().Where("CHC = 'True'");
ArrayList list1 = ProducHelper.GetChcRows(ultraGridZgS);
if (list1 == null || list1.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
foreach (PlnOrderZgSEntity entity in list1)
{
if (entity.IsRepairPln.Equals("Y"))
{
MessageUtil.ShowTips("检修计划不能调整芯棒!");
return;
}
if (entity.DiameterMandrel==null||entity.DiameterMandrel.Equals(""))
{
PlanComm.WaitFromColse(this.Cursor);
MessageUtil.ShowWarning("芯棒不能为空,请选择芯棒!");
return;
}
ArrayList param = new ArrayList();
param.Add(entity.ProPlanId);
param.Add(entity.GxPlanNo);
param.Add(entity.DiameterMandrel.ToString());
list.Add(param);
}
if (list.Count == 0)
{
PlanComm.WaitFromColse(this.Cursor);
MessageUtil.ShowTips("0条修改成功," + messageErr.Count + "条修改失败。\n" + messageErr[0]);
return;
}
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 = "updateDimaM";
ccp.ServerParams = new object[] { list };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("芯棒直径调整成功!"))
{
Query();
}
}
catch (Exception ex)
{
PlanComm.WaitFromColse(this.Cursor);
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
}
///
/// 重新计算
///
private void Recalculate()
{
try
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
if (entity.IsRepairPln.Equals("Y"))
{
MessageUtil.ShowTips("检修计划不能重新计算!");
return;
}
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "recalculate";
ccp.ServerParams = new object[] { jsonList };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("重新计算完成!"))
{
Query();
}
}
catch (Exception ex)
{
PlanComm.WaitFromColse(this.Cursor);
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
}
///
///修改排产月份
///
private void UpdateMonth()
{
try
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
entity.ProMonth = DateTime.Parse(entity.ProMonth.ToString()).ToString("yyyy-MM");
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "updateMonth";
ccp.ServerParams = new object[] { jsonList };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("调整成功!"))
{
//ArrayList list1 = ProducHelper.GetChcRows(ultraGridZgS);
//bool flag =InitDataMonth(list1, "D", this.ob);
//if (flag)
//{
// _ProPlanId = ((PlnOrderZgSEntity)list[0]).ProPlanId;
// _GxPlanNo = ((PlnOrderZgSEntity)list[0]).GxPlanNo;
Query();
//}
}
}
catch (Exception ex)
{
MessageUtil.ShowTips("请输入正确的时间格式!");
}
}
public static bool InitDataMonth(ArrayList entityList, string processCode, OpeBase ob)
{
if (entityList == null)
{
MessageUtil.ShowWarning("请选择订单!");
return false;
}
ArrayList jsonlist = new ArrayList();
foreach (Object obj in entityList)
{
ProducEntity entity = ProducHelper.GenerationProEntity(obj, processCode);
if (entity.IfStoveIssued.Equals("Y"))
{
MessageUtil.ShowWarning("订单编号(" + entity.ProPlanId + ") 炉计划下发!");
return false;
}
if (entity.PlanUseTime == null || entity.PlanUseTime.Equals(""))
{
MessageUtil.ShowWarning("计划耗时不能为空!");
return false;
}
jsonlist.Add(entity.JsonStr);
}
string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.initData", new object[] { jsonlist, processCode }, ob);
if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); return false; }
else
{
//MessageUtil.ShowTips(param[1]);
if ((bool.Parse(param[0]))) { return true; } else { return false; }
}
}
///
/// 申请审批
///
private void ApplyApproval()
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
if (entity.LenNoN == null)
{
MessageUtil.ShowTips("无推荐长度,不允许申请!");
return;
}
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "applyApproval";
ccp.ServerParams = new object[] { jsonList, this.UserInfo.GetUserName() };
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 UndoApply()
{
ultraGridZgS.UpdateData();
UltraGridRow ugrM = ultraGridZgS.ActiveRow;
if (ugrM == null)
{
return;
}
if (ugrM.Cells["ApplyNo"].Text.ToString().Equals(""))
{
MessageUtil.ShowTips("合同号:" + ugrM.Cells["OrderNo"].Value.ToString() + "未申请,不允许此操作!");
return;
}
ArrayList jsonList = new ArrayList();
jsonList.Add(ugrM.Cells["ApplyNo"].Value.ToString());
jsonList.Add(ugrM.Cells["OrdLnDlyPk"].Value.ToString());
jsonList.Add(ugrM.Cells["ProPlanId"].Value.ToString());
jsonList.Add(ugrM.Cells["GxPlanNo"].Value.ToString());
jsonList.Add(ugrM.Cells["LenNoN"].Value.ToString());
if (MessageUtil.ShowYesNoAndQuestion("是否撤销申请?") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "undoApplyApproval";
ccp.ServerParams = new object[] { jsonList };
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 ModifyBatter()
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
entity.OutsBilletFl.ToString();
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "modifyBatter";
ccp.ServerParams = new object[] { jsonList, this.UserInfo.GetUserName() };
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 ultraGridZgS_KeyUp(object sender, KeyEventArgs e)
{
PlanComm.setGridCopyActColumn(this.ultraGridZgS, "CHC", e,
"OutsBilletFl", "ProMonth");
}
///
/// 修改索引码
///
private void UpdateGroupGp()
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
entity.OutsBilletFl.ToString();
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "updateGroupGp";
ccp.ServerParams = new object[] { jsonList };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
Query();
}
}
///
/// 换bom 换钢种
///
///
///
private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
UltraGridRow row = ultraGridZgS.ActiveRow;
string exeStatus = row.GetValue("ExeStatus");
if (!exeStatus.Equals("计划") && !exeStatus.Equals("生产中"))
{
return;
}
string ordLnDlyPk = row.GetValue("OrdLnDlyPk");
string proPlanId = row.GetValue("ProPlanId");
string gxPlanNo = row.GetValue("GxPlanNo");
string gradeCode = row.GetValue("GradeCode");
string outSurst = "";
if (gradeCode.Equals(""))
{
return;
}
if (row.GetValue("OutsBilletFl").Equals("121801"))
{
outSurst = "1";//外购
}
else
{
outSurst = "0";//自炼
}
if (e.Button.Key.ToLower().Equals("0"))
{
if (outSurst.Equals("0"))
{
FrmGradeChoose frmgradeC = new FrmGradeChoose(outSurst, this.ob, ordLnDlyPk, proPlanId, gxPlanNo, gradeCode);
frmgradeC.ShowDialog();
if (frmgradeC.DialogResult == System.Windows.Forms.DialogResult.OK)
{
//获取弹出窗体的属性值
row.Cells["Gradename"].Value = frmgradeC.Gradename;
row.Cells["GradeCode"].Value = frmgradeC.Gradecode;
}
}
else
{
return;
}
}
else
{
string[] groupCic = null;
if (!row.GetValue("GradeCode").Equals(""))
{
groupCic = row.Cells["CicGroupGp"].Text.ToString().Split(',');
}
string cicGp = row.GetValue("CicGp");
//int numz = 0;
//double wtz = 0;
//if (!row.Cells["FurnaNum"].Text.ToString().Equals(""))
//{
// numz = int.Parse(row.Cells["FurnaNum"].Value.ToString());
// wtz = double.Parse(row.Cells["FurnaWeight"].Value.ToString());
//}
int numLj = 0;
double wtLj = 0;
//if (!row.Cells["LjNum"].Text.ToString().Equals(""))
//{
numLj = int.Parse(row.Cells["LjNum"].Value.ToString());
wtLj = double.Parse(row.Cells["LjWeight"].Value.ToString());
//}
//int batNum = 0;
//double batWt = 0;
//if (!row.Cells["CkNum"].Text.ToString().Equals(""))
//{
// batNum = int.Parse(row.Cells["CkNum"].Value.ToString());
// batWt = double.Parse(row.Cells["CkWeight"].Value.ToString());
//}
int num =numLj ;
FrmBomConfirm frmBomConfirm = new FrmBomConfirm(ordLnDlyPk, proPlanId, gxPlanNo, this.ob, groupCic, cicGp,num);
frmBomConfirm.ShowDialog();
bool flag = frmBomConfirm.Flag;
if (flag) { Query(); }//如果有修改数据,则刷新页面
}
}
///
/// 修改钢种
///
private void UpdateGradeCode()
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
entity.Gradecode.ToString();
entity.Gradename.ToString();
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.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "updateGradeCode";
ccp.ServerParams = new object[] { jsonList };
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 DeleteGperId()
{
ultraGridZgS.UpdateData();
IQueryable checkRows = ultraGridZgS.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList list = new ArrayList();
foreach (UltraGridRow ugr in checkRows)
{
ArrayList jsonList = new ArrayList();
if (!ugr.Cells["LjNum"].Text.ToString().Equals("") && !ugr.Cells["LjNum"].Value.ToString().Equals("0"))
{
MessageUtil.ShowTips("有LJ支吨不允许删除管坯需求号!");
return;
}
//if (!ugr.Cells["FurnaNum"].Text.ToString().Equals("") && !ugr.Cells["FurnaNum"].Value.ToString().Equals("0"))
//{
// MessageUtil.ShowTips("有装炉支吨不允许删除管坯需求号!");
// return;
//}
//if (!ugr.Cells["CkNum"].Text.ToString().Equals("") && !ugr.Cells["CkNum"].Value.ToString().Equals("0"))
//{
// MessageUtil.ShowTips("有出库支吨不允许删除管坯需求号!");
// return;
//}
jsonList.Add(ugr.Cells["ProPlanId"].Value.ToString());
jsonList.Add(ugr.Cells["GxPlanNo"].Value.ToString());
list.Add(jsonList);
}
if (MessageUtil.ShowYesNoAndQuestion("是否删除管坯需求号?") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "deleteGperId";
ccp.ServerParams = new object[] { list };
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 UpdateZz()
{
ultraGridZgS.UpdateData();
IQueryable checkRows = ultraGridZgS.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (UltraGridRow entity in checkRows)
{
ArrayList List = new ArrayList();
List.Add(entity.Cells["ProPlanId"].Value.ToString());
List.Add(entity.Cells["GxPlanNo"].Value.ToString());
jsonList.Add(List);
}
//if (MessageUtil.ShowYesNoAndQuestion("是否修改钢种?") == DialogResult.No)
//{
// return;
//}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "doUpdateZz";
ccp.ServerParams = new object[] { jsonList };
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 doTermination()
{
ArrayList messageErr = new ArrayList();
ultraGridZgS.UpdateData();
ArrayList list = ProducHelper.GetChcRows(ultraGridZgS);
if (list == null || list.Count == 0)
{
MessageUtil.ShowTips("请选择订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnOrderZgSEntity entity in list)
{
entity.Passive.ToString();
if (!entity.ExeStatus.Equals("计划"))
{
MessageUtil.ShowTips("订单不是计划状态不能关闭!");
return;
}
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 = "doTermination";
ccp.ServerParams = new object[] { jsonList, "D" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("终止成功!"))
{
Query();
}
}
}
}