d490846a21407dfc137b32aa163c58cc11aaadba.svn-base 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. package xin.glue.ui.H.H02;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import xin.glue.ui.common.ProduceFactory;
  6. import com.posdata.glue.PosException;
  7. import com.posdata.glue.biz.activity.PosActivity;
  8. import com.posdata.glue.biz.constants.PosBizControlConstants;
  9. import com.posdata.glue.biz.control.PosBizControlIF;
  10. import com.posdata.glue.biz.control.PosBizProvider;
  11. import com.posdata.glue.component.PosConstants;
  12. import com.posdata.glue.context.PosContext;
  13. import com.posdata.glue.dao.vo.PosParameter;
  14. import com.posdata.glue.dao.vo.PosRow;
  15. import com.posdata.glue.dao.vo.PosRowSet;
  16. import com.posdata.glue.msg.PosMESMessageImpl;
  17. import com.posdata.glue.msg.PosMessage;
  18. /*
  19. * author:王小炎
  20. * date:2008-10-7
  21. * desc:加热炉出炉操作,修改,插入
  22. */
  23. public class PosSaveOutHeatFurnace extends PosActivity
  24. {
  25. public String runActivity(PosContext context)
  26. {
  27. //从页面获取参数数据,供更新页面使用
  28. String[] slabNo = (String[])context.get("SLAB_NO");
  29. String[] devNo = (String[])context.get("DEVNO");
  30. String[] coilNo = (String[])context.get("COIL_NO");
  31. //出炉时刻
  32. String[] extractDtime = (String[])context.get("EXTRACT_DTIME");
  33. //在炉时间
  34. String[] infurHour = (String[])context.get("INFUR_HOUR");
  35. //出炉平均温度
  36. String[] extractAvgTemp = (String[])context.get("EXTRACT_AVG_TEMP");
  37. //均热台在炉时间
  38. String[] eqHtInfurHour = (String[])context.get("EQ_HT_INFUR_HOUR");
  39. //均热台温度
  40. String[] eqHtTemp = (String[])context.get("EQ_HT_TEMP");
  41. String[] WkShift = (String[])context.get("WK_SHIFT2");
  42. String[] WkGroup = (String[])context.get("WK_GROUP2");
  43. String[] RegId = (String[])context.get("WK_EMP_NO2");
  44. //从TBF02_SPEC_MILL_D中获取的将要插入到TBH02_COIL_COMM_D中的字段
  45. String coilCutSeq = "";
  46. BigDecimal ordThk = null;
  47. BigDecimal ordWth = null;
  48. BigDecimal ordLen = null;
  49. BigDecimal ordWgt = null;
  50. BigDecimal ordWgtMin = null;
  51. BigDecimal ordWgtMax = null;
  52. BigDecimal ordIndia = null;
  53. BigDecimal ordOutdia = null;
  54. String ordNo = "";
  55. String ordSeq = "";
  56. String ordFl = "";
  57. /*
  58. * COIL_NO为条件对COIL公用TANBLE 进行SELECT之后是 KEY NOT FOUND时
  59. * 1. 轧制SPEC TABLE(TBF02_SPEC_MILL) DATA录入到钢卷公共表(TBH02_COIL_COMM)中
  60. * 录入DATA: 钢号, 规格略号, 交货期, 订单用途代码, 订单去向
  61. * 2. 板坯公共表(tbg02_slab_comm) data 录入到钢卷公共表(TBH02_COIL_COMM)中
  62. * 录入data: 产品代码
  63. * 3. 轧制SPEC详细TABLE(TBF02_SPEC_MILL_D) DATA录入处理到COIL公用详细TABLE
  64. * (TBH02_COIL_COMM_D)中
  65. *
  66. */
  67. //1. 轧制SPEC TABLE(TBF02_SPEC_MILL) DATA录入到钢卷公共表(TBH02_COIL_COMM)中
  68. //录入DATA: 钢号, 规格略号, 交货期, 订单用途代码, 订单去向
  69. String SPEC_STL_GRD = null;
  70. String SPEC_SPEC_ABBSYM = null;
  71. String SPEC_ORD_NO = null;
  72. String SPEC_ORD_SEQ = null;
  73. String SPEC_ORD_USE_CD = null;
  74. String SPEC_PRODNM_CD = null;
  75. String SPEC_ORD_FL = null;
  76. String SPM_PROC_YN = null;
  77. String SPEC_ORD_CUST_CD = null;
  78. String SPEC_DEVLMT_DTIME = null;
  79. String SPEC_PATH_MILL_CD = null;
  80. String SPEC_PACK_METHOD = null;
  81. Number SPEC_ORD_INDIA = null;
  82. Number SPEC_ORD_OUTDIA = null;
  83. Number SPEC_ORD_THK = null;
  84. Number SPEC_ORD_WTH = null;
  85. Number SPEC_ORD_WGT = null;
  86. String SPEC_DEST_CD = null;
  87. String route = ""; //订单去向
  88. String STATUS_CD = null;
  89. String MsgChk = null;
  90. String CUST_CD = "";
  91. PosParameter param3 = new PosParameter();
  92. param3.setWhereClauseParameter(0,slabNo[0] );
  93. param3.setWhereClauseParameter(1,coilNo[0] );
  94. PosRowSet SpecMillVo = getDao("mesdao").find("NIH020020_SPEC_MILL.select", param3);
  95. //这里钢卷号不存在轧制信息表的话,不允许把空值放入钢卷信息表中
  96. //这里把存在于轧制计划作为先决条件,不存在话下面的操作就都不能进行
  97. if(SpecMillVo.hasNext())
  98. {
  99. //从TBF02_SPEC_MILL中获取的将要插入到TBH02_COIL_COMM中的字段赋值
  100. PosRow SpecMillROW = SpecMillVo.next();
  101. STATUS_CD = (String)SpecMillROW.getAttribute("STATUS_CD");
  102. //这里判断一次钢卷号与板坯号是否配对,如果输入的板坯号与钢卷号不是在轧制计划中配对的。给出错误提示
  103. String Coil_No_Spec = (String)SpecMillROW.getAttribute("COIL_NO");
  104. if(Coil_No_Spec.equals(coilNo[0]) && Coil_No_Spec != null){
  105. if (STATUS_CD.equals("B")) {
  106. //钢号
  107. SPEC_STL_GRD = (String)SpecMillROW.getAttribute("STL_GRD");
  108. //标准号
  109. SPEC_SPEC_ABBSYM = (String)SpecMillROW.getAttribute("SPEC_ABBSYM");
  110. //合同号
  111. SPEC_ORD_NO = (String)SpecMillROW.getAttribute("ORD_NO");
  112. //订单号
  113. SPEC_ORD_SEQ = (String)SpecMillROW.getAttribute("ORD_SEQ");
  114. //订单用途代码
  115. SPEC_ORD_USE_CD = (String)SpecMillROW.getAttribute("ORD_USEAGE_CD");
  116. //产品代码
  117. SPEC_PRODNM_CD = (String)SpecMillROW.getAttribute("PRODNM_CD");
  118. //产品余材区分 这里黄次长写明为1,在管制表中具体代表的东西不确定
  119. SPEC_ORD_FL = "1";
  120. //平整分卷判定
  121. SPM_PROC_YN = (String)SpecMillROW.getAttribute("SPM_PROC_YN");
  122. //需要进行平整分卷标志的转换
  123. String SpmYn = null;
  124. if (SPM_PROC_YN != null && SPM_PROC_YN.equals("Y")) {
  125. SpmYn = "1";
  126. } else {
  127. SpmYn = "";
  128. }
  129. //客户代码
  130. SPEC_ORD_CUST_CD = (String)SpecMillROW.getAttribute("ORD_CUST_CD");
  131. //交货期
  132. SPEC_DEVLMT_DTIME = (String)SpecMillROW.getAttribute("DELV_REQ_DATE");
  133. //轧制工艺流程
  134. SPEC_PATH_MILL_CD = (String)SpecMillROW.getAttribute("PATH_MILL_CD");
  135. //包装方法
  136. SPEC_PACK_METHOD = (String)SpecMillROW.getAttribute("PACK_METHOD");
  137. //订单内径
  138. SPEC_ORD_INDIA = (Number)SpecMillROW.getAttribute("ORD_INDIA");
  139. //订单外径
  140. SPEC_ORD_OUTDIA = (Number)SpecMillROW.getAttribute("ORD_OUTDIA");
  141. //订单厚度
  142. SPEC_ORD_THK = (Number)SpecMillROW.getAttribute("ORD_THK");
  143. //订单宽度
  144. SPEC_ORD_WTH = (Number)SpecMillROW.getAttribute("ORD_WTH");
  145. //订单重量
  146. SPEC_ORD_WGT = (Number)SpecMillROW.getAttribute("ORD_WGT");
  147. //目的地代码
  148. SPEC_DEST_CD = (String)SpecMillROW.getAttribute("DEST_CD");
  149. //去向信息没有处理 在自动接收中存在,所以添加进来
  150. route = (String)SpecMillROW.getAttribute("ROUTE");
  151. CUST_CD = (String)SpecMillROW.getAttribute("CUST_CD");
  152. //轧制计划没有取SQL中的而是在下面再取了一次 slabEditSeq
  153. //2. 板坯公共表(tbg02_slab_comm) data 录入到钢卷公共表(TBH02_COIL_COMM)中
  154. //录入data: 产品代码
  155. Number SlabWgt = null;
  156. String BefProgCd = null;
  157. PosParameter param6 = new PosParameter();
  158. param6.setWhereClauseParameter(0,slabNo[0] );
  159. PosRowSet rowset5 = getDao("mesdao").find("UIH020020_05.select", param6);
  160. if (rowset5.hasNext())
  161. {
  162. //用于发送进程的信息SendProg_NIE012070
  163. PosRow row1 = rowset5.next();
  164. SlabWgt = (Number)row1.getAttribute("SLAB_WGT");
  165. BefProgCd = (String)row1.getAttribute("CUR_PROG_CD");
  166. //3. 轧制SPEC详细TABLE(TBF02_SPEC_MILL_D) DATA录入处理到COIL公用详细TABLE(TBH02_COIL_COMM_D)中
  167. String sql5 = "select SLAB_EDT_SEQ from TBF02_SPEC_MILL where COIL_NO = ? and SLAB_no = ? ";
  168. PosParameter param7 = new PosParameter();
  169. BigDecimal slabEditSeq = null;
  170. param7.setWhereClauseParameter(0,coilNo[0] );
  171. param7.setWhereClauseParameter(1,slabNo[0] );
  172. PosRowSet rowset6 = getDao("mesdao").findByQueryStatement(sql5, param7);
  173. while(rowset6.hasNext())
  174. {
  175. PosRow row2 = rowset6.next();
  176. slabEditSeq = (BigDecimal)row2.getAttribute("SLAB_EDT_SEQ");
  177. }
  178. //查询 TBH02_COIL_COMM 如果已经有值,则进行修改操作,否则插入
  179. String sql3 = "select * from TBH02_COIL_COMM where COIL_NO = ?";
  180. PosParameter param4 = new PosParameter();
  181. param4.setWhereClauseParameter(0,coilNo[0] );
  182. PosRowSet rowset4 = getDao("mesdao").findByQueryStatement(sql3, param4);
  183. PosParameter param5 = new PosParameter();
  184. PosParameter param9 = new PosParameter();
  185. //从TBF02_SPEC_MILL 到 TBH02_COIL_COMM
  186. if(!rowset4.hasNext())
  187. {
  188. //不存在的情况下新增记录
  189. param5.setValueParamter(0,coilNo[0] );
  190. param5.setValueParamter(1,slabNo[0] );
  191. param5.setValueParamter(2,SPEC_STL_GRD );
  192. param5.setValueParamter(3,SPEC_SPEC_ABBSYM );
  193. param5.setValueParamter(4,SPEC_ORD_NO );
  194. param5.setValueParamter(5,SPEC_ORD_SEQ );
  195. param5.setValueParamter(6,SPEC_ORD_USE_CD );
  196. param5.setValueParamter(7,SPEC_PRODNM_CD );
  197. param5.setValueParamter(8,SPEC_ORD_FL );
  198. //这里使用转换后的平整分卷标志
  199. param5.setValueParamter(9,SpmYn );
  200. param5.setValueParamter(10,SPEC_ORD_CUST_CD );
  201. param5.setValueParamter(11,SPEC_DEVLMT_DTIME );
  202. param5.setValueParamter(12,SPEC_PATH_MILL_CD );
  203. param5.setValueParamter(13,SPEC_PACK_METHOD );
  204. param5.setValueParamter(14,SPEC_ORD_INDIA );
  205. param5.setValueParamter(15,SPEC_ORD_OUTDIA );
  206. param5.setValueParamter(16,SPEC_ORD_THK );
  207. param5.setValueParamter(17,SPEC_ORD_WTH );
  208. param5.setValueParamter(18,SPEC_ORD_WGT );
  209. param5.setValueParamter(19,SPEC_DEST_CD );
  210. param5.setValueParamter(20,route );
  211. param5.setValueParamter(21,CUST_CD );
  212. param5.setValueParamter(22,SPEC_ORD_NO );
  213. param5.setValueParamter(23,SPEC_ORD_SEQ );
  214. getDao("mesdao").insert("UIH020020_03.insert", param5);
  215. PosParameter param8 = new PosParameter();
  216. param8.setWhereClauseParameter(0, slabEditSeq);
  217. PosRowSet rowset7 = getDao("mesdao").find("UIH020020_04.select", param8);
  218. //从TBF02_SPEC_MILL_D表插到TBH02_COIL_COMM_D
  219. while(rowset7.hasNext())
  220. {
  221. PosRow row3 = rowset7.next();
  222. coilCutSeq = (String)row3.getAttribute("COIL_CUT_SEQ");
  223. ordThk = (BigDecimal)row3.getAttribute("ORD_THK");
  224. ordWth = (BigDecimal)row3.getAttribute("ORD_WTH");
  225. ordLen = (BigDecimal)row3.getAttribute("ORD_LEN");
  226. ordWgt = (BigDecimal)row3.getAttribute("ORD_WGT");
  227. ordWgtMin = (BigDecimal)row3.getAttribute("ORD_WGT_MIN");
  228. ordWgtMax = (BigDecimal)row3.getAttribute("ORD_WGT_MAX");
  229. ordIndia = (BigDecimal)row3.getAttribute("ORD_INDIA");
  230. ordOutdia = (BigDecimal)row3.getAttribute("ORD_OUTDIA");
  231. ordNo = (String)row3.getAttribute("ORD_NO");
  232. ordSeq = (String)row3.getAttribute("ORD_SEQ");
  233. ordFl = (String)row3.getAttribute("ORD_FL");
  234. param9.setValueParamter(0, coilNo[0]);
  235. param9.setValueParamter(1, coilCutSeq);
  236. param9.setValueParamter(2, ordThk);
  237. param9.setValueParamter(3, ordWth);
  238. param9.setValueParamter(4, ordLen);
  239. param9.setValueParamter(5, ordWgt);
  240. param9.setValueParamter(6, ordWgtMin);
  241. param9.setValueParamter(7, ordWgtMax);
  242. param9.setValueParamter(8, ordIndia);
  243. param9.setValueParamter(9, ordOutdia);
  244. param9.setValueParamter(10, ordNo);
  245. param9.setValueParamter(11, ordSeq);
  246. param9.setValueParamter(12, ordFl);
  247. getDao("mesdao").insert("UIH020020_04.insert", param9);
  248. }
  249. } else {
  250. PosParameter param10 = new PosParameter();
  251. param10.setWhereClauseParameter(0, "1");
  252. param10.setWhereClauseParameter(1, coilNo[0]);
  253. getDao("mesdao").update("UIH020020_COIL_COMM.update", param10);
  254. }
  255. /*
  256. * SLAB_NO和钢卷号为条件对加热炉TABLE(TBH02_REHEATFUR) 进行select
  257. * 之后是 NOT FOUND的话INSERT不是的话进行UPDATE处理
  258. */
  259. //这里需要获取加热炉状态,在为入炉1的情况下调用品质。在为出炉2的情况下不能调用品质,只更新页面数据
  260. String sql = "select RHF_STAT from TBH02_REHEATFUR where slab_no = ? and coil_no = ? ";
  261. //这里做为是否调用品质的标志
  262. String RHF_STAT = null;
  263. PosParameter param0 = new PosParameter();
  264. param0.setWhereClauseParameter(0,slabNo[0] );
  265. param0.setWhereClauseParameter(1,coilNo[0] );
  266. PosRowSet rowset0 = getDao("mesdao").findByQueryStatement(sql, param0);
  267. PosParameter param1 = new PosParameter();
  268. PosParameter param2 = new PosParameter();
  269. //判断板坯信息是否存在于TBH02_REHEATFUR
  270. if(rowset0.hasNext()){
  271. PosRow row0 = rowset0.next();
  272. RHF_STAT = (String) row0.getAttribute("RHF_STAT");
  273. logger.logInfo("PosSAveOutHeatFurnace---> TBH02_REHEATFUR更新的炉内状态:"+ RHF_STAT);
  274. param1.setWhereClauseParameter(0,extractDtime[0]);
  275. param1.setWhereClauseParameter(1,infurHour[0]);
  276. param1.setWhereClauseParameter(2,extractAvgTemp[0]);
  277. param1.setWhereClauseParameter(3,eqHtInfurHour[0]);
  278. param1.setWhereClauseParameter(4,eqHtTemp[0]);
  279. param1.setWhereClauseParameter(5,WkShift[0]);
  280. param1.setWhereClauseParameter(6,WkGroup[0]);
  281. param1.setWhereClauseParameter(7,RegId[0]);
  282. param1.setWhereClauseParameter(8,"2");
  283. param1.setWhereClauseParameter(9,slabNo[0]);
  284. param1.setWhereClauseParameter(10,coilNo[0]);
  285. getDao("mesdao").update("UIH020020_05.update", param1);
  286. }
  287. else{
  288. PosRow row0 = rowset0.next();
  289. RHF_STAT = (String) row0.getAttribute("RHF_STAT");
  290. logger.logInfo("PosSAveOutHeatFurnace---> TBH02_REHEATFUR插入的炉内状态:"+ RHF_STAT);
  291. param1.setValueParamter(0,slabNo[0]);
  292. param1.setValueParamter(1,devNo[0]);
  293. param1.setValueParamter(2,coilNo[0]);
  294. param1.setValueParamter(3,extractDtime[0]);
  295. param1.setValueParamter(4,infurHour[0]);
  296. param1.setValueParamter(5,extractAvgTemp[0]);
  297. param1.setValueParamter(6,eqHtInfurHour[0]);
  298. param1.setValueParamter(7,eqHtTemp[0]);
  299. param1.setValueParamter(8,WkShift[0]);
  300. param1.setValueParamter(9,WkGroup[0]);
  301. param1.setValueParamter(10,RegId[0]);
  302. //这里没用
  303. //param1.setValueParamter(11,"2");
  304. getDao("mesdao").insert("UIH020020_02.insert",param1);
  305. }
  306. //修改板坯公共表中的状态
  307. param2.setWhereClauseParameter(0, "UIH020020");
  308. param2.setWhereClauseParameter(1, slabNo[0]);
  309. getDao("mesdao").update("UIH020020_03.update", param2);
  310. //通过加热炉状态判断是否调用品质存储过程和进程
  311. if(RHF_STAT.equals("1")){
  312. //此方法用来传送异动点数据
  313. ProduceFactory PD= new ProduceFactory();
  314. PD.ErpDataCover("HSLAB",slabNo[0],"41A","0","O","加热炉二级丢料","热轧轧制");
  315. SendProg_NIE012070( slabNo[0] ,BefProgCd,SPEC_ORD_NO,SPEC_ORD_SEQ,SlabWgt,RegId[0] );
  316. SendProg_NIE012080();
  317. /*
  318. CallableStatement PlRtn = getDao("mesdao").getCallableStatement("NIH020020_NIB027010");
  319. try {
  320. if(PlRtn != null) {
  321. PlRtn.setString(1,coilNo[0]);
  322. //新增加一个字段,为了废弃的时候使用
  323. PlRtn.setString(2,"");
  324. PlRtn.registerOutParameter(3, java.sql.Types.VARCHAR);
  325. PlRtn.registerOutParameter(4, java.sql.Types.VARCHAR);
  326. PlRtn.execute();
  327. String sRetCode = PlRtn.getString(3);
  328. String sRetMsg = PlRtn.getString(4);
  329. logger.logInfo("PosSAveOutHeatFurnace---> NIB027010 TC PlRtn1:["+sRetCode+"]:"+ sRetMsg);
  330. }
  331. } catch (SQLException e) {
  332. throw new PosException(e.getMessage());
  333. }finally
  334. {
  335. if (PlRtn != null)
  336. {
  337. try
  338. {
  339. PlRtn.close();
  340. }
  341. catch (SQLException e)
  342. {
  343. logger.logWarn(e.getMessage(), e);
  344. }
  345. }
  346. }
  347. */
  348. }else{
  349. //多次出炉的情况不做处理
  350. logger.logInfo("PosSAveOutHeatFurnace---> 多次出炉的情况,只改变TBH02_REHEATFUR里的数据:"+ RHF_STAT);
  351. }
  352. } else {
  353. logger.logDebug("PosSaveOutHeatFurnace 输入的钢卷号在轧制计划表 TBG02_SLAB_COMM 中不存在! ");
  354. String vtemp="PosSaveOutHeatFurnace";
  355. context.put("rs", vtemp);
  356. }
  357. } else {
  358. logger.logInfo("PosSaveOutHeatFurnace Failed TBF02_SPEC_MILL STATUS_CD:("+STATUS_CD+")");
  359. MsgChk = "N";
  360. }
  361. }else{
  362. logger.logInfo("PosSaveOutHeatFurnace Coil_No_Spec 1:("+Coil_No_Spec+")::::"+coilNo[0]);
  363. //这里出现的异常情况是板坯号与钢卷号不匹配
  364. String vtemp="OutHeatFurnacePart";
  365. context.put("rs", vtemp);
  366. }
  367. }else{
  368. //这里返回前台,给出钢卷号不在轧制计划中的提示
  369. logger.logDebug("PosSaveOutHeatFurnace 输入的钢卷号在轧制计划表 TBF02_SPEC_MILL 中不存在! ");
  370. String vtemp="PosSaveOutHeatFurnace";
  371. context.put("rs", vtemp);
  372. }
  373. context.put("MsgChk",MsgChk);
  374. return PosBizControlConstants.SUCCESS;
  375. }
  376. public void SendProg_NIE012070(String SlabNo,String BefProg,String OrdNo,String OrdSeq,Number wgt,String RegId )
  377. {
  378. logger.logInfo("PosSAveOutHeatFurnace---> wgt:"+wgt );
  379. // BigDecimal wgt = new BigDecimal();
  380. PosContext context = new PosContext();
  381. PosMessage message = new PosMESMessageImpl();
  382. String TcId = "NIE012070";
  383. message.setTCID(TcId);
  384. message.setObject("MSG_ID",TcId);
  385. message.setObject("BEF_ORD_NO",null);
  386. message.setObject("BEF_ORD_SEQ",null);
  387. message.setObject("ORD_NO",OrdNo);
  388. message.setObject("ORD_SEQ",OrdSeq);
  389. message.setObject("BEF_PROG_CD",BefProg);
  390. message.setObject("PROG_CD","RCB");
  391. message.setObject("MAT_TYPE","TM");
  392. message.setObject("MAT_NO",SlabNo);
  393. message.setObject("WGT", wgt );
  394. message.setObject("PGMID","PosSaveOutHeatFur");
  395. message.setObject("REG_ID",RegId);
  396. context.setMessage(message);
  397. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  398. String transactionCode = context.getMessage().getTC();
  399. logger.logInfo("PosSAveOutHeatFurnace---> transactionCode:("+transactionCode+")" );
  400. message.setTCID(TcId);
  401. String serviceName = "NIE012070";
  402. String SERVICE_POSTFIX = "-service";
  403. context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
  404. context.setMessage(message);
  405. PosBizControlIF controller = PosBizProvider.getController();
  406. controller.doSubController(context,false);
  407. logger.logInfo("PosSAveOutHeatFurnace---> NIE012070 TC SendProgress end" );
  408. }
  409. public void SendProg_NIE012080()
  410. {
  411. PosContext context = new PosContext();
  412. PosMessage message = new PosMESMessageImpl();
  413. String TcId = "NIE012080";
  414. message.setTCID(TcId);
  415. message.setObject("MSG_ID",TcId);
  416. message.setObject("AA",null);
  417. context.setMessage(message);
  418. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  419. String transactionCode = context.getMessage().getTC();
  420. message.setTCID(TcId);
  421. String serviceName = "NIE012080";
  422. String SERVICE_POSTFIX = "-service";
  423. context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
  424. context.setMessage(message);
  425. PosBizControlIF controller = PosBizProvider.getController();
  426. controller.doSubController(context,false);
  427. }
  428. }