/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKWatchCtrlReqUseStpRls
*	ソースファイル名	：JBSbatKKWatchCtrlReqUseStpRls.java
*	作成者				：富士通　
*	作成日				：2013年07月05日
*＜機能概要＞
*　視聴制御依頼(利用停止解除)部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00.00	2013/07/05  FJ)中作		新規作成
*	v5.00.01	2013/08/22  FJ)古内		【OM-2013-0000513】性能障害対応
*	v5.00.02	2013/09/25  FJ)柳		【OM-2013-0002548】障害対応
*	v35.00.00	2017/11/10  FJ)森脇		【OM-2017-0001135】障害対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatWCIFI003;
import eo.business.util.table.JBSbatKK_M_OP_SVC;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatKK_T_IDO_RSV;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_RNKI_FILE_CTRL;
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_SVKEI_KAISEN_UW;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKWatchCtrlReqUseStpRls extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(サービス契約回線内訳)*/
	private static final String D_TBL_NAME_KK_T_SVKEI_KAISEN_UW = "KK_T_SVKEI_KAISEN_UW";

	/** テーブル(料金コース)*/
	private static final String D_TBL_NAME_KK_M_PCRS = "KK_M_PCRS";

	/** テーブル(異動予約)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSV = "KK_T_IDO_RSV";

	/** テーブル(オプションサービス)*/
	private static final String D_TBL_NAME_KK_M_OP_SVC = "KK_M_OP_SVC";

	/** テーブル(連携ファイル制御)*/
	private static final String D_TBL_NAME_KK_T_RNKI_FILE_CTRL = "KK_T_RNKI_FILE_CTRL";

	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";

	/** SQL定義キー(KK_SELECT_085)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_271 = "KK_SELECT_271";

	/** SQL定義キー(KK_SELECT_026)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_026 = "KK_SELECT_026";

	/** SQL定義キー(KK_SELECT_027)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_027 = "KK_SELECT_027";

	/** SQL定義キー(KK_SELECT_156)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_156 = "KK_SELECT_156";

	/** SQL定義キー(KK_SELECT_022)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_022 = "KK_SELECT_022";

	/** SQL定義キー(KK_SELECT_030)*/
	private static final String KK_T_SVKEI_KAISEN_UW_KK_SELECT_030 = "KK_SELECT_030";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_M_PCRS_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_035)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_035 = "KK_SELECT_035";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_M_OP_SVC_KK_SELECT_002 = "KK_SELECT_002";

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約回線内訳)*/
	private JBSbatSQLAccess db_KK_T_SVKEI_KAISEN_UW = null;

	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;

	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV = null;

	/** テーブルアクセスクラス(オプションサービス)*/
	private JBSbatSQLAccess db_KK_M_OP_SVC = null;

	/** テーブルアクセスクラス(連携ファイル制御)*/
	private JBSbatSQLAccess db_KK_T_RNKI_FILE_CTRL = null;

	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	// OM-2017-0001135 ADD START
	/** SQL定義キー(WC_SELECT_007)*/
	private static final String WC_T_WC_ORDER_WC_SELECT_007 = "WC_SELECT_007";

	/** テーブル(視聴制御オーダ)*/
	private static final String D_TBL_NAME_WC_T_WC_ORDER = "WC_T_WC_ORDER";

	/** テーブルアクセスクラス(視聴制御オーダ)*/
	private JBSbatSQLAccess db_WC_T_WC_ORDER = null;
	// OM-2017-0001135 ADD END
	
	/** 出力済キー */
	private ArrayList<String> outputKeyList = new ArrayList<String>();
	
	/** 物理バッチID */
	private static final String BUTSURI_BAT_ID = "KKPRC50301";
	
	/** ファイルID */
	private static final String FILE_ID = "KKPRC50301";
	
	/** システム日付を格納 */
	private String sysDateYmd = null;
	
	/** システム日付翌日 */
	private String sysDateYmdAfter1Day = null;
	
	/** システム日付翌々日 */
	private String sysDateYmdAfter2Day = null;
	
	/** 異動予約状態コード(未反映) */
	private static final String IDO_RSV_STAT_CD_MIHANEI = "00";
	
	/** 異動予約状態コード(反映済) */
	private static final String IDO_RSV_STAT_CD_HANEIZUMI = "01";
	
	/** 【制御タイプ】 */
	/** リアル(即時制御) */
	private static final String CTRL_TYPE_REAL = "0";
	
	/** 【依頼区分】 */
	/** サービス開始 */
	private static final String REQDIV_SVC_STA = "5";
	
	/** 休止解除 */
	private static final String REQDIV_PAUSE_RLS = "13";
	
	/** 【サービス契約ステータス】*/
	/** サービス提供中 */
	private static final String SVCKEISTAT_SVCTK = "100";
	
	/** 休止・中断中 */
	private static final String SVCKEISTAT_PAUSE = "210";
	
	/** デジタルティアグループコード6 */
	private static final String WC_TOK_DGTIA_GRP_CD6 = "WC_TOK_DGTIA_GRP_CD6";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_SVKEI_KAISEN_UW = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEI_KAISEN_UW);
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		db_KK_T_IDO_RSV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_M_OP_SVC = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_OP_SVC);
		db_KK_T_RNKI_FILE_CTRL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_RNKI_FILE_CTRL);
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		// OM-2017-0001135 ADD START
		db_WC_T_WC_ORDER = new JBSbatSQLAccess(commonItem, D_TBL_NAME_WC_T_WC_ORDER);
		// OM-2017-0001135 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		super.logPrint.printDebugLog("execute_START");
		
		// システム年月日時分秒
		String sysDate = JBSbatDateUtil.getSystemDateTimeStamp();
		
		// 【連携ファイル制御】より前回処理実行年月日時分秒を取得
		String zenkaiShoriJikoYMD = getZenkaiShorJjikoYMD();
		
		// システム日付は下記懸念があるため使用しない
		// ・再走行での運用日指定で動作しない。
		// ・運用日とシステム日付の関係が崩れた場合に動作しない。
		// システム日付の取得（夜間バッチのため、運用日付＋１日を使用する。）
		sysDateYmd = JBSbatDateUtil.adjustDate(opeDate, 1);
		
		// システム日付翌日
		sysDateYmdAfter1Day = JBSbatDateUtil.adjustDate(sysDateYmd, 1);
		
		// システム日付翌々日
		sysDateYmdAfter2Day = JBSbatDateUtil.adjustDate(sysDateYmd, 2);
		
		// 出力情報
		JBSbatOutputItem outItem = new JBSbatOutputItem();
		
		// C＜サービス契約＞
		ArrayList<JBSbatCommonDBInterface> svckeilist = executeKK_T_SVC_KEI_KK_SELECT_271(new Object[]{
				opeDate,
				opeDate
			});
		
		// サービス契約取得
		for(JBSbatCommonDBInterface svckeiinfo: svckeilist)
		{
			// 更新年月日時分秒
			String updDtm = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.UPD_DTM));
			
			// 前回処理実行年月日より更新年月日が過去日は処理対象外
			if(0 > zenkaiShoriJikoYMD.compareTo(updDtm))
			{
				// サービス契約単位の出力判定(利用停止解除)
				procSvcKei(svckeiinfo, outItem);
			}
			// OM-2017-0001135 ADD START
			else
			{
				// サービス契約番号
				String svcKeiNo = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				
				// 視聴制御オーダの登録有無を確認する
				ArrayList<JBSbatCommonDBInterface> wcorderlist = executeWC_T_WC_ORDER_WC_SELECT_007(new Object[]{
						svcKeiNo,
						updDtm
					});
				
				if (null != wcorderlist && wcorderlist.size() > 0)
				{
					// 利用停止解除済とみなす
				}
				else
				{
					// サービス契約単位の出力判定(利用停止解除)
					procSvcKei(svckeiinfo, outItem);
				}
			}
			// OM-2017-0001135 ADD END
		}
		
		// 【連携ファイル制御】更新処理
		upDateRnkiFileCtrl(sysDate);
		
		super.logPrint.printDebugLog("execute_END");
		
		return outItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_SVKEI_KAISEN_UW.close();
		db_KK_M_PCRS.close();
		db_KK_T_IDO_RSV.close();
		db_KK_M_OP_SVC.close();
		db_KK_T_RNKI_FILE_CTRL.close();
		db_ZM_M_WORK_PARAM_KNRI.close();
		// OM-2017-0001135 ADD START
		db_WC_T_WC_ORDER.close();
		// OM-2017-0001135 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 【連携ファイル制御】より前回処理実行年月日時分秒取得<br>
	 * <p>
	 * @return result 前回処理実行年月日時分秒
	 * @throws Exception 
	 */	
	private String getZenkaiShorJjikoYMD() throws Exception
	{
		String result = "";
		
		JBSbatCommonDBInterface dbMap = executeKK_T_RNKI_FILE_CTRL_PKSELECT(new Object[]{BUTSURI_BAT_ID, FILE_ID});
		
		// 結果あり
		if(null != dbMap)
		{
			// 前回処理実行年月日時分秒
			result = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_RNKI_FILE_CTRL.ZNKI_TRAN_RUN_DTM));
		}
		
		return result;
	}
	
	/**
	 * 連携ファイル制御TBL更新<br>
	 * <p>
	 * @param sysDate システム日付時分秒
	 * @throws Exception 
	 */	
	private void upDateRnkiFileCtrl(String sysDate) throws Exception
	{
		// 検索条件の設定
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		
		// 物理バッチID
		whereMap.setValue(JBSbatKK_T_RNKI_FILE_CTRL.BUTSURI_BAT_ID, BUTSURI_BAT_ID);
		
		// ファイルID
		whereMap.setValue(JBSbatKK_T_RNKI_FILE_CTRL.FILE_ID, FILE_ID);
		
		// 連携ファイル制御排他検索を実施します。
		JBSbatCommonDBInterface outDbMap = db_KK_T_RNKI_FILE_CTRL.selectByPrimaryKeysForUpdateWait(whereMap);
		
		// 検索結果が存在する場合(更新処理の実施)。
		if (null != outDbMap)
		{
			// 連携ファイル制御更新処理を実施します。
			Object[] setParam = new Object[1];
			
			// 前回処理実行年月日時分秒を設定。
			setParam[0] = sysDate;
			
			Object[] whereParam = new Object[2];
			whereParam[0] = BUTSURI_BAT_ID;
			whereParam[1] = FILE_ID;
			
			// 更新処理の実行
			executeKK_T_RNKI_FILE_CTRL_PKUPDATE(setParam, whereParam);
		}
		// 検索結果が存在しない場合(登録処理の実施)。
		else
		{
			// 連携ファイル制御登録処理を実施します。
			Object[] setParam = new Object[17];
			
			// 物理バッチID
			setParam[0]  = BUTSURI_BAT_ID;
			// ファイルID
			setParam[1]  = FILE_ID;
			
			// 処理済ファイル通番
			setParam[2]  = "00000";
			
			// 前回処理実行年月日時分秒
			setParam[3]  = sysDate;
			
			setParam[4]  = sysDate;
			
			setParam[5]  = super.batchUserId;
			
			setParam[6]  = sysDate;
			
			setParam[7]  = super.batchUserId;
			
			setParam[8]  = "";
			
			setParam[9]  = "";
			
			setParam[10] = "0";
			
			setParam[11]  = "";
			
			setParam[12]  = "";
			
			setParam[13]  = "";
			
			setParam[14]  = "";
			
			setParam[15]  = "";
			
			setParam[16]  = "";
			
			// 登録処理の実行
			executeKK_T_RNKI_FILE_CTRL_PKINSERT(setParam);
		
		}
	}
	
	/**
	 * サービス契約単位(利用停止解除)の出力判定処理を行います.
	 * @param svckeiinfo サービス契約情報
	 * @param outItem 出力情報
	 * @throws Exception 
	 */
	private void procSvcKei(JBSbatCommonDBInterface svckeiinfo, JBSbatOutputItem outItem) throws Exception
	{
		// サービス契約番号
		//String svcKeiNo = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		// 予約適用年月日
		String rsvAplyYmd = svckeiinfo.getString(JBSbatKK_T_SVC_KEI.RSV_APLY_YMD);
		
		// サービス停止解除年月日
		String svcStpRlsYmd = svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_YMD);
		
		// カレント（予約適用年月日＜＝運用日）の場合
		if(null != rsvAplyYmd && 0 >= rsvAplyYmd.compareTo(opeDate))
		{
			// 利用停止解除
			// 停止解除年月日が運用日付の場合
			if(null != svcStpRlsYmd && svcStpRlsYmd.equals(opeDate))
			{
				// 編集処理
				editForSvcKei(svckeiinfo, REQDIV_SVC_STA, outItem);
			}
		}
	}
	
	/**
	 * サービス契約単位の編集処理を行います.
	 * @param svckeiinfo サービス契約情報
	 * @param reqDiv 依頼区分
	 * @param outItem 出力情報
	 * @throws Exception 
	 */
	private void editForSvcKei(JBSbatCommonDBInterface svckeiinfo, String reqDiv, JBSbatOutputItem outItem) throws Exception
	{
		// サービス契約番号
		String svcKeiNo = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		// サービス停止解除年月日(サービス契約)
		String svcStpRlsYmd = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_YMD));
		
		// サービス契約ステータス
		String svcKeiStat = JBSbatStringUtil.Rtrim(svckeiinfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT));
		
		super.logPrint.printDebugLog("サービス契約番号--->" + svcKeiNo);
		super.logPrint.printDebugLog("サービス契約ステータス--->" + svcKeiStat);
		
		// サービス契約内訳リスト
		ArrayList<JBSbatCommonDBInterface> svcKeiUcwkList = executeKK_T_SVC_KEI_UCWK_KK_SELECT_026(new Object[]{svcKeiNo, opeDate, opeDate});
		
		// サービス契約内訳
		for(JBSbatCommonDBInterface svcKeiUcwkInfo: svcKeiUcwkList)
		{
			// サービス契約内訳番号
			String svcKeiUcwkNo = JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
			
			// サービス停止解除年月日(サービス契約内訳)
			String svcStpRlsYmdUcwk = JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_YMD));
			
			// サービス契約.サービス停止解除年月日=サービス契約内訳.サービス停止解除年月日
			if(svcStpRlsYmd.equals(svcStpRlsYmdUcwk))
			{
				// 出力情報を生成します。
				JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
				
				// 編集処理を行います。
				outmap = this.edit(svcKeiUcwkNo, reqDiv, "", CTRL_TYPE_REAL, svcKeiStat);
				
				if(null != outmap)
				{
					addOutItem(outItem, outmap, reqDiv);
				}
			}
		}
	}
	
	/**
	 * 編集処理を行います.
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param reqDiv 依頼区分
	 * @param kjakNo 工事案件番号（撤去電文作成時に設定）
	 * @param ctrlType 制御タイプ
	 * @param svcKeiStat サービス契約ステータス
	 * @return JBSbatServiceInterfaceMap 出力情報
	 * @throws Exception 
	 */
	private JBSbatServiceInterfaceMap edit(String svcKeiUcwkNo, String reqDiv, String kjakNo, String ctrlType, String svcKeiStat) throws Exception
	{
		// ＜サービス契約、サービス契約内訳情報の取得＞
		JBSbatCommonDBInterface svcKeiUcwkInfo = executeKK_T_SVC_KEI_UCWK_KK_SELECT_027(new Object[]{opeDate, svcKeiUcwkNo, opeDate});
		
		// ＜機器提供サービス契約の取得＞
		JBSbatCommonDBInterface kktkSvcKeiInfo = executeKK_T_KKTK_SVC_KEI_KK_SELECT_156(new Object[]{svcKeiUcwkNo,opeDate});
		
		// ＜オプションサービス契約の取得＞
		ArrayList<JBSbatCommonDBInterface> opSvcKeiInfoList = executeKK_T_OP_SVC_KEI_KK_SELECT_022(new Object[]{opeDate, 
				                                                                                                svcKeiUcwkNo, 
				                                                                                                opeDate, 
				                                                                                                svcKeiUcwkNo, 
				                                                                                                JBSbatDateUtil.adjustDate(opeDate, 1), 
				                                                                                                JBSbatDateUtil.adjustDate(opeDate, 2), 
				                                                                                                JBSbatDateUtil.adjustDate(opeDate, 3)});
		
		// ＜サービス契約回線内訳の取得＞-------------------------------------------------------------------------
		// サービス契約内訳番号で紐づくサービス契約回線TBLを検索します。
		JBSbatCommonDBInterface svkeiKaisenUw = 
			executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_030(new Object[]{super.opeDate, super.opeDate, svcKeiUcwkNo, super.opeDate});
		
		// 回線場所郵便番号
		String kaisen_place_pcd = "";
		
		// 検索結果が存在する場合
		if (null != svkeiKaisenUw)
		{
			// 回線場所郵便番号の取得
			kaisen_place_pcd = JBSbatStringUtil.Rtrim(svkeiKaisenUw.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_PCD));
		}
		
		// 変更の編集
		return editChange(svcKeiUcwkInfo, kktkSvcKeiInfo, opSvcKeiInfoList, reqDiv,ctrlType, kaisen_place_pcd, svcKeiUcwkNo, svcKeiStat);
		
	}
	
	/**
	 * 変更の出力処理を行います.
	 * @param svcKeiUcwkInfo サービス契約内訳情報
	 * @param kktkSvcKeiInfo 機器提供サービス契約情報
	 * @param opSvcKeiInfo オプションサービス契約情報
	 * @param reqDiv 依頼区分
	 * @param ctrlType 制御タイプ
	 * @param kaisen_place_pcd　回線場所郵便番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param svcKeiStat サービス契約ステータス
	 * @return 出力情報
	 * @throws Exception
	 */
	private JBSbatServiceInterfaceMap editChange(JBSbatCommonDBInterface svcKeiUcwkInfo, 
			JBSbatCommonDBInterface kktkSvcKeiInfo, ArrayList<JBSbatCommonDBInterface> opSvcKeiInfoList, String reqDiv, String ctrlType, 
			String kaisen_place_pcd, String svcKeiUcwkNo, String svcKeiStat) throws Exception 
	{
		// 出力情報編集処理
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// STB機器が取得できた場合
		if(null != kktkSvcKeiInfo)
		{
			// 機器製造番号が設定されている場合のにのみファイル出力を実施。
			if(!"".equals(JBSbatStringUtil.Rtrim(kktkSvcKeiInfo.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO))))
			{
				//サービス契約内訳情報存在チェック
				if(null == svcKeiUcwkInfo){
					// 該当レコード無しのエラー
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
						new String[]{"サービス契約内訳", "サービス契約内訳番号：" + svcKeiUcwkNo});
				}
				
				// ＜デジタルティアグループ情報の取得＞
				ArrayList<String> dtiagCdList = getDtiagCd(svcKeiUcwkInfo, opSvcKeiInfoList, reqDiv, svcKeiStat);
				
				// 依頼処理コード
				outMap.setString(JBSbatWCIFI003.REQ_TRN_CD, "01");
				
				// 制御タイプ---------------------------------------------------------------------------------
				outMap.setString(JBSbatWCIFI003.CTRL_TYPE, ctrlType);
				// 制御タイプ---------------------------------------------------------------------------------
				
				// ＳＹＳＩＤ
				outMap.setString(JBSbatWCIFI003.SYSID, JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				super.logPrint.printDebugLog("サービス契約インフォ_SYSID==>"+svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI.SYSID));
				// サービス契約番号
				outMap.setString(JBSbatWCIFI003.SVC_KEI_NO, JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)));
				// サービス契約内訳番号
				outMap.setString(JBSbatWCIFI003.SVC_KEI_UCWK_NO, JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)));
				// 宅内機器型式コード
				outMap.setString(JBSbatWCIFI003.TAKNKIKI_MODEL_CD, JBSbatStringUtil.Rtrim(kktkSvcKeiInfo.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD)));
				// 機器製造番号
				outMap.setString(JBSbatWCIFI003.KIKI_SEIZO_NO, JBSbatStringUtil.Rtrim(kktkSvcKeiInfo.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO)));
				
				// 機器管理ステータス（暫定"9"を設定）
				outMap.setString(JBSbatWCIFI003.KKTK_SVC_KEI_STAT, "9");
				
				// 郵便番号---------------------------------------------------------------------------------
				outMap.setString(JBSbatWCIFI003.PCD, kaisen_place_pcd);
				// 郵便番号---------------------------------------------------------------------------------
				
				//重複デジタルティアグループコード削除
				ArrayList<String> newDgtList = new ArrayList<String>();
				HashMap<String,String> keyMap = new HashMap<String,String>();
				String dgtGrpCd = "";
				for(int i=0 ; i<dtiagCdList.size(); i++)
				{
					dgtGrpCd = dtiagCdList.get(i);
					if(!keyMap.containsKey(dgtGrpCd)){
						newDgtList.add(dgtGrpCd);
					}
					keyMap.put(dgtGrpCd, dgtGrpCd);
				}
				
				// デジタルティアグループコード
				for(int i = 0; 100 > i; i++)
				{
					String setDgtiaGrpCd = "";
					if(i < newDgtList.size())
					{
						setDgtiaGrpCd = newDgtList.get(i);
					}
					outMap.setString(getFileDgtiaGrpKey(i), setDgtiaGrpCd);
				}
				
				
				return outMap;
			}
		}
		return null;
	}
	
	/**
	 * デジタルティアグループコードを取得します.
	 * @param svcKeiUcwkInfo サービス契約内訳情報
	 * @param opSvcKeiInfo オプションサービス契約情報
	 * @param reqDiv 依頼区分
	 * @param svcKeiStat サービス契約ステータス
	 * @return ArrayList デジタルティアグループコードリスト
	 * @throws Exception
	 */
	private ArrayList<String> getDtiagCd(JBSbatCommonDBInterface svcKeiUcwkInfo, ArrayList<JBSbatCommonDBInterface> opSvcKeiInfoList, String reqDiv, String svcKeiStat) throws Exception
	{
		ArrayList<String> dtiagCdList = new ArrayList<String>();
		
		// ●サービス契約単位
		dtiagCdList.addAll(getDtiagCdForSvcKei(svcKeiUcwkInfo, svcKeiStat));

		String ucwkStat = JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT));
		
		if(!SVCKEISTAT_PAUSE.equals(ucwkStat))
		{
			// ●サービス契約内訳単位
			dtiagCdList.addAll(getDtiagCdForSvcKeiUcwk(svcKeiUcwkInfo));
			
			// ●オプション契約単位
			dtiagCdList.addAll(getDtiagCdForOpKei(opSvcKeiInfoList,reqDiv));
		}
		
		return dtiagCdList;
	}
	
	/**
	 * デジタルティアグループコード(サービス契約単位)を取得します.
	 * @param svcKeiUcwkInfo サービス契約内訳情報
	 * @param svcKeiStat サービス契約ステータス
	 * @return ArrayList デジタルティアグループコードリスト
	 * @throws Exception
	 */
	private ArrayList<String> getDtiagCdForSvcKei(JBSbatCommonDBInterface svcKeiUcwkInfo, String svcKeiStat) throws Exception
	{
		// デジタルティアグループコードリスト
		ArrayList<String> dtiagCdList = new ArrayList<String>();
		
		// サービス契約ステータス="休止・中断中"
		if(SVCKEISTAT_PAUSE.equals(svcKeiStat))
		{
			setDtiagCd(dtiagCdList, getDtialCdForWorkParam(WC_TOK_DGTIA_GRP_CD6));
		}
		
		return dtiagCdList;
	}
	
	/**
	 * デジタルティアグループコード(サービス契約内訳単位)を取得します.
	 * @param svcKeiUcwkInfo サービス契約内訳情報
	 * @return ArrayList デジタルティアグループコードリスト
	 * @throws Exception
	 */
	private ArrayList<String> getDtiagCdForSvcKeiUcwk(JBSbatCommonDBInterface svcKeiUcwkInfo) throws Exception
	{
		// デジタルティアグループコードリスト
		ArrayList<String> dtiagCdList = new ArrayList<String>();
		
		if(null != svcKeiUcwkInfo)
		{
			// 予約適用年月日
			// 料金コースコード
			String pcrsCd = svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD);
			
			setDtiagCd(dtiagCdList, getDtiagCdForPcrsCd(pcrsCd));
			
			// サービス契約内訳番号
			String svcKeiUcwkNo = JBSbatStringUtil.Rtrim(svcKeiUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
			
			// KK_SELECT_035
			// 異動予約検索
			JBSbatCommonDBInterface dbMap = searchIdoRsv035(svcKeiUcwkNo);
			
			if(null != dbMap)
			{
				// 予約適用年月日
				String rsvAplyYmd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
				
				// 異動予約状態コード
				String idoRsvStatCd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_STAT_CD));
				
				// 予約適用年月日がシステム日付翌日orシステム日付翌々日の場合
				if(null != rsvAplyYmd && 
						( rsvAplyYmd.equals(sysDateYmdAfter1Day) && IDO_RSV_STAT_CD_MIHANEI.equals(idoRsvStatCd) )
						|| ( rsvAplyYmd.equals(sysDateYmdAfter2Day) && IDO_RSV_STAT_CD_MIHANEI.equals(idoRsvStatCd))
						|| ( rsvAplyYmd.equals(sysDateYmd) && IDO_RSV_STAT_CD_HANEIZUMI.equals(idoRsvStatCd)))
				{
					
					// 新料金コースコード
					String newPcrsCd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));
					
					setDtiagCd(dtiagCdList, getDtiagCdForPcrsCd(newPcrsCd));
					
				}
			}
		}
		
		return dtiagCdList;
	}	
	
	/**
	 * デジタルティアグループコード(オプションサービス契約単位)を取得します.
	 * @param opSvcKeiInfo オプションサービス契約情報
	 * @param reqDiv 依頼区分
	 * @return ArrayList デジタルティアグループコードリスト
	 * @throws Exception
	 */
	private ArrayList<String> getDtiagCdForOpKei(ArrayList<JBSbatCommonDBInterface> opSvcKeiInfoList,String reqDiv) throws Exception
	{
		// オプションサービス契約情報
		if(null == opSvcKeiInfoList)
		{
			return new ArrayList<String>();
		}
		
		// デジタルティアグループコードリスト
		ArrayList<String> dtiagCdList = new ArrayList<String>();
		
		for (JBSbatCommonDBInterface opSvcKeiInfo : opSvcKeiInfoList)
		{
			// 予約適用年月日
			String rsvAplyYmd = opSvcKeiInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_APLY_YMD);
			// オプションサービスコード
			String opSvcCd = opSvcKeiInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD);
			
			// カレント（予約適用年月日＜＝運用日）の場合
			if(null != rsvAplyYmd && 0 >= rsvAplyYmd.compareTo(opeDate))
			{
				// オプションサービス契約ステータス
				String opSvcKeiStat = opSvcKeiInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_STAT);
				
				// サービス提供中
				if(SVCKEISTAT_SVCTK.equals(opSvcKeiStat) || (REQDIV_PAUSE_RLS.equals(reqDiv) && SVCKEISTAT_PAUSE.equals(opSvcKeiStat)))
				{
					setDtiagCd(dtiagCdList, getDtiagCdForOpSvc(opSvcCd));
				}
			}
			// 予約（予約適用年月日＞運用日）の場合
			else
			{
				// 異動予約.予約適用年月日がシステム日付翌日orシステム日付翌々日の場合
				if(null != rsvAplyYmd && 
						(rsvAplyYmd.equals(sysDateYmd) || rsvAplyYmd.equals(sysDateYmdAfter1Day) || rsvAplyYmd.equals(sysDateYmdAfter2Day)))
				{
					setDtiagCd(dtiagCdList, getDtiagCdForOpSvc(opSvcCd));
				}
			}
		}
		return dtiagCdList;
	}
	
	/**
	 * 業務パラメータ管理から業務パラメータ設定値を取得します。
	 * @param id 業務パラメータID
	 * @return String 業務パラメータ設定値
	 * @throws Exception
	 */
	private String getDtialCdForWorkParam(String id) throws Exception
	{
		String dtiagCd = "";
		JBSbatCommonDBInterface workParam = executeZM_M_WORK_PARAM_KNRI_PKSELECT(new Object[]{id});
		
		if(null != workParam)
		{
			dtiagCd = workParam.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
		}
		return dtiagCd;
	}
	
	/**
	 * 料金コースマスタからデジタルティアグループコードを取得します.
	 * @param pcrsCd 料金コースコード
	 * @return String デジタルティアグループコード
	 * @throws Exception
	 */
	private String getDtiagCdForPcrsCd(String pcrsCd) throws Exception
	{
		super.logPrint.printDebugLog("getDtiagCdForPcrsCd_START_pcrsCd---->"+pcrsCd);
		super.logPrint.printDebugLog("getDtiagCdForPcrsCd_START_opeDate---->"+opeDate);
		
		String dtiagCd = "";
		JBSbatCommonDBInterface pcrsInfo = executeKK_M_PCRS_KK_SELECT_002(new Object[]{pcrsCd, opeDate});
		if(null != pcrsInfo)
		{
			dtiagCd = pcrsInfo.getString(JBSbatKK_M_PCRS.DGTIA_GRP_CD);
		}
		return dtiagCd;
	}
	
	/**
	 * リストにnull以外かつ空文字以外の設定値のみを設定します.
	 * @param dtiagCdList デジタルティアグループコードリスト
	 * @param value デジタルティアグループコード
	 */
	private void setDtiagCd(ArrayList<String> dtiagCdList, String value)
	{
		if(null != value && !"".equals(value))
		{
			dtiagCdList.add(value);
		}
	}
	
	/**
	 * サービス契約内訳番号をキーに異動予約の新料金コースコードを取得します.
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return JBSbatCommonDBInterface 異動予約情報
	 * @throws Exception 
	 */
	private JBSbatCommonDBInterface searchIdoRsv035(String svcKeiUcwkNo) throws Exception
	{
		executeKK_T_IDO_RSV_KK_SELECT_035(new Object[]{svcKeiUcwkNo});
		
		return db_KK_T_IDO_RSV.selectNext();
	}
	
	/**
	 * オプションサービスマスタからデジタルティアグループコードを取得します.
	 * @param opSvcCd オプションサービスコード
	 * @return String デジタルティアグループコード
	 * @throws Exception
	 */
	private String getDtiagCdForOpSvc(String opSvcCd) throws Exception
	{
		super.logPrint.printDebugLog("getDtiagCdForOpSvc_START_opeDate--->"+opeDate);
		super.logPrint.printDebugLog("getDtiagCdForOpSvc_START_opSvcCd--->"+opSvcCd);
		
		String dtiagCd = "";
		JBSbatCommonDBInterface opSvcInfo = executeKK_M_OP_SVC_KK_SELECT_002(new Object[]{opeDate, opSvcCd, opeDate});
		if(null != opSvcInfo)
		{
			dtiagCd = opSvcInfo.getString(JBSbatKK_M_OP_SVC.DGTIA_GRP_CD);
		}
		return dtiagCd;
	}
	
	/**
	 * 出力情報をファイル出力情報に追加します.
	 * @param outItem 出力情報 ファイル出力情報
	 * @param outMap 出力情報
	 * @throws Exception
	 */
	private void addOutItem(JBSbatOutputItem outItem, JBSbatServiceInterfaceMap outMap, String reqDiv) throws Exception
	{
		// 出力キーを取得
		String outputKey = getOutputKey(outMap, reqDiv);
		
		// 出力済でない場合
		if(null != outMap && !outputKeyList.contains(outputKey))
		{
			// 出力情報に追加
			outItem.addOutMapList(outMap);
			
			// 出力済キーに追加
			outputKeyList.add(outputKey);
		}
	}
	
	/**
	 * 出力済キーを取得します。
	 * @param outMap 出力情報
	 * @return 出力済キー
	 * @throws Exception
	 */
	private String getOutputKey(JBSbatServiceInterfaceMap outMap,String reqDiv) throws Exception
	{
			return outMap.getString(JBSbatWCIFI003.REQ_TRN_CD) + outMap.getString(JBSbatWCIFI003.SYSID) + outMap.getString(JBSbatWCIFI003.SVC_KEI_NO) + 
					outMap.getString(JBSbatWCIFI003.SVC_KEI_UCWK_NO) + outMap.getString(JBSbatWCIFI003.TAKNKIKI_MODEL_CD) + outMap.getString(JBSbatWCIFI003.KIKI_SEIZO_NO)+ 
					outMap.getString(JBSbatWCIFI003.KKTK_SVC_KEI_STAT);
	}
	
	/**
	 * 出力情報のデジタルティアグループコードを設定するキーを取得します.
	 * @param setCnt 設定するコードのカウント
	 * @return String デジタルティアグループコード設定キー
	 */
	private String getFileDgtiaGrpKey(int setCnt)
	{
		String dgtiaGrpKey = "";
		switch(setCnt)
		{
			case 0:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD1;
				break;
				
			case 1:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD2;
				break;
				
			case 2:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD3;
				break;
				
			case 3:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD4;
				break;
				
			case 4:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD5;
				break;
				
			case 5:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD6;
				break;
				
			case 6:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD7;
				break;
				
			case 7:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD8;
				break;
				
			case 8:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD9;
				break;
				
			case 9:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD10;
				break;
				
			case 10:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD11;
				break;
				
			case 11:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD12;
				break;
				
			case 12:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD13;
				break;
				
			case 13:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD14;
				break;
				
			case 14:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD15;
				break;
				
			case 15:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD16;
				break;
				
			case 16:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD17;
				break;
				
			case 17:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD18;
				break;
				
			case 18:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD19;
				break;
				
			case 19:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD20;
				break;
				
			case 20:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD21;
				break;
				
			case 21:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD22;
				break;
				
			case 22:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD23;
				break;
				
			case 23:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD24;
				break;
				
			case 24:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD25;
				break;
				
			case 25:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD26;
				break;
				
			case 26:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD27;
				break;
				
			case 27:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD28;
				break;
				
			case 28:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD29;
				break;
				
			case 29:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD30;
				break;
				
			case 30:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD31;
				break;
				
			case 31:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD32;
				break;
				
			case 32:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD33;
				break;
				
			case 33:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD34;
				break;
				
			case 34:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD35;
				break;
				
			case 35:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD36;
				break;
				
			case 36:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD37;
				break;
				
			case 37:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD38;
				break;
				
			case 38:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD39;
				break;
				
			case 39:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD40;
				break;
				
			case 40:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD41;
				break;
				
			case 41:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD42;
				break;
				
			case 42:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD43;
				break;
				
			case 43:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD44;
				break;
				
			case 44:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD45;
				break;
				
			case 45:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD46;
				break;
				
			case 46:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD47;
				break;
				
			case 47:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD48;
				break;
				
			case 48:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD49;
				break;
				
			case 49:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD50;
				break;
				
			case 50:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD51;
				break;
				
			case 51:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD52;
				break;
				
			case 52:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD53;
				break;
				
			case 53:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD54;
				break;
				
			case 54:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD55;
				break;
				
			case 55:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD56;
				break;
				
			case 56:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD57;
				break;
				
			case 57:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD58;
				break;
				
			case 58:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD59;
				break;
				
			case 59:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD60;
				break;
				
			case 60:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD61;
				break;
				
			case 61:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD62;
				break;
				
			case 62:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD63;
				break;
				
			case 63:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD64;
				break;
				
			case 64:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD65;
				break;
				
			case 65:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD66;
				break;
				
			case 66:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD67;
				break;
				
			case 67:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD68;
				break;
				
			case 68:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD69;
				break;
				
			case 69:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD70;
				break;
				
			case 70:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD71;
				break;
				
			case 71:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD72;
				break;
				
			case 72:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD73;
				break;
				
			case 73:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD74;
				break;
				
			case 74:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD75;
				break;
				
			case 75:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD76;
				break;
				
			case 76:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD77;
				break;
				
			case 77:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD78;
				break;
				
			case 78:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD79;
				break;
				
			case 79:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD80;
				break;
				
			case 80:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD81;
				break;
				
			case 81:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD82;
				break;
				
			case 82:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD83;
				break;
				
			case 83:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD84;
				break;
				
			case 84:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD85;
				break;
				
			case 85:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD86;
				break;
				
			case 86:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD87;
				break;
				
			case 87:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD88;
				break;
				
			case 88:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD89;
				break;
				
			case 89:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD90;
				break;
				
			case 90:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD91;
				break;
				
			case 91:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD92;
				break;
				
			case 92:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD93;
				break;
				
			case 93:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD94;
				break;
				
			case 94:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD95;
				break;
				
			case 95:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD96;
				break;
				
			case 96:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD97;
				break;
				
			case 97:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD98;
				break;
				
			case 98:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD99;
				break;
				
			case 99:
				dgtiaGrpKey = JBSbatWCIFI003.DGTIA_GRP_CD100;
				break;
			default:
		}
		return dgtiaGrpKey;
	}
	
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_085)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 *		 	サービス休止年月日
	 *		 	サービス解約年月日
	 *		 	サービス休止解除年月日
	 *		 	サービス休止解除年月日
	 *		 	サービス停止年月日
	 *		 	サービス停止解除年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<JBSbatCommonDBInterface> executeKK_T_SVC_KEI_KK_SELECT_271(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_271);
		
		ArrayList<JBSbatCommonDBInterface> dbInfoList = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface dbInfo = db_KK_T_SVC_KEI.selectNext();
		
		while (null != dbInfo) {
			dbInfoList.add(dbInfo);
			dbInfo = db_KK_T_SVC_KEI.selectNext();
		}
		return dbInfoList;
	}
	
	/**
	 * SQLKEY(KK_SELECT_026)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<JBSbatCommonDBInterface> executeKK_T_SVC_KEI_UCWK_KK_SELECT_026(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_026);
		
		ArrayList<JBSbatCommonDBInterface> dbInfoList = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface dbInfo = db_KK_T_SVC_KEI_UCWK.selectNext();
		
		while (null != dbInfo) {
			dbInfoList.add(dbInfo);
			dbInfo = db_KK_T_SVC_KEI_UCWK.selectNext();
		}
		return dbInfoList;
		
	}
	
	/**
	 * SQLKEY(KK_SELECT_027)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_UCWK_KK_SELECT_027(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_027);
		
		return db_KK_T_SVC_KEI_UCWK.selectNext();
	}
	
	/**
	 * SQLKEY(KK_SELECT_156)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約定期用年月日
	 *		 	プラン開始日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_KKTK_SVC_KEI_KK_SELECT_156(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		
		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_156);
		
		return db_KK_T_KKTK_SVC_KEI.selectNext();	
		
	}
	
	/**
	 * 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 ArrayList<JBSbatCommonDBInterface> executeKK_T_OP_SVC_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());
		
		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_022);
		
		ArrayList<JBSbatCommonDBInterface> dbInfoList = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface dbInfo = db_KK_T_OP_SVC_KEI.selectNext();
		
		while (null != dbInfo) {
			dbInfoList.add(dbInfo);
			dbInfo = db_KK_T_OP_SVC_KEI.selectNext();
		}
		return dbInfoList;	
		
	}
	
	/**
	 * SQLKEY(KK_SELECT_030)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	バッチ運用日
	 *		 	バッチ運用日
	 *		 	サービス契約内訳番号
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_030(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());
		
		// DBアクセスを実行します
		db_KK_T_SVKEI_KAISEN_UW.selectBySqlDefine(paramList, KK_T_SVKEI_KAISEN_UW_KK_SELECT_030);
		
		return db_KK_T_SVKEI_KAISEN_UW.selectNext();
	}	
	
	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金コースコード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_M_PCRS_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		
		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_KK_SELECT_002);
		
		return db_KK_M_PCRS.selectNext();
	}
	
	/**
	 * SQLKEY(KK_SELECT_035)で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_IDO_RSV_KK_SELECT_035(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		
		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_035);
	}
	
	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	オプションサービスコード
	 *		 	バッチ運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_M_OP_SVC_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		
		// DBアクセスを実行します
		db_KK_M_OP_SVC.selectBySqlDefine(paramList, KK_M_OP_SVC_KK_SELECT_002);
		
		return db_KK_M_OP_SVC.selectNext();
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	BUTSURI_BAT_ID
	 *		 	FILE_ID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_RNKI_FILE_CTRL_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("BUTSURI_BAT_ID", whereParam[0]);
		whereMap.setValue("FILE_ID", whereParam[1]);
		
		// DBアクセスを実行します
		return db_KK_T_RNKI_FILE_CTRL.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	BUTSURI_BAT_ID
	 *		 	FILE_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_RNKI_FILE_CTRL_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("ZNKI_TRAN_RUN_DTM", setParam[0]);
		
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("BUTSURI_BAT_ID", whereParam[0]);
		whereMap.setValue("FILE_ID", whereParam[1]);
		
		// DBアクセスを実行します
		db_KK_T_RNKI_FILE_CTRL.updateByPrimaryKeys(whereMap, setMap);
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	物理バッチＩＤ				BUTSURI_BAT_ID
	 *		 	ファイルＩＤ				FILE_ID
	 *		 	処理済ファイル通番				TRAN_ZUMI_FILE_SEQ
	 *		 	前回処理実行年月日時分秒				ZNKI_TRAN_RUN_DTM
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_RNKI_FILE_CTRL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("BUTSURI_BAT_ID", setParam[0]);
		setMap.setValue("FILE_ID", setParam[1]);
		setMap.setValue("TRAN_ZUMI_FILE_SEQ", setParam[2]);
		setMap.setValue("ZNKI_TRAN_RUN_DTM", setParam[3]);
		setMap.setValue("ADD_DTM", setParam[4]);
		setMap.setValue("ADD_OPEACNT", setParam[5]);
		setMap.setValue("UPD_DTM", setParam[6]);
		setMap.setValue("UPD_OPEACNT", setParam[7]);
		setMap.setValue("DEL_DTM", setParam[8]);
		setMap.setValue("DEL_OPEACNT", setParam[9]);
		setMap.setValue("MK_FLG", setParam[10]);
		setMap.setValue("ADD_UNYO_YMD", setParam[11]);
		setMap.setValue("ADD_TRN_ID", setParam[12]);
		setMap.setValue("UPD_UNYO_YMD", setParam[13]);
		setMap.setValue("UPD_TRN_ID", setParam[14]);
		setMap.setValue("DEL_UNYO_YMD", setParam[15]);
		setMap.setValue("DEL_TRN_ID", setParam[16]);
		
		// DBアクセスを実行します
		db_KK_T_RNKI_FILE_CTRL.insertByPrimaryKeys(setMap);
	}	
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	WORK_PARAM_ID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeZM_M_WORK_PARAM_KNRI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("WORK_PARAM_ID", whereParam[0]);
		
		// DBアクセスを実行します
		return db_ZM_M_WORK_PARAM_KNRI.selectByPrimaryKeys(whereMap);
	}	
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	// OM-2017-0001135 ADD START
	/**
	 * SQLKEY(KK_SELECT_085)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 *		 	サービス休止年月日
	 *		 	サービス解約年月日
	 *		 	サービス休止解除年月日
	 *		 	サービス休止解除年月日
	 *		 	サービス停止年月日
	 *		 	サービス停止解除年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<JBSbatCommonDBInterface> executeWC_T_WC_ORDER_WC_SELECT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		
		// DBアクセスを実行します
		db_WC_T_WC_ORDER.selectBySqlDefine(paramList, WC_T_WC_ORDER_WC_SELECT_007);
		
		ArrayList<JBSbatCommonDBInterface> dbInfoList = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface dbInfo = db_WC_T_WC_ORDER.selectNext();
		
		while (null != dbInfo) {
			dbInfoList.add(dbInfo);
			dbInfo = db_WC_T_WC_ORDER.selectNext();
		}
		return dbInfoList;
	}
	// OM-2017-0001135 ADD END
}
