package xin.glue.nui.F.F01; import java.math.BigDecimal; import java.sql.CallableStatement; import java.sql.SQLException; 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.biz.control.PosBizProvider; 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.PosMESMessageImpl; import com.posdata.glue.msg.PosMessage; //import java.lang.Long; /* Program Name SMSLvlSend (NIF012110)ָʾ * Description SMS WORK INSTRUCTION LEVEL2 SEND TO MES 2.5 * Write By KIM SUNG HO * Date 2008-11-04 */ public class SMSLvlSend extends PosActivity implements GlobalConstants { public String runActivity(PosContext context) { long V_CHARGE_EDT_SEQ = 0 ; long V_CHG_SEQ = 0 ; long V_PREV_CHARGE_WGT = 0 ; String V_CHARGE_MANA_NO = "" ; String V_TABLE_ID = "" ; String V_TABLE_MODE = "" ; String V_ERR_DESC = "" ; String V_RTN_NAME = "" ; PosMessage message = context.getMessage(); String P_CHARGE_MANA_NO_EN = (String)message.get("CHARGE_MANA_NO_EN"); String P_REG_ID = (String)message.get("REG_ID"); //String PRC_LINE = P_CHARGE_MANA_NO_EN.substring(3, 4); String PRC_LINE = P_CHARGE_MANA_NO_EN.substring(2, 3); // try { //P_CHARGE_MANA_NO_EN IS NULL CHECK if (P_CHARGE_MANA_NO_EN == null || P_CHARGE_MANA_NO_EN.equals("") ) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("CHARGE_MANA_NO_ST, CHARGE_MANA_NO_ST IS NULL"); } //SELECT CHG_SEQ INFORMATION PosParameter paramA = new PosParameter(); paramA.setWhereClauseParameter(0, PRC_LINE); paramA.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN); PosRowSet ChgSeqInfVO = getDao("mesdao").find("NIF012110_ChgSeqInf.select",paramA); ChgSeqInfVO.reset(); if (ChgSeqInfVO.hasNext()) { PosRow ChgSeqInfRow = ChgSeqInfVO.next(); V_CHG_SEQ = Long.parseLong((ChgSeqInfRow.getAttribute("CHG_SEQ")==null? "0":ChgSeqInfRow.getAttribute("CHG_SEQ")).toString()); } else { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("CHARGE_MANA_NO_ST, NOT FOUND LEVEL2 SEND DATA "); } //TBG06_L2_CHARGE_INS INSERT ת¯¯´Î¼Æ»®Ï·¢ SEND_CLF = 'I' PosParameter param1 = new PosParameter(); param1.setValueParamter(0, PRC_LINE); param1.setValueParamter(1, String.valueOf(V_CHG_SEQ)); int InsCnt1 = getDao("mesdao").insert("NIF012110_L2Charge.insert",param1); if (InsCnt1 == 0) { V_TABLE_ID = "TBG06_L2_CHARGE_INS"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBG06_L2_CHARGE_INS INSERT COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBG06_L2_CHARGE_INS INSERT1 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //TBG06_L2_CCM_INS INSERT Á¬Öý¼Æ»®Ï·¢ SEND_CLF = 'I' PosParameter param2 = new PosParameter(); param2.setValueParamter(0, PRC_LINE); param2.setValueParamter(1, String.valueOf(V_CHG_SEQ)); int InsCnt2 = getDao("mesdao").insert("NIF012110_L2Ccm.insert",param2); if (InsCnt2 == 0) { V_TABLE_ID = "TBG06_L2_CCM_INS"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBG06_L2_CCM_INS INSERT COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBG06_L2_CCM_INS INSERT2 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //TBG06_L2_SLAB_CUT_INS INSERT Å÷Áϼƻ®Ï·¢ SEND_CLF = 'I' PosParameter param3 = new PosParameter(); param3.setValueParamter(0, PRC_LINE); param3.setValueParamter(1, String.valueOf(V_CHG_SEQ)); int InsCnt3 = getDao("mesdao").insert("NIF012110_L2SlabCut.insert",param3); if (InsCnt3 == 0) { V_TABLE_ID = "TBG06_L2_SLAB_CUT_INS"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBG06_L2_SLAB_CUT_INS INSERT COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBG06_L2_SLAB_CUT_INS INSERT3 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } InsCnt3 = 0; //TBG06_L2_SLAB_CUT_INS INSERT Å÷Áϼƻ®Ï·¢ SEND_CLF = 'I' param3 = new PosParameter(); param3.setValueParamter(0, PRC_LINE); param3.setValueParamter(1, String.valueOf(V_CHG_SEQ)); InsCnt3 = getDao("mesdao").insert("NIF012110_L2SlabCut02.insert",param3); if (InsCnt3 == 0) { V_TABLE_ID = "TBG06_L2_SLAB_CUT_INS"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBG06_L2_SLAB_CUT_INS INSERT COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBG06_L2_SLAB_CUT_INS INSERT3 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //UPDATE TBF01_SPEC_CHARGE (PROG_CD="JBB") PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, P_REG_ID); param4.setWhereClauseParameter(1, PRC_LINE); param4.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ)); int UpdCnt1 = getDao("mesdao").update("NIF012110_ChargeProgUpd.update",param4); if (UpdCnt1 == 0) { V_TABLE_ID = "TBF01_SPEC_CHARGE"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBF01_SPEC_CHARGE UPDATE COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBF01_SPEC_CHARGE UPDATE1 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //SELECT CHARGE INFORMATION PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, PRC_LINE); param0.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN); PosRowSet ChargeInfVO = getDao("mesdao").find("NIF012110_ChargeInf.select",param0); ChargeInfVO.reset(); while(ChargeInfVO.hasNext()) { PosRow ChargeInfRow = ChargeInfVO.next(); V_CHARGE_EDT_SEQ = Long.parseLong((ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")==null? "0":ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")).toString()); V_CHARGE_MANA_NO = (String)ChargeInfRow.getAttribute("CHARGE_MANA_NO"); V_PREV_CHARGE_WGT = Long.parseLong((ChargeInfRow.getAttribute("PREV_CHARGE_WGT")==null? "0":ChargeInfRow.getAttribute("PREV_CHARGE_WGT")).toString()); //CALL NIE012070_SaveOrdSts NIE012070_CALL(V_CHARGE_MANA_NO, V_PREV_CHARGE_WGT, P_REG_ID); //Ôö¼ÓÔö¼ÓÅÆºÅ·¢ËÍ2.5 20110527 wxy CallableStatement cstm = null; //PosParameter param = new PosParameter(); try{ cstm = this.getDao("mesdao").getCallableStatement("NIF012110_ChgSeqInf_INSERT.call"); cstm.setString(1,V_CHARGE_MANA_NO); cstm.registerOutParameter(2, java.sql.Types.VARCHAR); cstm.execute(); }catch(Exception ex){ logger.logError(ex.getMessage(), ex); }finally{ if (cstm != null) { try { cstm.close(); } catch (SQLException e) { logger.logWarn(e.getMessage(), e); } } } //end Ôö¼ÓÅÆºÅ·¢ËÍ2.5 } //ChargeInfVO while END //UPDATE TBF01_CHARGE_IDX (LEVEL2 MARKING) PosParameter param5 = new PosParameter(); param5.setWhereClauseParameter(0, PRC_LINE); param5.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ)); int UpdCnt2 = getDao("mesdao").update("NIF012110_ChargeIdxUpd.update",param5); if (UpdCnt2 == 0) { V_TABLE_ID = "TBF01_CHARGE_IDX"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBF01_CHARGE_IDX UPDATE COUNT IS ZERO"; V_RTN_NAME = "SMSLvlSend TBF01_CHARGE_IDX UPDATE2 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //CALL NIE012080_OrdStsMain NIE012080_CALL(); //------------------------------------------------------------------------------------------------ //LEVEL2 JOB SCHEDULE CALL return PosBizControlConstants.SUCCESS; } public PosContext NIE012070_CALL(String V_CHARGE_MANA_NO, long V_WGT, String V_REG_ID) { PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); //SaveOrdSts String TcId = "NIE012070"; message.setTCID(TcId); message.setObject("MSG_ID", TcId); message.setObject("BEF_ORD_NO", ""); message.setObject("BEF_ORD_SEQ", ""); message.setObject("ORD_NO", ""); message.setObject("ORD_SEQ", ""); message.setObject("BEF_PROG_CD", "JBA"); message.setObject("PROG_CD", "JBB"); message.setObject("MAT_TYPE", "CH"); message.setObject("MAT_NO", V_CHARGE_MANA_NO); message.setObject("WGT", new BigDecimal(V_WGT)); message.setObject("PGMID", "SMSLvlSend"); message.setObject("REG_ID", V_REG_ID); context.setMessage(message); message.setTCID(TcId); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); PosBizProvider.getController().doSubController(context, false); String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG"); if (SERVICE_ERR_MSG != null) { throw new PosException(SERVICE_ERR_MSG); } return context; } public PosContext NIE012080_CALL() { PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); //OrdStsMain String TcId = "NIE012080"; message.setTCID(TcId); message.setObject("MSG_ID", TcId); message.setObject("AA", ""); context.setMessage(message); message.setTCID(TcId); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); PosBizProvider.getController().doSubController(context, false); String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG"); if (SERVICE_ERR_MSG != null) { throw new PosException(SERVICE_ERR_MSG); } return context; } }