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.炉计划.Tool;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Core.StlMes.Client.PlnSaleOrd.炉计划
{
public partial class FrmMaterialMonomer : FrmBase
{
private string[] _plineCodeArr;
private string _processCode;
private string _userName;
private OpeBase _ob;
public FrmMaterialMonomer()
{
InitializeComponent();
}
public FrmMaterialMonomer(string[] plineCodeArr, string processCode, string userName, OpeBase ob)
{
InitializeComponent();
this._plineCodeArr = plineCodeArr;
this._processCode = processCode;
this._userName = userName;
this.ob = ob;
}
private void FrmMaterialMonomer_Load(object sender, EventArgs e)
{
BaseHelper.InitCellPosition(ultraGridMonomer, new string[] { "JUDGE_STOVE_NO", "BATCH_NO", "BATCH_GROUD_NO", "ACT_DIMATER", "ACT_HEIGHT", "ACT_LEN", "ACT_LEN_MIN", "ACT_LEN_MAX", "ACT_COUNT", "ACT_WEIGHT" });
BaseHelper.GridColumnSum(ultraGridMonomer, new string[] { "ACT_WEIGHT" });
BaseHelper.GridColumnCount(ultraGridMonomer, new string[] { "ACT_COUNT" });
BaseHelper.setColumnBackColor(ultraGridMonomer, new string[] { "ACT_COUNT" });
Query();
}
private void Query()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmMaterialMonomer.queryMaterial", new object[] { _plineCodeArr }, ob);
GridHelper.CopyDataToDatatable(dt, dataTable1, true);
}
private void ultraGridMonomer_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
BaseHelper.ControlCellEdit(e.Row);
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Query": // ButtonTool
Query();
break;
case "Monomer": // ButtonTool
Monomer();
break;
case "Close": // ButtonTool
this.Close();
break;
}
}
///
/// 脱单
///
private void Monomer()
{
ultraGridMonomer.UpdateData();
IQueryable chcRows = ultraGridMonomer.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
if (chcRows == null || chcRows.Count() == 0)
{
MessageUtil.ShowWarning("请选择物料!");
return;
}
ArrayList list = new ArrayList();
foreach (UltraGridRow ugr in chcRows)
{
string[] arr = new string[8];
arr[0] = ugr.Cells["JUDGE_STOVE_NO"].Text.Trim();
arr[1] = ugr.Cells["BATCH_NO"].Text.Trim();
arr[2] = ugr.Cells["BATCH_GROUD_NO"].Text.Trim();
arr[3] = ugr.Cells["MATERIAL_NO"].Text.Trim();
arr[4] = ugr.Cells["STORAGE_NO"].Text.Trim();
arr[5] = ugr.Cells["ACT_COUNT"].Text.Trim();
arr[6] = ugr.Cells["PRO_ORDER_ID"].Text.Trim();
arr[7] = ugr.Cells["GX_PLAN_NO"].Text.Trim();
if (arr[5].Equals("") || Convert.ToInt32(arr[5]) <= 0)
{
MessageUtil.ShowWarning("物料脱单支数为0!");
return;
}
list.Add(arr);
}
if (MessageUtil.ShowYesNoAndQuestion("是否脱单?") == DialogResult.No)
{
return;
}
string[] param = StoveHelper.SetData("com.steering.pss.plnsaleord.planStove.FrmMaterialChoose.liku", new object[] {
_processCode, list,_userName}, ob);
if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); return; }
else
{
MessageUtil.ShowTips(param[1]);
if ((bool.Parse(param[0]))) { Query(); return; } else { return; }
}
}
}
}