/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKGetTanBuyDataUpd
*	ソースファイル名	：JBSbatKKGetTanBuyDataUpd.java
*	作成者				：富士通　
*	作成日				：2012年07月25日
*＜機能概要＞
*　端末購入通知書ステータス更新部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00		2012/07/25	富士通		新規作成
*	v4.01		2013/07/25	富士通		【OT-2013-0000661】 登録オペレータＩＤ取得対応
*	v52.00.00	2021/01/26	FJ)三原		【ANK-3987-00-00】Netflix導入対応(STEP2)
*********************************************************************/
package eo.business.service;

import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatCommon;
import eo.business.util.file.JBSbatKKIFM237;
import eo.business.util.table.JBSbatKK_T_KAP_KEI;
import eo.business.util.table.JBSbatKK_T_TMKNTSHO_INF;
import eo.business.util.table.JBSbatZM_M_USER;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKGetTanBuyDataUpd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(通知書)*/
	private static final String D_TBL_NAME_KK_T_TCHISHO = "KK_T_TCHISHO";

	/** テーブル(通知対象物)*/
	private static final String D_TBL_NAME_KK_T_TCHI_TG_BPIN = "KK_T_TCHI_TG_BPIN";

	/** テーブル(通知書内訳)*/
	private static final String D_TBL_NAME_KK_T_TCHISHO_UW = "KK_T_TCHISHO_UW";

	/** テーブル(割賦契約)*/
	private static final String D_TBL_NAME_KK_T_KAP_KEI = "KK_T_KAP_KEI";
	
	/** テーブル(ユーザー)*/
	private static final String D_TBL_NAME_ZM_M_USER = "ZM_M_USER";

	// ANK-3987-00-00 ADD START
	/** テーブル(端末購入通知書情報)*/
	private static final String D_TBL_NAME_KK_T_TMKNTSHO_INF = "KK_T_TMKNTSHO_INF";
	// ANK-3987-00-00 ADD END

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_KAP_KEI_KK_SELECT_003 = "KK_SELECT_003";

	// ANK-3987-00-00 ADD START
	/** SQL定義キー(KK_UPDATE_001)*/
	private static final String KK_T_TMKNTSHO_INF_KK_UPDATE_001 = "KK_UPDATE_001";
	// ANK-3987-00-00 ADD END

	/** テーブルアクセスクラス(通知書)*/
	private JBSbatSQLAccess db_KK_T_TCHISHO = null;

	/** テーブルアクセスクラス(通知対象物)*/
	private JBSbatSQLAccess db_KK_T_TCHI_TG_BPIN = null;

	/** テーブルアクセスクラス(通知書内訳)*/
	private JBSbatSQLAccess db_KK_T_TCHISHO_UW = null;

	/** テーブルアクセスクラス(割賦契約)*/
	private JBSbatSQLAccess db_KK_T_KAP_KEI = null;

	/** テーブルアクセスクラス(ユーザー)*/
	private JBSbatSQLAccess db_ZM_M_USER = null;

	// ANK-3987-00-00 ADD START
	/** テーブルアクセスクラス(端末購入通知書情報)*/
	private JBSbatSQLAccess db_KK_T_TMKNTSHO_INF = null;
	// ANK-3987-00-00 ADD END

/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** シーケンス定義名(通知書番号) */
	private static final String SEQ_TCHISHO = "SEQ_TCHISHO_NO";
	/** シーケンス定義名(通知書内訳番号) */
	private static final String SEQ_TCHISHO_UW = "SEQ_TCHISHO_UW_NO";
	/** シーケンス定義名(通知書対象物番号) */
	private static final String SEQ_TCHI_TG_BPIN = "SEQ_TCHI_TG_BPIN_NO";
	/** シーケンス接頭文字 */
	private static final String SEQ_STR = "";
	/** シーケンス桁数 */
	private static final int SEQ_NUM = 12;
	/** 通知済みフラグ .*/
	private static final Object FLG_SUMI = "2";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_TCHISHO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TCHISHO);
		db_KK_T_TCHI_TG_BPIN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TCHI_TG_BPIN);
		db_KK_T_TCHISHO_UW = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TCHISHO_UW);
		db_KK_T_KAP_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAP_KEI);
		db_ZM_M_USER = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_USER);
		// ANK-3987-00-00 ADD START
		db_KK_T_TMKNTSHO_INF = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TMKNTSHO_INF);
		// ANK-3987-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// ANK-3987-00-00 ADD START
		// 通知書コード
		String tchishoCd = "";
		if (inMap != null)
		{
			tchishoCd = inMap.getString(JBSbatKKIFM237.TCHISHO_CD);
		}
		
		if (JBSbatKKConst.TCHISHO_CD_210.equals(tchishoCd))
		{
		// ANK-3987-00-00 ADD END
			// 単項目チェック
			if(!this.isSingleCheckKKIFM237_INF1(inMap.getMap(), this.getItemvalueMap()))
			{
				// 単項目チェックエラー
				super.commonItem.setErrFlg(true);
				return null;
			}
		// ANK-3987-00-00 ADD START
		}
		if (JBSbatKKConst.TCHISHO_CD_220.equals(tchishoCd))
		{
			// 単項目チェック
			if(!this.isSingleCheckKKIFM237_INF2(inMap.getMap(), this.getItemvalueMap()))
			{
				// 単項目チェックエラー
				super.commonItem.setErrFlg(true);
				return null;
			}
		}
		// ANK-3987-00-00 ADD END
		
		// ####################
		// ## DB登録更新処理 ##
		// ####################
		// 通知書
		String tch_no = this.myInsertDBTchiSho(inMap);
		// 通知対象物
		this.myInsertDBTchiTg(inMap, tch_no);
		// 通知書内訳
		this.myInsertDBTchiUW(inMap, tch_no);
		// ANK-3987-00-00 ADD START
		if (JBSbatKKConst.TCHISHO_CD_210.equals(tchishoCd))
		{
		// ANK-3987-00-00 ADD END
			// 割賦契約更新
			if(!this.execInsertKAPKEI(inMap))
			{
				super.commonItem.setErrFlg(true);
				return null;
			}
		// ANK-3987-00-00 ADD START
		}
		else if (JBSbatKKConst.TCHISHO_CD_220.equals(tchishoCd))
		{
			// 端末購入通知書情報
			if(!this.execInsertTMKNTSHOINF(inMap))
			{
				super.commonItem.setErrFlg(true);
				return null;
			}
		}
		// ANK-3987-00-00 ADD END
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_TCHISHO.close();
		db_KK_T_TCHI_TG_BPIN.close();
		db_KK_T_TCHISHO_UW.close();
		db_KK_T_KAP_KEI.close();
		db_ZM_M_USER.close();
		// ANK-3987-00-00 ADD START
		db_KK_T_TMKNTSHO_INF.close();
		// ANK-3987-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（端末購入関連スキーマ更新データ）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM237-INF1.KAP_KEI_NO			DB更新用ファイル（端末購入通知書）.割賦契約番号
	 *			 TXT-KKIFM237-INF1.SYSID			DB更新用ファイル（端末購入通知書）.ＳＹＳＩＤ
	 *			 TXT-KKIFM237-INF1.SVC_KEI_NO			DB更新用ファイル（端末購入通知書）.サービス契約番号
	 *			 TXT-KKIFM237-INF1.KEISHA_PCD			DB更新用ファイル（端末購入通知書）.契約者郵便番号
	 *			 TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD			DB更新用ファイル（端末購入通知書）.宅内機器型式コード
	 *			 TXT-KKIFM237-INF1.KIKI_SOHUS_PCD			DB更新用ファイル（端末購入通知書）.機器送付先郵便番号
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	@SuppressWarnings("unchecked")
	private boolean isSingleCheckKKIFM237_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// 割賦契約番号項目チェック
		strValue = (String)rsMap.get("KAP_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.KAP_KEI_NO")});
			return false;
		}

		// ＳＹＳＩＤ項目チェック
		strValue = (String)rsMap.get("SYSID");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.SYSID")});
			return false;
		}

		// サービス契約番号項目チェック
		strValue = (String)rsMap.get("SVC_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.SVC_KEI_NO")});
			return false;
		}

		// 契約者郵便番号項目チェック
		strValue = (String)rsMap.get("KEISHA_PCD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.KEISHA_PCD")});
			return false;
		}

		// 宅内機器型式コード項目チェック
		strValue = (String)rsMap.get("TAKNKIKI_MODEL_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD")});
			return false;
		}

		// 機器送付先郵便番号項目チェック
		strValue = (String)rsMap.get("KIKI_SOHUS_PCD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.KIKI_SOHUS_PCD")});
			return false;
		}
		return true;
	}

	// ANK-3987-00-00 ADD START
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（端末購入関連スキーマ更新データ）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM237-INF1.SYSID			DB更新用ファイル（端末購入通知書）.ＳＹＳＩＤ
	 *			 TXT-KKIFM237-INF1.SVC_KEI_NO			DB更新用ファイル（端末購入通知書）.サービス契約番号
	 *			 TXT-KKIFM237-INF1.KEISHA_PCD			DB更新用ファイル（端末購入通知書）.契約者郵便番号
	 *			 TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD			DB更新用ファイル（端末購入通知書）.宅内機器型式コード
	 *			 TXT-KKIFM237-INF1.KIKI_SOHUS_PCD			DB更新用ファイル（端末購入通知書）.機器送付先郵便番号
	 *			 TXT-KKIFM237-INF1.TMKNTSHO_INF_NO			DB更新用ファイル（端末購入通知書）.端末購入通知書情報番号
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	@SuppressWarnings("unchecked")
	private boolean isSingleCheckKKIFM237_INF2(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;
		
		// ＳＹＳＩＤ項目チェック
		strValue = (String)rsMap.get("SYSID");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.SYSID")});
			return false;
		}
		
		// サービス契約番号項目チェック
		strValue = (String)rsMap.get("SVC_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.SVC_KEI_NO")});
			return false;
		}
		
		// 契約者郵便番号項目チェック
		strValue = (String)rsMap.get("KEISHA_PCD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.KEISHA_PCD")});
			return false;
		}
		
		// 宅内機器型式コード項目チェック
		strValue = (String)rsMap.get("TAKNKIKI_MODEL_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD")});
			return false;
		}
		
		// 機器送付先郵便番号項目チェック
		strValue = (String)rsMap.get("KIKI_SOHUS_PCD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.KIKI_SOHUS_PCD")});
			return false;
		}
		
		// 端末購入通知書情報番号項目チェック
		strValue = (String)rsMap.get("TMKNTSHO_INF_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM237-INF1.TMKNTSHO_INF_NO")});
			return false;
		}
		
		return true;
	}
	// ANK-3987-00-00 ADD END

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	通知書番号				TCHISHO_NO
	 *		 	通知書ステータス				TCHISHO_STAT
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	通知書発行コード				TCHISHO_HAKKO_CD
	 *		 	印刷依頼年月日				PRINT_REQYMD
	 *		 	発行年月日				HAKKO_YMD
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	申込書番号				MSKMSHO_NO
	 *		 	工事案件番号				KOJIAK_NO
	 *		 	通知書コード				TCHISHO_CD
	 *		 	通知書登録ユーザーＩＤ				TCHISHO_ADD_USER_ID
	 *		 	通知書送付先名				TCHISHO_SOHUS_NM
	 *		 	通知書送付先コード				TCHISHO_SOHUS_CD
	 *		 	通知書送付先住所コード				TCHISHO_SOHUS_AD_CD
	 *		 	通知書送付先郵便番号				TCHISHO_SOHUS_PCD
	 *		 	通知書送付先都道府県名				TCHISHO_SOHUS_STATE_NM
	 *		 	通知書送付先市区町村名				TCHISHO_SOHUS_CITY_NM
	 *		 	通知書送付先大字通称名				TCHISHO_SOHUS_OAZTSU_NM
	 *		 	通知書送付先字丁目名				TCHISHO_SOHUS_AZCHO_NM
	 *		 	通知書送付先番地号				TCHISHO_SOHUS_BNCHIGO
	 *		 	通知書送付先住所補記・建物名				TCHISHO_SOHUS_ADRTTM
	 *		 	通知書送付先住所補記・部屋番号				TCHISHO_SOHUS_ADRRM
	 *		 	通知書送付先電話番号				TCHISHO_SOHUS_TELNO
	 *		 	機器提供サービス契約番号				KKTK_SVC_KEI_NO
	 *		 	請求先サービス契約番号				SEIKY_SK_SVC_KEI_NO
	 *		 	通知書印刷実施先コード				TCHISHO_PRINT_JSSI_SK_CD
	 *		 	通知書取消年月日				TCHISHO_CL_YMD
	 *		 	通知書取消理由コード				TCHISHO_CLRE_CD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TCHISHO_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TCHISHO_NO", setParam[0]);
		setMap.setValue("TCHISHO_STAT", setParam[1]);
		setMap.setValue("SYSID", setParam[2]);
		setMap.setValue("TCHISHO_HAKKO_CD", setParam[3]);
		setMap.setValue("PRINT_REQYMD", setParam[4]);
		setMap.setValue("HAKKO_YMD", setParam[5]);
		setMap.setValue("MSKM_DTL_NO", setParam[6]);
		setMap.setValue("MSKMSHO_NO", setParam[7]);
		setMap.setValue("KOJIAK_NO", setParam[8]);
		setMap.setValue("TCHISHO_CD", setParam[9]);
		setMap.setValue("TCHISHO_ADD_USER_ID", setParam[10]);
		setMap.setValue("TCHISHO_SOHUS_NM", setParam[11]);
		setMap.setValue("TCHISHO_SOHUS_CD", setParam[12]);
		setMap.setValue("TCHISHO_SOHUS_AD_CD", setParam[13]);
		setMap.setValue("TCHISHO_SOHUS_PCD", setParam[14]);
		setMap.setValue("TCHISHO_SOHUS_STATE_NM", setParam[15]);
		setMap.setValue("TCHISHO_SOHUS_CITY_NM", setParam[16]);
		setMap.setValue("TCHISHO_SOHUS_OAZTSU_NM", setParam[17]);
		setMap.setValue("TCHISHO_SOHUS_AZCHO_NM", setParam[18]);
		setMap.setValue("TCHISHO_SOHUS_BNCHIGO", setParam[19]);
		setMap.setValue("TCHISHO_SOHUS_ADRTTM", setParam[20]);
		setMap.setValue("TCHISHO_SOHUS_ADRRM", setParam[21]);
		setMap.setValue("TCHISHO_SOHUS_TELNO", setParam[22]);
		setMap.setValue("KKTK_SVC_KEI_NO", setParam[23]);
		setMap.setValue("SEIKY_SK_SVC_KEI_NO", setParam[24]);
		setMap.setValue("TCHISHO_PRINT_JSSI_SK_CD", setParam[25]);
		setMap.setValue("TCHISHO_CL_YMD", setParam[26]);
		setMap.setValue("TCHISHO_CLRE_CD", setParam[27]);
	
		// DBアクセスを実行します
		db_KK_T_TCHISHO.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	通知対象物番号				TCHI_TG_BPIN_NO
	 *		 	通知書番号				TCHISHO_NO
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	通知完了済フラグ				TCHI_FIN_ZM_FLG
	 *		 	通知対象物適用開始年月日				TCHI_TG_BPIN_TSTAYMD
	 *		 	通知対象物適用終了年月日				TCHI_TG_BPIN_TENDYMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TCHI_TG_BPIN_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TCHI_TG_BPIN_NO", setParam[0]);
		setMap.setValue("TCHISHO_NO", setParam[1]);
		setMap.setValue("SYSID", setParam[2]);
		setMap.setValue("SVC_KEI_NO", setParam[3]);
		setMap.setValue("TCHI_FIN_ZM_FLG", setParam[4]);
		setMap.setValue("TCHI_TG_BPIN_TSTAYMD", setParam[5]);
		setMap.setValue("TCHI_TG_BPIN_TENDYMD", setParam[6]);
	
		// DBアクセスを実行します
		db_KK_T_TCHI_TG_BPIN.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	通知書内訳番号				TCHISHO_UW_NO
	 *		 	通知書番号				TCHISHO_NO
	 *		 	通知書内訳種別コード				TCHISHO_UCWK_SBT_CD
	 *		 	サービスコード				SVC_CD
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	サービス契約内訳番号				SVC_KEI_UCWK_NO
	 *		 	利用開始年月日				USE_STAYMD
	 *		 	ＡＤＳＬ利用開始年月日				ADSL_USE_STAYMD
	 *		 	整理番号				SEIRI_NO
	 *		 	ｅｏＩＤ				EOID
	 *		 	初期ｅｏＩＤ				SHK_EOID
	 *		 	初期ｅｏＩＤパスワード				SHK_EOID_PWD
	 *		 	家族入会コード				FAMILY_JOIN_CD
	 *		 	家族入会コードパスワード				FAMILY_JOIN_CD_PWD
	 *		 	通知書印字名				TCHISHO_PRT_NM
	 *		 	認証ＩＤ				NINSHO_ID
	 *		 	認証ＩＤパスワード				NINSHO_ID_PWD
	 *		 	メールアドレス				MLAD
	 *		 	ＰＯＰＩＤパスワード				POP_ID_PWD
	 *		 	ＷｅｂＩＤ				WEB_ID
	 *		 	ＷｅｂＩＤパスワード				WEB_ID_PWD
	 *		 	ＫＯＰＴ電話番号				KOPT_TELNO
	 *		 	発信者番号通知コード				HASINSHA_NO_TCH_CD
	 *		 	ＶＡポート番号				VA_PORT_NO
	 *		 	電話オプション設定用リモート操作用パスワード				TEL_OP_SETTE_RMTS_PWD
	 *		 	ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ				IEEE802_1X_SSID
	 *		 	ＷＰＡ２／ＡＥＳ用ＳＳＩＤ				WPA2_AES_SSID
	 *		 	ＷＥＰ用ＳＳＩＤ				WEP_SSID
	 *		 	ＷＥＰキー				WEP_KEY
	 *		 	ＦＴＰサーバーＵＲＬ				FTP_SERVER_URL
	 *		 	ＰＯＰサーバーＵＲＬ				POP_SERVER_URL
	 *		 	ＳＭＴＰサーバーＵＲＬ				SMTP_SERVER_URL
	 *		 	割賦契約締結年月日				KAP_KEI_CNC_YMD
	 *		 	割賦販売形態コード				KAP_HAMBAI_FORM_CD
	 *		 	タブレット宅内機器型式コード				TABLET_TAKNKIKI_MODEL_CD
	 *		 	タブレット宅内機器型式名				TABLET_TAKNKIKI_MODEL_NM
	 *		 	機器送付先住所コード				KIKI_SOHUS_AD_CD
	 *		 	機器送付先郵便番号				KIKI_SOHUS_PCD
	 *		 	機器送付先都道府県名				KIKI_SOHUS_STATE_NM
	 *		 	機器送付先市区町村名				KIKI_SOHUS_CITY_NM
	 *		 	機器送付先大字通称名				KIKI_SOHUS_OAZTSU_NM
	 *		 	機器送付先字丁目名				KIKI_SOHUS_AZCHO_NM
	 *		 	機器送付先番地号				KIKI_SOHUS_BNCHIGO
	 *		 	機器送付先住所補記・建物名				KIKI_SOHUS_ADRTTM
	 *		 	機器送付先住所補記・部屋番号				KIKI_SOHUS_ADRRM
	 *		 	端末購入受付担当者名				TNMT_BUY_UK_TNTSHA_NM
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TCHISHO_UW_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TCHISHO_UW_NO", setParam[0]);
		setMap.setValue("TCHISHO_NO", setParam[1]);
		setMap.setValue("TCHISHO_UCWK_SBT_CD", setParam[2]);
		setMap.setValue("SVC_CD", setParam[3]);
		setMap.setValue("PRC_GRP_CD", setParam[4]);
		setMap.setValue("PCRS_CD", setParam[5]);
		setMap.setValue("PPLAN_CD", setParam[6]);
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[7]);
		setMap.setValue("USE_STAYMD", setParam[8]);
		setMap.setValue("ADSL_USE_STAYMD", setParam[9]);
		setMap.setValue("SEIRI_NO", setParam[10]);
		setMap.setValue("EOID", setParam[11]);
		setMap.setValue("SHK_EOID", setParam[12]);
		setMap.setValue("SHK_EOID_PWD", setParam[13]);
		setMap.setValue("FAMILY_JOIN_CD", setParam[14]);
		setMap.setValue("FAMILY_JOIN_CD_PWD", setParam[15]);
		setMap.setValue("TCHISHO_PRT_NM", setParam[16]);
		setMap.setValue("NINSHO_ID", setParam[17]);
		setMap.setValue("NINSHO_ID_PWD", setParam[18]);
		setMap.setValue("MLAD", setParam[19]);
		setMap.setValue("POP_ID_PWD", setParam[20]);
		setMap.setValue("WEB_ID", setParam[21]);
		setMap.setValue("WEB_ID_PWD", setParam[22]);
		setMap.setValue("KOPT_TELNO", setParam[23]);
		setMap.setValue("HASINSHA_NO_TCH_CD", setParam[24]);
		setMap.setValue("VA_PORT_NO", setParam[25]);
		setMap.setValue("TEL_OP_SETTE_RMTS_PWD", setParam[26]);
		setMap.setValue("IEEE802_1X_SSID", setParam[27]);
		setMap.setValue("WPA2_AES_SSID", setParam[28]);
		setMap.setValue("WEP_SSID", setParam[29]);
		setMap.setValue("WEP_KEY", setParam[30]);
		setMap.setValue("FTP_SERVER_URL", setParam[31]);
		setMap.setValue("POP_SERVER_URL", setParam[32]);
		setMap.setValue("SMTP_SERVER_URL", setParam[33]);
		setMap.setValue("KAP_KEI_CNC_YMD", setParam[34]);
		setMap.setValue("KAP_HAMBAI_FORM_CD", setParam[35]);
		setMap.setValue("TABLET_TAKNKIKI_MODEL_CD", setParam[36]);
		setMap.setValue("TABLET_TAKNKIKI_MODEL_NM", setParam[37]);
		setMap.setValue("KIKI_SOHUS_AD_CD", setParam[38]);
		setMap.setValue("KIKI_SOHUS_PCD", setParam[39]);
		setMap.setValue("KIKI_SOHUS_STATE_NM", setParam[40]);
		setMap.setValue("KIKI_SOHUS_CITY_NM", setParam[41]);
		setMap.setValue("KIKI_SOHUS_OAZTSU_NM", setParam[42]);
		setMap.setValue("KIKI_SOHUS_AZCHO_NM", setParam[43]);
		setMap.setValue("KIKI_SOHUS_BNCHIGO", setParam[44]);
		setMap.setValue("KIKI_SOHUS_ADRTTM", setParam[45]);
		setMap.setValue("KIKI_SOHUS_ADRRM", setParam[46]);
		setMap.setValue("TNMT_BUY_UK_TNTSHA_NM", setParam[47]);
	
		// DBアクセスを実行します
		db_KK_T_TCHISHO_UW.insertByPrimaryKeys(setMap);
	}
	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	割賦契約.割賦契約番号
	 *		 	割賦契約.運用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KAP_KEI_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KAP_KEI.selectBySqlDefine(paramList, KK_T_KAP_KEI_KK_SELECT_003);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * エラーメッセージに関する項目値を格納されたHashMap<String, String>を生成します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.エラーメッセージに関する項目値を格納されたHashMapを生成する。<br>
	 * 2.エラーメッセージに関する項目値を格納されたHashMapに値を設定する。<br>
	 * </pre>
	 *			 TXT-KKIFM237-INF1.KAP_KEI_NO			DB更新用ファイル（端末購入通知書）.割賦契約番号
	 *			 TXT-KKIFM237-INF1.SYSID			DB更新用ファイル（端末購入通知書）.ＳＹＳＩＤ
	 *			 TXT-KKIFM237-INF1.SVC_KEI_NO			DB更新用ファイル（端末購入通知書）.サービス契約番号
	 *			 TXT-KKIFM237-INF1.KEISHA_PCD			DB更新用ファイル（端末購入通知書）.契約者郵便番号
	 *			 TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD			DB更新用ファイル（端末購入通知書）.宅内機器型式コード
	 *			 TXT-KKIFM237-INF1.KIKI_SOHUS_PCD			DB更新用ファイル（端末購入通知書）.機器送付先郵便番号
	 *
	 * <p>
	 * @return itemvalueMap エラーメッセージに関する項目値を格納されたHashMap
	 */
	private HashMap<String, String> getItemvalueMap()
	{
		// エラーメッセージに関する項目値が格納されたHashMapを設定
		HashMap<String, String> itemvalueMap = new HashMap<String, String>();
		itemvalueMap.put("TXT-KKIFM237-INF1.KAP_KEI_NO", "DB更新用ファイル（端末購入通知書）.割賦契約番号");
		itemvalueMap.put("TXT-KKIFM237-INF1.SYSID", "DB更新用ファイル（端末購入通知書）.ＳＹＳＩＤ");
		itemvalueMap.put("TXT-KKIFM237-INF1.SVC_KEI_NO", "DB更新用ファイル（端末購入通知書）.サービス契約番号");
		itemvalueMap.put("TXT-KKIFM237-INF1.KEISHA_PCD", "DB更新用ファイル（端末購入通知書）.契約者郵便番号");
		itemvalueMap.put("TXT-KKIFM237-INF1.TAKNKIKI_MODEL_CD", "DB更新用ファイル（端末購入通知書）.宅内機器型式コード");
		itemvalueMap.put("TXT-KKIFM237-INF1.KIKI_SOHUS_PCD", "DB更新用ファイル（端末購入通知書）.機器送付先郵便番号");
		// ANK-3987-00-00 ADD START
		itemvalueMap.put("TXT-KKIFM237-INF1.TMKNTSHO_INF_NO", "DB更新用ファイル（端末購入通知書）.端末購入通知書情報番号");
		// ANK-3987-00-00 ADD END
		return itemvalueMap;
	}

	/**
	 * 通知書登録処理
	 * 
	 * @param inMap 入力データ
	 * @return 通知書番号
	 * @throws Exception エラー全般
	 */
	private String myInsertDBTchiSho(final JBSbatServiceInterfaceMap inMap) throws Exception
	{
		
		// シーケンス番号取得
		String seq_no = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_TCHISHO, SEQ_STR, SEQ_NUM);
		
		// ANK-3987-00-00 ADD START
		// 通知書コード
		String tchishoCd = inMap.getString(JBSbatKKIFM237.TCHISHO_CD);
		// ANK-3987-00-00 ADD END
		
		Object[] params = {
				seq_no,												// 通知書番号
				"100",												// 通知書ステータス
				inMap.getString(JBSbatKKIFM237.SYSID),				// SYSID
				"1",												// 通知書発行コード
				super.opeDate,										// 印刷依頼年月日
				"",													// 発行年月日
				"",													// 申込明細番号
				"",													// 申込書番号い
				"",													// 工事案件番号
				// ANK-3987-00-00 MOD START
				//"210",												// 通知書コード
				tchishoCd,											// 通知書コード
				// ANK-3987-00-00 MOD END
				this.getOpeId(inMap),								// 通知書登録ユーザーＩＤ
				inMap.getString(JBSbatKKIFM237.CUST_NM),			// 通知書送付先名
				"",													// 通知書送付先コード
				inMap.getString(JBSbatKKIFM237.KEISHA_AD_CD),		// 通知書送付先住所コード
				inMap.getString(JBSbatKKIFM237.KEISHA_PCD),			// 通知書送付先郵便番号
				inMap.getString(JBSbatKKIFM237.KEISHA_STATE_NM),	// 通知書送付先都道府県名
				inMap.getString(JBSbatKKIFM237.KEISHA_CITY_NM),		// 通知書送付先市区町村名
				inMap.getString(JBSbatKKIFM237.KEISHA_OAZTSU_NM),	// 通知書送付先大字通称名
				inMap.getString(JBSbatKKIFM237.KEISHA_AZCHO_NM),	// 通知書送付先字丁目名
				inMap.getString(JBSbatKKIFM237.KEISHA_BNCHIGO),		// 通知書送付先番地号
				inMap.getString(JBSbatKKIFM237.KEISHA_ADRTTM),		// 通知書送付先住所補記・建物名
				inMap.getString(JBSbatKKIFM237.KEISHA_ADRRM),		// 通知書送付先住所補記・部屋番号
				"",													// 通知書送付先電話番号
				"",													// 機器提供サービス契約番号
				"",													// 請求先サービス契約番号
				"01",												// 通知書印刷実施先コード
				"",													// 通知書取消年月日
				"",													// 通知書取消理由コード
		};
		
		this.executeKK_T_TCHISHO_PKINSERT(params);
		
		return seq_no;
	}

	/**
	 * 通知対象物登録処理
	 * 
	 * @param inMap 入力データ
	 * @param tch_no 通知書番号
	 * @throws Exception 各種エラー
	 */
	private void myInsertDBTchiTg(final JBSbatServiceInterfaceMap inMap, String tch_no) throws Exception
	{
		// シーケンス番号取得
		String seq_no = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_TCHI_TG_BPIN, SEQ_STR, SEQ_NUM);
		
		Object[] params = {
				seq_no,										// 通知対象物番号
				tch_no,										// 通知書番号
				inMap.getString(JBSbatKKIFM237.SYSID),		// SYSID
				inMap.getString(JBSbatKKIFM237.SVC_KEI_NO),	// サービス契約番号	入力ファイルからセットする。
				"1",										// 通知完了済フラグ
				super.opeDate,								// 通知対象物適用開始年月日
				"20991231"									// 通知対象物適用終了年月日
		};
		
		this.executeKK_T_TCHI_TG_BPIN_PKINSERT(params);
	}

	/**
	 * 通知書内訳登録処理
	 * 
	 * @param inMap 入力データ
	 * @param tch_no 通知書番号
	 * @throws Exception 
	 */
	private void myInsertDBTchiUW(final JBSbatServiceInterfaceMap inMap, String tch_no) throws Exception
	{
		// シーケンス番号取得
		String seq_no = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_TCHISHO_UW, SEQ_STR, SEQ_NUM);

		Object[] params = {
				seq_no,													// 通知書内訳番号
				tch_no,													// 通知書番号
				"210",													// 通知書内訳種別コード
				inMap.getString(JBSbatKKIFM237.SVC_CD),					// サービスコード
				inMap.getString(JBSbatKKIFM237.PRC_GRP_CD),				// 料金グループコード
				inMap.getString(JBSbatKKIFM237.PCRS_CD),				// 料金コースコード
				inMap.getString(JBSbatKKIFM237.PPLAN_CD),				// 料金プランコード
				"",														// サービス契約内訳番号
				"",														// 利用開始年月日
				"",														// ADSL利用開始年月日
				"",														// 整理番号
				"",														// eoID
				"",														// 初期eoID
				"",														// 初期eoIDパスワード
				"",														// 家族入会コード
				"",														// 家族入会コードパスワード
				"",														// 通知書印字名
				"",														// 認証ID
				"",														// 認証IDパスワード
				"",														// メールアドレス
				"",														// メールパスワード
				"",														// WebID
				"",														// WebIDパスワード
				"",														// KOPT電話番号
				"",														// 発信者番号通知コード
				"",														// VAポート番号
				"",														// 電話オプション設定用リモート操作用パスワード
				"",														// IEEE802.1X用SSID
				"",														// WPA2/AES用SSID
				"",														// WEP用SSID
				"",														// WEPキー
				"",														// FTPサーバーURL
				"",														// POPサーバーURL
				"",														// SMTPサーバーURL
				inMap.getString(JBSbatKKIFM237.KEIYAKU_YMD),			// 割賦契約締結年月日
				inMap.getString(JBSbatKKIFM237.KAP_HAMBAI_FORM_CD),		// 割賦販売形態コード
				inMap.getString(JBSbatKKIFM237.TAKNKIKI_MODEL_CD),		// タブレット宅内機器型式コード
				inMap.getString(JBSbatKKIFM237.SYHOHIN_NM),				// タブレット宅内機器型式名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_AD_CD),		// 機器送付先住所コード
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_PCD),			// 機器送付先郵便番号
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_STATE_NM),	// 機器送付先都道府県名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_CITY_NM),		// 機器送付先市区町村名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_OAZTSU_NM),	// 機器送付先大字通称名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_AZCHO_NM),	// 機器送付先字丁目名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_BNCHIGO),		// 機器送付先番地号
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_ADRTTM),		// 機器送付先住所補記・建物名
				inMap.getString(JBSbatKKIFM237.KIKI_SOHUS_ADRRM),		// 機器送付先住所補記・部屋番号
				inMap.getString(JBSbatKKIFM237.KEI_TANTO_NM),			// 端末購入受付担当者名
		};
		
		this.executeKK_T_TCHISHO_UW_PKINSERT(params);
	}
	
	/**
	 * 割賦契約の対象レコードを送付済みに更新して挿入
	 * 
	 * @param inMap 入力レコード
	 * @return 更新成否
	 * @throws Exception 各種エラー
	 */
	private boolean execInsertKAPKEI(final JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// カレントレコードを検索
		Object[] paramKap = { inMap.getString(JBSbatKKIFM237.KAP_KEI_NO), super.opeDate };
		this.executeKK_T_KAP_KEI_KK_SELECT_003(paramKap);
		JBSbatCommonDBInterface result = db_KK_T_KAP_KEI.selectNext();
		if(result != null)
		{
			// カレントレコード全項目抽出
			JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
			whereMap.setValue(JBSbatKK_T_KAP_KEI.KAP_KEI_NO, inMap.getString(JBSbatKKIFM237.KAP_KEI_NO));
			whereMap.setValue(JBSbatKK_T_KAP_KEI.GENE_ADD_DTM, result.getString(JBSbatKK_T_KAP_KEI.GENE_ADD_DTM));
			JBSbatCommonDBInterface setMap = db_KK_T_KAP_KEI.selectByPrimaryKeysForUpdate(whereMap);
			if(setMap != null)
			{
				// ステータスを済みに更新して挿入
				setMap.setValue(JBSbatKK_T_KAP_KEI.GENE_ADD_DTM, JKKBatCommon.getSysDateTimeStamp());
				setMap.setValue(JBSbatKK_T_KAP_KEI.TNMT_BUY_TCHISHO_OPUT_SKCD, FLG_SUMI);
				
				// DBアクセスを実行します
				db_KK_T_KAP_KEI.insertByPrimaryKeys(setMap);
				return true;
			}
		}
		commonItem.getLogPrint().printBusinessErrorLog("EKKB0290AW", new String[] {
				JBSbatKK_T_KAP_KEI.TABLE_NAME + "に対象レコード(割賦契約番号:" +
				inMap.getString(JBSbatKKIFM237.KAP_KEI_NO) + ")" });
		return false;
	}

	/**
	 * 入力データから登録ユーザーIDを返却する
	 * 
	 * @param inMap 入力データ
	 * @return 登録ユーザーID
	 * @throws Exception 各種エラー
	 */
	private String getOpeId(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// 返却用ユーザーアカウント
		String userId = inMap.getString(JBSbatKKIFM237.ADD_OPEACNT);
		
		// DBアクセスオブジェクト作成（キー）
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		// 主キーをセット
		whereMap.setValue(JBSbatZM_M_USER.USER_ID, userId);
		// ユーザーアカウントが有効かチェック
		JBSbatCommonDBInterface result = this.db_ZM_M_USER.selectByPrimaryKeys(whereMap);
		if(result != null)
		{
			return userId;
		}
		else
		{
			
			return "";
		}
	}

	// ANK-3987-00-00 ADD START
	/**
	 * 端末購入通知書情報の対象レコードを送付済みに更新して挿入
	 * 
	 * @param inMap 入力レコード
	 * @return 更新成否
	 * @throws Exception 各種エラー
	 */
	private boolean execInsertTMKNTSHOINF(final JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// 端末購入通知書情報番号
		String tmkntshoInfNo = inMap.getString(JBSbatKKIFM237.TMKNTSHO_INF_NO);
		
		String[] setParam = new String[]{
				tmkntshoInfNo		// 端末購入通知書情報番号
		};
		executeKK_T_TMKNTSHO_INF_KK_UPDATE_001(setParam);
		
		return true;
	}

	/**
	 * SQLKEY(KK_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:順にバイント変数の値をsetParam配列に入れます。バイント変数は以下に説明します。
	 *		 	端末購入通知書情報番号
	 * </pre>
	 * <p>
	 * @param setParam バイント変数の値配列。
	 * @return 処理件数
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_TMKNTSHO_INF_KK_UPDATE_001(Object[] setParam) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(setParam[0].toString());

		// DBアクセスを実行します
		return db_KK_T_TMKNTSHO_INF.executeBySqlDefine(paramList, KK_T_TMKNTSHO_INF_KK_UPDATE_001);
	}
	// ANK-3987-00-00 ADD END
}
