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 } }