/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名			：JBSbatKKKjFinJiRozettStcRlthei
*	ソースファイル名		：JBSbatKKKjFinJiRozettStcRlthei.java
*	作成者			：　GDC)M.Gungog
*	作成日			：2021年09月23日
*＜機能概要＞
*　工事完了時ローゼット設置結果反映
*＜修正履歴＞
*	バージョン		修正日		修正者			修正内容
*  v56.00.00    2021/09/23  GDC)M.Gungog     【ANK-4038-00-00】光ローゼット化対応
*  v56.01.00    2021/11/15  FJ)星野          IT1-2021-0000088
*  v60.00.00    2022/07/07  FJ)吉川          【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*  v61.00.00    2022/11/01  FJ)吉川          【ANK-4315-00-00】【eo定期】eoホームゲートウェイ導入対応
*********************************************************************/
package eo.business.service;

import static eo.common.util.JKKCommonUtil.isNull;

import java.util.HashMap;
import java.util.concurrent.TimeUnit;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.util.table.JBSbatKK_T_KJ_FIN_WK;
import eo.business.util.table.JBSbatKK_T_SVKEI_KAISEN_UW;
import eo.business.util.table.JBSbatKU_T_KOJIAK;
import eo.business.util.table.JBSbatKU_T_SVKEI_KOJIAK;
import eo.common.constant.JKKStrConst;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatStringUtil;

public class JBSbatKKKjFinJiRozettStcRlthei extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	
	/** テーブル(工事完了ワーク)*/
	private static final String D_TBL_NAME_KK_T_KJ_FIN_WK = "KK_T_KJ_FIN_WK";
	
	/** テーブル(サービス契約回線内訳)*/
	private static final String D_TBL_NAME_KK_T_SVKEI_KAISEN_UW = "KK_T_SVKEI_KAISEN_UW";
	
	/** テーブル(工事案件)*/
	private static final String D_TBL_NAME_KU_T_KOJIAK = "KU_T_KOJIAK";
	
	/** SQL定義キー(KK_SELECT_036)*/
	private static final String KK_T_KJ_FIN_WK_KK_SELECT_036 = "KK_SELECT_036";
	
	/** SQL定義キー(KK_SELECT_061)*/
	private static final String KK_T_SVKEI_KAISEN_UW_KK_SELECT_061 = "KK_SELECT_061";
	
	/** SQL定義キー(KK_SELECT_050)*/
	private static final String KU_T_KOJIAK_KK_SELECT_050 = "KK_SELECT_050";

	
	/** テーブルアクセスクラス(工事完了ワーク)*/
	private JBSbatSQLAccess db_KK_T_KJ_FIN_WK = null;
	
	/** テーブルアクセスクラス(サービス契約回線内訳)*/
	private JBSbatSQLAccess db_KK_T_SVKEI_KAISEN_UW = null;
	
	/** テーブルアクセスクラス(工事案件)*/
	private JBSbatSQLAccess db_KU_T_KOJIAK = null;
	
// IT1-2021-0000088対応 20211115 星野 DEL START
//	protected String sysDate = null;
// IT1-2021-0000088対応 20211115 星野 DEL END
	
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception 
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		super.logPrint.printDebugLog("[S][initial]");
		
		// DBアクセスクラスを生成します
		db_KK_T_KJ_FIN_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KJ_FIN_WK);
		db_KK_T_SVKEI_KAISEN_UW = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEI_KAISEN_UW);
		db_KU_T_KOJIAK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_KOJIAK);
		
		super.logPrint.printDebugLog("[E][initial]");
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("[S][execute]");
		
		executeMain();
		
		super.logPrint.printDebugLog("[E][execute]");
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception 
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("[S][terminal]");
		
		// DBアクセスクラスをクローズします
		if (db_KK_T_KJ_FIN_WK != null)
		{
			db_KK_T_KJ_FIN_WK.close();
		}
		
		if (db_KK_T_SVKEI_KAISEN_UW != null)
		{
			db_KK_T_SVKEI_KAISEN_UW.close();
		}
		
		if (db_KU_T_KOJIAK != null)
		{
			db_KU_T_KOJIAK.close();
		}
		
		super.logPrint.printDebugLog("[E][terminal]");
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * SQLKEY(KK_SELECT_036)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。
	 * </pre>
	 * </p>
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KJ_FIN_WK_KK_SELECT_036() throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		
		super.logPrint.printDebugLog("[L][paramList=" + paramList.getMap().toString() + "]");
		
		// DBアクセスを実行します
		db_KK_T_KJ_FIN_WK.selectBySqlDefine(paramList, KK_T_KJ_FIN_WK_KK_SELECT_036);
	}

	/**
	 * SQLKEY(KK_SELECT_061)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。
	 *			サービス契約回線内訳番号
	 * </pre>
	 * </p>
	 * 
	 * @param svcKeiKaisenUcwkNo サービス契約回線内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_061(String svcKeiKaisenUcwkNo) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(svcKeiKaisenUcwkNo);
		
		super.logPrint.printDebugLog("[L][paramList=" + paramList.getMap().toString() + "]");
		
		db_KK_T_SVKEI_KAISEN_UW.selectBySqlDefine(paramList, KK_T_SVKEI_KAISEN_UW_KK_SELECT_061);
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_KAISEN_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVKEI_KAISEN_UW_SELECT_byPK(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_KAISEN_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVKEI_KAISEN_UW.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * サービス契約回線内訳更新処理（PK登録）を行います。<br>
	 * <p>
	 * @param outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap サービス契約回線内訳PK検索結果
	 * @param itemForInsert
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */	
	private void setParamKK_T_SVKEI_KAISEN_UW(JBSbatCommonDBInterface outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap, 
			HashMap<String, String> itemForInsert) throws Exception
	{
// IT1-2021-0000088対応 20211115 星野 ADD START
		// システム年月日時分秒
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		if(sysDate.equals( JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM) ) ) )
		{
			// 世代登録年月日が同じになる場合は、PK重複を回避するため1秒sleep
			TimeUnit.SECONDS.sleep(1);
			sysDate = JCCBatCommon.getSysDateTimeStamp();
		}
// IT1-2021-0000088対応 20211115 星野 ADD END

		
		
		String [] setParam = {
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_NO)),			// サービス契約回線内訳番号
				sysDate,		 																					// 世代登録年月日時分秒
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_STAT)),		// サービス契約回線内訳ステータス
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.MSKM_DTL_NO)),					// 申込明細番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_AD_MI_FIX_FLG)),			// 回線場所住所未確定フラグ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_AD_MI_FIX_RLS_YMD)),		// 回線場所住所未確定解除年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLC_KSH_AD_SAI_FLG)),		// 回線場所＿契約者住所差異フラグ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.CUST_SKK_AD_MI_FIX_FLG)),			// お客様申告住所未確定フラグ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.CUST_SOS_USE_UM)),				// お客様ＳＯＳ利用有無
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_CD)),						// 回線コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.MANSION_BUKKEN_NO)),				// マンション物件番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_TELNO)),				// 回線場所電話番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLC_KANA)),				// 回線場所カナ名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_AD_CD)),				// 回線場所住所コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_PCD)),				// 回線場所郵便番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_STATE_NM)),			// 回線場所都道府県名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_CITY_NM)),			// 回線場所市区町村名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_OAZTSU_NM)),			// 回線場所大字通称名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_AZCHO_NM)),			// 回線場所字丁目名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_BNCHIGO)),			// 回線場所番地号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRTTM)),			// 回線場所住所補記・建物名
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRRM)),				// 回線場所住所補記・部屋番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_YO_KISN_PLACE_AD_RM_NO)),		// 請求書用回線場所住所部屋番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_NO)),				// 回線場所番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_KKK_SEIRI_CHU_FLG)),		// 回線場所区画整理中フラグ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_CD_1)),				// 回線場所補足コード１
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_CD_2)),				// 回線場所補足コード２
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_MEMO)),				// 回線場所補足メモ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.USE_STAYMD)),						// 使用開始年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.AD_FORM_CD)),						// 住所形態コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SHUNKO_RSV_YMD)),					// 竣工予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.EPOWER_SODEN_RSV_YMD)),			// 電力送電予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.NYUKYO_RSV_YMD)),					// 入居予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.HIKIWATASHI_RSV_YMD)),			// 引渡し予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.HIKKOSHI_RSV_YMD)),				// 引越し予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_SHS_AD_CHG_UM)),				// 請求書送付先住所変更有無
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_SHS_AD_CHG_KIBO_YMD)),		// 請求書送付先住所変更希望年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KSHAD_CHG_UM)),					// 契約者住所変更有無
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KSHAD_CHG_KIBO_YMD)),				// 契約者住所変更希望年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.XZAHYO)),							// Ｘ座標
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.YZAHYO)),							// Ｙ座標
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.LGTD)),							// 経度
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.LTTD)),							// 緯度
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.ZAHYO_HOSEI_UM)),					// 座標補正有無
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TV_KOBET_TAIO_CD)),				// テレビ個別対応コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TV_ANTENNA_UM)),					// ＴＶアンテナ有無
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.DIRECTION_CD_1)),					// 方角コード１
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.DIRECTION_CD_2)),					// 方角コード２
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KODATE_KCKU_FLR_CNT_CD)),			// 戸建建築階数コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SHUGJ_NYUKYO_FLR_CNT_CD)),		// 集合住宅入居階数コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.PON_SBT_CD)),						// ＰＯＮ種別コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.LOOPBACK_TEST_FIN_YMD)),			// ループバックテスト完了年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_TK_COMP_CD)),				// 回線提供会社コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TEL_KISN_SBT_CD)),		// ＶＤＳＬ利用電話回線種別コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_DKSN_SWCH_RSV_YMD)),		// ＶＤＳＬ利用電話回線切替予定年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TG_DBKSN_SBT_CD)),		// ＶＤＳＬ利用対象電話番号回線種別コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TG_TELNO)),				// ＶＤＳＬ利用対象電話番号
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_BAS_HOST_ID)),				// 電話ＢＡＳホストＩＤ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_VLAN_ID)),					// 電話ＶＬＡＮ−ＩＤ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VLAN_ID_FIX_FLG)),				// ＶＬＡＮ−ＩＤ確定フラグ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_VLAN_ID_TRKM_YMD)),			// 電話ＶＬＡＮ−ＩＤ取込年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.IDO_DIV)),						// 異動区分
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.HIKKOSHI_YMD)),					// 引越し年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.GAITO_AREA_SVC_STAYMD)),			// 該当エリアサービス開始年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TEKKYO_KOJI_KIBO_YMD)),			// 撤去工事希望年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.USE_ENDYMD)),						// 使用終了年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KITEN_HDSHO_CD)),					// 起点変電所コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SHYAKK_CD)),																							// 集約局コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_CANCEL_YMD)),					// サービスキャンセル年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_CANCEL_RSN_CD)),				// サービスキャンセル理由コード
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVKEI_KISN_UW_CNCL_CL_YMD)),		// サービス契約回線内訳キャンセル取消年月日
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KEPCO_BUSIOFFICE_CD)),			// 関電営業所コード
				"",																									// 登録年月日時分秒
				"",																									// 登録オペレータアカウント
				"",																									// 更新年月日時分秒
				"",																									// 更新オペレータアカウント
				"",																									// 削除年月日時分秒
				"",																									// 削除オペレータアカウント
				"0",																								// 無効フラグ
				"",																									// 登録運用年月日
				"",																									// 登録処理ＩＤ
				"",																									// 更新運用年月日
				"",																									// 更新処理ＩＤ
				"",																									// 削除運用年月日
				"",																									// 削除処理ＩＤ
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_TOU_INFO)),			// 回線場所棟情報
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD)),			// ローゼット設置状態コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD)),			// コンセント設置内容コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD)),				// 端末設置フロアコード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD)),			// 回線終端装置設置場所1コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD)),			// 回線終端装置設置場所2コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD)),			// 回線終端装置設置箇所コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR)),			// 回線終端装置設置場所1その他
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR)),			// 回線終端装置設置場所2その他
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR)),		// 回線終端装置設置箇所その他
				// ANK-4244-00-00 MOD START
				//JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD))			// 端末設置面コード
				JBSbatStringUtil.Rtrim(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD)),				// 端末設置面コード
				// ANK-4315-00-00 MOD START
				//JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_RENBAN))			// 回線場所連番
				// ANK-4244-00-00 MOD END
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_RENBAN)),			// 回線場所連番
				JBSbatStringUtil.Rtrim(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.HGW_KKN_FFG))					// HGW交換不可フラグ
				// ANK-4315-00-00 MOD END
		};
		
		// (c).サービス契約回線内訳スキーマの更新（履歴登録）を行う。
		executeKK_T_SVKEI_KAISEN_UW_INSERT_byPK(setParam);
	}
	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	サービス契約回線内訳番号				SVC_KEI_KAISEN_UCWK_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	サービス契約回線内訳ステータス				SVC_KEI_KAISEN_UCWK_STAT
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	回線場所住所未確定フラグ				KISN_PLC_AD_MI_FIX_FLG
	 *		 	回線場所住所未確定解除年月日				KISN_PLC_AD_MI_FIX_RLS_YMD
	 *		 	回線場所＿契約者住所差異フラグ				KAISEN_PLC_KSH_AD_SAI_FLG
	 *		 	お客様申告住所未確定フラグ				CUST_SKK_AD_MI_FIX_FLG
	 *		 	お客様ＳＯＳ利用有無				CUST_SOS_USE_UM
	 *		 	回線コード				KAISEN_CD
	 *		 	マンション物件番号				MANSION_BUKKEN_NO
	 *		 	回線場所電話番号				KAISEN_PLACE_TELNO
	 *		 	回線場所カナ名				KAISEN_PLC_KANA
	 *		 	回線場所住所コード				KAISEN_PLACE_AD_CD
	 *		 	回線場所郵便番号				KAISEN_PLACE_PCD
	 *		 	回線場所都道府県名				KAISEN_PLACE_STATE_NM
	 *		 	回線場所市区町村名				KAISEN_PLACE_CITY_NM
	 *		 	回線場所大字通称名				KAISEN_PLACE_OAZTSU_NM
	 *		 	回線場所字丁目名				KAISEN_PLACE_AZCHO_NM
	 *		 	回線場所番地号				KAISEN_PLACE_BNCHIGO
	 *		 	回線場所住所補記・建物名				KAISEN_PLACE_ADRTTM
	 *		 	回線場所住所補記・部屋番号				KAISEN_PLACE_ADRRM
	 *		 	請求書用回線場所住所部屋番号				SKS_YO_KISN_PLACE_AD_RM_NO
	 *		 	回線場所番号				KAISEN_PLACE_NO
	 *		 	回線場所区画整理中フラグ				KISN_PLC_KKK_SEIRI_CHU_FLG
	 *		 	回線場所補足コード１				KISN_PLC_HSK_CD_1
	 *		 	回線場所補足コード２				KISN_PLC_HSK_CD_2
	 *		 	回線場所補足メモ				KISN_PLC_HSK_MEMO
	 *		 	使用開始年月日				USE_STAYMD
	 *		 	住所形態コード				AD_FORM_CD
	 *		 	竣工予定年月日				SHUNKO_RSV_YMD
	 *		 	電力送電予定年月日				EPOWER_SODEN_RSV_YMD
	 *		 	入居予定年月日				NYUKYO_RSV_YMD
	 *		 	引渡し予定年月日				HIKIWATASHI_RSV_YMD
	 *		 	引越し予定年月日				HIKKOSHI_RSV_YMD
	 *		 	請求書送付先住所変更有無				SKS_SHS_AD_CHG_UM
	 *		 	請求書送付先住所変更希望年月日				SKS_SHS_AD_CHG_KIBO_YMD
	 *		 	契約者住所変更有無				KSHAD_CHG_UM
	 *		 	契約者住所変更希望年月日				KSHAD_CHG_KIBO_YMD
	 *		 	Ｘ座標				XZAHYO
	 *		 	Ｙ座標				YZAHYO
	 *		 	経度				LGTD
	 *		 	緯度				LTTD
	 *		 	座標補正有無				ZAHYO_HOSEI_UM
	 *		 	テレビ個別対応コード				TV_KOBET_TAIO_CD
	 *		 	ＴＶアンテナ有無				TV_ANTENNA_UM
	 *		 	方角コード１				DIRECTION_CD_1
	 *		 	方角コード２				DIRECTION_CD_2
	 *		 	戸建建築階数コード				KODATE_KCKU_FLR_CNT_CD
	 *		 	集合住宅入居階数コード				SHUGJ_NYUKYO_FLR_CNT_CD
	 *		 	ＰＯＮ種別コード				PON_SBT_CD
	 *		 	ループバックテスト完了年月日				LOOPBACK_TEST_FIN_YMD
	 *		 	回線提供会社コード				KAISEN_TK_COMP_CD
	 *		 	ＶＤＳＬ利用電話回線種別コード				VDSL_USE_TEL_KISN_SBT_CD
	 *		 	ＶＤＳＬ利用電話回線切替予定年月日				VDSL_USE_DKSN_SWCH_RSV_YMD
	 *		 	ＶＤＳＬ利用対象電話番号回線種別コード				VDSL_USE_TG_DBKSN_SBT_CD
	 *		 	ＶＤＳＬ利用対象電話番号				VDSL_USE_TG_TELNO
	 *		 	電話ＢＡＳホストＩＤ				TEL_BAS_HOST_ID
	 *		 	電話ＶＬＡＮ−ＩＤ				TEL_VLAN_ID
	 *		 	ＶＬＡＮ−ＩＤ確定フラグ				VLAN_ID_FIX_FLG
	 *		 	電話ＶＬＡＮ−ＩＤ取込年月日				TEL_VLAN_ID_TRKM_YMD
	 *		 	異動区分				IDO_DIV
	 *		 	引越し年月日				HIKKOSHI_YMD
	 *		 	該当エリアサービス開始年月日				GAITO_AREA_SVC_STAYMD
	 *		 	撤去工事希望年月日				TEKKYO_KOJI_KIBO_YMD
	 *		 	使用終了年月日				USE_ENDYMD
	 *		 	起点変電所コード				KITEN_HDSHO_CD
	 *		 	集約局コード				SHYAKK_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス契約回線内訳キャンセル取消年月日				SVKEI_KISN_UW_CNCL_CL_YMD
	 *		 	関電営業所コード				KEPCO_BUSIOFFICE_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
	 *			回線場所棟情報		KAISEN_PLACE_TOU_INFO
	 *			ローゼット設置状態コード			ROZETT_STC_STAT_CD
	 *			コンセント設置内容コード			CONSNT_STC_NYO_CD
	 *			端末設置フロアコード			TNMT_STC_FLR_CD
	 *			回線終端装置設置場所1コード	KISN_TD_SETPLC_1_CD
	 *			回線終端装置設置場所2コード	KISN_TD_SETPLC_2_CD
	 *			回線終端装置設置箇所コード		KISN_TD_STC_KASHO_CD
	 *			回線終端装置設置場所1その他	KISN_TD_SETPLC_1_OTR
	 *			回線終端装置設置場所2その他	KISN_TD_SETPLC_2_OTR
	 *			回線終端装置設置箇所その他	KISN_TD_STC_KASHO_OTR
	 *			端末設置面コード				TANMT_STC_MEN_CD
	 *			回線場所連番		KAISEN_PLACE_RENBAN
	 *			HGW交換不可フラグ	HGW_KKN_FFG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVKEI_KAISEN_UW_INSERT_byPK(Object[] setParam) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();

		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_NO, setParam[0]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM, setParam[1]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_STAT, setParam[2]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.MSKM_DTL_NO, setParam[3]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_AD_MI_FIX_FLG, setParam[4]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_AD_MI_FIX_RLS_YMD, setParam[5]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLC_KSH_AD_SAI_FLG, setParam[6]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.CUST_SKK_AD_MI_FIX_FLG, setParam[7]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.CUST_SOS_USE_UM, setParam[8]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_CD, setParam[9]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.MANSION_BUKKEN_NO, setParam[10]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_TELNO, setParam[11]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLC_KANA, setParam[12]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_AD_CD, setParam[13]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_PCD, setParam[14]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_STATE_NM, setParam[15]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_CITY_NM, setParam[16]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_OAZTSU_NM, setParam[17]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_AZCHO_NM, setParam[18]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_BNCHIGO, setParam[19]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRTTM, setParam[20]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRRM, setParam[21]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_YO_KISN_PLACE_AD_RM_NO, setParam[22]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_NO, setParam[23]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_KKK_SEIRI_CHU_FLG, setParam[24]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_CD_1, setParam[25]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_CD_2, setParam[26]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_HSK_MEMO, setParam[27]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.USE_STAYMD, setParam[28]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.AD_FORM_CD, setParam[29]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SHUNKO_RSV_YMD, setParam[30]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.EPOWER_SODEN_RSV_YMD, setParam[31]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.NYUKYO_RSV_YMD, setParam[32]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.HIKIWATASHI_RSV_YMD, setParam[33]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.HIKKOSHI_RSV_YMD, setParam[34]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_SHS_AD_CHG_UM, setParam[35]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SKS_SHS_AD_CHG_KIBO_YMD, setParam[36]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KSHAD_CHG_UM, setParam[37]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KSHAD_CHG_KIBO_YMD, setParam[38]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.XZAHYO, setParam[39]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.YZAHYO, setParam[40]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.LGTD, setParam[41]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.LTTD, setParam[42]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ZAHYO_HOSEI_UM, setParam[43]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TV_KOBET_TAIO_CD, setParam[44]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TV_ANTENNA_UM, setParam[45]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DIRECTION_CD_1, setParam[46]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DIRECTION_CD_2, setParam[47]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KODATE_KCKU_FLR_CNT_CD, setParam[48]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SHUGJ_NYUKYO_FLR_CNT_CD, setParam[49]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.PON_SBT_CD, setParam[50]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.LOOPBACK_TEST_FIN_YMD, setParam[51]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_TK_COMP_CD, setParam[52]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TEL_KISN_SBT_CD, setParam[53]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_DKSN_SWCH_RSV_YMD, setParam[54]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TG_DBKSN_SBT_CD, setParam[55]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.VDSL_USE_TG_TELNO, setParam[56]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_BAS_HOST_ID, setParam[57]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_VLAN_ID, setParam[58]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.VLAN_ID_FIX_FLG, setParam[59]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TEL_VLAN_ID_TRKM_YMD, setParam[60]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.IDO_DIV, setParam[61]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.HIKKOSHI_YMD, setParam[62]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.GAITO_AREA_SVC_STAYMD, setParam[63]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TEKKYO_KOJI_KIBO_YMD, setParam[64]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.USE_ENDYMD, setParam[65]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KITEN_HDSHO_CD, setParam[66]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SHYAKK_CD, setParam[67]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_CANCEL_YMD, setParam[68]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_CANCEL_RSN_CD, setParam[69]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVKEI_KISN_UW_CNCL_CL_YMD, setParam[70]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KEPCO_BUSIOFFICE_CD, setParam[71]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ADD_DTM, setParam[72]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ADD_OPEACNT, setParam[73]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.UPD_DTM, setParam[74]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.UPD_OPEACNT, setParam[75]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DEL_DTM, setParam[76]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DEL_OPEACNT, setParam[77]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.MK_FLG, setParam[78]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ADD_UNYO_YMD, setParam[79]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ADD_TRN_ID, setParam[80]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.UPD_UNYO_YMD, setParam[81]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.UPD_TRN_ID, setParam[82]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DEL_UNYO_YMD, setParam[83]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.DEL_TRN_ID, setParam[84]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_TOU_INFO, setParam[85]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD, setParam[86]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD, setParam[87]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD, setParam[88]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD, setParam[89]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD, setParam[90]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD, setParam[91]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR, setParam[92]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR, setParam[93]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR, setParam[94]);
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD, setParam[95]);
		// ANK-4244-00-00 ADD START
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_RENBAN, setParam[96]);
		// ANK-4244-00-00 ADD END
		// ANK-4315-00-00 ADD START
		setMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.HGW_KKN_FFG, setParam[97]);
		// ANK-4315-00-00 ADD END
		super.logPrint.printDebugLog("[L][setMap=" + setMap.getMap().toString() + "]");
		
		// DBアクセスを実行します
		db_KK_T_SVKEI_KAISEN_UW.insertByPrimaryKeys(setMap);
	}
	
	/**
	 * SQLKEY(KK_SELECT_050)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。
	 *			サービス契約回線内訳番号
	 * </pre>
	 * </p>
	 * 
	 * @param svcKeiKaisenUcwkNo サービス契約回線内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKU_T_KOJIAK_KK_SELECT_050(String svcKeiKaisenUcwkNo) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(svcKeiKaisenUcwkNo);
		
		super.logPrint.printDebugLog("[L][paramList=" + paramList.getMap().toString() + "]");
		
		db_KU_T_KOJIAK.selectBySqlDefine(paramList, KU_T_KOJIAK_KK_SELECT_050);
	}
	
	/**
	 * (UPDATE_BY_PRIMARY_KEYS)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予定ローゼット設置状態コード
	 *		 	予定コンセント設置内容コード
	 *		 	OPMS変更連携要否
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKU_T_KOJIAK_UPDATE_byPK(Object[] param) throws Exception
	{
		//パラメタを設定（WHERE句）
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(JBSbatKU_T_SVKEI_KOJIAK.KOJIAK_NO, param[0].toString());
		
		//パラメタを設定（SET句）
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		
		setMap.setValue(JBSbatKU_T_KOJIAK.RSV_ROZETT_STC_STAT_CD, param[1].toString());
		setMap.setValue(JBSbatKU_T_KOJIAK.RSV_CONSNT_STC_NYO_CD, param[2].toString());
		setMap.setValue(JBSbatKU_T_KOJIAK.OPMS_CHGE_RNKI_YH, param[3].toString());
		
		// DBアクセスを実行します
		db_KU_T_KOJIAK.updateByPrimaryKeys(whereMap, setMap);
	}
	
	/**
	 * @return HashMap
	 */
	private HashMap<String, String> createItemForInsertRosette2()
	{
		HashMap<String, String> item = new HashMap<String, String>();
		
		// ローゼット設置状態コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD, JKKStrConst.ROZETT_STATUS_CD_NOT_SET);
		// コンセント設置内容コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD, JKKStrConst.CNSTO_SCHI_NYO_CD_MI_SCHI);
		// 端末設置フロアコード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD, null);
		// 回線終端装置設置場所1コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD, null);
		// 回線終端装置設置場所2コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD, null);
		// 回線終端装置設置箇所コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD, null);
		// 回線終端装置設置場所1その他
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR, null);
		// 回線終端装置設置場所2その他
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR, null);
		// 回線終端装置設置箇所その他
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR, null);
		// 端末設置面コード
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD, null);
		
		
		return item;
	}
	
	/**
	 * @param JBSbatCommonDBInterface outKKTKJFINWKKKSelect036DbMap
	 * @param String jskConsntStcNyoCd
	 * @return HashMap item
	 * @throws Exception
	 */
	private HashMap<String, String> createItemForInsertNotRosette2(JBSbatCommonDBInterface outKKTKJFINWKKKSelect036DbMap, 
			String jskConsntStcNyoCd) throws Exception
	{
		HashMap<String, String> item = new HashMap<String, String>();
		
		String rozettStcStatCd = null;
		String consntStcNyoCd = null;
		String tnmtStcFlrCd = null;
		String kisnTdSetPlc1Cd = null;
		String kisnTdSetPlc2Cd = null;
		String kisnTdStcKashoCd = null;
		String kisnTdSetPlc1Otr = null;
		String kisnTdSetPlc2Otr = null;
		String kisnTdStcKashoOtr = null;
		String tanmtStcMenCd = null;
		
		/**
		 * (a-1)で取得した工事案件.実績コンセント設置内容コード＝'00'の場合
		 * 0"（未設置）
		 * 1（設置済）
		 */
		if (JKKStrConst.KOJIAK_JSSEKI_CNSTO_SCHI_NYO_CD_00.equals(jskConsntStcNyoCd))
		{
			// ローゼット設置状態コード
			rozettStcStatCd = JKKStrConst.ROZETT_STATUS_CD_NOT_SET;
//			//コンセント設置内容コード
//			consntStcNyoCd = JKKStrConst.CNSTO_SCHI_NYO_CD_MI_SCHI;
		}
		
		/**
		 * (a-1)で取得した工事案件.実績コンセント設置内容コード＝'10'または'20'または '30'または'40'の場合
		 * 0"（未設置）
		 */
		else if (JKKStrConst.KOJIAK_JSSEKI_CNSTO_SCHI_NYO_CD_10.equals(jskConsntStcNyoCd) || JKKStrConst.KOJIAK_JSSEKI_CNSTO_SCHI_NYO_CD_20.equals(jskConsntStcNyoCd)
				|| JKKStrConst.KOJIAK_JSSEKI_CNSTO_SCHI_NYO_CD_30.equals(jskConsntStcNyoCd) || JKKStrConst.KOJIAK_JSSEKI_CNSTO_SCHI_NYO_CD_40.equals(jskConsntStcNyoCd))
		{
			// ローゼット設置状態コード
			rozettStcStatCd = JKKStrConst.ROZETT_STATUS_CD_INSTALLED;
		}
		// コンセント設置内容コード
		consntStcNyoCd = jskConsntStcNyoCd;
		// 端末設置フロアコード
		tnmtStcFlrCd = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_TNMT_STC_FLR_CD);
		// 回線終端装置設置場所1コード
		kisnTdSetPlc1Cd = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_SETPLC_1_CD);
		// 回線終端装置設置場所2コード
		kisnTdSetPlc2Cd = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_SETPLC_2_CD);
		// 回線終端装置設置箇所コード
		kisnTdStcKashoCd = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_STC_KASHO_CD);
		// 回線終端装置設置場所1その他
		kisnTdSetPlc1Otr = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_SETPLC_1_OTR);
		// 回線終端装置設置場所2その他
		kisnTdSetPlc2Otr = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_SETPLC_2_OTR);
		// 回線終端装置設置箇所その他
		kisnTdStcKashoOtr = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_KISN_TD_STC_KASHO_OTR);
		// 端末設置面コード
		tanmtStcMenCd = outKKTKJFINWKKKSelect036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_TANMT_STC_MEN_CD);
		
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD, rozettStcStatCd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD, consntStcNyoCd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD, tnmtStcFlrCd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD, kisnTdSetPlc1Cd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD, kisnTdSetPlc2Cd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD, kisnTdStcKashoCd);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR, kisnTdSetPlc1Otr);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR, kisnTdSetPlc2Otr);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR, kisnTdStcKashoOtr);
		item.put(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD, tanmtStcMenCd);
		
		return item;
	}
	
	/**
	 * @param itemForInsert
	 * @param itemsFromKkSelect061
	 * @return boolean
	 * @throws Exception
	 */
	private boolean isItemExistInOutKK_T_KAISEN_UW_SELECT_061(HashMap<String, String> itemForInsert, 
			String[] itemsFromKkSelect061) throws Exception
	{
		// items from itemForInsert
		String rozettStcStatCdReadyToInsert = null;
		String consntStcNyoCdReadyToInsert = null;
		String tnmtStcFlrCdReadyToInsert = null;
		String kisnTdSetPlc1CdReadyToInsert = null;
		String kisnTdSetPlc2CdReadyToInsert = null;
		String kisnTdStcKashoCdReadyToInsert = null;
		String kisnTdSetPlc1OtrReadyToInsert = null;
		String kisnTdSetPlc2OtrReadyToInsert = null;
		String kisnTdStcKashoOtrReadyToInsert = null;
		String tanmtStcMenCdReadyToInsert = null;
		
		// items from itemsFromKkSelect061
		String rozettStcStatCdFromSelect061 = null;
		String consntStcNyoCdFromSelect061 = null;
		String tnmtStcFlrCdFromSelect061 = null;
		String kisnTdSetPlc1CdFromSelect061 = null;
		String kisnTdSetPlc2CdFromSelect061 = null;
		String kisnTdStcKashoCdFromSelect061 = null;
		String kisnTdSetPlc1OtrFromSelect061 = null;
		String kisnTdSetPlc2OtrFromSelect061 = null;
		String kisnTdStcKashoOtrFromSelect061 = null;
		String tanmtStcMenCdFromSelect061 = null;
		
		boolean isRozettStcCdEqual = false;
		boolean isConsntStcNyoCdEqual = false;
		boolean isTnmtStcFlrCdEqual = false;
		boolean isKisnTdSetPlc1CdEqual = false;
		boolean isKisnTdSetPlc2CdEqual = false;
		boolean isKisnTdStcKashoCdEqual = false;
		boolean isKisnTdSetPlc1OtrEqual = false;
		boolean isKisnTdSetPlc2OtrEqual = false;
		boolean isKisnTdStcKashoOtrEqual = false;
		boolean isTanmtStcMenCdEqual = false;

		// items from itemForInsert
		// ローゼット設置状態コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD)))
		{
			rozettStcStatCdReadyToInsert = new String();
		}
		else 
		{
			rozettStcStatCdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD);
		}
		
		// コンセント設置内容コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD)))
		{
			consntStcNyoCdReadyToInsert = new String();
		}
		else
		{
			consntStcNyoCdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD);
		}
		// 端末設置フロアコード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD)))
		{
			tnmtStcFlrCdReadyToInsert = new String();
		}
		else
		{
			tnmtStcFlrCdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD);
		}
		// 回線終端装置設置場所1コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD)))
		{
			kisnTdSetPlc1CdReadyToInsert = new String();
		}
		else
		{
			kisnTdSetPlc1CdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD);
		}
		// 回線終端装置設置場所2コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD)))
		{
			kisnTdSetPlc2CdReadyToInsert = new String();
		}
		else
		{
			kisnTdSetPlc2CdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD);
		}
		// 回線終端装置設置箇所コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD)))
		{
			kisnTdStcKashoCdReadyToInsert = new String();
		}
		else
		{
			kisnTdStcKashoCdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD);
		}
		// 回線終端装置設置場所1その他
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR)))
		{
			kisnTdSetPlc1OtrReadyToInsert = new String();
		}
		else
		{
			kisnTdSetPlc1OtrReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR);
		}
		// 回線終端装置設置場所2その他
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR)))
		{
			kisnTdSetPlc2OtrReadyToInsert = new String();
		}
		else
		{
			kisnTdSetPlc2OtrReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR);
		}
		// 回線終端装置設置箇所その他
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR)))
		{
			kisnTdStcKashoOtrReadyToInsert = new String();
		}
		else
		{
			kisnTdStcKashoOtrReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR);
		}
		// 端末設置面コード
		if (isNull(itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD)))
		{
			tanmtStcMenCdReadyToInsert = new String();
		}
		else
		{
			tanmtStcMenCdReadyToInsert = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD);
		}
		
		// items from itemsFromKkSelect061
		if (isNull(itemsFromKkSelect061[0]))
		{
			rozettStcStatCdFromSelect061 = new String();
		}
		else
		{
			rozettStcStatCdFromSelect061 = itemsFromKkSelect061[0];
		}
		if (isNull(itemsFromKkSelect061[1]))
		{
			consntStcNyoCdFromSelect061 = new String();
		}
		else
		{
			consntStcNyoCdFromSelect061 = itemsFromKkSelect061[1];
		}
		if (isNull(itemsFromKkSelect061[2]))
		{
			tnmtStcFlrCdFromSelect061 = new String();
		}
		else
		{
			tnmtStcFlrCdFromSelect061 = itemsFromKkSelect061[2];
		}
		if (isNull(itemsFromKkSelect061[3]))
		{
			kisnTdSetPlc1CdFromSelect061 = new String();
		}
		else
		{
			kisnTdSetPlc1CdFromSelect061 = itemsFromKkSelect061[3];
		}
		if (isNull(itemsFromKkSelect061[4]))
		{
			kisnTdSetPlc2CdFromSelect061 = new String();
		}
		else
		{
			kisnTdSetPlc2CdFromSelect061 = itemsFromKkSelect061[4];
		}
		if (isNull(itemsFromKkSelect061[5]))
		{
			kisnTdStcKashoCdFromSelect061 = new String();
		}
		else
		{
			kisnTdStcKashoCdFromSelect061 = itemsFromKkSelect061[5];
		}
		if (isNull(itemsFromKkSelect061[6]))
		{
			kisnTdSetPlc1OtrFromSelect061 = new String();
		}
		else
		{
			kisnTdSetPlc1OtrFromSelect061 = itemsFromKkSelect061[6];
		}
		if (isNull(itemsFromKkSelect061[7]))
		{
			kisnTdSetPlc2OtrFromSelect061 = new String();
		}
		else
		{
			kisnTdSetPlc2OtrFromSelect061 = itemsFromKkSelect061[7];
		}
		if (isNull(itemsFromKkSelect061[8]))
		{
			kisnTdStcKashoOtrFromSelect061 = new String();
		}
		else
		{
			kisnTdStcKashoOtrFromSelect061 = itemsFromKkSelect061[8];
		}
		if (isNull(itemsFromKkSelect061[9]))
		{
			tanmtStcMenCdFromSelect061 = new String();
		}
		else
		{
			tanmtStcMenCdFromSelect061 = itemsFromKkSelect061[9];
		}
		
		isRozettStcCdEqual = rozettStcStatCdReadyToInsert.equals(rozettStcStatCdFromSelect061);
		isConsntStcNyoCdEqual = consntStcNyoCdReadyToInsert.equals(consntStcNyoCdFromSelect061);
		isTnmtStcFlrCdEqual = tnmtStcFlrCdReadyToInsert.equals(tnmtStcFlrCdFromSelect061);
		isKisnTdSetPlc1CdEqual = kisnTdSetPlc1CdReadyToInsert.equals(kisnTdSetPlc1CdFromSelect061);
		isKisnTdSetPlc2CdEqual = kisnTdSetPlc2CdReadyToInsert.equals(kisnTdSetPlc2CdFromSelect061);
		isKisnTdStcKashoCdEqual = kisnTdStcKashoCdReadyToInsert.equals(kisnTdStcKashoCdFromSelect061);
		isKisnTdSetPlc1OtrEqual = kisnTdSetPlc1OtrReadyToInsert.equals(kisnTdSetPlc1OtrFromSelect061);
		isKisnTdSetPlc2OtrEqual = kisnTdSetPlc2OtrReadyToInsert.equals(kisnTdSetPlc2OtrFromSelect061);
		isKisnTdStcKashoOtrEqual = kisnTdStcKashoOtrReadyToInsert.equals(kisnTdStcKashoOtrFromSelect061);
		isTanmtStcMenCdEqual = tanmtStcMenCdReadyToInsert.equals(tanmtStcMenCdFromSelect061);
	
		if (isRozettStcCdEqual && isConsntStcNyoCdEqual && isTnmtStcFlrCdEqual && isKisnTdSetPlc1CdEqual
				&& isKisnTdSetPlc2CdEqual && isKisnTdStcKashoCdEqual && isKisnTdSetPlc1OtrEqual && isKisnTdSetPlc2OtrEqual 
				&& isKisnTdStcKashoOtrEqual && isTanmtStcMenCdEqual)
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * @param svcKeiKaisenUcwkNo
	 * @param geneAddDtm
	 * @param HashMap<String, String>
	 * @return boolean
	 * @throws Exception
	 */
	private boolean executeProcessKK_T_KAISEN_UW(String svcKeiKaisenUcwkNo, String geneAddDtm, HashMap<String, String> itemForInsert) throws Exception
	{
		// 条件項目を設定します
		Object[] whereParam = {svcKeiKaisenUcwkNo, geneAddDtm};
		
		// PK検索を行う
		JBSbatCommonDBInterface outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap = executeKK_T_SVKEI_KAISEN_UW_SELECT_byPK(whereParam);
		
		if (outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap != null)
		{
			setParamKK_T_SVKEI_KAISEN_UW(outKK_T_SVKEI_KAISEN_UW_PKSELECT_DbMap, itemForInsert);
		}
		
		else
		{
			return false;
		}
		
		return true;
	}
	
	/**
	 * 仕掛中の工事案件番号を取得し、ローゼットの状態を更新する。
	 *
	 * @throws Exception
	 */
	private void executeMain() throws Exception
	{
		JBSbatCommonDBInterface outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap = null;
		JBSbatCommonDBInterface outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap = null;
		JBSbatCommonDBInterface outKU_T_KOJIAK_KK_SELECT_050DbMap = null;
		
		String svcKeiKaisenUcwkNo = null;
		String rozettStcRsltCd = null;
		String jskConsntStcNyoCd = null;
		
		String rozettStcStatCd = null;
		String consntStcNyoCd = null;
		String tnmtStcFlrCd = null;
		String kisnTdSetPlc1Cd = null;
		String kisnTdSetPlc2Cd = null;
		String kisnTdStcKashoCd = null;
		String kisnTdSetPlc1Otr = null;
		String kisnTdSetPlc2Otr = null;
		String kisnTdStcKashoOtr = null;
		String tanmtStcMenCd = null;
		String geneAddDtm = null;
		
		String kojiakNo = null;
		String kojiakStat = null;
		String mansKojiakStatCd = null;
		String opmsChgeRnkiYh = null;
		
		
// IT1-2021-0000088対応 20211115 星野 DEL START
//		// システム年月日時分秒
//		sysDate = JCCBatCommon.getSysDateTimeStamp();
// IT1-2021-0000088対応 20211115 星野 DEL END
		
		// (a-1).SQL定義キー（KK_T_KJ_FIN_WK-KK_SELECT_036）を実行する
		executeKK_T_KJ_FIN_WK_KK_SELECT_036();
		outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap =  db_KK_T_KJ_FIN_WK.selectNext();
		
		// b(a-1)で取得したレコードの件数分、以下の処理を行う。
		while (outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap != null)
		{
			// 工事完了ワーク.サービス契約回線内訳番号
			svcKeiKaisenUcwkNo = outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.SVC_KEI_KAISEN_UCWK_NO);
			// 工事完了ワーク.ローゼット設置結果コード
			rozettStcRsltCd = outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.ROZETT_STC_RSLT_CD);
			// 工事完了ワーク.実績コンセント設置内容コード
			jskConsntStcNyoCd = outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap.getString(JBSbatKK_T_KJ_FIN_WK.JSK_CONSNT_STC_NYO_CD);
			
			if (!isNull(svcKeiKaisenUcwkNo))
			{	
				// (b-1).SQL定義（KK_T_SVKEI_KAISEN_UW-KK_SELECT_061）を実行する
				executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_061(svcKeiKaisenUcwkNo);
				outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap = db_KK_T_SVKEI_KAISEN_UW.selectNext();
				
				HashMap<String, String> itemForInsert = null;
				
				// @(b-1)のSQL実行結果が取得できない場合
				while (outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap != null)
				{
					// ローゼット設置状態コード
					rozettStcStatCd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD);
					// コンセント設置内容コード
					consntStcNyoCd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD);
					// 端末設置フロアコード
					tnmtStcFlrCd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TNMT_STC_FLR_CD);
					// 回線終端装置設置場所1コード
					kisnTdSetPlc1Cd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_CD);
					// 回線終端装置設置場所2コード
					kisnTdSetPlc2Cd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_CD);
					// 回線終端装置設置箇所コード
					kisnTdStcKashoCd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_CD);
					// 回線終端装置設置場所1その他
					kisnTdSetPlc1Otr = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_1_OTR);
					// 回線終端装置設置場所2その他
					kisnTdSetPlc2Otr = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_SETPLC_2_OTR);
					// 回線終端装置設置箇所その他
					kisnTdStcKashoOtr = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_TD_STC_KASHO_OTR);
					// 端末設置面コード
					tanmtStcMenCd = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.TANMT_STC_MEN_CD);
					// 世代登録年月日時分秒
					geneAddDtm = outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM);
					
					String[] itemsFromKkSelect061 = new String[]{rozettStcStatCd, consntStcNyoCd, tnmtStcFlrCd, kisnTdSetPlc1Cd, kisnTdSetPlc2Cd, kisnTdStcKashoCd,
							kisnTdSetPlc1Otr, kisnTdSetPlc2Otr, kisnTdStcKashoOtr, tanmtStcMenCd};
					
					// Aサービス契約回線内訳の更新する各項目の更新結果がすべておなじ場合
					if (JKKStrConst.ROZETT_STATUS_CD_2.equals(rozettStcRsltCd))
					{
						itemForInsert = createItemForInsertRosette2();
					}
					
					// ＜上記以外場合＞
					else
					{
						itemForInsert = createItemForInsertNotRosette2(outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap, jskConsntStcNyoCd);
					}
					
					// Aサービス契約回線内訳の更新する各項目の更新結果がすべておなじ場合
					if (!isItemExistInOutKK_T_KAISEN_UW_SELECT_061(itemForInsert, itemsFromKkSelect061))
					{
						if (!executeProcessKK_T_KAISEN_UW(svcKeiKaisenUcwkNo, geneAddDtm, itemForInsert))
						{
							continue;
						}
						
						// (d-1）SQL定義（KU_T_KOJIAK-KK_SELECT_050）を実行する。
						executeKU_T_KOJIAK_KK_SELECT_050(svcKeiKaisenUcwkNo);
						outKU_T_KOJIAK_KK_SELECT_050DbMap = db_KU_T_KOJIAK.selectNext();
						
						while (outKU_T_KOJIAK_KK_SELECT_050DbMap != null)
						{
							// 工事案件番号
							kojiakNo = outKU_T_KOJIAK_KK_SELECT_050DbMap.getString(JBSbatKU_T_KOJIAK.KOJIAK_NO);
							// 工事案件ステータス
							kojiakStat = outKU_T_KOJIAK_KK_SELECT_050DbMap.getString(JBSbatKU_T_KOJIAK.KOJIAK_STAT);
							// マンション工事案件状態コード
							mansKojiakStatCd = outKU_T_KOJIAK_KK_SELECT_050DbMap.getString(JBSbatKU_T_KOJIAK.MANS_KOJIAK_STAT_CD);
							
							if (!isNull(kojiakNo))
							{
								// (c).で設定したサービス契約回線内訳.ローゼット設置状態コード
								rozettStcStatCd = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.ROZETT_STC_STAT_CD);
								// (c).で設定したサービス契約回線内訳.コンセント設置内容コード
								consntStcNyoCd = itemForInsert.get(JBSbatKK_T_SVKEI_KAISEN_UW.CONSNT_STC_NYO_CD);
								
								/**
								 * 工事案件.マンション工事案件状態コード＝"130"（受付済）または
								 * 工事案件.工事案件ステータスが"130"（受付済）　の場合
								 * 　"0"（否）を設定
								 */
								if (JKKStrConst.CD01651_UKTZ.equals(mansKojiakStatCd) || JKKStrConst.CD00474_130.equals(kojiakStat))
								{
									opmsChgeRnkiYh = JKKStrConst.CD00001_0;
								}
								
								/**
								 * 上記以外の場合
								 * 　"1"（要）を設定
								 */
								else
								{
									opmsChgeRnkiYh = JKKStrConst.CD00001_1;
								}
								
								//（d-2）データが取得できた場合、工事案件スキーマの更新を行う。
								String[] param = new String[]{kojiakNo, rozettStcStatCd, consntStcNyoCd, opmsChgeRnkiYh};
								executeKU_T_KOJIAK_UPDATE_byPK(param);
							}
							outKU_T_KOJIAK_KK_SELECT_050DbMap = db_KU_T_KOJIAK.selectNext();
						}
					}
					outKK_T_SVKEI_KAISEN_UW_KK_SELECT_061DbMap = db_KK_T_SVKEI_KAISEN_UW.selectNext();
				}
			}
			outKK_T_KJ_FIN_WK_KK_SELECT_036DbMap =  db_KK_T_KJ_FIN_WK.selectNext();
		}
	}
}
