a10294932edcf6a214bc7b43bbecb7e05f4dad81.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. package xin.glue.nui.F.F02;
  2. import xin.glue.user.common.GlobalConstants;
  3. import xin.glue.user.common.LogGpError;
  4. import xin.glue.user.common.StringUtils;
  5. import com.posdata.glue.PosException;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.context.PosContext;
  9. import com.posdata.glue.dao.vo.PosParameter;
  10. import com.posdata.glue.dao.vo.PosRow;
  11. import com.posdata.glue.dao.vo.PosRowSet;
  12. import com.posdata.glue.msg.PosMessage;
  13. //import java.lang.Long;
  14. /* Program Name MILLRollSplit (NIF024080)
  15. * Description MILL WORK INSTRUCTION SPLIT ROLL
  16. * Write By KIM SUNG HO
  17. * Date 2009-03-13
  18. */
  19. public class MILLRollSplit extends PosActivity implements GlobalConstants {
  20. public String runActivity(PosContext context) {
  21. long V_NEW_ROLL_EDT_SEQ = 0 ;
  22. long V_ROLL_SLAB_SEQ = 0 ;
  23. long V_NEW_ROLL_MANA_NO_CNT = 0 ;
  24. long V_STATUS_CD_CNT = 0 ;
  25. long V_COIL_STAT_CNT = 0;
  26. String V_ROLL_MANA_IC = "" ;
  27. String V_NEW_ROLL_MANA_NO = "" ;
  28. String V_NEW_ROLL_MANA_FL = "" ;
  29. PosMessage message = context.getMessage();
  30. //ROLL_MANA_NO, SLAB_NO
  31. String P_ROLL_MANA_NO = (String)message.get("ROLL_MANA_NO");
  32. String P_SLAB_NO = (String)message.get("SLAB_NO");
  33. String P_REG_ID = (String)message.get("REG_ID");
  34. if (P_ROLL_MANA_NO == null || P_ROLL_MANA_NO.equals("") ||
  35. P_SLAB_NO == null || P_SLAB_NO.equals("")) {
  36. //MESSAGE ERROR --> PROGRAM EXIT
  37. throw new PosException("MILLRollSplit..ROLL_MANA_NO OR SLAB_NO IS NULL..");
  38. }
  39. //ROLL_MANA_NO, SLAB_NO CHECK
  40. PosParameter param1 = new PosParameter();
  41. param1.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  42. param1.setWhereClauseParameter(1, P_SLAB_NO);
  43. PosRowSet RollManaNoChkVO = getDao("mesdao").find("NIF024080_RollManaNoChk.select",param1);
  44. RollManaNoChkVO.reset();
  45. if (RollManaNoChkVO.hasNext()) {
  46. PosRow RollManaNoChkRow = RollManaNoChkVO.next();
  47. V_ROLL_SLAB_SEQ = Long.parseLong((RollManaNoChkRow.getAttribute("ROLL_SLAB_SEQ")==null? "0":RollManaNoChkRow.getAttribute("ROLL_SLAB_SEQ")).toString());
  48. } else {
  49. //MESSAGE ERROR --> PROGRAM EXIT
  50. throw new PosException("MILLRollSplit..ROLL_SLAB_SEQ IN ROLL_MANA_NO NOT FOUND..");
  51. }
  52. //SELECT STATUS_CD CHECK
  53. PosParameter paramS = new PosParameter();
  54. paramS.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  55. paramS.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ));
  56. PosRowSet RollSlabStatusChkVO = getDao("mesdao").find("NIF024080_RollSlabStatusChk.select",paramS);
  57. RollSlabStatusChkVO.reset();
  58. if (RollSlabStatusChkVO.hasNext()) {
  59. PosRow RollSlabStatusChkRow = RollSlabStatusChkVO.next();
  60. V_STATUS_CD_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")).toString());
  61. V_COIL_STAT_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")).toString());
  62. } else {
  63. V_STATUS_CD_CNT = 0;
  64. V_COIL_STAT_CNT = 0;
  65. }
  66. if (V_STATUS_CD_CNT != 0) {
  67. //MESSAGE ERROR --> PROGRAM EXIT
  68. throw new PosException("MILLRollSplit..STATUS_CD = 'B'..");
  69. }
  70. if (V_COIL_STAT_CNT != 0) {
  71. //MESSAGE ERROR --> PROGRAM EXIT
  72. throw new PosException("°åÅ÷ÒÑÉÏÁÏ MILLRollSplit..COIL_STAT = '0'..");
  73. }
  74. //MAX(ROLL_EDT_SEQ) SELECT
  75. PosRowSet RollEdtSeqMaxVO = getDao("mesdao").find("NIF024080_RollEdtSeqMax.select");
  76. RollEdtSeqMaxVO.reset();
  77. if (RollEdtSeqMaxVO.hasNext()) {
  78. PosRow RollEdtSeqMaxRow = RollEdtSeqMaxVO.next();
  79. V_NEW_ROLL_EDT_SEQ = Long.parseLong((RollEdtSeqMaxRow.getAttribute("ROLL_EDT_SEQ")==null? "0":RollEdtSeqMaxRow.getAttribute("ROLL_EDT_SEQ")).toString());
  80. V_NEW_ROLL_EDT_SEQ = V_NEW_ROLL_EDT_SEQ + 1;
  81. } else {
  82. //MESSAGE ERROR --> PROGRAM EXIT
  83. throw new PosException("MILLRollSplit..MAX(ROLL_EDT_SEQ) DATA NOT FOUND..");
  84. }
  85. //V_NEW_ROLL_MANA_NO ADD 1
  86. if (P_ROLL_MANA_NO.substring(1, 5) == "9999") {
  87. //ROLL_MANA_NO HEADER ALPHABET + 1
  88. String nextSeqQr = "SELECT CHR(ASCII('" + P_ROLL_MANA_NO.substring(0, 1) + "')+1) ROLL_HEAD FROM DUAL";
  89. PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr);
  90. nextSeqVO.reset();
  91. PosRow nextSeqRow = nextSeqVO.next();
  92. String V_ROLL_HEAD = (String)nextSeqRow.getAttribute("ROLL_HEAD");
  93. V_NEW_ROLL_MANA_NO = V_ROLL_HEAD + "0001";
  94. } else {
  95. V_ROLL_MANA_IC = StringUtils.calculateIntegerStringValue(P_ROLL_MANA_NO.substring(1, 5), 1);
  96. V_NEW_ROLL_MANA_NO = new StringBuffer(5).append(P_ROLL_MANA_NO.substring(0, 1)).append(V_ROLL_MANA_IC).toString();
  97. }
  98. //INIT TEMP TABLE TBF02_CHG_ROLL TEMP TABLE
  99. getDao("mesdao").delete("NIF024080_ChgRollDel.delete");
  100. //INSERT TEMP TABLE TBF02_CHG_ROLL
  101. PosParameter param2 = new PosParameter();
  102. param2.setValueParamter(0, P_ROLL_MANA_NO);
  103. getDao("mesdao").insert("NIF024080_ChgRollIns.insert",param2);
  104. //-------------------------------------------------------------------------------
  105. //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (DELETE INFORMATION)---------------
  106. //-------------------------------------------------------------------------------
  107. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (DELETE INFORMATION)
  108. PosParameter param3 = new PosParameter();
  109. param3.setValueParamter(0, P_ROLL_MANA_NO);
  110. getDao("mesdao").insert("NIF024080_L2ROLLDelSend.insert",param3);
  111. //TBH06_L2_RHT_INS SEND PROCESS (DELETE INFORMATION)
  112. PosParameter param4 = new PosParameter();
  113. param4.setValueParamter(0, P_ROLL_MANA_NO);
  114. getDao("mesdao").insert("NIF024080_L2RHTDelSend.insert",param4);
  115. //TBH06_L2_MILL_INS SEND PROCESS (DELETE INFORMATION)
  116. PosParameter param5 = new PosParameter();
  117. param5.setValueParamter(0, P_ROLL_MANA_NO);
  118. getDao("mesdao").insert("NIF024080_L2MILLDelSend.insert",param5);
  119. //SELECT NXET SET SEQUEANCE
  120. String nextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  121. PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr);
  122. nextSeqVO.reset();
  123. PosRow nextSeqRow = nextSeqVO.next();
  124. Number V_SET_SEQ = (Number)nextSeqRow.getAttribute("SET_SEQ");
  125. //TBH06_L2_COIL_NO_INS SEND PROCESS (DELETE INFORMATION)
  126. PosParameter param6 = new PosParameter();
  127. param6.setValueParamter(0, V_SET_SEQ);
  128. param6.setValueParamter(1, P_ROLL_MANA_NO);
  129. getDao("mesdao").insert("NIF024080_L2ROLLCOILDelSend.insert",param6);
  130. //-------------------------------------------------------------------------------
  131. //TBF02_SPEC_ROLL CHG_ROLL_MANA_NO --> ROLL_MANA_NO CHANGE
  132. PosParameter param7 = new PosParameter();
  133. param7.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  134. getDao("mesdao").update("NIF024080_SpecRollUpd.update",param7);
  135. //TBF02_SPEC_MILL CHG_ROLL_MANA_NO --> ROLL_MANA_NO CHANGE
  136. PosParameter param8 = new PosParameter();
  137. param8.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  138. getDao("mesdao").update("NIF024080_SpecMillUpd.update",param8);
  139. //TBF02_MILL_IDX CHG_ROLL_MANA_NO --> ROLL_MANA_NO CHANGE
  140. PosParameter param9 = new PosParameter();
  141. param9.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  142. getDao("mesdao").update("NIF024080_MillIdxUpd.update",param9);
  143. //-------------------------------------------------------------------------------
  144. //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (UPDATE INFORMATION)---------------
  145. //-------------------------------------------------------------------------------
  146. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (UPDATE INFORMATION)
  147. PosParameter paramA = new PosParameter();
  148. paramA.setValueParamter(0, "2");
  149. paramA.setValueParamter(1, P_ROLL_MANA_NO);
  150. paramA.setValueParamter(2, "Y");
  151. getDao("mesdao").insert("NIF024080_L2ROLLUpdInsSend.insert",paramA);
  152. //TBH06_L2_RHT_INS SEND PROCESS (UPDATE INFORMATION)
  153. PosParameter paramB = new PosParameter();
  154. paramB.setValueParamter(0, "2");
  155. paramB.setValueParamter(1, P_ROLL_MANA_NO);
  156. paramB.setValueParamter(2, "Y");
  157. getDao("mesdao").insert("NIF024080_L2RHTUpdInsSend.insert",paramB);
  158. //TBH06_L2_MILL_INS SEND PROCESS (UPDATE INFORMATION)
  159. PosParameter paramC = new PosParameter();
  160. paramC.setValueParamter(0, "2");
  161. paramC.setValueParamter(1, P_ROLL_MANA_NO);
  162. paramC.setValueParamter(2, "Y");
  163. getDao("mesdao").insert("NIF024080_L2MILLUpdInsSend.insert",paramC);
  164. //SELECT NXET SET SEQUEANCE
  165. String nextSeqQrUpd = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  166. PosRowSet nextSeqUpdVO = getDao("mesdao").findByQueryStatement(nextSeqQrUpd);
  167. nextSeqUpdVO.reset();
  168. PosRow nextSeqUpdRow = nextSeqUpdVO.next();
  169. Number V_SET_SEQUpd = (Number)nextSeqUpdRow.getAttribute("SET_SEQ");
  170. //TBH06_L2_COIL_NO_INS SEND PROCESS (UPDATE INFORMATION)
  171. PosParameter paramD = new PosParameter();
  172. paramD.setValueParamter(0, V_SET_SEQUpd);
  173. paramD.setValueParamter(1, P_ROLL_MANA_NO);
  174. paramD.setValueParamter(2, "Y");
  175. getDao("mesdao").insert("NIF024080_L2ROLLCOILUpdInsSend.insert",paramD);
  176. //-------------------------------------------------------------------------------
  177. //-------------------------------------------------------------------------------
  178. //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (INSERT INFORMATION)---------------
  179. //-------------------------------------------------------------------------------
  180. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (INSERT INFORMATION)
  181. PosParameter paramE = new PosParameter();
  182. paramE.setValueParamter(0, "1");
  183. paramE.setValueParamter(1, P_ROLL_MANA_NO);
  184. paramE.setValueParamter(2, "N");
  185. getDao("mesdao").insert("NIF024080_L2ROLLUpdInsSend.insert",paramE);
  186. //TBH06_L2_RHT_INS SEND PROCESS (INSERT INFORMATION)
  187. PosParameter paramF = new PosParameter();
  188. paramF.setValueParamter(0, "1");
  189. paramF.setValueParamter(1, P_ROLL_MANA_NO);
  190. paramF.setValueParamter(2, "N");
  191. getDao("mesdao").insert("NIF024080_L2RHTUpdInsSend.insert",paramF);
  192. //TBH06_L2_MILL_INS SEND PROCESS (INSERT INFORMATION)
  193. PosParameter paramG = new PosParameter();
  194. paramG.setValueParamter(0, "1");
  195. paramG.setValueParamter(1, P_ROLL_MANA_NO);
  196. paramG.setValueParamter(2, "N");
  197. getDao("mesdao").insert("NIF024080_L2MILLUpdInsSend.insert",paramG);
  198. //SELECT NXET SET SEQUEANCE
  199. String nextSeqQrIns = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  200. PosRowSet nextSeqInsVO = getDao("mesdao").findByQueryStatement(nextSeqQrIns);
  201. nextSeqInsVO.reset();
  202. PosRow nextSeqInsRow = nextSeqInsVO.next();
  203. Number V_SET_SEQIns = (Number)nextSeqInsRow.getAttribute("SET_SEQ");
  204. //TBH06_L2_COIL_NO_INS SEND PROCESS (INSERT INFORMATION)
  205. PosParameter paramH = new PosParameter();
  206. paramH.setValueParamter(0, V_SET_SEQIns);
  207. paramH.setValueParamter(1, P_ROLL_MANA_NO);
  208. paramH.setValueParamter(2, "N");
  209. getDao("mesdao").insert("NIF024080_L2ROLLCOILUpdInsSend.insert",paramH);
  210. //-------------------------------------------------------------------------------
  211. //-------------------------------------------------------------------------------
  212. //ROLL SPLIT PROCESS
  213. //-------------------------------------------------------------------------------
  214. //ROLL_EDT_SEQ SELECT
  215. PosParameter paramI = new PosParameter();
  216. paramI.setWhereClauseParameter(0, V_NEW_ROLL_MANA_NO);
  217. PosRowSet RollEdtSeqVO = getDao("mesdao").find("NIF024080_NewRollManaNoSel.select",paramI);
  218. RollEdtSeqVO.reset();
  219. if (RollEdtSeqVO.hasNext()) {
  220. //MESSAGE ERROR --> PROGRAM EXIT
  221. throw new PosException("MILLRollSplit..ALREADY EXIST NEW_ROLL_MANA_NO.." + V_NEW_ROLL_MANA_NO);
  222. }
  223. //UPDATE TBF02_SPEC_MILL ROLL_MANA_NO, ROLL_SLAB_SEQ
  224. PosParameter paramJ = new PosParameter();
  225. paramJ.setWhereClauseParameter(0, V_NEW_ROLL_MANA_NO);
  226. paramJ.setWhereClauseParameter(1, P_ROLL_MANA_NO);
  227. paramJ.setWhereClauseParameter(2, String.valueOf(V_ROLL_SLAB_SEQ));
  228. paramJ.setWhereClauseParameter(3, String.valueOf(V_NEW_ROLL_EDT_SEQ));
  229. paramJ.setWhereClauseParameter(4, P_ROLL_MANA_NO);
  230. paramJ.setWhereClauseParameter(5, String.valueOf(V_ROLL_SLAB_SEQ));
  231. getDao("mesdao").update("NIF024080_SpecMillNewUpd.update",paramJ);
  232. //UPDATE TBF02_MILL_IDX ROLL_MANA_NO, ROLL_SLAB_SEQ
  233. PosParameter paramK = new PosParameter();
  234. paramK.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  235. getDao("mesdao").update("NIF024080_MillIdxNewUpd.update",paramK);
  236. //UPDATE TBF02_SPEC_ROLL RE-ARRANGE
  237. PosParameter paramL = new PosParameter();
  238. paramL.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  239. paramL.setWhereClauseParameter(1, P_ROLL_MANA_NO);
  240. getDao("mesdao").update("NIF024080_SpecRollReArrange.update",paramL);
  241. //INSERT TBF02_SPEC_ROLL NEW ROLL_MANA_NO
  242. PosParameter paramM = new PosParameter();
  243. paramM.setValueParamter(0, String.valueOf(V_NEW_ROLL_EDT_SEQ));
  244. paramM.setValueParamter(1, V_NEW_ROLL_MANA_NO);
  245. paramM.setValueParamter(2, P_REG_ID);
  246. paramM.setValueParamter(3, V_NEW_ROLL_MANA_NO);
  247. getDao("mesdao").insert("NIF024080_SpecRollNewIns.insert",paramM);
  248. //-------------------------------------------------------------------------------
  249. //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (UPDATE/INSERT INFORMATION)---------------
  250. //-------------------------------------------------------------------------------
  251. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (UPDATE INFORMATION)
  252. PosParameter paramN = new PosParameter();
  253. paramN.setValueParamter(0, "2");
  254. paramN.setValueParamter(1, P_ROLL_MANA_NO);
  255. getDao("mesdao").insert("NIF024080_L2ROLLCurNewSend.insert",paramN);
  256. //SELECT NEW_ROLL_MANA_NO
  257. String newRollManaNo = "SELECT COUNT(ROLL_MANA_NO) ROLL_MANA_CNT FROM TBF02_CHG_ROLL WHERE ROLL_MANA_NO = '" + V_NEW_ROLL_MANA_NO + "' " ;
  258. PosRowSet newRollManaNoVO = getDao("mesdao").findByQueryStatement(newRollManaNo);
  259. newRollManaNoVO.reset();
  260. PosRow newRollManaNoRow = newRollManaNoVO.next();
  261. V_NEW_ROLL_MANA_NO_CNT = Long.parseLong((newRollManaNoRow.getAttribute("ROLL_MANA_CNT")==null? "0":newRollManaNoRow.getAttribute("ROLL_MANA_CNT")).toString());
  262. if (V_NEW_ROLL_MANA_NO_CNT == 0) {
  263. V_NEW_ROLL_MANA_FL = "1";
  264. } else {
  265. V_NEW_ROLL_MANA_FL = "2";
  266. }
  267. //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (INSERT INFORMATION)
  268. PosParameter paramO = new PosParameter();
  269. paramO.setValueParamter(0, V_NEW_ROLL_MANA_FL);
  270. paramO.setValueParamter(1, V_NEW_ROLL_MANA_NO);
  271. getDao("mesdao").insert("NIF024080_L2ROLLCurNewSend.insert",paramO);
  272. //TBH06_L2_RHT_INS SEND PROCESS (UPDATE INFORMATION)
  273. PosParameter paramP = new PosParameter();
  274. paramP.setValueParamter(0, V_NEW_ROLL_MANA_NO);
  275. getDao("mesdao").insert("NIF024080_L2RHTUpdSend.insert",paramP);
  276. //TBH06_L2_MILL_INS SEND PROCESS (UPDATE INFORMATION)
  277. PosParameter paramQ = new PosParameter();
  278. paramQ.setValueParamter(0, V_NEW_ROLL_MANA_NO);
  279. getDao("mesdao").insert("NIF024080_L2MILLUpdSend.insert",paramQ);
  280. //SELECT NXET SET SEQUEANCE
  281. String nextSeqQr1 = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  282. PosRowSet nextSeq1VO = getDao("mesdao").findByQueryStatement(nextSeqQr1);
  283. nextSeq1VO.reset();
  284. PosRow nextSeq1Row = nextSeq1VO.next();
  285. Number V_SET_SEQ1 = (Number)nextSeq1Row.getAttribute("SET_SEQ");
  286. //TBH06_L2_COIL_NO_INS SEND PROCESS (UPDATE INFORMATION)
  287. PosParameter paramR = new PosParameter();
  288. paramR.setValueParamter(0, V_SET_SEQ1);
  289. paramR.setValueParamter(1, V_NEW_ROLL_MANA_NO);
  290. getDao("mesdao").insert("NIF024080_L2ROLLCOILUpdSend.insert",paramR);
  291. //-------------------------------------------------------------------------------
  292. //UPDATE TBF02_SPEC_ROLL FL = ''
  293. getDao("mesdao").update("NIF024080_SpecRollFLInt.update");
  294. //UPDATE TBF02_SPEC_MILL FL = ''
  295. getDao("mesdao").update("NIF024080_SpecMillFLInt.update");
  296. //UPDATE TBF02_MILL_IDX FL = ''
  297. getDao("mesdao").update("NIF024080_MillIdxFLInt.update");
  298. //DELETE TBF02_CHG_ROLL
  299. getDao("mesdao").update("NIF024080_ChgRollDel.delete");
  300. return PosBizControlConstants.SUCCESS;
  301. }
  302. }