/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKWribSvTgKeiSaiInfCht
*	ソースファイル名	：JBSbatKKWribSvTgKeiSaiInfCht.java
*	作成者				：富士通　
*	作成日				：2011年06月20日
*＜機能概要＞
*　割引サービス対象契約差分情報抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/20   富士通		新規作成
*	v3.00.00	2012/06/28   FJ)北守	【IT2-2012-0000711】サービス開始基準対応（一時金）
*	v4.00.00	2013/04/03   AS)新居	【TAI-2012-0000142】設定階層識別コード想定外の場合オミット
*	v4.00.01	2013/04/21   FJ)上田	【ST2-2013-0001747】解約および回復レコードの判定変更
*	v4.00.02	2013/05/29   AS)新居	【TG1-2013-0000431】ファミリーパック割引の不具合対応
*	v5.00.00	2013/10/27   AS)村田	【OM-2013-0003650】請求書発行手数料が割引されない不具合対応
*	v6.00.00	2013/12/11   AS)安井	【OM-2013-0004764】
*	v6.00.01	2014/01/06   AS)安井	【OM-2013-0005081】休止中セット割対応
*	v6.00.02	2014/01/16   AS)安井	【OM-2013-0004001】
*   v7.00.00    2013/12/13   FJ)上田    【ANK-1578-00-00】多機能ルーター(機器追加)
*   v7.00.01    2014/02/12   AS)安井    【OM-2014-0000463】性能改善
*   v19.00.00   2015/08/20   FJ)安井     OM-2015-0001096 課金先適用期間変更
*   v20.00.00   2015/11/30   FJ)中山    【OM-2015-0003094】性能改善
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.common.JKKbatSaiInfChtCommon;
import eo.business.util.file.JBSbatKKIFM019;
import eo.business.util.file.JBSbatKKIFM023;
import eo.business.util.file.JBSbatKKIFM488;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC_TANKA;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_WRIB_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_WRISVC_TG_KEI;
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;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKWribSvTgKeiSaiInfCht extends JBSbatBusinessService	
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(割引サービス対象契約)*/
	private static final String D_TBL_NAME_KK_T_WRISVC_TG_KEI = "KK_T_WRISVC_TG_KEI";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_001 = "KK_SELECT_001";
	
	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_008 = "KK_SELECT_008";
	
	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_009 = "KK_SELECT_009";
	
	/** SQL定義キー(KK_SELECT_042)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_042 = "KK_SELECT_042";
	
	/** SQL定義キー(KK_SELECT_010)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_010 = "KK_SELECT_010";
	
	/** SQL定義キー(KK_SELECT_012)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_012 = "KK_SELECT_012";

	/** SQL定義キー(KK_SELECT_021)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_021 = "KK_SELECT_021";
	
	/** SQL定義キー(KK_SELECT_022)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_022 = "KK_SELECT_022";
	
	/** SQL定義キー(KK_SELECT_023)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_023 = "KK_SELECT_023";
	
	/** SQL定義キー(KK_SELECT_043)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_043 = "KK_SELECT_043";
	
	/** SQL定義キー(KK_SELECT_024)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_024 = "KK_SELECT_024";
	
	/** SQL定義キー(KK_SELECT_025)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_025 = "KK_SELECT_025";
	
	/** SQL定義キー(KK_SELECT_036)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_036 = "KK_SELECT_036";
	
	/** SQL定義キー(KK_SELECT_037)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_037 = "KK_SELECT_037";
	
	/** SQL定義キー(KK_SELECT_038)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_038 = "KK_SELECT_038";
	
	/** SQL定義キー(KK_SELECT_039)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_039 = "KK_SELECT_039";
	
	/** SQL定義キー(KK_SELECT_040)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_040 = "KK_SELECT_040";
	
	/** SQL定義キー(KK_SELECT_041)*/
	private static final String KK_T_WRISVC_TG_KEI_KK_SELECT_041 = "KK_SELECT_041";

	/** テーブルアクセスクラス(割引サービス対象契約)*/
	private JBSbatSQLAccess db_KK_T_WRISVC_TG_KEI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** 運用月開始日保持の為の変数 */
	private String strSta = null;
	
	/** 運用月終了日保持の為の変数 */
	private String strEnd = null;
	
	/** バッチ運用日保持の為の変数 */
	private String strDate = null;
	
	/** フリー項目[処理月区分] */
	private String free = null;

	/** 割引サービス単価マスタ／料金グループコード */
	static String TAN_PRC_GRP = "TAN_PRC_GRP";
	
	/** 割引サービス単価マスタ／料金コースコード */
	static String TAN_PCRS = "TAN_PCRS";
	
	/** 割引サービス単価マスタ／料金プランコード */
	static String TAN_PPLAN = "TAN_PPLAN";
	
	/** 割引サービス単価マスタ／サービスコード */
	static String TAN_SVC = "TAN_SVC";
	
	/** 割引サービス単価マスタ／機器提供サービスコード */
	static String TAN_KKTK_SVC = "TAN_KKTK_SVC";
	
	/** 割引サービス単価マスタ／オプションサービスコード */
	static String TAN_OP_SVC = "TAN_OP_SVC";
	
	/** 割引サービス単価マスタ／サブオプションサービスコード */
	static String TAN_SBOP_SVC = "TAN_SBOP_SVC";
	
	/** 割引サービス単価マスタ／請求オプションサービスコード */
	static String TAN_SEIOPSVC = "TAN_SEIOPSVC";
	
	/** 当該契約／料金グループコード */
	static String PRC_GRP_CD = "PRC_GRP_CD";
	
	/** 当該契約／料金コースコード */
	static String TARGET_PCRS = "TARGET_PCRS";
	
	/** 当該契約／料金プランコード */
	static String TARGET_PPLAN = "TARGET_PPLAN";
	
	/** 当該契約／サービスコード */
	static String TARGET_SVC = "TARGET_SVC";
	
	/** 当該契約／割引サービス契約.プラン課金終了年月日 */
	static String W_PLAN_CHRG_ENDYMD = "W_PLAN_CHRG_ENDYMD";

	/** 割引サービス契約内訳_MAX課金終了日 */
	static String MAX_UCWK_CHRG_ENDYMD = "MAX_UCWK_CHRG_ENDYMD";

	/** 割引サービス契約内訳_課金終了日 */
	static String PLAN_CHRG_ENDYMD = "PLAN_CHRG_ENDYMD";

	/** 前回使用のサービス契約番号 */
	private String svcKeiNo = "";

	/** 当該契約／料金プランコード */
	private String TARGET_PPLAN_CD = "";

	/** 初回レコードフラグ */
	boolean frstRecFlg = true;
	
	/** 内訳適用終了フラグ */
	private boolean uwAplyEndFlg = false;
	
	// ++++++++++ v4.00.01 追加開始 ++++++++++ //
	/** 異動タイミングチェックレコード退避リスト */
	ArrayList<JBSbatCommonDBInterface> WkIdoTmgSvInfo = null;
	// ++++++++++ v4.00.01 追加終了 ++++++++++ //
	
	// ++++++++++ 性能改善対応 追加開始 ++++++++++ //
	/** 差分抽出共通クラス */
	private JKKbatSaiInfChtCommon saiInfChtCmn = null;
	// ++++++++++ 性能改善対応 追加終了 ++++++++++ //
	
	//▼OM-2013-0004001▼
	/** 運用月月末日 */
	private String thisMonthEnd = "";
	//▲OM-2013-0004001▲
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_WRISVC_TG_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRISVC_TG_KEI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		// 運用日付取得
		strDate = commonItem.getOpeDate();
		String ym = strDate.substring(0, 6);
		
		// フリー項目[処理月区分]
		free = commonItem.getFreeItem();
		
		// 抽出対象期間を算出
		// 運用日付から当月の月初、月末、翌月月初を算出
		strSta = ym + "01";
		strEnd = ym + JBSbatDateUtil.getEndOfMonth(ym);
		
		// 処理対象が[前月]の場合、前月分の値に編集
		if(JBSbatKKConst.TRAN_TRGT_MON_BF.equals(free))
		{
			strSta = JBSbatDateUtil.adjustMonth(strSta, -1);
			strEnd = JBSbatDateUtil.adjustMonth(strEnd, -1);
		}
		
		//▼OM-2013-0004001▼
		// 運用月月末日取得
		thisMonthEnd = ym + JBSbatDateUtil.getEndOfMonth(ym);
		//▲OM-2013-0004001▲
		
		// ++++++++++ 性能改善対応 追加開始 ++++++++++ //
		// 差分抽出共通クラスを生成
		saiInfChtCmn = new JKKbatSaiInfChtCommon(commonItem);
		// ++++++++++ 性能改善対応 追加終了 ++++++++++ //
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute start");
		
		// 抽出契約区分取得
		String chshtKeiDiv = inMap.getString(JBSbatKKIFM023.CHSHT_KEI_DIV);

		// 前回と同じサービス契約番号なら処理しない
		if (svcKeiNo.equals(inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)))
		{
			return null;
		}
		svcKeiNo = inMap.getString(JBSbatKKIFM023.SVC_KEI_NO);
		
		// フリー項目[処理区分]が[キャンセル]の場合には個別SQLを発行
		if(JBSbatKKConst.TRAN_TRGT_CANCEL.equals(free))
		{
			// 入力情報の[抽出契約区分]ごとに発行SQLを分岐
			// サービス契約の場合
			if(JBSbatKKConst.CHSHT_KEI_DIV_10.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_021(getWriSvcTgKei_S021Param(inMap));
			}
			// サービス契約内訳の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_11.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_022(getWriSvcTgKei_S022Param(inMap));
			}
			// オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_20.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_023(getWriSvcTgKei_S023Param(inMap));
			}
			// サブオプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_21.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_043(getWriSvcTgKei_S043Param(inMap));
			}
			// 機器提供サービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_30.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_024(getWriSvcTgKei_S024Param(inMap));
			}
			// 請求オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_40.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_025(getWriSvcTgKei_S025Param(inMap));
			}
			else
			{
				// 上記以外の入力情報はエラーとする
				throw new Exception();
			}
		// フリー項目[処理区分]が[開始済]の場合
		} else if (JBSbatKKConst.TRAN_TRGT_KAISHI.equals(free))
		{
			// 入力情報の[抽出契約区分]ごとに発行SQLを分岐
			// サービス契約の場合
			if(JBSbatKKConst.CHSHT_KEI_DIV_10.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_036(getWriSvcTgKei_S036Param(inMap));
			}
			// サービス契約内訳の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_11.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_037(getWriSvcTgKei_S037Param(inMap));
			}
			// オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_20.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_038(getWriSvcTgKei_S038Param(inMap));
			}
			// サブオプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_21.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_039(getWriSvcTgKei_S039Param(inMap));
			}
			// 機器提供サービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_30.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_040(getWriSvcTgKei_S040Param(inMap));
			}
			// 請求オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_40.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_041(getWriSvcTgKei_S041Param(inMap));
			}
			else
			{
				// 上記以外の入力情報はエラーとする
				throw new Exception();
			}
		} else
		{
			// 入力情報の[抽出契約区分]ごとに発行SQLを分岐
			// サービス契約の場合
			if(JBSbatKKConst.CHSHT_KEI_DIV_10.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_001(getWriSvcTgKei_S001Param(inMap));
			}
			// サービス契約内訳の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_11.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_008(getWriSvcTgKei_S008Param(inMap));
			}
			// オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_20.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_009(getWriSvcTgKei_S009Param(inMap));
			}
			// サブオプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_21.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_042(getWriSvcTgKei_S042Param(inMap));
			}
			// 機器提供サービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_30.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_010(getWriSvcTgKei_S010Param(inMap));
			}
			// 請求オプションサービス契約の場合
			else if(JBSbatKKConst.CHSHT_KEI_DIV_40.equals(chshtKeiDiv))
			{
				executeKK_T_WRISVC_TG_KEI_KK_SELECT_012(getWriSvcTgKei_S012Param(inMap));
			}
			else
			{
				// 上記以外の入力情報はエラーとする
				throw new Exception();
			}
		}
		
		// ++++++++++ 性能改善対応 変更開始 ++++++++++ //
		// 抽出結果取得
//		JBSbatCommonDBInterface svInfo = new JBSbatCommonDBInterface();
//		svInfo = db_KK_T_WRISVC_TG_KEI.selectNext();
		JBSbatCommonDBInterface svInfo = db_KK_T_WRISVC_TG_KEI.selectNext();
		// ++++++++++ 性能改善対応 変更終了 ++++++++++ //
		
		// 抽出結果が０件の場合、後続処理不要
		if(svInfo == null)
		{
			return null;
		}
		else
		{
			// 割引サービス単価マスタ突合(無効レコードは出力不要)
			svInfo = chkTanka(svInfo);
			if(svInfo == null)
			{
				return null;
			}
		}
		
		// 出力情報格納領域
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
//		// ++++++++++ 性能改善対応 変更開始 ++++++++++ //
//		// 差分情報抽出共通クラスインスタンス生成
//		// ++++++++++ v3.00.00 変更開始 ++++++++++ //
//////		JKKbatSaiInfChtCommon saiInfChtCmn = new JKKbatSaiInfChtCommon();
////		JKKbatSaiInfChtCommon saiInfChtCmn = new JKKbatSaiInfChtCommon(commonItem);
////		// ++++++++++ v3.00.00 変更終了 ++++++++++ //
//		saiInfChtCmn.initialize();
//		// ++++++++++ 性能改善対応 変更終了 ++++++++++ //
		
		// 入力情報
		//▼▼OM-2013-0004001▼▼
		String crSvcKeiNo = "";
		//▲▲OM-2013-0004001▲▲
		String crWrSvTgKeiNo = "";
		String crWrSvTanNo = "";
		
		// 退避情報(１件目処理用に入力情報を初期設定)
		//▼▼OM-2013-0004001▼▼
		String bfSvKeiNo = svInfo.getString(JBSbatKK_T_WRISVC_TG_KEI.SVC_KEI_NO);
		//▲▲OM-2013-0004001▲▲
		String bfWrSvTgKeiNo = svInfo.getString(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_TRGT_KEI_NO);;
		String bfWrSvTanNo = svInfo.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO);
		
		// 初期化
		init();
		
		// ++++++++++ v4.00.01 追加開始 ++++++++++ //
		// 異動タイミングチェックリスト初期化
		initialize();
		// ++++++++++ v4.00.01 追加終了 ++++++++++ //
		
		// 抽出結果全件について出力情報を編集
		while(svInfo != null)
		{
			TARGET_PPLAN_CD = "";
			// 異動タイミングチェック(翌月分の解約回復は連携対象外)
			if(chkIdoTmg(svInfo))
			{
				// ++++++++++ v4.00.01 変更開始 ++++++++++ //
				// チェック結果にて出力対象レコードが存在する場合
				for(int i=0; i < WkIdoTmgSvInfo.size(); i++)
				{
					/** タイミングチェックレコード格納用リスト */
					JBSbatCommonDBInterface WkIdoTmgSvRec = WkIdoTmgSvInfo.get(i);
					
					// 入力情報を取得
//					crWrSvTgKeiNo = svInfo.getString(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_TRGT_KEI_NO);
//					crWrSvTanNo = svInfo.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO);
					//▼▼OM-2013-0004001▼▼
					crSvcKeiNo = WkIdoTmgSvRec.getString(JBSbatKK_T_WRISVC_TG_KEI.SVC_KEI_NO);
					//▲▲OM-2013-0004001▲▲
					crWrSvTgKeiNo = WkIdoTmgSvRec.getString(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_TRGT_KEI_NO);
					crWrSvTanNo = WkIdoTmgSvRec.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO);
					TARGET_PPLAN_CD = svInfo.getString(TARGET_PPLAN);

					// サービス契約番号、割引サービス対象契約番号または割引サービス単価番号に差異がある場合、
					// 他の割引サービスの情報に切り替わった場合には蓄積情報を出力した後、各作業領域を初期化
					// (割引サービス対象契約のみ、検索条件の契約番号から複数の割引情報が抽出されるため)
					//▼▼OM-2013-0004001▼▼
//					if(!crWrSvTgKeiNo.equals(bfWrSvTgKeiNo) || !crWrSvTanNo.equals(bfWrSvTanNo))
					if((!isNullBlunk(crSvcKeiNo) && !crSvcKeiNo.equals(bfSvKeiNo)) || !crWrSvTgKeiNo.equals(bfWrSvTgKeiNo) || !crWrSvTanNo.equals(bfWrSvTanNo))
					//▲▲OM-2013-0004001▲▲
					{
						// 編集情報作成
						saiInfChtCmn.makeEditInf();
						
						// 出力情報編集
						saiInfChtCmn.editSaiInf(outputBean);
						
						// 初期化
						init();
					}
					
					// 割引サービス内訳適用終了年月日
//					String uwChrgEndYmd = svInfo.getString(PLAN_CHRG_ENDYMD);
					String uwChrgEndYmd = WkIdoTmgSvRec.getString(PLAN_CHRG_ENDYMD);
					// 割引課金終了年月日
//					String wrChrgEndYmd = svInfo.getString(W_PLAN_CHRG_ENDYMD);
					String wrChrgEndYmd = WkIdoTmgSvRec.getString(W_PLAN_CHRG_ENDYMD);
					
					// 課金終了日が未設定の場合には処理不要
					if(!isNullBlunk(uwChrgEndYmd) && !isNullBlunk(wrChrgEndYmd))
					{
						// 処理月前月末以前で既に課金終了している内訳に対して適用終了情報を反映
						// ※処理月同月に適用終了となる内訳はまだ適用終了扱いにはしない
						if(strSta.compareTo(uwChrgEndYmd ) > 0)
						{
							// 割引サービスの解約にて課金終了
//							if(!isNullBlunk(svInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD)) && wrChrgEndYmd.compareTo(uwChrgEndYmd) == 0)
							//▼OM-2013-0004764▼
							//if(!isNullBlunk(WkIdoTmgSvRec.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD)) && wrChrgEndYmd.compareTo(uwChrgEndYmd) == 0)
							if(!isNullBlunk(WkIdoTmgSvRec.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD)) && wrChrgEndYmd.compareTo(uwChrgEndYmd) == 0 && !uwAplyEndFlg)
							//▲OM-2013-0004764▲
							{
								// 内訳適用終了フラグはOFF
								uwAplyEndFlg = false;
							}
							// 割引サービスが未解約(＝期間(適用回数)満了による課金終了)
							// 割引サービスの解約以前に課金終了(＝期間(適用回数)満了による課金終了)
							// ※割引の解約や適用終了のタイミングで既に内訳が適用終了済の状態(解約時の更新対象外)
							else
							{
								// 内訳適用終了フラグをON(同一内訳の後続レコードは処理不要)
								uwAplyEndFlg = true;
							}
						}
					}
					
					// 当該割引サービスの基本課金終了日設定 ※[20991231]以外の初期値対応(割引固有)
					// (解約以外の入力情報に設定されている課金終了日にて随時更新)
//					if(isNullBlunk(svInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD)))
					if(isNullBlunk(WkIdoTmgSvRec.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD)))
					{
//						if(!isNullBlunk(svInfo.getString(W_PLAN_CHRG_ENDYMD)))
						if(!isNullBlunk(WkIdoTmgSvRec.getString(W_PLAN_CHRG_ENDYMD)))
						{
//							saiInfChtCmn.setWriSvcBaseChrgEndYmd(svInfo.getString(W_PLAN_CHRG_ENDYMD));
							saiInfChtCmn.setWriSvcBaseChrgEndYmd(WkIdoTmgSvRec.getString(W_PLAN_CHRG_ENDYMD));
						}
						else
						{
							saiInfChtCmn.setWriSvcBaseChrgEndYmd("");
						}
					}
					
					if(frstRecFlg)
					{
						// 集約情報作成(初回レコード)
//						saiInfChtCmn.makeSykInf(getKeyList(svInfo, 0, true), getKeyList(svInfo, 1, true), getKeyList(svInfo, 2, true), true);
						saiInfChtCmn.makeSykInf(getKeyList(WkIdoTmgSvRec, 0, true), getKeyList(WkIdoTmgSvRec, 1, true), getKeyList(WkIdoTmgSvRec, 2, true), true);
						frstRecFlg = false;
					}
					else
					{
						// 内訳適用終了フラグがONの場合には処理不要
						if(!uwAplyEndFlg)
						{
							// 集約情報作成(N件目レコード)
//							saiInfChtCmn.makeSykInf(getKeyList(svInfo, 0, false), getKeyList(svInfo, 1, false), getKeyList(svInfo, 2, false), false);
							saiInfChtCmn.makeSykInf(getKeyList(WkIdoTmgSvRec, 0, false), getKeyList(WkIdoTmgSvRec, 1, false), getKeyList(WkIdoTmgSvRec, 2, false), false);
						}
					}
					
					// 退避情報を更新
					//▼▼OM-2013-0004001▼▼
					bfSvKeiNo = crSvcKeiNo;
					//▲▲OM-2013-0004001▲▲
					bfWrSvTgKeiNo = crWrSvTgKeiNo;
					bfWrSvTanNo = crWrSvTanNo;
				}
				// 異動タイミングチェックリスト初期化
				initialize();
				// ++++++++++ v4.00.01 変更終了 ++++++++++ //
			}
			// 次レコード取得
			svInfo = db_KK_T_WRISVC_TG_KEI.selectNext();
			
			// 割引サービス単価マスタ突合(無効レコードは出力不要)
			svInfo = chkTanka(svInfo);
		}

		// 編集情報作成
		saiInfChtCmn.makeEditInf();
		
		// 出力情報編集
		saiInfChtCmn.editSaiInf(outputBean);
		
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_WRISVC_TG_KEI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/

		// ++++++++++ 性能改善対応 追加開始 ++++++++++ //
		// 差分抽出共通クラスをクローズします。
		saiInfChtCmn.close();
		// ++++++++++ 性能改善対応 追加終了 ++++++++++ //

	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(適用済)
	 *		 	バッチ運用日
	 *			予約適用コード(適用済)
	 *		 	バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．サービス契約番号
	 *			対象契約識別コード(サービス契約)
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_001(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());
		paramList.setValue(param[8].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_001);		
	}

	/**
	 * SQLKEY(KK_SELECT_008)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．サービス契約内訳番号
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_008(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());
//OM-2015-0003094 DEL START
//		paramList.setValue(param[7].toString());
//		paramList.setValue(param[8].toString());
//		paramList.setValue(param[9].toString());
//		paramList.setValue(param[10].toString());
//OM-2015-0003094 DEL END
		//▼OM-2014-0000463▼
//		//▼OM-2013-0004001▼
//		paramList.setValue(param[11].toString());
//		paramList.setValue(param[12].toString());
//		paramList.setValue(param[13].toString());
//		paramList.setValue(param[14].toString());
//		//▲OM-2013-0004001▲
		//▲OM-2014-0000463▲
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_008);
	}

	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．オプションサービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．オプションサービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_009(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
//OM-2015-0003094 DEL START
//		paramList.setValue(param[23].toString());
//		paramList.setValue(param[24].toString());
//		paramList.setValue(param[25].toString());
//		//▼OM-2013-0004001▼
//		paramList.setValue(param[26].toString());
//		paramList.setValue(param[27].toString());
//		paramList.setValue(param[28].toString());
//		paramList.setValue(param[29].toString());
//		paramList.setValue(param[30].toString());
//		paramList.setValue(param[31].toString());
//		paramList.setValue(param[32].toString());
//		paramList.setValue(param[33].toString());
//		//▲OM-2013-0004001▲
//OM-2015-0003094 DEL END
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_009);
	}

	/**
	 * SQLKEY(KK_SELECT_042)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			サブオプションサービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			サブオプションサービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			サブオプションサービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日月末
	 *			バッチ運用日月初
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_042(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
//OM-2015-0003094 DEL START
//		paramList.setValue(param[17].toString());
//		paramList.setValue(param[18].toString());
//		paramList.setValue(param[19].toString());
//		paramList.setValue(param[20].toString());
//		paramList.setValue(param[21].toString());
//		paramList.setValue(param[22].toString());
//		paramList.setValue(param[23].toString());
//		//▼OM-2013-0004001▼
//		paramList.setValue(param[24].toString());
//		paramList.setValue(param[25].toString());
//		paramList.setValue(param[26].toString());
//		paramList.setValue(param[27].toString());
//		//▲OM-2013-0004001▲
//OM-2015-0003094 DEL END
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_042);
	}

	/**
	 * SQLKEY(KK_SELECT_010)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．機器提供サービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．機器提供サービス契約番号
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_010(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
//OM-2015-0003094 DEL START
//		paramList.setValue(param[23].toString());
//		paramList.setValue(param[24].toString());
//		paramList.setValue(param[25].toString());
//		paramList.setValue(param[26].toString());
//		paramList.setValue(param[27].toString());
//		paramList.setValue(param[28].toString());
//		paramList.setValue(param[29].toString());
//		paramList.setValue(param[30].toString());
//		paramList.setValue(param[31].toString());
//		paramList.setValue(param[32].toString());
//		paramList.setValue(param[33].toString());
//OM-2015-0003094 DEL END
		//▼OM-2014-0000463▼
//		paramList.setValue(param[34].toString());
//		paramList.setValue(param[35].toString());
//		paramList.setValue(param[36].toString());
//		paramList.setValue(param[37].toString());
//		paramList.setValue(param[38].toString());
//		paramList.setValue(param[39].toString());
//		paramList.setValue(param[40].toString());
//		paramList.setValue(param[41].toString());
//		paramList.setValue(param[42].toString());
//		paramList.setValue(param[43].toString());
//		paramList.setValue(param[44].toString());
//		paramList.setValue(param[45].toString());
//		paramList.setValue(param[46].toString());
//		paramList.setValue(param[47].toString());
//		paramList.setValue(param[48].toString());
//		paramList.setValue(param[49].toString());
//		paramList.setValue(param[50].toString());
//		paramList.setValue(param[51].toString());
//		paramList.setValue(param[52].toString());
//		paramList.setValue(param[53].toString());
//		paramList.setValue(param[54].toString());
//		paramList.setValue(param[55].toString());
//		paramList.setValue(param[56].toString());
//		paramList.setValue(param[57].toString());
//		//▼OM-2013-0004001▼
//		paramList.setValue(param[58].toString());
//		paramList.setValue(param[59].toString());
//		paramList.setValue(param[60].toString());
//		paramList.setValue(param[61].toString());
//		paramList.setValue(param[62].toString());
//		paramList.setValue(param[63].toString());
//		paramList.setValue(param[64].toString());
//		paramList.setValue(param[65].toString());
//		paramList.setValue(param[66].toString());
//		paramList.setValue(param[67].toString());
//		paramList.setValue(param[68].toString());
//		paramList.setValue(param[69].toString());
//		paramList.setValue(param[70].toString());
//		paramList.setValue(param[71].toString());
//		paramList.setValue(param[72].toString());
//		paramList.setValue(param[73].toString());
//		//▲OM-2013-0004001▲
		//▲OM-2014-0000463▲
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_010);
	}

	/**
	 * SQLKEY(KK_SELECT_012)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *			処理月月末(割引サービス単価．単価適用開始年月日)
	 *			処理月月末(割引サービス単価．単価適用終了年月日)
	 *			割引サービス対象契約．請求オプションサービス契約番号
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @return return
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_012(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());
//OM-2015-0003094 DEL START
//		paramList.setValue(param[6].toString());
//		paramList.setValue(param[7].toString());
//		paramList.setValue(param[8].toString());
//OM-2015-0003094 DEL END
		// ++++++++++ v5.00.00 削除開始 ++++++++++ //
//		paramList.setValue(param[9].toString());
//		paramList.setValue(param[10].toString());
		// ++++++++++ v5.00.00 削除終了 ++++++++++ //
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_012);
	}

	/**
	 * SQLKEY(KK_SELECT_021)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	予約適用コード(予約適用済)
	 *		 	サービス契約番号
	 *		 	対象契約識別コード(サービス契約)
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_021(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());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_021);		
	}

	/**
	 * SQLKEY(KK_SELECT_022)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	サービス契約内訳番号
	 *		 	対象契約識別コード(サービス契約内訳)
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_022(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());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_022);
	}

	/**
	 * SQLKEY(KK_SELECT_023)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(サービス契約)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	オプションサービス契約番号
	 *		 	対象契約識別コード(オプションサービス契約)
	 *		 	バッチ運用日
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(サービス契約内訳)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	オプションサービス契約番号
	 *		 	対象契約識別コード(オプションサービス契約)
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_023(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_023);
	}

	/**
	 * SQLKEY(KK_SELECT_043)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			予約適用コード(予約適用済)
	 *			バッチ運用日月末
	 *			バッチ運用日月初
	 *			予約適用コード(予約適用済)
	 *			親契約識別コード(サービス契約)
	 *			予約適用コード(予約適用済)
	 *			予約適用コード(予約適用済)
	 *			サブオプションサービス契約番号
	 *			対象契約識別コード(サブオプションサービス契約)
	 *			バッチ運用日
	 *			予約適用コード(予約適用済)
	 *			バッチ運用日月末
	 *			バッチ運用日月初
	 *			予約適用コード(予約適用済)
	 *			親契約識別コード(サービス契約内訳)
	 *			予約適用コード(予約適用済)
	 *			予約適用コード(予約適用済)
	 *			予約適用コード(予約適用済)
	 *			サブオプションサービス契約番号
	 *			対象契約識別コード(サブオプションサービス契約)
	 *			バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_043(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_043);
	}

	/**
	 * SQLKEY(KK_SELECT_024)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(サービス契約)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	機器提供サービス契約番号
	 *		 	対象契約識別コード(機器提供サービス契約)
	 *		 	バッチ運用日
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(サービス契約内訳)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	機器提供サービス契約番号
	 *		 	対象契約識別コード(機器提供サービス契約)
	 *		 	バッチ運用日
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(オプションサービス契約)
	 *		 	予約適用コード(予約適用済)
	 *		 	親契約識別コード(サービス契約)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	機器提供サービス契約番号
	 *		 	対象契約識別コード(機器提供サービス契約)
	 *		 	バッチ運用日
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	親契約識別コード(オプションサービス契約)
	 *		 	予約適用コード(予約適用済)
	 *		 	親契約識別コード(サービス契約内訳)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	予約適用コード(予約適用済)
	 *		 	機器提供サービス契約番号
	 *		 	対象契約識別コード(機器提供サービス契約)
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_024(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
		paramList.setValue(param[23].toString());
		paramList.setValue(param[24].toString());
		paramList.setValue(param[25].toString());
		paramList.setValue(param[26].toString());
		paramList.setValue(param[27].toString());
		paramList.setValue(param[28].toString());
		paramList.setValue(param[29].toString());
		paramList.setValue(param[30].toString());
		paramList.setValue(param[31].toString());
		paramList.setValue(param[32].toString());
		paramList.setValue(param[33].toString());
		paramList.setValue(param[34].toString());
		paramList.setValue(param[35].toString());
		paramList.setValue(param[36].toString());
		paramList.setValue(param[37].toString());
		paramList.setValue(param[38].toString());
		paramList.setValue(param[39].toString());
		paramList.setValue(param[40].toString());
		paramList.setValue(param[41].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_024);
	}

	/**
	 * SQLKEY(KK_SELECT_025)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用コード(予約適用済)
	 *		 	バッチ運用日月末
	 *		 	バッチ運用日月初
	 *		 	予約適用コード(予約適用済)
	 *		 	請求オプションサービス契約番号
	 *		 	対象契約識別コード(請求オプションサービス契約)
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @return return
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_025(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());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_025);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * SQLKEY(KK_SELECT_036)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_036(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());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_036);		
	}

	/**
	 * SQLKEY(KK_SELECT_037)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．サービス契約内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_037(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_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_037);
	}

	/**
	 * SQLKEY(KK_SELECT_038)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．オプションサービス契約番号
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．オプションサービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_038(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_038);
	}

	/**
	 * SQLKEY(KK_SELECT_039)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．サブオプションサービス契約番号
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．サブオプションサービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_039(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_039);
	}

	/**
	 * SQLKEY(KK_SELECT_040)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．機器提供サービス契約番号
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．機器提供サービス契約番号
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．機器提供サービス契約番号
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．機器提供サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_040(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());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
		paramList.setValue(param[23].toString());
		paramList.setValue(param[24].toString());
		paramList.setValue(param[25].toString());
		paramList.setValue(param[26].toString());
		paramList.setValue(param[27].toString());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_040);
	}

	/**
	 * SQLKEY(KK_SELECT_041)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	割引サービス対象契約．請求オプションサービス契約番号
	 * </pre>
	 * <p>
	 * @return return
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRISVC_TG_KEI_KK_SELECT_041(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());
		
		// DBアクセスを実行します
		db_KK_T_WRISVC_TG_KEI.selectBySqlDefine(paramList, KK_T_WRISVC_TG_KEI_KK_SELECT_041);
	}

	/**
	 * <dd>メソッド名	：初期編集
	 * <dd>メソッド説明	：1.初期編集を行います。
	 * @param  inMap     入力電文
	 * @param  opInItem  集約情報(編集前)
	 * @param  fstRecFlg 初回レコードフラグ
	 * @return opInItem  集約情報(編集後)
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	public void init() throws Exception
	{
		// 差分情報抽出共通クラス初期化
		saiInfChtCmn.initialize();
		
		// バッチ運用月月初設定
		saiInfChtCmn.setStrSta(strSta);
		
		// 抽出契約区分設定
		saiInfChtCmn.setChshtKeiDiv(JBSbatKKConst.CHSHT_KEI_DIV_51);
		
		// 内訳適用終了フラグ
		uwAplyEndFlg = false;
		
		// 初回レコードフラグ
		frstRecFlg = true;
		
		// 割引サービスの課金終了基準日
		saiInfChtCmn.setWriSvcBaseChrgEndYmd("");
	}

	/**
	 * <dd>メソッド名	：割引サービス単価マスタデータ突合
	 * <dd>メソッド説明	：1.料金コース・料金プランについて、マスタと当該契約の同項目のマッチングを行います。
	 *                    2.合致する場合には、該当するレコードを返却します。
	 *                    3.合致しなかった場合には、NULLを返却します。
	 * @param  svInfo    データ取得情報Map
	 * @return svInfo    データ取得情報Map
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * */
	private JBSbatCommonDBInterface chkTanka(JBSbatCommonDBInterface svInfo) throws Exception
	{
		// 出力要否フラグ
		boolean outFlg = false;
		
		// 割引サービス単価種別コード
		String tankaSbtCd = "";
		
		// 設定階層識別コード
		String setteLvCd = "";
		
		// 対象サービスコード
		String tgSvcCd = "";
		
		for(;svInfo != null; svInfo = db_KK_T_WRISVC_TG_KEI.selectNext())
		{
			// 割引サービス単価種別コード
			tankaSbtCd = svInfo.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_SBT_CD);
			
			// 設定階層識別コード
			setteLvCd = svInfo.getString(JBSbatKK_M_WRIB_SVC_TANKA.SETTE_LV_SKCD);
			
			// 設定階層識別コードが設定なし(0)
			if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_NONE))
			{
				// 出力対象とする(突合不要)
				outFlg = true;
				break;
			}
			// 設定階層識別コードが各種サービス(1)の場合
			if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_SVC))
			{
				// サービス契約
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_SVC_KEI))
				{
					tgSvcCd = TAN_SVC;
				}
				// サービス契約内訳
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_SVC_KEI_UCWK))
				{
					tgSvcCd = TAN_SVC;
				}
				// オプションサービス契約
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_OP_SVC_KEI))
				{
					tgSvcCd = TAN_OP_SVC;
				}
				// 機器提供サービス契約
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_KKTK_SVC_KEI))
				{
					tgSvcCd = TAN_KKTK_SVC;
				}
				// サブオプションサービス契約
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_SBOP_SVC_KEI))
				{
					tgSvcCd = TAN_SBOP_SVC;
				}
				// 請求オプションサービス契約
				if(tankaSbtCd.equals(JBSbatKKConst.TANKA_SBT_SEIOPSVC_KEI))
				{
					tgSvcCd = TAN_SEIOPSVC;
				}
				
				if(!isNullBlunk(svInfo.getString(tgSvcCd)) && !isNullBlunk(svInfo.getString(TARGET_SVC))
						&& svInfo.getString(tgSvcCd).equals(svInfo.getString(TARGET_SVC)))
				{
					outFlg = true;
					break;
				}
			}
			// 設定階層識別コードがeoブランド(2)の場合
			else if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_EO_BRAND))
			{
				// 出力対象とする(突合不要)
				outFlg = true;
				break;
			}
			// 設定階層識別コードが料金グループ(3)
			else if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_PRC_GRP))
			{
				if(!isNullBlunk(svInfo.getString(PRC_GRP_CD)) && !isNullBlunk(svInfo.getString(TAN_PRC_GRP))
						&& svInfo.getString(PRC_GRP_CD).equals(svInfo.getString(TAN_PRC_GRP)) )
				{
					outFlg = true;
					break;
				}
			}
			// 設定階層識別コードが料金コース(4)
			else if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_PCRS))
			{
				if(!isNullBlunk(svInfo.getString(TARGET_PCRS)) && !isNullBlunk(svInfo.getString(TAN_PCRS))
						&& svInfo.getString(TARGET_PCRS).equals(svInfo.getString(TAN_PCRS)) )
				{
					outFlg = true;
					break;
				}
			}
			// 設定階層識別コードが料金プラン(5)
			else if(setteLvCd.equals(JBSbatKKConst.SETTE_SKBT_PPLAN))
			{
				if(!isNullBlunk(svInfo.getString(TARGET_PPLAN)) && !isNullBlunk(svInfo.getString(TAN_PPLAN))
						&& svInfo.getString(TARGET_PPLAN).equals(svInfo.getString(TAN_PPLAN)) )
				{
					outFlg = true;
					break;
				}
			}
			else
			{
				// TAI-2012-0000142 想定外の場合オミット
				// 出力対象とする(突合不要)
				//outFlg = true;
				//break;
			}
		}
		
		if(outFlg)
		{
			return svInfo;
		}
		else
		{
			return null;
		}
	}
	
	/**
	 * 比較・出力対象情報作成処理
	 * @param svInfo
	 * @param wrkDiv
	 * @param frstFlg
	 * @return aryList
	 * @throws Exception
	 */
	private ArrayList<String[]> getKeyList(JBSbatCommonDBInterface svInfo, int wrkDiv, boolean frstFlg) throws Exception
	{
		ArrayList<String[]> aryList = new ArrayList<String[]>();
		
		// 集約キー(ListA)ArrayList(String配列:[0]DBカラム名 [1]出力ファイル項目名 [2]DB実値)
		if(wrkDiv == 0)
		{
			aryList.add(setStrctVal(JBSbatKKIFM019.CHSHT_KEI_DIV,						JBSbatKKIFM488.CHSHT_KEI_DIV,			svInfo));	// 抽出契約区分add TG1-2013-000431
			aryList.add(setStrctVal(JBSbatKKIFM019.KEI_CNT,								JBSbatKKIFM488.KEI_CNT,					svInfo));	// 契約数 add TG1-2013-000431
			aryList.add(setStrctVal(JBSbatKKIFM019.TK_HOSHIKI_KEI_NO,					JBSbatKKIFM488.TK_HOSHIKI_KEI_NO,		svInfo));	// 提供方式契約番号 add TG1-2013-000431
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SEIRI_NO,	 					JBSbatKKIFM488.SEIRI_NO, 				svInfo));	// 整理番号
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SVC_KEI_NO,						JBSbatKKIFM488.SVC_KEI_NO,				svInfo));	// サービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SVC_CD,							JBSbatKKIFM488.SVC_CD,					svInfo));	// サービスコード
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.PRC_GRP_CD,						JBSbatKKIFM488.PRC_GRP_CD,				svInfo));	// 料金グループコード
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.PCRS_CD,							JBSbatKKIFM488.PCRS_CD,					svInfo));	// 料金コースコード
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PPLAN_CD,					JBSbatKKIFM488.PPLAN_CD,				svInfo));	// 料金プランコード
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_TRGT_SVC_CD,		JBSbatKKIFM488.TRGT_KEI_SVC_CD,			svInfo));	// 割引サービス対象サービスコード（対象契約サービスコード）
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.SVC_KEI_UCWK_NO,			JBSbatKKIFM488.SVC_KEI_UCWK_NO,			svInfo));	// サービス契約内訳番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.KKTK_SVC_KEI_NO,			JBSbatKKIFM488.KKTK_SVC_KEI_NO,			svInfo));	// 機器提供サービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.OP_SVC_KEI_NO,				JBSbatKKIFM488.OP_SVC_KEI_NO,			svInfo));	// オプションサービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.SBOP_SVC_KEI_NO,			JBSbatKKIFM488.SBOP_SVC_KEI_NO,			svInfo));	// サブオプションサービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_KEI_NO,			JBSbatKKIFM488.WRIB_SVC_KEI_NO,			svInfo));	// 割引サービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.WRIB_SVC_TRGT_KEI_NO,		JBSbatKKIFM488.WRIB_SVC_TRGT_KEI_NO,	svInfo));	// 割引サービス対象契約番号
			// ++++++++++ v7.00.00 追加開始 ++++++++++ //
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.KKOP_SVC_KEI_NO,			JBSbatKKIFM488.KKOP_SVC_KEI_NO,			svInfo));	// 機器オプションサービス契約番号
			// ++++++++++ v7.00.00 追加終了 ++++++++++ //
			aryList.add(setStrctVal(JBSbatKKIFM488.TARGET_PPLAN,						JBSbatKKIFM488.TARGET_PPLAN,			TARGET_PPLAN_CD));	// 対象料金プランコード
			
			// 割引額算出基準年月日が設定されている場合サービス開始年月日に設定
			if(isNullBlunk(svInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_AMNT_SNST_STDARDYMD)))
			{
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_STA_YMD,				JBSbatKKIFM488.SVC_STAYMD,			svInfo));	// サービス開始年月日
			}
			else
			{
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.WRIB_AMNT_SNST_STDARDYMD,	JBSbatKKIFM488.SVC_STAYMD,			svInfo));	// 割引額算出基準年月日
			}
			
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PLAN_CHRG_STAYMD,			JBSbatKKIFM488.PLAN_STAYMD,				svInfo));	// プラン課金開始年月日
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.IDO_DIV,					JBSbatKKIFM488.IDO_DIV,					svInfo));	// 異動区分
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PLAN_END_SBT_CD,			JBSbatKKIFM488.PLAN_END_SBT_CD,			svInfo));	// プラン終了種別コード
			aryList.add(setStrctVal(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO,		JBSbatKKIFM488.WRIB_SVC_TANKA_NO,		svInfo));	// 割引サービス単価番号
			aryList.add(setStrctVal(JBSbatKK_T_WRISVC_TG_KEI.SEIOPSVC_KEI_NO,			JBSbatKKIFM488.SEIOPSVC_KEI_NO,			svInfo));	// 請求オプションサービス契約番号
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_CHRG_STAYMD,			JBSbatKKIFM488.SVC_CHRG_STAYMD,			svInfo));	// サービス課金開始年月日
//			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PLAN_CHRG_ENDYMD,			JBSbatKKIFM488.PLAN_ENDYMD,				svInfo));	// プラン課金終了年月日
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_CANCEL_YMD,				JBSbatKKIFM488.SVC_CANCEL_YMD,			svInfo));	// サービスキャンセル年月日
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_ENDYMD,					JBSbatKKIFM488.SVC_ENDYMD,				svInfo));	// サービス終了年月日
			aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_CHRG_ENDYMD,			JBSbatKKIFM488.SVC_CHRG_ENDYMD,			svInfo));	// サービス課金終了年月日
			// [プラン課金終了年月日]
			// 内訳適用終了フラグがOFFの場合には課金終了日の編集
			if(!uwAplyEndFlg)
			{
				// 初回レコード(カレント)は編集不要
				if(frstFlg)
				{
					aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PLAN_CHRG_ENDYMD, JBSbatKKIFM488.PLAN_ENDYMD, svInfo));
				}
				else
				{
					// 割引サービス契約内訳のプラン課金終了年月日(カレント)に割引サービスの当該値を設定
					String[] strctStr = new String[3];
					strctStr[0] = JBSbatKK_T_WRIB_SVC_KEI.PLAN_CHRG_ENDYMD;
					strctStr[1] = JBSbatKKIFM488.PLAN_ENDYMD;
					strctStr[2] = svInfo.getString(W_PLAN_CHRG_ENDYMD);
					
					aryList.add(strctStr);
				}
			}
			// 内訳適用終了フラグがONの場合には編集不要
			else
			{
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PLAN_CHRG_ENDYMD, JBSbatKKIFM488.PLAN_ENDYMD, svInfo));
			}
		}
		
		// 解約系項目群(ListB)ArrayList(String配列:[0]DBカラム名 [1]出力ファイル項目名 [2]DB実値)
		else if(wrkDiv == 1)
		{
			// [サービス解約年月日] 内訳適用終了フラグがONの場合には固有編集
			if(uwAplyEndFlg)
			{
				// サービス解約年月日(内訳の適用終了日＋１)
				String[] strctSvcDslYmd = new String[3];
				strctSvcDslYmd[0] = JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD;
				strctSvcDslYmd[1] = JBSbatKKIFM488.SVC_DSL_YMD;
				strctSvcDslYmd[2] = JBSbatDateUtil.adjustDate(svInfo.getString(PLAN_CHRG_ENDYMD), 1);
				
				aryList.add(strctSvcDslYmd);
				
				// 違約金発生コード(未設定)
				String[] strctPnltyHasseiCd = new String[3];
				strctPnltyHasseiCd[0] = JBSbatKK_T_WRIB_SVC_KEI.PNLTY_HASSEI_CD;
				strctPnltyHasseiCd[1] = JBSbatKKIFM488.PNLTY_HASSEI_CD;
				strctPnltyHasseiCd[2] = "";
				
				aryList.add(strctPnltyHasseiCd);
				
				// サービス解約理由(キャンペーン終了)
				String[] strctSvcDlreCd = new String[3];
				strctSvcDlreCd[0] = JBSbatKK_T_WRIB_SVC_KEI.SVC_DLRE_CD;
				strctSvcDlreCd[1] = JBSbatKKIFM488.SVC_DLRE_CD;
				strctSvcDlreCd[2] = JBSbatKKConst.SVC_DLRE_CPN;
				
				aryList.add(strctSvcDlreCd);
				
				// サービス回復年月日(未設定)
				String[] strctKaihk = new String[3];
				strctKaihk[0] = JBSbatKK_T_WRIB_SVC_KEI.KAIHK_YMD;
				strctKaihk[1] = JBSbatKKIFM488.KAIHK_YMD;
				strctKaihk[2] = "";
				
				aryList.add(strctKaihk);
			}
			else
			{
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD,			JBSbatKKIFM488.SVC_DSL_YMD,				svInfo));	// サービス解約年月日
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.PNLTY_HASSEI_CD,		JBSbatKKIFM488.PNLTY_HASSEI_CD,			svInfo));	// 違約金発生コード
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.SVC_DLRE_CD,			JBSbatKKIFM488.SVC_DLRE_CD,				svInfo));	// サービス解約理由
				aryList.add(setStrctVal(JBSbatKK_T_WRIB_SVC_KEI.KAIHK_YMD,				JBSbatKKIFM488.KAIHK_YMD,				svInfo));	// サービス回復年月日
			}
		}
		
		// 休止系項目群(ListB)ArrayList(String配列:[0]DBカラム名 [1]出力ファイル項目名 [2]DB実値)
		else if(wrkDiv == 2)
		{
			//▼OM-2013-0005081▼
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.PAUSE_STP_CD,			JBSbatKKIFM488.PAUSE_STP_CD,			svInfo));	// 休止中断コード
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SVC_PAUSE_YMD,			JBSbatKKIFM488.SVC_PAUSE_YMD,			svInfo));	// サービス休止年月日
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD,	JBSbatKKIFM488.SVC_PAUSE_PRC_TSTAYMD,	svInfo));	// サービス休止料金適用開始年月日
			aryList.add(setStrctVal(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_YMD,		JBSbatKKIFM488.SVC_PAUSE_RLS_YMD,		svInfo));	// サービス休止解除年月日
			//▲OM-2013-0005081▲
		}
		return aryList;
	}

	/**
	 * String型配列に値を設定
	 * [0]：DBカラム名
	 * [1]：出力ファイル項目名
	 * [2]：[0]のカラムのDB値
	 * @param cstName
	 * @param outName
	 * @param svInfo
	 * @return strctStr
	 * @throws Exception
	 */
	private String[] setStrctVal(String cstName, String outName, JBSbatCommonDBInterface svInfo) throws Exception
	{
		String[] strctStr = new String[3];
		
		strctStr[0] = cstName;
		strctStr[1] = outName;
		strctStr[2] = svInfo.getString(cstName);
		
		return strctStr;
	}

	/**
	 * String型配列に値を設定（設定値をJBSbatCommonDBInterfaceからではなくStringの値で直接設定）
	 * [0]：DBカラム名
	 * [1]：出力ファイル項目名
	 * [2]：設定する値
	 * @param cstName
	 * @param outName
	 * @param dbVal
	 * @return
	 * @throws Exception
	 */
	private String[] setStrctVal(String cstName, String outName, String dbVal) throws Exception
	{
		String[] strctStr = new String[3];
		
		strctStr[0] = cstName;
		strctStr[1] = outName;
		strctStr[2] = dbVal;
		
		return strctStr;
	}

	/**
	 * null、空文字を判定
	 * @param str
	 * @return true:値なし／false:値あり
	 */
	private boolean isNullBlunk(String str)
	{
		if (str == null || str.equals(""))
		{
			return true;
		}
		return false;
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_001)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S001Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				JBSbatKKConst.APLY_STAT_RENKEI,
				strDate,
				JBSbatKKConst.APLY_STAT_RENKEI,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				JBSbatKKConst.TG_SKBT_SVC,
				strDate
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_008)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_008)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S008Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		//▼OM-2014-0000463▼
//		//▼OM-2013-0004001▼
////		Object[] ret_Param = {
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				strEnd,
////				strSta,
////				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
////				JBSbatKKConst.TG_SKBT_UTWK,
////				strDate
////		};
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_UTWK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd
//		};
//		//▲OM-2013-0004001▲
//OM-2015-0003094 MOD START
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_UTWK,
//				strDate
//		};
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate
		};
//OM-2015-0003094 MOD END
		//▲OM-2014-0000463▲
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_009)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S009Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		//▼OM-2013-0004001▼
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate
//		};
//OM-2015-0001096 MOD STA
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd
//		};
//OM-2015-0003094 MOD START
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_OPSVC,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				strDate
//		};
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate
		};
//OM-2015-0003094 MOD END
//OM-2015-0001096 MOD END
		//▲OM-2013-0004001▲
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_042)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_042)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S042Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		//▼OM-2013-0004001▼
//		Object[] ret_Param = {
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_SVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_UTWK,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.TG_SKBT_SBOPSVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			strEnd,
//			strSta
//		};
//OM-2015-0001096 MOD STA
//		Object[] ret_Param = {
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_SVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_UTWK,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.TG_SKBT_SBOPSVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			strEnd,
//			strSta,
//			thisMonthEnd,
//			thisMonthEnd,
//			thisMonthEnd,
//			thisMonthEnd
//		};
//OM-2015-0003094 MOD START
//		Object[] ret_Param = {
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_SVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.SKBT_UTWK,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//			JBSbatKKConst.TG_SKBT_SBOPSVC,
//			JBSbatKKConst.APLY_STAT_RENKEI,
//			strDate,
//			strEnd,
//			strSta,
//			strDate,
//			strDate,
//			strDate,
//			strDate
//		};
		Object[] ret_Param = {
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			strDate,
			strDate,
			strDate,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			strDate,
			strDate,
			strDate,
			strDate,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			strDate,
			strEnd,
			strSta,
			strDate,
			strDate,
			strDate,
			strDate
		};
//OM-2015-0003094 MOD END
//OM-2015-0001096 MOD END
		//▲OM-2013-0004001▲
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_010)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_010)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S010Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		//▼OM-2014-0000463▼
//		//▼OM-2013-0004001▼
////		Object[] ret_Param = {
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_SVC,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				strEnd,
////				strSta,
////				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
////				JBSbatKKConst.TG_SKBT_KKTK,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_UTWK,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				strEnd,
////				strSta,
////				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
////				JBSbatKKConst.TG_SKBT_KKTK,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_OPSVC,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_SVC,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				strEnd,
////				strSta,
////				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
////				JBSbatKKConst.TG_SKBT_KKTK,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_OPSVC,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.SKBT_UTWK,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
////				strEnd,
////				strSta,
////				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
////				JBSbatKKConst.TG_SKBT_KKTK,
////				strDate
////		};
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_OPSVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_OPSVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd
//		};
//		//▲OM-2013-0004001▲
//OM-2015-0001096 MOD STA
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd,
//				thisMonthEnd
//		};
//OM-2015-0003094 MOD START
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_KKTK,
//				strDate,
//				strDate,
//				strDate,
//				strDate,
//				strDate
//		};
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate
		};
//OM-2015-0003094 MOD END
//OM-2015-0001096 MOD END
		//▲OM-2014-0000463▲
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_012)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_012)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S012Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
//OM-2015-0003094 MOD START
//		Object[] ret_Param = {
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				// ++++++++++ v5.00.00 削除開始 ++++++++++ //
////				JBSbatKKConst.APLY_STAT_RENKEI,
////				strDate,
//				// ++++++++++ v5.00.00 削除終了 ++++++++++ //
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				strDate,
//				strEnd,
//				strSta,
//				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
//				JBSbatKKConst.TG_SKBT_SEIOP,
//				strDate
//		};
		Object[] ret_Param = {
				strDate,
				strDate,
				strEnd,
				strSta,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate
		};
//OM-2015-0003094 MOD END
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_021)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_021)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S021Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_SVC,
			strDate
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_022)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_022)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S022Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_UTWK,
			strDate
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_023)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_023)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S023Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_SVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_OPSVC,
			strDate,
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_UTWK,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_OPSVC,
			strDate
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_043)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_043)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S043Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.SKBT_SVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_SBOPSVC,
			strDate,
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.SKBT_UTWK,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_SBOPSVC,
			strDate
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_024)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_024)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S024Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_SVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_KKTK,
			strDate,
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_UTWK,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_KKTK,
			strDate,
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_OPSVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.SKBT_SVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_KKTK,
			strDate,
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.SKBT_OPSVC,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.SKBT_UTWK,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_KKTK,
			strDate
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_025)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_025)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S025Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatKKConst.APLY_STAT_RENKEI,
			strEnd,
			strSta,
			JBSbatKKConst.APLY_STAT_RENKEI,
			inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
			JBSbatKKConst.TG_SKBT_SEIOP,
			strDate
		};
		return ret_Param;
	}
	/**
	 * SQLKEY(KK_SELECT_036)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_036)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S036Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_037)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_037)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S037Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_038)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_038)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S038Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_039)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_039)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S039Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_040)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_040)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S040Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO),
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_041)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_041)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWriSvcTgKei_S041Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				strDate,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM023.SVC_KEI_NO)
		};
		return ret_Param;
	}

	/**
	 * 翌月異動情報のオミット判定をします。
	 * @param  svInfo    データ取得情報Map
	 * @return outMap    判定結果(true:有効レコード/false:不要レコード)
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean chkIdoTmg(JBSbatCommonDBInterface svInfo) throws Exception
	{
		// ++++++++++ v4.00.01 追加開始 ++++++++++ //
		// 編集前情報取得領域
		WkIdoTmgSvInfo.add(svInfo);
		// ++++++++++ v4.00.01 追加終了 ++++++++++ //
		
		// ++++++++++ v4.00.01 変更開始 ++++++++++ //
//		boolean rtnFlg = true;
		boolean rtnFlg = false;
		
		// 回復年月日
		String kfkYmd = svInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.KAIHK_YMD);
		// 解約年月日
		String dslYmd = svInfo.getString(JBSbatKK_T_WRIB_SVC_KEI.SVC_DSL_YMD);
		// 課金終了年月日
		String ChrgEndYmd = svInfo.getString(W_PLAN_CHRG_ENDYMD);
		
//		if(null != dslYmd && 0 != dslYmd.length() && dslYmd.compareTo(strEnd) > 0)
		if(null != dslYmd && 0 != dslYmd.length())
		{
			if(ChrgEndYmd.compareTo(strEnd) <= 0)
			{
				rtnFlg = true;
			}
			else
			{
				// 異動タイミングチェックリスト初期化
				initialize();
			}
			
		// 回復年月日が未設定の場合
		}
		else if (!(null != kfkYmd && 0 != kfkYmd.length()))
		{
			rtnFlg = true;
		}
		
//		 if(null != kfkYmd && 0 != kfkYmd.length() && kfkYmd.compareTo(strEnd) > 0)
//		{
//			rtnFlg = false;
//		}
		// ++++++++++ v4.00.01 変更終了 ++++++++++ //
		
		return rtnFlg;
	}
	
	// ++++++++++ v4.00.01 追加開始 ++++++++++ //
	/**
	 * 各変数の初期化を行います。
	 */
	public void initialize() {
		// 退避リスト初期化
		WkIdoTmgSvInfo = new ArrayList<JBSbatCommonDBInterface>();
	}
	// ++++++++++ v4.00.01 追加終了 ++++++++++ //

}
