/********************************************************************* * All Rights reserved,Copyright (c) K-Opticom ********************************************************************** *<プログラム内容> * システム名 :eo顧客基幹システム * モジュール名 :JBSbatKKShkaFinJiKikiStaAdd * ソースファイル名 :JBSbatKKShkaFinJiKikiStaAdd.java * 作成者 :富士通  * 作成日 :2012年08月20日 *<機能概要> * 出荷完了時機器開始登録部品です。 *<修正履歴> * バージョン 修正日 修正者 修正内容 * v4.00.00 2012/08/20 FJ)神吉 新規作成(【ANK-0546-00-00】宅内プラットフォーム事業本格対応) * v4.01.00 2012/11/21 FJ)神吉 【ANK-1311-00-00】繰り返しバッチ方式変更対応 * v4.02.00 2013/03/18 FJ)石原 【ST2-2013-0001592】割賦契約の課金開始日の編集処理対応 * v4.03.00 2013/03/26 FJ)柳 【IT1-2013-0000498】品質強化対策 * v4.04.00 2013/07/30 FJ)神田 【IT1-2013-0001468】水平展開(エラーメッセージ対応) * v5.00.00 2013/09/02 FJ)石原 【OM-2013-0001085】機器提供サービス契約のサービス開始時に進捗への登録処理追加。 * v5.00.01 2013/10/11 FJ)岡田 【OM-2013-0002991】障害対応 * v7.00.00 2013/11/20 FJ)石原 【ANK-1578-00-00】多機能ルーター(機器追加) * v7.00.01 2014/03/03 FJ)団 【OM-2014-0000392】障害対応 * v7.00.02 2014/03/17 FJ)団 【OM-2014-0001114】障害対応 * v10.00.00 2014/09/03 FJ)橋本 【IT2-2014-0000295】障害対応 * v22.00.00 2015/11/25 FJ)杉本 【ANK-2732-00-00】プロジェクト正常化 サービス開始に関するソース可読性向上 * v61.00.00 2023/03/07 FJ)星野 【ANK-4315-00-00】対応 *********************************************************************/ 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.util.file.JBSbatKKIFM216; import eo.business.util.table.JBSbatKK_T_KAISEN_TG_SVKEI; import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI; import eo.business.util.table.JBSbatKK_T_PRG; import eo.business.util.table.JBSbatKK_T_SVC_KEI; import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK; import eo.common.constant.JPCBatchMessageConstant; import eo.framework.application.JBSbatBusinessError; import eo.framework.application.JBSbatBusinessException; 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; import eo.framework.util.JBSbatDateUtil; import eo.framework.util.JBSbatOracleSeqUtil; import eo.framework.util.JBSbatStringUtil; import eo.framework.util.JCCBatchEsbInterface; /** * (クラスの機能概要)

*
* @author 富士通 */ public class JBSbatKKShkaFinJiKikiStaAdd extends JBSbatBusinessService { /**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/ /** テーブルアクセスクラス(共通部品)*/ private JBSbatSQLAccess stmt = null; /** テーブル(進捗)*/ private static final String D_TBL_NAME_KK_T_PRG = "KK_T_PRG"; /** テーブル(サービス契約内訳)*/ private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK"; /** テーブル(回線対象サービス契約)*/ private static final String D_TBL_NAME_KK_TKAISEN_TG_SVCKEI = "KK_T_KAISEN_TG_SVKEI"; /** テーブル(機器提供サービス契約)*/ private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI"; /** SQL定義キー(KK_SELECT_014)*/ private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_014 = "KK_SELECT_014"; /** SQL定義キー(KK_SELECT_032)*/ private static final String KK_T_KAISEN_TG_SVKEI_KK_SELECT_032 = "KK_SELECT_032"; /** SQL定義キー(KK_SELECT_040)*/ private static final String KK_T_PRG_KK_SELECT_040 = "KK_SELECT_040"; /** SQL定義キー(KK_SELECT_157)*/ private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_157 = "KK_SELECT_157"; /** テーブルアクセスクラス(進捗)*/ private JBSbatSQLAccess db_KK_T_PRG = null; /** テーブルアクセスクラス(サービス契約内訳)*/ private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null; /** テーブルアクセスクラス(回線対象サービス契約)*/ private JBSbatSQLAccess db_KK_T_KAISEN_TG_SVKEI = null; /** テーブルアクセスクラス(機器提供サービス契約)*/ private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null; /**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/ /** 進捗番号採番キー */ private static final String KEY_SEQ_PRG_NO = "SEQ_PRG_NO"; // ++++++++++ v22.00.00 削除開始 ++++++++++ // /** 接続機器新設完了 */ // private static final String CONNECT_KIKI_NEW_IFN = "3301"; // // /** 接続機器変更完了 */ // private static final String CONNECT_KIKI_CHG_IFN = "3302"; // // /** オプション設定完了 */ // private static final String OP_SET_FIN = "5102"; // // /** 割賦登録完了 */ // private static final String KAP_ADD_FIN = "G001"; // // /** 機器オプション設定完了 */ // private static final String KIKI_OP_SET_FIN = "H001"; // // /** レンタル解約完了 */ // private static final String RENT_CAN_FIN = "3200"; // ++++++++++ v22.00.00 変更終了 ++++++++++ /** * 初期処理 * @param JBSbatCommonItem commonItem バッチ共通パラメータ電文 * @throws Exception */ public void initial(JBSbatCommonItem commonItem) throws Exception { /**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/ /**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/ // 共通パラメータを設定します super.setCommonInfo(commonItem); db_KK_T_PRG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_PRG); db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK); db_KK_T_KAISEN_TG_SVKEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_TKAISEN_TG_SVCKEI); db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI); /**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/ // 共通部品用 stmt = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_PRG); /**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/ } /** * 主処理 * @param inMap 入力電文 * @return JBSbatOutputItem 出力情報 * @throws Exception */ public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception { /**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/ super.logPrint.printDebugLog("execute_START"); // サービスに渡す業務データを格納するMAP HashMap inputMap = new HashMap(); HashMap inputMapOpn = new HashMap(); // 出荷完了時機器開始明細情報リスト生成 ArrayList>shkaFinJiKikiStaAddList = new ArrayList>(); // 出荷完了時機器開始マップをHashMapで構築する。 HashMap shkaFinJiKikiStaAddMap = new HashMap(); super.logPrint.printDebugLog("出荷完了時機器開始情報:配送番号[" + inMap.getString(JBSbatKKIFM216.HAISO_NO) + "]"); super.logPrint.printDebugLog("出荷完了時機器開始情報:機器提供契約サービス番号[" + inMap.getString(JBSbatKKIFM216.KKTK_SVC_KEI_NO) + "]"); super.logPrint.printDebugLog("出荷完了時機器開始情報:機器変更番号[" + inMap.getString(JBSbatKKIFM216.KIKI_CHG_NO) + "]"); super.logPrint.printDebugLog("出荷完了時機器開始情報:宅内機器型式コード[" + inMap.getString(JBSbatKKIFM216.TAKNKIKI_MODEL_CD) + "]"); super.logPrint.printDebugLog("出荷完了時機器開始情報:機器製造番号[" + inMap.getString(JBSbatKKIFM216.KIKI_SEIZO_NO) + "]"); super.logPrint.printDebugLog("出荷完了時機器開始情報:異動区分[" + inMap.getString(JBSbatKKIFM216.IDO_DIV) + "]"); // 機器提供サービス契約番号取得 String kktkSvcKeiNo = inMap.getString(JBSbatKKIFM216.KKTK_SVC_KEI_NO); // 配送番号 shkaFinJiKikiStaAddMap.put("key_haiso_no", inMap.getString(JBSbatKKIFM216.HAISO_NO)); // 機器提供契約サービス番号 shkaFinJiKikiStaAddMap.put("kktk_svc_kei_no", kktkSvcKeiNo); // 機器変更番号 shkaFinJiKikiStaAddMap.put("kiki_chg_no", inMap.getString(JBSbatKKIFM216.KIKI_CHG_NO)); // 宅内機器型式コード shkaFinJiKikiStaAddMap.put("taknkiki_model_cd", inMap.getString(JBSbatKKIFM216.TAKNKIKI_MODEL_CD)); // 機器製造番号 shkaFinJiKikiStaAddMap.put("kiki_seizo_no", inMap.getString(JBSbatKKIFM216.KIKI_SEIZO_NO)); // 出荷完了時機器開始明細情報リストへ出荷完了時機器開始マップを設定 shkaFinJiKikiStaAddList.add(shkaFinJiKikiStaAddMap); // inputMapにデータをそれぞれのリスト名をキーとして設定する。 inputMap.put("shkaFinJiKikiStaAddList", shkaFinJiKikiStaAddList); // inputMapOpnにデータを呼出CCタイトル名をKeyとして設定する。 inputMapOpn.put("KKSV066501CC", inputMap); // サービスの処理結果が格納されるMAP HashMap outputMapOpn = new HashMap(); // ユースケースIDを格納するMAP HashMap paramMap0665 = new HashMap(); paramMap0665.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, "KKSV0665"); paramMap0665.put(JCCBatchEsbInterface.TELEGRAM_INFO_OPERATION_ID, "KKSV0665OP"); // サービス呼び出し JCCBatchEsbInterface.invokeService(super.commonItem, paramMap0665, inputMapOpn, outputMapOpn); super.logPrint.printDebugLog("サービス呼びだし後(RETURN_CODE):" + outputMapOpn.get("RETURN_CODE")); // サービスインターフェースのリターンコードが「"0000"」でない場合 if(!"0000".equals(outputMapOpn.get("RETURN_CODE"))) { String returnCode = (String)outputMapOpn.get("RETURN_CODE"); StringBuffer sb = new StringBuffer(); sb.append(" 機器提供サービス契約番号:" +kktkSvcKeiNo); sb.append("、配送番号:"+inMap.getString(JBSbatKKIFM216.HAISO_NO)); // 「サービスインターフェイスエラーの場合は、下記のログ出力する。 super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, new String[]{"出荷完了時機器開始登録CCでエラーが発生しました(リターンコード):" + returnCode + sb.toString()}); throw new JBSbatBusinessError(); } else { super.logPrint.printDebugLog("■正常終了"); /* ++++++++++ v10.00.00 削除開始 ++++++++++ */ // // 異動区分 // String idoDiv = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM216.IDO_DIV)); // // // 異動区分が「00019:住所変更・登録」の場合、機器提供サービス契約TBL更新対象レコードを取得します。 // if ("00019".equals(idoDiv)) // { // // SQL実行結果取得用mapを生成(機器提供サービス契約スキーマ取得) // JBSbatCommonDBInterface kktkSvcKeiMap_157 = new JBSbatCommonDBInterface(); // // String [] kktkSvcKei157_whereParam = {kktkSvcKeiNo, super.opeDate}; // // // 予約適用年月日>バッチ運用日の機器提供サービス契約情報を取得します。 // // 機器提供サービス契約検索:SQL定義キー(KK_T_KKTK_SVC_KEI_KK_SELECT_157)を実行します。 // executeKK_T_KKTK_SVC_KEI_KK_SELECT_157(kktkSvcKei157_whereParam); // // kktkSvcKeiMap_157 = db_KK_T_KKTK_SVC_KEI.selectNext(); // // // 機器提供サービス契約検索結果件数分繰返します。 // while (null != kktkSvcKeiMap_157) // { // // 機器提供サービス契約番号 // String kktkSvcKeiNo_157 = kktkSvcKeiMap_157.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO); // // // 世代登録年月日時分秒 // String geneAddDtm = kktkSvcKeiMap_157.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM); // // // 「予約適用年月日」をバッチ運用日付に変更します。 // // 機器提供サービス契約TBL更新を行います。 // this.updateKktkSvcKei(kktkSvcKeiNo_157, geneAddDtm); // // // 次のレコードを取得します。 // kktkSvcKeiMap_157 = db_KK_T_KKTK_SVC_KEI.selectNext(); // } // } /* ++++++++++ v10.00.00 削除完了 ++++++++++ */ // 進捗登録データの取得 HashMap prgDataMap = (HashMap)outputMapOpn.get("PRG_DATA"); super.logPrint.printDebugLog("■prgDataMap:" + prgDataMap); if (prgDataMap == null || prgDataMap.size() == 0) { return null; } ArrayList> prgList = (ArrayList>)prgDataMap.get("PRG_LIST"); super.logPrint.printDebugLog("■prgList:" + prgList); if (prgList == null || prgList.size() == 0) { return null; } super.logPrint.printDebugLog("■進捗登録データあり"); // 更新種別を格納 String update_type = ""; for (int i=0; i prgMap = new HashMap(); // 機器提供サービス契約情報(世代登録年月日が最大データ) HashMap kikiMsg = new HashMap(); // 機器提供サービス契約情報(世代登録年月日が最小データ) HashMap minKikiMsg = new HashMap(); prgMap = (HashMap)prgList.get(i); // 正常終了した場合にCCより返却された機器提供情報を取得する。 // 更新種別の取得 update_type = (String)prgMap.get("UPDATE_TYPE"); super.logPrint.printDebugLog("■更新種別:" + update_type); if ( update_type != null && !"".equals(update_type) ) { String prg_stat = ""; // 更新種別:11の場合 if ("11".equals(update_type)) { // 接続機器新設完了(3301) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = CONNECT_KIKI_NEW_IFN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_3301; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // 更新種別:12、または、更新種別:13の場合 else if ("12".equals(update_type) || "13".equals(update_type) ) { // 接続機器変更完了(3302) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = CONNECT_KIKI_CHG_IFN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_3302; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // 更新種別:90の場合 else if ("90".equals(update_type)) { // オプション設定完了(5102) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = OP_SET_FIN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_5102; // ++++++++++ v22.00.00 変更終了 ++++++++++ kikiMsg = (HashMap)prgMap.get("KIKIMSG"); minKikiMsg = (HashMap)prgMap.get("MINKIKIMSG"); /* ++++++++++ v7.00.02 修正開始 ++++++++++ */ //insertPrg(kikiMsg, minKikiMsg, prg_stat); insertPrg(kikiMsg, minKikiMsg, prg_stat, update_type); /* ++++++++++ v7.00.02 修正終了 ++++++++++ */ // 割賦登録完了(G001) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = KAP_ADD_FIN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_G001; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // 更新種別:130の場合 else if ("130".equals(update_type)) { // オプション設定完了(5102) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = OP_SET_FIN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_5102; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // 更新種別:140の場合 else if ("140".equals(update_type)) { // 機器オプション設定完了(H001) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = KIKI_OP_SET_FIN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_H001; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // 更新種別:150の場合 else if ("150".equals(update_type)) { // レンタル解約完了(3200) // ++++++++++ v22.00.00 変更開始 ++++++++++ // prg_stat = RENT_CAN_FIN; prg_stat = JBSbatKKConst.CD00647_PRG_STAT_3200; // ++++++++++ v22.00.00 変更終了 ++++++++++ } // ANK-4315-00-00対応 20230307 星野 ADD START // 更新種別:150(機器オプション)の場合 else if ("150_KKOP".equals(update_type)) { // 機器オプション設定完了(H001) prg_stat = JBSbatKKConst.CD00647_PRG_STAT_H001; } // 更新種別:150(多機能ルーター)の場合 else if ("150_TKNRT".equals(update_type)) { // レンタル解約完了(3200) prg_stat = JBSbatKKConst.CD00647_PRG_STAT_3200; } // ANK-4315-00-00対応 20230307 星野 ADD END else { return null; } kikiMsg = (HashMap)prgMap.get("KIKIMSG"); minKikiMsg = (HashMap)prgMap.get("MINKIKIMSG"); /* ++++++++++ v7.00.02 修正開始 ++++++++++ */ //insertPrg(kikiMsg, minKikiMsg, prg_stat); insertPrg(kikiMsg, minKikiMsg, prg_stat, update_type); /* ++++++++++ v7.00.02 修正終了 ++++++++++ */ } } } super.logPrint.printDebugLog("execute_END"); return null; /**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/ } /** * 業務サービス終了処理 * @throws Exception */ public void terminal() throws Exception { /**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/ /**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/ db_KK_T_PRG.close(); db_KK_T_SVC_KEI_UCWK.close(); db_KK_T_KAISEN_TG_SVKEI.close(); db_KK_T_KKTK_SVC_KEI.close(); /**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/ // 共通部品用 stmt.close(); /**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/ } /**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/ /**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/ /* ++++++++++ v7.00.02 修正開始 ++++++++++ */ ///** // * 進捗登録処理 // *
// * @param kikiMsg 機器提供サービス契約(最新) // * @param minKikiMsg 機器提供サービス契約(最古) // * @param prg_stat 進捗ステータス // * @throws Exception // */ //private void insertPrg(HashMap kikiMsg, HashMap minKikiMsg, String prg_stat) throws Exception /** * 進捗登録処理 *
* @param kikiMsg 機器提供サービス契約(最新) * @param minKikiMsg 機器提供サービス契約(最古) * @param prg_stat 進捗ステータス * @param update_type 更新種別 * @throws Exception */ private void insertPrg(HashMap kikiMsg, HashMap minKikiMsg, String prg_stat, String update_type) throws Exception /* ++++++++++ v7.00.02 修正終了 ++++++++++ */ { // システム日付を取得 String sysDate = JBSbatDateUtil.getSystemDateTimeStamp(); // 異動区分 String idoDiv = (String)minKikiMsg.get("ido_div"); // サービス契約番号 String svcKeiNo = (String)minKikiMsg.get("svc_kei_no"); // サービス契約回線内訳番号 String svc_kei_kaisen_uchwk_no = (String)kikiMsg.get("svc_kei_kaisen_ucwk_no"); // サービス契約内訳番号 String svc_kei_ucwk_no = (String)kikiMsg.get("svc_kei_ucwk_no"); // サービス契約番号が設定されている場合 if (svcKeiNo != null && !"".equals(svcKeiNo)) { // サービス契約番号をそのまま使用 } else { // サービス契約回線内訳番号が設定されている場合 if (svc_kei_kaisen_uchwk_no != null && !"".equals(svc_kei_kaisen_uchwk_no)) { // サービス契約回線内訳の情報を取得する。 String[] param = {super.opeDate, svc_kei_kaisen_uchwk_no}; this.executeKK_T_KAISEN_TG_SVKEI_KK_SELECT_032(param); JBSbatCommonDBInterface svcKeiUcwkMap = db_KK_T_KAISEN_TG_SVKEI.selectNext(); // 検索結果がある場合 if(null != svcKeiUcwkMap) { /* ++++++++++ v7.00.02 追加開始 ++++++++++ */ if("150".equals(update_type)) { // サービスコード昇順⇒電話サービスのサービス契約番号を取得 // ++++++++++ v22.00.00 変更開始 ++++++++++ // if("01".equals(JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) if(JBSbatKKConst.SVC_CD_IN_SVC.equals(JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) // ++++++++++ v22.00.00 変更終了 ++++++++++ { svcKeiUcwkMap = db_KK_T_KAISEN_TG_SVKEI.selectNext(); } // ++++++++++ v22.00.00 変更開始 ++++++++++ // if(null != svcKeiUcwkMap && "02".equals(JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) if(null != svcKeiUcwkMap && JBSbatKKConst.SVC_CD_TEL_SVC.equals(JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) // ++++++++++ v22.00.00 変更終了 ++++++++++ { svcKeiNo = JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_KAISEN_TG_SVKEI.SVC_KEI_NO)); } else { return; } } else { /* ++++++++++ v7.00.02 追加修正 ++++++++++ */ // サービス契約番号の設定 svcKeiNo = JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_KAISEN_TG_SVKEI.SVC_KEI_NO)); /* ++++++++++ v7.00.02 追加開始 ++++++++++ */ } /* ++++++++++ v7.00.02 追加終了 ++++++++++ */ } else { return; } } // サービス契約内訳番号が設定されている場合 else if(svc_kei_ucwk_no != null && !"".equals(svc_kei_ucwk_no)) { // サービス契約内訳の情報を取得する。 String[] param = {svc_kei_ucwk_no, super.opeDate}; this.executeKK_T_SVC_KEI_UCWK_KK_SELECT_014(param); JBSbatCommonDBInterface svcKeiUcwkMap = db_KK_T_SVC_KEI_UCWK.selectNext(); // 検索結果がある場合 if(null != svcKeiUcwkMap) { // サービス契約番号の設定 svcKeiNo = JBSbatStringUtil.Rtrim(svcKeiUcwkMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)); } else { return; } } else { return; } } super.logPrint.printDebugLog("■サービス契約番号:" + svcKeiNo); /* ++++++++++ v7.00.01 追加開始 ++++++++++ */ // 進捗年月日 String prgDate = ""; String planStaymd = (String)kikiMsg.get("plan_staymd"); // プラン開始月が運用月より後の場合 if(planStaymd.substring(0, 6).compareTo(super.opeDate.substring(0, 6)) > 0) { // 進捗年月日←プラン開始日 prgDate = planStaymd; } else { prgDate = super.opeDate; } // 進捗(出荷完了)レコードの存在チェック String[] param = {svcKeiNo}; this.executeKK_T_PRG_KK_SELECT_040(param); JBSbatCommonDBInterface prgMap = db_KK_T_PRG.selectNext(); if(null != prgMap) { // 進捗年月日時分秒の更新 // 進捗更新 設定パラメータ String[] setParam = new String[1]; // 進捗更新 検索パラメータ String[] whereParam = new String[2]; // 機器提供サービス契約更新 設定パラメータ setParam[0] = prgDate + sysDate.substring(8);; // 進捗年月日時分秒 // 機器提供サービス契約更新 検索パラメータ whereParam[0] = prgMap.getString(JBSbatKK_T_PRG.PRG_NO); // 進捗番号 super.logPrint.printDebugLog("whereParam(進捗番号):" + whereParam[0]); super.logPrint.printDebugLog("setParam(進捗年月日時分秒)::::::::" + setParam[0]); // 進捗更新 executeKK_T_PRG_PKUPDATE(setParam, whereParam); } /* ++++++++++ v7.00.01 追加終了 ++++++++++ */ // 異動年月日時分秒取得 String idoDtm = JKKBatCommon.getIdoDtmMax(commonItem, svcKeiNo, idoDiv, stmt); // 新規登録データ格納 Object[] setParam = new Object[33]; // 進捗番号 ⇒ 採番部品 setParam[0] = JBSbatStringUtil.padNumFormString(JBSbatOracleSeqUtil.getNextSeq(commonItem.getConnection(), KEY_SEQ_PRG_NO), 12); // 申込明細番号 ⇒ 空白 setParam[1] = ""; // 請求契約番号 ⇒ 空白 setParam[2] = ""; // 請求方法番号(口座) ⇒ 空白 setParam[3] = ""; // 請求方法番号(クレジットカード) ⇒ 空白 setParam[4] = ""; // サービス契約番号 setParam[5] = svcKeiNo; // サービス契約内訳番号 ⇒ 空白 setParam[6] = ""; // サービス契約回線内訳番号 ⇒ 空白 setParam[7] = ""; // 機器提供サービス契約番号 ⇒ 空白 setParam[8] = ""; // オプションサービス契約番号 ⇒ 空白 setParam[9] = ""; // 請求オプションサービス契約番号 ⇒ 空白 setParam[10] = ""; // サブオプションサービス契約番号 ⇒ 空白 setParam[11] = ""; // 割引サービス契約番号 ⇒ 空白 setParam[12] = ""; // 異動区分 /* ++++++++++ v7.00.02 修正開始 ++++++++++ */ //setParam[13] = idoDiv; if("150".equals(update_type)) { // ++++++++++ v22.00.00 変更開始 ++++++++++ // setParam[13] = "00026"; setParam[13] = JBSbatKKConst.CD00576_IDO_DIV_00026; // ++++++++++ v22.00.00 変更終了 ++++++++++ } else { setParam[13] = idoDiv; } /* ++++++++++ v7.00.02 修正終了 ++++++++++ */ // 異動年月日時分秒 ⇒ 進捗.異動年月日時分秒または、システム日時 setParam[14] = idoDtm; // 進捗ステータス ⇒ 更新種別:11(3301)、更新種別:12まはた13(3302) setParam[15] = prg_stat; /* ++++++++++ v7.00.01 修正開始 ++++++++++ */ // // 進捗年月日時分秒 → バッチ運用日 + システム日時のhhmmssSSSを設定。 // setParam[16] = super.opeDate + sysDate.substring(8); // 進捗年月日時分秒 → バッチ運用日 または プラン開始年月日 + システム日時のhhmmssSSSを設定。 setParam[16] = prgDate + sysDate.substring(8); /* ++++++++++ v7.00.01 修正終了 ++++++++++ */ // 進捗メモ ⇒ 空白 setParam[17] = ""; // 進捗.特記事項1 ⇒ 空白 setParam[18] = ""; // 進捗.特記事項2 ⇒ 編集した値 setParam[19] = ""; // 登録年月日時分秒 setParam[20] = sysDate; // 登録オペレータアカウント setParam[21] = super.batchUserId; // 更新年月日時分秒 setParam[22] = sysDate; // 更新オペレータアカウント setParam[23] = super.batchUserId; // 削除年月日時分秒 setParam[24] = ""; // 削除オペレータアカウント setParam[25] = ""; // 無効フラグ setParam[26] = ""; // 登録運用年月日 setParam[27] = super.opeDate; // 登録処理ID setParam[28] = ""; // 更新運用年月日 setParam[29] = super.opeDate; // 更新処理ID setParam[30] = ""; // 削除運用年月日 setParam[31] = ""; // 削除処理ID setParam[32] = ""; executeKK_T_PRG_PKINSERT(setParam); } /** * SQLKEY(KK_SELECT_040)でDBアクセスを行います。
*

* 処理フロー
*

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

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

* 処理フロー
*

	 * 1.引数で設定項目マップを作ります。
* * 2.引数で条件マップを作ります。
* * 3.DBアクセスを実行します。
* * 4.メソッドの呼び出し方です。
* 引数: * setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。 * 進捗年月日時分秒 PRG_DTM * whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。 * PRG_NO *
*

* @param setParam 設定項目の値。 * @param whereParam 条件項目の値。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_PRG_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception { // 設定値のマップを作成します JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface(); setMap.setValue("PRG_DTM", setParam[0]); // 条件のマップを作成します JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface(); whereMap.setValue("PRG_NO", whereParam[0]); // DBアクセスを実行します db_KK_T_PRG.updateByPrimaryKeys(whereMap, setMap); } /** * PK(全項目登録)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数で設定項目マップを作ります。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。 * 進捗番号 PRG_NO * 申込明細番号 MSKM_DTL_NO * 請求契約番号 SEIKY_KEI_NO * 請求方法番号(口座) SEIKY_WAY_NO_KOZA * 請求方法番号(クレジットカード) SEIKY_WAY_NO_CRECARD * サービス契約番号 SVC_KEI_NO * サービス契約内訳番号 SVC_KEI_UCWK_NO * サービス契約回線内訳番号 SVC_KEI_KAISEN_UCWK_NO * 機器提供サービス契約番号 KKTK_SVC_KEI_NO * オプションサービス契約番号 OP_SVC_KEI_NO * 請求オプションサービス契約番号 SEIOPSVC_KEI_NO * サブオプションサービス契約番号 SBOP_SVC_KEI_NO * 割引サービス契約番号 WRIB_SVC_KEI_NO * 異動区分 IDO_DIV * 異動年月日時分秒 IDO_DTM * 進捗ステータス PRG_STAT * 進捗年月日時分秒 PRG_DTM * 進捗メモ PRG_MEMO * 進捗特記事項1 PRG_TKJK_1 * 進捗特記事項2 PRG_TKJK_2 * 登録年月日時分秒 ADD_DTM * 登録オペレータアカウント ADD_OPEACNT * 更新年月日時分秒 UPD_DTM * 更新オペレータアカウント UPD_OPEACNT * 削除年月日時分秒 DEL_DTM * 削除オペレータアカウント DEL_OPEACNT * 無効フラグ MK_FLG * 登録運用年月日 ADD_UNYO_YMD * 登録処理ID ADD_TRN_ID * 更新運用年月日 UPD_UNYO_YMD * 更新処理ID UPD_TRN_ID * 削除運用年月日 DEL_UNYO_YMD * 削除処理ID DEL_TRN_ID *
*

* @param setParam 設定項目の値。 * @throws Exception 業務サービス内で発生した例外全般。 */ private void executeKK_T_PRG_PKINSERT(Object[] setParam) throws Exception { // 設定値のマップを作成します JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface(); setMap.setValue("PRG_NO", setParam[0]); setMap.setValue("MSKM_DTL_NO", setParam[1]); setMap.setValue("SEIKY_KEI_NO", setParam[2]); setMap.setValue("SEIKY_WAY_NO_KOZA", setParam[3]); setMap.setValue("SEIKY_WAY_NO_CRECARD", setParam[4]); setMap.setValue("SVC_KEI_NO", setParam[5]); setMap.setValue("SVC_KEI_UCWK_NO", setParam[6]); setMap.setValue("SVC_KEI_KAISEN_UCWK_NO", setParam[7]); setMap.setValue("KKTK_SVC_KEI_NO", setParam[8]); setMap.setValue("OP_SVC_KEI_NO", setParam[9]); setMap.setValue("SEIOPSVC_KEI_NO", setParam[10]); setMap.setValue("SBOP_SVC_KEI_NO", setParam[11]); setMap.setValue("WRIB_SVC_KEI_NO", setParam[12]); setMap.setValue("IDO_DIV", setParam[13]); setMap.setValue("IDO_DTM", setParam[14]); setMap.setValue("PRG_STAT", setParam[15]); setMap.setValue("PRG_DTM", setParam[16]); setMap.setValue("PRG_MEMO", setParam[17]); setMap.setValue("PRG_TKJK_1", setParam[18]); setMap.setValue("PRG_TKJK_2", setParam[19]); setMap.setValue("ADD_DTM", setParam[20]); setMap.setValue("ADD_OPEACNT", setParam[21]); setMap.setValue("UPD_DTM", setParam[22]); setMap.setValue("UPD_OPEACNT", setParam[23]); setMap.setValue("DEL_DTM", setParam[24]); setMap.setValue("DEL_OPEACNT", setParam[25]); setMap.setValue("MK_FLG", setParam[26]); setMap.setValue("ADD_UNYO_YMD", setParam[27]); setMap.setValue("ADD_TRN_ID", setParam[28]); setMap.setValue("UPD_UNYO_YMD", setParam[29]); setMap.setValue("UPD_TRN_ID", setParam[30]); setMap.setValue("DEL_UNYO_YMD", setParam[31]); setMap.setValue("DEL_TRN_ID", setParam[32]); // DBアクセスを実行します db_KK_T_PRG.insertByPrimaryKeys(setMap); } /** * 機器提供サービス契約情報の更新処理を行います。
*

* @param kktkSvcKeiNo 機器提供サービス契約番号。 * @param geneAddDtm 世代登録年月日時分秒。 * @throws Exception メソッド内で発生した例外全般。 */ private void updateKktkSvcKei(String kktkSvcKeiNo, String geneAddDtm) throws Exception { super.logPrint.printDebugLog("updateKktkSvcKei_START"); JBSbatCommonDBInterface map = new JBSbatCommonDBInterface(); JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface(); where_map.setValue(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO, kktkSvcKeiNo); where_map.setValue(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM, geneAddDtm); // 排他検索を行います map = db_KK_T_KKTK_SVC_KEI.selectByPrimaryKeysForUpdateWait(where_map); // 排他エラーの場合 if (null == map) { // 該当レコード無しのエラー throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"機器提供サービス契約", "機器提供サービス契約番号" + kktkSvcKeiNo}); } // 機器提供サービス契約更新 設定パラメータ String[] setParam = new String[1]; // 機器提供サービス契約更新 検索パラメータ String[] whereParam = new String[2]; // 機器提供サービス契約更新 設定パラメータ setParam[0] = super.opeDate; // 予約適用年月日 // 機器提供サービス契約更新 検索パラメータ whereParam[0] = kktkSvcKeiNo; // 機器提供サービス契約番号 whereParam[1] = geneAddDtm; // 世代登録年月日時分秒 super.logPrint.printDebugLog("whereParam(機器提供サービス契約番号):" + whereParam[0]); super.logPrint.printDebugLog("whereParam(世代登録年月日時分秒):::" + whereParam[1]); super.logPrint.printDebugLog("setParam(RSV_APLY_YMD)::::::::" + setParam[0]); // 機器提供サービス契約更新 executeKK_T_KKTK_SVC_KEI_PKUPDATE(setParam, whereParam); super.logPrint.printDebugLog("updateKktkSvcKei_END"); } /**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/ /** * SQLKEY(KK_SELECT_014)でDBアクセスを行います。
*

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 * サービス契約内訳番号 * 予約適用年月日 *
*

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

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 * サービス契約回線内訳番号 * 運用日 *
*

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

* 処理フロー
*

	 * 1.引数でバイント変数を設定します。
* * 2.DBアクセスを実行します。
* * 3.メソッドの呼び出し方です。
* 引数: * param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。 * 機器提供サービス契約番号 * 予約適用年月日 *
*

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

* 処理フロー
*

	 * 1.引数で設定項目マップを作ります。
* * 2.引数で条件マップを作ります。
* * 3.DBアクセスを実行します。
* * 4.メソッドの呼び出し方です。
* 引数: * setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。 * 予約適用年月日 RSV_APLY_YMD * whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。 * KKTK_SVC_KEI_NO * GENE_ADD_DTM *
*

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