3422f27a82f58e14f482942b9c739e57852f587b.svn-base 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. package xin.glue.nui.F.F02;
  2. import xin.glue.user.common.GlobalConstants;
  3. import xin.glue.user.common.LogGpError;
  4. import com.posdata.glue.PosException;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. import com.posdata.glue.msg.PosMessage;
  12. //import java.lang.Long;
  13. /* Program Name MILLRollUnion (NIF024070)
  14. * Description MILL WORK INSTRUCTION UNION ROLL
  15. * Write By KIM SUNG HO
  16. * Date 2009-03-13
  17. */
  18. public class MILLRollUnion extends PosActivity implements GlobalConstants {
  19. public String runActivity(PosContext context) {
  20. long V_ROLL_EDT_SEQ = 0 ;
  21. long V_ROLL_SLAB_CNT = 0 ;
  22. long V_ROLL_SLAB_WGT = 0 ;
  23. long V_MILL_LEN = 0 ;
  24. long V_SPM_CNT = 0 ;
  25. long V_HCR_CNT = 0 ;
  26. long V_STATUS_CD_CNT = 0 ;
  27. long V_COIL_STAT_CNT = 0;
  28. String V_HCR_CLF = "" ;
  29. PosMessage message = context.getMessage();
  30. //ROLL_MANA_NO FROM/TO
  31. String P_ROLL_MANA_ST = (String)message.get("FROM");
  32. String P_ROLL_MANA_EN = (String)message.get("TO");
  33. if (P_ROLL_MANA_ST == null || P_ROLL_MANA_ST.equals("") ||
  34. P_ROLL_MANA_EN == null || P_ROLL_MANA_EN.equals("")) {
  35. //MESSAGE ERROR --> PROGRAM EXIT
  36. throw new PosException("MILLRollUnion..ROLL_MANA_NO ST/EN IS NULL..");
  37. }
  38. //P_ROLL_MANA_ST / P_ROLL_MANA_EN CHECK
  39. if (P_ROLL_MANA_ST.compareTo(P_ROLL_MANA_EN) > 0) {
  40. //MESSAGE ERROR --> PROGRAM EXIT
  41. throw new PosException("MILLRollUnion..ROLL_MANA_NO_ST > ROLL_MANA_NO_EN..");
  42. }
  43. //SELECT STATUS_CD CHECK
  44. PosParameter paramS = new PosParameter();
  45. paramS.setWhereClauseParameter(0, P_ROLL_MANA_ST);
  46. paramS.setWhereClauseParameter(1, P_ROLL_MANA_EN);
  47. PosRowSet RollSlabStatusChkVO = getDao("mesdao").find("NIF024070_RollSlabStatusChk.select",paramS);
  48. RollSlabStatusChkVO.reset();
  49. if (RollSlabStatusChkVO.hasNext()) {
  50. PosRow RollSlabStatusChkRow = RollSlabStatusChkVO.next();
  51. V_STATUS_CD_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")).toString());
  52. V_COIL_STAT_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")).toString());
  53. } else {
  54. V_STATUS_CD_CNT = 0;
  55. }
  56. if (V_STATUS_CD_CNT != 0) {
  57. //MESSAGE ERROR --> PROGRAM EXIT
  58. throw new PosException("MILLRollUnion..STATUS_CD = 'B'..");
  59. }
  60. if (V_COIL_STAT_CNT != 0) {
  61. //MESSAGE ERROR --> PROGRAM EXIT
  62. throw new PosException("°åÅ÷ÒÑÉÏÁÏ MILLRollUnion..COIL_STAT = '0'..");
  63. }
  64. //ROLL_MANA_NO ST/EN SUM (SLAB_CNT, SLAB_WGT, MILL_LEN, SPM_CNT, HCR COUNT)
  65. PosParameter param1 = new PosParameter();
  66. param1.setWhereClauseParameter(0, P_ROLL_MANA_ST);
  67. param1.setWhereClauseParameter(1, P_ROLL_MANA_EN);
  68. PosRowSet RollInfSumVO = getDao("mesdao").find("NIF024070_RollInfSum.select",param1);
  69. RollInfSumVO.reset();
  70. if (RollInfSumVO.hasNext()) {
  71. PosRow RollInfSumRow = RollInfSumVO.next();
  72. V_ROLL_SLAB_CNT = Long.parseLong((RollInfSumRow.getAttribute("ROLL_SLAB_CNT")==null? "0":RollInfSumRow.getAttribute("ROLL_SLAB_CNT")).toString());
  73. V_ROLL_SLAB_WGT = Long.parseLong((RollInfSumRow.getAttribute("ROLL_SLAB_WGT")==null? "0":RollInfSumRow.getAttribute("ROLL_SLAB_WGT")).toString());
  74. V_MILL_LEN = Long.parseLong((RollInfSumRow.getAttribute("MILL_LEN")==null? "0":RollInfSumRow.getAttribute("MILL_LEN")).toString());
  75. V_SPM_CNT = Long.parseLong((RollInfSumRow.getAttribute("SPM_CNT")==null? "0":RollInfSumRow.getAttribute("SPM_CNT")).toString());
  76. V_HCR_CNT = Long.parseLong((RollInfSumRow.getAttribute("HCR_CLF")==null? "0":RollInfSumRow.getAttribute("HCR_CLF")).toString());
  77. if (V_HCR_CNT == 0) {
  78. V_HCR_CLF = "C";
  79. } else {
  80. V_HCR_CLF = "H";
  81. }
  82. } else {
  83. //MESSAGE ERROR --> PROGRAM EXIT
  84. throw new PosException("MILLRollUnion..ROLL SUM DATA NOT FOUND..");
  85. }
  86. //ROLL_EDT_SEQ SELECT
  87. PosParameter param2 = new PosParameter();
  88. param2.setWhereClauseParameter(0, P_ROLL_MANA_ST);
  89. PosRowSet RollEdtSeqVO = getDao("mesdao").find("NIF024070_RollEdtSeq.select",param2);
  90. RollEdtSeqVO.reset();
  91. if (RollEdtSeqVO.hasNext()) {
  92. PosRow RollEdtSeqRow = RollEdtSeqVO.next();
  93. V_ROLL_EDT_SEQ = Long.parseLong((RollEdtSeqRow.getAttribute("ROLL_EDT_SEQ")==null? "0":RollEdtSeqRow.getAttribute("ROLL_EDT_SEQ")).toString());
  94. } else {
  95. //MESSAGE ERROR --> PROGRAM EXIT
  96. throw new PosException("MILLRollUnion..NOT FOUND ROLL_EDT_SEQ..");
  97. }
  98. //RE-ARRANGE UPDATE TBF02_SPEC_MILL --> ROLL_SLAB_SEQ
  99. PosParameter param3 = new PosParameter();
  100. param3.setWhereClauseParameter(0, P_ROLL_MANA_ST);
  101. param3.setWhereClauseParameter(1, P_ROLL_MANA_EN);
  102. param3.setWhereClauseParameter(2, P_ROLL_MANA_ST);
  103. param3.setWhereClauseParameter(3, P_ROLL_MANA_ST);
  104. param3.setWhereClauseParameter(4, P_ROLL_MANA_EN);
  105. getDao("mesdao").update("NIF024070_RollSalbSeqUpd.update",param3);
  106. //UPDATE TBF02_SPEC_ROLL
  107. PosParameter param4 = new PosParameter();
  108. param4.setWhereClauseParameter(0, String.valueOf(V_ROLL_SLAB_CNT));
  109. param4.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_WGT));
  110. param4.setWhereClauseParameter(2, V_HCR_CLF);
  111. param4.setWhereClauseParameter(3, String.valueOf(V_MILL_LEN));
  112. param4.setWhereClauseParameter(4, String.valueOf(V_SPM_CNT));
  113. param4.setWhereClauseParameter(5, String.valueOf(V_ROLL_EDT_SEQ));
  114. getDao("mesdao").update("NIF024070_SpecRollUpd.update",param4);
  115. //-------------------------------------------------------------------------------
  116. //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (UPDATE INFORMATION)---------------
  117. //-------------------------------------------------------------------------------
  118. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (UPDATE INFORMATION)
  119. PosParameter param5 = new PosParameter();
  120. param5.setValueParamter(0, String.valueOf(V_ROLL_EDT_SEQ));
  121. getDao("mesdao").insert("NIF024070_L2ROLLReSend.insert",param5);
  122. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (DELETE INFORMATION)
  123. PosParameter param6 = new PosParameter();
  124. param6.setValueParamter(0, P_ROLL_MANA_ST);
  125. param6.setValueParamter(1, P_ROLL_MANA_EN);
  126. getDao("mesdao").insert("NIF024070_L2ROLLDelSend.insert",param6);
  127. //TBH06_L2_RHT_INS SEND PROCESS (UPDATE INFORMATION)
  128. PosParameter param7 = new PosParameter();
  129. param7.setValueParamter(0, P_ROLL_MANA_ST);
  130. param7.setValueParamter(1, P_ROLL_MANA_ST);
  131. param7.setValueParamter(2, P_ROLL_MANA_EN);
  132. getDao("mesdao").insert("NIF024070_L2RHTReSend.insert",param7);
  133. //TBH06_L2_MILL_INS SEND PROCESS (UPDATE INFORMATION)
  134. PosParameter param8 = new PosParameter();
  135. param8.setValueParamter(0, P_ROLL_MANA_ST);
  136. param8.setValueParamter(1, P_ROLL_MANA_ST);
  137. param8.setValueParamter(2, P_ROLL_MANA_EN);
  138. getDao("mesdao").insert("NIF024070_L2MILLReSend.insert",param8);
  139. //SELECT NXET SET SEQUEANCE
  140. String nextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  141. PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr);
  142. nextSeqVO.reset();
  143. PosRow nextSeqRow = nextSeqVO.next();
  144. Number V_SET_SEQ = (Number)nextSeqRow.getAttribute("SET_SEQ");
  145. //TBH06_L2_COIL_NO_INS SEND PROCESS
  146. PosParameter param9 = new PosParameter();
  147. param9.setValueParamter(0, V_SET_SEQ);
  148. param9.setValueParamter(1, P_ROLL_MANA_ST);
  149. param9.setValueParamter(2, P_ROLL_MANA_EN);
  150. getDao("mesdao").insert("NIF024070_L2ROLLCOILReSend.insert",param9);
  151. //-------------------------------------------------------------------------------
  152. //UPDATE TBF02_SPEC_MILL --> ROLL_MANA_NO, ROLL_EDT_SEQ
  153. PosParameter paramA = new PosParameter();
  154. paramA.setWhereClauseParameter(0, String.valueOf(V_ROLL_EDT_SEQ));
  155. paramA.setWhereClauseParameter(1, P_ROLL_MANA_ST);
  156. paramA.setWhereClauseParameter(2, P_ROLL_MANA_ST);
  157. paramA.setWhereClauseParameter(3, P_ROLL_MANA_EN);
  158. getDao("mesdao").update("NIF024070_SpecMillUpd.update",paramA);
  159. //UPDATE TBF02_SPEC_MILL_IDX --> ROLL_MANA_NO, ROLL_EDT_SEQ
  160. PosParameter paramB = new PosParameter();
  161. paramB.setWhereClauseParameter(0, String.valueOf(V_ROLL_EDT_SEQ));
  162. paramB.setWhereClauseParameter(1, P_ROLL_MANA_ST);
  163. paramB.setWhereClauseParameter(2, P_ROLL_MANA_ST);
  164. paramB.setWhereClauseParameter(3, P_ROLL_MANA_EN);
  165. getDao("mesdao").update("NIF024070_SpecMillIdxUpd.update",paramB);
  166. //DELETE TBF02_SPEC_ROLL --> ROLL_MANA_NO, ROLL_EDT_SEQ
  167. PosParameter paramC = new PosParameter();
  168. paramC.setWhereClauseParameter(0, P_ROLL_MANA_ST);
  169. paramC.setWhereClauseParameter(1, P_ROLL_MANA_EN);
  170. getDao("mesdao").delete("NIF024070_SpecRollDel.delete",paramC);
  171. return PosBizControlConstants.SUCCESS;
  172. }
  173. }