821fd69ff3f3e3b67830c6a67cc4256f6e285541.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. package xin.glue.nui.G.G02;
  2. import java.math.BigDecimal;
  3. import java.text.DateFormat;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import xin.glue.ui.common.PosDateFormat;
  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:wangxiaoyan
  20. * Date:08-10-28
  21. * desc:接收LF炉实绩的电文信息 更新LF炉实绩表 TBG02_LF_RESULT
  22. */
  23. public class XinSaveRHResult extends PosActivity {
  24. public String runActivity(PosContext context) {
  25. PosMessage message = context.getMessage();
  26. // 从电文中获取的数据项
  27. String chargeNo = (String) message.get("CHARGE_NO"); // 1 炉次号
  28. String planChargeNo = (String) message.get("PLAN_CHARGE_NO"); // 2
  29. // 炉次计划号
  30. String rhNo = (String) message.get("RH_NO");
  31. // 3 RH NO
  32. String rhTreatCnt = (String) message.get("RH_TREAT_CNT");
  33. // 4 RH 处理次数
  34. BigDecimal arrvWgt = (BigDecimal) message.get("ARRV_WGT"); // 5 到达总重量
  35. BigDecimal rhTreatWgt = (BigDecimal) message.get("RH_TREAT_WGT");
  36. String bbYn = (String) message.get("BB_YN"); // 7 气泡有无
  37. BigDecimal steamUseWgt = (BigDecimal) message.get("STEAM_USE_WGT"); // 8
  38. // steam
  39. // 使用量
  40. BigDecimal arWgt = (BigDecimal) message.get("AR_WGT"); // 9 Ar 用量
  41. BigDecimal o2Wgt = (BigDecimal) message.get("O2_WGT"); // 10O2 用量
  42. BigDecimal n2Wgt = (BigDecimal) message.get("N2_WGT");
  43. BigDecimal treatBefO2Wgt = (BigDecimal) message.get("TREAT_BEF_O2_WGT"); // 12处理前钢水含氧量
  44. BigDecimal treatAftO2Wgt = (BigDecimal) message.get("TREAT_AFT_O2_WGT"); // 13处理后钢水含氧量
  45. BigDecimal treatBefN2Wgt = (BigDecimal) message.get("TREAT_BEF_N2_WGT"); // 14处理前钢水含氮量
  46. BigDecimal treatAftN2Wgt = (BigDecimal) message.get("TREAT_AFT_N2_WGT"); // 15处理后钢水含氮量
  47. BigDecimal treatBefHWgt = (BigDecimal) message.get("TREAT_BEF_H_WGT"); // 16处理前钢水含氢量
  48. BigDecimal treatAftHWgt = (BigDecimal) message.get("TREAT_AFT_H_WGT"); // 17处理后钢水含氢气量
  49. BigDecimal warmmatlUseWgt = (BigDecimal) message
  50. .get("WARMMATL_USE_WGT"); // 18保温剂使用量
  51. BigDecimal chaffUseWgt = (BigDecimal) message.get("CHAFF_USE_WGT");
  52. BigDecimal rhTreatHour = (BigDecimal) message.get("RH_TREAT_HOUR"); // 20RH
  53. // 处理时间
  54. BigDecimal vaccTreatHour = (BigDecimal) message.get("VACC_TREAT_HOUR"); // 21真空处理时间
  55. BigDecimal alPutAftCirgasHour = (BigDecimal) message
  56. .get("AL_PUT_AFT_CIRGAS_HOUR"); // 22Al 投入后回流时间
  57. BigDecimal arPutHour = (BigDecimal) message.get("AR_PUT_HOUR"); // 23氩气加入时间
  58. BigDecimal n2PutHour = (BigDecimal) message.get("N2_PUT_HOUR"); // 24氮气加入时间
  59. String ldArrvDtime = (String) message.get("LD_ARRV_DTIME");
  60. String ldRiseStaDtime = (String) message.get("LD_RISE_STA_DTIME"); // 26Ladle上升开始时刻
  61. String rhTreatStaDtime = (String) message.get("RH_TREAT_STA_DTIME"); // 27RH
  62. // 处理开始时刻
  63. String rhTreatEndDtime = (String) message.get("RH_TREAT_END_DTIME"); // 28H
  64. // 处理完成时刻
  65. String ldDownDtime = (String) message.get("LD_DOWN_DTIME"); // 29Ladle
  66. // 下降时刻
  67. String ldDepDtime = (String) message.get("LD_DEP_DTIME");
  68. BigDecimal lstVaccDegre = (BigDecimal) message.get("LST_VACC_DEGRE"); // 31最小真空度
  69. BigDecimal rhArrvTemp = (BigDecimal) message.get("RH_ARRV_TEMP"); // 32RH
  70. // 到达温度
  71. BigDecimal rhStaTemp = (BigDecimal) message.get("RH_STA_TEMP");
  72. BigDecimal rhEndTemp = (BigDecimal) message.get("RH_END_TEMP"); // 34RH
  73. // 处理完成
  74. // 温度
  75. BigDecimal rhDepTemp = (BigDecimal) message.get("RH_DEP_TEMP"); // 35RH
  76. // 出发温度
  77. String powd1UseName = (String) message.get("POWD1_USE_NAME"); // 36powder1名
  78. BigDecimal powd1UseWgt = (BigDecimal) message.get("POWD1_USE_WGT"); // 37powder1用量
  79. String powd2UseName = (String) message.get("POWD2_USE_NAME"); // 38powder2名
  80. BigDecimal powd2UseWgt = (BigDecimal) message.get("POWD2_USE_WGT"); // 39powder2用量
  81. int chLth = chargeNo.trim().length();
  82. if (chLth < 10 ) {
  83. logger.logError("XinSaveRHResult CHARGE_NO ERROR !!!!-->"+chargeNo );
  84. return PosBizControlConstants.SUCCESS;
  85. }
  86. String sShift = null;
  87. if (rhTreatEndDtime == null || rhTreatEndDtime.equals("")) {
  88. DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
  89. rhTreatEndDtime = formatter.format(new Date());
  90. }
  91. sShift = PosDateFormat.getShift(rhTreatEndDtime);
  92. PosParameter paramA = new PosParameter();
  93. paramA.setWhereClauseParameter(0, rhTreatEndDtime.substring(0, 6));
  94. paramA.setWhereClauseParameter(1, rhTreatEndDtime.substring(6, 8));
  95. paramA.setWhereClauseParameter(2, sShift);
  96. paramA.setWhereClauseParameter(3, "S");
  97. PosRowSet groupVO = this.getDao("mesdao").find(
  98. "NIG020210_SHIFT.select", paramA);
  99. String sGroup = null;
  100. if (groupVO.hasNext()) {
  101. PosRow groupROW = groupVO.next();
  102. sGroup = (String) groupROW.getAttribute("GR_GROUP_CD");
  103. }
  104. PosParameter param0 = new PosParameter();
  105. PosParameter param1 = new PosParameter();
  106. PosParameter param2 = new PosParameter();
  107. // 用电文接收的数据项修改 RH炉实绩表 tbg02_rh_result
  108. param0.setWhereClauseParameter(0, chargeNo);
  109. PosRowSet rowset0 = this.getDao("mesdao").find("NIG020310_01.select",
  110. param0);
  111. if (rowset0.hasNext()) {
  112. param1.setWhereClauseParameter(0, planChargeNo); // 1 计划炉次号
  113. param1.setWhereClauseParameter(1, rhNo); // 2 RH NO
  114. param1.setWhereClauseParameter(2, rhTreatCnt); // 3 RH 处理次数
  115. param1.setWhereClauseParameter(3, arrvWgt); // 4 到达总重量
  116. param1.setWhereClauseParameter(4, rhTreatWgt); // 5 RH处理后重量
  117. param1.setWhereClauseParameter(5, bbYn); // 6 气泡有无
  118. param1.setWhereClauseParameter(6, steamUseWgt); // 7 steam 使用量
  119. param1.setWhereClauseParameter(7, arWgt); // 8 Ar 用量
  120. param1.setWhereClauseParameter(8, o2Wgt); // 9 O2 用量
  121. param1.setWhereClauseParameter(9, n2Wgt); // 10N2 用量
  122. param1.setWhereClauseParameter(10, treatBefO2Wgt); // 11处理前钢水含氧量
  123. param1.setWhereClauseParameter(11, treatAftO2Wgt); // 12处理后钢水含氧量
  124. param1.setWhereClauseParameter(12, treatBefN2Wgt); // 13处理前钢水含氮量
  125. param1.setWhereClauseParameter(13, treatAftN2Wgt); // 14处理后钢水含氮量
  126. param1.setWhereClauseParameter(14, treatBefHWgt); // 15处理前钢水含氢量
  127. param1.setWhereClauseParameter(15, treatAftHWgt); // 16处理后钢水含氢气量
  128. param1.setWhereClauseParameter(16, warmmatlUseWgt); // 17保温剂使用量
  129. param1.setWhereClauseParameter(17, chaffUseWgt); // 18谷皮使用量
  130. param1.setWhereClauseParameter(18, rhTreatHour); // 19RH 处理时间
  131. param1.setWhereClauseParameter(19, vaccTreatHour); // 20真空处理时间
  132. param1.setWhereClauseParameter(20, alPutAftCirgasHour); // 21Al
  133. // 投入后回流时间
  134. param1.setWhereClauseParameter(21, arPutHour); // 22氩气加入时间
  135. param1.setWhereClauseParameter(22, n2PutHour); // 23氮气加入时间
  136. param1.setWhereClauseParameter(23, ldArrvDtime); // 24Ladle 到达时间
  137. param1.setWhereClauseParameter(24, ldRiseStaDtime); // 25Ladle上升开始时刻
  138. param1.setWhereClauseParameter(25, rhTreatStaDtime); // 26RH
  139. // 处理开始时刻
  140. param1.setWhereClauseParameter(26, rhTreatEndDtime); // 27H
  141. // 处理完成时刻
  142. param1.setWhereClauseParameter(27, ldDownDtime); // 28Ladle 下降时刻
  143. param1.setWhereClauseParameter(28, ldDepDtime); // 29Ladle 离开时刻
  144. param1.setWhereClauseParameter(29, lstVaccDegre); // 30最小真空度
  145. param1.setWhereClauseParameter(30, rhArrvTemp); // 31RH 到达温度
  146. param1.setWhereClauseParameter(31, rhStaTemp); // 32RH 处理开始温度
  147. param1.setWhereClauseParameter(32, rhEndTemp); // 33RH 处理完成 温度
  148. param1.setWhereClauseParameter(33, rhDepTemp); // 34RH 出发温度
  149. param1.setWhereClauseParameter(34, powd1UseName); // 35powder1名
  150. param1.setWhereClauseParameter(35, powd1UseWgt); // 36powder1用量
  151. param1.setWhereClauseParameter(36, powd2UseName); // 37powder2名
  152. param1.setWhereClauseParameter(37, powd2UseWgt); // 38powder2用量
  153. param1.setWhereClauseParameter(38, rhTreatEndDtime.substring(0, 8)); // 38powder2用量
  154. param1.setWhereClauseParameter(39, sShift); // 38powder2用量
  155. param1.setWhereClauseParameter(40, sGroup); // 38powder2用量
  156. param1.setWhereClauseParameter(41, chargeNo); // 39炉次号
  157. this.getDao("mesdao").update("NIG020310_01.update", param1);
  158. } else {
  159. param1.setValueParamter(0, chargeNo); // 1 炉次号
  160. param1.setValueParamter(1, planChargeNo); // 2 计划炉次号
  161. param1.setValueParamter(2, rhNo); // 3 RH NO
  162. param1.setValueParamter(3, rhTreatCnt); // 4 RH 处理次数
  163. param1.setValueParamter(4, arrvWgt); // 5 到达总重量
  164. param1.setValueParamter(5, rhTreatWgt); // 6 RH处理后重量
  165. param1.setValueParamter(6, bbYn); // 7 气泡有无
  166. param1.setValueParamter(7, steamUseWgt); // 8 steam 使用量
  167. param1.setValueParamter(8, arWgt); // 9 Ar 用量
  168. param1.setValueParamter(9, o2Wgt); // 10O2 用量
  169. param1.setValueParamter(10, n2Wgt); // 11N2 用量
  170. param1.setValueParamter(11, treatBefO2Wgt); // 12处理前钢水含氧量
  171. param1.setValueParamter(12, treatAftO2Wgt); // 13处理后钢水含氧量
  172. param1.setValueParamter(13, treatBefN2Wgt); // 14处理前钢水含氮量
  173. param1.setValueParamter(14, treatAftN2Wgt); // 15处理后钢水含氮量
  174. param1.setValueParamter(15, treatBefHWgt); // 16处理前钢水含氢量
  175. param1.setValueParamter(16, treatAftHWgt); // 17处理后钢水含氢气量
  176. param1.setValueParamter(17, warmmatlUseWgt); // 18保温剂使用量
  177. param1.setValueParamter(18, chaffUseWgt); // 19谷皮使用量
  178. param1.setValueParamter(19, rhTreatHour); // 20RH 处理时间
  179. param1.setValueParamter(20, vaccTreatHour); // 21真空处理时间
  180. param1.setValueParamter(21, alPutAftCirgasHour); // 22Al 投入后回流时间
  181. param1.setValueParamter(22, arPutHour); // 23氩气加入时间
  182. param1.setValueParamter(23, n2PutHour); // 24氮气加入时间
  183. param1.setValueParamter(24, ldArrvDtime); // 25Ladle 到达时间
  184. param1.setValueParamter(25, ldRiseStaDtime); // 26Ladle上升开始时刻
  185. param1.setValueParamter(26, rhTreatStaDtime); // 27RH 处理开始时刻
  186. param1.setValueParamter(27, rhTreatEndDtime); // 28H 处理完成时刻
  187. param1.setValueParamter(28, ldDownDtime); // 29Ladle 下降时刻
  188. param1.setValueParamter(29, ldDepDtime); // 30Ladle 离开时刻
  189. param1.setValueParamter(30, lstVaccDegre); // 31最小真空度
  190. param1.setValueParamter(31, rhArrvTemp); // 32RH 到达温度
  191. param1.setValueParamter(32, rhStaTemp); // 33RH 处理开始温度
  192. param1.setValueParamter(33, rhEndTemp); // 34RH 处理完成 温度
  193. param1.setValueParamter(34, rhDepTemp); // 35RH 出发温度
  194. param1.setValueParamter(35, powd1UseName); // 36powder1名
  195. param1.setValueParamter(36, powd1UseWgt); // 37powder1用量
  196. param1.setValueParamter(37, powd2UseName); // 38powder2名
  197. param1.setValueParamter(38, powd2UseWgt); // 39powder2用量
  198. param1.setValueParamter(39, rhTreatEndDtime.substring(0, 8)); // 38powder2用量
  199. param1.setValueParamter(40, sShift); // 38powder2用量
  200. param1.setValueParamter(41, sGroup); // 38powder2用量
  201. this.getDao("mesdao").insert("NIG020310_01.insert", param1);
  202. String BefProg = null;
  203. String ChargeStat = null;
  204. String PlanhargeNo = null;
  205. param2.setWhereClauseParameter(0, chargeNo);
  206. PosRowSet chargeVO = this.getDao("mesdao").find(
  207. "NIG020210_03.select", param2);
  208. if (chargeVO.hasNext()) {
  209. PosRow chargeROW = chargeVO.next();
  210. BefProg = (String) chargeROW.getAttribute("CUR_PROG_CD");
  211. ChargeStat = (String) chargeROW.getAttribute("CHARGE_STAT");
  212. PlanhargeNo = (String)chargeROW.getAttribute("PLAN_CHARGE_NO");
  213. }
  214. if (ChargeStat != null && ChargeStat.equals("2") && PlanhargeNo != null) {
  215. PosParameter param5 = new PosParameter();
  216. String sProgCd = "JRF";
  217. param5.setValueParamter(0, sProgCd);
  218. param5.setValueParamter(1, "B");
  219. param5.setValueParamter(2, PlanhargeNo);
  220. this.getDao("mesdao").update("NIG020200_SPEC_PROG.update",param5);
  221. SendProg_NIE012070(planChargeNo, BefProg, rhTreatWgt);
  222. SendProg_NIE012080();
  223. }
  224. }
  225. return PosBizControlConstants.SUCCESS;
  226. }
  227. public PosContext SendProg_NIE012070(String ChargeNo, String BefProg,
  228. BigDecimal wgt) {
  229. logger.logDebug("XinSaveRhResult SendProg_NIE012070 ");
  230. PosContext context = new PosContext();
  231. PosMessage message = new PosMESMessageImpl();
  232. String TcId = "NIE012070";
  233. message.setTCID(TcId);
  234. message.setObject("MSG_ID", TcId);
  235. message.setObject("BEF_ORD_NO", null);
  236. message.setObject("BEF_ORD_SEQ", null);
  237. message.setObject("ORD_NO", null);
  238. message.setObject("ORD_SEQ", null);
  239. message.setObject("BEF_PROG_CD", BefProg);
  240. message.setObject("PROG_CD", "JRF");
  241. message.setObject("MAT_TYPE", "CH");
  242. message.setObject("MAT_NO", ChargeNo);
  243. message.setObject("WGT", wgt);
  244. message.setObject("PGMID", "XinSaveRhResult");
  245. message.setObject("REG_ID", "LEVEL2");
  246. context.setMessage(message);
  247. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  248. String transactionCode = context.getMessage().getTC();
  249. logger.logDebug("XinSaveRhResult---> transactionCode:("
  250. + transactionCode + ")");
  251. message.setTCID(TcId);
  252. String serviceName = "NIE012070";
  253. String SERVICE_POSTFIX = "-service";
  254. context.put(PosBizControlConstants.SERVICE_NAME, serviceName
  255. + SERVICE_POSTFIX);
  256. context.setMessage(message);
  257. PosBizControlIF controller = PosBizProvider.getController();
  258. controller.doSubController(context, false);
  259. logger.logDebug("XinSaveRhResult---> NIE012070 TC SendProgress end");
  260. return null;
  261. }
  262. public PosContext SendProg_NIE012080() {
  263. logger.logDebug("XinSaveRhResult SendProg_NIE012080 ");
  264. PosContext context = new PosContext();
  265. PosMessage message = new PosMESMessageImpl();
  266. String TcId = "NIE012080";
  267. message.setTCID(TcId);
  268. message.setObject("MSG_ID", TcId);
  269. message.setObject("AA", null);
  270. context.setMessage(message);
  271. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  272. String transactionCode = context.getMessage().getTC();
  273. logger.logDebug("XinSaveChargeProc---> transactionCode:("
  274. + transactionCode + ")");
  275. message.setTCID(TcId);
  276. String serviceName = "NIE012080";
  277. String SERVICE_POSTFIX = "-service";
  278. context.put(PosBizControlConstants.SERVICE_NAME, serviceName
  279. + SERVICE_POSTFIX);
  280. context.setMessage(message);
  281. PosBizControlIF controller = PosBizProvider.getController();
  282. controller.doSubController(context, false);
  283. logger.logDebug("XinSaveChargeProc---> NIE012080 TC SendProgress end");
  284. return null;
  285. }
  286. }