/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKDelDataRevision
*	ソースファイル名	：JBSbatKKDelDataRevision.java
*	作成者				：富士通　
*	作成日				：2012年09月24日
*＜機能概要＞
*　削除対象データ修正部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/24   富士通		新規作成
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatCheckUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKDelDataRevision extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(個人情報削除判定ワーク)*/
	private static final String D_TBL_NAME_KK_T_KJNIFDEL_JDG_WK = "KK_T_KJNIFDEL_JDG_WK";

	/** テーブル(課金先)*/
	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_SELECT_002)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_035)*/
	private static final String KK_T_KAKINS_KK_SELECT_035 = "KK_SELECT_035";

	/** SQL定義キー(KK_SELECT_206)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_206 = "KK_SELECT_206";

	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_007 = "KK_SELECT_007";

	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_008 = "KK_SELECT_008";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_004 = "KK_SELECT_004";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_012)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_012 = "KK_SELECT_012";

	/** SQL定義キー(KK_SELECT_014)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_014 = "KK_SELECT_014";

	/** SQL定義キー(KK_SELECT_013)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_SELECT_013 = "KK_SELECT_013";

	/** SQL定義キー(KK_DELETE_002)*/
	private static final String KK_T_KJNIFDEL_JDG_WK_KK_DELETE_002 = "KK_DELETE_002";

	/** SQL定義キー(KK_SELECT_052)*/
	private static final String KK_T_SEIKY_KEI_KK_SELECT_052 = "KK_SELECT_052";

	/** テーブルアクセスクラス(個人情報削除判定ワーク)*/
	private JBSbatSQLAccess db_KK_T_KJNIFDEL_JDG_WK = 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 int CINT_SVC_KEI_NO = 0;
	/** 請求契約番号 */
	private static final int CINT_SEIKY_KEI_NO = 1;
	/** SYSID */
	private static final int CINT_SYSID = 2;
	
	/** ALL0 */
	private static final String ALL0 = "0000000000";
	
	/** 削除判定コード削除可能 */
	private static final String DEL_OK = "00";
	
	/** カレントコード カレント */
	private static final String CRNT = "1";
	
	/** DB削除件数 */
	private int intDelCnt_init = 0;
	
	/** DB登録件数 */
	private int intInsertCnt = 0;
	
	/** DB削除件数 */
	private int intDelCnt = 0;

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_KJNIFDEL_JDG_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KJNIFDEL_JDG_WK);
		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);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_KEI);
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		ArrayList<String[]> lstDelDataWk = new ArrayList<String[]>();
		ArrayList<String> lstSysIdWk = new ArrayList<String>();
		
		/* 削除不可データチェック */
		//削除付加データ取得
		lstDelDataWk = this.getDelData_Huka();
		//サービス契約番号チェック
		chkSVC_KEI_NO(lstDelDataWk);
		//請求契約番号チェック
		chkSeikyKeyNo(lstDelDataWk);
		//ＳＹＳＩＤチェック
		chkSysId(lstDelDataWk);
		/* 削除対象外データチェック */
		//削除対象データ取得
		lstDelDataWk = this.getDelData_Taishogai(this.CINT_SEIKY_KEI_NO);
		//請求契約番号・課金先チェック
		chkSeikyKeiNoKakins(lstDelDataWk);
		//削除対象データ取得
		lstDelDataWk = this.getDelData_Taishogai(this.CINT_SYSID);
		//SYSID・サービス契約チェック
		chkSysIdSvcKei(lstDelDataWk);
		/*SYSID請求契約チェック*/
		chkSysIdSSeikyKei();
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/

		//DB削除件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0780AI", new String[]{"個人情報削除判定ワーク(請求契約番号・SYSID初期化)", Integer.toString(intDelCnt_init)});
		//DB登録件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0790AI", new String[]{"個人情報削除判定ワーク(請求契約番号・SYSID初期化)", Integer.toString(intInsertCnt)});
		//DB削除件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0780AI", new String[]{"個人情報削除判定ワーク(サービス契約番号削除)", Integer.toString(intDelCnt)});
		
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_KJNIFDEL_JDG_WK.close();
		db_KK_T_KAKINS.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_SEIKY_KEI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * 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 void executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_002);
	}

	/**
	 * 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_206)で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_206(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_206);
	}

	/**
	 * 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
	 *		 	サービスコード				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
	 *		 	契約最終更新年月日時分秒				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_KJNIFDEL_JDG_WK_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("SVC_CD", setParam[3]);
		setMap.setValue("PRC_GRP_CD", setParam[4]);
		setMap.setValue("PCRS_CD", setParam[5]);
		setMap.setValue("NEW_MSKM_JI_MSKMSHO_NO", setParam[6]);
		setMap.setValue("ISP_NINSHO_ID", setParam[7]);
		setMap.setValue("SVC_DSL_KISAN_YMD", setParam[8]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[9]);
		setMap.setValue("SVC_DSL_YMD", setParam[10]);
		setMap.setValue("SVC_ENDYMD", setParam[11]);
		setMap.setValue("DEL_TRN_TG_CHSHT_YMD", setParam[12]);
		setMap.setValue("KOJIN_INFO_DEL_RSN_CD", setParam[13]);
		setMap.setValue("DEL_JDG_CD", setParam[14]);
		setMap.setValue("KEI_LAST_UPD_DTM", setParam[15]);
		setMap.setValue("CRNT_DATA_SKBT_CD", setParam[16]);
		setMap.setValue("ADD_DTM", setParam[17]);
		setMap.setValue("ADD_OPEACNT", setParam[18]);
		setMap.setValue("UPD_DTM", setParam[19]);
		setMap.setValue("UPD_OPEACNT", setParam[20]);
		setMap.setValue("DEL_DTM", setParam[21]);
		setMap.setValue("DEL_OPEACNT", setParam[22]);
		setMap.setValue("MK_FLG", setParam[23]);
		setMap.setValue("ADD_UNYO_YMD", setParam[24]);
		setMap.setValue("ADD_TRN_ID", setParam[25]);
		setMap.setValue("UPD_UNYO_YMD", setParam[26]);
		setMap.setValue("UPD_TRN_ID", setParam[27]);
		setMap.setValue("DEL_UNYO_YMD", setParam[28]);
		setMap.setValue("DEL_TRN_ID", setParam[29]);
	
		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intInsertCnt += db_KK_T_KJNIFDEL_JDG_WK.insertByPrimaryKeys(setMap);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * 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_KJNIFDEL_JDG_WK_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_KJNIFDEL_JDG_WK.deleteByPrimaryKeys(whereMap);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * 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_KJNIFDEL_JDG_WK_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_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_007);
	}

	/**
	 * 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_KJNIFDEL_JDG_WK_KK_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_008);
	}

	/**
	 * SQLKEY(KK_SELECT_009)で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_KJNIFDEL_JDG_WK_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_009);
	}

	/**
	 * SQLKEY(KK_SELECT_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_KJNIFDEL_JDG_WK_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_004)で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_KJNIFDEL_JDG_WK_KK_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_004);
	}

	/**
	 * SQLKEY(KK_SELECT_005)で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_KJNIFDEL_JDG_WK_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_006)で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_KJNIFDEL_JDG_WK_KK_SELECT_006(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_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_SELECT_012)で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_KJNIFDEL_JDG_WK_KK_SELECT_012(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_012);
	}

	/**
	 * SQLKEY(KK_SELECT_014)で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_KJNIFDEL_JDG_WK_KK_SELECT_014(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_014);
	}

	/**
	 * SQLKEY(KK_SELECT_013)で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_KJNIFDEL_JDG_WK_KK_SELECT_013(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.selectBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_SELECT_013);
	}

	/**
	 * SQLKEY(KK_DELETE_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_KJNIFDEL_JDG_WK_KK_DELETE_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		//▼▼▼件数取得のため自働生成部を変更▼▼▼
		intDelCnt += db_KK_T_KJNIFDEL_JDG_WK.executeBySqlDefine(paramList, KK_T_KJNIFDEL_JDG_WK_KK_DELETE_002);
		//▲▲▲件数取得のため自働生成部を変更▲▲▲
	}

	/**
	 * 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);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	

	
	/**
	 * <p>
	 * <dd>メソッド名：削除データ取得（削除不可データ）
	 * <pre>
	 * <dd>メソッド説明：削除不可データに関連する削除対象データを取得する。
	 * 
	 * </pre>
	 * <p>
	 * @return 削除データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String[]> getDelData_Huka() throws Exception
	{
		ArrayList<String[]> lstRtn = new ArrayList<String[]>();
		JBSbatCommonDBInterface map = null;
		
		executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_002(new Object[]{});
		map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		while(map != null)
		{
			String[] aryWk = new String[3];
			aryWk[this.CINT_SVC_KEI_NO] = map.getString("SVC_KEI_NO");
			aryWk[this.CINT_SEIKY_KEI_NO] = map.getString("SEIKY_KEI_NO");
			aryWk[this.CINT_SYSID] = map.getString("SYSID");
			lstRtn.add(aryWk);
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		}
		return lstRtn;
	}

	/**
	 * <p>
	 * <dd>メソッド名：サービス契約番号チェック
	 * <pre>
	 * <dd>メソッド説明：取得したサービス契約番号が削除対象データに存在するかチェック
	 * 
	 * </pre>
	 * <p>
	 * @param lstDelData 削除データリスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSVC_KEI_NO(ArrayList<String[]> lstDelData) throws Exception
	{
		String strSvcKeiNoWk = "";
		ArrayList<String[]> lstDel = new ArrayList<String[]>();
		
		for(int i = 0; i < lstDelData.size(); i++)
		{
			if(strSvcKeiNoWk.compareTo(lstDelData.get(i)[this.CINT_SVC_KEI_NO]) != 0)
			{
				strSvcKeiNoWk = lstDelData.get(i)[this.CINT_SVC_KEI_NO];
				JBSbatCommonDBInterface map = null;
				Object[] selectParam = {strSvcKeiNoWk, this.DEL_OK};
				executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_003(selectParam);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				while(map != null)
				{
					//削除対象データに存在する場合、削除リストに追加
					String[] deleteParam = {map.getString("SVC_KEI_NO"), 
											map.getString("SEIKY_KEI_NO"), 
											map.getString("SYSID")};
					lstDel.add(deleteParam);
					map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				}
			}
		}
		//削除リストに追加された削除対象データを削除
		for(int i = 0; i < lstDel.size(); i++)
		{
			executeKK_T_KJNIFDEL_JDG_WK_PKDELETE(lstDel.get(i));
		}
	}

	/**
	 * <p>
	 * <dd>メソッド名：請求契約番号チェック
	 * <pre>
	 * <dd>メソッド説明：取得した請求契約番号が削除対象データに存在するかチェック
	 * 
	 * </pre>
	 * <p>
	 * @param lstDelData 削除データリスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSeikyKeyNo(ArrayList<String[]> lstDelData)  throws Exception
	{
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		ArrayList<String[]> lstKeyInsert = new ArrayList<String[]>();
		
		//更新対象となるデータの主キーを取得
		for(int i = 0; i < lstDelData.size(); i++)
		{
			if(lstDelData.get(i)[this.CINT_SEIKY_KEI_NO].compareTo(this.ALL0) != 0)
			{
				JBSbatCommonDBInterface map = null;
				Object[] selectParam = {lstDelData.get(i)[this.CINT_SEIKY_KEI_NO], this.DEL_OK};
				executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_004(selectParam);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				while(map != null)
				{
					String[] deleteParam = {map.getString("SVC_KEI_NO"),
												map.getString("SEIKY_KEI_NO"),
												map.getString("SYSID")};
					lstKey.add(deleteParam);
					map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				}
			}
		}
		//請求契約番号を初期化
		initSeikyKeyNo(lstKey);
	}

	/**
	 * <p>
	 * <dd>メソッド名：SYSIDチェック
	 * <pre>
	 * <dd>メソッド説明：取得したSYSIDが削除対象データに存在するかチェック
	 * 
	 * </pre>
	 * <p>
	 * @param lstDelData 削除データリスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSysId(ArrayList<String[]> lstDelData)  throws Exception
	{
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		ArrayList<String[]> lstKeyInsert = new ArrayList<String[]>();
		
		//更新対象となるデータの主キーを取得
		for(int i = 0; i < lstDelData.size(); i++)
		{
			if(lstDelData.get(i)[this.CINT_SYSID].compareTo(this.ALL0) != 0)
			{
				JBSbatCommonDBInterface map = null;
				Object[] selectParam = {lstDelData.get(i)[this.CINT_SYSID], this.DEL_OK};
				executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_005(selectParam);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				while(map != null)
				{
					String[] deleteParam = {map.getString("SVC_KEI_NO"),
												map.getString("SEIKY_KEI_NO"),
												map.getString("SYSID")};
					lstKey.add(deleteParam);
					map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				}
			}
		}
		initSysId(lstKey);
	}

	/**
	 * <p>
	 * <dd>メソッド名：削除データ取得（削除対象外データ）
	 * <pre>
	 * <dd>メソッド説明：削除対象外データに関連する削除対象データを取得する。
	 * 
	 * </pre>
	 * <p>
	 * @param flgSeikyOrSysId 1:請求契約番号　2:SYSID
	 * @return 削除データ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String[]> getDelData_Taishogai(int flgSeikyOrSysId) throws Exception
	{
		ArrayList<String[]> lstRtn = new ArrayList<String[]>();
		JBSbatCommonDBInterface map = null;
		if(flgSeikyOrSysId == this.CINT_SEIKY_KEI_NO)
		{
		executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_007(new Object[]{this.ALL0, this.DEL_OK});
		}
		else if(flgSeikyOrSysId == this.CINT_SYSID)
		{
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_014(new Object[]{this.ALL0, this.DEL_OK});
		}
		map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		while(map != null)
		{
			String[] aryWk = new String[3];
			aryWk[this.CINT_SVC_KEI_NO] = map.getString("SVC_KEI_NO");
			aryWk[this.CINT_SEIKY_KEI_NO] = map.getString("SEIKY_KEI_NO");
			aryWk[this.CINT_SYSID] = map.getString("SYSID");
			lstRtn.add(aryWk);
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		}
		return lstRtn;
	}

	/**
	 * <p>
	 * <dd>メソッド名：請求契約番号課金先件数チェック
	 * <pre>
	 * <dd>メソッド説明：
	 * 
	 * </pre>
	 * <p>
	 * @param lstDelData
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSeikyKeiNoKakins(ArrayList<String[]> lstDelData) throws Exception
	{
		super.logPrint.printDebugLog("chkSeikyKeiNoKakins START:");
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		for(int i = 0; i < lstDelData.size(); i++)
		{
			//請求契約番号がALL0の場合は処理しない
			if(lstDelData.get(i)[this.CINT_SEIKY_KEI_NO].compareTo(ALL0) != 0)
			{
				super.logPrint.printDebugLog("SEIKY_KEI_NO:" + lstDelData.get(i)[this.CINT_SEIKY_KEI_NO]);
				int intDelWk = 0;
				int intKknWk = 0;
				JBSbatCommonDBInterface map = null;
				Object[] param = {lstDelData.get(i)[this.CINT_SEIKY_KEI_NO], CRNT, this.DEL_OK};
				executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_008(param);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				if(map != null)
				{
					intDelWk = Integer.parseInt(map.getString("KK2611_CNT"));
					super.logPrint.printDebugLog("KK2611_CNT:" + intDelWk);
				}
				Object[] param2 = {lstDelData.get(i)[this.CINT_SEIKY_KEI_NO], super.opeDate, super.opeDate};
				executeKK_T_KAKINS_KK_SELECT_035(param2);
				map = db_KK_T_KAKINS.selectNext();
				if(map != null)
				{
					intKknWk = Integer.parseInt(map.getString("KK0321_CNT"));
					super.logPrint.printDebugLog("KK0321_CNT:" + intKknWk);
				}
				if(intDelWk < intKknWk)
				{
					//課金先の請求契約番号が多い時、削除データの請求契約番号を初期化リストへ
					lstKey.add(lstDelData.get(i));
				}
			}
		}
		//請求契約番号を初期化
		initSeikyKeyNo(lstKey);
		super.logPrint.printDebugLog("chkSeikyKeiNoKakins END:");
	}

	/**
	 * <p>
	 * <dd>メソッド名：SYSIDサービス契約件数チェック
	 * <pre>
	 * <dd>メソッド説明：
	 * 
	 * </pre>
	 * <p>
	 * @param lstDelData
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSysIdSvcKei(ArrayList<String[]> lstDelData) throws Exception
	{
		super.logPrint.printDebugLog("chkSysIdSvcKei START:");
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		
		for(int i = 0; i < lstDelData.size(); i++)
		{
			//SYSIDがALL0の場合は処理しない
			if(lstDelData.get(i)[this.CINT_SYSID].compareTo(ALL0) != 0)
			{
				super.logPrint.printDebugLog("SYSID:" + lstDelData.get(i)[this.CINT_SYSID]);
				int intDelWk = 0;
				int intKknWk = 0;
				JBSbatCommonDBInterface map = null;
				Object[] param = {lstDelData.get(i)[this.CINT_SYSID], CRNT, this.DEL_OK};
				executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_009(param);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
				if(map != null)
				{
					intDelWk = Integer.parseInt(map.getString("KK2611_CNT"));
					super.logPrint.printDebugLog("KK2611_CNT:" + intDelWk);
				}
				Object[] param2 = {lstDelData.get(i)[this.CINT_SYSID], super.opeDate};
				executeKK_T_SVC_KEI_KK_SELECT_206(param2);
				map = db_KK_T_SVC_KEI.selectNext();
				if(map != null)
				{
					intKknWk = Integer.parseInt(map.getString("KK0081_CNT"));
					super.logPrint.printDebugLog("KK0081_CNT:" + intKknWk);
				}
				if(intDelWk < intKknWk)
				{
					//サービス契約のSYSIDが多い時、削除データのSYSIDを初期化リストへ
					lstKey.add(lstDelData.get(i));
				}
			}
		}
		//請求契約番号を初期化
		initSysId(lstKey);
		super.logPrint.printDebugLog("chkSysIdSvcKei END:");
	}
	
	/**
	 * <p>
	 * <dd>メソッド名：請求契約番号初期化
	 * <pre>
	 * <dd>メソッド説明：引数で指定されたデータの請求契約番号をALL0にする
	 * 
	 * </pre>
	 * <p>
	 * @param lstKey　主キーリスト
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void initSeikyKeyNo(ArrayList<String[]> lstKey) throws Exception
	{
		super.logPrint.printDebugLog("initSeikyKeyNo START:");
		for(int i = 0; i < lstKey.size(); i++)
		{
			JBSbatCommonDBInterface map = null;
			//INSERT用請求契約番号ALL0データ
			String[] paramIns = null;
			//検索用請求契約番号ALL0主キー
			String[] paramAllZero = {lstKey.get(i)[this.CINT_SVC_KEI_NO],
									this.ALL0,
									lstKey.get(i)[this.CINT_SYSID]};
			//初期化対象のデータを取得
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_006(lstKey.get(i));
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			if(map != null)
			{
				//請求契約番号をALL0に変更
				paramIns = new String[]{map.getString("SVC_KEI_NO"), 
										this.ALL0, 
										map.getString("SYSID"), 
										map.getString("SVC_CD"), 
										map.getString("PRC_GRP_CD"), 
										map.getString("PCRS_CD"), 
										map.getString("NEW_MSKM_JI_MSKMSHO_NO"), 
										map.getString("ISP_NINSHO_ID"), 
										map.getString("SVC_DSL_KISAN_YMD"), 
										map.getString("SVC_CANCEL_YMD"), 
										map.getString("SVC_DSL_YMD"), 
										map.getString("SVC_ENDYMD"), 
										map.getString("DEL_TRN_TG_CHSHT_YMD"), 
										map.getString("KOJIN_INFO_DEL_RSN_CD"), 
										map.getString("DEL_JDG_CD"), 
										map.getString("KEI_LAST_UPD_DTM"), 
										map.getString("CRNT_DATA_SKBT_CD"), 
										map.getString("ADD_DTM"), 
										map.getString("ADD_OPEACNT"), 
										JCCBatCommon.getSysDateTimeStamp(), 
										super.batchUserId, 
										map.getString("DEL_DTM"), 
										map.getString("DEL_OPEACNT"), 
										map.getString("MK_FLG"), 
										map.getString("ADD_UNYO_YMD"), 
										map.getString("ADD_TRN_ID"), 
										super.opeDate, 
										super.batchUserId, 
										map.getString("DEL_UNYO_YMD"), 
										map.getString("DEL_TRN_ID")}; 
				if(map.getString("CRNT_DATA_SKBT_CD").compareTo(CRNT) == 0)
				{
					//カレントコードが1の場合、すでに存在する請求契約番号ALL0のデータを削除
					executeKK_T_KJNIFDEL_JDG_WK_PKDELETE(paramAllZero);
				}
			}
			
			//請求契約番号がAll0のデータが存在するかチェック
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_006(paramAllZero);
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			if(map == null)
			{
				//請求契約番号ALL0のデータが存在しない場合
				//請求契約番号ALL0のデータをINSERT
				executeKK_T_KJNIFDEL_JDG_WK_PKINSERT(paramIns);
			}
			//初期化前のデータを削除
			executeKK_T_KJNIFDEL_JDG_WK_PKDELETE(lstKey.get(i));
		}
		super.logPrint.printDebugLog("initSeikyKeyNo END:");
	}
	
	/**
	 * <p>
	 * <dd>メソッド名：SYSID初期化
	 * <pre>
	 * <dd>メソッド説明：引数で指定されたデータのSYSIDをALL0にする
	 * 
	 * </pre>
	 * <p>
	 * @param lstKey　主キーリスト
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void initSysId(ArrayList<String[]> lstKey) throws Exception
	{
		super.logPrint.printDebugLog("initSysId START:");
		for(int i = 0; i < lstKey.size(); i++)
		{
			JBSbatCommonDBInterface map = null;
			//INSERT用SYSIDALL0データ
			String[] paramIns = null;
			//検索用SYSIDALL0主キー
			String[] paramAllZero = {lstKey.get(i)[this.CINT_SVC_KEI_NO], 
									lstKey.get(i)[this.CINT_SEIKY_KEI_NO], 
									this.ALL0};
			//初期化対象のデータを取得
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_006(lstKey.get(i));
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			if(map != null)
			{
				//SYSIDをALL0に変更
				paramIns = new String[]{map.getString("SVC_KEI_NO"), 
										map.getString("SEIKY_KEI_NO"), 
										this.ALL0, 
										map.getString("SVC_CD"), 
										map.getString("PRC_GRP_CD"), 
										map.getString("PCRS_CD"), 
										map.getString("NEW_MSKM_JI_MSKMSHO_NO"), 
										map.getString("ISP_NINSHO_ID"), 
										map.getString("SVC_DSL_KISAN_YMD"), 
										map.getString("SVC_CANCEL_YMD"), 
										map.getString("SVC_DSL_YMD"), 
										map.getString("SVC_ENDYMD"), 
										map.getString("DEL_TRN_TG_CHSHT_YMD"), 
										map.getString("KOJIN_INFO_DEL_RSN_CD"), 
										map.getString("DEL_JDG_CD"), 
										map.getString("KEI_LAST_UPD_DTM"), 
										map.getString("CRNT_DATA_SKBT_CD"), 
										map.getString("ADD_DTM"), 
										map.getString("ADD_OPEACNT"), 
										JCCBatCommon.getSysDateTimeStamp(), 
										super.batchUserId, 
										map.getString("DEL_DTM"), 
										map.getString("DEL_OPEACNT"), 
										map.getString("MK_FLG"), 
										map.getString("ADD_UNYO_YMD"), 
										map.getString("ADD_TRN_ID"), 
										super.opeDate, 
										super.batchUserId, 
										map.getString("DEL_UNYO_YMD"), 
										map.getString("DEL_TRN_ID")}; 
				if(map.getString("CRNT_DATA_SKBT_CD").compareTo(CRNT) == 0)
				{
					//カレントコードが1の場合、すでに存在するSYSIDALL0のデータを削除
					executeKK_T_KJNIFDEL_JDG_WK_PKDELETE(paramAllZero);
				}
			}
			
			//SYSIDがAll0のデータが存在するかチェック
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_006(paramAllZero);
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			if(map == null)
			{
				//SYSIDALL0のデータが存在しない場合
				//SYSIDALL0のデータをINSERT
				executeKK_T_KJNIFDEL_JDG_WK_PKINSERT(paramIns);
			}
			//初期化前のデータを削除
			executeKK_T_KJNIFDEL_JDG_WK_PKDELETE(lstKey.get(i));
		}
		super.logPrint.printDebugLog("initSysId END:");
	}

	
	/**
	 * <p>
	 * <dd>メソッド名：SYSID請求契約チェック
	 * <pre>
	 * <dd>メソッド説明：
	 * 
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void chkSysIdSSeikyKei() throws Exception
	{
		super.logPrint.printDebugLog("chkSysIdSSeikyKei START");
		//削除リスト
		ArrayList<String> lstDel = new ArrayList<String>();
		//初期化リスト
		ArrayList<String> lstInit = new ArrayList<String>();
		//初期化キーリスト
		ArrayList<String[]> lstInitKey = new ArrayList<String[]>();
		//個人情報削除判定ワーク主キーリスト
		ArrayList<String[]> lstKey = new ArrayList<String[]>();
		String strWkSysId = "";
		JBSbatCommonDBInterface map = null;
		
		//個人情報削除判定ワークからチェック対象の主キーを取得
		String[] param = {this.ALL0, 
						this.ALL0, 
						this.DEL_OK,
						CRNT};
		executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_012(param);
		map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		while(map != null)
		{
			String[] aryWk = {map.getString("SVC_KEI_NO"),
							map.getString("SEIKY_KEI_NO"),
							map.getString("SYSID")};
			lstKey.add(aryWk);
			super.logPrint.printDebugLog("チェック対象:" 
										+ map.getString("SVC_KEI_NO") + "/"
										+ map.getString("SEIKY_KEI_NO") + "/"
										+ map.getString("SYSID"));
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
		}
		//請求契約を検索し、SYSIDをチェック
		for(int i = 0; i < lstKey.size(); i++)
		{
			//サービス契約番号から請求契約のSYSIDを取得
			Object[] param2 = {lstKey.get(i)[this.CINT_SVC_KEI_NO], super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_SEIKY_KEI_KK_SELECT_052(param2);
			map = db_KK_T_SEIKY_KEI.selectNext();
			if(map != null)
			{
				super.logPrint.printDebugLog("個人情報削除判定ワークSVC_KEI_NO:" + lstKey.get(i)[this.CINT_SVC_KEI_NO]);
				super.logPrint.printDebugLog("個人情報削除判定ワークSYSID:" + lstKey.get(i)[this.CINT_SYSID]);
				super.logPrint.printDebugLog("請求契約SYSID:" + map.getString("SYSID"));
				//SYSIDが同じ場合は修正処理を行う
				if(lstKey.get(i)[this.CINT_SYSID].compareTo(map.getString("SYSID")) == 0)
				{
					if(strWkSysId.compareTo(lstKey.get(i)[this.CINT_SYSID]) != 0)
					{
						strWkSysId = lstKey.get(i)[this.CINT_SYSID];
						//同一SYSID１件目の場合、サービス契約番号を削除リストに追加
						lstDel.add(lstKey.get(i)[this.CINT_SVC_KEI_NO]);
						//同一SYSID2件目以降の場合、初期化リストに追加
						lstInit.add(lstKey.get(i)[this.CINT_SYSID]);
					}
				}
			}
		}
		//削除リストに追加されたサービス契約番号単位で削除対象データを削除
		for(int i = 0; i < lstDel.size(); i++)
		{
			executeKK_T_KJNIFDEL_JDG_WK_KK_DELETE_002(new String[]{lstDel.get(i)});
		}
		//初期化リストに追加されたSYSIDから初期化対象となるデータの主キーを取得
		for(int i = 0; i < lstInit.size(); i++)
		{
			executeKK_T_KJNIFDEL_JDG_WK_KK_SELECT_013(new String[]{lstInit.get(i)});
			map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			while(map != null)
			{
				String[] aryWk = {map.getString("SVC_KEI_NO"),
								map.getString("SEIKY_KEI_NO"),
								map.getString("SYSID")};
				lstInitKey.add(aryWk);
				map = db_KK_T_KJNIFDEL_JDG_WK.selectNext();
			}
		}
		//SYSIDの初期化
		initSysId(lstInitKey);
		super.logPrint.printDebugLog("chkSysIdSSeikyKei END");
	}
}
