package xin.glue.nui.F.F02; import xin.glue.user.common.GlobalConstants; import xin.glue.user.common.LogGpError; import com.posdata.glue.PosException; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; import com.posdata.glue.msg.PosMessage; //import java.lang.Long; /* Program Name MILLRollUnion (NIF024070) * Description MILL WORK INSTRUCTION UNION ROLL * Write By KIM SUNG HO * Date 2009-03-13 */ public class MILLRollUnion extends PosActivity implements GlobalConstants { public String runActivity(PosContext context) { long V_ROLL_EDT_SEQ = 0 ; long V_ROLL_SLAB_CNT = 0 ; long V_ROLL_SLAB_WGT = 0 ; long V_MILL_LEN = 0 ; long V_SPM_CNT = 0 ; long V_HCR_CNT = 0 ; long V_STATUS_CD_CNT = 0 ; long V_COIL_STAT_CNT = 0; String V_HCR_CLF = "" ; PosMessage message = context.getMessage(); //ROLL_MANA_NO FROM/TO String P_ROLL_MANA_ST = (String)message.get("FROM"); String P_ROLL_MANA_EN = (String)message.get("TO"); if (P_ROLL_MANA_ST == null || P_ROLL_MANA_ST.equals("") || P_ROLL_MANA_EN == null || P_ROLL_MANA_EN.equals("")) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("MILLRollUnion..ROLL_MANA_NO ST/EN IS NULL.."); } //P_ROLL_MANA_ST / P_ROLL_MANA_EN CHECK if (P_ROLL_MANA_ST.compareTo(P_ROLL_MANA_EN) > 0) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("MILLRollUnion..ROLL_MANA_NO_ST > ROLL_MANA_NO_EN.."); } //SELECT STATUS_CD CHECK PosParameter paramS = new PosParameter(); paramS.setWhereClauseParameter(0, P_ROLL_MANA_ST); paramS.setWhereClauseParameter(1, P_ROLL_MANA_EN); PosRowSet RollSlabStatusChkVO = getDao("mesdao").find("NIF024070_RollSlabStatusChk.select",paramS); RollSlabStatusChkVO.reset(); if (RollSlabStatusChkVO.hasNext()) { PosRow RollSlabStatusChkRow = RollSlabStatusChkVO.next(); V_STATUS_CD_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("STATUS_CD_CNT")).toString()); V_COIL_STAT_CNT = Long.parseLong((RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")==null? "0":RollSlabStatusChkRow.getAttribute("COIL_STAT_CNT")).toString()); } else { V_STATUS_CD_CNT = 0; } if (V_STATUS_CD_CNT != 0) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("MILLRollUnion..STATUS_CD = 'B'.."); } if (V_COIL_STAT_CNT != 0) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("°åÅ÷ÒÑÉÏÁÏ MILLRollUnion..COIL_STAT = '0'.."); } //ROLL_MANA_NO ST/EN SUM (SLAB_CNT, SLAB_WGT, MILL_LEN, SPM_CNT, HCR COUNT) PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, P_ROLL_MANA_ST); param1.setWhereClauseParameter(1, P_ROLL_MANA_EN); PosRowSet RollInfSumVO = getDao("mesdao").find("NIF024070_RollInfSum.select",param1); RollInfSumVO.reset(); if (RollInfSumVO.hasNext()) { PosRow RollInfSumRow = RollInfSumVO.next(); V_ROLL_SLAB_CNT = Long.parseLong((RollInfSumRow.getAttribute("ROLL_SLAB_CNT")==null? "0":RollInfSumRow.getAttribute("ROLL_SLAB_CNT")).toString()); V_ROLL_SLAB_WGT = Long.parseLong((RollInfSumRow.getAttribute("ROLL_SLAB_WGT")==null? "0":RollInfSumRow.getAttribute("ROLL_SLAB_WGT")).toString()); V_MILL_LEN = Long.parseLong((RollInfSumRow.getAttribute("MILL_LEN")==null? "0":RollInfSumRow.getAttribute("MILL_LEN")).toString()); V_SPM_CNT = Long.parseLong((RollInfSumRow.getAttribute("SPM_CNT")==null? "0":RollInfSumRow.getAttribute("SPM_CNT")).toString()); V_HCR_CNT = Long.parseLong((RollInfSumRow.getAttribute("HCR_CLF")==null? "0":RollInfSumRow.getAttribute("HCR_CLF")).toString()); if (V_HCR_CNT == 0) { V_HCR_CLF = "C"; } else { V_HCR_CLF = "H"; } } else { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("MILLRollUnion..ROLL SUM DATA NOT FOUND.."); } //ROLL_EDT_SEQ SELECT PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, P_ROLL_MANA_ST); PosRowSet RollEdtSeqVO = getDao("mesdao").find("NIF024070_RollEdtSeq.select",param2); RollEdtSeqVO.reset(); if (RollEdtSeqVO.hasNext()) { PosRow RollEdtSeqRow = RollEdtSeqVO.next(); V_ROLL_EDT_SEQ = Long.parseLong((RollEdtSeqRow.getAttribute("ROLL_EDT_SEQ")==null? "0":RollEdtSeqRow.getAttribute("ROLL_EDT_SEQ")).toString()); } else { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("MILLRollUnion..NOT FOUND ROLL_EDT_SEQ.."); } //RE-ARRANGE UPDATE TBF02_SPEC_MILL --> ROLL_SLAB_SEQ PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, P_ROLL_MANA_ST); param3.setWhereClauseParameter(1, P_ROLL_MANA_EN); param3.setWhereClauseParameter(2, P_ROLL_MANA_ST); param3.setWhereClauseParameter(3, P_ROLL_MANA_ST); param3.setWhereClauseParameter(4, P_ROLL_MANA_EN); getDao("mesdao").update("NIF024070_RollSalbSeqUpd.update",param3); //UPDATE TBF02_SPEC_ROLL PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, String.valueOf(V_ROLL_SLAB_CNT)); param4.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_WGT)); param4.setWhereClauseParameter(2, V_HCR_CLF); param4.setWhereClauseParameter(3, String.valueOf(V_MILL_LEN)); param4.setWhereClauseParameter(4, String.valueOf(V_SPM_CNT)); param4.setWhereClauseParameter(5, String.valueOf(V_ROLL_EDT_SEQ)); getDao("mesdao").update("NIF024070_SpecRollUpd.update",param4); //------------------------------------------------------------------------------- //INSERT MILL INSTRUCTION LEVEL2 SEND PROCESS (UPDATE INFORMATION)--------------- //------------------------------------------------------------------------------- //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (UPDATE INFORMATION) PosParameter param5 = new PosParameter(); param5.setValueParamter(0, String.valueOf(V_ROLL_EDT_SEQ)); getDao("mesdao").insert("NIF024070_L2ROLLReSend.insert",param5); //TBH06_L2_ROLL_UNIT_INS SEND PROCESS (DELETE INFORMATION) PosParameter param6 = new PosParameter(); param6.setValueParamter(0, P_ROLL_MANA_ST); param6.setValueParamter(1, P_ROLL_MANA_EN); getDao("mesdao").insert("NIF024070_L2ROLLDelSend.insert",param6); //TBH06_L2_RHT_INS SEND PROCESS (UPDATE INFORMATION) PosParameter param7 = new PosParameter(); param7.setValueParamter(0, P_ROLL_MANA_ST); param7.setValueParamter(1, P_ROLL_MANA_ST); param7.setValueParamter(2, P_ROLL_MANA_EN); getDao("mesdao").insert("NIF024070_L2RHTReSend.insert",param7); //TBH06_L2_MILL_INS SEND PROCESS (UPDATE INFORMATION) PosParameter param8 = new PosParameter(); param8.setValueParamter(0, P_ROLL_MANA_ST); param8.setValueParamter(1, P_ROLL_MANA_ST); param8.setValueParamter(2, P_ROLL_MANA_EN); getDao("mesdao").insert("NIF024070_L2MILLReSend.insert",param8); //SELECT NXET SET SEQUEANCE String nextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL "; PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr); nextSeqVO.reset(); PosRow nextSeqRow = nextSeqVO.next(); Number V_SET_SEQ = (Number)nextSeqRow.getAttribute("SET_SEQ"); //TBH06_L2_COIL_NO_INS SEND PROCESS PosParameter param9 = new PosParameter(); param9.setValueParamter(0, V_SET_SEQ); param9.setValueParamter(1, P_ROLL_MANA_ST); param9.setValueParamter(2, P_ROLL_MANA_EN); getDao("mesdao").insert("NIF024070_L2ROLLCOILReSend.insert",param9); //------------------------------------------------------------------------------- //UPDATE TBF02_SPEC_MILL --> ROLL_MANA_NO, ROLL_EDT_SEQ PosParameter paramA = new PosParameter(); paramA.setWhereClauseParameter(0, String.valueOf(V_ROLL_EDT_SEQ)); paramA.setWhereClauseParameter(1, P_ROLL_MANA_ST); paramA.setWhereClauseParameter(2, P_ROLL_MANA_ST); paramA.setWhereClauseParameter(3, P_ROLL_MANA_EN); getDao("mesdao").update("NIF024070_SpecMillUpd.update",paramA); //UPDATE TBF02_SPEC_MILL_IDX --> ROLL_MANA_NO, ROLL_EDT_SEQ PosParameter paramB = new PosParameter(); paramB.setWhereClauseParameter(0, String.valueOf(V_ROLL_EDT_SEQ)); paramB.setWhereClauseParameter(1, P_ROLL_MANA_ST); paramB.setWhereClauseParameter(2, P_ROLL_MANA_ST); paramB.setWhereClauseParameter(3, P_ROLL_MANA_EN); getDao("mesdao").update("NIF024070_SpecMillIdxUpd.update",paramB); //DELETE TBF02_SPEC_ROLL --> ROLL_MANA_NO, ROLL_EDT_SEQ PosParameter paramC = new PosParameter(); paramC.setWhereClauseParameter(0, P_ROLL_MANA_ST); paramC.setWhereClauseParameter(1, P_ROLL_MANA_EN); getDao("mesdao").delete("NIF024070_SpecRollDel.delete",paramC); return PosBizControlConstants.SUCCESS; } }