/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKManHhsSwchAdchgFixAdd
*	ソースファイル名	：JBSbatKKManHhsSwchAdchgFixAdd.java
*	作成者				：富士通　
*	作成日				：2019年10月15日
*＜機能概要＞
*　マンション光配線切替後住所変更確定登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v46.00.00	2019/09/25  FJ)王		【ANK-3731-00-00】マンション光配線切替対応
*	v51.00.00	2020/12/03  FJ)謝		【OM-2020-0001543】対応
*	v54.00.00	2021/08/12  FJ)宮下		【OM-2021-0000225】特殊マンション切替の住所変更時、同じメールアドレスが２レコード存在する
*	v71.00.00	2024/08/20	FJ)舘山		 IT1-2024-0000030_HGW交換不可フラグがリセットされない
*********************************************************************/
package eo.business.service;

import static eo.common.constant.JDKStrConst.ENCODE_SJIS;
import static eo.common.constant.JDKStrConst.LINE_LF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatKK_T_ADCHG_DTL;
import eo.business.util.table.JBSbatKK_T_ADCHM_TPPV;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_MANSION_BUKKEN;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKU_T_KJAK_EOH_NTMANS;
import eo.business.util.table.JBSbatKU_T_KOJIAK;
import eo.business.util.table.JBSbatKU_T_SVKEI_KOJIAK;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JKKStringUtil;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatInputFileUtil;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JCCBatchEsbInterface;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKManHhsSwchAdchgFixAdd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	/** テーブル(住所変更明細)*/
	private static final String D_TBL_NAME_KK_T_ADCHG_DTL = "KK_T_ADCHG_DTL";

	/** テーブル(工事案件)*/
	private static final String D_TBL_NAME_KU_T_KOJIAK = "KU_T_KOJIAK";

	/** テーブル(工事案件＜ｅｏ光ネットマンション＞)*/
	private static final String D_TBL_NAME_KU_T_KJAK_EOH_NTMANS = "KU_T_KJAK_EOH_NTMANS";

	/** テーブル(サービス契約＿工事案件)*/
	private static final String D_TBL_NAME_KU_T_SVKEI_KOJIAK = "KU_T_SVKEI_KOJIAK";

	/** テーブル(申込明細)*/
	private static final String D_TBL_NAME_KK_T_MSKM_DTL = "KK_T_MSKM_DTL";

	/** テーブル(マンション物件)*/
	private static final String D_TBL_NAME_KK_T_MANSION_BUKKEN = "KK_T_MANSION_BUKKEN";

	/** テーブル(ディレイド処理依頼)*/
	private static final String D_TBL_NAME_CC_T_DLYD_TRN_REQ = "CC_T_DLYD_TRN_REQ";

	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";

	/** テーブル(住所変更申込一時保存)*/
	private static final String D_TBL_NAME_KK_T_ADCHM_TPPV = "KK_T_ADCHM_TPPV";

	/** SQL定義キー(KK_SELECT_374)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_374 = "KK_SELECT_374";

	/** SQL定義キー(KK_SELECT_053)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_053 = "KK_SELECT_053";

	/** SQL定義キー(KK_SELECT_027)*/
	private static final String KU_T_SVKEI_KOJIAK_KK_SELECT_027 = "KK_SELECT_027";

	/** SQL定義キー(KK_SELECT_041)*/
	private static final String KK_T_MSKM_DTL_KK_SELECT_041 = "KK_SELECT_041";

	/** SQL定義キー(KK_SELECT_262)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_262 = "KK_SELECT_262";

	/** SQL定義キー(KK_SELECT_077)*/
	private static final String CK_T_CUST_KK_SELECT_077 = "KK_SELECT_077";

	/** SQL定義キー(KK_SELECT_048)*/
	private static final String KU_T_KOJIAK_KK_SELECT_048 = "KK_SELECT_048";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_ADCHM_TPPV_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_054)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_054 = "KK_SELECT_054";

	/** SQL定義キー(KK_SELECT_052)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_052 = "KK_SELECT_052";

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;

	/** テーブルアクセスクラス(住所変更明細)*/
	private JBSbatSQLAccess db_KK_T_ADCHG_DTL = null;

	/** テーブルアクセスクラス(工事案件)*/
	private JBSbatSQLAccess db_KU_T_KOJIAK = null;

	/** テーブルアクセスクラス(工事案件＜ｅｏ光ネットマンション＞)*/
	private JBSbatSQLAccess db_KU_T_KJAK_EOH_NTMANS = null;

	/** テーブルアクセスクラス(サービス契約＿工事案件)*/
	private JBSbatSQLAccess db_KU_T_SVKEI_KOJIAK = null;

	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;

	/** テーブルアクセスクラス(マンション物件)*/
	private JBSbatSQLAccess db_KK_T_MANSION_BUKKEN = null;

	/** テーブルアクセスクラス(ディレイド処理依頼)*/
	private JBSbatSQLAccess db_CC_T_DLYD_TRN_REQ = null;

	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;

	/** テーブルアクセスクラス(住所変更申込一時保存)*/
	private JBSbatSQLAccess db_KK_T_ADCHM_TPPV = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 空白 */
	private static final String BLANK_VALUE = "";
	/** 住所変更登録パターン: "2"(入力内容確定) */
	private static final String AD_CHG_ADD_PTN = "2";
	/** 復元パターン: "1" */
	private static final String RVS_PAT = "2";
	/** 変更確定フラグ: "1" */
	private static final String IS_ADCHG_FIX_FLG = "1";
	/** 主要項目種別コード: "2"(部品呼び出し) */
	private static final String MAJOR_KMK_SBT_CD = "2";
	/** 業務パラメータID: "KK_HHB_MAX_KEI_CNT"(光ハイブリッド最大契約数) */
	private static final String KK_HHB_MAX_KEI_CNT = "KK_HHB_MAX_KEI_CNT";
	/** 電子ファイル名 */
	private static final String EFILE_NAME = "EO2HG0120J0_EFILE.csv";
	/** 宅内機器撤去種別："0"(引継) */
	private static final String TKK_TEKKYO_SBT_0 = "0";
	/** 宅内機器撤去種別："1"(撤去) */
	private static final String TKK_TEKKYO_SBT_1 = "1";
	/** 起動元コード："02"(バッチ) */
	private static final String KIDO_CD_BAT = "02";
	/** 住所変更内異動区分："01"(解約) */
	private static final String ADCHG_IDO_DIV = "01";
// OM-2021-0000225 ADD START
	/** 住所変更ステータス [完了済] */
	private static final String CD01240_FIN_ZUMI = "003";
// OM-2021-0000225 ADD END
	
	/** サービス呼出し用 */
	/** サービスID: "KKSV0698" */
	private static final String UCID_KKSV0698 = "KKSV0698";
	/** オペレーションID: "KKSV0698OP" */
	private static final String OPID_KKSV0698OP = "KKSV0698OP";
	/** サービスID: "KKSV0325" */
	private static final String UCID_KKSV0325 = "KKSV0325";
	/** オペレーションID: "KKSV0325OP" */
	private static final String OPID_KKSV0325OP = "KKSV0325OP";
	/** 変更前電話サービス契約番号 */
	private static final String TEL_SVC_KEI_NO_BF = "TEL_SVC_KEI_NO_BF";
	/** 変更後電話サービス契約番号 */
	private static final String TEL_SVC_KEI_NO_AF = "TEL_SVC_KEI_NO_AF";
	/** 変更前テレビサービス契約番号 */
	private static final String TV_SVC_KEI_NO_BF = "TV_SVC_KEI_NO_BF";
	/** 変更後テレビサービス契約番号 */
	private static final String TV_SVC_KEI_NO_AF = "TV_SVC_KEI_NO_AF";
	/** 変更前SYSID */
	private static final String SYSID_BF = "SYSID_BF";
	/** ネット申込明細番号 */
	private static final String NET_MSKM_DTL_NO = "NET_MSKM_DTL_NO";
	/** 電話申込明細番号 */
	private static final String TEL_MSKM_DTL_NO = "TEL_MSKM_DTL_NO";
	/** テレビ申込明細番号 */
	private static final String TV_MSKM_DTL_NO = "TV_MSKM_DTL_NO";
	
	/** サービス契約異動種別コード：ネット */
	private String svcKeiIdoSbtCdNet = null;
	/** サービス契約異動種別コード：電話 */
	private String svcKeiIdoSbtCdTel = null;
	/** サービス契約異動種別コード：テレビ */
	private String svcKeiIdoSbtCdTv = null;
	/** マンション物件コード（変更前） */
	private String mansBukkenCdBf = null;
	/** マンション物件コード（変更後） */
	private String mansBukkenCdAf = null;
	/** 変更後テレビ工事案件ステータス */
	private String kojiakStatTv = null;
	/** エラー件数 */
	private int errCount = 0;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_ADCHG_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHG_DTL);
		db_KU_T_KOJIAK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_KOJIAK);
		db_KU_T_KJAK_EOH_NTMANS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_KJAK_EOH_NTMANS);
		db_KU_T_SVKEI_KOJIAK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_SVKEI_KOJIAK);
		db_KK_T_MSKM_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM_DTL);
		db_KK_T_MANSION_BUKKEN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MANSION_BUKKEN);
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_KK_T_ADCHM_TPPV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHM_TPPV);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// エラー件数初期化
		errCount = 0;
		
		// フリー項目を取得
		String[] freeItem = commonItem.getFreeItem().split(JKKBatConst.S_PARAM_DELIM);
		
		// マンション光配線切替後住所変更確定ファイルを読込
		JBSbatInputFileUtil adchgFixFile = new JBSbatInputFileUtil(freeItem[0]);
		adchgFixFile.setEncode(JKKBatConst.SJIS);
		adchgFixFile.createReader();
		
		// マンション光配線切替後住所変更確定データの一行目
		String adchgFixData = adchgFixFile.readLine();
		
		// マンション光配線切替後住所変更確定データを取得し、更新を行う
		while (adchgFixData != null)
		{
			// パラメータ初期化
			svcKeiIdoSbtCdNet = null;
			svcKeiIdoSbtCdTel = null;
			svcKeiIdoSbtCdTv = null;
			mansBukkenCdBf = null;
			mansBukkenCdAf = null;
			kojiakStatTv = null;
			
			// データを保存する配列
			String[] adchgFix = adchgFixData.split(JKKBatConst.S_SEP_CAM);
			
			// 住所変更前後情報取得
			HashMap<String, Object> adchgInfo = getAdchgInfo(adchgFix);
			
			// 住所確定前チェック処理
			if (!adchgFixCheck(adchgFix, adchgInfo))
			{
				// 次のレコードへ移る
				adchgFixData = adchgFixFile.readLine();
				continue;
			}
			else
			{
// OM-2020-0001543 MOD START
//				// 住所確定処理
//				adchgFixExcute(adchgFix, adchgInfo);
//				
//				// コミット
//				this.commit();
				// 住所確定処理
				boolean adchgFixExcuteResult = adchgFixExcute(adchgFix, adchgInfo);
				
				if (!adchgFixExcuteResult)
				{
					// コネクションのロールバック
					commonItem.getConnection().rollback();
				}
				else
				{
					// コミット
					this.commit();
				}
// OM-2020-0001543 MOD END
				
				// 次のデータを取得する
				adchgFixData = adchgFixFile.readLine();
			}
		}
		
		// エラー件数設定
		if (errCount != 0)
		{
			super.commonItem.setErrorCount(errCount);
		}
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_ADCHG_DTL.close();
		db_KU_T_KOJIAK.close();
		db_KU_T_KJAK_EOH_NTMANS.close();
		db_KU_T_SVKEI_KOJIAK.close();
		db_KK_T_MSKM_DTL.close();
		db_KK_T_MANSION_BUKKEN.close();
		db_CC_T_DLYD_TRN_REQ.close();
		db_CK_T_CUST.close();
		db_KK_T_ADCHM_TPPV.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_374)で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_374(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_374);
	}

	/**
	 * SQLKEY(KK_SELECT_053)で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_ADCHG_DTL_KK_SELECT_053(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_053);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	KOJIAK_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKU_T_KOJIAK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("KOJIAK_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_KU_T_KOJIAK.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	KOJIAK_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKU_T_KJAK_EOH_NTMANS_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("KOJIAK_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_KU_T_KJAK_EOH_NTMANS.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_027)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約回線内訳番号
	 *		 	サービス契約_工事案件適用開始年月日
	 *		 	サービス契約_工事案件適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKU_T_SVKEI_KOJIAK_KK_SELECT_027(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KU_T_SVKEI_KOJIAK.selectBySqlDefine(paramList, KU_T_SVKEI_KOJIAK_KK_SELECT_027);
	}

	/**
	 * SQLKEY(KK_SELECT_041)で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_MSKM_DTL_KK_SELECT_041(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.selectBySqlDefine(paramList, KK_T_MSKM_DTL_KK_SELECT_041);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	MANSION_BUKKEN_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_MANSION_BUKKEN_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("MANSION_BUKKEN_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_KK_T_MANSION_BUKKEN.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ディレイド処理依頼番号				DLYD_TRN_REQ_NO
	 *		 	ディレイド処理依頼ステータス				DLYD_TRN_REQ_STAT
	 *		 	ディレイド処理実施運用年月日時分秒				DLYD_TRN_JSSI_UNYO_DTM
	 *		 	入力電子ファイル管理番号				INPUT_EFILE_KANRI_NO
	 *		 	入力電子ファイル世代登録年月日時分秒				INPUT_EFILE_GENE_ADD_DTM
	 *		 	依頼ジョブＩＤ				REQ_JOB_ID
	 *		 	システムコード				SYS_CD
	 *		 	ディレイド処理依頼種別コード				DLYD_TRN_REQ_SBT_CD
	 *		 	ディレイド処理結果コード				DLYD_TRN_RSLT_CD
	 *		 	エラー電子ファイル管理番号				ERR_EFILE_KANRI_NO
	 *		 	エラー電子ファイル世代登録年月日時分秒				ERR_EFILE_GENE_ADD_DTM
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCC_T_DLYD_TRN_REQ_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("DLYD_TRN_REQ_NO", setParam[0]);
		setMap.setValue("DLYD_TRN_REQ_STAT", setParam[1]);
		setMap.setValue("DLYD_TRN_JSSI_UNYO_DTM", setParam[2]);
		setMap.setValue("INPUT_EFILE_KANRI_NO", setParam[3]);
		setMap.setValue("INPUT_EFILE_GENE_ADD_DTM", setParam[4]);
		setMap.setValue("REQ_JOB_ID", setParam[5]);
		setMap.setValue("SYS_CD", setParam[6]);
		setMap.setValue("DLYD_TRN_REQ_SBT_CD", setParam[7]);
		setMap.setValue("DLYD_TRN_RSLT_CD", setParam[8]);
		setMap.setValue("ERR_EFILE_KANRI_NO", setParam[9]);
		setMap.setValue("ERR_EFILE_GENE_ADD_DTM", setParam[10]);
		setMap.setValue("ADD_DTM", setParam[11]);
		setMap.setValue("ADD_OPEACNT", setParam[12]);
		setMap.setValue("UPD_DTM", setParam[13]);
		setMap.setValue("UPD_OPEACNT", setParam[14]);
		setMap.setValue("DEL_DTM", setParam[15]);
		setMap.setValue("DEL_OPEACNT", setParam[16]);
		setMap.setValue("MK_FLG", setParam[17]);
	
		// DBアクセスを実行します
		db_CC_T_DLYD_TRN_REQ.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(KK_SELECT_262)で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_KKTK_SVC_KEI_KK_SELECT_262(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_262);
	}

	/**
	 * SQLKEY(KK_SELECT_077)で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 executeCK_T_CUST_KK_SELECT_077(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_077);
	}

	/**
	 * SQLKEY(KK_SELECT_048)で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_KOJIAK_KK_SELECT_048(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KU_T_KOJIAK.selectBySqlDefine(paramList, KU_T_KOJIAK_KK_SELECT_048);
	}

	/**
	 * 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_ADCHM_TPPV_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_ADCHM_TPPV.selectBySqlDefine(paramList, KK_T_ADCHM_TPPV_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_054)で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_ADCHG_DTL_KK_SELECT_054(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_054);
	}

	/**
	 * 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_ADCHG_DTL_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_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_052);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 住所変更前後情報取得
	 * @param adchgFix 住所変更確定情報
	 * @return 取得結果
	 * @throws Exception 
	 */
	private HashMap<String, Object> getAdchgInfo(String[] adchgFix) throws Exception
	{
		HashMap<String, Object> adchgInfo = new HashMap<String, Object>();
		
		// 変更前後電話、テレビサービス契約番号
		HashMap<String, String> svcKeiNoMap = new HashMap<String, String>();
		executeKK_T_ADCHG_DTL_KK_SELECT_052(new Object[] {adchgFix[11], this.commonItem.getOpeDate(),
				adchgFix[11], this.commonItem.getOpeDate()});
		JBSbatCommonDBInterface resultMap = db_KK_T_ADCHG_DTL.selectNext();
		
		while (resultMap != null)
		{
			if (JKKStrConst.CD00130_02.equals(resultMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				// 変更前電話サービス契約番号
				if (!JKKStringUtil.isNullEmpty(resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO)))
				{
					svcKeiNoMap.put(TEL_SVC_KEI_NO_BF, resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO));
				}
				// 変更後電話サービス契約番号
				if (!JKKStringUtil.isNullEmpty(resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO)))
				{
					svcKeiNoMap.put(TEL_SVC_KEI_NO_AF, resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO));
				}
			}
			if (JKKStrConst.CD00130_03.equals(resultMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				// 変更前テレビサービス契約番号
				if (!JKKStringUtil.isNullEmpty(resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO)))
				{
					svcKeiNoMap.put(TV_SVC_KEI_NO_BF, resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO));
				}
				// 変更後テレビサービス契約番号
				if (!JKKStringUtil.isNullEmpty(resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO)))
				{
					svcKeiNoMap.put(TV_SVC_KEI_NO_AF, resultMap.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO));
				}
			}
			resultMap =  db_KK_T_ADCHG_DTL.selectNext();
		}
		
		// サービス契約情報取得(変更前)
		HashMap<String, String> svcKeiMap = new HashMap<String, String>();
		
		executeKK_T_SVC_KEI_KK_SELECT_374(new Object[] {adchgFix[0], this.commonItem.getOpeDate()});
		JBSbatCommonDBInterface svcKeiResult = db_KK_T_SVC_KEI.selectNext();
		
		// 結果取得
		if (svcKeiResult != null)
		{
			// SYSID
			svcKeiMap.put(SYSID_BF, (String)svcKeiResult.getValue(JBSbatKK_T_SVC_KEI.SYSID));
		}
		
		// 変更前機器提供サービス契約情報取得
		// 利用中機器リスト
		List<HashMap<String, String>> kktkSvcKeiMapBf = new ArrayList<HashMap<String, String>>();
		
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_262(new Object[] {adchgFix[11], this.commonItem.getOpeDate()});
		JBSbatCommonDBInterface kktkMap = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (kktkMap != null)
		{
			// 利用中機器情報
			HashMap<String, String> tkKikiInfo = new HashMap<String, String>();
			
			// 機器提供サービス契約番号
			tkKikiInfo.put(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO, (String)kktkMap.getValue(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
			// 宅内機器種別コード
			tkKikiInfo.put(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD, (String)kktkMap.getValue(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD));
			// 住所変更明細番号
			tkKikiInfo.put(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_NO, (String)kktkMap.getValue(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_NO));
			// 変更前識別番号
			tkKikiInfo.put(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO, (String)kktkMap.getValue(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO));
			// 変更後識別番号
			tkKikiInfo.put(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO, (String)kktkMap.getValue(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO));
			
			kktkSvcKeiMapBf.add(tkKikiInfo);
			
			kktkMap = db_KK_T_KKTK_SVC_KEI.selectNext();
		}
		
		// 変更後機器提供サービス契約情報取得
		HashMap<String, String> kktkSvcKeiMapAf = new HashMap<String, String>();
		if (svcKeiMap != null)
		{
			executeKK_T_ADCHM_TPPV_KK_SELECT_005(new Object[] {svcKeiMap.get(SYSID_BF), adchgFix[1]});
			kktkMap = db_KK_T_ADCHM_TPPV.selectNext();
		}
		
		// 結果取得
		if (kktkMap != null)
		{
			// 機器送付先名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_NM));
			// 機器送付先カナ名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_KANA, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_KANA));
			// 機器送付先住所コード
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AD_CD, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AD_CD));
			// 機器送付先郵便番号	
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_PCD, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_PCD));
			// 機器送付先都道府県名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_STATE_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_STATE_NM));
			// 機器送付先市区町村名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_CITY_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_CITY_NM));
			// 機器送付先大字通称名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_OAZTSU_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_OAZTSU_NM));
			// 機器送付先字丁目名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AZCHO_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AZCHO_NM));
			// 機器送付先番地号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_BNCHIGO, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_BNCHIGO));
			// 機器送付先住所補記・建物名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRTTM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRTTM));
			// 機器送付先住所補記・部屋番号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRRM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRRM));
			// 機器送付先電話番号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_TELNO, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_TELNO));
			// 機器送付先手動入力フラグ
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_MAN_INPUT_FLG, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_MAN_INPUT_FLG));
			// 機器設置先住所コード
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_AD_CD, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_AD_CD));
			// 機器設置先郵便番号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_PCD, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_PCD));
			// 機器設置先都道府県名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_STATE_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_STATE_NM));
			// 機器設置先市区町村名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_CITY_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_CITY_NM));
			// 機器設置先大字通称名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_OAZTSU_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_OAZTSU_NM));
			// 機器設置先字丁目名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_AZCHO_NM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_AZCHO_NM));
			// 機器設置先番地号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_BNCHIGO, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_BNCHIGO));
			// 機器設置先住所補記・建物名
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRTTM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRTTM));
			// 機器設置先住所補記・部屋番号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRRM, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRRM));
			// 機器設置先電話番号
			kktkSvcKeiMapAf.put(JBSbatKK_T_ADCHM_TPPV.ITENS_TELNO, (String)kktkMap.getValue(JBSbatKK_T_ADCHM_TPPV.ITENS_TELNO));
		}
		
		// 工事案件PK検索
		JBSbatCommonDBInterface kojiakMap = executeKU_T_KOJIAK_PKSELECT(new Object[] {adchgFix[7]});
		
		// 変更後ネット工事案件情報
		HashMap<String, String>  kojiakMapAf = new HashMap<String, String>();
		if (kojiakMap != null)
		{
			// 工事案件ステータス
			kojiakMapAf.put(JBSbatKU_T_KOJIAK.KOJIAK_STAT, (String)kojiakMap.getValue(JBSbatKU_T_KOJIAK.KOJIAK_STAT));
			// マンション工事案件ステータス
			kojiakMapAf.put(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD, (String)kojiakMap.getValue(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD));
		}
		
		// 移転先テレビサービス情報取得
		JBSbatCommonDBInterface svkeiKjak = new JBSbatCommonDBInterface();
		HashMap<String, String> svkeiKjakMap = new HashMap<String, String>();
		
		// サービス契約＿工事案件検索
		executeKU_T_SVKEI_KOJIAK_KK_SELECT_027(new Object[] {adchgFix[6], this.commonItem.getOpeDate(), this.commonItem.getOpeDate()});
		svkeiKjak = db_KU_T_SVKEI_KOJIAK.selectNext();
		
		if (svkeiKjak != null)
		{
			// サービス契約番号
			svkeiKjakMap.put(JBSbatKU_T_SVKEI_KOJIAK.SVC_KEI_NO, svkeiKjak.getString(JBSbatKU_T_SVKEI_KOJIAK.SVC_KEI_NO));
			// 工事案件番号
			svkeiKjakMap.put(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO, svkeiKjak.getString(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO));
		}
		
		// 変更後ネット申込明細情報取得
		HashMap<String, String> mskmDtlInfoAf = new HashMap<String, String>();
		executeKK_T_MSKM_DTL_KK_SELECT_041(new Object[] {adchgFix[11], adchgFix[5]});
		JBSbatCommonDBInterface mskmDtlInfo = db_KK_T_MSKM_DTL.selectNext();
		
		if (mskmDtlInfo != null)
		{
			// 申込番号
			mskmDtlInfoAf.put(JBSbatKK_T_MSKM_DTL.MSKM_NO, mskmDtlInfo.getString(JBSbatKK_T_MSKM_DTL.MSKM_NO));
			// 申込明細番号
			mskmDtlInfoAf.put(NET_MSKM_DTL_NO, mskmDtlInfo.getString(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO));
			mskmDtlInfoAf.put(TEL_MSKM_DTL_NO, BLANK_VALUE);
			mskmDtlInfoAf.put(TV_MSKM_DTL_NO, BLANK_VALUE);
		}
		
		// 変更後電話申込明細情報取得
		if (!JKKStringUtil.isNullEmpty(svcKeiNoMap.get(TEL_SVC_KEI_NO_AF)))
		{
			executeKK_T_MSKM_DTL_KK_SELECT_041(new Object[] {adchgFix[11], svcKeiNoMap.get(TEL_SVC_KEI_NO_AF)});
			mskmDtlInfo = db_KK_T_MSKM_DTL.selectNext();
			
			if (mskmDtlInfo != null)
			{
				// 申込明細番号
				mskmDtlInfoAf.put(TEL_MSKM_DTL_NO, mskmDtlInfo.getString(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO));
			}
		}
		
		// 変更後テレビ申込明細情報取得
		if (!JKKStringUtil.isNullEmpty(svcKeiNoMap.get(TV_SVC_KEI_NO_AF)))
		{
			executeKK_T_MSKM_DTL_KK_SELECT_041(new Object[] {adchgFix[11], svcKeiNoMap.get(TV_SVC_KEI_NO_AF)});
			mskmDtlInfo = db_KK_T_MSKM_DTL.selectNext();
			
			if (mskmDtlInfo != null)
			{
				// 申込明細番号
				mskmDtlInfoAf.put(TV_MSKM_DTL_NO, mskmDtlInfo.getString(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO));
			}
		}
		
		adchgInfo.put("svcKeiNoMap", svcKeiNoMap);
		adchgInfo.put("svcKeiMap", svcKeiMap);
		adchgInfo.put("kktkSvcKeiMapBf", kktkSvcKeiMapBf);
		adchgInfo.put("kktkSvcKeiMapAf", kktkSvcKeiMapAf);
		adchgInfo.put("kojiakMapAf", kojiakMapAf);
		adchgInfo.put("svkeiKjakMap", svkeiKjakMap);
		adchgInfo.put("mskmDtlInfoAf", mskmDtlInfoAf);
		
		return adchgInfo;
	}
	/**
	 * 住所変更確定前チェック処理
	 * @param adchgFix 住所変更確定情報
	 * @return チェック結果
	 * @throws Exception 
	 */
	private boolean adchgFixCheck(String[] adchgFix, HashMap<String, Object> adchgInfo) throws Exception
	{
		// 住所変更確定チェックサービス用パラメータ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// サービス呼出用
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// 変更後サービス契約
		HashMap<String, String> svcKeiMap = (HashMap<String, String>) adchgInfo.get("svcKeiMap");
		// SYSID
		String sysid = svcKeiMap.get(SYSID_BF);
		
// OM-2021-0000225 ADD START
		//住所変更.住所変更ステータスが「003:完了済」の場合
		if(CD01240_FIN_ZUMI.equals(adchgFix[12]))
		{
			return false;
		}
// OM-2021-0000225 ADD END
		// 住所変更明細取得
		executeKK_T_ADCHG_DTL_KK_SELECT_053(new Object[] {adchgFix[11], this.commonItem.getOpeDate()});
		JBSbatCommonDBInterface adchgMap = db_KK_T_ADCHG_DTL.selectNext();
		
		// サービス契約異動種別コード
		while (adchgMap != null)
		{
			if (JKKStrConst.CD00130_01.equals(adchgMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				// ネットサービス
				svcKeiIdoSbtCdNet = adchgMap.getString(JBSbatKK_T_ADCHG_DTL.SVC_KEI_IDO_SBT_CD);
			}
			if (JKKStrConst.CD00130_02.equals(adchgMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				// 電話サービス
				svcKeiIdoSbtCdTel = adchgMap.getString(JBSbatKK_T_ADCHG_DTL.SVC_KEI_IDO_SBT_CD);
			}
			if (JKKStrConst.CD00130_03.equals(adchgMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				// テレビサービス
				svcKeiIdoSbtCdTv = adchgMap.getString(JBSbatKK_T_ADCHG_DTL.SVC_KEI_IDO_SBT_CD);
			}
			adchgMap = db_KK_T_ADCHG_DTL.selectNext();
		}
		
		// 上りマッピング
		this.setKKSV069801SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069802SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_2);
		this.setKKSV069803SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069804SC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_2);
		this.setKKSV069805SC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069812SC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069802CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069803CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069804CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069805CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069807CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069818CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069823CC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069824CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069815SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_2);
		
		// 移転先に電話サービスがないため、以下のチェックが実行しません。
		// ただし、reqchkエラーを回避するため、パラメータに空白を設定する。
		this.setKKSV069806SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069807SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069808SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069809SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069810SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069811SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069813SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		this.setKKSV069814SC(inputMap, adchgFix, JPCModelConstant.FUNC_CD_1);
		
		// パラメータ設定
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, UCID_KKSV0698);
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_OPERATION_ID, OPID_KKSV0698OP);
		try
		{
			JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputMap, outputMap);
		}
		catch (Exception ex)
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"住所変更チェックにシステムエラーが発生した",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errCount++;
			
			return false;
		}
// OM-2020-0001543 ADD START
		// サービスの呼び出し結果が正常終了でない場合
		String returnCode = JCCBatchEsbInterface.getReturnCode(outputMap);
		if (!JCCBatchEsbInterface.RETURN_CODE_SUCCESS.equals(returnCode))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"住所変更チェックに業務エラーが発生した",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errCount++;
			
			return false;
		}
// OM-2020-0001543 ADD END
		
		// 実行結果チェック
		if (checkKKSV069804CC(outputMap, adchgFix, sysid) && checkKKSV069807CC(outputMap, adchgFix, sysid) 
				&& checkKKSV069818CC(outputMap, adchgFix, sysid) && checkKKSV069824CC(outputMap, adchgFix, sysid)
				&& kakteiKojiakStatChk(inputMap, adchgInfo, adchgFix, sysid))
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * 住所変更確定処理
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @return 実行結果 true:エラーなし、false:エラーあり
	 * @throws Exception 
	 */
// OM-2020-0001543 MOD START
//	private void adchgFixExcute(String[] adchgFix, HashMap<String, Object> adchgInfo) throws Exception
	private boolean adchgFixExcute(String[] adchgFix, HashMap<String, Object> adchgInfo) throws Exception
// OM-2020-0001543 MOD END
	{
		// 住所変更確定チェックサービス用パラメータ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// サービス呼出用
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// 上りマッピング
		this.setKKSV032501SC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_4);
		this.setKKSV032507CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV032510CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV032511CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV032514CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV032513CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
		this.setKKSV032512CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
// ▽▽▽ IT1-2024-0000030 ADD START
		this.setKKSV032517CC(inputMap, adchgFix, adchgInfo, JPCModelConstant.FUNC_CD_1);
// △△△ IT1-2024-0000030 ADD END
		
		// パラメータ設定
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, UCID_KKSV0325);
		paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_OPERATION_ID, OPID_KKSV0325OP);
		
// OM-2020-0001543 MOD START
//		JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputMap, outputMap);
		try
		{
			JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputMap, outputMap);
		}
		catch (Exception ex)
		{
			// エラー内容をログに出力する
			String umekomiStr = "【システムエラー】住所変更完了登録サービス　変更前サービス契約番号：" + adchgFix[0];
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, new String[]{umekomiStr});
			super.commonItem.setErrFlg(true);
			errCount++;
			
			return false;
		}
		
		// サービスの呼び出し結果が正常終了でない場合
		String returnCode = JCCBatchEsbInterface.getReturnCode(outputMap);
		if (!JCCBatchEsbInterface.RETURN_CODE_SUCCESS.equals(returnCode))
		{
			// エラー内容をログに出力する
			String umekomiStr = "【業務エラー】住所変更完了登録サービス　変更前サービス契約番号：" + adchgFix[0];
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB0010CW, new String[]{umekomiStr});
			super.commonItem.setErrFlg(true);
			errCount++;
			
			return false;
		}
		
		return true;
// OM-2020-0001543 MOD END
	}
	/** 
	 * 機器提供サービス契約一覧照会(KKSV069801SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069801SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 変更前サービス契約回線内訳番号 → 機器提供サービス契約一覧照会（サービス契約回線内訳）.制御＿変更前サービス契約回線内訳番号
		scMap.put("ctrl_bf_svkei_ksn_uw_no", adchgFix[1]);
		
		inputMap.put("KKSV069801SC", scMap);
	}
	
	/** 
	 * 工事案件一覧照会（ネット＿電話）(KKSV069802SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069802SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 変更後工事案件番号 → 工事案件一覧照会（工事案件番号サービス契約番号）（ネット＿電話）ＳＣ.新設住所＿工事案件番号＿ネット電話
		scMap.put("newesta_ad_koji_no_nttl", adchgFix[7]);
		
		inputMap.put("KKSV069802SC", scMap);
	}
		
	/** 
	 * 主要項目削除実績一覧照会（ネット＿電話）(KKSV069803SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069803SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// "2"(部品呼び出し) → 主要項目削除実績一覧照会（ネット＿電話）ＳＣ.主要項目種別コード
		scMap.put("major_kmk_sbt_cd", String.valueOf("2"));
		// 変更後工事案件番号 → 主要項目削除実績一覧照会（ネット＿電話）ＳＣ.新設住所＿工事案件番号＿ネット電話
		scMap.put("newesta_ad_koji_no_nttl", adchgFix[7]);
		
		inputMap.put("KKSV069803SC", scMap);
	}
		
	/** 
	 * 工事案件一覧照会（テレビ）(KKSV069804SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069804SC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 移転先テレビ情報
		Map<String, String> svkeiKjakMap = (Map<String, String>) adchgInfo.get("svkeiKjakMap");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 変更後工事案件番号
		scMap.put("newesta_ad_koji_no_nttl", svkeiKjakMap.get(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO));
		
		inputMap.put("KKSV069804SC", scMap);
	}
		
	/** 
	 * 主要項目削除実績一覧照会（テレビ）(KKSV069805SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069805SC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 移転先テレビ情報
		Map<String, String> svkeiKjakMap = (Map<String, String>) adchgInfo.get("svkeiKjakMap");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 主要項目種別コード
		scMap.put("major_kmk_sbt_cd", MAJOR_KMK_SBT_CD);
		// 変更後工事案件番号
		scMap.put("newesta_ad_koji_no_nttl", svkeiKjakMap.get(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO));
		
		inputMap.put("KKSV069805SC", scMap);
	}
	
	/** 
	 * 同番移転情報一覧照会（１電番目）(KKSV069806SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069806SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("tln_tln", BLANK_VALUE);
		scMap.put("key_sort_item_no", BLANK_VALUE);
		scMap.put("key_sort_kbn", BLANK_VALUE);
		
		inputMap.put("KKSV069806SC", scMap);
	}
	
	/** 
	 * 同番移転情報一覧照会（２電番目）(KKSV069807SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069807SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("tln_tln", BLANK_VALUE);
		scMap.put("key_sort_item_no", BLANK_VALUE);
		scMap.put("key_sort_kbn", BLANK_VALUE);
		
		inputMap.put("KKSV069807SC", scMap);
	}
	
	/** 
	 * 電話番号一意照会（１電番目）(KKSV069808SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069808SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("tln_tln", BLANK_VALUE);
		
		inputMap.put("KKSV069808SC", scMap);
	}
	
	/** 
	 * エイジング一意照会（１電番目）(KKSV069809SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069809SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("tln_tln", BLANK_VALUE);
		
		inputMap.put("KKSV069809SC", scMap);
	}
	
	/** 
	 * 電話番号一意照会（２電番目）(KKSV069810SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069810SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("key_aging_sbt_cd", BLANK_VALUE);
		scMap.put("aging_tg_value", BLANK_VALUE);
		
		inputMap.put("KKSV069810SC", scMap);
	}
	
	/** 
	 * エイジング一意照会（２電番目）(KKSV069811SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069811SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("key_aging_sbt_cd", BLANK_VALUE);
		scMap.put("aging_tg_value", BLANK_VALUE);
		
		inputMap.put("KKSV069811SC", scMap);
	}
	
	/** 
	 * 面開発案件一意照会(KKSV069812SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069812SC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後サービス契約
		Map<String, String> svcKeiMap = (Map<String, String>) adchgInfo.get("svcKeiMap");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 面開発案件番号
		scMap.put("newesta_ad_mnkht_anken_no", BLANK_VALUE);
		
		inputMap.put("KKSV069812SC", scMap);
	}
	
	/** 
	 * 同番移転チェック（１電番目）(KKSV069813SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069813SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("sysid", BLANK_VALUE);
		scMap.put("adchm_tppv_no", BLANK_VALUE);
		scMap.put("adchm_tln_tppv_no", BLANK_VALUE);
		
		inputMap.put("KKSV069813SC", scMap);
	}
	
	/** 
	 * 同番移転チェック（２電番目）(KKSV069814SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069814SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("sysid", BLANK_VALUE);
		scMap.put("adchm_tppv_no", BLANK_VALUE);
		scMap.put("adchm_tln_tppv_no", BLANK_VALUE);
		
		inputMap.put("KKSV069814SC", scMap);
	}
	
	/** 
	 * 総戸数チェック(KKSV069815SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069815SC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// バッチ実行に影響がないため、無視します。
		scMap.put("req_mans_capa", BLANK_VALUE);
		scMap.put("tk_hoshiki_kei_no", BLANK_VALUE);
		
		inputMap.put("KKSV069815SC", scMap);
	}
	
	/** 
	 * ネット・モバイルチェック(KKSV069802CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV069802CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 工事案件PK検索
		JBSbatCommonDBInterface kojiakMap = executeKU_T_KOJIAK_PKSELECT(new Object[] {adchgFix[2]});
		
		// 変更前工事案件情報
		HashMap<String, String>  kojiakMapBf = new HashMap<String, String>();
		
		if (kojiakMap != null)
		{
			// 	請求契約番号
			kojiakMapBf.put(JBSbatKU_T_KOJIAK.SEIKY_KEI_NO, (String)kojiakMap.getValue(JBSbatKU_T_KOJIAK.SEIKY_KEI_NO));
		}

		// 機能コード
		scMap.put("func_code", funcCode);
		// 業務パラメータID
		scMap.put("work_param_id", KK_HHB_MAX_KEI_CNT);
		// 請求契約番号
		scMap.put("seikyu_cd", kojiakMapBf.get(JBSbatKU_T_KOJIAK.SEIKY_KEI_NO));
		// 運用日付
		scMap.put("ope_date", this.commonItem.getOpeDate());
		// ネットサービス契約番号
		scMap.put("net_svc_kei_no", adchgFix[0]);
		// ネット＿利用サービス変更区分
		scMap.put("eohnt_use_svc_chg_div", svcKeiIdoSbtCdNet);
		// ネット・モバイル判定フラグ
		scMap.put("ctrl_net_mobile_flg", BLANK_VALUE);
		
		inputMap.put("KKSV069802CC", scMap);
	}
	
	/** 
	 * 電波障害案件存在チェック(KKSV069803CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV069803CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		JBSbatCommonDBInterface kjakEohNtmans = executeKU_T_KJAK_EOH_NTMANS_PKSELECT(new Object[] {adchgFix[7]});
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 電波障害案件番号
		scMap.put("dmps_anken_no", kjakEohNtmans.getString(JBSbatKU_T_KJAK_EOH_NTMANS.DMPS_ANKEN_NO));
		
		inputMap.put("KKSV069803CC", scMap);
	}
	
	/** 
	 * 住所変更機能チェック（1周目）(KKSV069804CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 */
	private void setKKSV069804CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// eo光ネット利用サービス変更区分
		scMap.put("eohnt_use_svc_chg_div", svcKeiIdoSbtCdNet);
		// 変更前サービス契約番号 → ｅｏ光ネットサービス契約番号
		scMap.put("net_svc_kei_no", adchgFix[0]);
		// 異動区分
		scMap.put("ido_div", JKKStrConst.CD00576_ADCHG_FIX);
		// 住所変更登録パターン
		scMap.put("ad_chg_add_ptn", AD_CHG_ADD_PTN);
		// 復元パターン
		scMap.put("rvs_pat", RVS_PAT);
		
		inputMap.put("KKSV069804CC", scMap);
		
		scMap = new HashMap<String, Object>();
		
		// チェックタイミングのマッピング
		scMap.put("check_mode", "2");
		
		inputMap.put("KKSV069804_01CC", scMap);
	}
	
	/** 
	 * 住所変更機能チェック（スマートバリュー）(KKSV069805CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069805CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 変更前サービス契約番号
		scMap.put("svcKeiNo", adchgFix[0]);
		// 変更前サービス契約回線内訳番号
		scMap.put("svckeikaisen", adchgFix[1]);
		
		inputMap.put("KKSV069805CC", scMap);
	}
	
	/** 
	 * 住所変更機能チェック（工事依頼状況）(KKSV069807CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV069807CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// サービス契約番号情報
		HashMap<String, String> svcKeiNoMap = (HashMap<String, String>) adchgInfo.get("svcKeiNoMap");
		
		// 変更前ネットサービス契約番号
		scMap.put("net_svc_kei_no", adchgFix[0]);
		// 変更前電話サービス契約番号
		scMap.put("tel_svc_kei_no", svcKeiNoMap.get(TEL_SVC_KEI_NO_BF));
		// 変更前テレビサービス契約番号
		scMap.put("tv_svc_kei_no", svcKeiNoMap.get(TV_SVC_KEI_NO_BF));
		// 変更後電話サービス契約番号
		scMap.put("tel_svc_kei_no_af", svcKeiNoMap.get(TEL_SVC_KEI_NO_AF));
		// 変更後テレビサービス契約番号
		scMap.put("tv_svc_kei_no_af", svcKeiNoMap.get(TV_SVC_KEI_NO_AF));
		// 変更後ネットサービス契約番号
		scMap.put("net_svc_kei_no_af", adchgFix[5]);
		
		// マンション物件コード取得
		mansBukkenCdBf = executeKK_T_MANSION_BUKKEN_PKSELECT(new Object[]{adchgFix[4]}).getString(JBSbatKK_T_MANSION_BUKKEN.MANSION_BUKKEN_CD);
		mansBukkenCdAf = executeKK_T_MANSION_BUKKEN_PKSELECT(new Object[]{adchgFix[9]}).getString(JBSbatKK_T_MANSION_BUKKEN.MANSION_BUKKEN_CD);
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// eo光ネット利用サービス変更区分
		scMap.put("eohnt_use_svc_chg_div", svcKeiIdoSbtCdNet);
		// eo光電話利用サービス変更区分
		scMap.put("eohtl_use_svc_chg_div", svcKeiIdoSbtCdTel);
		// eo光テレビ利用サービス変更区分
		scMap.put("eohtv_use_svc_chg_div", svcKeiIdoSbtCdTv);
		// 変更前マンション物件コード
		scMap.put("itenmMansionBukkenCd", mansBukkenCdBf);
		// 変更後マンション物件コード
		scMap.put("itensMansionBukkenCd", mansBukkenCdAf);
		// 変更前回線コード
		scMap.put("itenmKaisenCd", adchgFix[3]);
		// 変更後回線コード
		scMap.put("itensKaisenCd", adchgFix[8]);
		
		inputMap.put("KKSV069807CC", scMap);
	}
	
	/** 
	 * 機器提供サービス送付先・設置場所住所変更(KKSV069818CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 */
	private void setKKSV069818CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// eo光ネット利用サービス変更区分
		scMap.put("eoh_net_use_svc_chg_div", svcKeiIdoSbtCdNet);
		// eo光電話利用サービス変更区分
		scMap.put("eoh_tel_use_svc_chg_div", svcKeiIdoSbtCdTel);
		// 変更後ネットサービス契約番号
		scMap.put("svc_kei_no_net_af", adchgFix[5]);
		// 変更前回線内訳番号
		scMap.put("itnm_svkei_kisuw_no", adchgFix[1]);
		// 変更後回線内訳番号
		scMap.put("itns_svkei_kisuw_no", adchgFix[6]);
		// 住所変更番号
		scMap.put("adchg_no", adchgFix[11]);
		// 予約適用年月日
		scMap.put("ope_date", commonItem.getOpeDate());
		
		inputMap.put("KKSV069818CC", scMap);
	}
	
	/** 
	 * 転居先電話サービス契約チェック(KKSV069823CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param svcKeiIdoSbtCdNet サービス契約異動種別コード
	 * @param funcCode 機能コード
	 */
	private void setKKSV069823CC(HashMap<String, Object> inputMap, String[] adchgFix, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// パラメータに空白を設定
		scMap.put("svc_kei_no_tel_af", BLANK_VALUE);
		
		inputMap.put("KKSV069823CC", scMap);
	}
	
	/** 
	 * 住所変更機能チェック（引継サービス）(KKSV069824CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix住所変更確定情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV069824CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// サービス契約情報
		Map<String, String> svcKeiMap = (Map<String, String>) adchgInfo.get("svcKeiMap");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// SYSID
		scMap.put("sysid", svcKeiMap.get(SYSID_BF));
		// 変更前ネットサービス契約番号
		scMap.put("net_svc_kei_no_bf", adchgFix[0]);
		// 変更後ネットサービス契約番号
		scMap.put("net_svc_kei_no_af", adchgFix[5]);
		// 住所変更番号
		scMap.put("adchg_adchg_no", adchgFix[11]);
		
		inputMap.put("KKSV069824CC", scMap);
	}
		
	/**
	 * KKSV069824CC実行結果チェック
	 * @param outputMap サービス実行結果
	 * @return true：正常 false：異常あり
	 */
	private boolean checkKKSV069824CC(HashMap<String, Object> kKSV0698Map, String[] adchgFix, String sysid)
	{
		
		// 0:正常 1:異常 2:異常
		String checkSecurityResult = "0";
		String checkPremiumResult = "0";
		String checkInetsgwlResult = "0";
		String checkNtfmlprmResult = "0";
		
		// エラーフラグ
		boolean errFlg = false;
		
		HashMap<String,Object> parentMap = null;
		if(kKSV0698Map.containsKey("KKSV069824CC"))
		{
			parentMap = (HashMap<String,Object>)kKSV0698Map.get("KKSV069824CC");
		}
		else
		{
			return true;
		}
		
		if(null != parentMap)
		{
			//割引セキュリティーパック存在有無
			checkSecurityResult = JKKStringUtil.nullToBlank((String)parentMap.get("check_security_result"));
			//割引プレミアムパック存在有無
			checkPremiumResult = JKKStringUtil.nullToBlank((String)parentMap.get("check_premium_result"));
			//サギウォール存在有無
			checkInetsgwlResult = JKKStringUtil.nullToBlank((String)parentMap.get("check_inetsgwl_result"));
			//ノートン存在有無
			checkNtfmlprmResult = JKKStringUtil.nullToBlank((String)parentMap.get("check_ntfmlprm_result"));
		}
		
		//セキュリテーパックチェック
		if ("1".equals(checkSecurityResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		//セキュリテーパックチェック
		if ("2".equals(checkSecurityResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		//プレミアムパックチェック
		if ("1".equals(checkPremiumResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		//プレミアムパックチェック
		if ("2".equals(checkPremiumResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		//サギウォールチェック
		if ("1".equals(checkInetsgwlResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		//ノートンチェック
		if ("1".equals(checkNtfmlprmResult))
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"引き継ぎ対象のオプション、パックが移転先サービス契約に登録済み",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errFlg = true;
			errCount++;
		}
		
		if (errFlg == true)
		{
			return false;
		}
		return true;
	}
		
	/**
	 * KKSV069807CC実行結果チェック
	 * @param outputMap サービス実行結果
	 * @return true：正常 false：異常あり
	 */
	private boolean checkKKSV069807CC(HashMap<String, Object> outputMap, String[] adchgFix, String sysid)
	{
		
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV069807CC"))
		{
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV069807CC");
		}
		
		// チェック結果
		String checkResult="";
		if (parentMap != null)
		{
			checkResult = (String)parentMap.get("check_result");
		}
		
		if (!JKKStringUtil.isNullBlank(checkResult))
		{
			if (checkResult.equals("0"))
			{
				// エラーメッセージを出力する
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"未依頼の工事が存在する",
						sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
				super.commonItem.setErrFlg(true);
				errCount++;
				
				return false;
			}
		}
		return true;
	}
	
	/**
	 * KKSV069804CC実行結果チェック
	 * @param outputMap サービス実行結果
	 * @return true：正常 false：異常あり
	 */
	private boolean checkKKSV069804CC(HashMap<String, Object> outputMap, String[] adchgFix, String sysid)
	{
		
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV069804CC"))
		{
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV069804CC");
		}
		
		// チェック結果
		String result = "";
		result = (String)parentMap.get("check_result");
		
		if ("0".equals(result))
		{
			if ("0".equals(parentMap.get("chk_ido_kiki_stat_result")))
			{
				// エラーメッセージを出力する
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"対象機器の出荷完了が確認できない",
						sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
				super.commonItem.setErrFlg(true);
				errCount++;
			}
			return false;
		}
		return true;
	}
	
	/**
	 * KKSV069818CC実行結果チェック
	 * @param outputMap サービス実行結果
	 * @return true：正常 false：異常あり
	 */
	private boolean checkKKSV069818CC(HashMap<String, Object> outputMap, String[] adchgFix, String sysid)
	{
		
		HashMap<String, Object> parentMap = null;
		if(outputMap.containsKey("KKSV069818CC"))
		{
			parentMap = (HashMap<String, Object>)outputMap.get("KKSV069818CC");
		}
		
		// チェック結果
		String result = "";
		result = (String)parentMap.get("check_result");
		
		if ("0".equals(result))
		{
			if ("0".equals(parentMap.get("chk_rt_shukka")))
			{
				// エラーメッセージを出力する
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"転居元の多機能ルータが出荷未完了の",
						sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
				super.commonItem.setErrFlg(true);
				errCount++;
			}
			else if ("0".equals(parentMap.get("chk_rt_option")))
			{
				// エラーメッセージを出力する
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"転居元の機器オプション状態が不正の",
						sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
				super.commonItem.setErrFlg(true);
				errCount++;
			}
			
			return false;
		}
		return true;
	}
	
	/**
	 * 工事案件ステータスチェック（確定画面用）
	 * 
	 * @param  inputMap チェック用パラメータマップ
	 * @param  adchgInfo 住所変更情報
	 * @param  adchgFix 住所確定情報
	 * @param  sysid SYSID
	 * @return チェック結果
	 * @throws Exception 
	 */
	private boolean kakteiKojiakStatChk(HashMap<String, Object> inputMap, HashMap<String, Object> adchgInfo, String[] adchgFix, String sysid) throws Exception
	{
		// チェック結果
		boolean retChk = true;
		
		// 変更後工事案件情報
		HashMap<String, String> kojiakInfoAf = (HashMap<String, String>) adchgInfo.get("kojiakMapAf");
		
		// 変更後テレビサービス工事案件情報
		HashMap<String, String> svkeiKjakMap = (HashMap<String, String>) adchgInfo.get("svkeiKjakMap");
		
		// サービス契約番号
		HashMap<String, String> svcKeiNoMap = (HashMap<String, String>) adchgInfo.get("svcKeiNoMap");
		
		// 変更前テレビサービス契約番号
		String tvSvcKeiNoBf = svcKeiNoMap.get(TV_SVC_KEI_NO_BF);
		// 変更後テレビサービス契約番号
		String tvSvcKeiNoAf = svcKeiNoMap.get(TV_SVC_KEI_NO_AF);
		
		// 変更後ネット工事案件ステータス
		String kojiakStatNet = kojiakInfoAf.get(JBSbatKU_T_KOJIAK.KOJIAK_STAT);
		if (kojiakStatNet != null && JKKStrConst.CD00474_120.equals(kojiakStatNet))
		{
			// 変更後ネット工事案件ステータスが「120：登録済み」の場合、マンション工事案件ステータスを設定する
			kojiakStatNet = kojiakInfoAf.get(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD);
		}
		
		// 変更後テレビ工事案件情報取得
		JBSbatCommonDBInterface kojiakMap = new JBSbatCommonDBInterface();
		// 工事案件PK検索
		if (svkeiKjakMap != null && !JKKStringUtil.isNullEmpty(svkeiKjakMap.get(JBSbatKU_T_KOJIAK.KOJIAK_NO)))
		{
			kojiakMap = executeKU_T_KOJIAK_PKSELECT(new Object[] {svkeiKjakMap.get(JBSbatKU_T_KOJIAK.KOJIAK_NO)});
			
			// 変更後テレビ工事案件ステータス
			kojiakStatTv = kojiakMap.getString(JBSbatKU_T_KOJIAK.KOJIAK_STAT);
			if (kojiakStatTv != null && JKKStrConst.CD00474_120.equals(kojiakStatTv))
			{
				// 変更後テレビ工事案件ステータスが「120：登録済み」の場合、マンション工事案件ステータスを設定する
				kojiakStatTv = kojiakMap.getString(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD);
			}
		}
		
		//光ネットの新設工事の工事案件ステータスが中止の場合はエラー
		if (kojiakStatNet != null && JKKStrConst.CD00474_900.equals(kojiakStatNet))
		{
			retChk = false;
		}
		
		// 移転先＿マンション物件コード
		String itensMansionBukkenCd = mansBukkenCdAf;
		// 移転先＿回線コード
		String itensKaisenCd = adchgFix[8];
		
		boolean netKojiNashiFlg = true;
		// マンションかつ光回線以外
		if("001".equals(itensMansionBukkenCd) && !"1004".equals(itensKaisenCd)){
			// ネット工事無し
			netKojiNashiFlg = true;
		}
		
		// KCN、再送信のフラグ
		boolean kcnSaisoshinFlg = false;
		
		// 料金グループコード
		String tmpString = kojiakMap.getString(JBSbatKU_T_KOJIAK.PRC_GRP_CD);
		if ( !JKKStringUtil.isNullEmpty(tmpString) && 
			(tmpString.equals("12") || tmpString.equals("13")))
		{
			//変更先がKCNか再送信
			kcnSaisoshinFlg = true;
		}
		if(!JKKStringUtil.isNullEmpty(tvSvcKeiNoAf) && !tvSvcKeiNoAf.equals(tvSvcKeiNoBf))
		{
			kcnSaisoshinFlg = true;
		}
		
		//光テレビ(KCN、再送信)の新設工事の工事案件ステータスが中止の場合はエラー
		if (kcnSaisoshinFlg && kojiakStatTv != null && JKKStrConst.CD00474_900.equals(kojiakStatTv))
		{
			retChk = false;
		}
		
		//全てのサービスの新設工事の工事案件ステータスが中止の場合はエラー
		boolean chushiFlg = true; //有効なものがあればfalseに倒す
		if (netKojiNashiFlg
			|| (kojiakStatNet != null && !JKKStrConst.CD00474_900.equals(kojiakStatNet)))
		{
			chushiFlg = false;
		}
		if (kojiakStatTv != null && !JKKStrConst.CD00474_900.equals(kojiakStatTv))
		{
			chushiFlg = false;
		}
		
		retChk = retChk && !chushiFlg;
		if (!retChk)
		{
			// エラーメッセージを出力する
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB2010AW, new String[]{"新設工事が取消の",
					sysid, adchgFix[0], adchgFix[5], adchgFix[11]});
			super.commonItem.setErrFlg(true);
			errCount++;
		}
		return retChk;
	}
	
	/** 
	 * ディレイド処理依頼登録(KKSV032501SC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV032501SC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後ネット申込明細情報
		HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
		
		String pathRoot = this.commonItem.getFreeItem().split(JKKStrConst.SEMI_COLON)[1];
		String pathFile = EFILE_NAME;
		String midFilePath = null;
		
		String pathDlmt = JKKStrConst.PATH_DLMT_UNIX;
		if (pathRoot.indexOf(JKKStrConst.PATH_DLMT_WIN) > -1)
		{
			pathDlmt = JKKStrConst.PATH_DLMT_WIN;
		}
		
		// ファイルパス（パス + ファイル名）の取得
		if (!pathRoot.endsWith(pathDlmt))
		{
			midFilePath = pathRoot + pathDlmt + pathFile;
		}
		else
		{
			midFilePath = pathRoot + pathFile;
		}
		
		// 電子ファイル管理情報
		String[] retDenshiFile = null;
		try
		{
			// ファイル出力制御クラスのコンストラクタ生成
			JBSbatOutputFileUtil outFile = new JBSbatOutputFileUtil(midFilePath);
			
			// 出力ファイル形式設定
			outFile.setEncode(ENCODE_SJIS);		// 文字コード
			outFile.setLine(LINE_LF);			// 改行コード
			
			// 電子ファイルを作成する
			outFile.createWriter();
			outFile.write(mskmDtlInfoAf.get(JBSbatKK_T_MSKM_DTL.MSKM_NO));
			outFile.close();
			
			// 電子ファイル管理データの登録を行う
			retDenshiFile = JCCBatCommon.createDenshiFile(this.commonItem, "0000", midFilePath, "20991231");
		}
		catch (Exception ex)
		{
			throw ex;
		}
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// ディレイド処理依頼登録ＳＣ.依頼ジョブＩＤ
		scMap.put("req_job_id", "EO23I0320J0");
		// ディレイド処理依頼登録ＳＣ.ディレイド処理依頼種別コード
		scMap.put("dlyd_trn_req_sbt_cd", "00000");
		
		// ディレイド処理依頼番号を採番する。
		String seqDlydTrnReqNo = JCCBatCommon.getFormatedNextSeq(commonItem, "SEQ_DLYD_TRN_REQ_NO", "D", 14);
		
		// ディレイド処理依頼情報の登録を行う。
		String[] paramValue = this.createCcTDlydTrnReq(seqDlydTrnReqNo, retDenshiFile);
		this.executeCC_T_DLYD_TRN_REQ_PKINSERT(paramValue);
		
		inputMap.put("KKSV032501SC", scMap);
	}
	
	/**
	 * ディレイド処理依頼情報登録文字配列を作成します。<br>
	 * <br>
	 * @param seqDlydTrnReqNo ディレイド処理依頼番号
	 * @param retDenshiFile 電子ファイル管理情報
	 * @return 登録用文字配列
	 */
	private String[] createCcTDlydTrnReq(String seqDlydTrnReqNo, String[] retDenshiFile)
	{

		String[] strParam = new String[18];

		// ディレイド処理依頼番号
		strParam[0] = seqDlydTrnReqNo;

		// ディレイド処理依頼ステータス
		strParam[1] = "001";

		// ディレイド処理実施運用年月日時分秒
		strParam[2] = "00000000000000000";

		// 入力電子ファイル管理番号
		strParam[3] = retDenshiFile[0];

		// 入力電子ファイル世代登録年月日時分秒
		strParam[4] = retDenshiFile[1];

		// 依頼ジョブID
		strParam[5] = "EO23I0320J0";

		// システムコード
		strParam[6] = "99";

		// ディレイド処理依頼種別コード
		strParam[7] = "00000";

		// ディレイド処理結果コード
		strParam[8] = null;

		// エラー電子ファイル管理番号
		strParam[9] = null;

		// エラー電子ファイル世代登録年月日時分秒
		strParam[10] = null;

		return strParam;
	}
	
	/** 
	 * 住所変更情報日付変更(KKSV032507CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV032507CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// サービス契約
		HashMap<String, String> svcKeiMap = (HashMap<String, String>) adchgInfo.get("svcKeiMap");
		
		// 変更後ネット申込明細情報
		HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
		
		// 変更後住所変更情報
		executeKK_T_ADCHG_DTL_KK_SELECT_054(new Object[]{adchgFix[11]});
		
		// 入居予定年月日
		String nyukyoRsvYmd = db_KK_T_ADCHG_DTL.selectNext().getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
		
		// バッチ運用日付
		String opeDate = this.commonItem.getOpeDate();
		
		// 機能コード
		scMap.put("func_code", funcCode);
		scMap.put("func_cd", funcCode);
		
		// 住所変更番号
		scMap.put("adchg_adchg_no", adchgFix[11]);
		// 移転元サービス契約回線内訳番号
		scMap.put("svc_kei_kaisen_ucwk_no", adchgFix[1]);
		// 移転先_入居予定年月日
		if (opeDate.compareTo(nyukyoRsvYmd) < 0)
		{
			// 運用日付 ＜ 入居予定日の場合は入居予定日を運用日に設定
			scMap.put("itens_nyukyo_rsv_ymd", opeDate);
		}
		else
		{
			scMap.put("itens_nyukyo_rsv_ymd", nyukyoRsvYmd);
		}
		// 撤去工事解約希望年月日
		scMap.put("tppv_tkkj_dsl_kibo_ymd", adchgFix[10]);
		// SYSID
		scMap.put("sysid", svcKeiMap.get(SYSID_BF));
		// 異動区分
		scMap.put("ido_div", JKKStrConst.CD00576_ADCHG_ADD);
		// 申込明細番号
		scMap.put("mskm_dtl_no_net", mskmDtlInfoAf.get(NET_MSKM_DTL_NO));
		scMap.put("mskm_dtl_no_tel", mskmDtlInfoAf.get(TEL_MSKM_DTL_NO));
		scMap.put("mskm_dtl_no_tv", mskmDtlInfoAf.get(TV_MSKM_DTL_NO));
		// 変更確定フラグ
		scMap.put("isAdchgFixFlg", IS_ADCHG_FIX_FLG);
		// 住変確定年月日
		scMap.put("adchgFixYmd", opeDate);

		
		inputMap.put("KKSV032507CC", scMap);
	}
	
	/** 
	 * 機器オプションサービス契約変更(KKSV032511CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV032511CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後ネット申込明細情報
		HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		scMap.put("func_cd", funcCode);
		
		// 住所変更番号
		scMap.put("adchg_no", adchgFix[11]);
		// 変更後サービス契約番号（ネット）
		scMap.put("net_svc_kei_no", adchgFix[5]);
		// サービス契約番号（電話）
		scMap.put("tel_svc_kei_no", BLANK_VALUE);
		// 異動区分
		scMap.put("ido_div", JKKStrConst.CD00576_ADCHG_FIX);
		// 申込明細番号
		scMap.put("net_mskm_dtl_no", mskmDtlInfoAf.get(NET_MSKM_DTL_NO));
		scMap.put("tel_mskm_dtl_no", mskmDtlInfoAf.get(TEL_MSKM_DTL_NO));
		
		inputMap.put("KKSV032511CC", scMap);
	}
	
	/** 
	 * 住所変更異動予約反映(KKSV032514CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV032514CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後サービス契約
		Map<String, String> svcKeiMap = (Map<String, String>) adchgInfo.get("svcKeiMap");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		// 住所変更番号
		scMap.put("adchg_no", adchgFix[11]);
		// SYSID
		scMap.put("sysid", svcKeiMap.get(SYSID_BF));
		// 変更前サービス契約回線内訳番号
		scMap.put("svc_kei_kaisen_ucwk_no", adchgFix[1]);
		
		inputMap.put("KKSV032514CC", scMap);
	}
	
	/** 
	 * 機器提供サービス送付先・設置場所住所変更(KKSV032510CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV032510CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後サービス契約
		Map<String, String> svcKeiMap = (Map<String, String>) adchgInfo.get("svcKeiMap");
		
		// 変更前機器提供サービス契約
		List<HashMap<String, String>> kktkSvcKeiMapBf = (List<HashMap<String, String>>) adchgInfo.get("kktkSvcKeiMapBf");
		
		// 変更後機器提供サービス契約
		HashMap<String, String> kktkSvcKeiMapAf = (HashMap<String, String>) adchgInfo.get("kktkSvcKeiMapAf");
		
		// 変更後工事案件情報
		HashMap<String, String> kojiakMap = (HashMap<String, String>) adchgInfo.get("kojiakMapAf");
		
		// 変更後ネット申込明細情報
		HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		scMap.put("func_cd", funcCode);
		
		// サービス契約番号
		scMap.put("svc_kei_no", adchgFix[5]);
		// 運用日付
		scMap.put("ope_date", this.commonItem.getOpeDate());
		// 異動区分
		scMap.put("ido_div", JKKStrConst.CD00576_ADCHG_FIX);
		// 機器送付先住所コード
		scMap.put("kiki_sohus_ad_cd", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AD_CD));
		// 機器送付先郵便番号
		scMap.put("kiki_sohus_pcd", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_PCD));
		// 機器送付先都道府県名
		scMap.put("kiki_sohus_state_nm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_STATE_NM));
		// 機器送付先市区町村名
		scMap.put("kiki_sohus_city_nm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_CITY_NM));
		// 機器送付先大字通称名
		scMap.put("kiki_sohus_oaztsu_nm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_OAZTSU_NM));
		// 機器送付先字丁目名
		scMap.put("kiki_sohus_azcho_nm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AZCHO_NM));
		// 機器送付先番地号
		scMap.put("kiki_sohus_bnchigo", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_BNCHIGO));
		// 機器送付先住所補記・建物名
		scMap.put("kiki_sohus_adrttm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRTTM));
		// 機器送付先住所補記・部屋番号
		scMap.put("kiki_sohus_adrrm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRRM));
		// 機器送付先名
		scMap.put("kiki_sohus_nm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_NM));
		// 機器送付先カナ名
		scMap.put("kiki_sohus_kana", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_KANA));
		// 機器送付先電話番号
		scMap.put("kiki_shs_tln", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_TELNO));
		// 機器送付先手動入力フラグ
		scMap.put("kiki_sohus_man_input_flg", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_MAN_INPUT_FLG));
		// 移転先住所＿住所コード
		scMap.put("itens_ad_cd", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_AD_CD));
		// 移転先住所＿郵便番号
		scMap.put("itens_ad_pcd", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_PCD));
		// 転宅先都道府県名
		scMap.put("itens_ad_state", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_STATE_NM));
		// 移転先住所＿市区町村名
		scMap.put("itens_ad_city", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_CITY_NM));
		// 移転先住所＿大字通称名
		scMap.put("itens_ad_oaztsu", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_OAZTSU_NM));
		// 移転先住所＿字丁目名
		scMap.put("itens_ad_azcho", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_AZCHO_NM));
		// 移転先住所＿番地号
		scMap.put("itens_ad_bnchigo", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_BNCHIGO));
		// 移転先住所＿住所補記・建物名
		scMap.put("itens_ad_adrttm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRTTM));
		// 移転先住所＿住所補記・部屋番号
		scMap.put("itens_ad_adrrm", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRRM));
		// 移転先住所＿電話番号
		scMap.put("itens_tln", kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_TELNO));
		// 移転先住所＿マンション物件番号
		scMap.put("itens_mansion_bukken_no", adchgFix[9]);
		// 予約適用年月日
		scMap.put("rsv_aply_ymd", this.commonItem.getOpeDate());
		
		// 機器送付先郵便番号
		String kikiSohusPcd = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_PCD);
		// 機器送付先都道府県名
		String kikiSohusStateNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_STATE_NM);
		// 機器送付先市区町村名
		String kikiSohusCityNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_CITY_NM);
		// 機器送付先大字通称名
		String kikiSohusOaztsuNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_OAZTSU_NM);
		// 機器送付先字丁目名
		String kikiSohusAzchoNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_AZCHO_NM);
		// 機器送付先番地号
		String kikiSohusBnchigo = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_BNCHIGO);
		// 機器送付先住所補記・建物名
		String kikiSohusAdrttm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRTTM);
		// 機器送付先住所補記・部屋番号
		String kikiSohusAdrrm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.KIKI_SOHUS_ADRRM);
		
		// 機器送付先項目リスト
		String[] kikiSohuAdItemList = {
				kikiSohusPcd,
				kikiSohusStateNm,
				kikiSohusCityNm,
				kikiSohusOaztsuNm,
				kikiSohusAzchoNm,
				kikiSohusBnchigo,
				kikiSohusAdrttm,
				kikiSohusAdrrm
		};
		
		// 機器設置先郵便番号
		String kikiStcPcd = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_PCD);
		// 機器設置先都道府県名
		String kikiStcStateNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_STATE_NM);
		// 機器設置先市区町村名
		String kikiStcCityNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_CITY_NM);
		// 機器設置先大字通称名
		String kikiStcOaztsuNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_OAZTSU_NM);
		// 機器設置先字丁目名
		String kikiStcAzchoNm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_AZCHO_NM);
		// 機器設置先番地号
		String kikiStcBnchigo = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_BNCHIGO);
		// 機器設置先住所補記・建物名
		String kikiStcAdrttm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRTTM);
		// 機器設置先住所補記・部屋番号
		String kikiStcAdrrm = kktkSvcKeiMapAf.get(JBSbatKK_T_ADCHM_TPPV.ITENS_ADRRM);
		
		// 機器設置先項目リスト
		String[] kikiStcAdItemList = {
				kikiStcPcd,
				kikiStcStateNm,
				kikiStcCityNm,
				kikiStcOaztsuNm,
				kikiStcAzchoNm,
				kikiStcBnchigo,
				kikiStcAdrttm,
				kikiStcAdrrm
		};
		
		// 契約者住所情報取得
		executeCK_T_CUST_KK_SELECT_077(new Object[] {svcKeiMap.get(SYSID_BF), this.commonItem.getOpeDate()});
		JBSbatCommonDBInterface custMap = db_CK_T_CUST.selectNext();
		
		// 契約者住所郵便番号
		String custPcd = custMap.getString(JBSbatCK_T_CUST.KEISHA_PCD);
		// 契約者住所都道府県名
		String custStateNm = custMap.getString(JBSbatCK_T_CUST.KEISHA_STATE_NM);
		// 契約者住所市区町村名
		String custCityNm = custMap.getString(JBSbatCK_T_CUST.KEISHA_CITY_NM);
		// 契約者住所大字通称名
		String custOaztsuNm = custMap.getString(JBSbatCK_T_CUST.KEISHA_OAZTSU_NM);
		// 契約者住所字丁目名
		String custAzchoNm = custMap.getString(JBSbatCK_T_CUST.KEISHA_AZCHO_NM);
		// 契約者住所番地号
		String custBnchigo = custMap.getString(JBSbatCK_T_CUST.KEISHA_BNCHIGO);
		// 契約者住所住所補記・建物名
		String custAdrttm = custMap.getString(JBSbatCK_T_CUST.KEISHA_ADRTTM);
		// 契約者住所補記・部屋番号
		String custAdrrm = custMap.getString(JBSbatCK_T_CUST.KEISHA_ADRRM);
		// 契約者項目リスト
		String[] custAdItemList = {
				custPcd,
				custStateNm,
				custCityNm,
				custOaztsuNm,
				custAzchoNm,
				custBnchigo,
				custAdrttm,
				custAdrrm
		};
		
		// 機器送付先_契約者住所差異フラグ
		scMap.put("kiki_sohus_ksh_ad_sai_flg", getKeishaAdSaiFlg(custAdItemList, kikiSohuAdItemList));
		// 機器設置先_契約者住所差異フラグ
		scMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKeishaAdSaiFlg(custAdItemList, kikiStcAdItemList));
		
		// 住所変更明細情報リスト(機器提供サービス契約)
		List<HashMap<String, Object>> adchgDtlListKktkSvcKei = new ArrayList<HashMap<String, Object>>();
		// 住所変更明細情報マップ(機器提供サービス契約)
		HashMap<String, Object> adchgDtlMapKktkSvcKei = new HashMap<String, Object>();
		// 機器明細番号
		Integer kiki_rec_cnt = 0;
		
		if (kktkSvcKeiMapBf != null && kktkSvcKeiMapBf.size() != 0)
		{
			for (int i = 0; i < kktkSvcKeiMapBf.size(); i++)
			{
				adchgDtlMapKktkSvcKei = new HashMap<String, Object>();
				
				// 利用中機器情報
				HashMap<String, String> kikiMap = kktkSvcKeiMapBf.get(i);

				// 宅内機器種別コード
				String kikiSbtCd = kikiMap.get(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD);
				if ("D0".equals(kikiSbtCd) || "E0".equals(kikiSbtCd) || "60".equals(kikiSbtCd) || "70".equals(kikiSbtCd) || "90".equals(kikiSbtCd))
				{
					// STB/B-CAS/C-CASは対象外
					continue;
				}
				
				// 変更前識別番号
				String chbfSkbtNo = kikiMap.get(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO);
				// 変更後識別番号
				String chafSkbtNo = kikiMap.get(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
				// 宅内機器撤去種別
				String tkkTekkyoSbt = null;
				
				if (!JKKStringUtil.isNullEmpty(chbfSkbtNo) && JKKStringUtil.isNullEmpty(chafSkbtNo))
				{
					// 宅内機器撤去種別：撤去
					tkkTekkyoSbt = TKK_TEKKYO_SBT_1;
				}
				else if (!JKKStringUtil.isNullEmpty(chbfSkbtNo) && !JKKStringUtil.isNullEmpty(chafSkbtNo) && chbfSkbtNo.equals(chafSkbtNo))
				{
					// 宅内機器撤去種別：引継
					tkkTekkyoSbt = TKK_TEKKYO_SBT_0;
				}
				
				// 「引継」以外
				if(!TKK_TEKKYO_SBT_0.equals(tkkTekkyoSbt)){
					// 処理対象外
					continue;
				}
				
				if (kikiMap != null)
				{
					// 住所変更明細番号
					adchgDtlMapKktkSvcKei.put("adchg_dtl_adchg_dtl_no", kikiMap.get(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_NO));
					// 変更対象契約番号
					adchgDtlMapKktkSvcKei.put("adchg_dtl_chg_tg_kei_no", kikiMap.get(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
					// 変更前識別番号
					adchgDtlMapKktkSvcKei.put("adchg_dtl_chbf_skbt_no", kikiMap.get(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO));
					// 変更後識別番号
					adchgDtlMapKktkSvcKei.put("adchg_dtl_chaf_skbt_no", kikiMap.get(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO));
				}
				
				// 宅内機器撤去種別
				adchgDtlMapKktkSvcKei.put("adchg_dtl_tkkiki_tekkyo_sbt_cd", tkkTekkyoSbt);
				// 機器明細番号
				adchgDtlMapKktkSvcKei.put("kiki_rec_cnt", kiki_rec_cnt);
				kiki_rec_cnt++;
				
				// 申込明細番号
				if (JKKStrConst.TAKNKIKI_SBT_CD_VA.equals(kikiSbtCd))
				{
					// ｅｏ電話用ＶＡ
					adchgDtlMapKktkSvcKei.put("mskm_dtl_no", mskmDtlInfoAf.get(TEL_MSKM_DTL_NO));
				}
				else if (JKKStrConst.TAKNKIKI_SBT_CD_STB.equals(kikiSbtCd) || JKKStrConst.TAKNKIKI_SBT_CD_BCAS.equals(kikiSbtCd) || JKKStrConst.TAKNKIKI_SBT_CD_CCAS.equals(kikiSbtCd))
				
				{
					// STB/B-CAS/C-CAS
					adchgDtlMapKktkSvcKei.put("mskm_dtl_no", mskmDtlInfoAf.get(TV_MSKM_DTL_NO));
				}
				else
				{
					adchgDtlMapKktkSvcKei.put("mskm_dtl_no", mskmDtlInfoAf.get(NET_MSKM_DTL_NO));
				}
				
				// 申込明細番号が設定されない場合、処理対象外にする
				if (JKKStringUtil.isNullEmpty(adchgDtlMapKktkSvcKei.get("mskm_dtl_no")))
				{
					continue;
				}
				adchgDtlListKktkSvcKei.add(adchgDtlMapKktkSvcKei);
			}
		}
		
		scMap.put("adchg_dtl_list_kktk_svc_kei", adchgDtlListKktkSvcKei);
		
		// SYSID
		scMap.put("sysid", svcKeiMap.get(SYSID_BF));
		// 変更後サービス契約回線内訳番号
		scMap.put("svc_kei_kaisen_ucwk_no", adchgFix[6]);
		scMap.put("new_kei_kais_ucwk_no", adchgFix[6]);
		// ｅｏ光ネット＿利用サービス変更区分
		scMap.put("eoh_net_use_svc_chg_div", svcKeiIdoSbtCdNet);
		// 変更前サービス契約番号
		scMap.put("svc_kei_no_net_bf", adchgFix[0]);
		// 変更後サービス契約番号
		scMap.put("svc_kei_no_net_af", adchgFix[5]);
		// 移転先サービス契約回線内訳番号
		scMap.put("itns_svkei_kisuw_no", adchgFix[6]);
		// 移転元サービス契約回線内訳番号
		scMap.put("itnm_svkei_kisuw_no", adchgFix[1]);
		// 住所変更番号
		scMap.put("adchg_no", adchgFix[11]);
		// 変更後申込明細番号
		scMap.put("net_mskm_dtl_no", mskmDtlInfoAf.get(NET_MSKM_DTL_NO));
		// 変更後申込明細番号
		scMap.put("tel_mskm_dtl_no", mskmDtlInfoAf.get(TEL_MSKM_DTL_NO));
		
		inputMap.put("KKSV032510CC", scMap);
	}
	
	/**
	 * 契約者情報の住所と比較します。
	 * @param custAdItemList 契約者住所情報
	 * @param kikiAdItemList 機器送付・設置情報
	 * @return 判断結果
	 */
	public String getKeishaAdSaiFlg(String[] custAdItemList, String[] kikiAdItemList){
		
		for(int i=0; i<custAdItemList.length; i++){
			if(!custAdItemList[i].equals(kikiAdItemList[i])){
				// 差異あり
				return "1";
			}
		}
		
		// 差異なし
		return "0";
	}
	
	/** 
	 * 転居先に紐づく機器の解約処理(KKSV032513CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 */
	private void setKKSV032513CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode)
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 変更後サービス契約
		Map<String, String> svcKeiMap = (Map<String, String>) adchgInfo.get("svcKeiMap");
		
		// 変更後ネット申込明細情報
		HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
		
		// 機能コード
		scMap.put("func_code", funcCode);
		scMap.put("func_cd", funcCode);
		
		// 住所変更番号
		scMap.put("adchg_no", adchgFix[11]);
		// 申込明細番号
		scMap.put("mskmDtlNoNet", mskmDtlInfoAf.get(NET_MSKM_DTL_NO));
		scMap.put("mskmDtlNoTel", mskmDtlInfoAf.get(TEL_MSKM_DTL_NO));
		scMap.put("mskmDtlNoTv", mskmDtlInfoAf.get(TV_MSKM_DTL_NO));
		// SYSID
		scMap.put("sysid", svcKeiMap.get(SYSID_BF));
		
		inputMap.put("KKSV032513CC", scMap);
	}
	
	/** 
	 * テレビサービス解約処理(KKSV032512CC)上りマッピング
	 * @param inputMap 上りマップ
	 * @param adchgFix 住所変更確定情報
	 * @param adchgInfo 住所変更前後情報
	 * @param funcCode 機能コード
	 * @throws Exception 
	 */
	private void setKKSV032512CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		if( JKKStringUtil.isNullEmpty(kojiakStatTv) || !JKKStrConst.CD00474_900.equals(kojiakStatTv) ){
			
			inputMap.put("KKSV032512CC", null);
		}
		else
		{
			// 変更後サービス契約
			HashMap<String, String> svcKeiMap = (HashMap<String, String>) adchgInfo.get("svcKeiMap");
			
			// サービス契約番号
			HashMap<String, String> svcKeiNoMap = (HashMap<String, String>) adchgInfo.get("svcKeiNoMap");
			
			// 変更後ネット申込明細情報
			HashMap<String, String> mskmDtlInfoAf = (HashMap<String, String>) adchgInfo.get("mskmDtlInfoAf");
			
			// 異動理由コードリスト
			ArrayList<HashMap<String, String>> idoRsnList = new ArrayList<HashMap<String,String>>();
			
			// 変更前テレビサービス契約番号
			String tvSvcKeiNoBf = svcKeiNoMap.get(TV_SVC_KEI_NO_BF);
			
			if (!JKKStringUtil.isNullEmpty(tvSvcKeiNoBf))
			{
				// 撤去工事案件情報取得
				executeKU_T_KOJIAK_KK_SELECT_048(new Object[] {tvSvcKeiNoBf, adchgFix[11]});
				JBSbatCommonDBInterface kojiakMap = db_KU_T_KOJIAK.selectNext();
				
				// 撤去工事案件番号
				if (kojiakMap != null)
				{
					scMap.put("tekkyo_kojiak_no_tv", kojiakMap.getString(JBSbatKU_T_KOJIAK.KOJIAK_NO));
				}
				else
				{
					scMap.put("tekkyo_kojiak_no_tv", null);
				}
			}
			// 違約金発生区分
			scMap.put("pnlty_hassei_cd", BLANK_VALUE);
			// 異動理由コードマップ
			HashMap<String, String> idoRsnCd = new HashMap<String, String>();
			idoRsnCd.put("ido_rsn_cd", JKKStrConst.CD00846_OTHER);
			// リストに設定
			idoRsnList.add(idoRsnCd);
			
			// 変更後申込明細番号
			scMap.put("mskm_dtl_no", mskmDtlInfoAf.get(TV_MSKM_DTL_NO));
			// 機能コード
			scMap.put("func_code", funcCode);
			// 起動元コード
			scMap.put("kido_cd", KIDO_CD_BAT);
			// SYSID
			scMap.put("sysid", svcKeiMap.get(SYSID_BF));
			// 変更前サービス契約番号
			scMap.put("svc_kei_no", tvSvcKeiNoBf);
			// サービス終了年月日
			scMap.put("svc_endymd", this.commonItem.getOpeDate());
			// 異動区分
			scMap.put("ido_div", JKKStrConst.CD00576_ADCHG_FIX);
			// 住所変更内異動区分
			scMap.put("adchg_ido_div", ADCHG_IDO_DIV);
			// 業務連絡備考
			scMap.put("work_rrk_biko", null);
			// 標準工事費コード
			scMap.put("stdard_kojihi_cd", null);
			// 異動理由コードリスト
			scMap.put("ido_list", idoRsnList);
			// 組織コード
			scMap.put("org_cd", null);
			// 組織名
			scMap.put("org_nm", null);
			
			inputMap.put("KKSV032512CC", scMap);
		}
	}
// ▽▽▽ IT1-2024-0000030 ADD START
	/**
	 * KKSV032517CCへの上りマッピング
	 * <br>
	 * @param inputMap
	 * @param adchgFix
	 * @param adchgInfo
	 * @param funcCode
	 */
	private void setKKSV032517CC(HashMap<String, Object> inputMap, String[] adchgFix, HashMap<String, Object> adchgInfo, String funcCode) throws Exception
	{
		// パラメータ
		HashMap<String, Object> scMap = new HashMap<String, Object>();
		
		// 住所変更番号を設定
		scMap.put("adchg_no", adchgFix[11]);
		// 機能コード
		scMap.put("func_code", funcCode);
		
		inputMap.put("KKSV032517CC", scMap);
	}
// △△△ IT1-2024-0000030 ADD END
}
