/********************************************************************* * All Rights reserved,Copyright (c) K-Opticom ********************************************************************** *<プログラム内容> * システム名 :eo顧客基幹システム * モジュール名 :JBSbatKKOrsJgsKeiIdtDslTrgtInfoCst * ソースファイル名 :JBSbatKKOrsJgsKeiIdtDslTrgtInfoCst.java * 作成者 :富士通 * 作成日 :2018年03月30日 *<機能概要> *卸先事業者解約対象情報抽出部品です。 *<修正履歴> * バージョン 修正日 修正者 修正内容 * v37.00.00 2018/03/30 FJ)澤田 【ANK-3366-00-00】eo光設備卸対応 * v37.00.01 2018/06/04 FJ)山地 【IT2-2018-0000049】 * v39.00.00 2018/11/01 FJ)岡 【ST-2018-0000042】 * v39.00.01 2018/11/09 FJ)中原 【ST-2018-0000042】 * v39.00.02 2018/11/19 FJ)中原 【ST-2018-0000053】 * v40.00.00 2019/02/08 FJ)中原 【IT1-2019-0000016】電話解約フラグ有かつ解約予約日到来以前の抽出対象として、キャンセル追加、電話サービスをスキーマに登録しない *********************************************************************/ package eo.business.service; import java.util.ArrayList; import java.util.HashMap; import eo.business.common.JBSbatBusinessService; import eo.business.common.JBSbatKKConst; import eo.business.common.JKKBatCommon; import eo.business.common.JKKBatConst; import eo.business.util.file.JBSbatKKIFM788; import eo.business.util.table.JBSbatKK_T_ORSJGS_KEI_IDT; import eo.business.util.table.JBSbatKK_T_SEIKY_KEI; import eo.business.util.table.JBSbatKK_T_SVC_KEI; import eo.common.constant.JKKStrConst; import eo.common.util.JKKStringUtil; import eo.framework.db.JBSbatSQLAccess; import eo.framework.item.JBSbatCommonDBInterface; import eo.framework.item.JBSbatCommonItem; import eo.framework.item.JBSbatOutputItem; import eo.framework.item.JBSbatServiceInterfaceMap; /** * (クラスの機能概要)

*
* @author 富士通 */ public class JBSbatKKOrsJgsKeiIdtDslTrgtInfoCst extends JBSbatBusinessService { /**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/ /**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/ /** テーブル(サービス契約)*/ private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI"; /** SQL定義キー(KK_SELECT_351)*/ private static final String KK_T_SVC_KEI_KK_SELECT_351 = "KK_SELECT_351"; /** テーブル(卸先事業者契約異動通知)*/ private static final String D_TBL_NAME_KK_T_ORSJGS_KEI_IDT = "KK_T_ORSJGS_KEI_IDT"; /** SQL定義キー(KK_SELECT_001)*/ private static final String KK_T_ORSJGS_KEI_IDT_KK_SELECT_001 = "KK_SELECT_001"; /** SQL定義キー(KK_SELECT_002)*/ private static final String KK_T_ORSJGS_KEI_IDT_KK_SELECT_002 = "KK_SELECT_002"; /** SQL定義キー(KK_SELECT_003)*/ private static final String KK_T_ORSJGS_KEI_IDT_KK_SELECT_003 = "KK_SELECT_003"; /** SQL定義キー(KK_SELECT_004)*/ private static final String KK_T_ORSJGS_KEI_IDT_KK_SELECT_004 = "KK_SELECT_004"; /** テーブルアクセスクラス(卸先事業者契約異動通知)*/ private JBSbatSQLAccess db_KK_T_ORSJGS_KEI_IDT = null; /** テーブルアクセスクラス(サービス契約)*/ private JBSbatSQLAccess db_KK_T_SVC_KEI = null; /** サービス種別ネット */ private static final String SVC_SBT_NET = "1"; /** サービス種別電話 */ private static final String SVC_SBT_TEL = "2"; /** サービス種別テレビ */ private static final String SVC_SBT_TV = "3"; /** * 初期処理 * @param JBSbatCommonItem commonItem バッチ共通パラメータ電文 * @throws Exception */ public void initial(JBSbatCommonItem commonItem) throws Exception { /**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/ /**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/ /**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/ // 共通パラメータを設定します super.setCommonInfo(commonItem); // DBアクセスクラスを生成します db_KK_T_ORSJGS_KEI_IDT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ORSJGS_KEI_IDT); db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI); /**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/ } /** * 主処理 * @return JBSbatOutputItem 出力情報 * @throws Exception */ public JBSbatOutputItem execute() throws Exception { /**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/ // 出力共通電文を生成する。 JBSbatOutputItem outputBean = new JBSbatOutputItem(); try { // 解約情報抽出 ArrayList> orsjgsKeiIdtInsertInfo = getExistOrsjgsKeiIdtInsert(); if (orsjgsKeiIdtInsertInfo != null) { // 卸先契約解約ファイル出力 for (int i = 0 ; i < orsjgsKeiIdtInsertInfo.size() ; i++) { // データ部を作成する JBSbatServiceInterfaceMap data = new JBSbatServiceInterfaceMap(); data.set(JBSbatKKIFM788.ORSJGS_KEI_IDT_NO, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_KEI_IDT_NO)); data.set(JBSbatKKIFM788.SVC_KEI_NO, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.SVC_KEI_NO)); data.set(JBSbatKKIFM788.ORSJGS_CD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_CD)); data.set(JBSbatKKIFM788.ORSJGS_DSL_SBT_CD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_DSL_SBT_CD)); data.set(JBSbatKKIFM788.TK_WAY_SBT_CD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.TK_WAY_SBT_CD)); data.set(JBSbatKKIFM788.DSL_PROSCST_NM, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.DSL_PROSCST_NM)); data.set(JBSbatKKIFM788.TK_KOJI_RRKS_TLN, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.TK_KOJI_RRKS_TLN)); data.set(JBSbatKKIFM788.KOJI_APO_TAIOSHA_NM, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.KOJI_APO_TAIOSHA_NM)); data.set(JBSbatKKIFM788.KOJI_TACHIAISHA_NM, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.KOJI_TACHIAISHA_NM)); data.set(JBSbatKKIFM788.KOCOMP_RNKI_INF_MEMO, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.KOCOMP_RNKI_INF_MEMO)); data.set(JBSbatKKIFM788.SOHUS_PCD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.SOHUS_PCD)); data.set(JBSbatKKIFM788.SOHUS_AD_INF, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.SOHUS_AD_INF)); data.set(JBSbatKKIFM788.ORSJGS_KEI_IDO_RSV_YMD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_KEI_IDO_RSV_YMD)); data.set(JBSbatKKIFM788.SYSID, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKKIFM788.SYSID)); data.set(JBSbatKKIFM788.SVC_CD, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKKIFM788.SVC_CD)); data.set(JBSbatKKIFM788.SEIKY_KEI_NO, orsjgsKeiIdtInsertInfo.get(i).get(JBSbatKKIFM788.SEIKY_KEI_NO)); outputBean.addOutMapList(data); } } else { return null; } } catch(Exception e) { throw e; } return outputBean; } /**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/ /** * 業務サービス終了処理 * @throws Exception */ public void terminal() throws Exception { /**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/ /**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/ /**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/ // DBアクセスクラスをクローズします db_KK_T_ORSJGS_KEI_IDT.close(); /**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/ } /** * SQLKEY(KK_SELECT_001)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 * 卸先事業者契約異動通知.卸事業者契約異動発生年月日 *
*

* @param param バイント変数の値配列。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_001(Object[] param) throws Exception { // バイント変数のリストを生成します JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface(); paramList.setValue(param[0].toString()); // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.selectBySqlDefine(paramList, KK_T_ORSJGS_KEI_IDT_KK_SELECT_001); } /** * SQLKEY(KK_SELECT_002)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 *
*

* @param param バイント変数の値配列。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_002(Object[] param) throws Exception { // バイント変数のリストを生成します JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface(); paramList.setValue(param[0].toString()); paramList.setValue(param[1].toString()); paramList.setValue(param[2].toString()); paramList.setValue(param[3].toString()); paramList.setValue(param[4].toString()); // IT2-2018-0000049 DEL START // paramList.setValue(param[5].toString()); // IT2-2018-0000049 DEL END // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.selectBySqlDefine(paramList, KK_T_ORSJGS_KEI_IDT_KK_SELECT_002); } /** * SQLKEY(KK_SELECT_003)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 *
*

* @param param バイント変数の値配列。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_003(Object[] param) throws Exception { // バイント変数のリストを生成します JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface(); paramList.setValue(param[0].toString()); paramList.setValue(param[1].toString()); paramList.setValue(param[2].toString()); paramList.setValue(param[3].toString()); paramList.setValue(param[4].toString()); paramList.setValue(param[5].toString()); // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.selectBySqlDefine(paramList, KK_T_ORSJGS_KEI_IDT_KK_SELECT_003); } /** * SQLKEY(KK_SELECT_004)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 *
*

* @param param バイント変数の値配列。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_004(Object[] param) throws Exception { // バイント変数のリストを生成します JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface(); paramList.setValue(param[0].toString()); // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.selectBySqlDefine(paramList, KK_T_ORSJGS_KEI_IDT_KK_SELECT_004); } /** * バッチ運用日をもとに卸先事業者契約異動通知スキーマを検索する. * @return ArrayList * @throws Exception */ private ArrayList> getExistOrsjgsKeiIdtInsert() throws Exception { Object[] param = { super.opeDate, }; //電話解約フラグ無効データの抽出(解約依頼連携分) executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_001(param); JBSbatCommonDBInterface orsjgsInfo = new JBSbatCommonDBInterface(); ArrayList> orsjgsList = new ArrayList>(); while((orsjgsInfo = db_KK_T_ORSJGS_KEI_IDT.selectNext()) != null) { Object[] param5 = { super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/01 DEL START // JKKStrConst.CD00037_SVCTK_CHU, // JKKStrConst.CD00037_STAT_PAUSE, // JKKStrConst.CD00037_STAT_STP, // ST-2018-0000042 2018/11/01 DEL END super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/09 ADD START super.opeDate, // ST-2018-0000042 2018/11/09 ADD END orsjgsInfo.getString(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_RNK_TG_SVC_KEI_NO), super.opeDate, super.opeDate, super.opeDate, }; executeKK_T_SVC_KEI_KK_SELECT_351(param5); // 実行結果を取得 JBSbatCommonDBInterface svcKeiMap = new JBSbatCommonDBInterface(); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); //ネットの回線に紐づく、契約を取得する。 if (svcKeiMap != null) { while (svcKeiMap != null) { HashMap orsjgsInfoMap = new HashMap(orsjgsInfo.getMap()); orsjgsInfoMap.put("SVC_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)); orsjgsInfoMap.put("SYSID", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SYSID)); orsjgsInfoMap.put("SVC_CD", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_CD)); orsjgsInfoMap.put("SEIKY_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO)); //ネット契約以外を取得 if (svcKeiMap == null || !JKKBatConst.SVC_CD_NET.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) { // ST-2018-0000053 ADD START // 解約、キャンセル以外の場合のみ登録する。 if (!JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) && !JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))) { // ST-2018-0000053 ADD END //卸先事業者契約異動通知スキーマを登録する。 insertOrsjgsKeiIdt(svcKeiMap, orsjgsInfoMap, false); // ST-2018-0000053 ADD START } // ST-2018-0000053 ADD END } orsjgsList.add(orsjgsInfoMap); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); } } else { //卸先事業者契約異動通知にNGで登録を行う。 updateOrsjgsKeiIdt(null, orsjgsInfo.getString("ORSJGS_KEI_IDT_NO"), "1"); } } Object[] param2 = { super.opeDate, super.opeDate, super.opeDate, super.opeDate, super.opeDate, // IT2-2018-0000049 DEL START // super.opeDate, // IT2-2018-0000049 DEL END }; //電話解約フラグ有効データの解約済抽出(解約依頼連携分) executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_002(param2); orsjgsInfo = new JBSbatCommonDBInterface(); while((orsjgsInfo = db_KK_T_ORSJGS_KEI_IDT.selectNext()) != null) { // IT1-2019-0000016 DEL START // // IT2-2018-0000049 ADD START // if (JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(orsjgsInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))) // { // // IT2-2018-0000049 ADD END // HashMap telInfoMap = new HashMap(orsjgsInfo.getMap()); // JBSbatCommonDBInterface telSvcKeiMap = new JBSbatCommonDBInterface(); // telSvcKeiMap.setValue(JKKBatConst.SVC_KEI_NO, orsjgsInfo.getString("TEL_" + JBSbatKK_T_SVC_KEI.SVC_KEI_NO)); // telSvcKeiMap.setValue(JKKBatConst.SVC_CD, JKKBatConst.SVC_CD_TEL); // telSvcKeiMap.setValue(JBSbatKK_T_SVC_KEI.SVC_CHRG_ENDYMD, orsjgsInfo.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_ENDYMD)); // //卸先事業者契約異動通知スキーマを登録する。 // insertOrsjgsKeiIdt(telSvcKeiMap, telInfoMap, true); // // IT2-2018-0000049 ADD START // } // IT1-2019-0000016 DEL END // 電話が解約済もしくはキャンセル済、電話サービスなしの場合、抽出処理を実施 if (JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(orsjgsInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) || // IT1-2019-0000016 ADD START JBSbatKKConst.SVC_KEI_STAT_CNCL_ZM.equals(orsjgsInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) || // IT1-2019-0000016 ADD END JKKStringUtil.isNullBlank(orsjgsInfo.getString("TEL_" + JBSbatKK_T_SVC_KEI.SVC_KEI_NO))) { // IT2-2018-0000049 ADD END Object[] param5 = { super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/01 DEL START // JKKStrConst.CD00037_SVCTK_CHU, // JKKStrConst.CD00037_STAT_PAUSE, // JKKStrConst.CD00037_STAT_STP, // ST-2018-0000042 2018/11/01 DEL END super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/09 ADD START super.opeDate, // ST-2018-0000042 2018/11/09 ADD END orsjgsInfo.getString(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_RNK_TG_SVC_KEI_NO), super.opeDate, super.opeDate, super.opeDate, }; executeKK_T_SVC_KEI_KK_SELECT_351(param5); // 実行結果を取得 JBSbatCommonDBInterface svcKeiMap = new JBSbatCommonDBInterface(); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); //ネットの回線に紐づく、契約を取得する。 if (svcKeiMap != null) { while (svcKeiMap != null) { HashMap orsjgsInfoMap = new HashMap(orsjgsInfo.getMap()); orsjgsInfoMap.put("SVC_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)); orsjgsInfoMap.put("SYSID", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SYSID)); orsjgsInfoMap.put("SVC_CD", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_CD)); orsjgsInfoMap.put("SEIKY_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO)); //ネット契約以外を取得 if (svcKeiMap == null || !JKKBatConst.SVC_CD_NET.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) { // ST-2018-0000053 ADD START // 解約、キャンセル以外の場合のみ登録する。 if (!JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) && !JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))) { // ST-2018-0000053 ADD END //卸先事業者契約異動通知スキーマを登録する。 insertOrsjgsKeiIdt(svcKeiMap, orsjgsInfoMap, true); // ST-2018-0000053 ADD START } // ST-2018-0000053 ADD END } orsjgsList.add(orsjgsInfoMap); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); } } else { //卸先事業者契約異動通知にNGで登録を行う。 updateOrsjgsKeiIdt(null, orsjgsInfo.getString("ORSJGS_KEI_IDT_NO"), "1"); } // IT2-2018-0000049 ADD START } // IT2-2018-0000049 ADD END } Object[] param3 = { super.opeDate, super.opeDate, super.opeDate, super.opeDate, super.opeDate, super.opeDate, }; //電話解約フラグ有効データの未解約済抽出(解約依頼連携分) executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_003(param3); orsjgsInfo = new JBSbatCommonDBInterface(); while((orsjgsInfo = db_KK_T_ORSJGS_KEI_IDT.selectNext()) != null) { Object[] param5 = { super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/01 DEL START // JKKStrConst.CD00037_SVCTK_CHU, // JKKStrConst.CD00037_STAT_PAUSE, // JKKStrConst.CD00037_STAT_STP, // ST-2018-0000042 2018/11/01 DEL END super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/09 ADD START super.opeDate, // ST-2018-0000042 2018/11/09 ADD END orsjgsInfo.getString(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_RNK_TG_SVC_KEI_NO), super.opeDate, super.opeDate, super.opeDate, }; executeKK_T_SVC_KEI_KK_SELECT_351(param5); // 実行結果を取得 JBSbatCommonDBInterface svcKeiMap = new JBSbatCommonDBInterface(); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); //ネットの回線に紐づく、契約を取得する。 if (svcKeiMap != null) { while (svcKeiMap != null) { HashMap orsjgsInfoMap = new HashMap(orsjgsInfo.getMap()); orsjgsInfoMap.put("SVC_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)); orsjgsInfoMap.put("SYSID", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SYSID)); orsjgsInfoMap.put("SVC_CD", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_CD)); orsjgsInfoMap.put("SEIKY_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO)); //ネット契約以外を取得 if (svcKeiMap == null || !JKKBatConst.SVC_CD_NET.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) { // ST-2018-0000053 ADD START // 解約、キャンセル以外の場合のみ登録する。 if (!JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) && !JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))) { // ST-2018-0000053 ADD END //卸先事業者契約異動通知スキーマを登録する。 insertOrsjgsKeiIdt(svcKeiMap, orsjgsInfoMap, false); // ST-2018-0000053 ADD START } // ST-2018-0000053 ADD END } orsjgsList.add(orsjgsInfoMap); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); } } else { //卸先事業者契約異動通知にNGで登録を行う。 updateOrsjgsKeiIdt(null, orsjgsInfo.getString("ORSJGS_KEI_IDT_NO"), "1"); } } Object[] param4 = { super.opeDate, }; //強制解約の抽出(解約依頼連携分) executeKK_T_ORSJGS_KEI_IDT_KK_SELECT_004(param4); orsjgsInfo = new JBSbatCommonDBInterface(); while((orsjgsInfo = db_KK_T_ORSJGS_KEI_IDT.selectNext()) != null) { Object[] param5 = { super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/01 DEL START // JKKStrConst.CD00037_SVCTK_CHU, // JKKStrConst.CD00037_STAT_PAUSE, // JKKStrConst.CD00037_STAT_STP, // ST-2018-0000042 2018/11/01 DEL END super.opeDate, super.opeDate, // ST-2018-0000042 2018/11/09 ADD START super.opeDate, // ST-2018-0000042 2018/11/09 ADD END orsjgsInfo.getString(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_RNK_TG_SVC_KEI_NO), super.opeDate, super.opeDate, super.opeDate, }; executeKK_T_SVC_KEI_KK_SELECT_351(param5); // 実行結果を取得 JBSbatCommonDBInterface svcKeiMap = new JBSbatCommonDBInterface(); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); //ネットの回線に紐づく、契約を取得する。 if (svcKeiMap != null) { while (svcKeiMap != null) { HashMap orsjgsInfoMap = new HashMap(orsjgsInfo.getMap()); orsjgsInfoMap.put("SVC_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)); orsjgsInfoMap.put("SYSID", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SYSID)); orsjgsInfoMap.put("SVC_CD", svcKeiMap.getValue(JBSbatKK_T_SVC_KEI.SVC_CD)); orsjgsInfoMap.put("SEIKY_KEI_NO", svcKeiMap.getValue(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO)); //ネット契約以外を取得 if (svcKeiMap == null || !JKKBatConst.SVC_CD_NET.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) { // ST-2018-0000053 ADD START // 解約、キャンセル以外の場合のみ登録する。 if (!JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)) && !JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))) { // ST-2018-0000053 ADD END //卸先事業者契約異動通知スキーマを登録する。 insertOrsjgsKeiIdt(svcKeiMap, orsjgsInfoMap, false); // ST-2018-0000053 ADD START } // ST-2018-0000053 ADD END } orsjgsList.add(orsjgsInfoMap); svcKeiMap = db_KK_T_SVC_KEI.selectNext(); } } else { //卸先事業者契約異動通知にNGで登録を行う。 updateOrsjgsKeiIdt(null, orsjgsInfo.getString("ORSJGS_KEI_IDT_NO"), "1"); } } return (orsjgsList.size() > 0 ? orsjgsList : null); } /** * 卸先事業者契約異動通知に登録します。
*
* @param inMap 入力電文 * @param svcKeiMap サービス契約情報を格納したマップ * @param registItemMap チェック結果に依存する項目を設定したマップ * @throws Exception 文字列を取り出す際の型キャスト時、DBアクセス時の例外 */ private void insertOrsjgsKeiIdt(JBSbatCommonDBInterface svcKeiMap, HashMap registItemMap, boolean TEL_DSL_FlG) throws Exception { String svcKeiNo = svcKeiMap.getString(JKKBatConst.SVC_KEI_NO); String svcCd = svcKeiMap.getString(JKKBatConst.SVC_CD); String svcChrgEndYmd = ""; String orsjgsKeiIdoTrnYmd = ""; String orsjgsKeiIdtRsltCd = ""; String seqOrsjgsKeiIdtNo = JKKBatCommon.getFormatedNextSeq(commonItem, "SEQ_ORSJGS_KEI_IDT_NO", "", 15); //registItemMapにシーケンス 卸先事業者契約異動通知番号を保持する。 registItemMap.put(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_KEI_IDT_NO, seqOrsjgsKeiIdtNo); //サービスが電話かつ、電話が解約済みの場合 if (TEL_DSL_FlG && svcCd.equals(JKKBatConst.SVC_CD_TEL)) { svcChrgEndYmd = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_ENDYMD); orsjgsKeiIdoTrnYmd = super.opeDate; orsjgsKeiIdtRsltCd = "1"; } else { svcChrgEndYmd = ""; orsjgsKeiIdoTrnYmd = ""; orsjgsKeiIdtRsltCd = ""; } String svcSbt = ""; if (JKKBatConst.SVC_CD_NET.equals(svcCd)) { svcSbt = SVC_SBT_NET; } else if (JKKBatConst.SVC_CD_TEL.equals(svcCd)) { svcSbt = SVC_SBT_TEL; } else if (JKKBatConst.SVC_CD_TV.equals(svcCd)) { svcSbt = SVC_SBT_TV; } // 登録項目 String[] setParam = new String[]{ seqOrsjgsKeiIdtNo, // 卸先事業者契約異動通知番号 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_RNK_TG_SVC_KEI_NO), // 卸先事業者連携対象サービス契約番号 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_CD), // 卸先事業者コード "06", // 卸先事業者連携識別コード svcKeiNo, // サービス契約番号 svcSbt, // サービス種別 "", // 認証IDパスワード変更区分 "", // 認証ID "", // 認証IDパスワード "", // サービス開始年月日 "", // 課金開始年月日 svcChrgEndYmd, // 課金終了年月日 "", // 卸先事業者キャンセル理由コード "", // 卸先事業者キャンセル理由詳細コード "", // 卸先事業者キャンセル理由 "", // 工事案件番号 "", // 工事予定年月日 "", // 卸先事業者連携工事予定区分 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_DSL_SBT_CD), // 卸先事業者解約種別コード (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.TEL_DSL_FLG), // 電話解約フラグ (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.TK_WAY_SBT_CD), // 撤去方法種別コード (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.DSL_PROSCST_NM), // 解約問合せ客名 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.TK_KOJI_RRKS_TLN), // 撤去工事連絡先電話番号 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.KOJI_APO_TAIOSHA_NM), // 工事アポ対応者名 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.KOJI_TACHIAISHA_NM), // 工事立会者名 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.KOCOMP_RNKI_INF_MEMO), // 工事会社連携情報メモ (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.SOHUS_PCD), // 送付先郵便番号 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.SOHUS_AD_INF), // 送付先住所情報 "0", // 卸先事業者契約異動通知状態コード super.opeDate, // 卸先事業者契約異動発生年月日 (String)registItemMap.get(JBSbatKK_T_ORSJGS_KEI_IDT.ORSJGS_KEI_IDO_RSV_YMD), // 卸先事業者契約異動予定年月日 orsjgsKeiIdoTrnYmd, // 卸先事業者契約異動処理年月日 "", // 卸先事業者契約異動通知年月日時分秒 orsjgsKeiIdtRsltCd, // 卸先事業者契約異動通知結果コード "", // 卸先事業者契約異動通知NG理由 }; executeKK_T_ORSJGS_KEI_IDT_PKINSERT(setParam); } /** * PK(全項目登録)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数で設定項目マップを作ります。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。 * 卸先事業者契約異動通知番号 ORSJGS_KEI_IDT_NO * 卸先事業者連携対象サービス契約番号 ORSJGS_RNK_TG_SVC_KEI_NO * 卸先事業者コード ORSJGS_CD * 卸先事業者連携識別コード ORSJGS_RNKI_SKCD * サービス契約番号 SVC_KEI_NO * サービス種別 SVC_SBT * 認証IDパスワード変更区分 NINSHO_ID_PWD_CHG_DIV * 認証ID NINSHO_ID * 認証IDパスワード NINSHO_ID_PWD * サービス開始年月日 SVC_STAYMD * 課金開始年月日 CHRG_STAYMD * 課金終了年月日 CHRG_ENDYMD * 卸先事業者キャンセル理由コード ORSJGS_CNCL_RSN_CD * 卸先事業者キャンセル理由詳細コード ORSJGS_CNCL_RSN_DTL_CD * 卸先事業者キャンセル理由 ORSJGS_CNCL_RSN * 工事案件番号 KOJIAK_NO * 工事予定年月日 KOJI_RSV_YMD * 卸先事業者連携工事予定区分 ORSJGS_RNKI_KOJI_RSV_DIV * 卸先事業者解約種別コード ORSJGS_DSL_SBT_CD * 電話解約フラグ TEL_DSL_FLG * 撤去方法種別コード TK_WAY_SBT_CD * 解約問合せ客名 DSL_PROSCST_NM * 撤去工事連絡先電話番号 TK_KOJI_RRKS_TLN * 工事アポ対応者名 KOJI_APO_TAIOSHA_NM * 工事立会者名 KOJI_TACHIAISHA_NM * 工事会社連携情報メモ KOCOMP_RNKI_INF_MEMO * 送付先郵便番号 SOHUS_PCD * 送付先住所情報 SOHUS_AD_INF * 卸先事業者契約異動通知状態コード ORSJGS_KEI_IDT_STAT_CD * 卸先事業者契約異動発生年月日 ORSJGS_KEI_IDO_HASSEI_YMD * 卸先事業者契約異動予約年月日 ORSJGS_KEI_IDO_RSV_YMD * 卸先事業者契約異動処理年月日 ORSJGS_KEI_IDO_TRN_YMD * 卸先事業者契約異動通知年月日時分秒 ORSJGS_KEI_IDT_DTM * 卸先事業者契約異動通知結果コード ORSJGS_KEI_IDT_RSLT_CD * 卸先事業者契約異動通知NG理由 ORSJGS_KEI_IDT_NG_RSN *
*

* @param setParam 設定項目の値。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_PKINSERT(Object[] setParam) throws Exception { // 設定値のマップを作成します JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface(); setMap.setValue("ORSJGS_KEI_IDT_NO", setParam[0]); setMap.setValue("ORSJGS_RNK_TG_SVC_KEI_NO", setParam[1]); setMap.setValue("ORSJGS_CD", setParam[2]); setMap.setValue("ORSJGS_RNKI_SKCD", setParam[3]); setMap.setValue("SVC_KEI_NO", setParam[4]); setMap.setValue("SVC_SBT", setParam[5]); setMap.setValue("NINSHO_ID_PWD_CHG_DIV", setParam[6]); setMap.setValue("NINSHO_ID", setParam[7]); setMap.setValue("NINSHO_ID_PWD", setParam[8]); setMap.setValue("SVC_STAYMD", setParam[9]); setMap.setValue("CHRG_STAYMD", setParam[10]); setMap.setValue("CHRG_ENDYMD", setParam[11]); setMap.setValue("ORSJGS_CNCL_RSN_CD", setParam[12]); setMap.setValue("ORSJGS_CNCL_RSN_DTL_CD", setParam[13]); setMap.setValue("ORSJGS_CNCL_RSN", setParam[14]); setMap.setValue("KOJIAK_NO", setParam[15]); setMap.setValue("KOJI_RSV_YMD", setParam[16]); setMap.setValue("ORSJGS_RNKI_KOJI_RSV_DIV", setParam[17]); setMap.setValue("ORSJGS_DSL_SBT_CD", setParam[18]); setMap.setValue("TEL_DSL_FLG", setParam[19]); setMap.setValue("TK_WAY_SBT_CD", setParam[20]); setMap.setValue("DSL_PROSCST_NM", setParam[21]); setMap.setValue("TK_KOJI_RRKS_TLN", setParam[22]); setMap.setValue("KOJI_APO_TAIOSHA_NM", setParam[23]); setMap.setValue("KOJI_TACHIAISHA_NM", setParam[24]); setMap.setValue("KOCOMP_RNKI_INF_MEMO", setParam[25]); setMap.setValue("SOHUS_PCD", setParam[26]); setMap.setValue("SOHUS_AD_INF", setParam[27]); setMap.setValue("ORSJGS_KEI_IDT_STAT_CD", setParam[28]); setMap.setValue("ORSJGS_KEI_IDO_HASSEI_YMD", setParam[29]); setMap.setValue("ORSJGS_KEI_IDO_RSV_YMD", setParam[30]); setMap.setValue("ORSJGS_KEI_IDO_TRN_YMD", setParam[31]); setMap.setValue("ORSJGS_KEI_IDT_DTM", setParam[32]); setMap.setValue("ORSJGS_KEI_IDT_RSLT_CD", setParam[33]); setMap.setValue("ORSJGS_KEI_IDT_NG_RSN", setParam[34]); // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.insertByPrimaryKeys(setMap); } /** * SQLKEY(KK_SELECT_353)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 * コード種別コード * コード区分 *
*

* @param param バイント変数の値配列。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_SVC_KEI_KK_SELECT_351(Object[] param) throws Exception { // バイント変数のリストを生成します JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface(); paramList.setValue(param[0].toString()); paramList.setValue(param[1].toString()); paramList.setValue(param[2].toString()); paramList.setValue(param[3].toString()); paramList.setValue(param[4].toString()); paramList.setValue(param[5].toString()); paramList.setValue(param[6].toString()); paramList.setValue(param[7].toString()); // ST-2018-0000042 2018/11/01 DEL START // paramList.setValue(param[8].toString()); // paramList.setValue(param[9].toString()); // paramList.setValue(param[10].toString()); // ST-2018-0000042 2018/11/01 DEL END // ST-2018-0000042 2018/11/09 ADD START paramList.setValue(param[8].toString()); // ST-2018-0000042 2018/11/09 ADD END // DBアクセスを実行します db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_351); } /** * 卸先事業者契約異動通知スキーマの更新を行う
* @param orsjgsKeiIdoNo * @param returnCode * @throws Exception */ private void updateOrsjgsKeiIdt(String chrgEndYmd, String orsjgsKeiIdoNo, String returnCode) throws Exception { String orsjgsKeiIdtRsltCd = "2"; String orsjgsKeiIdtNgRsn = "契約者情報が存在しませんでした。"; // 設定項目を設定します。 String [] setParam = {orsjgsKeiIdtRsltCd, super.opeDate, orsjgsKeiIdtNgRsn}; // 条件項目を設定します。 String [] whereParam = {orsjgsKeiIdoNo}; // 卸先事業者契約異動通知スキーマ登録 executeKK_T_ORSJGS_KEI_IDT_PKUPDATE(setParam, whereParam); } /** * PK(PK 更新)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数で設定項目マップを作ります。
* * 2.引数で条件マップを作ります。
* * 3.DBアクセスを実行します。
* * 4.メソッドの呼び出し方です。
* 引数: * setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。 * 卸先事業者契約異動通知結果コード ORSJGS_KEI_IDT_RSLT_CD * 卸先事業者契約異動処理年月日 ORSJGS_KEI_IDO_TRN_YMD * 卸先事業者契約異動通知NG理由 ORSJGS_KEI_IDT_NG_RSN * whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。 * 卸先事業者契約異動通知番号 ORSJGS_KEI_IDT_NO *
*

* @param setParam 設定項目の値。 * @param whereParam 条件項目の値。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_ORSJGS_KEI_IDT_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception { // 設定値のマップを作成します JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface(); setMap.setValue("ORSJGS_KEI_IDT_RSLT_CD", setParam[0]); setMap.setValue("ORSJGS_KEI_IDO_TRN_YMD", setParam[1]); setMap.setValue("ORSJGS_KEI_IDT_NG_RSN", setParam[2]); // 条件のマップを作成します JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface(); whereMap.setValue("ORSJGS_KEI_IDT_NO", whereParam[0]); // DBアクセスを実行します db_KK_T_ORSJGS_KEI_IDT.updateByPrimaryKeys(whereMap, setMap); } /**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/ }