using com.steering.pss.plnsaleord.GpOptimize.model;
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 CoreFS.CA06;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace Core.StlMes.Client.PlnSaleOrd
{
public partial class FrmPlnZgMStoGp : FrmBase
{
private UltraCombo groupCic = new UltraCombo();
private UltraCombo groupPic = new UltraCombo();
private UltraCombo groupSic = new UltraCombo();
private UltraCombo groupDic = new UltraCombo();
private int _splitterDistance1 = 0;
private bool _groupBox1ExpandedChanged = false;
private bool _groupBox2ExpandedChanged = false;
private int numCont = 0;
//DataTable dtlz = new DataTable();
DataTable dtdd = new DataTable();
private string proPlanIdSeq="";
public FrmPlnZgMStoGp()
{
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 "ModifyGpAimWall"://修改轧管投料
ModifyGpAimWall();
break;
case "SaveZgMsGpIc"://保存管坯标准项
SaveZgMsGpIc();
break;
case "updateZgMSWt"://修改需求总量 tzh 24.9.13
updateZgMSWt();
break;
case "DoAddGp"://新增管坯需求
DoAddGp();
break;
case "DeleteGpReq"://删除管坯
DeleteGpReq();
break;
case "DeleteGpSinZg"://撤销订单管坯
DeleteGpSinZg();
break;
case "ModifyGp"://保存管坯
DoModifyGp();
break;
case "ConfirmGp"://确认
DoConfirmGp();
break;
case "ConcelConfirmGp"://取消确认
DoConcelConfirmGp();
break;
case "RefresDate":
RefresDate();
break;
case "Walkthrough"://预排
DoWalkthrough();
break;
case "Export"://导出
Export();
break;
case "Analysis"://分析余量
DoAnalysis();
break;
case "BluntAllow"://冲余量
DoBluntAllow();
break;
case "Temporary"://临时确认
DoTemporary();
break;
case "Modify"://修改
DoModify();
break;
case "Close":
this.Close();
break;
default:
break;
}
}
///
/// 临时确认
///
private void DoTemporary()
{
ultraGridZgMs.UpdateData();
List listZgMs = new List();
IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("请勾选要确认的订单!");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity();
zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
listZgMs.Add(zgSEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "doTemporary";
ccp.ServerParams = new object[] { listZgMs };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("确认成功!"))
{
DoQuery();
}
}
private void Export()
{
//if (numCont == 0)
//{
// MessageUtil.ShowTips("请激活要导出的Grid!");
// return;
//}
//else if (numCont == 1)
//{
// GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息");
//}
//else if (numCont == 2) { GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息"); }
if (ultraTabControl1.SelectedTab.Key.Equals("0"))
{ GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息"); }
else
{
GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息");
}
}
private void FrmPlnZgMStoGp_Load(object sender, EventArgs e)
{
Init();
RefresDate();
}
private void Init()
{
this.Controls.Add(groupCic);
this.Controls.Add(groupPic);
this.Controls.Add(groupSic);
this.Controls.Add(groupDic);
groupCic.Visible = false;
groupPic.Visible = false;
groupSic.Visible = false;
groupDic.Visible = false;
PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "GPREQ_WEIGHT");//"CIC_GP", "PIC_GP", "SIC_GP", "DIC_GP"
PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC");
PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2,
"DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
"LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3,
"WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN");
PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0,
"NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM");
PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 2,
"LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE",
"LENGTH_ZZ" );
PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT",
"GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT");
PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 0,
"GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum");
ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_GP_SINGLE"].EditorComponent = ultraNumericSpLen;
//ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTHEAD"].EditorComponent = ultraNumericSpCut;
//ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTEND"].EditorComponent = ultraNumericSpCut;
ultraGridZgMs.DisplayLayout.Bands[0].Columns["AIMWALLTHICK"].EditorComponent = ultraNumericSpwall;
ultraGridZgMs.DisplayLayout.Bands[0].Columns["CRAFT_FILE_NO"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
ultraGridZgMs.DisplayLayout.Bands[0].Columns["GRADENAME"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
PlanComm.setGridActivation(ultraGrid2.DisplayLayout.Bands[0], "CHC");
PlanComm.setGridActivation(ultraGridGpProc.DisplayLayout.Bands[0], "CHC");
PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 2, "OUTDIAMETER",
"WALLTHICK", "LEN_ROLL_MAX", "LEN_ROLL_MIN", "AIMOUTDIAMETER", "AIMLENGTH",
"DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMWALLTHICK",
"LEN_GP_SINGLE", "LEN_CUTHEAD", "LEN_CUTEND", "TUBE_END_RATIO");
PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 3,
"WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN");
PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 0,
"NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP",
"LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE",
"LENGTH_ZZ");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT",
"GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0,
"GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum");
BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "Reall_WT", "GPREQ_WEIGHT"});
BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "Reall_NUM", "GPREQ_NUM" });
}
///
/// 刷新
///
private void RefresDate()
{
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpreqId",
new object[] { }, this.ob);
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProPlanId",
new object[] { }, this.ob);
DataTable dtPlineB = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline",
new object[] { "B" }, this.ob);
DataTable dtPlineC = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline",
new object[] { "C" }, this.ob);
DataTable dtInWl = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectDMaterial",
new object[] { }, this.ob);
ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].ValueList =
PlanComm.GeneralValuelist(ref dtInWl, "IN_MATERIAL_NO", "IN_MATERIAL_DESC");
ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].Style =
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].ValueList =
PlanComm.GeneralValuelist(ref dtPlineB, "PLINE_CODE", "PLINE_NAME");
ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].Style =
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].ValueList =
PlanComm.GeneralValuelist(ref dtPlineC, "PLINE_CODE", "PLINE_NAME");
ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].Style =
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultraGridGpProc.DisplayLayout.Bands[0].Columns["WT_ONE_ZZ"].Style =
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultraGridGpProc.DisplayLayout.Bands[0].Columns["DIAMETER_ZZ"].Style =
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
PlanComm.FillComBaseInfo(ultraComboProGpplanNo, dt1, "GPREQ_ID", "GPREQ_ID", true);
PlanComm.FillComBaseInfo(ultraComboZgMsplan, dt2, "PRO_PLAN_ID", "PRO_PLAN_ID", true);
}
///
/// 查询
///
private void Query()
{
//查所有订单号
//dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
//dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
if (ultraTabControl1.SelectedTab.Key.Equals("0"))
{
DoQuery();
}
else
{
//查所有订单号
dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
DoQueryGpReq();
}
}
///
/// 查询轧管排产订单
///
private void DoQuery()
{
string outs_billet_fl = "";
if (CustomInfo == "0")
{
outs_billet_fl = "0";
}
else if(CustomInfo == "1")
{
outs_billet_fl = "1";
}
else if (CustomInfo == "2")
{
outs_billet_fl = "1";
}
string raDButt = "0";
if (radioButton1.Checked)
{
raDButt = "0";
}
string zgMsPlanNo = "";
string proGpplanNo = "";
string ordHead = "";
string ordLine = "";
string proMonth = "";
string zgStrat = "";//确认状态
if (chcZgMsplanNo.Checked)
{
zgMsPlanNo = ultraComboZgMsplan.Text.Trim();
}
if (chcProGpplanNo.Checked)
{
proGpplanNo = ultraComboProGpplanNo.Text.Trim();
}
if (ultraCheckOrdLine.Checked)
{
string ordNoSeq = this.ultraTextOrdLine.Text.Trim();
PlnSaleOrderBase.parsOrdNoSeq(ordNoSeq, out ordHead, out ordLine);
}
if (this.ultraCheckProMonth.Checked)
{
proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM");
}
if (this.ultraCheckEditor1.Checked)
{
zgStrat = this.comZgStrat.Value.ToString();
}
//if (!zgStrat.Equals("1") && proMonth.Equals(""))
//{
// MessageUtil.ShowTips("轧管确认状态不是已确认,必须选择生产年月!");
// return;
//}
string gpReID = "";
if (ultraCheckEditor2.Checked)
{
gpReID = "1";
}
DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPln",
new object[] { zgMsPlanNo, ordHead, ordLine, proMonth, zgStrat, outs_billet_fl, gpReID, CustomInfo }, this.ob);
GridHelper.CopyDataToDatatable(dtMs, dataTable1, true);
#region 赋值LJ,装炉,出库
foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
{
//int numz = 0;
//double wtz = 0;
int numLj = 0;
double wtLj = 0;
//int batNum = 0;
//double batWt = 0;
//if (dtlz.Rows.Count > 0)
//{
// DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
// if (drs != null && drs.Length > 0)
// {
// if (!drs[0]["装炉支"].ToString().Equals(""))
// {
// ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
// ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
// numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
// wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
// }
// else
// {
// numz = 0;
// wtz = 0;
// }
// if (!drs[0]["LJ支"].ToString().Equals(""))
// {
// ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
// ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
// numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
// wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
// }
// else
// {
// numLj = 0;
// wtLj = 0;
// }
// if (!drs[0]["出库支"].ToString().Equals(""))
// {
// ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
// ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
// batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
// batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
// }
// else
// {
// batNum = 0;
// batWt = 0;
// }
// }
//}
//if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
//{
// batNum = 0;
// batWt = 0;
//}
//else
//{
// batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
// batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
//}
//if (ugr.Cells["LjNum"].Value.Equals("0"))
//{
// numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
// wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
//}
//else
//{
numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
//}
int gpNum = 0;
double gpWt = 0;
double gpWtMin = 0;
if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
{
gpNum = 0;
gpWt = 0;
gpWtMin = 0;
}
else
{
gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
}
double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
//if (gpNum - batNum - numz - numLj - matcInNum < 0)
//{
// ugr.Cells["Reall_NUM"].Value = "0";
// ugr.Cells["Reall_WT"].Value = "0";
// ugr.Cells["Reall_WT_MIN"].Value = 0;
//}
//else
//{
// ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj).ToString();
// ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj).ToString();
// ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj).ToString();
//}
if (gpNum - numLj <= 0)
{
ugr.Cells["Reall_NUM"].Value = "0";
ugr.Cells["Reall_WT"].Value = "0";
ugr.Cells["Reall_WT_MIN"].Value = 0;
}
else
{
ugr.Cells["Reall_NUM"].Value = (gpNum-numLj).ToString();
ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
if (gpWtMin - wtLj <= 0)
{
ugr.Cells["Reall_WT_MIN"].Value = 0;
}
else
{
ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString();
}
}
if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString()))
{
ugr.Activate();
}
}
#endregion
ultraGridZgMs.UpdateData();
if (radioButton1.Checked)
{
dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
DataTable dt = dataTable1.DefaultView.ToTable();
_data1 = dataTable1.Copy();
GridHelper.CopyDataToDatatable(dt, dataTable1, true);
foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
{
if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString()))
{
ugr.Activate();
}
}
}
}
///
/// 查询轧管排产订单
///
private void DoQueryZg(string gperqId,ArrayList list)
{
DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPlnZ",
new object[] { gperqId, list }, this.ob);
GridHelper.CopyDataToDatatable(dtMs, dataTable3, true);
//dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
//int numz = 0;
//double wtz = 0;
int numLj = 0;
double wtLj = 0;
//int batNum = 0;
//double batWt = 0;
//if (dtlz.Rows.Count > 0)
//{
// DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
// if (drs != null && drs.Length > 0)
// {
// if (!drs[0]["装炉支"].ToString().Equals(""))
// {
// ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
// ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
// numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
// wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
// }
// else
// {
// numz = 0;
// wtz = 0;
// }
// if (!drs[0]["LJ支"].ToString().Equals(""))
// {
// ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
// ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
// numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
// wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
// }
// else
// {
// numLj = 0;
// wtLj = 0;
// }
// if (!drs[0]["出库支"].ToString().Equals(""))
// {
// ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
// ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
// batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
// batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
// }
// else
// {
// batNum = 0;
// batWt = 0;
// }
// }
//}
//if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
//{
// batNum = 0;
// batWt = 0;
//}
//else
//{
// batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
// batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
//}
// if (ugr.Cells["LjNum"].Value.Equals("0"))
//{
// numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
// wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
//}
//else
//{
numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
//}
int gpNum = 0;
double gpWt = 0;
double gpWtMin = 0;
if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
{
gpNum = 0;
gpWt = 0;
gpWtMin = 0;
}
else
{
gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
}
double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
//if (gpNum - batNum - numz - numLj - matcInNum < 0)
//{
// ugr.Cells["Reall_NUM"].Value = "0";
// ugr.Cells["Reall_WT"].Value = "0";
//}
//else
//{
// ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj - matcInNum).ToString();
// ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj - matcInWt).ToString();
// ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj - matcInWt).ToString();
//}
if (gpNum - numLj <= 0)
{
ugr.Cells["Reall_NUM"].Value = "0";
ugr.Cells["Reall_WT"].Value = "0";
ugr.Cells["Reall_WT_MIN"].Value = 0;
}
else
{
ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString();
ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
if (gpWtMin - wtLj <= 0)
{
ugr.Cells["Reall_WT_MIN"].Value = 0;
}
else
{
ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString();
}
}
}
}
///
/// 查询管坯需求
///
private void DoQueryGpReq(string gpreqId, ArrayList list)
{
DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPln",
new object[] { gpreqId, list }, this.ob);
GridHelper.CopyDataToDatatable(dtGp, dataTable2, true);
////查所有订单号
//DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
//dtlz= ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
{
if (dtdd.Rows.Count > 0)
{
DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'");
int num = 0;
double weghit = 0;
int numLj = 0;
double weghitLj = 0;
if (drId != null && drId.Length > 0)
{
for (int i = 0; i < drId.Length; i++)
{
//if (dtlz.Rows.Count > 0)
//{
// DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'");
// if (drs != null && drs.Length > 0)
// {
if (!drId[i]["FURNA_NUM"].ToString().Equals(""))
{
num += int.Parse(drId[0]["FURNA_NUM"].ToString());
weghit += double.Parse(drId[0]["FURNA_WEIGHT"].ToString());
}
if (!drId[i]["LJ_NUM"].ToString().Equals(""))
{
numLj += int.Parse(drId[0]["LJ_NUM"].ToString());
weghitLj += double.Parse(drId[0]["LJ_WEIGHT"].ToString());
}
// }
//}
}
}
ugr.Cells["FurnNum"].Value = num.ToString();
ugr.Cells["FurnWt"].Value = weghit.ToString();
ugr.Cells["LjNum"].Value = numLj.ToString();
ugr.Cells["LjWeight"].Value = weghitLj.ToString();
}
if (!ugr.Cells["GPTYPE"].Text.ToString().Trim().Equals("锻坯"))
{
ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent;
ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent;
ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent;
ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly;
ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent;
}
}
else
{
ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly;
ugr.Cells["DIAMETER_ZZ"].Appearance.BackColor = Color.Transparent;
ugr.Cells["PLINE_CODE_ZZ"].Activation = Activation.ActivateOnly;
ugr.Cells["PLINE_CODE_ZZ"].Appearance.BackColor = Color.Transparent;
ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent;
ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly;
ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent;
ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent;
ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly;
ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent;
}
}
}
///
/// 查询管坯需求信息
///
private void DoQueryGpReq()
{
string outs_billet_fl = "";
if (CustomInfo == "0")
{
outs_billet_fl = "0";
}
else
{
outs_billet_fl = "1";
}
//执行状态
string[] statusArr = userControlGpStrat1.statusArr;
string proGpplanNo = "";
if (chcProGpplanNo.Checked)
{
proGpplanNo = ultraComboProGpplanNo.Text.Trim();
}
string proMonth = "";
if (this.ultraCheckProMonth.Checked)
{
proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM");
}
DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPlnP",
new object[] { proGpplanNo, statusArr, proMonth, outs_billet_fl, CustomInfo }, this.ob);
GridHelper.CopyDataToDatatable(dtGp, dataTable4, true);
//dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
foreach (UltraGridRow ugr in ultraGridGpProc.Rows)
{
if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
{
if (dtdd.Rows.Count > 0)
{
DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'");
int num = 0;
double weghit = 0;
int numLj = 0;
double weghitLj = 0;
if (drId != null && drId.Length > 0)
{
for (int i = 0; i < drId.Length; i++)
{
//if (dtlz.Rows.Count > 0)
//{
// DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'");
// if (drs != null && drs.Length > 0)
// {
if (!drId[i]["FURNA_NUM"].ToString().Equals(""))
{
num += int.Parse(drId[i]["FURNA_NUM"].ToString());
weghit += double.Parse(drId[i]["FURNA_WEIGHT"].ToString());
}
if (!drId[i]["LJ_NUM"].ToString().Equals(""))
{
numLj += int.Parse(drId[i]["LJ_NUM"].ToString());
weghitLj += double.Parse(drId[i]["LJ_WEIGHT"].ToString());
}
// }
//}
}
}
ugr.Cells["FurnNum"].Value = num.ToString();
ugr.Cells["FurnWt"].Value = weghit.ToString();
ugr.Cells["LjNum"].Value = numLj.ToString();
ugr.Cells["LjWeight"].Value = weghitLj.ToString();
}
}
}
}
///
/// 调整单倍坯长和控制壁厚
///
private void ModifyGpAimWall()
{
this.ultraGridZgMs.UpdateData();
this.ultraGridZgMs.Update();
ArrayList list = new ArrayList();
IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何行!");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
//double lenGpSingle = 0;
//double aimwallthick = 0;
//double lenCuthead = 0;
//double lenCutend = 0;
//double.TryParse(ugr.Cells["LEN_GP_SINGLE"].Value.ToString(), out lenGpSingle);
//double.TryParse(ugr.Cells["AIMWALLTHICK"].Value.ToString(), out aimwallthick);
//double.TryParse(ugr.Cells["LEN_CUTHEAD"].Value.ToString(), out lenCuthead);
//double.TryParse(ugr.Cells["LEN_CUTEND"].Value.ToString(), out lenCutend);
//if (ugr.Cells["LEN_CUTHEAD"].Text.Equals(""))
//{
// MessageUtil.ShowTips("请输入切头数据!");
// return;
//}
//if (ugr.Cells["LEN_CUTEND"].Text.Equals(""))
//{
// MessageUtil.ShowTips("请输入切尾数据!");
// return;
//}
zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
//zgSentity.LenGpSingle = lenGpSingle.ToString();
//zgSentity.Aimwallthick = aimwallthick.ToString();
//zgSentity.LenCuthead = lenCuthead.ToString();
//zgSentity.LenCutend = lenCutend.ToString();
zgSentity.InwlId = ugr.Cells["INWL_ID"].Value.ToString();
zgSentity.InwlDesc = ugr.Cells["INWL_ID"].Text.Trim();
zgSentity.CicGp = ugr.Cells["CIC_GP"].Text.Trim();
zgSentity.OutwlId = ugr.Cells["OUTWL_ID"].Value.ToString();
list.Add(JSONFormat.Format(zgSentity));
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "modifyGpAimWall";
ccp.ServerParams = new object[] { list, "1" };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
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)
{
DoQuery();
}
}
}
///
/// 查询管坯成分、材质、公差、探伤标准
///
private void getGpIcList()
{
UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
if (ugr == null)
{
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList",
new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
if (dt == null || dt.Rows.Count < 0)
{
return;
}
DataTable dtCic = null;
DataTable dtPic = null;
DataTable dtSic = null;
DataTable dtDic = null;
DataRow dr = dt.Rows[0];
string[] listCic = dr["CIC"].ToString().Split(',');
string[] listPic = dr["PIC"].ToString().Split(',');
string[] listSic = dr["SIC"].ToString().Split(',');
string[] listDic = dr["DIC"].ToString().Split(',');
List list = new List();
for (int i = 0; i < listCic.Length; i++)
{
list.Add(listCic[i].Trim());
}
string gradecode = ugr.Cells["GRADECODE"].Value.ToString();
if (ugr.Cells["GRADECODE"].Value.ToString().Equals(""))
{
gradecode = dr["GRADECODE"].ToString();
}
if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals("")))
{
dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade",
new object[] { gradecode, list.ToArray() }, this.ob);
}
if (listPic.Count() > 1 || (listPic.Count() == 1 && !listPic[0].Equals("")))
{
dtPic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenPic",
new object[] { listPic }, this.ob);
}
if (listSic.Count() > 1 || (listSic.Count() == 1 && !listSic[0].Equals("")))
{
dtSic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenSic",
new object[] { listSic }, this.ob);
}
if (listDic.Count() > 1 || (listDic.Count() == 1 && !listDic[0].Equals("")))
{
dtDic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenDic",
new object[] { listDic }, this.ob);
}
groupCic.DataSource = dtCic;
groupCic.ValueMember = "CIC";
groupCic.DisplayMember = "CIC";
ugr.Cells["CIC_GP"].EditorComponent = groupCic;
groupPic.DataSource = dtPic;
groupPic.ValueMember = "PIC";
groupPic.DisplayMember = "PIC";
ugr.Cells["PIC_GP"].EditorComponent = groupPic;
groupSic.DataSource = dtSic;
groupSic.ValueMember = "SIC";
groupSic.DisplayMember = "SIC";
ugr.Cells["SIC_GP"].EditorComponent = groupSic;
groupDic.DataSource = dtDic;
groupDic.ValueMember = "DIC";
groupDic.DisplayMember = "DIC";
ugr.Cells["DIC_GP"].EditorComponent = groupDic;
}
///
/// 修改坯料需求重量 TZH 24.9.13
///
private void updateZgMSWt()
{
ultraGridZgMs.UpdateData();
List list = new List();
IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何行!");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
//实体类里面没有写GpreqWeight字段 暂时不改实体类 那个字段来接收下 TZH 24.9.13
zgSentity.MatchWtIn = ugr.Cells["GPREQ_WEIGHT"].Value.ToString();
list.Add(zgSentity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "updateZgMSWt";
ccp.ServerParams = new object[] { list,UserInfo.GetUserName() };
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){
DoQuery();
}
}
}
}
///
/// 保存轧管订单管坯标准
///
private void SaveZgMsGpIc()
{
ultraGridZgMs.UpdateData();
List list = new List();
IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何行!");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
zgSentity.CicGp = ugr.Cells["CIC_GP"].Value.ToString();
zgSentity.PicGp = ugr.Cells["PIC_GP"].Value.ToString();
zgSentity.SicGp = ugr.Cells["SIC_GP"].Value.ToString();
zgSentity.DicGp = ugr.Cells["DIC_GP"].Value.ToString();
zgSentity.WicGp = ugr.Cells["WIC_GP"].Value.ToString();
zgSentity.GicGp = ugr.Cells["GIC_GP"].Value.ToString();
list.Add(zgSentity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "saveZgMsGpIc";
ccp.ServerParams = new object[] { list };
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){
DoQuery();
}
}
}
}
///
/// 查找具有相同管坯成分标准可选项的订单
///
private void FindSameCic()
{
UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
if (ugr == null)
{
return;
}
ultraGridZgMs.UpdateData();
if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals(""))
{
foreach (UltraGridRow uRow in ultraGridZgMs.Rows)
{
uRow.Cells["CHC"].Value = false;
uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
}
return;
}
string cicGp = ugr.Cells["CIC_GP"].Value.ToString();
if (cicGp.Equals(""))
{
foreach (UltraGridRow uRow in ultraGridZgMs.Rows)
{
uRow.Cells["CHC"].Value = false;
uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
}
return;
}
IEnumerable uRows = ultraGridZgMs.Rows.Where(
a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
IEnumerable otherRows = ultraGridZgMs.Rows.Where(
a => !a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
foreach (UltraGridRow uRow in uRows)
{
uRow.Cells["CHC"].Value = true;
uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 100, 0);
}
foreach (UltraGridRow uRow in otherRows)
{
uRow.Cells["CHC"].Value = false;
uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
}
}
///
/// 使具有相同管坯成分标准可选项的订单管坯内控标准项都相同
///
private void setSameCicGp()
{
UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
if (ugr == null)
{
return;
}
ultraGridZgMs.UpdateData();
if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals(""))
{
return;
}
string cicGp = ugr.Cells["CIC_GP"].Value.ToString();
string picGp = ugr.Cells["PIC_GP"].Value.ToString();
string sicGp = ugr.Cells["SIC_GP"].Value.ToString();
string dicGp = ugr.Cells["DIC_GP"].Value.ToString();
string wicGp = ugr.Cells["WIC_GP"].Value.ToString();
string gicGp = ugr.Cells["GIC_GP"].Value.ToString();
if (cicGp.Equals(""))
{
return;
}
IEnumerable uRows = ultraGridZgMs.Rows.Where(
a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
foreach (UltraGridRow uRow in uRows)
{
uRow.Cells["CIC_GP"].Value = cicGp;
uRow.Cells["PIC_GP"].Value = picGp;
uRow.Cells["SIC_GP"].Value = sicGp;
uRow.Cells["DIC_GP"].Value = dicGp;
uRow.Cells["WIC_GP"].Value = wicGp;
uRow.Cells["GIC_GP"].Value = gicGp;
}
}
///
/// 新增管坯需求
///
private void DoAddGp()
{
ultraGridZgMs.UpdateData();
ArrayList list = new ArrayList();
ArrayList messageErr = new ArrayList();
Dictionary> dectionay =
new Dictionary>();
IQueryable urows = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (urows.Count() == 0)
{
return;
}
string ifxl="";
int offlinePro = urows.GroupBy(a => a.GetValue("SUPPLY_UNIT_CODE")).Count();
if(this.CustomInfo != "0")
{
if (offlinePro > 1)
{
MessageUtil.ShowTips("只有同制造商的订单信息,才能进行合并新增管坯需求!");
return;
}
}
if (urows.Count() > 1)
{
int s = 0;
foreach (UltraGridRow urow in urows)
{
if (urow.Cells["TYPE_FLAG"].Text.ToString().Equals("双经销"))
{
s = s + 1;
}
}
if (s > 0)
{
MessageUtil.ShowTips("双经销订单不允许与其他订单合并新增管坯需求!");
return;
}
}
foreach (UltraGridRow urow in urows)
{
ifxl = urow.Cells["OUTS_BILLET_FL"].Text.ToString();
if (urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("") || urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("/"))
{
MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",计划未确认!");
return;
}
//if (urow.Cells["GPREQ_NUM"].Text.ToString().Equals("") || urow.Cells["GPREQ_NUM"].Text.ToString().Equals(""))
//{
// MessageBox.Show("需坯支不能为空或为零!");
// return;
//}
//if (urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals("") || urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals(""))
//{
// MessageBox.Show("需坯吨不能为空或为零!");
// return;
//}
//if (int.Parse(urow.Cells["Reall_NUM"].Text.ToString())<=0)
//{
// MessageBox.Show("管坯需坯支不能小于/等于零!");
// return;
//}
if (double.Parse(urow.Cells["Reall_WT"].Value.ToString()) <= 0)
{
MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",待冶炼吨不能小于/等于零!");
return;
}
PlnOrderZgSEntity zgSEntity = new PlnOrderZgSEntity();
zgSEntity.ProPlanId = urow.Cells["PRO_PLAN_ID"].Value.ToString();
zgSEntity.GxPlanNo = urow.Cells["GX_PLAN_NO"].Value.ToString();
zgSEntity.ReallNum = urow.Cells["Reall_NUM"].Value.ToString();
zgSEntity.ReallWt = urow.Cells["Reall_WT"].Value.ToString();
zgSEntity.ReallWtMin = urow.Cells["Reall_WT_MIN"].Value.ToString();
list.Add(zgSEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "getMergerGroup";
ccp.ServerParams = new object[] { list };
ccp = this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
if (ccp == null)
{
MessageBox.Show("服务端处理失败!");
return;
}
if (ccp.ReturnObject == null)
{
return;
}
List listSource = (List)JsonConvert.DeserializeObject(
ccp.ReturnObject.ToString(), typeof(List));
IQueryable listErr = listSource.AsQueryable().Where(a => a.Succeed == -1);
IQueryable param = listSource.AsQueryable().Where(a => a.Succeed != -1);
if (listErr.Count() != 0)
{
string questionShow = "共" + listSource.Count + "条订单,其中" + listErr.Count()
+ "条不能组管坯需求。\n(" + listErr.ToList()[0].Reason + ")\n"
+ "是否继续?";
if (MessageUtil.ShowQuestion(questionShow) == DialogResult.No)
{
return;
}
}
#region 不可合并的订单
////炼钢监制不合并组管坯需求
//IQueryable param = listReq.AsQueryable().Where(a => a.IfMonitorLg == "1");
//foreach (PlnZgSToGpEntity zgStoGp in param)
//{
// List listZgMS = new List();
// listZgMS.Add(zgStoGp);
// PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
// if (gpReqEntity != null)
// {
// dectionay.Add(gpReqEntity, listZgMS);
// }
//}
////外购坯不合并组管坯需求
//param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1"
// && a.Ifbuyplan == "1");
//foreach (PlnZgSToGpEntity zgStoGp in param)
//{
// List listZgMS = new List();
// listZgMS.Add(zgStoGp);
// PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
// if (gpReqEntity != null)
// {
// dectionay.Add(gpReqEntity, listZgMS);
// }
//}
#endregion
#region 按合并原则合并组管坯需求
//IQueryable param = listReq.AsQueryable().Where(a => a.Succeed==-1);
//param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1"
// && a.Ifbuyplan != "1");
var cout1 = param.GroupBy(a => a.InwlId);// 投入物料编码一致
foreach (var group1 in cout1)
{
IQueryable listGp1 = param.AsQueryable().Where(a => a.InwlId == group1.Key);
if (listGp1.Count() == 0)
{
continue;
}
var cout2 = listGp1.GroupBy(a => a.LenGpSingle);// 单倍坯长一致
foreach (var group2 in cout2)
{
IQueryable listGp2 = listGp1.AsQueryable().Where(a => a.LenGpSingle == group2.Key);
if (listGp2.Count() == 0)
{
continue;
}
var cout3 = listGp2.GroupBy(a => a.CicGp);// 钢种索引码一致
foreach (var group3 in cout3)
{
IQueryable listGp3 = listGp2.AsQueryable().Where(a => a.CicGp == group3.Key);
if (listGp3.Count() == 0)
{
continue;
}
var cout4 = listGp3.GroupBy(a => a.Ifbuyplan);// 是否自炼一致
foreach (var group4 in cout4)
{
IQueryable listGp4 = listGp3.AsQueryable().Where(a => a.Ifbuyplan == group4.Key);
if (listGp4.Count() == 0)
{
continue;
}
var cout5 = listGp4.GroupBy(a => a.IfMonitorLg);// 监制工序点一致
foreach (var group5 in cout5)
{
IQueryable listGp5 = listGp4.AsQueryable().Where(a => a.IfMonitorLg == group5.Key);
if (listGp5.Count() == 0)
{
continue;
}
var cout6 = listGp5.GroupBy(a => a.Process);// 炼钢、铸造、锻造制程一致
foreach (var group6 in cout6)
{
IQueryable listGp6 = listGp5.AsQueryable().Where(a => a.Process == group6.Key);
if (listGp6.Count() == 0)
{
continue;
}
var cout7 = listGp6.GroupBy(a => a.PicGp);// 连铸或锻造的理化索引码
foreach (var group7 in cout7)
{
IQueryable listGp7 = listGp6.AsQueryable().Where(a => a.PicGp == group7.Key);
if (listGp7.Count() == 0)
{
continue;
}
var cout8 = listGp7.GroupBy(a => a.SicGp);// 连铸或锻造的公差索引码
foreach (var group8 in cout8)
{
IQueryable listGp8 = listGp7.AsQueryable().Where(a => a.SicGp == group8.Key);
if (listGp8.Count() == 0)
{
continue;
}
var cout9 = listGp8.GroupBy(a => a.StationRoadLg);//电炉环节的真空脱气工序点
foreach (var group9 in cout9)
{
IQueryable listGp9 = listGp8.AsQueryable().Where(a => a.StationRoadLg == group9.Key);
if (listGp9.Count() == 0)
{
continue;
}
var cout10 = listGp9.GroupBy(a => a.Gradecode);//钢种一致
foreach (var group10 in cout10)
{
IQueryable listGp10 = listGp9.AsQueryable().Where(a => a.Gradecode == group10.Key);
if (listGp10.Count() == 0)
{
continue;
}
//判断是否自练
if (ifxl.Equals("外购"))
{
List listZgMS = listGp10.ToList();
PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
gpReqEntity.CreateName = this.UserInfo.GetUserName();
gpReqEntity.CreateTime = DateTime.Now.ToString();
if (gpReqEntity != null)
{
dectionay.Add(gpReqEntity, listZgMS);
}
}
else
{
var cout11 = listGp10.GroupBy(a => a.GowhereName);//轧管产线一致
foreach (var group11 in cout11)
{
IQueryable listGp11 = listGp10.AsQueryable().Where(a => a.GowhereName == group11.Key);
if (listGp11.Count() == 0)
{
continue;
}
List listZgMS = listGp11.ToList();
PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
gpReqEntity.CreateName = this.UserInfo.GetUserName();
gpReqEntity.CreateTime = DateTime.Now.ToString();
if (gpReqEntity != null)
{
dectionay.Add(gpReqEntity, listZgMS);
}
}
}
}
}
}
}
}
}
}
}
}
}
#endregion
int count = dectionay.Count();
if (count == 0)
{
return;
}
if (MessageUtil.ShowQuestion("将新建" + count + "条管坯需求,确认这样做吗?")
== DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
try
{
foreach (KeyValuePair> gpReqKV in dectionay)
{
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "addGpReqInf";
ccp.ServerParams = new object[] { gpReqKV.Key, gpReqKV.Value ,ifxl};
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1)
{
PlanComm.WaitFromColse(this.Cursor);
return;
}
else if (ccp.ReturnObject != null)
{
//PlanComm.WaitFromColse(this.Cursor);
messageErr.Add(ccp.ReturnObject.ToString());
}
}
}
catch (Exception)
{
PlanComm.WaitFromColse(this.Cursor);
}
PlanComm.WaitFromColse(this.Cursor);
if (messageErr.Count == 0)
{
MessageUtil.ShowTips(count + "条管坯需求新建成功,0条新建失败。");
}
else
{
MessageUtil.ShowTips((count - messageErr.Count) + "条管坯需求新建成功,"
+ messageErr.Count + "条新建失败。\n" + messageErr[0]);
}
if (count - messageErr.Count != 0) {
DoQuery();
}
}
///
/// 删除管坯需求
///
private void DeleteGpReq()
{
this.ultraGridGpProc.UpdateData();
ArrayList list = new ArrayList();
ArrayList messageErr = new ArrayList();
IQueryable ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何管坯需求。");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
//if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("外购"))
//{
// if (!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("编制")&&!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("生效"))
// {
// MessageUtil.ShowTips("该外购管坯需求外购坯状态不是编制和生效状态,不能撤销!");
// return;
// }
//}
//else
//{
// if (!ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("编制") && !ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("计划"))
// {
// MessageUtil.ShowTips("该自炼管坯需求状态不是编制和计划状态,不能撤销!");
// return;
// }
//}
list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "deleteGpReq";
ccp.ServerParams = new object[] { list };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null && !ccp.ReturnObject.Equals(""))
{
MessageUtil.ShowTips(ccp.ReturnObject.ToString());
}
else
{
MessageUtil.ShowTips("删除成功。");
}
}
DoQueryGpReq();
}
///
/// 撤销管坯需求部分轧管订单
///
private void DeleteGpSinZg()
{
ultraGridZgMs.UpdateData();
ArrayList messageErr = new ArrayList();
List listZgMs = new List();
IQueryable listErr = null;
IQueryable listReq = null;
IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("请勾选要撤回的订单!");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity();
zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
listZgMs.Add(zgSEntity);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "getZgMsStatus";
ccp.ServerParams = new object[] { listZgMs };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp == null)
{
MessageBox.Show("服务端处理失败!");
return;
}
if (ccp.ReturnObject == null)
{
return;
}
listZgMs = (List)JsonConvert.DeserializeObject(
ccp.ReturnObject.ToString(), typeof(List));
listErr = listZgMs.AsQueryable().Where(a => a.Succeed == -1);
listReq = listZgMs.AsQueryable().Where(a => a.Succeed != -1);
if (listErr.Count() != 0)
{
foreach (PlnZgSToGpEntity zgStoGp in listErr)
{
messageErr.Add(zgStoGp.Reason);
}
}
var groupGpID = listReq.GroupBy(a => a.GpreqId);
foreach (var gpReqId in groupGpID)
{
IQueryable listSinGpZgMs =
listReq.Where(a => a.GpreqId == gpReqId.Key);
if (listSinGpZgMs.Count() == 0)
{
continue;
}
List list = listSinGpZgMs.ToList();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "deleteGpReqZgMs";
ccp.ServerParams = new object[] { gpReqId.Key, list };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1)
{
return;
}
else if (ccp.ReturnObject != null && !ccp.ReturnObject.ToString().Equals(""))
{
messageErr.Add(ccp.ReturnObject.ToString());
}
}
if (messageErr.Count == 0)
{
MessageUtil.ShowTips(listZgMs.Count + "条订单撤销成功,0条订单撤销失败。");
}
else
{
MessageUtil.ShowTips((listZgMs.Count - messageErr.Count) + "条订单撤销成功,"
+ messageErr.Count + "条订单撤销失败。\n" + messageErr[0]);
}
DoQueryGpReq();
}
///
/// 修改管坯需求
///
private void DoModifyGp()
{
ArrayList list = new ArrayList();
IQueryable ugrs = null;
ultraGridGpProc.UpdateData();
ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何管坯需求。");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
string gptype = "";//管坯类型(1铸坯2锻坯)
if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯"))
{
gptype = "1";
}
else
{
gptype = "2";
}
string castingtype = "";//铸造类型(1连铸2模铸)
if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸"))
{
castingtype = "1";
}
else
{
castingtype = "2";
}
PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity();
reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString();
reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString();
reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString();
reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString();
reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString();
reqinfGpEntity.Gptype = gptype;
reqinfGpEntity.Castingtype = castingtype;
reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString();
reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString();
reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString();
reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString();
reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString();
reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString();
reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString();
reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString();
reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString();
reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString();
reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString();
list.Add(reqinfGpEntity);
}
if (MessageUtil.ShowQuestion("是否修改重算!")== DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "modifyGp";
ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null)
{
MessageUtil.ShowTips(ccp.ReturnObject.ToString());
}
}
DoQueryGpReq();
}
private void DoModify()
{
ArrayList list = new ArrayList();
IQueryable ugrs = null;
ultraGridGpProc.UpdateData();
ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何管坯需求。");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
string gptype = "";//管坯类型(1铸坯2锻坯)
if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯"))
{
gptype = "1";
}
else
{
gptype = "2";
}
string castingtype = "";//铸造类型(1连铸2模铸)
if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸"))
{
castingtype = "1";
}
else
{
castingtype = "2";
}
PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity();
reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString();
reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString();
reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString();
reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString();
reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString();
reqinfGpEntity.Gptype = gptype;
reqinfGpEntity.Castingtype = castingtype;
reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString();
reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString();
reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString();
reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString();
reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString();
reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString();
reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString();
reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString();
reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString();
reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString();
reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString();
list.Add(reqinfGpEntity);
}
if (MessageUtil.ShowQuestion("是否修改重算!") == DialogResult.No)
{
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "doModify";
ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null)
{
MessageUtil.ShowTips(ccp.ReturnObject.ToString());
}
}
DoQueryGpReq();
}
///
/// 管坯确认
///
private void DoConfirmGp()
{
ArrayList list = new ArrayList();
IQueryable ugrs = null;
ultraGridGpProc.UpdateData();
ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何管坯需求。");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "confirmGp";
ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null)
{
MessageUtil.ShowTips(ccp.ReturnObject.ToString());
}
}
DoQueryGpReq();
}
///
/// 取消确认
///
private void DoConcelConfirmGp()
{
ArrayList list = new ArrayList();
IQueryable ugrs = null;
ultraGridGpProc.UpdateData();
ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选任何管坯需求。");
return;
}
foreach (UltraGridRow ugr in ugrs)
{
list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "concelConfirmGp";
ccp.ServerParams = new object[] { list };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnObject != null)
{
MessageUtil.ShowTips(ccp.ReturnObject.ToString());
}
DoQueryGpReq();
}
}
///
/// 预排
///
private void DoWalkthrough()
{
string outs_billet_fl = "";
string yp = "";
if (CustomInfo == "0")
{
outs_billet_fl = "0";//自炼
yp = "自炼";
}
else
{
outs_billet_fl = "1";//外购
yp = "外购";
}
FrmWalktHrough wall = new FrmWalktHrough(this.ob,outs_billet_fl,this.CustomInfo);
wall.Text = yp+"预排";
wall.AutoSize = true;
wall.ShowDialog();
DoQueryGpReq();
}
///
/// 分析是否有余量可利
///
private void DoAnalysis()
{
UltraGridRow row = ultraGridZgMs.ActiveRow;
if (row == null) return;
int count = 0;
foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true && ugr.Cells["GPREQ_ID"].Text.Equals(""))
{
count++;
string ifMonitorLg = "0";
if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
{
ifMonitorLg = "1";
}
string outsBillFl = "0";
if (ugr.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
{
outsBillFl = "1";
}
string wholeBacklogDesc = "";
if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
{
string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
}
ArrayList list = new ArrayList();
list.Add(ugr.Cells["GRADECODE"].Value.ToString());
list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString());
list.Add(ugr.Cells["INWL_ID"].Value.ToString());
list.Add(ifMonitorLg);
list.Add(outsBillFl);
list.Add(wholeBacklogDesc);
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgPlnAnaly", new object[] { list }, this.ob);
if (dt.Rows.Count > 0)
{
if (double.Parse(dt.Rows[0]["GP_SYWEIGHT"].ToString()) > 0)
{
//ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
ugr.Cells["ALLOWANCE"].Value = dt.Rows[0]["GP_SYWEIGHT"].ToString();
ugr.Appearance.BackColor = Color.GreenYellow;
//ugr.Cells["GPREQ_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
}
}
}
ugr.Cells["CHC"].Value = false;
}
if (count == 0)
{
MessageUtil.ShowTips("请选择无管坯需求编号的轧管订单排产信息!");
return;
}
}
///
/// 冲余量
///
private void DoBluntAllow()
{
UltraGridRow ugr = ultraGridGpProc.ActiveRow;
if (ugr == null)
{
return;
}
ArrayList list1 = new ArrayList();
IQueryable ugrs = null;
ultraGrid2.UpdateData();
ugrs = ultraGrid2.Rows.AsQueryable().Where("CHC = 'True'");
if (ugrs.Count() == 0)
{
MessageUtil.ShowTips("未勾选轧管排产订单信息。");
return;
}
double reallWT = 0;
foreach (UltraGridRow urow in ugrs)
{
//if (urow.Cells["ALLOWANCE"].Text.Equals("") || urow.Cells["ALLOWANCE"].Value.Equals("0"))
//{
// MessageBox.Show("选择的轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",没有管坯余量不能进行此操作!");
// return;
//}
reallWT += double.Parse(urow.Cells["Reall_WT"].Value.ToString());
string ifMonitorLg = "0";
if (urow.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
{
ifMonitorLg = "1";
}
string outsBillFl = "0";
if (urow.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
{
outsBillFl = "1";
}
string wholeBacklogDesc = "";
if (!urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
{
string[] sArray = urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
}
ArrayList list = new ArrayList();
list.Add(urow.Cells["PRO_PLAN_ID"].Value.ToString());
list.Add(urow.Cells["GX_PLAN_NO"].Value.ToString());
list.Add(urow.Cells["GRADECODE"].Value.ToString());
list.Add(urow.Cells["LEN_GP_SINGLE"].Value.ToString());
list.Add(urow.Cells["INWL_ID"].Value.ToString());
list.Add(ifMonitorLg);
list.Add(outsBillFl);
list.Add(wholeBacklogDesc);
list.Add(urow.Cells["Reall_NUM"].Value.ToString());
list.Add(urow.Cells["Reall_WT"].Value.ToString());
list1.Add(list);
}
if (reallWT > double.Parse(ugr.Cells["GP_SYWEIGHT"].Value.ToString()))
{
MessageBox.Show("选择轧管订单管坯需求吨大于余量不能进行此操作!");
return;
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
ccp.MethodName = "doBluntAllow";
ccp.ServerParams = new object[] { list1 };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
PlanComm.WaitFromColse(this.Cursor);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("冲余量成功!"))
{
DoQueryGpReq();
}
}
///
/// 获取管坯信息
///
/// 组到同一管坯需求的轧管订单集合
///
private static PlnReqinfGpEntity getGpFromListZgMs(List listZgMS)
{
if (listZgMS == null || listZgMS.Count == 0)
{
return null;
}
PlnZgSToGpEntity zgStoGp = listZgMS[0];
PlnReqinfGpEntity gpReqEntity = new PlnReqinfGpEntity();
double weightGpOne = 0;//管坯米单重
double diameterGp = 0;//管坯断面
int gpreqnum = 0;//需求支
double gpreqWeight = 0;//需求吨
double gpreqWeightMin = 0;//需求吨Min
double lenGpSingle = 0;
//管坯需求信息
double.TryParse(zgStoGp.LenGpSingle,out lenGpSingle);
double.TryParse(zgStoGp.DiameterGp, out diameterGp);
foreach (PlnZgSToGpEntity zgMsEntity in listZgMS)
{
//int numZgMs = 0;
//int cutNum = 0;//单坯分切数
//int.TryParse(zgMsEntity.NumS, out numZgMs);
//int.TryParse(zgMsEntity.OutnumCut, out cutNum);
//if (cutNum > 0)
//{
// double fl = numZgMs / Convert.ToDouble(cutNum);
// gpreqnum += (int)Math.Ceiling(fl);
//}
//gpreqnum += int.Parse(zgMsEntity.GpreqNum);
//gpreqWeight += double.Parse(zgMsEntity.GpreqWeight);
gpreqnum += int.Parse(zgMsEntity.ReallNum);
gpreqWeight += double.Parse(zgMsEntity.ReallWt);
gpreqWeightMin += double.Parse(zgMsEntity.ReallWtMin);
}
weightGpOne = PlanComm.GpweightOfmi(diameterGp) * lenGpSingle / 1000;
gpReqEntity.IfMonitorLg = zgStoGp.IfMonitorLg;
gpReqEntity.PrdcrNo = zgStoGp.PrdcrNo;
gpReqEntity.Ifbuyplan = zgStoGp.Ifbuyplan;
gpReqEntity.Sic = zgStoGp.SicGp;
gpReqEntity.Dic = zgStoGp.DicGp;
gpReqEntity.Cic = zgStoGp.CicGp;
gpReqEntity.Pic = zgStoGp.PicGp;
gpReqEntity.Wic = zgStoGp.WicGp;
gpReqEntity.Gic = zgStoGp.GicGp;
gpReqEntity.MaterialNo = zgStoGp.InwlId;
gpReqEntity.MaterialName = zgStoGp.InwlDesc;
gpReqEntity.LenGpSingle = zgStoGp.LenGpSingle;
gpReqEntity.Gradecode = zgStoGp.Gradecode;
gpReqEntity.Gradename = zgStoGp.Gradename;
gpReqEntity.DiameterGp = zgStoGp.DiameterGp;
gpReqEntity.WeightGpOne = weightGpOne.ToString();
gpReqEntity.GpNum = gpreqnum.ToString();
gpReqEntity.GpWeight = gpreqWeight.ToString();
gpReqEntity.GpWeightMin = gpreqWeightMin.ToString();
gpReqEntity.GowhereCode = zgStoGp.GowhereCode;
gpReqEntity.GowhereName = zgStoGp.GowhereName;
gpReqEntity.SupplyUnit = zgStoGp.SupplyUnit;
gpReqEntity.SupplyUnitCode = zgStoGp.SupplyUnitCode;
gpReqEntity.TypeFlag = zgStoGp.TypeFlag;
//gpReqEntity.GpNum = numGp.ToString();
//gpReqEntity.GpWeight = Math.Round(numGp * weightGpOne, 3).ToString();
return gpReqEntity;
}
///
/// 获取轧管投料
///
private void getZgMsInMaterial()
{
UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
if (ugr == null)
{
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial",
new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(),
ugr.Cells["GX_PLAN_NO"].Value.ToString(), ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString() }, this.ob);
if (dt == null)
{
return;
}
//DataRow[] drs = dt.Select("SPEC_GP ='" + ugr.Cells["DIAMETER_GP"].Value.ToString() + "'");
//if (drs == null || drs.Length == 0) return;
//DataTable tmp = drs[0].Table.Clone(); // 复制DataRow的表结构
//foreach (DataRow row in drs)
//{
// tmp.ImportRow(row); // 将DataRow添加到DataTable中
//}
ugr.Cells["INWL_ID"].ValueList = PlanComm.GeneralValuelist(ref dt, "D_IN_MATERIAL_NO", "D_IN_MATERIAL_DESC");
}
#region 事件
private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
{
}
private void ultraGridZgMs_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
{
FindSameCic();
}
private void ultraGridZgMs_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.D)
{
setSameCicGp();
}
}
private void ultraGridZgMs_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = ultraGridZgMs.ActiveRow;
if (row == null) return;
getGpIcList();
getZgMsInMaterial();
string ifMonitorLg = "0";
if (row.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
{
ifMonitorLg = "1";
}
string outsBillFl = "0";
if (row.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
{
outsBillFl = "1";
}
string wholeBacklogDesc = "";
if (!row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
{
string[] sArray = row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
}
ArrayList list = new ArrayList();
list.Add(row.Cells["GRADECODE"].Value.ToString());
list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString());
list.Add(row.Cells["INWL_ID"].Value.ToString());
list.Add(ifMonitorLg);
list.Add(outsBillFl);
list.Add(wholeBacklogDesc);
DoQueryGpReq(row.Cells["GPREQ_ID"].Value.ToString(), list);
}
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
{
if (_groupBox1ExpandedChanged == false || _groupBox2ExpandedChanged == false)
{
_splitterDistance1 = splitContainer1.SplitterDistance;
//if (splitContainer1.SplitterDistance > 25)
//{
// ultraExpandableGroupBox1.Expanded = true;
//}
//else
//{
// ultraExpandableGroupBox1.Expanded = false;
//}
if (splitContainer1.SplitterDistance < splitContainer1.Parent.Height - 95)
{
ultraExpandableGroupBox2.Expanded = true;
}
else
{
ultraExpandableGroupBox2.Expanded = false;
}
}
}
//private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
//{
// _groupBox1ExpandedChanged = true;
// if (ultraExpandableGroupBox1.Expanded == false)
// {
// _groupBox2ExpandedChanged = true;
// ultraExpandableGroupBox2.Expanded = true;
// splitContainer1.SplitterDistance = 0;
// _groupBox2ExpandedChanged = false;
// }
// else
// {
// splitContainer1.SplitterDistance = _splitterDistance1;
// }
// _groupBox1ExpandedChanged = false;
//}
private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
{
_groupBox2ExpandedChanged = true;
if (ultraExpandableGroupBox2.Expanded == false)
{
_groupBox1ExpandedChanged = true;
//ultraExpandableGroupBox1.Expanded = true;
splitContainer1.SplitterDistance = this.Height;
_groupBox1ExpandedChanged = false;
}
else
{
splitContainer1.SplitterDistance = _splitterDistance1;
}
_groupBox2ExpandedChanged = false;
}
private void chcProGpplanNo_CheckedChanged(object sender, EventArgs e)
{
if (chcProGpplanNo.Checked)
{
ultraComboProGpplanNo.Enabled = true;
}
else
{
ultraComboProGpplanNo.Enabled = false;
}
}
private void chcZgMsplanNo_CheckedChanged(object sender, EventArgs e)
{
if (chcZgMsplanNo.Checked)
{
ultraComboZgMsplan.Enabled = true;
}
else
{
ultraComboZgMsplan.Enabled = false;
}
}
private void ultraCheckOrdLine_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckOrdLine.Checked)
{
this.ultraTextOrdLine.Enabled = true;
}
else
{
ultraTextOrdLine.Enabled = false;
}
}
private void ultraCheckProMonth_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckProMonth.Checked)
{
this.ultraDateTimeProMonth.Enabled = true;
}
else
{
ultraDateTimeProMonth.Enabled = false;
}
}
private void ultraGridZgMs_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGridZgMs.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHC"].Value = true;
}
}
}
private void ultraGridGpProc_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGridGpProc.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHC"].Value = true;
}
}
}
private void ultraGridGpProc_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGridGpProc.ActiveRow;
if (ugr == null)
{
return;
}
#region 获取铸造,锻造产线
//if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
//{
// if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯"))
// {
// DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
// new object[] { "" }, this.ob);
// if (dtSpec == null || dtSpec.Rows.Count == 0)
// {
// return;
// }
// ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER");
// }
// else
// {
// if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸"))
// {
// //DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt",
// //new object[] { "" }, this.ob);
// //if (dtSpec == null || dtSpec.Rows.Count == 0)
// //{
// // return;
// //}
// //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "WEIGHT", "WEIGHT");
// setValueListGp();
// }
// else
// {
// DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
// new object[] { "" }, this.ob);
// if (dtSpec == null || dtSpec.Rows.Count == 0)
// {
// return;
// }
// ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER");
// }
// }
//}
#endregion
//if (CustomInfo == "1")//外购
//{
string ifMonitorLg = "0";
if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
{
ifMonitorLg = "1";
}
string outsBillFl = "0";
if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("是"))
{
outsBillFl = "1";
}
//string wholeBacklogDesc = "";
//if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
//{
// string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
// wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
//}
ArrayList list = new ArrayList();
list.Add(ugr.Cells["CIC"].Value.ToString());
list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString());
list.Add(ugr.Cells["MATERIAL_NO"].Value.ToString());
list.Add(ifMonitorLg);
list.Add(outsBillFl);
list.Add(ugr.Cells["WHOLE_BACKLOG_DESC"].Value.ToString());
list.Add(ugr.Cells["PIC"].Value.ToString());
list.Add(ugr.Cells["SIC"].Value.ToString());
list.Add(ugr.Cells["STATION_ROAD_LG"].Value.ToString());
DoQueryZg(ugr.Cells["GPREQ_ID"].Value.ToString(), list);
//}
}
private void ultraGridZgMs_CellChange(object sender, CellEventArgs e)
{
UltraGridRow ugr = e.Cell.Row;
ugr.Update();
if (e.Cell.Column.Key.Equals("INWL_ID"))
{
ugr.Cells["INWL_DESC"].Value = ugr.Cells["INWL_ID"].Text;
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial",
new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(),
ugr.Cells["GX_PLAN_NO"].Value.ToString(),ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString()}, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
dt.DefaultView.RowFilter = "D_IN_MATERIAL_NO='" + ugr.Cells["INWL_ID"].Value.ToString() + "'";
DataTable dtFilter = dt.DefaultView.ToTable();
ugr.Cells["GRADECODE"].Value = dtFilter.Rows[0]["GRADECODE"].ToString();
ugr.Cells["GRADENAME"].Value = dtFilter.Rows[0]["GRADENAME"].ToString();
//ugr.Cells["DIAMETER_GP"].Value = dtFilter.Rows[0]["DIMATER"].ToString();
}
// DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList",
//new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
// if (dt1 == null || dt1.Rows.Count < 0)
// {
// return;
// }
DataTable dtCic = null;
// DataRow dr = dt1.Rows[0];
string[] listCic = ugr.Cells["CIC_GROUP_GP"].Value.ToString().Split(',');
//ArrayList list = new ArrayList();
//for (int i = 0; i < listCic.Length; i++)
//{
// list.Add(listCic[i].Trim());
//}
//listCic = list.ToArray();
if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals("")))
{
dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade",
new object[] { ugr.Cells["GRADECODE"].Value.ToString(), listCic }, this.ob);
}
groupCic.DataSource = dtCic;
groupCic.ValueMember = "CIC";
groupCic.DisplayMember = "CIC";
if (dtCic.Rows.Count > 0)
{
ugr.Cells["CIC_GP"].Value = dtCic.Rows[0]["CIC"].ToString();
}
getGpIcList();
}
}
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;
}
}
}
#endregion
///
/// 锻造规格
///
private void setValueListGp()
{
UltraGridRow ugr = ultraGridGpProc.ActiveRow;
if (ugr == null)
{
return;
}
ugr.Update();
if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯"))
{
DataTable dtSpec = null;
string spceCode = "";
string spceName = "";
string wlidZz = "";//铸造物料编码
string wldescZz = "";//铸造物料描述
dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
if (dtSpec == null || dtSpec.Rows.Count == 0)
{
return;
}
spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
////可选连铸坯规格
//DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
// new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob);
//ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER");
//铸造可选产线
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
if (dt1 == null || dt1.Rows.Count == 0)
{
ugr.Cells["PLINE_CODE_ZZ"].Value = "";
}
else
{
ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
}
ugr.Cells["WLID_ZZ"].Value = wlidZz;
ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly;
}
ugr.Update();
if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸"))
{
DataTable dtSpec = null;
string spceCode = "";
string spceName = "";
string wlidZz = "";//铸造物料编码
string wldescZz = "";//铸造物料描述
dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt",
new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
if (dtSpec == null || dtSpec.Rows.Count == 0)
{
return;
}
spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
wlidZz = "PD" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
wldescZz = "PD" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
//可选模铸锭型
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "模铸" }, this.ob);
ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "WEIGHT", "WEIGHT");
//铸造可选产线
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
//锻造可选产线
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline",
new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob);
ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME");
ugr.Cells["WLID_ZZ"].Value = wlidZz;
ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
//ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly;
//ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
}
else
{
DataTable dtSpec = null;
string spceCode = "";
string spceName = "";
string wlidZz = "";//铸造物料编码
string wldescZz = "";//铸造物料描述
dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
if (dtSpec == null || dtSpec.Rows.Count == 0)
{
return;
}
spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
////可选连铸坯规格
//DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
// new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob);
//ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER");
//铸造可选产线
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
if (dt1 == null || dt1.Rows.Count == 0)
{
ugr.Cells["PLINE_CODE_ZZ"].Value = "";
}
else
{
ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
}
//锻造可选产线
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline",
new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob);
ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME");
ugr.Cells["WLID_ZZ"].Value = wlidZz;
ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly;
}
}
/////
///// 管坯优化信息
/////
/////
/////
//private void ultraGridGpProc_Click(object sender, EventArgs e)
//{
// numCont = 2;
//}
/////
///// 轧管订单信息
/////
/////
/////
//private void ultraGridZgMs_Click(object sender, EventArgs e)
//{
// numCont = 1;
//}
//private void ultraGridZgMs_ClickCell(object sender, ClickCellEventArgs e)
//{
// numCont = 1;
//}
//private void ultraGridGpProc_ClickCell(object sender, ClickCellEventArgs e)
//{
// numCont = 2;
//}
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (toolMenu == null) return;
if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
{
if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; }
chcZgMsplanNo.Visible = true;
ultraComboProGpplanNo.Visible = false;
ultraCheckOrdLine.Visible = true;
ultraTextOrdLine.Visible = true;
ultraCheckEditor1.Visible = true;
comZgStrat.Visible = true;
chcProGpplanNo.Visible = false;
ultraComboZgMsplan.Visible = true;
userControlGpStrat1.Visible = false;
radioButton1.Visible = true;
ultraCheckEditor2.Visible = true;
}
else
{
if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.False; }
if (CustomInfo == "0")//自炼
{
if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
//ultraExpandableGroupBox1.Visible = false;
}
else
{
if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.True; }
//ultraExpandableGroupBox1.Visible = true;
}
//if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.True; }
chcZgMsplanNo.Visible = false;
ultraComboProGpplanNo.Visible = true;
ultraCheckOrdLine.Visible = false;
ultraTextOrdLine.Visible = false;
ultraCheckEditor1.Visible = false;
comZgStrat.Visible = false;
chcProGpplanNo.Visible = true;
ultraComboZgMsplan.Visible = false;
userControlGpStrat1.Visible = true;
radioButton1.Visible = false;
ultraCheckEditor2.Visible = false;
}
}
private void FrmPlnZgMStoGp_Shown(object sender, EventArgs e)
{
if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; }
chcZgMsplanNo.Visible = true;
ultraComboProGpplanNo.Visible = false;
ultraCheckOrdLine.Visible = true;
ultraTextOrdLine.Visible = true;
ultraCheckEditor1.Visible = true;
comZgStrat.Visible = true;
chcProGpplanNo.Visible = false;
ultraComboZgMsplan.Visible = true;
userControlGpStrat1.Visible = false;
radioButton1.Visible = true;
ultraCheckEditor2.Visible = true;
}
private void ultraGridZgMs_ClickCellButton(object sender, CellEventArgs e)
{
UltraGridRow row = ultraGridZgMs.ActiveRow;
if (e.Cell.Column.Key.Equals("CRAFT_FILE_NO"))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectCraftPath",
new object[] { row.GetValue("PRO_PLAN_ID"), row.GetValue("GX_PLAN_NO"), row.GetValue("CRAFT_FILE_NO"), row.GetValue("CRAFT_SEQ") }, this.ob);
if (dt.Rows.Count > 0)
{
string filePath = dt.Rows[0]["CRAFT_PATH"].ToString();
dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
askDown.Show();
}
}
else if (e.Cell.Column.Key.Equals("GRADENAME"))
{
if (!row.GetValue("GPREQ_ID").Equals(""))
{
MessageUtil.ShowTips("已生成管坯需求,不允许修改!");
return;
}
string ordLnDlyPk = row.GetValue("ORD_LN_DLY_PK");
string proPlanId = row.GetValue("PRO_PLAN_ID");
string gxPlanNo = row.GetValue("GX_PLAN_NO");
string gradeCode = row.GetValue("GRADECODE");
string gradeCodeAll = row.GetValue("GRADECODE_ALL");
string diameter = row.GetValue("DIAMETER_GP");
if (gradeCode.Equals(""))
{
return;
}
string[] groupCic = null;
if (!row.GetValue("GRADECODE").Equals(""))
{
groupCic = row.Cells["CIC_GROUP_GP"].Text.ToString().Split(',');
}
string cicGp = row.GetValue("CIC_GP");
string outsBilletfl = "";
if (CustomInfo == "0")
{
outsBilletfl = "0";
}
else
{
outsBilletfl = "1";
}
//int numz = 0;
//double wtz = 0;
//if (!row.Cells["FurnNum"].Text.ToString().Equals(""))
//{
// numz = int.Parse(row.Cells["FurnNum"].Value.ToString());
// wtz = double.Parse(row.Cells["FurnWt"].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["MATCH_NUM_IN"].Value.ToString());
// wtLj = double.Parse(row.Cells["MATCH_WT_IN"].Value.ToString());
//}
//int batNum = 0;
//double batWt = 0;
//if (!row.Cells["OUT_NUM"].Text.ToString().Equals(""))
//{
// batNum = int.Parse(row.Cells["OUT_NUM"].Value.ToString());
// batWt = double.Parse(row.Cells["OUT_WT"].Value.ToString());
//}
//int num = numz + numLj + batNum;
int num =numLj;
FrmChangeGrade frmBomConfirm = new FrmChangeGrade(outsBilletfl, proPlanId, gxPlanNo, this.ob, groupCic, cicGp, gradeCodeAll, diameter,num);
frmBomConfirm.ShowDialog();
bool flag = frmBomConfirm.Flag;
if (flag) { proPlanIdSeq = proPlanId + gxPlanNo; DoQuery(); }//如果有修改数据,则刷新页面
}
}
private DataTable _data1;
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
ultraGridZgMs.UpdateData();
//ultraGridZgMs.DataSource = dataTable1.DefaultView;
if (radioButton1.Checked)
{
dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
DataTable dt = dataTable1.DefaultView.ToTable();
_data1 = dataTable1.Copy();
GridHelper.CopyDataToDatatable(dt, dataTable1, true);
}
else
{
GridHelper.CopyDataToDatatable(_data1, dataTable1, true);
}
ultraGridZgMs.Refresh();
ultraGridZgMs.Update();
}
}
}