using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using CoreFS.CA06;
using System.IO;
using Microsoft.Office.Interop.Excel;
using ET;
namespace Core.LZMes.Client.UIJ
{
public partial class UIJ060020 : FrmBase
{
public UIJ060020()
{
InitializeComponent();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
this.DoQuery();
break;
case "Save":
this.DoSave();
break;
case "Export":
this.DoExport();
break;
case "Print":
this.DoPrint();
break;
case "Exit":
this.Close();
break;
}
}
///
/// 查询发货实绩
///
private void DoQuery()
{
string dlivTp = this.ultraComboEditor1.SelectedIndex < 0 ? "" : this.ultraComboEditor1.Value.ToString();
string transCarNo = this.textBox2.Text.Trim();
string dlivDirNo = this.textBox3.Text.Trim();
string shipProgCd = this.ultraComboEditor2.SelectedIndex < 0 ? "" : this.ultraComboEditor2.Value.ToString();
string trnfDTime = this.ultraDateTimeEditor1.Value == null ? "" : this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
string coilProgCd = "";
if (this.ultraComboEditor2.SelectedIndex >= 0)
{
if (ultraComboEditor2.Value.ToString().Equals("06"))
{
trnfDTime = "";
coilProgCd = "DFB";
}
else
{
coilProgCd = "DFF";
if (ultraDateTimeEditor1.Value == null)
{
MessageBox.Show("需要选择出库时间,否则数据量过大,不便于查找!");
return;
}
}
}
else
{
MessageBox.Show("状态区分必须选择,否则导致数据量过大!");
return;
}
this.dataSet1.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ06.UIJ060020";
ccp.MethodName = "queryShippingResult";
ccp.ServerParams = new Object[] { dlivTp, coilProgCd, transCarNo, dlivDirNo, shipProgCd, trnfDTime };
ccp.SourceDataTable = this.dataSet1.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
DataRowCollection drs = dataSet1.Tables[0].Rows;
for (int i = 0; i < drs.Count; i++)
{
ultraGrid1.Rows[i].Cells[0].Value = false;
}
}
///
///
///
private void DoSave()
{
if (this.ultraDateTimeEditor1.Value == null)
{
MessageBox.Show("出库时间信息不能为空,请选择相应的出库时间!");
return;
}
if (this.textBox1.Text.Trim().Equals(""))
{
MessageBox.Show("草支垫重量信息不能为空,请输入相应的草支垫重量!");
return;
}
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
string coilWgt = rs[i].Cells["COIL_WGT"].Text;
string transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
if (coilWgt.Equals(""))
{
MessageBox.Show("第" + (i + 1) + "行卷重数据为空,请核对后再点击保存!");
return;
}
if (transCarNo.Equals(""))
{
MessageBox.Show("第" + (i + 1) + "行车辆号为空,请核对后再点击保存!");
return;
}
}
}
ArrayList list = new ArrayList();
string[] param = null;
string regId = this.UserInfo.GetUserID();
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
if ("06".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
{
param = new string[38];
param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
param[5] = rs[i].Cells["EXLV_LINE_CD"].Text;//专用线
param[6] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
param[7] = rs[i].Cells["BY_SEA_YN"].Text;//水运区分
param[8] = rs[i].Cells["DEPARTURE_CD"].Text;//出发港
param[9] = rs[i].Cells["ARRIVAL_CD"].Text;//到达港
param[10] = rs[i].Cells["COIL_NO"].Text;//生产钢卷号
param[11] = rs[i].Cells["TOT_DEC_GRD"].Text;//综合判定等级
param[12] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
param[13] = rs[i].Cells["COIL_OUTDIA"].Text;//钢卷外径
param[14] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
param[15] = rs[i].Cells["CRET_NO"].Text;//品质保证书号
param[16] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
param[17] = "07";//钢卷公共表中的状态字段 SHIP_PROG_CD
param[18] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
param[19] = rs[i].Cells["BEF_PROG_CD"].Text;//钢卷公共表中当前状态做前状态使用
param[20] = rs[i].Cells["BEF_PROG_CD_DTIME"].Text;//状态改变时间
param[21] = rs[i].Cells["BEF_PROG_CD_PGM"].Text;//状态改变人
param[22] = rs[i].Cells["ORD_NO"].Text;//合同号
param[23] = rs[i].Cells["ORD_SEQ"].Text;//订单号
param[24] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
param[25] = rs[i].Cells["COIL_STAT"].Text;//钢卷状态
param[26] = rs[i].Cells["CUR_PROG_CD"].Text;//当前状态
param[27] = rs[i].Cells["CUR_PROG_CD_PGM"].Text;//当前状态修改人
param[28] = regId;//登录人
param[29] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
param[30] = rs[i].Cells["COIL_INDIA"].Text;//钢卷内径
param[31] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
param[32] = rs[i].Cells["CUST_NM"].Text;//合同单位
param[33] = rs[i].Cells["ORD_NM"].Text;//收货单位
param[34] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
param[35] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
param[36] = rs[i].Cells["SM_CFNM"].Text;//产品名称
param[37] = rs[i].Cells["PKG_WGT"].Text;//产品名称
// param[31] = rs[i].Cells["COIL_INDIA"].Text;//钢卷内径
list.Add(param);
}
else if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
{
//发货明细结束后修改车辆号
list = new ArrayList();
string dlivDirNo = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
string carNo = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ06.UIJ060020";
ccp.MethodName = "updateCarNo";
ccp.ServerParams = new Object[] { dlivDirNo, carNo };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
break;
}
}
}
if (list.Count > 0)
{
//出库班次、出库班组、出库人、出库时间、草支垫重量
string trnfShift = this.UserInfo.GetUserOrder();
string trnfGroup = this.UserInfo.GetUserGroup();
string trnfRegId = this.UserInfo.GetUserID(); ;
string trnfDtime = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
// string czdWgt = "25";//草支垫重量改为固定25KG//this.textBox1.Text.Trim();
string czdWgt = this.textBox1.Text.Trim();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIJ.UIJ06.UIJ060020";
ccp.MethodName = "saveShippingResult";
ccp.ServerParams = new Object[] { trnfShift, trnfGroup, trnfRegId, trnfDtime, czdWgt, list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
this.ultraComboEditor2.SelectedIndex = 1;
}
//生成发货实绩后再次查询
this.DoQuery();
}
///
/// 将发货明细数据移送给货运中国系统进行物流跟踪!
//result解密后得到的返回值返回0为成功调用,所有非0均为非成功调用,目前返回值如下:
// 1000:签名验证失败
// 1001:运单对象不得为空
// 1002:发货人ID不得为空
// 1003:发货人信息加载出错
// 1004:发货人状态不正常
// 1005:订单号不得为空
// 1006:承运商不得为空
// 1007:承运商信息加载出错
// 1008:承运商没在货运中国平台开户
// 1009:运单子项不得为空
// 1010:车牌号不得为空
// 1011:车牌号信息加载出错
// 1012:车牌号没在货运中国平台注册
// 1013:该车辆在货运中国平台尚未关联司机帐号
private void sendCargocn_Click(object sender, EventArgs e)
{
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
string coilWgt = rs[i].Cells["COIL_WGT"].Text;
string transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
if (coilWgt.Equals(""))
{
MessageBox.Show("第" + (i + 1) + "行卷重数据为空,请核对后再点击保存!");
return;
}
if (transCarNo.Equals(""))
{
MessageBox.Show("第" + (i + 1) + "行车辆号为空,请核对后再点击保存!");
return;
}
}
}
ArrayList list = new ArrayList();
string[] param = null;
string regId = this.UserInfo.GetUserID();
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
{
param = new string[19];
param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
param[5] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
param[6] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
param[7] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
param[8] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
param[9] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
param[10] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
param[11] = regId;//登录人
param[12] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
param[13] = rs[i].Cells["CUST_NM"].Text;//合同单位
param[14] = rs[i].Cells["ORD_NM"].Text;//收货单位
param[15] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
param[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
param[17] = rs[i].Cells["SM_CFNM"].Text;//产品名称
param[18] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
list.Add(param);
}
}
}
if (list.Count > 0)
{
//直接在C#中调用后天Java方法,向物流跟踪平台发送明细数据
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "xin.glue.cargocnHttpClient.WayBillClient";
ccp.MethodName = "cargocnClientPost";
ccp.ServerParams = new Object[] { list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//状态修改失败返回
//MessageBox.Show(" ccp.ReturnObject :" + ccp.ReturnObject);
if ("" != ccp.ReturnInfo && null != ccp.ReturnInfo)
{
MessageBox.Show(ccp.ReturnInfo + "\n结果值含义:0 表示发送成功,其他值都为失败"
+ "\n1000:签名验证失败 1001:运单对象不得为空"
+ "\n1002:发货人ID不得为空 1003:发货人信息加载出错"
+ "\n1004:发货人状态不正常 1005:订单号不得为空"
+ "\n1006:承运商不得为空 1007:承运商信息加载出错"
+ "\n1008:承运商没在货运中国平台开户 1009:运单子项不得为空"
+ "\n1010:车牌号不得为空 1011:车牌号信息加载出错"
+ "\n1012:车牌号没在货运中国平台注册\n1013:该车辆在货运中国平台尚未关联司机帐号");
return;
}
}
}
private void DoExport()
{
try
{
if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
{
string fileName = this.saveFileDialog1.FileName;
ultraGridExcelExporter1.Export(ultraGrid1, fileName);
System.Diagnostics.Process.Start(fileName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
///
/// 打印发货明细
///
private void DoPrint()
{
if (this.ultraDateTimeEditor1.Value == null)
{
MessageBox.Show("出库时间信息不能为空,请选择相应的出库时间!");
return;
}
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
//发货明细打印必须是同一客户同合同号、发运指示号
string befOrdNo = "";//前运输号
string befDlivDirNo = "";//前运输指示号
ArrayList coils = new ArrayList();//钢卷信息
int coilCount = 0;//钢卷个数
double coilWgtSum = 0;//钢卷重量合计
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
string[] coilInfo = new string[8];
string ordNoTmp = rs[i].Cells["ORD_NO"].Text;
string dlivDirNoTmp = rs[i].Cells["DLIV_DIRNO"].Text;
if (!"".Equals(befDlivDirNo) && !"".Equals(befOrdNo))
{
if (!befDlivDirNo.Equals(dlivDirNoTmp))
{
MessageBox.Show("不同运输指示号下的卷不能生成同一张发货明细,请确认后重新选择!");
return;
}
if (!befOrdNo.Equals(ordNoTmp))
{
MessageBox.Show("同发运指示号下的卷,合同号不一样需要分开打印发货明细!");
return;
}
}
befDlivDirNo = dlivDirNoTmp;
befOrdNo = ordNoTmp;
coilCount++;
coilInfo[0] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
coilInfo[1] = rs[i].Cells["SPEC_STL_GRD"].Text;//牌号
coilInfo[2] = rs[i].Cells["T_W"].Text;//规格
coilInfo[3] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;//等级
coilInfo[4] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;//性能
coilInfo[5] = coilInfo[0].Length > 10 ? coilInfo[0].Substring(0, 10) : "";//轧批号
coilInfo[6] = (double.Parse(rs[i].Cells["COIL_WGT"].Text.Trim()) / 1000).ToString();//重量
coilInfo[7] = "";//备注
coilWgtSum += double.Parse(coilInfo[6]);
coils.Add(coilInfo);
}
}
//取出明细打印需要的数据
string dlivDirNo = "";//发运指示号
string ordNo = "";//合同号
string dlivTp = "";//运输方式
string shipInnNo = "";//发货清单号
string custNm = "";//客户名称
string ordNm = "";//合同单位
string destPcdDesc = "";//到站
string transCarNo = "";//车号
string prodNm = "";//产品名称
string specAbbsym = "";//标准
string hColorRem = "";//外贸合同钢卷颜色备注
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
dlivDirNo = rs[i].Cells["DLIV_DIRNO"].Text;
ordNo = rs[i].Cells["ORD_NO"].Text;
dlivTp = rs[i].Cells["DLIV_TP"].Text;
shipInnNo = rs[i].Cells["SHIP_INVNO"].Text;
custNm = rs[i].Cells["CUST_NM"].Text;
ordNo = rs[i].Cells["ORD_NM"].Text;
destPcdDesc = rs[i].Cells["DEST_PCD_DESC"].Text;
transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
prodNm = rs[i].Cells["SM_CFNM"].Text;
specAbbsym = rs[i].Cells["SPEC_ABBSYM"].Text;
hColorRem = rs[i].Cells["HCOLOUR_REM"].Text;
break;
}
}
//打印
print();
this.ultraComboEditor2.SelectedIndex = 2;
//明细结束后重新查询
this.DoQuery();
this.textBox3.Text = string.Empty;
}
///
/// 打印后修改发货状态
///
private void print()
{
ArrayList list = new ArrayList();
ArrayList listP = new ArrayList();
string[] param = null;
string[] paramP = null;
string regId = this.UserInfo.GetUserID();
string name = string.Empty;
if (this.ultraComboEditor1.Value.ToString().Equals("T"))
{
name = "火车";
}
if (this.ultraComboEditor1.Value.ToString().Equals("C"))
{
name = "汽车";
}
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
for (int i = 0; i < rs.Count; i++)
{
if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
{
if ("07".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
{
param = new string[38];
param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
param[5] = rs[i].Cells["EXLV_LINE_CD"].Text;//专用线
param[6] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
param[7] = rs[i].Cells["BY_SEA_YN"].Text;//水运区分
param[8] = rs[i].Cells["DEPARTURE_CD"].Text;//出发港
param[9] = rs[i].Cells["ARRIVAL_CD"].Text;//到达港
param[10] = rs[i].Cells["COIL_NO"].Text;//生产钢卷号
param[11] = rs[i].Cells["TOT_DEC_GRD"].Text;//综合判定等级
param[12] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
param[13] = rs[i].Cells["COIL_OUTDIA"].Text;//钢卷外径
param[14] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
param[15] = rs[i].Cells["CRET_NO"].Text;//品质保证书号
param[16] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
param[17] = "08";//钢卷公共表中的状态字段 SHIP_PROG_CD
param[18] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
param[19] = rs[i].Cells["BEF_PROG_CD"].Text;//钢卷公共表中当前状态做前状态使用
param[20] = rs[i].Cells["BEF_PROG_CD_DTIME"].Text;//状态改变时间
param[21] = rs[i].Cells["BEF_PROG_CD_PGM"].Text;//状态改变人
param[22] = rs[i].Cells["ORD_NO"].Text;//合同号
param[23] = rs[i].Cells["ORD_SEQ"].Text;//订单号
param[24] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
param[25] = rs[i].Cells["COIL_STAT"].Text;//钢卷状态
param[26] = rs[i].Cells["CUR_PROG_CD"].Text;//当前状态
param[27] = rs[i].Cells["CUR_PROG_CD_PGM"].Text;//当前状态修改人
param[28] = regId;//登录人
param[29] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
param[30] = rs[i].Cells["COIL_THK"].Text;//钢卷内径
param[31] = rs[i].Cells["ORD_CD"].Text;//钢卷内径
param[32] = rs[i].Cells["CUST_NM"].Text;//合同单位
param[33] = rs[i].Cells["ORD_NM"].Text;//收货单位
param[34] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
param[35] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
param[36] = rs[i].Cells["SM_CFNM"].Text;//产品名称
param[37] = rs[i].Cells["PKG_WGT"].Text;//包装
list.Add(param);
paramP = new string[22];
paramP[0] = rs[i].Cells["ORD_NO"].Text;//合同号
paramP[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
paramP[2] = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
paramP[3] = rs[i].Cells["SHIP_INVNO"].Text;
paramP[4] = rs[i].Cells["CUST_NM"].Text;
paramP[5] = rs[i].Cells["DEST_PCD_DESC"].Text;
paramP[6] = this.UserInfo.GetUserName();
paramP[7] = rs[i].Cells["TRANS_CAR_NO"].Text;
paramP[8] = rs[i].Cells["ORD_NM"].Text;
paramP[9] = rs[i].Cells["HCOLOUR_REM"].Text;
paramP[10] = rs[i].Cells["SM_CFNM"].Text;
paramP[11] = rs[i].Cells["SPEC_ABBSYM"].Text;
paramP[12] = rs[i].Cells["OLD_SAMPL_NO"].Text.Substring(0, 9);
paramP[13] = rs[i].Cells["SPEC_STL_GRD"].Text;
paramP[14] = rs[i].Cells["T_W"].Text;
paramP[15] = rs[i].Cells["COIL_WGT"].Text;
paramP[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;
paramP[17] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;
paramP[18] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;
paramP[19] = "";
// paramP[20] = "25";//this.textBox1.Text.Trim();
paramP[20] = this.textBox1.Text.Trim();
paramP[21] = rs[i].Cells["PKG_WGT"].Text;
listP.Add(paramP);
}
else if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
{
paramP = new string[22];
paramP[0] = rs[i].Cells["ORD_NO"].Text;//合同号
paramP[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
paramP[2] = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
paramP[3] = rs[i].Cells["SHIP_INVNO"].Text;
paramP[4] = rs[i].Cells["CUST_NM"].Text;
paramP[5] = rs[i].Cells["DEST_PCD_DESC"].Text;
paramP[6] = this.UserInfo.GetUserName();
paramP[7] = rs[i].Cells["TRANS_CAR_NO"].Text;
paramP[8] = rs[i].Cells["ORD_NM"].Text;
paramP[9] = rs[i].Cells["HCOLOUR_REM"].Text;
paramP[10] = rs[i].Cells["SM_CFNM"].Text;
paramP[11] = rs[i].Cells["SPEC_ABBSYM"].Text;
paramP[12] = rs[i].Cells["OLD_SAMPL_NO"].Text.Substring(0, 9);
paramP[13] = rs[i].Cells["SPEC_STL_GRD"].Text;
paramP[14] = rs[i].Cells["T_W"].Text;
paramP[15] = rs[i].Cells["COIL_WGT"].Text;
paramP[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;
paramP[17] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;
paramP[18] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;
paramP[19] = "";
paramP[20] = this.textBox1.Text.Trim();
paramP[21] = rs[i].Cells["PKG_WGT"].Text;
listP.Add(paramP);
}
}
}
if (listP.Count > 0 && list.Count > 0)
{
//出库班次、出库班组、出库人、出库时间、草支垫重量
string trnfShift = this.UserInfo.GetUserOrder();
string trnfGroup = this.UserInfo.GetUserGroup();
string trnfRegId = this.UserInfo.GetUserID();
string trnfDtime = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
string czdWgt = this.textBox1.Text.Trim();
CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "UIJ.UIJ06.UIJ060020";
ccp.ServerName = "UIJ.UIJ03.UIJ030030";//采用酸轧明细结束,发送优特钢数据
ccp.MethodName = "printShippingResult";
ccp.ServerParams = new Object[] { trnfShift, trnfGroup, trnfRegId, trnfDtime, czdWgt, list };
this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//状态修改失败返回
if (0 != ccp.ReturnCode)
{
MessageBox.Show("系统错误!!!!");
return;
}
//string printerName = "HP LaserJet P1505";
string printerName = new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;
string tmpPrintName = AppDomain.CurrentDomain.BaseDirectory + "\\tmpPrint.xls";
ExportExcel(listP, tmpPrintName, name);
this.printExcel(tmpPrintName, printerName);
}
else if (listP.Count > 0 && list.Count <= 0)
{
string printerName = new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;
string tmpPrintName = AppDomain.CurrentDomain.BaseDirectory + "\\tmpPrint.xls";
ExportExcel(listP, tmpPrintName, name);
this.printExcel(tmpPrintName, printerName);
}
}
private void UIJ060020_Load(object sender, EventArgs e)
{
this.ultraDateTimeEditor1.Value = null;
this.ultraComboEditor1.SelectedIndex = 1;
this.ultraComboEditor2.SelectedIndex = 0;
this.DoQuery();
}
///
/// 导出 Excel 文件
///
/// 要导出的数据
/// 操作人
private void ExportExcel(ArrayList list, String strExcelFileName, string name)
{
if (list == null || list.Count < 1)
{
return;
}
string[] param1 = (string[])list[0];
StreamWriter writer = new StreamWriter(strExcelFileName, false, Encoding.UTF8);
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine("siy ");
writer.WriteLine("siy ");
writer.WriteLine("11111 ");
writer.WriteLine("steering ");
writer.WriteLine("11.8107 ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine("13590 ");
writer.WriteLine("19200 ");
writer.WriteLine("0 ");
writer.WriteLine("285 ");
writer.WriteLine("False ");
writer.WriteLine("False ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 新余钢铁股份有限公司钢卷发货明细单(" + name + ") ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 合 同 号: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[0] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 发货单号: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[1] + " ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 用户编码: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 发货日: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[2] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 第" + param1[3] + "号 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 用户名称: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[4] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 到站: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[5] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 制表: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[6] + " ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 计划单号: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 车号: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[7] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 收货单位: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[8] + " ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 发货备注: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[9] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 产品名称: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[10] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 标准: ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param1[11] + " ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 轧批号 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 钢号 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 规格(厚*宽)mm ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 重量(吨) ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 钢卷号 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 等级 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 性能 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 草支垫 ");
writer.WriteLine(" | ");
writer.WriteLine("
");
int index = 0;
int coilCount = 0;
double wgtCount = 0, sumPkgWgt = 0, sumCzdWgt = 0;
for (; index < list.Count; index++)
{
string[] param = (string[])list[index];
double coilWgt = 0;
double pkgWgt = 0, czdWgt = 0;
try
{
coilWgt = double.Parse(param[15]) / 1000;
pkgWgt = double.Parse(param[21]);
czdWgt = double.Parse(param[20]);
}
catch (Exception ex)
{
}
wgtCount += coilWgt;
sumPkgWgt += pkgWgt;
sumCzdWgt = czdWgt;//草支垫为界面输入整车重量 不需要相加
coilCount++;
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" " + param[12] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param[13] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param[14] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + coilWgt + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param[16] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param[17] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + param[18] + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine("
");
}
for (; index < 12; index++)
{
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine("
");
}
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" 小计 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + coilCount + "卷 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" " + wgtCount + " ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 包装合计:" + sumPkgWgt + "公斤 ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" | ");
writer.WriteLine(" ");
writer.WriteLine(" 合计:" + sumCzdWgt + "公斤 ");
writer.WriteLine(" | ");
writer.WriteLine("
");
writer.WriteLine("
");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine("3 ");
writer.WriteLine("1 ");
writer.WriteLine("1 ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine("False ");
writer.WriteLine("False ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.WriteLine(" ");
writer.Close();
}
private bool printExcel(string fileName, string printerName)
{
object missing = System.Reflection.Missing.Value;
try
{
if (isExcelInstalled())
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Add(fileName);
//excel.Visible = true;
Microsoft.Office.Interop.Excel._Worksheet ws = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Worksheets["Sheet1"];
ws.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
ws.PrintOut(1, 2, 1, false, printerName, false, false, missing);//"HP LaserJet P1505"
workbook.Saved = true;
workbook.Close(missing, missing, missing);
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
}
else
{
ET.Application et = new ET.Application();
ET._Workbook ewb = et.Workbooks.Add(fileName);
//et.Visible = true;
ET._Worksheet ews = (ET._Worksheet)ewb.Worksheets["Sheet1"];
ews.PageSetup.Orientation = ET.XlPageOrientation.xlLandscape;//"EPSON LQ-1600KIII"
ews.PrintOut(1, 1, 1, false, printerName, false, false, missing, false, 1, 1, 0, 0, false, ET.ETPaperTray.etPrinterDefaultBin, false, ET.ETPaperOrder.etPrinterRepeat);
ewb.Saved = true;
ewb.Close(missing, missing, missing);
et.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ews);
System.Runtime.InteropServices.Marshal.ReleaseComObject(et);
}
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return false;
}
}
bool isExcelInstalled()
{
Type type = Type.GetTypeFromProgID("Excel.Application");
return type != null;
}
#region 根据发运指示号选择
private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
try
{
if (e.Cell.Column.Key == "CHK")
{
e.Cell.Row.Update();
if (e.Cell.Value.ToString().ToUpper() == "TRUE")
{
string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text;
Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
for (int i = 0; i < rs.Count; i++)
{
if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO)
{
rs[i].Cells["CHK"].Value = true;
rs[i].Appearance.ForeColor = System.Drawing.Color.Blue;
if (i.Equals(rs.Count - 1) && 1 == this.ultraComboEditor2.SelectedIndex)
{
this.textBox3.Text = rs[i].Cells["DLIV_DIRNO"].Value.ToString();
}
}
else
{
rs[i].Cells["CHK"].Value = false;
rs[i].Appearance.ForeColor = System.Drawing.Color.Black;
}
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
}
#endregion
}
}