/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKFixDelData
*	ソースファイル名	：JBSbatKKFixDelData.java
*	作成者				：富士通　
*	作成日				：2012年09月19日
*＜機能概要＞
*　削除対象確定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/19   富士通		新規作成
*	v11.00.00	2014/10/30   富士通		IT1-2014-0000355 削除不可チェックからALL0の請求契約・SYSIDを除外
*	v28.00.00	2017/01/25  FJ)藤本		【OM-2016-0001817】請求契約との関連チェックによりお客様とサービス契約が削除されない
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;
import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.table.JBSbatKK_T_KOJIN_INFO_DEL;
import eo.business.util.table.JBSbatKU_T_SVKEI_KOJIAK;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatDateUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKFixDelData extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(個人情報削除)*/
	private static final String D_TBL_NAME_KK_T_KOJIN_INFO_DEL = "KK_T_KOJIN_INFO_DEL";

	/** テーブル(サービス契約＿工事案件)*/
	private static final String D_TBL_NAME_KU_T_SVKEI_KOJIAK = "KU_T_SVKEI_KOJIAK";

	/** テーブル(課金先)*/
	private static final String D_TBL_NAME_KK_T_KAKINS = "KK_T_KAKINS";

	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(請求契約)*/
	private static final String D_TBL_NAME_KK_T_SEIKY_KEI = "KK_T_SEIKY_KEI";

	/** SQL定義キー(KK_UPDATE_002)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_UPDATE_002 = "KK_UPDATE_002";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_007 = "KK_SELECT_007";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KU_T_SVKEI_KOJIAK_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_010)*/
	private static final String KU_T_SVKEI_KOJIAK_KK_SELECT_010 = "KK_SELECT_010";

	// OM-2016-0001817 DEL START
//	/** SQL定義キー(KK_SELECT_015)*/
//	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_015 = "KK_SELECT_015";
	// OM-2016-0001817 DEL END

	/** SQL定義キー(KK_UPDATE_003)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_UPDATE_003 = "KK_UPDATE_003";

	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_008 = "KK_SELECT_008";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_010)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_010 = "KK_SELECT_010";

	/** SQL定義キー(KK_SELECT_017)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_017 = "KK_SELECT_017";

	/** SQL定義キー(KK_SELECT_011)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_011 = "KK_SELECT_011";

	/** SQL定義キー(KK_SELECT_035)*/
	private static final String KK_T_KAKINS_KK_SELECT_035 = "KK_SELECT_035";

	/** SQL定義キー(KK_SELECT_012)*/
	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_012 = "KK_SELECT_012";

	/** SQL定義キー(KK_SELECT_209)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_209 = "KK_SELECT_209";

	// OM-2016-0001817 DEL START
//	/** SQL定義キー(KK_SELECT_016)*/
//	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_016 = "KK_SELECT_016";
//
//	/** SQL定義キー(KK_SELECT_052)*/
//	private static final String KK_T_SEIKY_KEI_KK_SELECT_052 = "KK_SELECT_052";
//
//	/** SQL定義キー(KK_DELETE_001)*/
//	private static final String KK_T_KOJIN_INFO_DEL_KK_DELETE_001 = "KK_DELETE_001";
//
//	/** SQL定義キー(KK_SELECT_018)*/
//	private static final String KK_T_KOJIN_INFO_DEL_KK_SELECT_018 = "KK_SELECT_018";
	// OM-2016-0001817 DEL END

	/** テーブルアクセスクラス(個人情報削除)*/
	private JBSbatSQLAccess db_KK_T_KOJIN_INFO_DEL = null;

	/** テーブルアクセスクラス(サービス契約＿工事案件)*/
	private JBSbatSQLAccess db_KU_T_SVKEI_KOJIAK = null;

	/** テーブルアクセスクラス(課金先)*/
	private JBSbatSQLAccess db_KK_T_KAKINS = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(請求契約)*/
	private JBSbatSQLAccess db_KK_T_SEIKY_KEI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 個人情報削除ステータス*/
	/** 削除実施中*/
	private static final String DEL_OPERATION = "030";
	/** 削除未実施*/
	private static final String DIS_DEL_OPERATION = "010";
	
	/** 削除判定コード*/
	/** 削除可*/
	private static final String DEL_JDG_CD = "00";
	/** 削除不可*/
	private static final String DIS_DEL_JDG_CD = "99";
	
	/** ALL0 */
	private static final String ALL0 = "0000000000";
	
	/** カレントデータ識別コード(カレント)*/
	private static final String CRNT_DATA_CD = "1";
	
	/** フラグ (1:請求契約番号,2:SYSID)*/
	private int flg = 0;
	
	/** フラグ用定数(1:請求契約番号,2:SYSID)*/
	/** 請求契約番号*/
	private static final int SEIKY = 1;
	/** SYSID*/
	private static final int SYS = 2;
	
	/** DB更新件数(削除未実施) */
	private int intUpdateCnt_Mijissi = 0;
	
	/** DB更新件数(削除不可) */
	private int intUpdateCnt_Fuka= 0;
	
	/** DB削除件数(請求契約番号・SYSID初期化) */
	private int intDelCnt_Init = 0;
	
	/** DB削除件数(サービス契約番号削除) */
	private int intDelCnt_Svc = 0;
	
	/** DB登録件数 */
	private int intInsertCnt = 0;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_KOJIN_INFO_DEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KOJIN_INFO_DEL);
		db_KU_T_SVKEI_KOJIAK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_SVKEI_KOJIAK);
		db_KK_T_KAKINS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_KEI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");
		
		ArrayList<String[]> disDelData = new ArrayList<String[]>();
		ArrayList<String[]> lstDelDataWk = new ArrayList<String[]>();
		
		// ◇前回削除実施時に、削除されなかったデータを初期状態に戻す。
		this.updateDisDelData();
		
		// ◇削除不可データに関連する削除対象データをチェックする。
		// 個人情報削除より削除不可データを取得する。
		disDelData = getDisDelData();
		
		// 削除不可データのサービス契約が削除対象データに存在するかをチェックする
		this.chkDisDelData(disDelData);
		
		// ◇削除対象外データ(個人削除判定ワークに存在しない情報)に関連する削除対象データをチェックする
		// ■請求契約番号に関する処理
		flg = SEIKY;
		lstDelDataWk = getDelData(flg);
		
		// 請求番号に紐づくデータの初期化判定処理
		this.chkDisSeikyData(lstDelDataWk);
		
		// ■SYSIDに関する処理
		flg = SYS;
		lstDelDataWk = getDelData(flg);
		
		// SYSIDに紐づくデータの初期化判定処理
		this.chkDisSysData(lstDelDataWk);
		
		// OM-2016-0001817 DEL START
//		// ◇削除対象データにSYSID、サービス契約が削除対象となり、請求契約が初期化されているデータをチェックする
//		this.chkFormatSeky();
		// OM-2016-0001817 DEL END
		
		super.logPrint.printDebugLog("execute_END");
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/

		//DB更新件数(削除未実施)ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0800AI", new String[]{"個人情報削除(削除未実施)", Integer.toString(intUpdateCnt_Mijissi)});
		//DB更新件数(削除不可)ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0800AI", new String[]{"個人情報削除(削除不可)", Integer.toString(intUpdateCnt_Fuka)});
		//DB削除件数(請求契約番号・SYSID初期化)ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0780AI", new String[]{"個人情報削除(請求契約番号・SYSID初期化)", Integer.toString(intDelCnt_Init)});
		//DB削除件数(サービス契約番号削除)ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0780AI", new String[]{"個人情報削除(サービス契約番号削除)", Integer.toString(intDelCnt_Svc)});
		//DB登録件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0790AI", new String[]{"個人情報削除", Integer.toString(intInsertCnt)});
		
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_KOJIN_INFO_DEL.close();
		db_KU_T_SVKEI_KOJIAK.close();
		db_KK_T_KAKINS.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_SEIKY_KEI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_UPDATE_002)で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_KOJIN_INFO_DEL_KK_UPDATE_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intUpdateCnt_Mijissi += db_KK_T_KOJIN_INFO_DEL.executeBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_UPDATE_002);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * SQLKEY(KK_SELECT_006)で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_KOJIN_INFO_DEL_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_SELECT_007)で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_KOJIN_INFO_DEL_KK_SELECT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_007);
	}

	/**
	 * 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 executeKU_T_SVKEI_KOJIAK_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KU_T_SVKEI_KOJIAK.selectBySqlDefine(paramList, KU_T_SVKEI_KOJIAK_KK_SELECT_009);
	}

	/**
	 * 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 executeKU_T_SVKEI_KOJIAK_KK_SELECT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KU_T_SVKEI_KOJIAK.selectBySqlDefine(paramList, KU_T_SVKEI_KOJIAK_KK_SELECT_010);
	}

	// OM-2016-0001817 DEL START
//	/**
//	 * SQLKEY(KK_SELECT_015)で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_KOJIN_INFO_DEL_KK_SELECT_015(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//		paramList.setValue(param[1].toString());
//
//		// DBアクセスを実行します
//		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_015);
//	}
	// OM-2016-0001817 DEL END

	/**
	 * SQLKEY(KK_UPDATE_003)で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_KOJIN_INFO_DEL_KK_UPDATE_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intUpdateCnt_Fuka += db_KK_T_KOJIN_INFO_DEL.executeBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_UPDATE_003);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * 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_KOJIN_INFO_DEL_KK_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_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_KOJIN_INFO_DEL_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_009);
	}

	/**
	 * 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_KOJIN_INFO_DEL_KK_SELECT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_010);
	}

	/**
	 * SQLKEY(KK_SELECT_017)で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_KOJIN_INFO_DEL_KK_SELECT_017(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_017);
	}

	/**
	 * SQLKEY(KK_SELECT_011)で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_KOJIN_INFO_DEL_KK_SELECT_011(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_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_011);
	}

	/**
	 * 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_KAKINS_KK_SELECT_035(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_KAKINS.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_035);
	}

	/**
	 * SQLKEY(KK_SELECT_012)で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_KOJIN_INFO_DEL_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());

		// DBアクセスを実行します
		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_012);
	}

	/**
	 * SQLKEY(KK_SELECT_209)で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_SVC_KEI_KK_SELECT_209(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_209);
	}

	// OM-2016-0001817 DEL START
//	/**
//	 * SQLKEY(KK_SELECT_016)で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_KOJIN_INFO_DEL_KK_SELECT_016(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_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_016);
//	}
//
//	/**
//	 * SQLKEY(KK_SELECT_052)で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_SEIKY_KEI_KK_SELECT_052(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_SEIKY_KEI.selectBySqlDefine(paramList, KK_T_SEIKY_KEI_KK_SELECT_052);
//	}
//
//	/**
//	 * SQLKEY(KK_DELETE_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_KOJIN_INFO_DEL_KK_DELETE_001(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//
//		// DBアクセスを実行します
//		//▼▼▼件数取得のため自働生成部を変更▼▼▼
//		intDelCnt_Svc += db_KK_T_KOJIN_INFO_DEL.executeBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_DELETE_001);
//		//▲▲▲件数取得のため自働生成部を変更▲▲▲
//	}
//
//	/**
//	 * SQLKEY(KK_SELECT_018)でDBアクセスを行います。<br>
//	 * <p>
//	 * <b>処理フロー</b><br>
//	 * <pre>
//	 * 1.引数でバイント変数を設定します。<br>
//	 *
//	 * 2.DBアクセスを実行します。<br>
//	 * 
//	 * 3.メソッドの呼び出し方です。<br>
//	 *		引数:
//	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
//	 *		 	SYSID
//	 * </pre>
//	 * <p>
//	 * @param param バイント変数の値配列。
//	 * @throws Exception 業務サービス内で発生した例外全般。
//	 */
//	private void executeKK_T_KOJIN_INFO_DEL_KK_SELECT_018(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//
//		// DBアクセスを実行します
//		db_KK_T_KOJIN_INFO_DEL.selectBySqlDefine(paramList, KK_T_KOJIN_INFO_DEL_KK_SELECT_018);
//	}
	// OM-2016-0001817 DEL END

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	SEIKY_KEI_NO
	 *		 	SYSID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_KOJIN_INFO_DEL_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("SEIKY_KEI_NO", whereParam[1]);
		whereMap.setValue("SYSID", whereParam[2]);

		// DBアクセスを実行します
		return db_KK_T_KOJIN_INFO_DEL.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(ＰＫ　削除)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	SEIKY_KEI_NO
	 *		 	SYSID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KOJIN_INFO_DEL_PKDELETE(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("SEIKY_KEI_NO", whereParam[1]);
		whereMap.setValue("SYSID", whereParam[2]);

		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intDelCnt_Init += db_KK_T_KOJIN_INFO_DEL.deleteByPrimaryKeys(whereMap);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	個人情報削除ステータス				KOJIN_INFO_DEL_STAT
	 *		 	サービスコード				SVC_CD
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	新規申込時申込書番号				NEW_MSKM_JI_MSKMSHO_NO
	 *		 	ＩＳＰ認証ＩＤ				ISP_NINSHO_ID
	 *		 	サービス解約起算年月日				SVC_DSL_KISAN_YMD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	削除処理対象抽出年月日				DEL_TRN_TG_CHSHT_YMD
	 *		 	個人情報削除理由コード				KOJIN_INFO_DEL_RSN_CD
	 *		 	削除判定コード				DEL_JDG_CD
	 *		 	削除実施年月日				DEL_JSSI_YMD
	 *		 	削除実績ファイル出力年月日				DEL_JSK_FILE_OPUT_YMD
	 *		 	契約最終更新年月日時分秒				KEI_LAST_UPD_DTM
	 *		 	カレントデータ識別コード				CRNT_DATA_SKBT_CD
	 *		 	登録年月日時分秒				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_KOJIN_INFO_DEL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SVC_KEI_NO", setParam[0]);
		setMap.setValue("SEIKY_KEI_NO", setParam[1]);
		setMap.setValue("SYSID", setParam[2]);
		setMap.setValue("KOJIN_INFO_DEL_STAT", setParam[3]);
		setMap.setValue("SVC_CD", setParam[4]);
		setMap.setValue("PRC_GRP_CD", setParam[5]);
		setMap.setValue("PCRS_CD", setParam[6]);
		setMap.setValue("NEW_MSKM_JI_MSKMSHO_NO", setParam[7]);
		setMap.setValue("ISP_NINSHO_ID", setParam[8]);
		setMap.setValue("SVC_DSL_KISAN_YMD", setParam[9]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[10]);
		setMap.setValue("SVC_DSL_YMD", setParam[11]);
		setMap.setValue("SVC_ENDYMD", setParam[12]);
		setMap.setValue("DEL_TRN_TG_CHSHT_YMD", setParam[13]);
		setMap.setValue("KOJIN_INFO_DEL_RSN_CD", setParam[14]);
		setMap.setValue("DEL_JDG_CD", setParam[15]);
		setMap.setValue("DEL_JSSI_YMD", setParam[16]);
		setMap.setValue("DEL_JSK_FILE_OPUT_YMD", setParam[17]);
		setMap.setValue("KEI_LAST_UPD_DTM", setParam[18]);
		setMap.setValue("CRNT_DATA_SKBT_CD", setParam[19]);
		setMap.setValue("ADD_DTM", setParam[20]);
		setMap.setValue("ADD_OPEACNT", setParam[21]);
		setMap.setValue("UPD_DTM", setParam[22]);
		setMap.setValue("UPD_OPEACNT", setParam[23]);
		setMap.setValue("DEL_DTM", setParam[24]);
		setMap.setValue("DEL_OPEACNT", setParam[25]);
		setMap.setValue("MK_FLG", setParam[26]);
		setMap.setValue("ADD_UNYO_YMD", setParam[27]);
		setMap.setValue("ADD_TRN_ID", setParam[28]);
		setMap.setValue("UPD_UNYO_YMD", setParam[29]);
		setMap.setValue("UPD_TRN_ID", setParam[30]);
		setMap.setValue("DEL_UNYO_YMD", setParam[31]);
		setMap.setValue("DEL_TRN_ID", setParam[32]);
	
		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intInsertCnt += db_KK_T_KOJIN_INFO_DEL.insertByPrimaryKeys(setMap);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 前回削除時に「個人情報削除ワーク」へ抽出後に削除されなかったデータを初期状態に戻す<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateDisDelData() throws Exception
	{
		String[] param = new String[7];
		
		// 個人情報削除ステータス(更新データ)
		param[0] = DIS_DEL_OPERATION;
		// 更新年月日時分秒
		param[1] = JBSbatDateUtil.getSystemDateTime();
		// 更新オペレータアカウント
		param[2] = super.batchUserId;
		// 更新運用年月日
		param[3] = super.opeDate;
		// 更新処理ＩＤ
		param[4] = super.jobid;
		// 個人情報削除ステータス
		param[5] = DEL_OPERATION;
		// 削除判定コード
		param[6] = DEL_JDG_CD;
		
		// 個人情報削除データ更新処理実施
		executeKK_T_KOJIN_INFO_DEL_KK_UPDATE_002(param);
		
	}
	
	/**
	 * 削除不可データのサービス契約番号に紐づいている、削除対象データを更新(削除不可)する
	 * <p>
	 * </p>
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * 
	 */
	private void updDisDelData(String svcKeiNo) throws Exception
	{
		String[] param = new String[7];
		
		// 削除判定コード
		param[0] = DIS_DEL_JDG_CD;
		// 更新年月日時分秒
		param[1] = JBSbatDateUtil.getSystemDateTime();
		// 更新オペレータアカウント
		param[2] = super.batchUserId;
		// 更新運用年月日
		param[3] = super.opeDate;
		// 更新処理ＩＤ
		param[4] = super.jobid;
		// サービス契約番号
		param[5] = svcKeiNo;
		// 削除判定コード
		param[6] = DEL_JDG_CD;
		
		// 個人情報削除データ更新処理実施
		executeKK_T_KOJIN_INFO_DEL_KK_UPDATE_003(param);
		
		
	}
	
	/**
	 * 「個人情報削除」より削除不可データを取得する
	 * <p>
	 *  <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 * </pre>
	 * </p>
	 * @return rsltData 削除不可データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String[]> getDisDelData() throws Exception
	{
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		
		ArrayList<String[]> rsltData = new ArrayList<String[]>();
		
		// 引数用
		Object[] obj = null;
		
		// 個人情報削除データの取得
		obj = new Object[] {DIS_DEL_JDG_CD};
		
		executeKK_T_KOJIN_INFO_DEL_KK_SELECT_006(obj);
		
		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		
		while (dbmap != null)
		{
		
			String[] fukaData = new String[3];
			// サービス契約番号
			fukaData[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
			// 請求契約番号
			fukaData[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
			// SYSID
			fukaData[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
			
			rsltData.add(fukaData);
			
			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		}
		
		return rsltData;
	}
	
	/**
	 * 削除不可データのサービス契約番号に紐づいている、削除対象データの存在を確認する
	 * <p>
	 * 1.個人情報削除に削除対象のデータが存在するかを確認する。
	 * 2.サービス契約番号がサービス契約＿工事案件に関連するデータに紐づいているかを確認する。
	 * 3.請求契約番号に紐づく削除対象のデータが存在するかを確認する
	 * 4.SYSIDに紐づく削除対象のデータが存在するかを確認する
	 * </p>
	 * @param disDelData 削除不可データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkDisDelData(ArrayList<String[]> disDelData) throws Exception
	{
		ArrayList<String> lstKojiData = new ArrayList<String>();
		
		// サービス契約番号
		String svcKeiNo = null;
		// 請求契約番号
		String seiKyNo = null;
		// SYSID
		String sysId = null;
		
		BigDecimal chkCnt = BigDecimal.ZERO;
		
		for (int i = 0; i < disDelData.size(); i++)
		{
			// サービス契約番号
			svcKeiNo = disDelData.get(i)[0];
			// 請求契約番号
			seiKyNo = disDelData.get(i)[1];
			// SYSID
			sysId = disDelData.get(i)[2];
			
			// ■削除不可のサービス契約番号に紐づく、削除対象データの存在を確認
			// 個人削除データに削除対象データが存在するかを確認
			chkCnt = cntDisDelData(svcKeiNo);
			
			if (chkCnt.compareTo(BigDecimal.ZERO) > 0)
			{
				
				// 削除対象データが存在する場合、削除不可に更新する
				this.updDisDelData(svcKeiNo);
			}
			
			// サービス契約番号に紐づくサービス契約_工事案件データが存在するか確認する。
			// 抽出した工事案番号に紐づくサービス契約番号を抽出する。
			lstKojiData = getSvcKeiNo(svcKeiNo);
			
			if (lstKojiData.size() != 0)
			{
				// 工事案件番号に紐づくサービス契約番号を更新する
				this.updateDisDelData(lstKojiData);
			}
			
			// ■削除不可の請求契約番号に紐づく削除対象のデータの存在を確認
			// 削除対象データが　存在する場合、初期化(ALL0)の設定をする
// IT1-2014-0000355
//			this.updateDisDelData2(seiKyNo);
			if(seiKyNo.compareTo(this.ALL0) != 0)
			{
				this.updateDisDelData2(seiKyNo);
			}
// IT1-2014-0000355
			
			// ■削除不可のSYSIDに紐づく削除対象のデータの存在を確認
			// 削除対象データが　存在する場合、初期化(ALL0)の設定をする
// IT1-2014-0000355
//			this.updateDisDelSysId(sysId);
			if(sysId.compareTo(this.ALL0) != 0){
				this.updateDisDelSysId(sysId);
			}
// IT1-2014-0000355
		}
		
	}

	/**
	 * サービス契約番号に紐づくデータの存在チェック
	 * <p>
	 * </p>
	 * @param svcKeiNo サービス契約番号
	 * @return chkCnt 件数
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private BigDecimal cntDisDelData(String svcKeiNo) throws Exception
	{
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		
		String[] param = new String[2];
		
		BigDecimal chkCnt = BigDecimal.ZERO;
		
		// サービス契約番号
		param[0] = svcKeiNo;
		// 削除判定コード
		param[1] = DEL_JDG_CD;
		
		executeKK_T_KOJIN_INFO_DEL_KK_SELECT_007(param);
		
		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		
		while (dbmap != null)
		{
			chkCnt = dbmap.getBigDecimal("CNT");
			
			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		}
		
		return chkCnt;
	}
	
	/**
	 * サービス契約番号に紐づくサービス契約_工事案件データが存在するか確認する。
	 * 抽出した工事案番号に紐づくサービス契約番号を抽出する。
	 * <p>
	 * 1.個人情報削除のサービス契約番号を基に、サービス契約_工事案件の工事案件番号を抽出する
	 * 2.工事案件番号に紐づくサービス契約番号をサービス契約_工事案件から、抽出する。
	 * </p>
	 * @param svcKeiNo サービス契約番号
	 * @return rtnSvcKeiNO 工事案件番号に紐づくサービス契約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String> getSvcKeiNo(String svcKeiNo) throws Exception
	{
		JBSbatCommonDBInterface dbmapKj = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface dbmapSvc = new JBSbatCommonDBInterface();
		
		ArrayList<String> kojiakNo = new ArrayList<String>();
		ArrayList<String> rtnSvcKeiNO = new ArrayList<String>();
		
		Object[] objKoji = null;
		Object[] objSvc = null;
		
		// 個人情報削除のサービス契約番号に紐づく、工事案件番号を抽出する
		objKoji = new Object[] {svcKeiNo};
		
		executeKU_T_SVKEI_KOJIAK_KK_SELECT_009(objKoji);
		
		dbmapKj = db_KU_T_SVKEI_KOJIAK.selectNext();
		
		while (dbmapKj != null)
		{
			// 工事案件番号を取得
			kojiakNo.add(dbmapKj.getString(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO));
			
			dbmapKj = db_KU_T_SVKEI_KOJIAK.selectNext();
		}
		
		// 取得した工事案件番号に紐づくサービス契約番号を取得する
		for (int i = 0; i < kojiakNo.size(); i++)
		{
			objSvc = new Object[] {kojiakNo.get(i)};
			
			executeKU_T_SVKEI_KOJIAK_KK_SELECT_010(objSvc);
			
			dbmapSvc = db_KU_T_SVKEI_KOJIAK.selectNext();
			
			while (dbmapSvc != null)
			{
				// サービス契約番号を取得
				rtnSvcKeiNO.add(dbmapSvc.getString(JBSbatKU_T_SVKEI_KOJIAK.SVC_KEI_NO));
				
				dbmapSvc = db_KU_T_SVKEI_KOJIAK.selectNext();
			}
		}
		
		return rtnSvcKeiNO;
	}
	
	/**
	 * 工事案件番号に紐づくサービス契約番号を削除不可に更新する
	 * <p>
	 * </p>
	 * @param lstKojiData サービス契約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateDisDelData(ArrayList<String> lstKojiData) throws Exception
	{
		String svcKeiNo = null;
		
		for (int i = 0; i < lstKojiData.size(); i++)
		{
			svcKeiNo = lstKojiData.get(i);
			
			// 削除不可に更新する
			this.updDisDelData(svcKeiNo);
		}
		
	}
	
	/**
	 * 削除不可データの請求契約番号に紐づくデータにおいて、削除可のデータが存在した場合、初期化する
	 * <p>
	 * 1.請求契約番号に紐づく削除対象のデータを抽出する
	 * 2.抽出したデータを初期化(ALL0)に設定する。ただし、初期化するとキー重複する場合は１つに寄せる
	 * </p>
	 * @param seiKyNo
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateDisDelData2(String seiKyNo) throws Exception
	{
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		String[] param = new String[2];
		
		super.logPrint.printDebugLog("updateDisDelData2:" + seiKyNo);
		
		// 請求契約番号を抽出する
		param[0] = seiKyNo;
		param[1] = DEL_JDG_CD;
		
		executeKK_T_KOJIN_INFO_DEL_KK_SELECT_008(param);
		
		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		
		while (dbmap != null)
		{
			String[] trgtData = new String[4];
			// サービス契約番号
			trgtData[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
			// 請求契約番号
			trgtData[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
			// SYSID
			trgtData[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
			// カレントデータ識別コード
			trgtData[3] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.CRNT_DATA_SKBT_CD);
			
			lstKey.add(trgtData);
			
			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		}
		
		if (lstKey.size() > 0)
		{
			// 請求契約番号の初期化処理
			flg = SEIKY;
			iniDelData(lstKey, flg);
		}
				
	}

	/**
	 * 削除不可データの請求契約番号に紐づくデータにおいて、削除可のデータが存在した場合、初期化する
	 * <p>
	 * 1.SYSIDに紐づく削除対象のデータを抽出する
	 * 2.抽出したデータを初期化(ALL0)に設定する。ただし、初期化するとキー重複する場合は１つに寄せる
	 * </p>
	 * @param sysId SYSID
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateDisDelSysId(String sysId) throws Exception
	{
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		String[] param = new String[2];
		
		super.logPrint.printDebugLog("updateDisDelSysId:" + sysId);
		
		// SYSIDを抽出する
		param[0] = sysId;
		param[1] = DEL_JDG_CD;
		
		executeKK_T_KOJIN_INFO_DEL_KK_SELECT_009(param);
		
		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		
		while (dbmap != null)
		{
			String[] trgtData = new String[4];
			// サービス契約番号
			trgtData[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
			// 請求契約番号
			trgtData[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
			// SYSID
			trgtData[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
			// カレントデータ識別コード
			trgtData[3] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.CRNT_DATA_SKBT_CD);
			
			lstKey.add(trgtData);
			
			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		}
		
		if (lstKey.size() > 0)
		{
			// SYSIDの初期化処理
			flg = SYS;
			iniDelData(lstKey, flg);
		}
				
	}
	
	/**
	 * 削除不可データに関連する削除対象データを初期化設定(ALL0)
	 * <p>
	 * </p>
	 * @param lstKey 対象データ
	 * @param jdgFlg 処理データ判定用 (1:請求契約番号,2:SYSID)
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * 
	 */
	private void iniDelData(ArrayList<String[]> lstKey, int jdgFlg) throws Exception
	{
		JBSbatCommonDBInterface dbmapZero = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();

		super.logPrint.printDebugLog("iniDelData:lstKey.size=" + lstKey.size());
		super.logPrint.printDebugLog("iniDelData:jdgFlg=" + jdgFlg);
		
		// カレント識別コード
		String crntDataSkbtCd = null;
		String jdgCrntSkbtCd = null;
		
		// ALL0判定用
		String[] paramZero = new String[3];
		// データ取得用
		String[] paramIns = new String[33];
		
		// サービス契約番号
		String svcKeiNo = null;
		// 請求契約番号
		String seikyKeiNo = null;
		// SYSID
		String sysId = null;
		
		for (int i = 0; i < lstKey.size(); i++)
		{
			super.logPrint.printDebugLog("iniDelData:lstKey.get(" + i + ")[0]=" + lstKey.get(i)[0]);
			super.logPrint.printDebugLog("iniDelData:lstKey.get(" + i + ")[1]=" + lstKey.get(i)[1]);
			super.logPrint.printDebugLog("iniDelData:lstKey.get(" + i + ")[2]=" + lstKey.get(i)[2]);
			// ALL0データの存在確認
			if (jdgFlg == 1)
			{
				
				// 請求契約番号の場合
				// サービス契約番号
				svcKeiNo = lstKey.get(i)[0];
				paramZero[0] = svcKeiNo;
				// 請求契約番号
				paramZero[1] = ALL0;
				// SYSID
				sysId = lstKey.get(i)[2];
				paramZero[2] = sysId;
				
			} 
			else if(jdgFlg == 2)
			{
				
				// SYSIDの場合
				// サービス契約番号
				svcKeiNo = lstKey.get(i)[0];
				paramZero[0] = svcKeiNo;
				// 請求契約番号
				seikyKeiNo = lstKey.get(i)[1];
				paramZero[1] = seikyKeiNo;
				// SYSID
				paramZero[2] = ALL0;
				
			}

			
			dbmapZero = executeKK_T_KOJIN_INFO_DEL_PKSELECT(paramZero);
			
			if (dbmapZero == null)
			{
				super.logPrint.printDebugLog("iniDelData:ALL0データが存在しないので、処理データを初期化する");
				// ALL0データが存在しないので、処理データを初期化する
				// 更新データの取得
				dbmap = executeKK_T_KOJIN_INFO_DEL_PKSELECT(lstKey.get(i));
			
				paramIns = getInsData(dbmap, jdgFlg);
				
				// データの更新処理(DELTE/INSERT)
				// 削除
				executeKK_T_KOJIN_INFO_DEL_PKDELETE(lstKey.get(i));
				// 挿入
				executeKK_T_KOJIN_INFO_DEL_PKINSERT(paramIns);
				
			} 
			else
			{
				// ALL0データが存在する場合
				
				// ALL0データがカレントデータかどうかの確認
				crntDataSkbtCd = dbmapZero.getString(JBSbatKK_T_KOJIN_INFO_DEL.CRNT_DATA_SKBT_CD);
				
				if (crntDataSkbtCd.compareTo(CRNT_DATA_CD) == 0)
				{

					super.logPrint.printDebugLog("iniDelData:ALL0データがカレントデータの場合、処理データを削除");
					// ALL0データがカレントデータの場合、処理データを削除
					executeKK_T_KOJIN_INFO_DEL_PKDELETE(lstKey.get(i));
					
				} 
				else
				{
					
					// ALL0データがカレントデータでない場合、処理データがカレントかどうかの確認
					jdgCrntSkbtCd = lstKey.get(i)[3];
					
					if (jdgCrntSkbtCd.compareTo(CRNT_DATA_CD) == 0) 
					{
						super.logPrint.printDebugLog("iniDelData:処理データがカレントデータの場合、ALL0データの削除");
						// 処理データがカレントデータの場合、ALL0データの削除
						executeKK_T_KOJIN_INFO_DEL_PKDELETE(paramZero);
						
						// 処理データの更新用データの取得
						dbmap = executeKK_T_KOJIN_INFO_DEL_PKSELECT(lstKey.get(i));
						
						paramIns = getInsData(dbmap, jdgFlg);
						
						// 処理データの更新処理(DELTE/INSERT)
						// 削除
						executeKK_T_KOJIN_INFO_DEL_PKDELETE(lstKey.get(i));
						// 挿入
						executeKK_T_KOJIN_INFO_DEL_PKINSERT(paramIns);
						
					}
				}
			}
		}
		
	}

	/**
	 * 更新用データを格納する
	 * <p>
	 * </p>
	 * @param dbmap 更新用データ
	 * @param jdgFlg 処理データ判定用 (1:請求契約番号,2:SYSID)
	 * @return paramIns
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String[] getInsData(JBSbatCommonDBInterface dbmap, int jdgFlg) throws Exception
	{
		String[] paramIns = new String[33];

		super.logPrint.printDebugLog("getInsData:SVC_KEI_NO=" + dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO));
		super.logPrint.printDebugLog("getInsData:SEIKY_KEI_NO=" + dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO));
		super.logPrint.printDebugLog("getInsData:SYSID=" + dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID));
		
		// サービス契約番号
		paramIns[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
		// 請求契約番号
		if (jdgFlg == 1)
		{
			// ALL0設定
			paramIns[1] = ALL0;
		}
		else
		{
			
			paramIns[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
			
		}
		// SYSID
		if (jdgFlg == 2)
		{
			// ALL0設定
			paramIns[2] = ALL0;
			
		}
		else
		{
			
			paramIns[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
			
		}
		// 個人情報削除ステータス
		paramIns[3] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.KOJIN_INFO_DEL_STAT);
		// サービスコード
		paramIns[4] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_CD);
		// 料金グループコード
		paramIns[5] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.PRC_GRP_CD);
		// 料金コースコード
		paramIns[6] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.PCRS_CD);
		// 新規申込時申込書番号
		paramIns[7] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.NEW_MSKM_JI_MSKMSHO_NO);
		// ISP認証ID
		paramIns[8] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.ISP_NINSHO_ID);
		// サービス解約起算年月日
		paramIns[9] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_DSL_KISAN_YMD);
		// サービスキャンセル年月日
		paramIns[10] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_CANCEL_YMD);
		// サービス解約年月日
		paramIns[11] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_DSL_YMD);
		// サービス終了年月日
		paramIns[12] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_ENDYMD);
		// 削除処理対象抽出年月日
		paramIns[13] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_TRN_TG_CHSHT_YMD);
		// 個人情報削除理由コード
		paramIns[14] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.KOJIN_INFO_DEL_RSN_CD);
		// 削除判定コード
		paramIns[15] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_JDG_CD);
		// 削除実施年月日
		paramIns[16] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_JSSI_YMD);
		// 削除実績ファイル出力年月日
		paramIns[17] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_JSK_FILE_OPUT_YMD);
		// 契約最終更新年月日時分秒
		paramIns[18] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.KEI_LAST_UPD_DTM);
		// カレントデータ識別コード
		paramIns[19] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.CRNT_DATA_SKBT_CD);
		// 登録年月日時分秒
		paramIns[20] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.ADD_DTM);
		// 登録オペレータアカウント
		paramIns[21] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.ADD_OPEACNT);
		// 更新年月日時分秒
		paramIns[22] = JBSbatDateUtil.getSystemDateTime();
		// 更新オペレータアカウント
		paramIns[23] = super.batchUserId;
		// 削除年月日時分秒
		paramIns[24] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_DTM);
		// 削除オペレータアカウント
		paramIns[25] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_OPEACNT);
		// 無効フラグ
		paramIns[26] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.MK_FLG);
		// 登録運用年月日
		paramIns[27] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.ADD_UNYO_YMD);
		// 登録処理ID
		paramIns[28] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.ADD_TRN_ID);
		// 更新運用年月日
		paramIns[29] = super.opeDate;
		// 更新処理ID
		paramIns[30] = super.jobid;
		// 削除運用年月日
		paramIns[31] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_UNYO_YMD);
		// 削除処理ID
		paramIns[32] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.DEL_TRN_ID);
		
		
		return paramIns;
	}
	
	/**
	 * 個人情報削除より削除対象データを取得する
	 * <p>
	 * </p>
	 * @param jdgFlg 処理データ判定用 (1:請求契約番号,2:SYSID)
	 * @return lstRtn 個人情報データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String[]> getDelData(int jdgFlg) throws Exception
	{
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		
		ArrayList<String[]> lstRtn = new ArrayList<String[]>();
		
		String[] param = new String[2];
		
		// 削除判定コード
		param[0] = DEL_JDG_CD;
		// 請求契約番号(ALL0)
		param[1] = ALL0;
		
		// 請求契約番号に紐づくデータの取得
		if (jdgFlg == SEIKY)
		{
			
			executeKK_T_KOJIN_INFO_DEL_KK_SELECT_010(param);
			
		}
		else if (jdgFlg == SYS)
		{
			
			executeKK_T_KOJIN_INFO_DEL_KK_SELECT_017(param);
			
		}
		
		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
		
		while (dbmap != null)
		{
			String[] rtnData = new String[3];
			// サービス契約番号
			rtnData[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
			// 請求契約番号
			rtnData[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
			// SYSID
			rtnData[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
			
			lstRtn.add(rtnData);
			
			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
			
		}
		
		return lstRtn;
	}
	
	/**
	 * 請求契約番号に紐づくデータの初期化処理
	 * <p>
	 * 1.削除対象データに存在するカレントの請求契約番号の件数を取得<br>
	 * 2.課金先データに存在するサービス契約番号を取得する<br>
	 * 3.1と2のデータを突き合わせ初期化を行う。
	 * </p>
	 * @param lstDelDataWk 個人削除データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkDisSeikyData(ArrayList<String[]> lstDelDataWk) throws Exception
	{
		JBSbatCommonDBInterface dbmapSeiky = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface dbmapKakin = new JBSbatCommonDBInterface();
		
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		super.logPrint.printDebugLog("chkDisSeikyData:lstDelDataWk.size=" + lstDelDataWk.size());
		
		// 請求契約番号
		String seiKyKeiNo = null;
		
		String[] paramSei = new String[3];
		String[] paramKakin = new String[3];
		
		BigDecimal cntSeiky = BigDecimal.ZERO;
		BigDecimal cntKakin = BigDecimal.ZERO;
		
		for (int i = 0; i < lstDelDataWk.size(); i++)
		{
			// 取得した請求契約番号がALL0に設定されている場合は、処理対象外とする
			// 請求契約番号
			seiKyKeiNo = lstDelDataWk.get(i)[1];
			super.logPrint.printDebugLog("chkDisSeikyData:seiKyKeiNo=" + seiKyKeiNo);
			
			if (seiKyKeiNo.compareTo(ALL0) != 0)
			{
				// 削除対象データに存在するカレントの請求契約番号の件数をチェックする
				// 請求契約番号
				paramSei[0] = seiKyKeiNo;
				// 削除判定コード
				paramSei[1] = DEL_JDG_CD;
				// カレントデータ識別コード
				paramSei[2] = CRNT_DATA_CD;
				
				executeKK_T_KOJIN_INFO_DEL_KK_SELECT_011(paramSei);
				
				dbmapSeiky = db_KK_T_KOJIN_INFO_DEL.selectNext();
				
				if (dbmapSeiky != null)
				{
					cntSeiky = dbmapSeiky.getBigDecimal("KJ_CNT");
					super.logPrint.printDebugLog("chkDisSeikyData:cntSeiky=" + cntSeiky);
				}
				
				// 削除対象データが課金先に存在しないか確認する
				// 請求契約番号
				paramKakin[0] = seiKyKeiNo;
				// 課金先適用開始日
				paramKakin[1] = super.opeDate;
				// 課金先適用終了日
				paramKakin[2] = super.opeDate;
				
				executeKK_T_KAKINS_KK_SELECT_035(paramKakin);
				
				dbmapKakin = db_KK_T_KAKINS.selectNext();
				
				if (dbmapKakin != null)
				{
					cntKakin = dbmapKakin.getBigDecimal("KK0321_CNT");
					super.logPrint.printDebugLog("chkDisSeikyData:cntKakin=" + cntKakin);
				}
				
				// 削除対象の請求契約番号より課金先の請求契約番号の件数が多い場合、請求契約番号を初期化設定する
				if (cntSeiky.compareTo(cntKakin) < 0)
				{
					lstKey.add(lstDelDataWk.get(i));
				}
				
			}
		}
		
		//請求契約番号を初期化
		flg = SEIKY;
		iniDelData(lstKey, flg);
		
	}
	
	/**
	 * SYSIDに紐づくデータの初期化処理
	 * <p>
	 * 1.削除対象データに存在するSYSIDに関連するカレントのサービス契約番号の件数を取得<br>
	 * 2.サービス契約に存在しないかチェックする
	 * 3.1と2のデータを突き合わせ初期化を行う。
	 * </p>
	 * @param lstDelDataWk 個人削除データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkDisSysData(ArrayList<String[]> lstDelDataWk) throws Exception
	{
		JBSbatCommonDBInterface dbmapSys = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface dbmapSvc = new JBSbatCommonDBInterface();
		
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		// SYSID
		String sysId = null;
		
		String[] paramSys = new String[3];
		String[] paramSvc = new String[3];
		
		BigDecimal cntSys = BigDecimal.ZERO;
		BigDecimal cntSvc = BigDecimal.ZERO;
		
		for (int i = 0; i < lstDelDataWk.size(); i++)
		{
			// 取得したSYSIDがALL0に設定されている場合は、処理対象外とする
			// SYSID
			sysId = lstDelDataWk.get(i)[2];
			
			if (sysId.compareTo(ALL0) != 0)
			{
				// 削除対象データに存在するカレントのサービス契約番号の件数をチェックする
				// SYSID
				paramSys[0] = sysId;
				// 削除判定コード
				paramSys[1] = DEL_JDG_CD;
				// カレントデータ識別コード
				paramSys[2] = CRNT_DATA_CD;
				
				executeKK_T_KOJIN_INFO_DEL_KK_SELECT_012(paramSys);
				
				dbmapSys = db_KK_T_KOJIN_INFO_DEL.selectNext();
				
				if (dbmapSys != null)
				{
					cntSys = dbmapSys.getBigDecimal("KEI_CNT");
				}
				
				// 削除対象データがサービス契約に存在しないか確認する
				// SYSID
				paramSvc[0] = sysId;
				// 予約適用年月日
				paramSvc[1] = super.opeDate;
				
				executeKK_T_SVC_KEI_KK_SELECT_209(paramSvc);
				
				dbmapSvc = db_KK_T_SVC_KEI.selectNext();
				
				if (dbmapSvc != null)
				{
					cntSvc = dbmapSvc.getBigDecimal("SVC_KEI_CNT");
				}
				
				// 削除対象のSYSIDよりサービス契約のSYSID件数が多い場合、SYSIDを初期化設定する
				if (cntSys.compareTo(cntSvc) < 0)
				{
					lstKey.add(lstDelDataWk.get(i));
				}
				
			}
		}
		
		// SYSIDを初期化
		flg = SYS;
		iniDelData(lstKey, flg);
		
	}
	
	// OM-2016-0001817 DEL START
//	/**
//	 * SYSID、サービス契約が削除となり、請求契約が初期化されているデータを修正する
//	 * <p>
//	 * </p>
//	 * @throws Exception 業務サービス内で発生した例外全般。
//	 */
//	private void chkFormatSeky() throws Exception
//	{
//		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
//		JBSbatCommonDBInterface dbmapSei = new JBSbatCommonDBInterface();
//		JBSbatCommonDBInterface dbmapIni = new JBSbatCommonDBInterface();
//		
//		// 個人情報削除データ
//		ArrayList<String[]> lstSvc = new ArrayList<String[]>();
//		// 削除リスト
//		ArrayList<String> lstDel = new ArrayList<String>();
//		//初期化リスト
//		ArrayList<String> lstInit = new ArrayList<String>();
//		//初期化キーリスト
//		ArrayList<String[]> lstInitKey = new ArrayList<String[]>();
//		
//		String[] paramKjnDel = new String[3];
//		String[] paramSeiKy = new String[4];
//		
//		String[] aryIni = new String[3];
//		
//		// サービス契約番号
//		String svcKeiNo = null;
//		// SYSID(個人情報削除)
//		String sysIdKjn = null;
//		// SYSID(請求契約)
//		String sysIdSeiky = null;
//		// SYSID(比較用)
//		String strWkSysId = "";
//		
//		// ■個人情報削除から対象データを抽出する
//		// SYSID
//		paramKjnDel[0] = ALL0;
//		// 請求契約番号
//		paramKjnDel[1] = ALL0;
//		// 削除判定コード
//		paramKjnDel[2] = DEL_JDG_CD;
//		
//		executeKK_T_KOJIN_INFO_DEL_KK_SELECT_016(paramKjnDel);
//		
//		dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
//		
//		while (dbmap != null)
//		{
//			String[] aryWK = new String[3];
//			// サービス契約番号
//			aryWK[0] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
//			// 請求契約番号
//			aryWK[1] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
//			// SYSID
//			aryWK[2] = dbmap.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
//			
//			lstSvc.add(aryWK);
//			
//			dbmap = db_KK_T_KOJIN_INFO_DEL.selectNext();
//		}
//		
//		// ■請求契約のSYSIDを取得する。
//		for (int i = 0; i < lstSvc.size(); i++)
//		{
//			
//			// サービス契約番号
//			svcKeiNo = lstSvc.get(i)[0];
//			super.logPrint.printDebugLog("chkFormatSeky:svcKeiNo=" + svcKeiNo);
//			// SYSID(個人情報削除)
//			sysIdKjn = lstSvc.get(i)[2];
//			super.logPrint.printDebugLog("chkFormatSeky:sysIdKjn=" + sysIdKjn);
//			
//			// 請求契約から請求契約番号の抽出
//			// サービス契約番号
//			paramSeiKy[0] = svcKeiNo;
//			// 課金先適用開始年月日
//			paramSeiKy[1] = super.opeDate;
//			// 課金先適用終了年月日
//			paramSeiKy[2] = super.opeDate;
//			// 予約適用年月日
//			paramSeiKy[3] = super.opeDate;
//			
//			executeKK_T_SEIKY_KEI_KK_SELECT_052(paramSeiKy);
//			
//			dbmapSei = db_KK_T_SEIKY_KEI.selectNext();
//			
//			if (dbmapSei != null)
//			{
//				// SYSIDが同じ場合は修正処理を行う
//				sysIdSeiky = dbmapSei.getString(JBSbatKK_T_SEIKY_KEI.SYSID);
//				super.logPrint.printDebugLog("chkFormatSeky:sysIdSeiky=" + sysIdSeiky);
//				
//				if (sysIdKjn.compareTo(sysIdSeiky) == 0)
//				{
//					if (strWkSysId.compareTo(sysIdKjn) != 0)
//					{
//						
//						strWkSysId = sysIdKjn;
//						//同一SYSID１件目の場合、サービス契約番号を削除リストに追加
//						lstDel.add(svcKeiNo);
//						//同一SYSID2件目以降の場合、初期化リストに追加
//						lstInit.add(sysIdKjn);
//						
//					}
//				}
//			}
//		}
//		
//		//削除リストに追加されたサービス契約番号単位で削除対象データを削除
//		for (int j = 0; j < lstDel.size(); j++)
//		{
//			
//			executeKK_T_KOJIN_INFO_DEL_KK_DELETE_001(new String[]{lstDel.get(j)});
//			
//		}
//		
//		//初期化リストに追加されたSYSIDから初期化対象となるデータの主キーを取得
//		for (int k = 0; k < lstInit.size(); k++)
//		{
//			executeKK_T_KOJIN_INFO_DEL_KK_SELECT_018(new String[]{lstInit.get(k)});
//			
//			dbmapIni = db_KK_T_KOJIN_INFO_DEL.selectNext();
//			
//			while (dbmapIni != null)
//			{
//				// サービス契約番号
//				aryIni[0] = dbmapIni.getString(JBSbatKK_T_KOJIN_INFO_DEL.SVC_KEI_NO);
//				// 請求契約番号
//				aryIni[1] = dbmapIni.getString(JBSbatKK_T_KOJIN_INFO_DEL.SEIKY_KEI_NO);
//				// SYSID
//				aryIni[2] = dbmapIni.getString(JBSbatKK_T_KOJIN_INFO_DEL.SYSID);
//				
//				lstInitKey.add(aryIni);
//				
//				dbmapIni = db_KK_T_KOJIN_INFO_DEL.selectNext();
//			}
//		}
//		
//		//SYSIDの初期化
//		flg = SYS;
//		iniDelData(lstInitKey, flg);
//		
//	}
	// OM-2016-0001817 DEL END
}
