e5db5d831c05a761a35b57d0dbee94e656bf7cee.svn-base 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Collections;
  10. using CoreFS.CA06;
  11. using System.IO;
  12. using Microsoft.Office.Interop.Excel;
  13. using ET;
  14. namespace Core.LZMes.Client.UIJ
  15. {
  16. public partial class UIJ060020 : FrmBase
  17. {
  18. public UIJ060020()
  19. {
  20. InitializeComponent();
  21. }
  22. public override void ToolBar_Click(object sender, string ToolbarKey)
  23. {
  24. switch (ToolbarKey)
  25. {
  26. case "Query":
  27. this.DoQuery();
  28. break;
  29. case "Save":
  30. this.DoSave();
  31. break;
  32. case "Export":
  33. this.DoExport();
  34. break;
  35. case "Print":
  36. this.DoPrint();
  37. break;
  38. case "Exit":
  39. this.Close();
  40. break;
  41. }
  42. }
  43. /// <summary>
  44. /// 查询发货实绩
  45. /// </summary>
  46. private void DoQuery()
  47. {
  48. string dlivTp = this.ultraComboEditor1.SelectedIndex < 0 ? "" : this.ultraComboEditor1.Value.ToString();
  49. string transCarNo = this.textBox2.Text.Trim();
  50. string dlivDirNo = this.textBox3.Text.Trim();
  51. string shipProgCd = this.ultraComboEditor2.SelectedIndex < 0 ? "" : this.ultraComboEditor2.Value.ToString();
  52. string trnfDTime = this.ultraDateTimeEditor1.Value == null ? "" : this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  53. string coilProgCd = "";
  54. if (this.ultraComboEditor2.SelectedIndex >= 0)
  55. {
  56. if (ultraComboEditor2.Value.ToString().Equals("06"))
  57. {
  58. trnfDTime = "";
  59. coilProgCd = "DFB";
  60. }
  61. else
  62. {
  63. coilProgCd = "DFF";
  64. if (ultraDateTimeEditor1.Value == null)
  65. {
  66. MessageBox.Show("需要选择出库时间,否则数据量过大,不便于查找!");
  67. return;
  68. }
  69. }
  70. }
  71. else
  72. {
  73. MessageBox.Show("状态区分必须选择,否则导致数据量过大!");
  74. return;
  75. }
  76. this.dataSet1.Tables[0].Clear();
  77. CoreClientParam ccp = new CoreClientParam();
  78. ccp.ServerName = "UIJ.UIJ06.UIJ060020";
  79. ccp.MethodName = "queryShippingResult";
  80. ccp.ServerParams = new Object[] { dlivTp, coilProgCd, transCarNo, dlivDirNo, shipProgCd, trnfDTime };
  81. ccp.SourceDataTable = this.dataSet1.Tables[0];
  82. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  83. DataRowCollection drs = dataSet1.Tables[0].Rows;
  84. for (int i = 0; i < drs.Count; i++)
  85. {
  86. ultraGrid1.Rows[i].Cells[0].Value = false;
  87. }
  88. }
  89. /// <summary>
  90. ///
  91. /// </summary>
  92. private void DoSave()
  93. {
  94. if (this.ultraDateTimeEditor1.Value == null)
  95. {
  96. MessageBox.Show("出库时间信息不能为空,请选择相应的出库时间!");
  97. return;
  98. }
  99. if (this.textBox1.Text.Trim().Equals(""))
  100. {
  101. MessageBox.Show("草支垫重量信息不能为空,请输入相应的草支垫重量!");
  102. return;
  103. }
  104. Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
  105. for (int i = 0; i < rs.Count; i++)
  106. {
  107. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  108. {
  109. string coilWgt = rs[i].Cells["COIL_WGT"].Text;
  110. string transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
  111. if (coilWgt.Equals(""))
  112. {
  113. MessageBox.Show("第" + (i + 1) + "行卷重数据为空,请核对后再点击保存!");
  114. return;
  115. }
  116. if (transCarNo.Equals(""))
  117. {
  118. MessageBox.Show("第" + (i + 1) + "行车辆号为空,请核对后再点击保存!");
  119. return;
  120. }
  121. }
  122. }
  123. ArrayList list = new ArrayList();
  124. string[] param = null;
  125. string regId = this.UserInfo.GetUserID();
  126. for (int i = 0; i < rs.Count; i++)
  127. {
  128. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  129. {
  130. if ("06".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
  131. {
  132. param = new string[38];
  133. param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
  134. param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  135. param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
  136. param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
  137. param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
  138. param[5] = rs[i].Cells["EXLV_LINE_CD"].Text;//专用线
  139. param[6] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
  140. param[7] = rs[i].Cells["BY_SEA_YN"].Text;//水运区分
  141. param[8] = rs[i].Cells["DEPARTURE_CD"].Text;//出发港
  142. param[9] = rs[i].Cells["ARRIVAL_CD"].Text;//到达港
  143. param[10] = rs[i].Cells["COIL_NO"].Text;//生产钢卷号
  144. param[11] = rs[i].Cells["TOT_DEC_GRD"].Text;//综合判定等级
  145. param[12] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
  146. param[13] = rs[i].Cells["COIL_OUTDIA"].Text;//钢卷外径
  147. param[14] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
  148. param[15] = rs[i].Cells["CRET_NO"].Text;//品质保证书号
  149. param[16] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
  150. param[17] = "07";//钢卷公共表中的状态字段 SHIP_PROG_CD
  151. param[18] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
  152. param[19] = rs[i].Cells["BEF_PROG_CD"].Text;//钢卷公共表中当前状态做前状态使用
  153. param[20] = rs[i].Cells["BEF_PROG_CD_DTIME"].Text;//状态改变时间
  154. param[21] = rs[i].Cells["BEF_PROG_CD_PGM"].Text;//状态改变人
  155. param[22] = rs[i].Cells["ORD_NO"].Text;//合同号
  156. param[23] = rs[i].Cells["ORD_SEQ"].Text;//订单号
  157. param[24] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
  158. param[25] = rs[i].Cells["COIL_STAT"].Text;//钢卷状态
  159. param[26] = rs[i].Cells["CUR_PROG_CD"].Text;//当前状态
  160. param[27] = rs[i].Cells["CUR_PROG_CD_PGM"].Text;//当前状态修改人
  161. param[28] = regId;//登录人
  162. param[29] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
  163. param[30] = rs[i].Cells["COIL_INDIA"].Text;//钢卷内径
  164. param[31] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
  165. param[32] = rs[i].Cells["CUST_NM"].Text;//合同单位
  166. param[33] = rs[i].Cells["ORD_NM"].Text;//收货单位
  167. param[34] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
  168. param[35] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
  169. param[36] = rs[i].Cells["SM_CFNM"].Text;//产品名称
  170. param[37] = rs[i].Cells["PKG_WGT"].Text;//产品名称
  171. // param[31] = rs[i].Cells["COIL_INDIA"].Text;//钢卷内径
  172. list.Add(param);
  173. }
  174. else if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
  175. {
  176. //发货明细结束后修改车辆号
  177. list = new ArrayList();
  178. string dlivDirNo = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  179. string carNo = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
  180. CoreClientParam ccp = new CoreClientParam();
  181. ccp.ServerName = "UIJ.UIJ06.UIJ060020";
  182. ccp.MethodName = "updateCarNo";
  183. ccp.ServerParams = new Object[] { dlivDirNo, carNo };
  184. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  185. break;
  186. }
  187. }
  188. }
  189. if (list.Count > 0)
  190. {
  191. //出库班次、出库班组、出库人、出库时间、草支垫重量
  192. string trnfShift = this.UserInfo.GetUserOrder();
  193. string trnfGroup = this.UserInfo.GetUserGroup();
  194. string trnfRegId = this.UserInfo.GetUserID(); ;
  195. string trnfDtime = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  196. // string czdWgt = "25";//草支垫重量改为固定25KG//this.textBox1.Text.Trim();
  197. string czdWgt = this.textBox1.Text.Trim();
  198. CoreClientParam ccp = new CoreClientParam();
  199. ccp.ServerName = "UIJ.UIJ06.UIJ060020";
  200. ccp.MethodName = "saveShippingResult";
  201. ccp.ServerParams = new Object[] { trnfShift, trnfGroup, trnfRegId, trnfDtime, czdWgt, list };
  202. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  203. this.ultraComboEditor2.SelectedIndex = 1;
  204. }
  205. //生成发货实绩后再次查询
  206. this.DoQuery();
  207. }
  208. /// </summary>
  209. /// 将发货明细数据移送给货运中国系统进行物流跟踪!
  210. //result解密后得到的返回值返回0为成功调用,所有非0均为非成功调用,目前返回值如下:
  211. // 1000:签名验证失败
  212. // 1001:运单对象不得为空
  213. // 1002:发货人ID不得为空
  214. // 1003:发货人信息加载出错
  215. // 1004:发货人状态不正常
  216. // 1005:订单号不得为空
  217. // 1006:承运商不得为空
  218. // 1007:承运商信息加载出错
  219. // 1008:承运商没在货运中国平台开户
  220. // 1009:运单子项不得为空
  221. // 1010:车牌号不得为空
  222. // 1011:车牌号信息加载出错
  223. // 1012:车牌号没在货运中国平台注册
  224. // 1013:该车辆在货运中国平台尚未关联司机帐号
  225. private void sendCargocn_Click(object sender, EventArgs e)
  226. {
  227. Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
  228. for (int i = 0; i < rs.Count; i++)
  229. {
  230. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  231. {
  232. string coilWgt = rs[i].Cells["COIL_WGT"].Text;
  233. string transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
  234. if (coilWgt.Equals(""))
  235. {
  236. MessageBox.Show("第" + (i + 1) + "行卷重数据为空,请核对后再点击保存!");
  237. return;
  238. }
  239. if (transCarNo.Equals(""))
  240. {
  241. MessageBox.Show("第" + (i + 1) + "行车辆号为空,请核对后再点击保存!");
  242. return;
  243. }
  244. }
  245. }
  246. ArrayList list = new ArrayList();
  247. string[] param = null;
  248. string regId = this.UserInfo.GetUserID();
  249. for (int i = 0; i < rs.Count; i++)
  250. {
  251. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  252. {
  253. if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
  254. {
  255. param = new string[19];
  256. param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
  257. param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  258. param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
  259. param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
  260. param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
  261. param[5] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
  262. param[6] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
  263. param[7] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
  264. param[8] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
  265. param[9] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
  266. param[10] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
  267. param[11] = regId;//登录人
  268. param[12] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
  269. param[13] = rs[i].Cells["CUST_NM"].Text;//合同单位
  270. param[14] = rs[i].Cells["ORD_NM"].Text;//收货单位
  271. param[15] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
  272. param[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
  273. param[17] = rs[i].Cells["SM_CFNM"].Text;//产品名称
  274. param[18] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
  275. list.Add(param);
  276. }
  277. }
  278. }
  279. if (list.Count > 0)
  280. {
  281. //直接在C#中调用后天Java方法,向物流跟踪平台发送明细数据
  282. CoreClientParam ccp = new CoreClientParam();
  283. ccp.ServerName = "xin.glue.cargocnHttpClient.WayBillClient";
  284. ccp.MethodName = "cargocnClientPost";
  285. ccp.ServerParams = new Object[] { list };
  286. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  287. //状态修改失败返回
  288. //MessageBox.Show(" ccp.ReturnObject :" + ccp.ReturnObject);
  289. if ("" != ccp.ReturnInfo && null != ccp.ReturnInfo)
  290. {
  291. MessageBox.Show(ccp.ReturnInfo + "\n结果值含义:0 表示发送成功,其他值都为失败"
  292. + "\n1000:签名验证失败 1001:运单对象不得为空"
  293. + "\n1002:发货人ID不得为空 1003:发货人信息加载出错"
  294. + "\n1004:发货人状态不正常 1005:订单号不得为空"
  295. + "\n1006:承运商不得为空 1007:承运商信息加载出错"
  296. + "\n1008:承运商没在货运中国平台开户 1009:运单子项不得为空"
  297. + "\n1010:车牌号不得为空 1011:车牌号信息加载出错"
  298. + "\n1012:车牌号没在货运中国平台注册\n1013:该车辆在货运中国平台尚未关联司机帐号");
  299. return;
  300. }
  301. }
  302. }
  303. private void DoExport()
  304. {
  305. try
  306. {
  307. if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  308. {
  309. string fileName = this.saveFileDialog1.FileName;
  310. ultraGridExcelExporter1.Export(ultraGrid1, fileName);
  311. System.Diagnostics.Process.Start(fileName);
  312. }
  313. }
  314. catch (Exception ex)
  315. {
  316. MessageBox.Show(ex.ToString());
  317. }
  318. }
  319. /// <summary>
  320. /// 打印发货明细
  321. /// </summary>
  322. private void DoPrint()
  323. {
  324. if (this.ultraDateTimeEditor1.Value == null)
  325. {
  326. MessageBox.Show("出库时间信息不能为空,请选择相应的出库时间!");
  327. return;
  328. }
  329. Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
  330. //发货明细打印必须是同一客户同合同号、发运指示号
  331. string befOrdNo = "";//前运输号
  332. string befDlivDirNo = "";//前运输指示号
  333. ArrayList coils = new ArrayList();//钢卷信息
  334. int coilCount = 0;//钢卷个数
  335. double coilWgtSum = 0;//钢卷重量合计
  336. for (int i = 0; i < rs.Count; i++)
  337. {
  338. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  339. {
  340. string[] coilInfo = new string[8];
  341. string ordNoTmp = rs[i].Cells["ORD_NO"].Text;
  342. string dlivDirNoTmp = rs[i].Cells["DLIV_DIRNO"].Text;
  343. if (!"".Equals(befDlivDirNo) && !"".Equals(befOrdNo))
  344. {
  345. if (!befDlivDirNo.Equals(dlivDirNoTmp))
  346. {
  347. MessageBox.Show("不同运输指示号下的卷不能生成同一张发货明细,请确认后重新选择!");
  348. return;
  349. }
  350. if (!befOrdNo.Equals(ordNoTmp))
  351. {
  352. MessageBox.Show("同发运指示号下的卷,合同号不一样需要分开打印发货明细!");
  353. return;
  354. }
  355. }
  356. befDlivDirNo = dlivDirNoTmp;
  357. befOrdNo = ordNoTmp;
  358. coilCount++;
  359. coilInfo[0] = rs[i].Cells["OLD_SAMPL_NO"].Text;//钢卷号
  360. coilInfo[1] = rs[i].Cells["SPEC_STL_GRD"].Text;//牌号
  361. coilInfo[2] = rs[i].Cells["T_W"].Text;//规格
  362. coilInfo[3] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;//等级
  363. coilInfo[4] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;//性能
  364. coilInfo[5] = coilInfo[0].Length > 10 ? coilInfo[0].Substring(0, 10) : "";//轧批号
  365. coilInfo[6] = (double.Parse(rs[i].Cells["COIL_WGT"].Text.Trim()) / 1000).ToString();//重量
  366. coilInfo[7] = "";//备注
  367. coilWgtSum += double.Parse(coilInfo[6]);
  368. coils.Add(coilInfo);
  369. }
  370. }
  371. //取出明细打印需要的数据
  372. string dlivDirNo = "";//发运指示号
  373. string ordNo = "";//合同号
  374. string dlivTp = "";//运输方式
  375. string shipInnNo = "";//发货清单号
  376. string custNm = "";//客户名称
  377. string ordNm = "";//合同单位
  378. string destPcdDesc = "";//到站
  379. string transCarNo = "";//车号
  380. string prodNm = "";//产品名称
  381. string specAbbsym = "";//标准
  382. string hColorRem = "";//外贸合同钢卷颜色备注
  383. for (int i = 0; i < rs.Count; i++)
  384. {
  385. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  386. {
  387. dlivDirNo = rs[i].Cells["DLIV_DIRNO"].Text;
  388. ordNo = rs[i].Cells["ORD_NO"].Text;
  389. dlivTp = rs[i].Cells["DLIV_TP"].Text;
  390. shipInnNo = rs[i].Cells["SHIP_INVNO"].Text;
  391. custNm = rs[i].Cells["CUST_NM"].Text;
  392. ordNo = rs[i].Cells["ORD_NM"].Text;
  393. destPcdDesc = rs[i].Cells["DEST_PCD_DESC"].Text;
  394. transCarNo = rs[i].Cells["TRANS_CAR_NO"].Text;
  395. prodNm = rs[i].Cells["SM_CFNM"].Text;
  396. specAbbsym = rs[i].Cells["SPEC_ABBSYM"].Text;
  397. hColorRem = rs[i].Cells["HCOLOUR_REM"].Text;
  398. break;
  399. }
  400. }
  401. //打印
  402. print();
  403. this.ultraComboEditor2.SelectedIndex = 2;
  404. //明细结束后重新查询
  405. this.DoQuery();
  406. this.textBox3.Text = string.Empty;
  407. }
  408. /// <summary>
  409. /// 打印后修改发货状态
  410. /// </summary>
  411. private void print()
  412. {
  413. ArrayList list = new ArrayList();
  414. ArrayList listP = new ArrayList();
  415. string[] param = null;
  416. string[] paramP = null;
  417. string regId = this.UserInfo.GetUserID();
  418. string name = string.Empty;
  419. if (this.ultraComboEditor1.Value.ToString().Equals("T"))
  420. {
  421. name = "火车";
  422. }
  423. if (this.ultraComboEditor1.Value.ToString().Equals("C"))
  424. {
  425. name = "汽车";
  426. }
  427. Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
  428. for (int i = 0; i < rs.Count; i++)
  429. {
  430. if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant()))
  431. {
  432. if ("07".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
  433. {
  434. param = new string[38];
  435. param[0] = rs[i].Cells["SHIP_DIRNO"].Text; ;//发货指示号
  436. param[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  437. param[2] = rs[i].Cells["TRANS_CAR_NO"].Text;//车辆号
  438. param[3] = rs[i].Cells["GET_ON_PCD"].Text;//装车地点
  439. param[4] = rs[i].Cells["DEST_PCD"].Text;//目的地
  440. param[5] = rs[i].Cells["EXLV_LINE_CD"].Text;//专用线
  441. param[6] = rs[i].Cells["GET_OFF_PCD"].Text;//卸车地点
  442. param[7] = rs[i].Cells["BY_SEA_YN"].Text;//水运区分
  443. param[8] = rs[i].Cells["DEPARTURE_CD"].Text;//出发港
  444. param[9] = rs[i].Cells["ARRIVAL_CD"].Text;//到达港
  445. param[10] = rs[i].Cells["COIL_NO"].Text;//生产钢卷号
  446. param[11] = rs[i].Cells["TOT_DEC_GRD"].Text;//综合判定等级
  447. param[12] = rs[i].Cells["COIL_WGT"].Text;//钢卷重量
  448. param[13] = rs[i].Cells["COIL_OUTDIA"].Text;//钢卷外径
  449. param[14] = rs[i].Cells["SHIP_INVNO"].Text;//发货清单号码
  450. param[15] = rs[i].Cells["CRET_NO"].Text;//品质保证书号
  451. param[16] = rs[i].Cells["TRNF_DTIME"].Text;//发货时间
  452. param[17] = "08";//钢卷公共表中的状态字段 SHIP_PROG_CD
  453. param[18] = rs[i].Cells["SPEC_STL_GRD"].Text;//标冷牌号
  454. param[19] = rs[i].Cells["BEF_PROG_CD"].Text;//钢卷公共表中当前状态做前状态使用
  455. param[20] = rs[i].Cells["BEF_PROG_CD_DTIME"].Text;//状态改变时间
  456. param[21] = rs[i].Cells["BEF_PROG_CD_PGM"].Text;//状态改变人
  457. param[22] = rs[i].Cells["ORD_NO"].Text;//合同号
  458. param[23] = rs[i].Cells["ORD_SEQ"].Text;//订单号
  459. param[24] = rs[i].Cells["SHIP_COMP_CD"].Text;//运输公司编码
  460. param[25] = rs[i].Cells["COIL_STAT"].Text;//钢卷状态
  461. param[26] = rs[i].Cells["CUR_PROG_CD"].Text;//当前状态
  462. param[27] = rs[i].Cells["CUR_PROG_CD_PGM"].Text;//当前状态修改人
  463. param[28] = regId;//登录人
  464. param[29] = rs[i].Cells["DLIV_TP"].Text;//火运汽运标志
  465. param[30] = rs[i].Cells["COIL_THK"].Text;//钢卷内径
  466. param[31] = rs[i].Cells["ORD_CD"].Text;//钢卷内径
  467. param[32] = rs[i].Cells["CUST_NM"].Text;//合同单位
  468. param[33] = rs[i].Cells["ORD_NM"].Text;//收货单位
  469. param[34] = rs[i].Cells["DEST_PCD_DESC"].Text;//到站
  470. param[35] = rs[i].Cells["SHIP_COMP_NM"].Text;//运输公司名称
  471. param[36] = rs[i].Cells["SM_CFNM"].Text;//产品名称
  472. param[37] = rs[i].Cells["PKG_WGT"].Text;//包装
  473. list.Add(param);
  474. paramP = new string[22];
  475. paramP[0] = rs[i].Cells["ORD_NO"].Text;//合同号
  476. paramP[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  477. paramP[2] = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  478. paramP[3] = rs[i].Cells["SHIP_INVNO"].Text;
  479. paramP[4] = rs[i].Cells["CUST_NM"].Text;
  480. paramP[5] = rs[i].Cells["DEST_PCD_DESC"].Text;
  481. paramP[6] = this.UserInfo.GetUserName();
  482. paramP[7] = rs[i].Cells["TRANS_CAR_NO"].Text;
  483. paramP[8] = rs[i].Cells["ORD_NM"].Text;
  484. paramP[9] = rs[i].Cells["HCOLOUR_REM"].Text;
  485. paramP[10] = rs[i].Cells["SM_CFNM"].Text;
  486. paramP[11] = rs[i].Cells["SPEC_ABBSYM"].Text;
  487. paramP[12] = rs[i].Cells["OLD_SAMPL_NO"].Text.Substring(0, 9);
  488. paramP[13] = rs[i].Cells["SPEC_STL_GRD"].Text;
  489. paramP[14] = rs[i].Cells["T_W"].Text;
  490. paramP[15] = rs[i].Cells["COIL_WGT"].Text;
  491. paramP[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;
  492. paramP[17] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;
  493. paramP[18] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;
  494. paramP[19] = "";
  495. // paramP[20] = "25";//this.textBox1.Text.Trim();
  496. paramP[20] = this.textBox1.Text.Trim();
  497. paramP[21] = rs[i].Cells["PKG_WGT"].Text;
  498. listP.Add(paramP);
  499. }
  500. else if ("08".Equals(rs[i].Cells["SHIP_PROG_CD"].Text))
  501. {
  502. paramP = new string[22];
  503. paramP[0] = rs[i].Cells["ORD_NO"].Text;//合同号
  504. paramP[1] = rs[i].Cells["DLIV_DIRNO"].Text;//运输指示号
  505. paramP[2] = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  506. paramP[3] = rs[i].Cells["SHIP_INVNO"].Text;
  507. paramP[4] = rs[i].Cells["CUST_NM"].Text;
  508. paramP[5] = rs[i].Cells["DEST_PCD_DESC"].Text;
  509. paramP[6] = this.UserInfo.GetUserName();
  510. paramP[7] = rs[i].Cells["TRANS_CAR_NO"].Text;
  511. paramP[8] = rs[i].Cells["ORD_NM"].Text;
  512. paramP[9] = rs[i].Cells["HCOLOUR_REM"].Text;
  513. paramP[10] = rs[i].Cells["SM_CFNM"].Text;
  514. paramP[11] = rs[i].Cells["SPEC_ABBSYM"].Text;
  515. paramP[12] = rs[i].Cells["OLD_SAMPL_NO"].Text.Substring(0, 9);
  516. paramP[13] = rs[i].Cells["SPEC_STL_GRD"].Text;
  517. paramP[14] = rs[i].Cells["T_W"].Text;
  518. paramP[15] = rs[i].Cells["COIL_WGT"].Text;
  519. paramP[16] = rs[i].Cells["OLD_SAMPL_NO"].Text;
  520. paramP[17] = rs[i].Cells["TOT_DEC_GRD_DESC"].Text;
  521. paramP[18] = rs[i].Cells["MATLQLTY_DEC_GRD_DESC"].Text;
  522. paramP[19] = "";
  523. paramP[20] = this.textBox1.Text.Trim();
  524. paramP[21] = rs[i].Cells["PKG_WGT"].Text;
  525. listP.Add(paramP);
  526. }
  527. }
  528. }
  529. if (listP.Count > 0 && list.Count > 0)
  530. {
  531. //出库班次、出库班组、出库人、出库时间、草支垫重量
  532. string trnfShift = this.UserInfo.GetUserOrder();
  533. string trnfGroup = this.UserInfo.GetUserGroup();
  534. string trnfRegId = this.UserInfo.GetUserID();
  535. string trnfDtime = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  536. string czdWgt = this.textBox1.Text.Trim();
  537. CoreClientParam ccp = new CoreClientParam();
  538. // ccp.ServerName = "UIJ.UIJ06.UIJ060020";
  539. ccp.ServerName = "UIJ.UIJ03.UIJ030030";//采用酸轧明细结束,发送优特钢数据
  540. ccp.MethodName = "printShippingResult";
  541. ccp.ServerParams = new Object[] { trnfShift, trnfGroup, trnfRegId, trnfDtime, czdWgt, list };
  542. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  543. //状态修改失败返回
  544. if (0 != ccp.ReturnCode)
  545. {
  546. MessageBox.Show("系统错误!!!!");
  547. return;
  548. }
  549. //string printerName = "HP LaserJet P1505";
  550. string printerName = new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;
  551. string tmpPrintName = AppDomain.CurrentDomain.BaseDirectory + "\\tmpPrint.xls";
  552. ExportExcel(listP, tmpPrintName, name);
  553. this.printExcel(tmpPrintName, printerName);
  554. }
  555. else if (listP.Count > 0 && list.Count <= 0)
  556. {
  557. string printerName = new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;
  558. string tmpPrintName = AppDomain.CurrentDomain.BaseDirectory + "\\tmpPrint.xls";
  559. ExportExcel(listP, tmpPrintName, name);
  560. this.printExcel(tmpPrintName, printerName);
  561. }
  562. }
  563. private void UIJ060020_Load(object sender, EventArgs e)
  564. {
  565. this.ultraDateTimeEditor1.Value = null;
  566. this.ultraComboEditor1.SelectedIndex = 1;
  567. this.ultraComboEditor2.SelectedIndex = 0;
  568. this.DoQuery();
  569. }
  570. /// <summary>
  571. /// 导出 Excel 文件
  572. /// </summary>
  573. /// <param name="list">要导出的数据</param>
  574. /// <param name="regId">操作人</param>
  575. private void ExportExcel(ArrayList list, String strExcelFileName, string name)
  576. {
  577. if (list == null || list.Count < 1)
  578. {
  579. return;
  580. }
  581. string[] param1 = (string[])list[0];
  582. StreamWriter writer = new StreamWriter(strExcelFileName, false, Encoding.UTF8);
  583. writer.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?> ");
  584. writer.WriteLine("<?mso-application progid=\"Excel.Sheet\"?> ");
  585. writer.WriteLine("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" ");
  586. writer.WriteLine("xmlns:o=\"urn:schemas-microsoft-com:office:office\" ");
  587. writer.WriteLine("xmlns:x=\"urn:schemas-microsoft-com:office:excel\" ");
  588. writer.WriteLine("xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" ");
  589. writer.WriteLine("xmlns:html=\"http://www.w3.org/TR/REC-html40\"> ");
  590. writer.WriteLine("<DocumentProperties xmlns=\"urn:schemas-microsoft-com:office:office\"> ");
  591. writer.WriteLine("<Author>siy</Author> ");
  592. writer.WriteLine("<LastAuthor>siy</LastAuthor> ");
  593. writer.WriteLine("<Created>11111</Created> ");
  594. writer.WriteLine("<Company>steering</Company> ");
  595. writer.WriteLine("<Version>11.8107</Version> ");
  596. writer.WriteLine("</DocumentProperties> ");
  597. writer.WriteLine("<ExcelWorkbook xmlns=\"urn:schemas-microsoft-com:office:excel\"> ");
  598. writer.WriteLine("<WindowHeight>13590</WindowHeight> ");
  599. writer.WriteLine("<WindowWidth>19200</WindowWidth> ");
  600. writer.WriteLine("<WindowTopX>0</WindowTopX> ");
  601. writer.WriteLine("<WindowTopY>285</WindowTopY> ");
  602. writer.WriteLine("<ProtectStructure>False</ProtectStructure> ");
  603. writer.WriteLine("<ProtectWindows>False</ProtectWindows> ");
  604. writer.WriteLine("</ExcelWorkbook> ");
  605. writer.WriteLine("<Styles> ");
  606. writer.WriteLine("<Style ss:ID=\"Default\" ss:Name=\"Normal\"> ");
  607. writer.WriteLine("<Alignment ss:Vertical=\"Center\"/> ");
  608. writer.WriteLine("<Borders/> ");
  609. writer.WriteLine("<Font ss:FontName=\"宋体\" x:CharSet=\"134\" ss:Size=\"12\"/> ");
  610. writer.WriteLine("<Interior/> ");
  611. writer.WriteLine("<NumberFormat/> ");
  612. writer.WriteLine("<Protection/> ");
  613. writer.WriteLine("</Style> ");
  614. writer.WriteLine("<Style ss:ID=\"s11\"> ");
  615. writer.WriteLine("<Alignment ss:Horizontal=\"Center\" ss:Vertical=\"Center\"/> ");
  616. writer.WriteLine("<Borders> ");
  617. writer.WriteLine("<Border ss:Position=\"Bottom\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/>");
  618. writer.WriteLine("<Border ss:Position=\"Left\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  619. writer.WriteLine("<Border ss:Position=\"Right\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  620. writer.WriteLine("<Border ss:Position=\"Top\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  621. writer.WriteLine("</Borders> ");
  622. writer.WriteLine("<Font ss:FontName=\"SimSun\" x:CharSet=\"134\" ss:Size=\"18\" ss:Bold=\"1\"/> ");
  623. writer.WriteLine("<Interior ss:Color=\"#FFFFFF\" ss:Pattern=\"Solid\"/> ");
  624. writer.WriteLine("</Style> ");
  625. writer.WriteLine("<Style ss:ID=\"s21\"> ");
  626. writer.WriteLine("<Alignment ss:Horizontal=\"Left\" ss:Vertical=\"Center\"/> ");
  627. writer.WriteLine("<Borders> ");
  628. writer.WriteLine("<Border ss:Position=\"Bottom\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/>");
  629. writer.WriteLine("<Border ss:Position=\"Left\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  630. writer.WriteLine("<Border ss:Position=\"Right\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  631. writer.WriteLine("<Border ss:Position=\"Top\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\" ss:Color=\"#D8D8D8\"/> ");
  632. writer.WriteLine("</Borders> ");
  633. writer.WriteLine("<Font ss:FontName=\"SimSun\" x:CharSet=\"134\" ss:Size=\"12\" ss:Bold=\"1\"/> ");
  634. writer.WriteLine("<Interior ss:Color=\"#FFFFFF\" ss:Pattern=\"Solid\"/> ");
  635. writer.WriteLine("</Style> ");
  636. writer.WriteLine("<Style ss:ID=\"s22\"> ");
  637. writer.WriteLine("<Alignment ss:Horizontal=\"Center\" ss:Vertical=\"Center\"/> ");
  638. writer.WriteLine("<Borders> ");
  639. writer.WriteLine("<Border ss:Position=\"Bottom\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\"/> ");
  640. writer.WriteLine("<Border ss:Position=\"Left\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\"/> ");
  641. writer.WriteLine("<Border ss:Position=\"Right\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\"/> ");
  642. writer.WriteLine("<Border ss:Position=\"Top\" ss:LineStyle=\"Continuous\" ss:Weight=\"1\"/> ");
  643. writer.WriteLine("</Borders> ");
  644. writer.WriteLine(" <Font ss:FontName=\"SimSun\" x:CharSet=\"134\" ss:Size=\"12\" ss:Bold=\"1\"/> ");
  645. writer.WriteLine("<Interior ss:Color=\"#FFFFFF\" ss:Pattern=\"Solid\"/> ");
  646. writer.WriteLine("</Style> ");
  647. writer.WriteLine("</Styles> ");
  648. writer.WriteLine("<Worksheet ss:Name=\"Sheet1\"> ");
  649. writer.WriteLine("<Table ss:DefaultColumnWidth=\"54\" ss:DefaultRowHeight=\"14.25\"> ");
  650. writer.WriteLine("<Column ss:Width=\"94\"/> ");
  651. writer.WriteLine("<Column ss:Width=\"64\"/> ");
  652. writer.WriteLine("<Column ss:Width=\"94\"/> ");
  653. writer.WriteLine("<Column ss:Width=\"64\"/> ");
  654. writer.WriteLine("<Column ss:Width=\"124\"/> ");
  655. writer.WriteLine("<Column ss:Width=\"64\"/> ");
  656. writer.WriteLine("<Column ss:Width=\"64\"/> ");
  657. writer.WriteLine("<Column ss:Width=\"94\"/> ");
  658. writer.WriteLine("<Row ss:AutoFitHeight=\"0\" ss:Height=\"48\"> ");
  659. writer.WriteLine(" <Cell ss:StyleID=\"s11\" ss:MergeAcross=\"7\"> ");
  660. writer.WriteLine(" <Data ss:Type=\"String\">新余钢铁股份有限公司钢卷发货明细单(" + name + ")</Data> ");
  661. writer.WriteLine(" </Cell> ");
  662. writer.WriteLine("</Row> ");
  663. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  664. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  665. writer.WriteLine(" <Data ss:Type=\"String\">合 同 号:</Data> ");
  666. writer.WriteLine(" </Cell> ");
  667. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  668. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[0] + "</Data> ");
  669. writer.WriteLine(" </Cell> ");
  670. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  671. writer.WriteLine(" <Data ss:Type=\"String\">发货单号:</Data> ");
  672. writer.WriteLine(" </Cell> ");
  673. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"3\"> ");
  674. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[1] + "</Data> ");
  675. writer.WriteLine(" </Cell> ");
  676. writer.WriteLine("</Row> ");
  677. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  678. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  679. writer.WriteLine(" <Data ss:Type=\"String\">用户编码:</Data> ");
  680. writer.WriteLine(" </Cell> ");
  681. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  682. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  683. writer.WriteLine(" </Cell> ");
  684. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  685. writer.WriteLine(" <Data ss:Type=\"String\">发货日:</Data> ");
  686. writer.WriteLine(" </Cell> ");
  687. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  688. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[2] + "</Data> ");
  689. writer.WriteLine(" </Cell> ");
  690. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  691. writer.WriteLine(" <Data ss:Type=\"String\">第" + param1[3] + "号</Data> ");
  692. writer.WriteLine(" </Cell> ");
  693. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  694. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  695. writer.WriteLine(" </Cell> ");
  696. writer.WriteLine("</Row> ");
  697. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  698. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  699. writer.WriteLine(" <Data ss:Type=\"String\">用户名称:</Data> ");
  700. writer.WriteLine(" </Cell> ");
  701. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  702. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[4] + "</Data> ");
  703. writer.WriteLine(" </Cell> ");
  704. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  705. writer.WriteLine(" <Data ss:Type=\"String\">到站:</Data> ");
  706. writer.WriteLine(" </Cell> ");
  707. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  708. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[5] + "</Data> ");
  709. writer.WriteLine(" </Cell> ");
  710. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  711. writer.WriteLine(" <Data ss:Type=\"String\">制表:</Data> ");
  712. writer.WriteLine(" </Cell> ");
  713. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  714. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[6] + "</Data> ");
  715. writer.WriteLine(" </Cell> ");
  716. writer.WriteLine("</Row> ");
  717. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  718. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  719. writer.WriteLine(" <Data ss:Type=\"String\">计划单号:</Data> ");
  720. writer.WriteLine(" </Cell> ");
  721. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  722. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  723. writer.WriteLine(" </Cell> ");
  724. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  725. writer.WriteLine(" <Data ss:Type=\"String\">车号:</Data> ");
  726. writer.WriteLine(" </Cell> ");
  727. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  728. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[7] + "</Data> ");
  729. writer.WriteLine(" </Cell> ");
  730. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  731. writer.WriteLine(" <Data ss:Type=\"String\">收货单位:</Data> ");
  732. writer.WriteLine(" </Cell> ");
  733. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  734. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[8] + "</Data> ");
  735. writer.WriteLine(" </Cell> ");
  736. writer.WriteLine("</Row> ");
  737. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  738. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  739. writer.WriteLine(" <Data ss:Type=\"String\">发货备注:</Data> ");
  740. writer.WriteLine(" </Cell> ");
  741. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  742. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[9] + "</Data> ");
  743. writer.WriteLine(" </Cell> ");
  744. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  745. writer.WriteLine(" <Data ss:Type=\"String\">产品名称:</Data> ");
  746. writer.WriteLine(" </Cell> ");
  747. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  748. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[10] + "</Data> ");
  749. writer.WriteLine(" </Cell> ");
  750. writer.WriteLine(" <Cell ss:StyleID=\"s21\"> ");
  751. writer.WriteLine(" <Data ss:Type=\"String\">标准:</Data> ");
  752. writer.WriteLine(" </Cell> ");
  753. writer.WriteLine(" <Cell ss:StyleID=\"s21\" ss:MergeAcross=\"1\"> ");
  754. writer.WriteLine(" <Data ss:Type=\"String\">" + param1[11] + "</Data> ");
  755. writer.WriteLine(" </Cell> ");
  756. writer.WriteLine("</Row> ");
  757. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  758. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  759. writer.WriteLine(" <Data ss:Type=\"String\">轧批号</Data> ");
  760. writer.WriteLine(" </Cell> ");
  761. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  762. writer.WriteLine(" <Data ss:Type=\"String\">钢号</Data> ");
  763. writer.WriteLine(" </Cell> ");
  764. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  765. writer.WriteLine(" <Data ss:Type=\"String\">规格(厚*宽)mm</Data> ");
  766. writer.WriteLine(" </Cell> ");
  767. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  768. writer.WriteLine(" <Data ss:Type=\"String\">重量(吨)</Data> ");
  769. writer.WriteLine(" </Cell> ");
  770. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  771. writer.WriteLine(" <Data ss:Type=\"String\">钢卷号</Data> ");
  772. writer.WriteLine(" </Cell> ");
  773. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  774. writer.WriteLine(" <Data ss:Type=\"String\">等级</Data> ");
  775. writer.WriteLine(" </Cell> ");
  776. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  777. writer.WriteLine(" <Data ss:Type=\"String\">性能</Data> ");
  778. writer.WriteLine(" </Cell> ");
  779. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  780. writer.WriteLine(" <Data ss:Type=\"String\">草支垫</Data> ");
  781. writer.WriteLine(" </Cell> ");
  782. writer.WriteLine("</Row> ");
  783. int index = 0;
  784. int coilCount = 0;
  785. double wgtCount = 0, sumPkgWgt = 0, sumCzdWgt = 0;
  786. for (; index < list.Count; index++)
  787. {
  788. string[] param = (string[])list[index];
  789. double coilWgt = 0;
  790. double pkgWgt = 0, czdWgt = 0;
  791. try
  792. {
  793. coilWgt = double.Parse(param[15]) / 1000;
  794. pkgWgt = double.Parse(param[21]);
  795. czdWgt = double.Parse(param[20]);
  796. }
  797. catch (Exception ex)
  798. {
  799. }
  800. wgtCount += coilWgt;
  801. sumPkgWgt += pkgWgt;
  802. sumCzdWgt = czdWgt;//草支垫为界面输入整车重量 不需要相加
  803. coilCount++;
  804. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  805. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  806. writer.WriteLine(" <Data ss:Type=\"String\">" + param[12] + "</Data> ");
  807. writer.WriteLine(" </Cell> ");
  808. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  809. writer.WriteLine(" <Data ss:Type=\"String\">" + param[13] + "</Data> ");
  810. writer.WriteLine(" </Cell> ");
  811. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  812. writer.WriteLine(" <Data ss:Type=\"String\">" + param[14] + "</Data> ");
  813. writer.WriteLine(" </Cell> ");
  814. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  815. writer.WriteLine(" <Data ss:Type=\"String\">" + coilWgt + "</Data> ");
  816. writer.WriteLine(" </Cell> ");
  817. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  818. writer.WriteLine(" <Data ss:Type=\"String\">" + param[16] + "</Data> ");
  819. writer.WriteLine(" </Cell> ");
  820. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  821. writer.WriteLine(" <Data ss:Type=\"String\">" + param[17] + "</Data> ");
  822. writer.WriteLine(" </Cell> ");
  823. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  824. writer.WriteLine(" <Data ss:Type=\"String\">" + param[18] + "</Data> ");
  825. writer.WriteLine(" </Cell> ");
  826. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  827. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  828. writer.WriteLine(" </Cell> ");
  829. writer.WriteLine("</Row> ");
  830. }
  831. for (; index < 12; index++)
  832. {
  833. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  834. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  835. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  836. writer.WriteLine(" </Cell> ");
  837. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  838. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  839. writer.WriteLine(" </Cell> ");
  840. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  841. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  842. writer.WriteLine(" </Cell> ");
  843. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  844. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  845. writer.WriteLine(" </Cell> ");
  846. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  847. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  848. writer.WriteLine(" </Cell> ");
  849. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  850. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  851. writer.WriteLine(" </Cell> ");
  852. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  853. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  854. writer.WriteLine(" </Cell> ");
  855. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  856. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  857. writer.WriteLine(" </Cell> ");
  858. writer.WriteLine("</Row> ");
  859. }
  860. writer.WriteLine("<Row ss:AutoFitHeight=\"0\"> ");
  861. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  862. writer.WriteLine(" <Data ss:Type=\"String\">小计</Data> ");
  863. writer.WriteLine(" </Cell> ");
  864. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  865. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  866. writer.WriteLine(" </Cell> ");
  867. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  868. writer.WriteLine(" <Data ss:Type=\"String\">" + coilCount + "卷</Data> ");
  869. writer.WriteLine(" </Cell> ");
  870. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  871. writer.WriteLine(" <Data ss:Type=\"String\">" + wgtCount + "</Data> ");
  872. writer.WriteLine(" </Cell> ");
  873. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  874. writer.WriteLine(" <Data ss:Type=\"String\">包装合计:" + sumPkgWgt + "公斤</Data> ");
  875. writer.WriteLine(" </Cell> ");
  876. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  877. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  878. writer.WriteLine(" </Cell> ");
  879. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  880. writer.WriteLine(" <Data ss:Type=\"String\"></Data> ");
  881. writer.WriteLine(" </Cell> ");
  882. writer.WriteLine(" <Cell ss:StyleID=\"s22\"> ");
  883. writer.WriteLine(" <Data ss:Type=\"String\">合计:" + sumCzdWgt + "公斤</Data> ");
  884. writer.WriteLine(" </Cell> ");
  885. writer.WriteLine("</Row> ");
  886. writer.WriteLine("</Table> ");
  887. writer.WriteLine("<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\"> ");
  888. writer.WriteLine("<Unsynced/> ");
  889. writer.WriteLine("<Selected/> ");
  890. writer.WriteLine("<DoNotDisplayGridlines/> ");
  891. writer.WriteLine("<Panes> ");
  892. writer.WriteLine("<Pane> ");
  893. writer.WriteLine("<Number>3</Number> ");
  894. writer.WriteLine("<ActiveRow>1</ActiveRow> ");
  895. writer.WriteLine("<ActiveCol>1</ActiveCol> ");
  896. writer.WriteLine("</Pane> ");
  897. writer.WriteLine("</Panes> ");
  898. writer.WriteLine("<ProtectObjects>False</ProtectObjects> ");
  899. writer.WriteLine("<ProtectScenarios>False</ProtectScenarios> ");
  900. writer.WriteLine("</WorksheetOptions> ");
  901. writer.WriteLine("</Worksheet> ");
  902. writer.WriteLine("</Workbook> ");
  903. writer.Close();
  904. }
  905. private bool printExcel(string fileName, string printerName)
  906. {
  907. object missing = System.Reflection.Missing.Value;
  908. try
  909. {
  910. if (isExcelInstalled())
  911. {
  912. Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
  913. Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Add(fileName);
  914. //excel.Visible = true;
  915. Microsoft.Office.Interop.Excel._Worksheet ws = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Worksheets["Sheet1"];
  916. ws.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
  917. ws.PrintOut(1, 2, 1, false, printerName, false, false, missing);//"HP LaserJet P1505"
  918. workbook.Saved = true;
  919. workbook.Close(missing, missing, missing);
  920. excel.Quit();
  921. System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
  922. System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
  923. }
  924. else
  925. {
  926. ET.Application et = new ET.Application();
  927. ET._Workbook ewb = et.Workbooks.Add(fileName);
  928. //et.Visible = true;
  929. ET._Worksheet ews = (ET._Worksheet)ewb.Worksheets["Sheet1"];
  930. ews.PageSetup.Orientation = ET.XlPageOrientation.xlLandscape;//"EPSON LQ-1600KIII"
  931. ews.PrintOut(1, 1, 1, false, printerName, false, false, missing, false, 1, 1, 0, 0, false, ET.ETPaperTray.etPrinterDefaultBin, false, ET.ETPaperOrder.etPrinterRepeat);
  932. ewb.Saved = true;
  933. ewb.Close(missing, missing, missing);
  934. et.Quit();
  935. System.Runtime.InteropServices.Marshal.ReleaseComObject(ews);
  936. System.Runtime.InteropServices.Marshal.ReleaseComObject(et);
  937. }
  938. return true;
  939. }
  940. catch (Exception ex)
  941. {
  942. MessageBox.Show(ex.ToString());
  943. return false;
  944. }
  945. }
  946. bool isExcelInstalled()
  947. {
  948. Type type = Type.GetTypeFromProgID("Excel.Application");
  949. return type != null;
  950. }
  951. #region 根据发运指示号选择
  952. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  953. {
  954. try
  955. {
  956. if (e.Cell.Column.Key == "CHK")
  957. {
  958. e.Cell.Row.Update();
  959. if (e.Cell.Value.ToString().ToUpper() == "TRUE")
  960. {
  961. string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text;
  962. Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid1.Rows;
  963. for (int i = 0; i < rs.Count; i++)
  964. {
  965. if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO)
  966. {
  967. rs[i].Cells["CHK"].Value = true;
  968. rs[i].Appearance.ForeColor = System.Drawing.Color.Blue;
  969. if (i.Equals(rs.Count - 1) && 1 == this.ultraComboEditor2.SelectedIndex)
  970. {
  971. this.textBox3.Text = rs[i].Cells["DLIV_DIRNO"].Value.ToString();
  972. }
  973. }
  974. else
  975. {
  976. rs[i].Cells["CHK"].Value = false;
  977. rs[i].Appearance.ForeColor = System.Drawing.Color.Black;
  978. }
  979. }
  980. }
  981. }
  982. }
  983. catch (Exception ex)
  984. {
  985. System.Diagnostics.Debug.WriteLine(ex.ToString());
  986. }
  987. }
  988. #endregion
  989. }
  990. }