using Core.Mes.Client.Comm;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
using Core.StlMes.Client.PlnSaleOrd.工序排产.entity;
using CoreFS.CA06;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Core.StlMes.Client.PlnSaleOrd.工序排产
{
public partial class FrmProdSchAmount : FrmBase
{
private string[] plineCode = null;//获取产线代码
public FrmProdSchAmount()
{
InitializeComponent();
}
private void FrmProdSchAmount_Load(object sender, EventArgs e)
{
BaseHelper.setOtherColumnReadOnly(ultraGridZgS, new string[] { "CHC", "AmountNum", "BilletWeight" });
BaseHelper.setOtherColumnReadOnly(entityGrid1, new string[] { "CHC" });
BaseHelper.setOtherColumnReadOnly(entityGrid2, new string[] { "CHC" });
BaseHelper.setColumnBackColor(ultraGridZgS, new string[] { "AmountNum", "BilletWeight" });
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","OutdiameterZg","WallthickZg","DifTime","GpreqNum","GpreqWeight","TubeEndRatio","WeigthSMin","PlansNum","TimeDiffer","AfProNum","AmountDifference","AmountNum","AmountWet","BilletWeight" });
BaseHelper.setUltraGridColumnMaxInput(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight", "InWeightS", "AddWtIn", "MatchWtIn", "BatchedWt", "AmountDifference", "AmountWet", "BilletWeight" });
plineCode = PlanHelper.InitDropPlinePower("D", comPline, this.ValidDataPurviewIds, this.ob);
PlanHelper.InitEditGroup("1218", ultraGridZgS, this, "OutsBilletFl");
PlanHelper.InitEditGroup("1219", ultraGridZgS, this, "OutsStlPipeFl");
InitColorStyle();
}
private void InitColorStyle()
{
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["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["Aimoutdiameter"].EditorComponent = uneArr[0];
ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimwallthick"].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];
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query"://查询
if (ultraTabControl1.SelectedTab.Key.Equals("0"))
{
Query();
}
else
{
QueryBl();
}
break;
case "Delete"://删除
DoDelete();
break;
case "Add"://补量
DoAdd();
break;
case "Close": //关闭
this.Close();
break;
default:
break;
}
}
///
/// 查询
///
private void Query()
{
//产线
string comPlineCode = "";
if (chcPline.Checked)
{
if (comPline.Text.Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
else
{
comPlineCode = comPline.Value.ToString();
}
}
WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
try
{
this.Cursor = Cursors.WaitCursor;
//执行状态
string[] statusArr = contorlPlanStatusBL1.statusArr;
//合同号
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.order.FrmProdSchAmount.query", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode }, this.ob);
plnOrderZgSEntityAmounBindingSource.DataSource = listSource;
foreach (UltraGridRow ugr in ultraGridZgS.Rows)
{
//if (!ugr.Cells["Finishweight"].Text.ToString().Equals(""))
//{
// ugr.Cells["AmountDifference"].Value = double.Parse(ugr.Cells["Finishweight"].Value.ToString()) - double.Parse(ugr.Cells["WeigthS"].Value.ToString());
//}
if (!ugr.Cells["GpreqNum"].Text.Equals("") &&!ugr.Cells["GpreqNum"].Text.ToString().Equals("0"))
{
ugr.Cells["BilletWeight"].Activation = Activation.ActivateOnly;
ugr.Cells["BilletWeight"].Appearance.BackColor = Color.Transparent;
}
}
}
finally
{
wf3.Close();
this.Cursor = Cursors.Default;
}
}
///
///补量信息
///
private void QueryBl()
{
//产线
string comPlineCode = "";
if (chcPline.Checked)
{
if (comPline.Text.Equals(""))
{
MessageUtil.ShowTips("请选择产线!");
return;
}
else
{
comPlineCode = comPline.Value.ToString();
}
}
WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
try
{
this.Cursor = Cursors.WaitCursor;
//执行状态
string[] statusArr = contorlPlanStatusBL1.statusArr;
//合同号
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryBl", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode }, this.ob);
bindingSource2.DataSource = listSource;
//foreach (UltraGridRow ugr in ultraGridZgS.Rows)
//{
// if (!ugr.Cells["Finishweight"].Text.ToString().Equals(""))
// {
// ugr.Cells["AmountDifference"].Value = double.Parse(ugr.Cells["Finishweight"].Value.ToString()) - double.Parse(ugr.Cells["WeigthS"].Value.ToString());
// }
//}
}
finally
{
wf3.Close();
this.Cursor = Cursors.Default;
}
}
///
/// 删除
///
private void DoDelete()
{
entityGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = this.entityGrid1.Rows.AsQueryable().Where(" CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未选择补量订单!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
ArrayList param = new ArrayList();
param.Add(UserInfo.GetUserName());
param.Add(uRow.Cells["GpreqNum"].Value.ToString());
param.Add(uRow.Cells["GpreqWeight"].Value.ToString());
param.Add(uRow.Cells["ProPlanId"].Value.ToString());
param.Add(uRow.Cells["GxPlanNo"].Value.ToString());
list.Add(param);
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.order.FrmProdSchAmount";
ccp.MethodName = "deleteAmount";
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("删除成功!"))
{
UltraGridRow ugrAc = ultraGridZgS.ActiveRow;
if (ugrAc == null)
{
return;
}
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob);
bindingSource1.DataSource = listSource;
}
}
///
/// 补量
///
private void DoAdd()
{
try
{
ultraGridZgS.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = this.ultraGridZgS.Rows.AsQueryable().Where(" CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未选择轧管订单!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
if (uRow.Cells["AmountNum"].Text.ToString().Equals(""))
{
MessageUtil.ShowTips("合同号为:" + uRow.Cells["OrderNo"].Value.ToString() + ",请输入补量支数!");
return;
}
if (uRow.Cells["AmountWet"].Text.ToString().Equals(""))
{
MessageUtil.ShowTips("合同号为:" + uRow.Cells["OrderNo"].Value.ToString() + ",请输入补量重量!");
return;
}
//重量与支数验证
//if (double.Parse(uRow.Cells["AmountWet"].Value.ToString()) <= 0 || int.Parse(uRow.Cells["AmountNum"].Value.ToString()) <= 1)
//{
// MessageUtil.ShowTips("合同号为:" + uRow.Cells["OrderNo"].Value.ToString() + ",补量需坯重量为0吨,支数小于或者等于1支!");
// return;
//}
ArrayList param = new ArrayList();
param.Add(UserInfo.GetUserName());
param.Add(uRow.Cells["AmountNum"].Value.ToString());
param.Add(uRow.Cells["AmountWet"].Value.ToString());
param.Add(uRow.Cells["ProPlanId"].Value.ToString());
param.Add(uRow.Cells["GxPlanNo"].Value.ToString());
param.Add(uRow.Cells["BilletWeight"].Value.ToString());
list.Add(param);
}
PlanComm.WaitFromOpen(this.Cursor);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.order.FrmProdSchAmount";
ccp.MethodName = "addAmount";
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);
}
}
}
///
/// ultraGridZgS 改变事件
///
///
///
private void ultraGridZgS_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugrAc = ultraGridZgS.ActiveRow;
if (ugrAc == null)
{
return;
}
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob);
bindingSource1.DataSource = listSource;
}
private void FrmProdSchAmount_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("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; }
}
///
/// tab 改变事件
///
///
///
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("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; }
}
else
{
if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }
if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; }
if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; }
}
}
private void ultraGridZgS_CellChange(object sender, CellEventArgs e)
{
UltraGridRow ugrAc = ultraGridZgS.ActiveRow;
if (ugrAc == null)
{
return;
}
ultraGridZgS.UpdateData();
if (e.Cell.Column.Key.Equals("AmountNum"))
{
if (e.Cell.Row.Cells["GpreqNum"].Text.Equals("") || e.Cell.Row.Cells["GpreqNum"].Text.Equals("0"))
{
if (e.Cell.Row.Cells["BilletWeight"].Text.Equals("") || e.Cell.Row.Cells["BilletWeight"].Text.Equals("0.000"))
{
MessageUtil.ShowTips("请输入单倍坯重!");
return;
}
// MessageUtil.ShowTips("需坯支吨不能为空或为零!");
//e.Cell.Row.Cells["AmountNum"].Value = "0";
//e.Cell.Row.Cells["AmountWet"].Value = "0";
//return;
}
if (e.Cell.Row.Cells["AmountNum"].Value == null)
{
e.Cell.Row.Cells["AmountNum"].Value = "0";
e.Cell.Row.Cells["AmountWet"].Value = "0";
}
else
{
string actCount = e.Cell.Row.Cells["AmountNum"].Value.ToString();
if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0
{
e.Cell.Row.Cells["AmountNum"].Value = "0";
e.Cell.Row.Cells["AmountWet"].Value = "0";
}
else
{
if (e.Cell.Row.Cells["GpreqNum"].Text.Equals("") || e.Cell.Row.Cells["GpreqNum"].Text.Equals("0"))
{
//if (e.Cell.Row.Cells["BilletWeight"].Text.Equals("") || e.Cell.Row.Cells["BilletWeight"].Text.Equals("0.000"))
//{
// e.Cell.Row.Cells["AmountWet"].Value = ((double.Parse(e.Cell.Row.Cells["GpreqWeight"].Value.ToString()) / double.Parse(e.Cell.Row.Cells["GpreqNum"].Value.ToString())) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3");
//}
//else
//{
e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["BilletWeight"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3");
//}
}
else
{
e.Cell.Row.Cells["AmountWet"].Value = ((double.Parse(e.Cell.Row.Cells["GpreqWeight"].Value.ToString()) / double.Parse(e.Cell.Row.Cells["GpreqNum"].Value.ToString())) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3");
}
}
}
}
if (e.Cell.Column.Key.Equals("BilletWeight"))
{
if (e.Cell.Row.Cells["BilletWeight"].Value == null)
{
e.Cell.Row.Cells["AmountWet"].Value = "0";
}
else
{
string Bilwt = e.Cell.Row.Cells["BilletWeight"].Value.ToString();
if (!StringUtil.IsDouble(Bilwt) || Bilwt == "0.00")//actCount == "" || int.Parse(actCount)==0
{
e.Cell.Row.Cells["AmountWet"].Value = "0";
}
else
{
if (!e.Cell.Row.Cells["AmountNum"].Text.Equals(""))
{
e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["BilletWeight"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3");
}
}
}
}
}
private void chcPline_CheckedChanged(object sender, EventArgs e)
{
if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; }
if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; }
if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; }
}
}
}