| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 |
- package xin.glue.nui.F.F01;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import xin.glue.user.common.GlobalConstants;
- import xin.glue.user.common.LogGpError;
- import xin.glue.user.common.StringUtils;
- 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 SMSPrcChange (NIF012150)
- * Description SMS WORK INSTRUCTION PRC LINE CHANGING
- * Write By KIM SUNG HO
- * Date 2008-11-06
- */
- public class SMSPrcChange extends PosActivity implements GlobalConstants {
-
- public String runActivity(PosContext context) {
-
- long V_CAST_CHARGE_SEQ = 0 ;
- long V_CHARGE_EDT_SEQ = 0 ;
- long V_L2_ERR_CNT = 0 ;
- long V_STS_CNT = 0 ;
- long V_CHG_SEQ = 0 ;
- long V_ORG_SEQ = 0 ;
- long V_ST_SEQ = 0 ;
- long V_EN_SEQ = 0 ;
-
- String V_CAST_MANA_NO = "" ;
- String V_CAST_MANA_ST = "" ;
- String V_CAST_MANA_EN = "" ;
- String V_CAST_MANA_NO_T = "" ;
- String V_CHARGE_MANA_NO = "" ;
- String V_CHARGE_MANA_IC = "" ;
- String V_BEF_PROC_CD = "" ;
- String V_AFT_PROC_CD = "" ;
- String V_LINE_PROC_CD = "" ;
-
- 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_ST = (String)message.get("CHARGE_MANA_NO_ST");
- 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_ST = P_CHARGE_MANA_NO_ST.substring(3, 4);
- //String PRC_LINE_EN = P_CHARGE_MANA_NO_EN.substring(3, 4);
- String PRC_LINE_ST = P_CHARGE_MANA_NO_ST.substring(2, 3);
- String PRC_LINE_EN = P_CHARGE_MANA_NO_EN.substring(2, 3);
- // try {
-
- DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
- String currDate = formatter.format(new Date());
-
- //NULL CHECK P_CHARGE_MANA_NO_ST, P_CHARGE_MANA_NO_EN
- if (P_CHARGE_MANA_NO_ST == null || P_CHARGE_MANA_NO_ST.equals("") ||
- P_CHARGE_MANA_NO_EN == null || P_CHARGE_MANA_NO_EN.equals("")) {
-
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..CHARGE_MANA_NO IS NULL..");
- }
-
- //BOF LINE CHECK P_CHARGE_MANA_NO_ST, P_CHARGE_MANA_NO_EN
- if (!PRC_LINE_ST.equals(PRC_LINE_EN)) {
-
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..BOF LINE DIFF..");
- }
-
- //BEFORE BOF LINE --> AFTER BOF LINE
- V_BEF_PROC_CD = PRC_LINE_ST;
-
- if (V_BEF_PROC_CD.equals("1")) {
- V_AFT_PROC_CD = "2";
- } else {
- V_AFT_PROC_CD = "1";
- }
-
- //SELECT P_CHARGE_MANA_NO_ST --> CHG_SEQ, P_CHARGE_MANA_NO_EN --> CHG_SEQ
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0, V_BEF_PROC_CD);
- param0.setWhereClauseParameter(1, P_CHARGE_MANA_NO_ST);
- param0.setWhereClauseParameter(2, V_BEF_PROC_CD);
- param0.setWhereClauseParameter(3, P_CHARGE_MANA_NO_EN);
- PosRowSet SelSeqSTNoVO = getDao("mesdao").find("NIF012150_ChgSeqSel.select",param0);
- SelSeqSTNoVO.reset();
-
- if (SelSeqSTNoVO.hasNext()) {
- PosRow SelSeqSTNoRow = SelSeqSTNoVO.next();
- V_ST_SEQ = Long.parseLong((SelSeqSTNoRow.getAttribute("CHG_SEQ_ST")==null? "0":SelSeqSTNoRow.getAttribute("CHG_SEQ_ST")).toString());
- V_EN_SEQ = Long.parseLong((SelSeqSTNoRow.getAttribute("CHG_SEQ_EN")==null? "0":SelSeqSTNoRow.getAttribute("CHG_SEQ_EN")).toString());
- } else {
- V_ST_SEQ = 0;
- V_EN_SEQ = 0;
- }
-
- if (V_ST_SEQ == 0 || V_EN_SEQ == 0) {
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..ST_SEQ OR EN_SEQ IS ZERO..");
- }
- if (V_EN_SEQ < V_ST_SEQ) {
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..EN_SEQ < ST_SEQ..");
- }
-
- //SELECT COUNT(L2_SEND="Y"), COUNT(STATUS_CD="B")
- PosParameter param2 = new PosParameter();
- param2.setWhereClauseParameter(0, V_BEF_PROC_CD);
- param2.setWhereClauseParameter(1, String.valueOf(V_ST_SEQ));
- param2.setWhereClauseParameter(2, String.valueOf(V_EN_SEQ));
- PosRowSet ChgCntChkVO = getDao("mesdao").find("NIF012150_ChgCntChk.select",param2);
- ChgCntChkVO.reset();
-
- if (ChgCntChkVO.hasNext()) {
-
- PosRow ChgCntChkRow = ChgCntChkVO.next();
- V_L2_ERR_CNT = Long.parseLong((ChgCntChkRow.getAttribute("L2_CNT")==null? "0":ChgCntChkRow.getAttribute("L2_CNT")).toString());
- V_STS_CNT = Long.parseLong((ChgCntChkRow.getAttribute("STATUS_CNT")==null? "0":ChgCntChkRow.getAttribute("STATUS_CNT")).toString());
-
- if (V_L2_ERR_CNT != 0) {
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..L2 SEND = 'Y'..");
- }
- if (V_STS_CNT != 0) {
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..STATUS_CD = 'B'..");
- }
- }
- //SELECT CAST_MANA_NO ST/EN
- PosParameter param8 = new PosParameter();
- param8.setWhereClauseParameter(0, P_CHARGE_MANA_NO_ST);
- param8.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN);
- PosRowSet ChgManaSelVO = getDao("mesdao").find("NIF012150_ChgManaSel.select",param8);
- ChgManaSelVO.reset();
-
- if (ChgManaSelVO.hasNext()) {
-
- PosRow ChgManaSelRow = ChgManaSelVO.next();
- V_CAST_MANA_ST = (String)ChgManaSelRow.getAttribute("CAST_MANA_NO_ST");
- V_CAST_MANA_EN = (String)ChgManaSelRow.getAttribute("CAST_MANA_NO_EN");
-
- } else {
-
- //MESSAGE ERROR --> PROGRAM EXIT
- throw new PosException("SMSPrcChange..NOT FOUND CAST_MANA_NO..");
- }
-
- //LAST SELECT CHG_SEQ, CHARGE_MANA_NO WHERE V_AFT_PROC_CD
- PosParameter param3 = new PosParameter();
- param3.setWhereClauseParameter(0, V_AFT_PROC_CD);
- param3.setWhereClauseParameter(1, V_AFT_PROC_CD);
- PosRowSet ChgNoLastVO = getDao("mesdao").find("NIF012150_ChgNoLast.select",param3);
- ChgNoLastVO.reset();
-
- if (ChgNoLastVO.hasNext()) {
-
- PosRow ChgNoLastRow = ChgNoLastVO.next();
- V_CHG_SEQ = Long.parseLong((ChgNoLastRow.getAttribute("CHG_SEQ")==null? "0":ChgNoLastRow.getAttribute("CHG_SEQ")).toString());
- V_CHARGE_MANA_NO = (String)ChgNoLastRow.getAttribute("CHARGE_MANA_NO");
-
- } else {
-
- V_CHG_SEQ = 0;
- //CHARGE_NO INIT
- V_CHARGE_MANA_NO = new StringBuffer(10).append("3").append(currDate.substring(3, 4)).append(V_AFT_PROC_CD).append("-00000A").toString();
- }
- //SELECT TBF01_CHARGE_IDX
- PosParameter param4 = new PosParameter();
- param4.setWhereClauseParameter(0, V_BEF_PROC_CD);
- param4.setWhereClauseParameter(1, String.valueOf(V_ST_SEQ));
- param4.setWhereClauseParameter(2, String.valueOf(V_EN_SEQ));
- PosRowSet ChgIdxVO = getDao("mesdao").find("NIF012150_ChgIdx.select",param4);
- ChgIdxVO.reset();
-
- while(ChgIdxVO.hasNext()) {
-
- PosRow ChgIdxRow = ChgIdxVO.next();
- V_ORG_SEQ = Long.parseLong((ChgIdxRow.getAttribute("ORG_SEQ")==null? "0":ChgIdxRow.getAttribute("ORG_SEQ")).toString());
- V_CHARGE_EDT_SEQ = Long.parseLong((ChgIdxRow.getAttribute("CHARGE_EDT_SEQ")==null? "0":ChgIdxRow.getAttribute("CHARGE_EDT_SEQ")).toString());
- V_LINE_PROC_CD = (String)ChgIdxRow.getAttribute("LINE_PROC_CD");
-
- //CHG_SEQ + 1, CHARGE_MANA_NO + 1 ----------------------------------------------
- V_CHARGE_MANA_IC = StringUtils.calculateIntegerStringValue(V_CHARGE_MANA_NO.substring(4, 9), 1);
- V_CHARGE_MANA_NO = new StringBuffer(10).append(V_CHARGE_MANA_NO.substring(0, 4)).append(V_CHARGE_MANA_IC).append(V_CHARGE_MANA_NO.substring(9, 10)).toString();
-
- V_CHG_SEQ = V_CHG_SEQ + 1;
-
- if (V_BEF_PROC_CD.equals("1")) {
-
- V_LINE_PROC_CD = V_LINE_PROC_CD.replaceAll("B1C1", "B2C2");
-
- } else {
-
- V_LINE_PROC_CD = V_LINE_PROC_CD.replaceAll("B2C2", "B1C1");
-
- }
-
- //UPDATE TBF01_CHARGE_IDX
- PosParameter param5 = new PosParameter();
- param5.setWhereClauseParameter(0, String.valueOf(V_CHG_SEQ));
- param5.setWhereClauseParameter(1, V_CHARGE_MANA_NO);
- param5.setWhereClauseParameter(2, V_CHARGE_MANA_NO);
- param5.setWhereClauseParameter(3, V_AFT_PROC_CD);
- param5.setWhereClauseParameter(4, String.valueOf(V_ORG_SEQ));
- int UpdCnt1 = getDao("mesdao").update("NIF012150_ChgIdxUpd.update",param5);
-
- if (UpdCnt1 == 0) {
-
- V_TABLE_ID = "TBF01_CHARGE_IDX";
- V_TABLE_MODE = "U";
- V_ERR_DESC = "TBF01_CHARGE_IDX UPDATE COUNT IS ZERO";
- V_RTN_NAME = "SMSPrcChange TBF01_CHARGE_IDX UPDATE1 " + String.valueOf(V_ORG_SEQ);
-
- LogGpError.logMessageToDB("SMSPrcChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
- throw new PosException(V_RTN_NAME);
- }
-
- //UPDATE TBF01_SPEC_CHARGE
- PosParameter param6 = new PosParameter();
- param6.setWhereClauseParameter(0, V_CHARGE_MANA_NO);
- param6.setWhereClauseParameter(1, V_LINE_PROC_CD);
- param6.setWhereClauseParameter(2, V_LINE_PROC_CD);
- param6.setWhereClauseParameter(3, V_AFT_PROC_CD);
- param6.setWhereClauseParameter(4, String.valueOf(V_CHARGE_EDT_SEQ));
- int UpdCnt2 = getDao("mesdao").update("NIF012150_SpecChgUpd.update",param6);
-
- if (UpdCnt2 == 0) {
-
- V_TABLE_ID = "TBF01_SPEC_CHARGE";
- V_TABLE_MODE = "U";
- V_ERR_DESC = "TBF01_SPEC_CHARGE UPDATE COUNT IS ZERO";
- V_RTN_NAME = "SMSPrcChange TBF01_SPEC_CHARGE UPDATE2 " + String.valueOf(V_CHARGE_EDT_SEQ);
-
- LogGpError.logMessageToDB("SMSPrcChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
- throw new PosException(V_RTN_NAME);
- }
- //UPDATE TBF01_SPEC_SLAB
- PosParameter param7 = new PosParameter();
- param7.setWhereClauseParameter(0, V_CHARGE_MANA_NO);
- param7.setWhereClauseParameter(1, V_CHARGE_MANA_NO);
- param7.setWhereClauseParameter(2, String.valueOf(V_CHARGE_EDT_SEQ));
- int UpdCnt3 = getDao("mesdao").update("NIF012150_SpecSlabUpd.update",param7);
- if (UpdCnt3 == 0) {
-
- V_TABLE_ID = "TBF01_SPEC_SLAB";
- V_TABLE_MODE = "U";
- V_ERR_DESC = "TBF01_SPEC_SLAB UPDATE COUNT IS ZERO";
- V_RTN_NAME = "SMSPrcChange TBF01_SPEC_SLAB UPDATE3 " + String.valueOf(V_CHARGE_EDT_SEQ);
-
- LogGpError.logMessageToDB("SMSPrcChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
- throw new PosException(V_RTN_NAME);
- }
-
- } //ChgIdxVO while END
-
- //--------------------------------------------------------------------------------------
- //CALL NIF012180_SMSSchTme
- NIF012180_CALL(P_REG_ID);
-
- //SELECT NOT SEND L2 CAST_CHARGE_SEQ
- PosParameter param9 = new PosParameter();
- param9.setWhereClauseParameter(0, V_CAST_MANA_ST);
- PosRowSet ChgManaLastVO = getDao("mesdao").find("NIF012150_ChgManaLast.select",param9);
- ChgManaLastVO.reset();
-
- if (ChgManaLastVO.hasNext()) {
-
- PosRow ChgManaLastRow = ChgManaLastVO.next();
- V_CAST_CHARGE_SEQ = Long.parseLong((ChgManaLastRow.getAttribute("CAST_CHARGE_SEQ")==null? "0":ChgManaLastRow.getAttribute("CAST_CHARGE_SEQ")).toString());
-
- } else {
-
- V_CAST_CHARGE_SEQ = 0;
- }
-
- V_CAST_MANA_NO_T = V_CAST_MANA_ST;
-
- //RE_ARRANGE UPDATE TBF01_SPEC_CHARGE -> CAST_CHARGE_SEQ
- PosParameter param10 = new PosParameter();
- param10.setWhereClauseParameter(0, V_CAST_MANA_ST);
- param10.setWhereClauseParameter(1, V_CAST_MANA_EN);
- PosRowSet CastManaNoSeqVO = getDao("mesdao").find("NIF012150_CastManaNoSeq.select",param10);
- CastManaNoSeqVO.reset();
-
- while(CastManaNoSeqVO.hasNext()) {
-
- PosRow CastManaNoSeqRow = CastManaNoSeqVO.next();
-
- V_CAST_MANA_NO = (String)CastManaNoSeqRow.getAttribute("CAST_MANA_NO");
- V_CHARGE_EDT_SEQ = Long.parseLong((CastManaNoSeqRow.getAttribute("CHARGE_EDT_SEQ")==null? "0":CastManaNoSeqRow.getAttribute("CHARGE_EDT_SEQ")).toString());
-
- //CAST_MANA_NO DIFFER
- if (V_CAST_MANA_NO_T.equals("") || !V_CAST_MANA_NO_T.equals(V_CAST_MANA_NO)) {
-
- V_CAST_CHARGE_SEQ = 0;
- V_CAST_MANA_NO_T = V_CAST_MANA_NO;
-
- }
-
- ++V_CAST_CHARGE_SEQ;
-
- //UPDATE TBF01_SPEC_CHARGE -> CAST_CHARGE_SEQ
- PosParameter param11 = new PosParameter();
- param11.setWhereClauseParameter(0, String.valueOf(V_CAST_CHARGE_SEQ));
- param11.setWhereClauseParameter(1, String.valueOf(V_CHARGE_EDT_SEQ));
- int UpdCnt11 = getDao("mesdao").update("NIF012150_ChargeSeqNo.update",param11);
-
- if (UpdCnt11 == 0) {
-
- V_TABLE_ID = "TBF01_SPEC_CHARGE";
- V_TABLE_MODE = "U";
- V_ERR_DESC = "TBF01_SPEC_CHARGE UPDATE COUNT IS ZERO";
- V_RTN_NAME = "SMSSeqChange TBF01_SPEC_CHARGE UPDATE9 " + String.valueOf(V_CHARGE_EDT_SEQ);
-
- LogGpError.logMessageToDB("SMSSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
- throw new PosException(V_RTN_NAME);
- }
-
- } //ChgManaNoVO while END
-
- // }
- // catch (PosException ex)
- // {
- // context.put(SERVICE_ERR_MSG, ex.getMessage());
- // throw ex;
- // }
- // catch (Throwable t)
- // {
- // context.put(SERVICE_ERR_MSG, t.getMessage());
- // throw new PosException(t.getMessage(), t);
- // }
-
- return PosBizControlConstants.SUCCESS;
-
- }
-
- public PosContext NIF012180_CALL(String V_REG_ID)
- {
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
-
- //SMSSchTme
- String TcId = "NIF012180";
- message.setTCID(TcId);
- message.setObject("MSG_ID", TcId);
- message.setObject("PRC_LINE", "3");
- message.setObject("L2_SEND", "N");
- message.setObject("CHARGE_MANA_NO", "");
- 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;
- }
- }
|