75dcb026568159944126b462099d7baebbc81106.svn-base 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. package xin.glue.nui.H.H02;
  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:王小炎
  20. * date:2008-10-12
  21. * desc:接收在加热炉LEVEL2中所发生的加热炉装炉实绩录入到板坯装炉出炉实绩TABLE中
  22. */
  23. public class XinSaveRhfCharging extends PosActivity
  24. {
  25. public String runActivity(PosContext context)
  26. {
  27. logger.logInfo("XinSaveRhfCharging START !!! ");
  28. // 获取从二级接收过来的数据
  29. PosMessage message = context.getMessage();
  30. String coilNo_L2 = (String)message.get("COIL_NO");
  31. String slabNo = (String)message.get("SLAB_NO");
  32. String devno = (String)message.get("DEVNO");
  33. String RowNum = (String)message.get("ROW_NUM");
  34. String chargingDtime = (String)message.get("CHARGING_DTIME");
  35. //改为String 与接口表对应
  36. String chrgingBefWgt = (String)message.get("CHRGING_BEF_WGT");
  37. String chrgingBefTemp = (String)message.get("CHRGING_BEF_TEMP");
  38. Number SlabWgt = null;
  39. String BefProgCd = null;
  40. String OrdNo = null;
  41. String OrdSeq = null;
  42. String sShift = null;
  43. //这里需要进行卷号的转换,发给加热炉二级的变成了实际卷号。所以收到的电文也是实际卷号,转换成计划卷号就可以了。
  44. // 计划钢卷号
  45. String coilNo = null;
  46. // 在执行相应的程序,把数据写入表中
  47. PosParameter paramAA = new PosParameter();
  48. paramAA.setWhereClauseParameter(0, coilNo_L2);
  49. //这里是实际钢卷号
  50. logger.logInfo("XinSaveRhfCharging OLD_SAMPL_NO !!! "+coilNo_L2);
  51. PosRowSet CoilNoVo = getDao("mesdao").find("NIH020050_06.select", paramAA);
  52. // 查询出计划卷号的情况下,处理相应的业务类数据
  53. if(CoilNoVo.hasNext()){
  54. PosRow CoilNoRow = CoilNoVo.next();
  55. coilNo = (String) CoilNoRow.getAttribute("COIL_NO");
  56. //这里是计划钢卷号
  57. logger.logInfo("XinSaveRhfCharging COIL_NO !!! "+coilNo);
  58. if ( chargingDtime.equals("") || chargingDtime == null ) {
  59. DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
  60. chargingDtime = formatter.format(new Date());
  61. }
  62. // 这里的班次的时间段就由基础表维护。可能存在2班或者3班的情况,那么就是有值的就进行判断没有的就是没有设定的。
  63. PosParameter paramSA = new PosParameter();
  64. PosParameter paramSB = new PosParameter();
  65. PosParameter paramSC = new PosParameter();
  66. //这里获取三个班次相应的时间
  67. String sqlA = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '1'";
  68. String sqlB = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM,A.SHRXM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '2'";
  69. String sqlC = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '3'";
  70. PosRowSet ShiftA = getDao("mesdao").findByQueryStatement(sqlA, paramSA);
  71. PosRowSet ShiftB = getDao("mesdao").findByQueryStatement(sqlB, paramSB);
  72. PosRowSet ShiftC = getDao("mesdao").findByQueryStatement(sqlC, paramSC);
  73. BigDecimal SM_EFNMA = null;
  74. BigDecimal SM_ESNMA = null;
  75. BigDecimal SM_EFNMB = null;
  76. BigDecimal SM_ESNMB = null;
  77. //这里是中班是否超过0点指标。如果超过0点就判断早班和晚班的情况,其它为中班。如果不超过0点就判断早班和中班的情况,其它为晚班
  78. String SHRXM = null;
  79. BigDecimal SM_EFNMC = null;
  80. BigDecimal SM_ESNMC = null;
  81. if(ShiftA.hasNext()){
  82. PosRow ShiftAA = ShiftA.next();
  83. SM_EFNMA = (BigDecimal) ShiftAA.getAttribute("SM_EFNM");
  84. SM_ESNMA = (BigDecimal) ShiftAA.getAttribute("SM_ESNM");
  85. }
  86. if(ShiftB.hasNext()){
  87. PosRow ShiftBB = ShiftB.next();
  88. SM_EFNMB = (BigDecimal) ShiftBB.getAttribute("SM_EFNM");
  89. SM_ESNMB = (BigDecimal) ShiftBB.getAttribute("SM_ESNM");
  90. SHRXM = (String) ShiftBB.getAttribute("SHRXM");
  91. }
  92. if(ShiftC.hasNext()){
  93. PosRow ShiftCC = ShiftC.next();
  94. SM_EFNMC = (BigDecimal) ShiftCC.getAttribute("SM_EFNM");
  95. SM_ESNMC = (BigDecimal) ShiftCC.getAttribute("SM_ESNM");
  96. }
  97. int SM_EFNMAA;
  98. int SM_ESNMAA;
  99. int SM_EFNMBB;
  100. int SM_ESNMBB;
  101. int SM_EFNMCC;
  102. int SM_ESNMCC;
  103. int hhmi = Integer.parseInt(chargingDtime.substring(8, 12));
  104. if(SM_EFNMA == null){
  105. SM_EFNMAA = 0;
  106. }else{
  107. SM_EFNMAA = SM_EFNMA.intValue();
  108. }
  109. if(SM_ESNMA == null){
  110. SM_ESNMAA = 0;
  111. }else{
  112. SM_ESNMAA = SM_ESNMA.intValue();
  113. }
  114. if(SM_EFNMB == null){
  115. SM_EFNMBB = 0;
  116. }else{
  117. SM_EFNMBB = SM_EFNMB.intValue();
  118. }
  119. if(SM_ESNMB == null){
  120. SM_ESNMBB = 0;
  121. }else{
  122. SM_ESNMBB = SM_ESNMB.intValue();
  123. }
  124. if(SM_EFNMC == null){
  125. SM_EFNMCC = 0;
  126. }else{
  127. SM_EFNMCC = SM_EFNMC.intValue();
  128. }
  129. if(SM_ESNMC == null){
  130. SM_ESNMCC = 0;
  131. }else{
  132. SM_ESNMCC = SM_ESNMC.intValue();
  133. }
  134. //如果出现中班输入为空的情况,说明是三班两倒。就一定会存在早班和晚班,那么只要判断早班即可
  135. if(SM_EFNMB == null || SM_ESNMB == null){
  136. //两班的产量是前天的晚班加今天的早班
  137. if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
  138. //早班,这里只要判断符合不符合早班的情况即可
  139. sShift = "1";
  140. }else{
  141. sShift = "3";
  142. }
  143. }else{
  144. //三班的情况产量是当天三个班的和
  145. if(null != SHRXM && SHRXM.equals("Y")){
  146. //如果标志为Y,说明中班的结束时间超过0点,这时判断早班和晚班的情况。
  147. if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
  148. sShift = "1";
  149. }else if(hhmi > SM_EFNMCC && hhmi < SM_ESNMCC){
  150. sShift = "3";
  151. }else{
  152. sShift = "2";
  153. }
  154. }else{
  155. //如果标志不为Y,说明中班的结束时间没有超过0点,这时判断早班和中班的情况。
  156. if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
  157. sShift = "1";
  158. }else if(hhmi > SM_EFNMBB && hhmi < SM_ESNMBB){
  159. sShift = "2";
  160. }else{
  161. sShift = "3";
  162. }
  163. }
  164. }
  165. //这里需要用到天数前移一天和后退一天的共用方法,因为对三班和两班而言中班和晚班都可能存在跨天的情况。跨天后取班组时就要把时间前移
  166. PosDateFormat dateFormat = new PosDateFormat();
  167. // sShift = dateFormat.getShiftT(dc_off_dtime);
  168. // 这里需要获取昨天和明天的时间
  169. String ZDate = null;
  170. String MDate = null;
  171. // 当前时间加一天
  172. MDate = dateFormat.AddDateFunc(chargingDtime,1);
  173. //当前时间减一天
  174. ZDate = dateFormat.AddDateFunc(chargingDtime,-1);
  175. String sGroup = null;
  176. //判断,跨天的班组需要前移时间,这样才能对得上班组
  177. if(SM_EFNMB == null || SM_ESNMB == null){
  178. //两班的情况,这里需要对时间进行前移。把产量计算的昨天晚班的产量
  179. if(null != sShift && sShift.equals("3")){
  180. //这里还需要判断,当前时间是大于晚班开始时间小于2400还是大于0000小于结束时间
  181. if(hhmi >= SM_EFNMCC && hhmi <= 2400){
  182. PosParameter paramA = new PosParameter();
  183. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  184. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  185. paramA.setWhereClauseParameter(2, sShift);
  186. paramA.setWhereClauseParameter(3, "H");
  187. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  188. if (groupVO.hasNext()){
  189. PosRow groupROW = groupVO.next();
  190. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  191. }
  192. logger.logInfo(" 两班早班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  193. }else if(hhmi >= 0000 && hhmi <= SM_ESNMCC){
  194. PosParameter paramA = new PosParameter();
  195. paramA.setWhereClauseParameter(0, ZDate.substring(0,6));
  196. paramA.setWhereClauseParameter(1, ZDate.substring(6,8));
  197. paramA.setWhereClauseParameter(2, sShift);
  198. paramA.setWhereClauseParameter(3, "H");
  199. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  200. if (groupVO.hasNext()){
  201. PosRow groupROW = groupVO.next();
  202. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  203. }
  204. logger.logInfo(" 两班晚班当前的班次班组!! "+sShift+":"+sGroup+"入炉前移时间:"+ZDate);
  205. }
  206. }else if(null != sShift && sShift.equals("1")){
  207. PosParameter paramA = new PosParameter();
  208. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  209. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  210. paramA.setWhereClauseParameter(2, sShift);
  211. paramA.setWhereClauseParameter(3, "H");
  212. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  213. if (groupVO.hasNext()){
  214. PosRow groupROW = groupVO.next();
  215. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  216. }
  217. logger.logInfo(" 两班早班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  218. }else{
  219. //不存在
  220. logger.logInfo(" 两班班次班组不存在的情况!! ");
  221. }
  222. }else{
  223. //三班的情况,产量是从当天零点开始到次日零点
  224. if(null != SHRXM && SHRXM.equals("Y")){
  225. if(null != sShift && sShift.equals("1")){
  226. PosParameter paramA = new PosParameter();
  227. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  228. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  229. paramA.setWhereClauseParameter(2, sShift);
  230. paramA.setWhereClauseParameter(3, "H");
  231. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  232. if (groupVO.hasNext()){
  233. PosRow groupROW = groupVO.next();
  234. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  235. }
  236. logger.logInfo(" 三班早班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  237. }else if(null != sShift && sShift.equals("2")){
  238. if(hhmi >= SM_EFNMBB && hhmi <= 2400){
  239. PosParameter paramA = new PosParameter();
  240. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  241. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  242. paramA.setWhereClauseParameter(2, sShift);
  243. paramA.setWhereClauseParameter(3, "H");
  244. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  245. if (groupVO.hasNext()){
  246. PosRow groupROW = groupVO.next();
  247. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  248. }
  249. logger.logInfo(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  250. }else if(hhmi >= 0000 && hhmi <= SM_ESNMBB){
  251. PosParameter paramA = new PosParameter();
  252. paramA.setWhereClauseParameter(0, ZDate.substring(0,6));
  253. paramA.setWhereClauseParameter(1, ZDate.substring(6,8));
  254. paramA.setWhereClauseParameter(2, sShift);
  255. paramA.setWhereClauseParameter(3, "H");
  256. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  257. if (groupVO.hasNext()){
  258. PosRow groupROW = groupVO.next();
  259. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  260. }
  261. logger.logInfo(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"入炉前移时间:"+ZDate);
  262. }
  263. }else if(null != sShift && sShift.equals("3")){
  264. //中班超过0点,所以晚班就是从当天的凌晨开始的。
  265. PosParameter paramA = new PosParameter();
  266. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  267. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  268. paramA.setWhereClauseParameter(2, sShift);
  269. paramA.setWhereClauseParameter(3, "H");
  270. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  271. if (groupVO.hasNext()){
  272. PosRow groupROW = groupVO.next();
  273. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  274. }
  275. logger.logInfo(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  276. }
  277. }else{
  278. if(null != sShift && sShift.equals("1")){
  279. PosParameter paramA = new PosParameter();
  280. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  281. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  282. paramA.setWhereClauseParameter(2, sShift);
  283. paramA.setWhereClauseParameter(3, "H");
  284. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  285. if (groupVO.hasNext()){
  286. PosRow groupROW = groupVO.next();
  287. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  288. }
  289. logger.logInfo(" 三班早班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  290. }else if(null != sShift && sShift.equals("2")){
  291. PosParameter paramA = new PosParameter();
  292. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  293. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  294. paramA.setWhereClauseParameter(2, sShift);
  295. paramA.setWhereClauseParameter(3, "H");
  296. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  297. if (groupVO.hasNext()){
  298. PosRow groupROW = groupVO.next();
  299. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  300. }
  301. logger.logInfo(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  302. }else if(null != sShift && sShift.equals("3")){
  303. //因为是晚班从昨天开始到今天凌晨,所以今天凌晨的算今天的晚班
  304. if(hhmi >= 0000 && hhmi <= SM_ESNMCC){
  305. PosParameter paramA = new PosParameter();
  306. paramA.setWhereClauseParameter(0, chargingDtime.substring(0,6));
  307. paramA.setWhereClauseParameter(1, chargingDtime.substring(6,8));
  308. paramA.setWhereClauseParameter(2, sShift);
  309. paramA.setWhereClauseParameter(3, "H");
  310. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  311. if (groupVO.hasNext()){
  312. PosRow groupROW = groupVO.next();
  313. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  314. }
  315. logger.logInfo(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+chargingDtime);
  316. }else if(hhmi >= SM_EFNMCC && hhmi <= 2400){
  317. PosParameter paramA = new PosParameter();
  318. paramA.setWhereClauseParameter(0, MDate.substring(0,6));
  319. paramA.setWhereClauseParameter(1, MDate.substring(6,8));
  320. paramA.setWhereClauseParameter(2, sShift);
  321. paramA.setWhereClauseParameter(3, "H");
  322. PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
  323. if (groupVO.hasNext()){
  324. PosRow groupROW = groupVO.next();
  325. sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
  326. }
  327. logger.logInfo(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"入炉时间:"+MDate);
  328. }
  329. }
  330. }
  331. }
  332. PosParameter param3 = new PosParameter();
  333. param3.setWhereClauseParameter(0, slabNo );
  334. param3.setWhereClauseParameter(1, coilNo );
  335. PosRowSet specVo = getDao("mesdao").find("NIH020020_SPEC_MILL.select", param3);
  336. if (specVo.hasNext()) {
  337. PosRow specROW = specVo.next();
  338. Number SLAB_EDT_SEQ = (Number)specROW.getAttribute("SLAB_EDT_SEQ");
  339. String STATUS_CD = (String)specROW.getAttribute("STATUS_CD");
  340. if(STATUS_CD.equals("A") || STATUS_CD.equals("B")) {
  341. PosParameter param4 = new PosParameter();
  342. param4.setWhereClauseParameter(0, "B" );
  343. param4.setWhereClauseParameter(1, slabNo );
  344. param4.setWhereClauseParameter(2, coilNo );
  345. getDao("mesdao").update("NIH020020_SPEC_MILL.update", param4);
  346. PosParameter param5 = new PosParameter();
  347. param5.setWhereClauseParameter(0, "B" );
  348. param5.setWhereClauseParameter(1, SLAB_EDT_SEQ );
  349. getDao("mesdao").update("NIH020020_SPEC_MILL_D.update", param5);
  350. PosParameter param6 = new PosParameter();
  351. param6.setWhereClauseParameter(0, "B" );
  352. param6.setWhereClauseParameter(1, SLAB_EDT_SEQ );
  353. getDao("mesdao").update("NIH020020_MILL_IDX.update", param6);
  354. logger.logInfo(" jihua !! ");
  355. PosParameter param0 = new PosParameter();
  356. param0.setWhereClauseParameter(0,slabNo );
  357. //这里查询板坯公共表,看看板坯公共表中是否存在此板坯信息
  358. PosRowSet rowset5 = getDao("mesdao").find("UIH020020_05.select", param0);
  359. if(rowset5.hasNext())
  360. {
  361. PosRow row1 = rowset5.next();
  362. SlabWgt = (Number)row1.getAttribute("SLAB_WGT");
  363. BefProgCd = (String)row1.getAttribute("CUR_PROG_CD");
  364. OrdNo = (String)row1.getAttribute("ORD_NO");
  365. OrdSeq = (String)row1.getAttribute("ORD_SEQ");
  366. String ROLL_MANA_NO = null;
  367. Number ROLL_SLAB_SEQ = null;
  368. PosParameter paramB = new PosParameter();
  369. paramB.setWhereClauseParameter(0,coilNo );
  370. PosRowSet specMillVO = getDao("mesdao").find("NIH020020_02.select", paramB);
  371. if(specMillVO.hasNext()) {
  372. PosRow specMillROW = specMillVO.next();
  373. ROLL_MANA_NO = (String)specMillROW.getAttribute("ROLL_MANA_NO");
  374. ROLL_SLAB_SEQ = (Number)specMillROW.getAttribute("ROLL_SLAB_SEQ");
  375. }
  376. /*
  377. * 以板坯号为条件查询加热炉装炉出口实绩table,如果有记录则加热炉装炉出口实绩table update处理
  378. * 否则加热炉装炉出口实绩table insert处理
  379. */
  380. PosParameter param = new PosParameter();
  381. PosParameter param1 = new PosParameter();
  382. param.setWhereClauseParameter(0, slabNo);
  383. param.setWhereClauseParameter(1, coilNo);
  384. //这里已板坯号和钢卷号作为联合主键,处理板坯回送的状态情况 TL
  385. PosRowSet rowset = this.getDao("mesdao").find("NIH020010.select", param);
  386. if(rowset.hasNext())
  387. {
  388. param1.setWhereClauseParameter(0, devno);
  389. param1.setWhereClauseParameter(1, chargingDtime);
  390. param1.setWhereClauseParameter(2, chrgingBefWgt);
  391. param1.setWhereClauseParameter(3, chrgingBefTemp);
  392. param1.setWhereClauseParameter(4, RowNum);
  393. param1.setWhereClauseParameter(5, sShift);
  394. param1.setWhereClauseParameter(6, sGroup);
  395. param1.setWhereClauseParameter(7, ROLL_MANA_NO);
  396. param1.setWhereClauseParameter(8, ROLL_SLAB_SEQ);
  397. param1.setWhereClauseParameter(9, slabNo);
  398. param1.setWhereClauseParameter(10, coilNo);
  399. int updateRowCount = this.getDao("mesdao").update("NIH020010.update", param1);
  400. }
  401. else
  402. {
  403. param1.setValueParamter(0, slabNo);
  404. param1.setValueParamter(1, coilNo);
  405. param1.setValueParamter(2, devno);
  406. param1.setValueParamter(3, chargingDtime);
  407. param1.setValueParamter(4, chrgingBefWgt);
  408. param1.setValueParamter(5, chrgingBefTemp);
  409. param1.setValueParamter(6, RowNum);
  410. param1.setValueParamter(7, sShift);
  411. param1.setValueParamter(8, sGroup);
  412. param1.setValueParamter(9, ROLL_MANA_NO);
  413. param1.setValueParamter(10, ROLL_SLAB_SEQ);
  414. int insertRowCount = this.getDao("mesdao").insert("NIH020010.insert", param1);
  415. }
  416. // TBG02_SLAB_COMM UPDATE CUR_PROG_CD = 'RBB'
  417. PosParameter param2 = new PosParameter();
  418. param2.setWhereClauseParameter(0, slabNo );
  419. getDao("mesdao").update("UIH020020_02.update", param2);
  420. // RHF ENTRY slab is cleared in Roller table address
  421. PosParameter param9 = new PosParameter();
  422. param9.setWhereClauseParameter(0, slabNo );
  423. PosRowSet rollerVo = getDao("mesdao").find("NIH020010_ROLLER.select", param9);
  424. while(rollerVo.hasNext()) {
  425. PosRow rollerROW = rollerVo.next();
  426. String YardAddr = (String)rollerROW.getAttribute("YARD_ADDR");
  427. PosParameter paramD = new PosParameter();
  428. paramD.setWhereClauseParameter(0, YardAddr );
  429. getDao("mesdao").update("NIH020010_ROLLER.update", paramD);
  430. logger.logInfo(" GGGGGGGGGGGGGGGGGGGGGGGGGG !! ");
  431. }
  432. } else {
  433. logger.logInfo("XinSaveRhfCharging---> Slab No is not cutting SLAB_NO==> "+slabNo );
  434. }
  435. } else {
  436. logger.logInfo("PosSaveInHeatFurnace Failed TBF02_SPEC_MILL STATUS_CD:("+STATUS_CD+")");
  437. }
  438. }
  439. }else{
  440. // 通过实际钢卷号没有获得计划钢卷号的信息
  441. logger.logInfo("XinSaveRhfCharging OLD_SAMPL_NO - > COIL_NO ERROR ");
  442. }
  443. logger.logInfo(" ENDDDDDDD !! ");
  444. return PosBizControlConstants.SUCCESS;
  445. }
  446. }