using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Collections;
using System.Windows.Forms;
using CoreFS.CA06;
namespace Core.LZMes.Client.UIJ
{
public partial class UIJ040020 : FrmBase
{
public UIJ040020()
{
InitializeComponent();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
this.DoQuery();
break;
case "Save":
this.DoSave();
break;
case "Comfirm":
this.DoComfirm();
break;
case "Exit":
this.Close();
break;
}
}
private void UIJ040020_Load(object sender, EventArgs e)
{
initParam();
}
private void initParam()
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryTransUnits";
ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal);
ArrayList transList = (ArrayList)ccp.ReturnObject;
int listSize = transList.Count;
Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize];
for (int i = 0; i < listSize; i++)
{
Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
Hashtable ht = (Hashtable)transList[i];
item.DataValue = ht["VALUE"].ToString();
item.DisplayText = ht["LABEL"].ToString(); ;
valueListItems[i] = item;
}
this.ultraComboEditor1.Items.AddRange(valueListItems);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
///
/// 查询装车计划
///
private void DoQuery()
{
string shipProgCd = "03";
string fromDate = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
string toDate = this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd");
string shipDirNo = this.textBox1.Text.Trim();
string curProgCd = "SFB";
string laneTp = "";
string entranceSeq = "";
string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryTransPlan";
DataRowCollection drs = null;
string dlivTp = "";
switch (this.tabControl1.SelectedIndex)
{
case 0:
dlivTp = "T";
this.dataSet1.Tables[0].Clear();
ccp.SourceDataTable = this.dataSet1.Tables[0];
ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
drs = dataSet1.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid1.Rows[i].Cells[0].Value = false;
ultraGrid1.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
}
dataSet5.Tables[0].Clear();
dataSet3.Tables[0].Clear();
break;
case 1:
dlivTp = "C";
this.dataSet2.Tables[0].Clear();
ccp.SourceDataTable = this.dataSet2.Tables[0];
ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
drs = dataSet2.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid4.Rows[i].Cells[0].Value = false;
ultraGrid4.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
}
dataSet4.Tables[0].Clear();
dataSet6.Tables[0].Clear();
break;
default:
return;
}
}
///
/// 排车
///
private void DoSave()
{
Infragistics.Win.UltraWinGrid.RowsCollection rs = null;
ArrayList list = new ArrayList();
string[] param = null;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
switch (this.tabControl1.SelectedIndex)
{
case 0://火车
break;
case 1://汽车
rs = this.ultraGrid4.Rows;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
param = new string[4];
param[0] = rs[i].Cells["ALLOC_SEQ"].Value.ToString().Trim();
param[1] = rs[i].Cells["TRANS_CAR_NO"].Value.ToString().Trim();
param[2] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim();
param[3] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim();
list.Add(param);
}
}
ccp.MethodName = "saveSHIPDIRCAR";
ccp.ServerParams = new Object[] { list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
//设置单元格禁用
//rs[i].Cells["CHK"].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}
}
queryDlivDirCoil("C");
break;
default:
return;
}
}
///
/// 确认装车操作
///
private void DoComfirm()
{
if (DialogResult.Yes != MessageBox.Show("确认后不能进行排车操作,是否排车完毕?", "提示", MessageBoxButtons.YesNo))
{
return;
}
//用户名
string regId = this.UserInfo.GetUserID();
//超重是否继续装车标识
bool top_wgt = false;
//超数车辆数量
int num_car = 0;
Infragistics.Win.UltraWinGrid.RowsCollection rs = null;
ArrayList list = new ArrayList();
string[] param = null;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
switch (this.tabControl1.SelectedIndex)
{
case 0:
break;
case 1:
rs = this.ultraGrid6.Rows;
for (int i = 0; i < rs.Count; i++)
{
if (!"TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
MessageBox.Show("第" + (i + 1) + "行的选择项没有选择,作为同一批次的车不同出现为空的现象!");
return;
}
param = new string[7];
param[0] = rs[i].Cells["ALLOC_SEQ"].Text.Trim();//排车顺序号
param[1] = rs[i].Cells["TRANS_CAR_NO"].Text.Trim();//车厢号
param[2] = rs[i].Cells["DLIV_DIRNO"].Text.Trim();//运输号
param[3] = rs[i].Cells["SHIP_DIRNO"].Text.Trim();//发货指示号
param[4] = rs[i].Cells["OLD_SAMPL_NO"].Text.Trim();//批次号
param[5] = rs[i].Cells["COIL_NO"].Text.Trim();//钢卷号
param[6] = rs[i].Cells["ACT_WGT"].Text.Trim();//钢卷重量
list.Add(param);
}
ccp.MethodName = "saveDLIVDIRCAR";
ccp.ServerParams = new Object[] { regId, list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
break;
default:
return;
}
}
//汽车待装车计划
private void label13_Click(object sender, EventArgs e)
{
string shipProgCd = "04";
string fromDate = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
string toDate = this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd");
string shipDirNo = this.textBox1.Text.Trim();
string curProgCd = "SFB";
string laneTp = "";
string entranceSeq = "";
string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString();
string dlivTp = "C";
this.dataSet2.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryTransPlan";
ccp.SourceDataTable = this.dataSet2.Tables[0];
ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
DataRowCollection drs = dataSet2.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid4.Rows[i].Cells[0].Value = true;
ultraGrid4.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}
queryDlivDirCoil(dlivTp);
}
///
/// 查询待装车钢卷 queryShipDir
///
private void queryDlivDirCoil(string dlivTp)
{
if ("T".Equals(dlivTp.ToUpperInvariant()))
{
this.dataSet3.Tables[0].Clear();
CoreClientParam ccp4 = new CoreClientParam();
ccp4.ServerName = "UIJ.UIJ04.UIJ040020";
ccp4.MethodName = "queryShipDir";
ccp4.SourceDataTable = this.dataSet3.Tables[0];
ccp4.ServerParams = new Object[] { dlivTp };
this.ExecuteQueryToDataTable(ccp4, CoreInvokeType.Internal);
DataRowCollection drs = dataSet3.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid2.Rows[i].Cells[0].Value = false;
}
}
else
{
this.dataSet4.Tables[0].Clear();
CoreClientParam ccp4 = new CoreClientParam();
ccp4.ServerName = "UIJ.UIJ04.UIJ040020";
ccp4.MethodName = "queryShipDir";
ccp4.SourceDataTable = this.dataSet4.Tables[0];
ccp4.ServerParams = new Object[] { dlivTp };
this.ExecuteQueryToDataTable(ccp4, CoreInvokeType.Internal);
DataRowCollection drs = dataSet4.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid6.Rows[i].Cells[0].Value = false;
}
}
}
///
/// 查询下达汽车排车计划时排车计划对应的钢卷信息 queryPlanCoil
///
///
///
private void ultraGrid6_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
{
Infragistics.Win.UltraWinGrid.UltraGridRow uRow = this.ultraGrid6.ActiveRow;
string dlivNo = uRow.Cells["DLIV_DIRNO"].Text.ToString().Trim();
this.dataSet6.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryPlanCoil";
ccp.SourceDataTable = this.dataSet6.Tables[0];
ccp.ServerParams = new Object[] { dlivNo };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
}
///
/// 取消火车待装车指示
///
///
///
private void label7_Click(object sender, EventArgs e)
{
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid2.Rows;
ArrayList list = new ArrayList();
string[] param = null;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
param = new string[2];
param[0] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim();
param[1] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim();
bool flag = false;
//去除重复的发运指示号
foreach (string[] tmp in list)
{
if (param[0].Equals(tmp[0]) && param[1].Equals(tmp[1]))
{
flag = true;
break;
}
}
if (!flag)
{
list.Add(param);
}
}
}
if (DialogResult.Yes == MessageBox.Show("是否确认同一运输指示号(计划号)下的钢卷全部选择上?", "提示", MessageBoxButtons.YesNo))
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "returnSHIPDIRCAR";
ccp.ServerParams = new Object[] { list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
dataSet3.Tables[0].Clear();
dataSet5.Tables[0].Clear();
this.DoQuery();
}
}
///
/// 取消汽车待装车指示
///
///
///
private void label15_Click(object sender, EventArgs e)
{
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid6.Rows;
ArrayList list = new ArrayList();
string[] param = null;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
param = new string[2];
param[0] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim();
param[1] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim();
bool flag = false;
//去除重复的发运指示号
foreach (string[] tmp in list)
{
if (param[0].Equals(tmp[0]) && param[1].Equals(tmp[1]))
{
flag = true;
break;
}
}
if (!flag)
{
list.Add(param);
}
}
}
if (DialogResult.Yes == MessageBox.Show("是否确认同一运输指示号(计划号)下的钢卷全部选择上?", "提示", MessageBoxButtons.YesNo))
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "returnSHIPDIRCAR";
ccp.ServerParams = new Object[] { list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
dataSet4.Tables[0].Clear();
dataSet6.Tables[0].Clear();
this.DoQuery();
}
}
///
/// 火车待装车计划
///
///
///
private void label10_Click(object sender, EventArgs e)
{
if (this.ultraComboEditor2.SelectedIndex < 0)
{
MessageBox.Show("火车入库道次不能为空,请选择相应的入库道次!");
return;
}
if ("".Equals(this.textBox2.Text.Trim()))
{
MessageBox.Show("装车次数不能为空,请输入相应的装车次数信息!");
return;
}
string shipProgCd = "04";
string fromDate = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
string toDate = this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd");
string shipDirNo = this.textBox1.Text.Trim();
string curProgCd = "SFB";
string laneTp = this.ultraComboEditor2.Value.ToString();
string entranceSeq = this.textBox2.Text.Trim();
string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString();
string dlivTp = "T";
this.dataSet1.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryTransPlan";
ccp.SourceDataTable = this.dataSet1.Tables[0];
ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
DataRowCollection drs = dataSet1.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid2.Rows[i].Cells[0].Value = true;
ultraGrid2.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}
queryDlivDirCoil(dlivTp);
}
///
/// 查询下达火车排车计划时排车计划对应的钢卷信息
///
///
///
private void ultraGrid2_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
{
Infragistics.Win.UltraWinGrid.UltraGridRow uRow = this.ultraGrid2.ActiveRow;
string dlivNo = uRow.Cells["DLIV_DIRNO"].Text.ToString().Trim();
this.dataSet5.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ04.UIJ040020";
ccp.MethodName = "queryPlanCoil";
ccp.SourceDataTable = this.dataSet5.Tables[0];
ccp.ServerParams = new Object[] { dlivNo };
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
}
}
}