47531d5626761988b7af7a971572f99175deb3fa.svn-base 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package xin.glue.ui.G.G04;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.biz.control.PosBizControlIF;
  7. import com.posdata.glue.biz.control.PosBizProvider;
  8. import com.posdata.glue.component.PosConstants;
  9. import com.posdata.glue.context.PosContext;
  10. import com.posdata.glue.dao.vo.PosParameter;
  11. import com.posdata.glue.dao.vo.PosRow;
  12. import com.posdata.glue.dao.vo.PosRowSet;
  13. import com.posdata.glue.msg.PosMESMessageImpl;
  14. import com.posdata.glue.msg.PosMessage;
  15. /*
  16. * This program is class moving slab from address to address by crane command
  17. * @author
  18. * @date 2008.08.11
  19. */
  20. public class PosSaveFromToYard extends PosActivity {
  21. private String SCH_SLAB_NO = null;
  22. private String CUR_LOC = null;
  23. YardHandle ydhl = new YardHandle(getDao("mesdao"));
  24. public String runActivity(PosContext context) {
  25. String[] status1 = (String[]) context.get("rowStatus");
  26. String[] FromAddr = (String[]) context.get("FROM_ADDR");
  27. String[] ToAddr = (String[]) context.get("TO_ADDR");
  28. String[] SlabCnt = (String[]) context.get("SLAB_CNT");
  29. String[] SlabNo = (String[]) context.get("SLAB_NO");
  30. String[] SeqNo = (String[]) context.get("SEQ_NO");
  31. String[] CrNo = (String[]) context.get("LOC_CR_NO");
  32. String[] chk = (String[]) context.get("CHK");
  33. String[] ordType = (String[]) context.get("ORD_TYPE");
  34. //String[] linePosition = (String[]) context.get("LINE_POSITION");
  35. // int rowset = 0;
  36. Map map = new HashMap(2);
  37. for (int i = 0; i < status1.length; i++) {
  38. if (!chk[i].equals("Y")) {
  39. continue;
  40. }
  41. // 上料行车命令执行时 需检查轧制计划顺序
  42. if (ordType[i].equals("B")) {
  43. // RHF LEVEL1 TAKE IN I/F TABLE INSERT
  44. //ydhl.RHFSendL1(SlabNo[0],ToAddr[0]);
  45. // RHF LEVEL2 TAKE IN I/F TABLE INSERT
  46. //ydhl.RHFSendL2(SlabNo[0],ToAddr[0]);
  47. ydhl.clearFromAddrBySlabNo(SlabNo[i]);
  48. ydhl.setExtSlabComm(SlabNo[i], FromAddr[i], SlabCnt[i], "A7","");
  49. PosParameter param5 = new PosParameter();
  50. param5.setValueParamter(0, "A7");
  51. param5.setValueParamter(1, "CRD");
  52. param5.setValueParamter(2, SlabNo[i]);
  53. getDao("mesdao").update("UIG040042_SLAB.update", param5);
  54. // 生成行车命令状态
  55. ydhl.loadBlank(SlabNo[i], FromAddr[i], ToAddr[i], CrNo[0]);
  56. // Lock release insert to RHF LEVEL2 I/F table
  57. //ydhl.CrLockUdt("", "N", "", linePosition[0]);
  58. // LOCK release set "" to TBG04_STS_SLAB_YARD
  59. /*
  60. * PosParameter param6 = new PosParameter();
  61. * param6.setWhereClauseParameter(0, "");
  62. * param6.setWhereClauseParameter(1, setAddr);
  63. * getDao("mesdao").update("UIG040042_std_yd.update", param6);
  64. */
  65. map.put("SCH_SLAB_NO", SCH_SLAB_NO);
  66. map.put("CUR_LOC", CUR_LOC);
  67. context.put("MillSchExist", map);
  68. //下线
  69. }else if (ordType[i].equals("A")){
  70. // MILL SCHEDULE SLAB GO TO YARD CHECK AND SEND TO
  71. // REJECT MILL SCHEDULE PROGRAM CALL
  72. PosParameter param6 = new PosParameter();
  73. param6.setWhereClauseParameter(0, SlabNo[i]);
  74. PosRowSet SpecSlabVO = getDao("mesdao").find("UIG040042_SPEC_SLAB.select", param6);
  75. if (SpecSlabVO.hasNext()) {
  76. PosRow SpecSlabROW = SpecSlabVO.next();
  77. String MillFl = (String) SpecSlabROW.getAttribute("MILL_FL");
  78. if (MillFl != null && MillFl.equals("Y")) {
  79. SendProg_NIF024060(SlabNo[i]);
  80. }
  81. }
  82. // 修改行车命令状态
  83. ydhl.crOrdUpt(SeqNo[i],"2");
  84. }
  85. }
  86. return PosBizControlConstants.SUCCESS;
  87. }
  88. // Mill Schedule sequence check
  89. public String ChkMillSch(String SlabNo) {
  90. String Flg = null;
  91. SCH_SLAB_NO = null;
  92. CUR_LOC = null;
  93. PosParameter param1 = new PosParameter();
  94. param1.setWhereClauseParameter(0, SlabNo);
  95. PosRowSet MillSchVO = getDao("mesdao").find(
  96. "UIG040042_MILL_SCH_CHK.select", param1);
  97. if (MillSchVO.hasNext()) {
  98. PosRow MillSchROW = MillSchVO.next();
  99. CUR_LOC = (String) MillSchROW.getAttribute("YARD_ADDR");
  100. SCH_SLAB_NO = (String) MillSchROW.getAttribute("SLAB_NO");
  101. Flg = "F";
  102. }
  103. return Flg;
  104. }
  105. // Mill Schedule delete request service call
  106. public void SendProg_NIF024060(String SlabNo) {
  107. logger.logInfo("PosSaveMissionNo SendProg_NIF024060 ");
  108. PosContext context = new PosContext();
  109. PosMessage message = new PosMESMessageImpl();
  110. String TcId = "NIF024060";
  111. message.setTCID(TcId);
  112. message.setObject("MSG_ID", TcId);
  113. message.setObject("TYPE", "S");
  114. message.setObject("FROM", SlabNo);
  115. message.setObject("TO", SlabNo);
  116. message.setObject("REG_ID", "UIG040042");
  117. context.setMessage(message);
  118. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  119. String transactionCode = context.getMessage().getTC();
  120. message.setTCID(TcId);
  121. String serviceName = "NIF024060";
  122. String SERVICE_POSTFIX = "-service";
  123. context.put(PosBizControlConstants.SERVICE_NAME, serviceName
  124. + SERVICE_POSTFIX);
  125. context.setMessage(message);
  126. PosBizControlIF controller = PosBizProvider.getController();
  127. controller.doSubController(context, false);
  128. }
  129. }