e49766529367864e3cca368753dacd1b1afc995c.svn-base 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  1. package xin.glue.ui.G.G04;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import java.text.DateFormat;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. import xin.glue.ui.common.component.PosSiteLog;
  11. import com.posdata.glue.PosException;
  12. import com.posdata.glue.biz.activity.PosActivity;
  13. import com.posdata.glue.biz.constants.PosBizControlConstants;
  14. import com.posdata.glue.biz.control.PosBizControlIF;
  15. import com.posdata.glue.biz.control.PosBizProvider;
  16. import com.posdata.glue.component.PosConstants;
  17. import com.posdata.glue.context.PosContext;
  18. import com.posdata.glue.dao.vo.PosParameter;
  19. import com.posdata.glue.dao.vo.PosRow;
  20. import com.posdata.glue.dao.vo.PosRowSet;
  21. import com.posdata.glue.msg.PosMESMessageImpl;
  22. import com.posdata.glue.msg.PosMessage;
  23. public class SendAlineSlab extends PosActivity{
  24. public String runActivity(PosContext context)
  25. {
  26. String[] FROM_ADDR = (String[])context.get("FROM_ADDR");
  27. String[] SLAB_NO = (String[])context.get("A_SLAB_NO");
  28. String[] A_LINE = (String[])context.get("A_LINE");
  29. //反装标志
  30. //String[] CHK = (String[])context.get("CHK");
  31. //编制号
  32. String[] ROLL_SEQ = (String[])context.get("ROLL_SEQ");
  33. String MsgFlag = " ";
  34. //存在做了计划的板坯被替换掉的情况,因此验证此板坯是否在计划中
  35. PosParameter param111 = new PosParameter();
  36. param111.setWhereClauseParameter(0,SLAB_NO[0] );
  37. PosRowSet slabTH = getDao("mesdao").find("UIG040041_SLAB_TH.SELECT", param111);
  38. if(slabTH.hasNext()){
  39. YardHandle yardhandle = new YardHandle(getDao("mesdao"));
  40. //热送坯料无入库记录,增加入库记录
  41. //2010年5月14日王黎修改,增加【&& !"".equals(FROM_ADDR[0])】
  42. if(FROM_ADDR != null && !"".equals(FROM_ADDR[0]) && !FROM_ADDR[0].equals("A7T") && (FROM_ADDR[0].substring(0, 1).equals("A") || FROM_ADDR[0].substring(0, 1).equals("C"))){
  43. yardhandle.setEntSlabComm(SLAB_NO[0], "Z", "", "1","H");//热送入库 入库类型为热送
  44. }
  45. //FROM LOCATION SLAB CLEAR
  46. yardhandle.clearFromAddrBySlabNo(SLAB_NO[0]);
  47. //清空悬空垛位
  48. SendProg_NIG040200(FROM_ADDR[0]);
  49. //TBG02_SLAB_COMM CUR_LOAD_LOC CLEAR AND MILL_SCH_STAT <-- "A7T"
  50. PosParameter param2 = new PosParameter();
  51. param2.setValueParamter(0, SLAB_NO[0]);
  52. getDao("mesdao").insert("UIG040041_SLAB_CLEAR.update", param2);
  53. if(!A_LINE[0].equals("C1")){
  54. //正装的情况
  55. //RHF LEVEL1 TAKE IN I/F TABLE INSERT
  56. PosParameter paramI = new PosParameter();
  57. paramI.setValueParamter(0, "FML010");
  58. paramI.setValueParamter(1, SLAB_NO[0]);
  59. paramI.setValueParamter(2, A_LINE[0]);
  60. paramI.setValueParamter(3, "C");
  61. paramI.setValueParamter(4, "A7");
  62. getDao("mesdao").update("UIG040042_L1_TAKEIN.insert",paramI);
  63. }else{
  64. //反装的情况,不发送一级
  65. //RHF LEVEL1 TAKE IN I/F TABLE INSERT
  66. // PosParameter paramI = new PosParameter();
  67. // paramI.setValueParamter(0, "FML010");
  68. // paramI.setValueParamter(1, SLAB_NO[0]);
  69. // //A_LINE[0] = C1
  70. // paramI.setValueParamter(2, A_LINE[0]);
  71. // paramI.setValueParamter(3, "C");
  72. // paramI.setValueParamter(4, "C7");
  73. // getDao("mesdao").update("UIG040042_L1_TAKEIN.insert",paramI);
  74. }
  75. //RHF LEVEL2 TAKE IN I/F TABLE INSERT
  76. PosParameter paramJ = new PosParameter();
  77. paramJ.setWhereClauseParameter(0, SLAB_NO[0]);
  78. PosRowSet CoilNoVO = getDao("mesdao").find("UIG040042_COIL_NO.select", paramJ);
  79. if(CoilNoVO.hasNext()) {
  80. PosRow CoilNoROW = CoilNoVO.next();
  81. String CoilNo = (String)CoilNoROW.getAttribute("COIL_NO");
  82. String HCR_CLF = (String)CoilNoROW.getAttribute("HCR_CLF");
  83. CoilComInsert(CoilNo,SLAB_NO[0]);
  84. SendProg_NIB027010(CoilNo);
  85. String OLD_SAMPL_NO = null;
  86. String SMP_DIR_PIC_YN = null;
  87. PosParameter paramL = new PosParameter();
  88. paramL.setWhereClauseParameter(0, CoilNo);
  89. PosRowSet coilComVO = getDao("mesdao").find("UIG040041_COIL_COM.select", paramL);
  90. if (coilComVO.hasNext()) {
  91. PosRow coilComROW = coilComVO.next();
  92. OLD_SAMPL_NO = (String)coilComROW.getAttribute("OLD_SAMPL_NO");
  93. SMP_DIR_PIC_YN = (String)coilComROW.getAttribute("SMP_DIR_PIC_YN");
  94. logger.logInfo("SendAlineSlab---> OLD_SAMPL_NO:"+OLD_SAMPL_NO );
  95. logger.logInfo("SendAlineSlab---> SMP_DIR_PIC_YN:"+SMP_DIR_PIC_YN );
  96. }
  97. if(!A_LINE[0].equals("C1")){
  98. //正装
  99. PosParameter param3 = new PosParameter();
  100. param3.setValueParamter(0, "HMFU30");
  101. param3.setValueParamter(1, A_LINE[0]);
  102. param3.setValueParamter(2, SLAB_NO[0]);
  103. param3.setValueParamter(3, OLD_SAMPL_NO);
  104. getDao("mesdao").insert("UIG040042_L2_TAKEIN.insert", param3);
  105. }else{
  106. //反装的情况不发送一级电文
  107. // PosParameter param3 = new PosParameter();
  108. //
  109. // param3.setValueParamter(0, "HMFU30");
  110. // //A_LINE[0] = C1
  111. // param3.setValueParamter(1, A_LINE[0]);
  112. // param3.setValueParamter(2, SLAB_NO[0]);
  113. // param3.setValueParamter(3, CoilNo);
  114. // getDao("mesdao").insert("UIG040042_L2_TAKEIN.insert", param3);
  115. }
  116. //插入给数值化部的电文 2023-08-29 wl
  117. PosParameter paramh = new PosParameter();
  118. paramh.setValueParamter(0, SLAB_NO[0]);
  119. paramh.setValueParamter(1, CoilNo);
  120. paramh.setValueParamter(2, SLAB_NO[0]);
  121. getDao("mesdao").insert("UIG040041_hcoil_pdi_hjq.insert", paramh);
  122. PosParameter paramK = new PosParameter();
  123. paramK.setWhereClauseParameter(0, SLAB_NO[0].substring(0,10));
  124. paramK.setWhereClauseParameter(1, SLAB_NO[0]);
  125. paramK.setWhereClauseParameter(2, CoilNo);
  126. paramK.setWhereClauseParameter(3, SLAB_NO[0].substring(0,10));
  127. PosRowSet chemVO = getDao("mesdao").find("UIG040041_CHEM_RST.select", paramK);
  128. if(chemVO.hasNext()) {
  129. PosRow chemROW = chemVO.next();
  130. String CHEM_CLF = (String)chemROW.getAttribute("CHEM_CLF");
  131. String AL = (String)chemROW.getAttribute("AL");
  132. String AS_T = (String)chemROW.getAttribute("AS_T");
  133. String B = (String)chemROW.getAttribute("B");
  134. String BE = (String)chemROW.getAttribute("BE");
  135. String BI = (String)chemROW.getAttribute("BI");
  136. String C = (String)chemROW.getAttribute("C");
  137. String CA = (String)chemROW.getAttribute("CA");
  138. String CE = (String)chemROW.getAttribute("CE");
  139. String CO = (String)chemROW.getAttribute("CO");
  140. String CR = (String)chemROW.getAttribute("CR");
  141. String CU = (String)chemROW.getAttribute("CU");
  142. String H = (String)chemROW.getAttribute("H");
  143. String LA = (String)chemROW.getAttribute("LA");
  144. String MG = (String)chemROW.getAttribute("MG");
  145. String MN = (String)chemROW.getAttribute("MN");
  146. String MO = (String)chemROW.getAttribute("MO");
  147. String N = (String)chemROW.getAttribute("N");
  148. String NB = (String)chemROW.getAttribute("NB");
  149. String NI = (String)chemROW.getAttribute("NI");
  150. String O = (String)chemROW.getAttribute("O");
  151. String P = (String)chemROW.getAttribute("P");
  152. String PB = (String)chemROW.getAttribute("PB");
  153. String PD = (String)chemROW.getAttribute("PD");
  154. String S = (String)chemROW.getAttribute("S");
  155. String SB = (String)chemROW.getAttribute("SB");
  156. String SE = (String)chemROW.getAttribute("SE");
  157. String SI = (String)chemROW.getAttribute("SI");
  158. String SN = (String)chemROW.getAttribute("SN");
  159. String TA = (String)chemROW.getAttribute("TA");
  160. String TE = (String)chemROW.getAttribute("TE");
  161. String TI = (String)chemROW.getAttribute("TI");
  162. String V = (String)chemROW.getAttribute("V");
  163. String W = (String)chemROW.getAttribute("W");
  164. String ZN = (String)chemROW.getAttribute("ZN");
  165. String ZR = (String)chemROW.getAttribute("ZR");
  166. // if (CHEM_CLF != null && CHEM_CLF.equals("1")) {
  167. //取出轧辊单元号,唯一标识
  168. PosParameter params = new PosParameter();
  169. params.setValueParamter(0, AL );
  170. params.setValueParamter(1 , AS_T );
  171. params.setValueParamter(2 , B );
  172. params.setValueParamter(3 , BE );
  173. params.setValueParamter(4 , BI );
  174. params.setValueParamter(5 , C );
  175. params.setValueParamter(6 , CA );
  176. params.setValueParamter(7 , CE );
  177. params.setValueParamter(8 , CO );
  178. params.setValueParamter(9 , CR );
  179. params.setValueParamter(10, CU );
  180. params.setValueParamter(11, H );
  181. params.setValueParamter(12, LA );
  182. params.setValueParamter(13, MG );
  183. params.setValueParamter(14, MN );
  184. params.setValueParamter(15, MO );
  185. params.setValueParamter(16, N );
  186. params.setValueParamter(17, NB );
  187. params.setValueParamter(18, NI );
  188. params.setValueParamter(19, O );
  189. params.setValueParamter(20, P );
  190. params.setValueParamter(21, PB );
  191. params.setValueParamter(22, PD );
  192. params.setValueParamter(23, S );
  193. params.setValueParamter(24, SB );
  194. params.setValueParamter(25, SE );
  195. params.setValueParamter(26, SI );
  196. params.setValueParamter(27, SN );
  197. params.setValueParamter(28, TA );
  198. params.setValueParamter(29, TE );
  199. params.setValueParamter(30, TI );
  200. params.setValueParamter(31, V );
  201. params.setValueParamter(32, W );
  202. params.setValueParamter(33, ZN );
  203. params.setValueParamter(34, ZR );
  204. params.setValueParamter(35, OLD_SAMPL_NO);
  205. params.setValueParamter(36, SMP_DIR_PIC_YN);
  206. params.setValueParamter(37, SLAB_NO[0]);
  207. params.setValueParamter(38, CoilNo);
  208. params.setValueParamter(39, SLAB_NO[0]);
  209. getDao("mesdao").insert("UIG040041_L2_MILL_INS.update", params);
  210. //给加热炉也需要发送真实钢卷号,所以需要放开
  211. PosParameter paramT = new PosParameter();
  212. paramT.setValueParamter(0 , AL );
  213. paramT.setValueParamter(1 , AS_T);
  214. paramT.setValueParamter(2 , B );
  215. paramT.setValueParamter(3 , BE );
  216. paramT.setValueParamter(4 , BI );
  217. paramT.setValueParamter(5 , C );
  218. paramT.setValueParamter(6 , CA );
  219. paramT.setValueParamter(7 , CE );
  220. paramT.setValueParamter(8 , CO );
  221. paramT.setValueParamter(9 , CR );
  222. paramT.setValueParamter(10, CU );
  223. paramT.setValueParamter(11, H );
  224. paramT.setValueParamter(12, LA );
  225. paramT.setValueParamter(13, MG );
  226. paramT.setValueParamter(14, MN );
  227. paramT.setValueParamter(15, MO );
  228. paramT.setValueParamter(16, N );
  229. paramT.setValueParamter(17, NB );
  230. paramT.setValueParamter(18, NI );
  231. paramT.setValueParamter(19, O );
  232. paramT.setValueParamter(20, P );
  233. paramT.setValueParamter(21, S );
  234. paramT.setValueParamter(22, SB );
  235. paramT.setValueParamter(23, SE );
  236. paramT.setValueParamter(24, SI );
  237. paramT.setValueParamter(25, TI );
  238. paramT.setValueParamter(26, SN );
  239. paramT.setValueParamter(27, TA );
  240. paramT.setValueParamter(28, TE );
  241. paramT.setValueParamter(29, PB );
  242. paramT.setValueParamter(30, PD );
  243. paramT.setValueParamter(31, V );
  244. paramT.setValueParamter(32, W );
  245. paramT.setValueParamter(33, ZN );
  246. paramT.setValueParamter(34, ZR );
  247. paramT.setValueParamter(35, OLD_SAMPL_NO);
  248. paramT.setValueParamter(36, CoilNo);
  249. paramT.setValueParamter(37, SLAB_NO[0]);
  250. paramT.setValueParamter(38, SLAB_NO[0]);
  251. getDao("mesdao").insert("UIG040041_L2_RHT_INS.update", paramT);
  252. //只有获取到成份信息,才能提示上料成功
  253. String Dtime = null;
  254. //在执行完后,清除一次电文表。避免以后主键冲突
  255. DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  256. Dtime = formatter.format(new Date());
  257. logger.logDebug("SendAlineSlab 里面,获取系统时间:"+Dtime);
  258. PosParameter paramTT = new PosParameter();
  259. paramTT.setWhereClauseParameter(0, String.valueOf((Integer.parseInt(Dtime) -3)));
  260. getDao("mesdao").delete("UIG040042_L1_SLAB_TAKEIN.delete", paramTT);
  261. MsgFlag = "OK";
  262. context.put("MsgFlag", MsgFlag);
  263. // }
  264. }else{
  265. //如果没有获取到成份数据,在前台界面给出提示。
  266. logger.logDebug("SendAlineSlab 输入的板坯号获取成份信息失败! ");
  267. String vtemp="SLABCHEM";
  268. context.put("MsgFlag", vtemp);
  269. this.rollbackTransaction("tx1");
  270. }
  271. }else{
  272. //板坯号在计划表中不存在,这里是因为上料板坯不存在计划中
  273. logger.logDebug("SendAlineSlab 输入的板坯号在轧制计划表 TBF02_SPEC_MILL 中不存在! ");
  274. String vtemp="SLABERROR";
  275. context.put("MsgFlag", vtemp);
  276. }
  277. }else{
  278. //这里返回前台,给出板坯号不在轧制计划中的提示。这里是因为板坯替换导致
  279. logger.logDebug("SendAlineSlab 输入的板坯号在轧制计划表 TBF02_SPEC_MILL 中不存在! ");
  280. String vtemp="SLABTH";
  281. context.put("MsgFlag", vtemp);
  282. }
  283. return PosBizControlConstants.SUCCESS;
  284. }
  285. public void CoilComInsert(String coilNo ,String slabNo )
  286. {
  287. String stlGrd = "";
  288. //真实钢号,品质需要
  289. String specstlGrd = "";
  290. String specAbbsym = "";
  291. String delvReqData = "";
  292. String ordNo = "";
  293. String ordSeq = "";
  294. String ordUseageCd = "";
  295. String route = "";
  296. BigDecimal slabEdtSeq = null;
  297. String SPEC_ORD_FL = null;
  298. String SPM_PROC_YN = null;
  299. String SPEC_ORD_CUST_CD = null;
  300. String SPEC_PATH_MILL_CD = null;
  301. String SPEC_PACK_METHOD = null;
  302. Number SPEC_ORD_INDIA = null;
  303. Number SPEC_ORD_OUTDIA = null;
  304. Number SPEC_ORD_THK = null;
  305. Number SPEC_ORD_WTH = null;
  306. Number SPEC_ORD_WGT = null;
  307. String SPEC_DEST_CD = null;
  308. String coilCutSeq = "";
  309. BigDecimal ordThk = null;
  310. BigDecimal ordWth = null;
  311. BigDecimal ordLen = null;
  312. BigDecimal ordWgt = null;
  313. BigDecimal ordWgtMin = null;
  314. BigDecimal ordWgtMax = null;
  315. BigDecimal ordIndia = null;
  316. BigDecimal ordOutdia = null;
  317. String ordNo1 = "";
  318. String ordSeq1 = "";
  319. String ordFl = "";
  320. String ProdnmCd = "";
  321. String CUST_CD = "";
  322. PosParameter param0 = new PosParameter();
  323. //PosParameter param1 = new PosParameter();
  324. PosParameter param2 = new PosParameter();
  325. PosParameter param3 = new PosParameter();
  326. PosParameter param4 = new PosParameter();
  327. PosParameter param5 = new PosParameter();
  328. param0.setWhereClauseParameter(0, coilNo);
  329. PosRowSet rowset0 = this.getDao("mesdao").find("NIH020020_02.select", param0);
  330. if(rowset0.hasNext())
  331. {
  332. PosRow row0 = rowset0.next();
  333. stlGrd = (String)row0.getAttribute("STL_GRD");
  334. specstlGrd = (String)row0.getAttribute("SPEC_STL_GRD");
  335. specAbbsym = (String)row0.getAttribute("SPEC_ABBSYM");
  336. delvReqData = (String)row0.getAttribute("DELV_REQ_DATE");
  337. ordNo = (String)row0.getAttribute("ORD_NO");
  338. ordSeq = (String)row0.getAttribute("ORD_SEQ");
  339. ordUseageCd = (String)row0.getAttribute("ORD_USEAGE_CD");
  340. route = (String)row0.getAttribute("ROUTE");
  341. slabEdtSeq = (BigDecimal)row0.getAttribute("SLAB_EDT_SEQ");
  342. ProdnmCd = (String)row0.getAttribute("PRODNM_CD");
  343. SPEC_ORD_FL = "1";
  344. SPM_PROC_YN = (String)row0.getAttribute("SPM_PROC_YN");
  345. SPEC_ORD_CUST_CD = (String)row0.getAttribute("ORD_CUST_CD");
  346. SPEC_PATH_MILL_CD = (String)row0.getAttribute("PATH_MILL_CD");
  347. SPEC_PACK_METHOD = (String)row0.getAttribute("PACK_METHOD");
  348. SPEC_ORD_INDIA = (Number)row0.getAttribute("ORD_INDIA");
  349. SPEC_ORD_OUTDIA = (Number)row0.getAttribute("ORD_OUTDIA");
  350. SPEC_ORD_THK = (Number)row0.getAttribute("ORD_THK");
  351. SPEC_ORD_WTH = (Number)row0.getAttribute("ORD_WTH");
  352. SPEC_ORD_WGT = (Number)row0.getAttribute("ORD_WGT");
  353. SPEC_DEST_CD = (String)row0.getAttribute("DEST_CD");
  354. CUST_CD = (String)row0.getAttribute("CUST_CD");
  355. }
  356. String SpmYn = null;
  357. if (SPM_PROC_YN != null && SPM_PROC_YN.equals("Y")) {
  358. SpmYn = "1";
  359. } else {
  360. SpmYn = "";
  361. }
  362. param3.setWhereClauseParameter(0, coilNo);
  363. param3.setWhereClauseParameter(1, slabNo);
  364. PosRowSet rowset3 = this.getDao("mesdao").find("NIH020020_05.select", param3);
  365. if(!rowset3.hasNext())
  366. {
  367. param4.setValueParamter(0, coilNo);
  368. param4.setValueParamter(1, slabNo);
  369. param4.setValueParamter(2, stlGrd);
  370. param4.setValueParamter(3, "0");
  371. param4.setValueParamter(4, specAbbsym);
  372. param4.setValueParamter(5, delvReqData);
  373. param4.setValueParamter(6, ordNo);
  374. param4.setValueParamter(7, ordSeq);
  375. param4.setValueParamter(8, ordUseageCd);
  376. param4.setValueParamter(9, route);
  377. param4.setValueParamter(10, ProdnmCd);
  378. param4.setValueParamter(11, SPEC_ORD_FL);
  379. param4.setValueParamter(12, SpmYn);
  380. param4.setValueParamter(13, SPEC_ORD_CUST_CD);
  381. param4.setValueParamter(14, SPEC_PATH_MILL_CD);
  382. param4.setValueParamter(15, SPEC_PACK_METHOD);
  383. param4.setValueParamter(16, SPEC_ORD_INDIA);
  384. param4.setValueParamter(17, SPEC_ORD_OUTDIA);
  385. param4.setValueParamter(18, SPEC_ORD_THK);
  386. param4.setValueParamter(19, SPEC_ORD_WTH);
  387. param4.setValueParamter(20, SPEC_ORD_WGT);
  388. param4.setValueParamter(21, SPEC_DEST_CD);
  389. param4.setValueParamter(22, SPEC_ORD_INDIA);
  390. param4.setValueParamter(23, "SendAlineSlab");
  391. param4.setValueParamter(24, CUST_CD);
  392. param4.setValueParamter(25, ordNo);
  393. param4.setValueParamter(26, ordSeq);
  394. param4.setValueParamter(27, specstlGrd);
  395. int rowset4 = this.getDao("mesdao").insert("NIH020020_02.insert", param4);
  396. param2.setWhereClauseParameter(0, slabEdtSeq);
  397. PosRowSet rowset2 = this.getDao("mesdao").find("NIH020020_04.select",param2);
  398. while(rowset2.hasNext())
  399. {
  400. PosRow row2 = rowset2.next();
  401. coilCutSeq = (String)row2.getAttribute("COIL_CUT_SEQ");
  402. ordThk = (BigDecimal)row2.getAttribute("ORD_THK");
  403. ordWth = (BigDecimal)row2.getAttribute("ORD_WTH");
  404. ordLen = (BigDecimal)row2.getAttribute("ORD_LEN");
  405. ordWgt = (BigDecimal)row2.getAttribute("ORD_WGT");
  406. ordWgtMin = (BigDecimal)row2.getAttribute("ORD_WGT_MIN");
  407. ordWgtMax = (BigDecimal)row2.getAttribute("ORD_WGT_MAX");
  408. ordIndia = (BigDecimal)row2.getAttribute("ORD_INDIA");
  409. ordOutdia = (BigDecimal)row2.getAttribute("ORD_OUTDIA");
  410. ordNo1 = (String)row2.getAttribute("ORD_NO");
  411. ordSeq1 = (String)row2.getAttribute("ORD_SEQ");
  412. ordFl = (String)row2.getAttribute("ORD_FL");
  413. param5 = new PosParameter();
  414. param5.setValueParamter(0, coilNo);
  415. param5.setValueParamter(1, coilCutSeq);
  416. param5.setValueParamter(2, ordThk);
  417. param5.setValueParamter(3, ordWth);
  418. param5.setValueParamter(4, ordLen);
  419. param5.setValueParamter(5, ordWgt);
  420. param5.setValueParamter(6, ordWgtMin);
  421. param5.setValueParamter(7, ordWgtMax);
  422. param5.setValueParamter(8, ordIndia);
  423. param5.setValueParamter(9, ordOutdia);
  424. param5.setValueParamter(10, ordNo1);
  425. param5.setValueParamter(11, ordSeq1);
  426. param5.setValueParamter(12, ordFl);
  427. int rowset5 = this.getDao("mesdao").insert("NIH020020_03.insert",param5);
  428. }
  429. }
  430. }
  431. public void SendProg_NIB027010(String coilNo )
  432. {
  433. CallableStatement PlRtn = getDao("mesdao").getCallableStatement("NIH020020_NIB027010");
  434. logger.logInfo("SendAlineSlab---> NIB027010 TC try" );
  435. try {
  436. if(PlRtn != null) {
  437. PlRtn.setString(1,coilNo);
  438. //新增加一?字段,?了??的?候使用
  439. PlRtn.setString(2,"");
  440. PlRtn.registerOutParameter(3, java.sql.Types.VARCHAR);
  441. PlRtn.registerOutParameter(4, java.sql.Types.VARCHAR);
  442. PlRtn.execute();
  443. String sRetCode = PlRtn.getString(3);
  444. String sRetMsg = PlRtn.getString(4);
  445. logger.logInfo("SendAlineSlab---> NIB027010 TC PlRtn1:["+sRetCode+"]:"+ sRetMsg);
  446. } else {
  447. logger.logInfo("SendAlineSlab---> NIB027010 PlRtn2:"+PlRtn );
  448. }
  449. } catch (SQLException e) {
  450. throw new PosException(e.getMessage());
  451. }finally
  452. {
  453. if (PlRtn != null)
  454. {
  455. try
  456. {
  457. PlRtn.close();
  458. }
  459. catch (SQLException e)
  460. {
  461. logger.logWarn(e.getMessage(), e);
  462. logger.logInfo("SendAlineSlab---> NIB027010 SQLException:"+e );
  463. }
  464. }
  465. }
  466. }
  467. public String SendProg_NIG040200(String yardAddr)
  468. {
  469. logger.logInfo("PosSaveSlabCutting---> yardAddr:"+yardAddr );
  470. PosContext context = new PosContext();
  471. PosMessage message = new PosMESMessageImpl();
  472. String TcId = "NIG040200";
  473. message.setTCID(TcId);
  474. message.setObject("MSG_ID",TcId);
  475. message.setObject("YARD_ADDR",yardAddr);
  476. context.setMessage(message);
  477. message.setTCID(TcId);
  478. String SERVICE_POSTFIX = "-service";
  479. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  480. PosBizProvider.getController().doSubController(context, false);
  481. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  482. logger.logInfo("PosSaveSlabCutting SendProg_NIE012070 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG );
  483. if (SERVICE_ERR_MSG != null)
  484. {
  485. throw new PosException(SERVICE_ERR_MSG);
  486. }
  487. return null;
  488. }
  489. public String SendProg_NIG040300(String slabNo)
  490. {
  491. logger.logInfo("PosSaveSlabCutting---> yardAddr:"+slabNo );
  492. PosContext context = new PosContext();
  493. PosMessage message = new PosMESMessageImpl();
  494. PosParameter param = new PosParameter();
  495. param.setWhereClauseParameter(0, slabNo);
  496. PosRowSet rowset = getDao("mesdao").find("UIG040400_02.select", param);
  497. if(rowset.hasNext()){
  498. PosRow row = rowset.next();
  499. String facClf = "R"; //J liangang R rezha
  500. String stlGrd = (String)row.getAttribute("STL_GRD");
  501. String slabThk = (String)row.getAttribute("SLAB_THK");
  502. String slabWth = (String)row.getAttribute("SLAB_WTH");
  503. String slabLen = (String)row.getAttribute("SLAB_LEN");
  504. String slabWgt = (String)row.getAttribute("SLAB_WGT");
  505. DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
  506. String slabExitTime = formatter.format(new Date());
  507. String slabExitShift = "";
  508. String slabExitGroup = "";
  509. String slabExitId = "";
  510. String slabExitType = (String)row.getAttribute("SLAB_EXIT_TYPE");
  511. String rollNo = (String)row.getAttribute("ROLL_MANA_NO");
  512. String TcId = "NIG040300";
  513. message.setTCID(TcId);
  514. message.setObject("MSG_ID",TcId);
  515. message.setObject("FAC_CLF",facClf);
  516. message.setObject("SLAB_NO",slabNo);
  517. message.setObject("STL_GRD",stlGrd);
  518. message.setObject("SLAB_THK",slabThk);
  519. message.setObject("SLAB_WTH",slabWth);
  520. message.setObject("SLAB_LEN",slabLen);
  521. message.setObject("SLAB_WGT",slabWgt);
  522. message.setObject("SMS_YARD_EXIT_DTIME",slabExitTime);
  523. message.setObject("SMS_YARD_EXIT_SHIFT",slabExitShift);
  524. message.setObject("SMS_YARD_EXIT_GROUP",slabExitGroup);
  525. message.setObject("SMS_YARD_EXIT_ID",slabExitId);
  526. message.setObject("SLAB_EXIT_TYPE",slabExitType);
  527. message.setObject("ROLL_MANA_NO",rollNo);
  528. context.setMessage(message);
  529. message.setTCID(TcId);
  530. String SERVICE_POSTFIX = "-service";
  531. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  532. PosBizProvider.getController().doSubController(context, false);
  533. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  534. logger.logInfo("PosSaveSlabCutting SendProg_NIG040300 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG );
  535. if (SERVICE_ERR_MSG != null)
  536. {
  537. throw new PosException(SERVICE_ERR_MSG);
  538. }
  539. }
  540. return null;
  541. }
  542. }