/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom						 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACOutPrcTorikomi
*	ソースファイル名	：JBSbatACOutPrcTorikomi.java
*	作成者				：富士通　
*	作成日				：2011年06月10日
*＜機能概要＞
*　外部料金取込部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/10   富士通		新規作成
*	v3.00		2012/05/14   FJ)永田	【ANK-0024-04-00】	
*	v3.01		2012/06/15   FJ）冨井	【ANK-0377-00-00】一時金スキーマ項目追加
*	v3.02		2012/08/29   FJ）岡田	【TG1-2012-0000137・138】金額の属性チェック変更
*	v3.03		2012/09/19   FJ）岡田	【ST1-2012-0000593】金額の属性チェック変更
*	v4.00		2012/11/09   FJ）垣内	【ANK-1254-00-00】マンション一時金対応
*	v5.00		2013/08/10   FJ)庄司	【IT1-2013-0001576】性能改善　1件ずつの処理を配列化して100件単位で処理できるよう修正
*	v5.01		2013/11/18   FJ) 前田	【OM-2013-0004113】コース変更後一時金取消連携
*	v8.00.00	2013/12/18   FJ）柴田	【ANK-1584-00-00】入力ファイル、出力ファイルにサービス詳細識別番号を追加。
*	v9.00.00	2014/06/26   FJ）中作	【OM-2014-0002257】出力ファイル(課金情報(エラーデータ))を出力なしにし、業務エラーログを出力するよう修正
*	v12.00.00	2014/10/21   FJ) 岡田	【IT1-2014-0000339】単項目チェック内容変更
*	v13.00.00	2015/03/10   FJ) 安井	【OM-2015-0000450】
*	v16.00.00	2015/05/27   FJ) 西面	【ANK-2480-00-00】新電力対応
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import eo.business.common.JACbatParamUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.util.file.JBSbatACIFM014;
import eo.business.util.file.JBSbatACIFM269;
import eo.business.util.table.JBSbatAC_T_ICJKN;
import eo.business.util.table.JBSbatCH_M_PRC_KMK_OPUT_NM;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatZM_M_CD_NM_KANRI;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.application.JBSbatBusinessException;
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;
import eo.framework.util.JBSbatCheckUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatACOutPrcTorikomi extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(一時金)*/
	private static final String D_TBL_NAME_AC_T_ICJKN = "AC_T_ICJKN";

	/** テーブル(料金コース)*/
	private static final String D_TBL_NAME_KK_M_PCRS = "KK_M_PCRS";

	/** テーブル(コード名称管理)*/
	private static final String D_TBL_NAME_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";

	/** テーブル(料金項目出力名称)*/
	private static final String D_TBL_NAME_CH_M_PRC_KMK_OPUT_NM = "CH_M_PRC_KMK_OPUT_NM";

	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String AC_T_ICJKN_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String KK_M_PCRS_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String ZM_M_CD_NM_KANRI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CH_M_PRC_KMK_OPUT_NM_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String ZM_M_WORK_PARAM_KNRI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_UPDATE_001)*/
	private static final String AC_T_ICJKN_AC_UPDATE_001 = "AC_UPDATE_001";
	
	/** SQL定義キー(AC_SELECT_009)*/
	private static final String AC_T_ICJKN_AC_SELECT_009 = "AC_SELECT_009";

	/** テーブルアクセスクラス(一時金)*/
	private JBSbatSQLAccess db_AC_T_ICJKN = null;

	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;

	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;

	/** テーブルアクセスクラス(料金項目出力名称)*/
	private JBSbatSQLAccess db_CH_M_PRC_KMK_OPUT_NM = null;

	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 処理識別コードマップ */
	private Map<String, String> trnSkbtCdMap = null;

	/** 料金項目名称マップ */
	private Map<List<String>, String> prcKmkNmMap = null;

	/** 業務パラメタマップ */
	private Map<String, String> zmMWorkParamKnriMap = null;

	/** 料金コース名称マップ */
	private Map<String, String> pcrsNmMap = null;

	/** コード名称管理マップ */
	private Map<List<String>, String> zmMCdNmKanriMap = null;

	/** 一時金マップ */
	private Map<List<String>, JBSbatCommonDBInterface> acTIcjknRecordMap = null;

	/** 単項目チェック用名称Map */
	private HashMap<String, String> itemValueMap = null;
	
	// IT1-2014-0000339 ADD START
	/** 料金サービスコード（PE0201：NHK団体一括契約受信料） */
	private static final String PRC_SVC_CD_NHK_DNTIKTKEI_RCVPRC = "PE0201";
	// IT1-2014-0000339 ADD END

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_AC_T_ICJKN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_AC_T_ICJKN);
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_CD_NM_KANRI);
		db_CH_M_PRC_KMK_OPUT_NM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_KMK_OPUT_NM);
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		// 処理識別コードマップ
		trnSkbtCdMap = new HashMap<String, String>();
		// 料金項目名称マップ
		prcKmkNmMap = new HashMap<List<String>, String>();
		// 業務パラメタマップ
		zmMWorkParamKnriMap = new HashMap<String, String>();
		// 料金コース名称マップ
		pcrsNmMap = new HashMap<String, String>();
		// コード区分名マップ
		zmMCdNmKanriMap = new HashMap<List<String>, String>();
		// 一時金マップ
		acTIcjknRecordMap = new HashMap<List<String>, JBSbatCommonDBInterface>();
		// 単項目チェック用名称Map
		itemValueMap = new HashMap<String, String>();
		// 処理識別コード：登録
		putTrnSkbtCdMap(JACStrConst.WKPARA_AC_OPT_ADD);
		// 処理識別コード：更新
		putTrnSkbtCdMap(JACStrConst.WKPARA_AC_OPT_UPD);
		// 処理識別コード：削除
		putTrnSkbtCdMap(JACStrConst.WKPARA_AC_OPT_DEL);
		itemValueMap.put("TXT-ACIFM014-INF1.TRAN_SKBT_CD", 			"課金外部料金データ.処理識別コード");
		itemValueMap.put("TXT-ACIFM014-INF1.SEIKY_KEI_NO", 			"課金外部料金データ.請求契約番号");
		itemValueMap.put("TXT-ACIFM014-INF1.SVC_KEI_NO", 			"課金外部料金データ.サービス契約番号");
		itemValueMap.put("TXT-ACIFM014-INF1.PRC_GRP_CD", 			"課金外部料金データ.料金グループコード");
		itemValueMap.put("TXT-ACIFM014-INF1.PCRS_CD", 				"課金外部料金データ.料金コースコード");
		itemValueMap.put("TXT-ACIFM014-INF1.PRC_SVC_CD", 			"課金外部料金データ.料金サービスコード");
		itemValueMap.put("TXT-ACIFM014-INF1.PRC_KMK_CD", 			"課金外部料金データ.料金項目コード");
		itemValueMap.put("TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI", 	"課金外部料金データ.請求時期指定");
		itemValueMap.put("TXT-ACIFM014-INF1.SEIKY_YM", 				"課金外部料金データ.請求年月");
		itemValueMap.put("TXT-ACIFM014-INF1.SEIKY_AMNT", 			"課金外部料金データ.請求金額");
		itemValueMap.put("TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV", 	"課金外部料金データ.外部料金取込システム区分");
		itemValueMap.put("TXT-ACIFM014-INF1.KICJKN_NO", 			"課金外部料金データ.契約一時金番号");
		itemValueMap.put("TXT-ACIFM014-INF1.MANSION_ID", 			"課金外部料金データ.マンションＩＤ");
		itemValueMap.put("TXT-ACIFM014-INF1.TK_HOSHIKI_KEI_NO", 	"課金外部料金データ.提供方式契約番号");
		itemValueMap.put("TXT-ACIFM014-INF1.KANYU_KEI_PAY_HOSHIKI_CD", "課金外部料金データ.加入契約支払方式コード");
		itemValueMap.put("TXT-ACIFM014-INF1.SVC_DTL_SKBT_NO", "サービス詳細識別番号");
		/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// 単項目チェックを行う
		if (!isSingleCheckACIFM014_INF1(inMap.getMap(), itemValueMap))
		{
//OM-2015-0000450 MOD STA
//			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0500CE);
			throw new JBSbatBusinessError(JPCBatchMessageConstant.EACB0640CW);
//OM-2015-0000450 MOD END
		}
		// 料金グループコード
		String prcGrpCd 		= inMap.getString(JBSbatACIFM014.PRC_GRP_CD);
		// 料金コースコード
		String pcrsCd 			= inMap.getString(JBSbatACIFM014.PCRS_CD);
		// 料金サービスコード
		String prcSvcCd 		= inMap.getString(JBSbatACIFM014.PRC_SVC_CD);
		// 料金項目コード
		String prcKmkCd 		= inMap.getString(JBSbatACIFM014.PRC_KMK_CD);
		// 処理識別コード
		String tranSkbtCd 		= inMap.getString(JBSbatACIFM014.TRAN_SKBT_CD);
		// 請求契約番号
		String seikyKeiNo 		= inMap.getString(JBSbatACIFM014.SEIKY_KEI_NO);
		// 請求年月
		String seikyYm 			= inMap.getString(JBSbatACIFM014.SEIKY_YM);
		// 請求時期指定
		String seikyJikiShitei 	= inMap.getString(JBSbatACIFM014.SEIKY_JIKI_SHITEI);
		// サービス契約番号
		String svcKeiNo 		= inMap.getString(JBSbatACIFM014.SVC_KEI_NO);
		// 請求金額
		String seikyAmnt 		= inMap.getString(JBSbatACIFM014.SEIKY_AMNT);
		// 契約一時金番号
		String kicjKnNo 		= inMap.getString(JBSbatACIFM014.KICJKN_NO);
		// マンションID
		String mansionId 		= inMap.getString(JBSbatACIFM014.MANSION_ID);
		// 提供方式契約番号
		String tkHoshikiKeiNo 	= inMap.getString(JBSbatACIFM014.TK_HOSHIKI_KEI_NO);
		// 加入契約支払方式コード
		String kanyuKeiPayHoskCd 	= inMap.getString(JBSbatACIFM014.KANYU_KEI_PAY_HOSHIKI_CD);
		//サービス詳細識別番号
		String svcDtlSkbtNo = inMap.getString(JBSbatACIFM014.SVC_DTL_SKBT_NO);
//v16.00.00 2015/05/27 Add Start
		//当月電気利用開始年月日
		String useStaYmd = inMap.getString(JBSbatACIFM269.USE_STAYMD);
		//当月電気利用終了年月日
		String useEndYmd = inMap.getString(JBSbatACIFM269.USE_ENDYMD);
//v16.00.00 2015/05/27 Add End
		// 出力した請求契約番号の追加。
		JBSbatOutputItem outputBean = null;
		// 処理識別コードが追加の場合
		if (tranSkbtCd.equals(trnSkbtCdMap.get(JACStrConst.WKPARA_AC_OPT_ADD)))
		{
			// 一時金登録
			commonExecuteAC_T_ICJKN_PKINSERT(null // 一時金登録番号
							, BigDecimal.ZERO // 一時金更新枝番
							, kicjKnNo // 契約一時金番号
							, seikyKeiNo // 請求契約番号
							, seikyYm // 請求年月
							, seikyJikiShitei // 投入区分
							, svcKeiNo // サービス契約番号
							, prcGrpCd // 料金グループコード
							, pcrsCd // 料金コースコード
							, prcSvcCd // 料金サービスコード
							, prcKmkCd // 料金項目コード
							, seikyAmnt // 一時金料金
							, mansionId // マンションID
							, tkHoshikiKeiNo // 提供方式契約番号
							, kanyuKeiPayHoskCd // 加入契約支払方式コード
//v16.00.00 2015/05/27 Mod Start
							//, svcDtlSkbtNo); //サービス詳細識別番号
							, svcDtlSkbtNo //サービス詳細識別番号
							, useStaYmd //当月電気利用開始年月日
							, useEndYmd);  //当月電気利用開始年月日
//v16.00.00 2015/05/27 Mod End
							
		}
		else
		{
			JBSbatCommonDBInterface acTIcjknRecord = null;
			//外部料金取込データ(マージ）．契約一時金番号が未設定の場合
			if(JACStrConst.KARA_MOJI.equals(inMap.getString(JBSbatACIFM014.KICJKN_NO)))
			{
				// 検索結果取得
				acTIcjknRecord = getAcTIcjknRecord(seikyKeiNo, seikyYm, svcKeiNo, prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd);
			}
			else
			{
				// 検索結果取得
				acTIcjknRecord = getAcTIcjknRecord(kicjKnNo);
			}
			// 一時金登録番号
			String icjknAddSeq = null;
			// 一時金更新枝番
			String icjknUpdSeq = "0";
			// 検索結果が存在する場合
			if (acTIcjknRecord != null)
			{
				icjknAddSeq = acTIcjknRecord.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ);
				icjknUpdSeq = acTIcjknRecord.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ);
			}
			// 外部料金取込システム区分
			String outPrcTrkmSysDiv = inMap.getString(JBSbatACIFM014.OUT_PRC_TRKM_SYS_DIV);
			// 処理識別コードが更新の場合
			if (tranSkbtCd.equals(trnSkbtCdMap.get(JACStrConst.WKPARA_AC_OPT_UPD)))
			{
				// 検索結果が存在する場合
				if (acTIcjknRecord != null)
				{
					// 一時金更新(論理削除)
					commonExecuteAC_T_ICJKN_AC_UPDATE_001(icjknAddSeq, icjknUpdSeq);
				}
				// 一時金登録
				commonExecuteAC_T_ICJKN_PKINSERT(icjknAddSeq // 一時金登録番号
								, new BigDecimal(icjknUpdSeq) // 一時金更新枝番
								, kicjKnNo // 契約一時金番号
								, seikyKeiNo // 請求契約番号
								, seikyYm // 請求年月
								, seikyJikiShitei // 投入区分
								, svcKeiNo // サービス契約番号
								, prcGrpCd // 料金グループコード
								, pcrsCd // 料金コースコード
								, prcSvcCd // 料金サービスコード
								, prcKmkCd // 料金項目コード
								, seikyAmnt // 一時金料金
								, mansionId // マンションID
								, tkHoshikiKeiNo // 提供方式契約番号
								, kanyuKeiPayHoskCd // 加入契約支払方式コード
//v16.00.00 2015/05/27 Mod Start
								//, svcDtlSkbtNo); //サービス詳細識別番号
								, svcDtlSkbtNo //サービス詳細識別番号
								, useStaYmd //当月電気利用開始年月日
								, useEndYmd); //当月電気利用終了年月日
//v16.00.00 2015/05/27 Mod End
			}
			else if (tranSkbtCd.equals(trnSkbtCdMap.get(JACStrConst.WKPARA_AC_OPT_DEL)))
			{
				// 処理識別コードが削除の場合
				// 検索結果が存在する場合
				if (acTIcjknRecord != null)
				{
					// 一時金更新(論理削除)
					commonExecuteAC_T_ICJKN_AC_UPDATE_001(icjknAddSeq, icjknUpdSeq);
				}
				else
				{
					//OM-2014-0002257 MOD STA
					// ファイル出力
					//outputBean = prinFileRow(outPrcTrkmSysDiv, seikyKeiNo, svcKeiNo, svcDtlSkbtNo, JACStrConst.WKPARA_AC_MSG_OUTP_DELERR, prcGrpCd, pcrsCd, prcSvcCd,
					//				prcKmkCd, seikyJikiShitei, seikyYm, seikyAmnt);
					super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0340CW	, new String[] {"一時金登録番号:" + icjknAddSeq 
																											+ " 一時金更新枝番:" + icjknUpdSeq 
																											+ " 契約一時金番号:" + kicjKnNo
																											+ " サービス契約番号:" + svcKeiNo
																											+ " 請求契約番号:" + seikyKeiNo});
					//OM-2014-0002257 MOD END
				}
			}
			else
			{
				//OM-2014-0002257 MOD STA
				// ファイル出力
				//outputBean = prinFileRow(outPrcTrkmSysDiv, seikyKeiNo, svcKeiNo, svcDtlSkbtNo, JACStrConst.WKPARA_AC_MSG_OUTP_NEXERR, prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd,
				//				seikyJikiShitei, seikyYm, seikyAmnt);
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0340CW	, new String[] {"一時金登録番号:" + icjknAddSeq 
																											+ " 一時金更新枝番:" + icjknUpdSeq 
																											+ " 契約一時金番号:" + kicjKnNo
																											+ " サービス契約番号:" + svcKeiNo
																											+ " 請求契約番号:" + seikyKeiNo});
				//OM-2014-0002257 MOD END
			}
		}

		return outputBean;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/

		db_AC_T_ICJKN.clearBatch();

		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_AC_T_ICJKN.close();
		db_KK_M_PCRS.close();
		db_ZM_M_CD_NM_KANRI.close();
		db_CH_M_PRC_KMK_OPUT_NM.close();
		db_ZM_M_WORK_PARAM_KNRI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（課金外部料金データ）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-ACIFM014-INF1.TRAN_SKBT_CD			課金外部料金データ.処理識別コード
	 *			 TXT-ACIFM014-INF1.TRAN_SKBT_CD			課金外部料金データ.処理識別コード
	 *			 TXT-ACIFM014-INF1.TRAN_SKBT_CD			課金外部料金データ.処理識別コード
	 *			 TXT-ACIFM014-INF1.SEIKY_KEI_NO			課金外部料金データ.請求契約番号
	 *			 TXT-ACIFM014-INF1.SEIKY_KEI_NO			課金外部料金データ.請求契約番号
	 *			 TXT-ACIFM014-INF1.SEIKY_KEI_NO			課金外部料金データ.請求契約番号
	 *			 TXT-ACIFM014-INF1.SVC_KEI_NO			課金外部料金データ.サービス契約番号
	 *			 TXT-ACIFM014-INF1.SVC_KEI_NO			課金外部料金データ.サービス契約番号
	 *			 TXT-ACIFM014-INF1.SVC_KEI_NO			課金外部料金データ.サービス契約番号
	 *			 TXT-ACIFM014-INF1.PRC_GRP_CD			課金外部料金データ.料金グループコード
	 *			 TXT-ACIFM014-INF1.PRC_GRP_CD			課金外部料金データ.料金グループコード
	 *			 TXT-ACIFM014-INF1.PRC_GRP_CD			課金外部料金データ.料金グループコード
	 *			 TXT-ACIFM014-INF1.PCRS_CD			課金外部料金データ.料金コースコード
	 *			 TXT-ACIFM014-INF1.PCRS_CD			課金外部料金データ.料金コースコード
	 *			 TXT-ACIFM014-INF1.PCRS_CD			課金外部料金データ.料金コースコード
	 *			 TXT-ACIFM014-INF1.PRC_SVC_CD			課金外部料金データ.料金サービスコード
	 *			 TXT-ACIFM014-INF1.PRC_KMK_CD			課金外部料金データ.料金項目コード
	 *			 TXT-ACIFM014-INF1.PRC_KMK_CD			課金外部料金データ.料金項目コード
	 *			 TXT-ACIFM014-INF1.PRC_KMK_CD			課金外部料金データ.料金項目コード
	 *			 TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI			課金外部料金データ.請求時期指定
	 *			 TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI			課金外部料金データ.請求時期指定
	 *			 TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI			課金外部料金データ.請求時期指定
	 *			 TXT-ACIFM014-INF1.SEIKY_YM			課金外部料金データ.請求年月
	 *			 TXT-ACIFM014-INF1.SEIKY_YM			課金外部料金データ.請求年月
	 *			 TXT-ACIFM014-INF1.SEIKY_YM			課金外部料金データ.請求年月
	 *			 TXT-ACIFM014-INF1.SEIKY_AMNT			課金外部料金データ.請求金額
	 *			 TXT-ACIFM014-INF1.SEIKY_AMNT			課金外部料金データ.請求金額
	 *			 TXT-ACIFM014-INF1.SEIKY_AMNT			課金外部料金データ.請求金額
	 *			 TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV			課金外部料金データ.外部料金取込システム区分
	 *			 TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV			課金外部料金データ.外部料金取込システム区分
	 *			 TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV			課金外部料金データ.外部料金取込システム区分
	 *			 TXT-ACIFM014-INF1.KICJKN_NO			課金外部料金データ.契約一時金番号
	 *			 TXT-ACIFM014-INF1.KICJKN_NO			課金外部料金データ.契約一時金番号
	 *			 TXT-ACIFM014-INF1.MANSION_ID			課金外部料金データ.マンションＩＤ
	 *			 TXT-ACIFM014-INF1.MANSION_ID			課金外部料金データ.マンションＩＤ
	 *			 TXT-ACIFM014-INF1.TK_HOSHIKI_KEI_NO			課金外部料金データ.提供方式契約番号
	 *			 TXT-ACIFM014-INF1.TK_HOSHIKI_KEI_NO			課金外部料金データ.提供方式契約番号
	 *			 TXT-ACIFM014-INF1.KANYU_KEI_PAY_HOSHIKI_CD			課金外部料金データ.加入契約支払方式コード
	 *			 TXT-ACIFM014-INF1.KANYU_KEI_PAY_HOSHIKI_CD			課金外部料金データ.加入契約支払方式コード
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckACIFM014_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;
		
		// IT1-2014-0000339 ADD START
		// サービス契約番号、料金コースコードへの単項目チェック実施判定に料金サービスコードを取得します。
		String prcSvcCd = "";
		prcSvcCd = JBSbatStringUtil.trim((String)rsMap.get("PRC_SVC_CD"));
		super.logPrint.printDebugLog("prcSvcCd：" + prcSvcCd);
		// IT1-2014-0000339 ADD END

		// 処理識別コード項目チェック
		strValue = (String)rsMap.get("TRAN_SKBT_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.TRAN_SKBT_CD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.TRAN_SKBT_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.TRAN_SKBT_CD")});
			return false;
		}

		// 請求契約番号項目チェック
		strValue = (String)rsMap.get("SEIKY_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_KEI_NO")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_KEI_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_KEI_NO")});
			return false;
		}

		// サービス契約番号項目チェック
		// IT1-2014-0000339 ADD START
		// 料金サービスコードが「PE0201：NHK団体一括契約受信料」の場合、単項目チェック実施なし
		//   （NHK団体一括契約の場合、サービス契約番号に空白文字がセットされているため）
		if (!PRC_SVC_CD_NHK_DNTIKTKEI_RCVPRC.equals(prcSvcCd))
		{
			super.logPrint.printDebugLog("★料金サービスコードが「PE0201」以外の場合、サービス契約番号単項目チェック実施★");
		// IT1-2014-0000339 ADD END
			
			strValue = (String)rsMap.get("SVC_KEI_NO");
			// 必須チェック
			if(strValue == null || "".equals(strValue))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.SVC_KEI_NO")});
				return false;
			}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.SVC_KEI_NO")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.SVC_KEI_NO")});
				return false;
			}
		// IT1-2014-0000339 ADD START
		}
		// IT1-2014-0000339 ADD END

		// 料金グループコード項目チェック
		strValue = (String)rsMap.get("PRC_GRP_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_GRP_CD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_GRP_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_GRP_CD")});
			return false;
		}

		// 料金コースコード項目チェック
		// IT1-2014-0000339 ADD START
		// 料金サービスコードが「PE0201：NHK団体一括契約受信料」の場合、単項目チェック実施なし
		//   （NHK団体一括契約の場合、料金コースコードに空白文字がセットされているため）
		if (!PRC_SVC_CD_NHK_DNTIKTKEI_RCVPRC.equals(prcSvcCd))
		{
			super.logPrint.printDebugLog("★料金サービスコードが「PE0201」以外の場合、料金コースコード単項目チェック実施★");
		// IT1-2014-0000339 ADD END
			
			strValue = (String)rsMap.get("PCRS_CD");
			// 必須チェック
			if(strValue == null || "".equals(strValue))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.PCRS_CD")});
				return false;
			}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.PCRS_CD")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
																(String)itemvalueMap.get("TXT-ACIFM014-INF1.PCRS_CD")});
				return false;
			}
		// IT1-2014-0000339 ADD START
		}
		// IT1-2014-0000339 ADD END

		// 料金サービスコード項目チェック
		strValue = (String)rsMap.get("PRC_SVC_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_SVC_CD")});
			return false;
		}

		// 料金項目コード項目チェック
		strValue = (String)rsMap.get("PRC_KMK_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_KMK_CD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_KMK_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.PRC_KMK_CD")});
			return false;
		}

		// 請求時期指定項目チェック
		strValue = (String)rsMap.get("SEIKY_JIKI_SHITEI");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_JIKI_SHITEI")});
			return false;
		}

		// 請求年月項目チェック
		strValue = (String)rsMap.get("SEIKY_YM");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_YM")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_YM")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0480CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_YM")});
			return false;
		}

		// 請求金額項目チェック
		strValue = (String)rsMap.get("SEIKY_AMNT");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_AMNT")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_AMNT")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SEIKY_AMNT")});
			return false;
		}

		// 外部料金取込システム区分項目チェック
		strValue = (String)rsMap.get("OUT_PRC_TRKM_SYS_DIV");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0450CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.OUT_PRC_TRKM_SYS_DIV")});
			return false;
		}

		// 契約一時金番号項目チェック
		strValue = (String)rsMap.get("KICJKN_NO");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.KICJKN_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.KICJKN_NO")});
			return false;
		}

		// マンションＩＤ項目チェック
		strValue = (String)rsMap.get("MANSION_ID");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.MANSION_ID")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.MANSION_ID")});
			return false;
		}

		// 提供方式契約番号項目チェック
		strValue = (String)rsMap.get("TK_HOSHIKI_KEI_NO");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.TK_HOSHIKI_KEI_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.TK_HOSHIKI_KEI_NO")});
			return false;
		}

		// 加入契約支払方式コード項目チェック
		strValue = (String)rsMap.get("KANYU_KEI_PAY_HOSHIKI_CD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.KANYU_KEI_PAY_HOSHIKI_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.KANYU_KEI_PAY_HOSHIKI_CD")});
			return false;
		}

		// サービス詳細識別番号項目チェック
		strValue = (String)rsMap.get("SVC_DTL_SKBT_NO");
		// 桁数チェック
//v16.00.00 2015/05/27 Mod Start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "30"}))
//v16.00.00 2015/05/27 Mod End
		{
			commonItem.getLogPrint().printBusinessErrorLog("EACB0470CE", new String[]{
															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SVC_DTL_SKBT_NO")});
			return false;
		}

//v16.00.00 2015/05/27 Del Start
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"tel2"}))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EACB0460CE", new String[]{
//															(String)itemvalueMap.get("TXT-ACIFM014-INF1.SVC_DTL_SKBT_NO")});
//			return false;
//		}
//v16.00.00 2015/05/27 Del End

		return true;
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	請求契約番号
	 *		 	請求年月
	 *		 	契約一時金番号
	 *		 	サービス契約番号
	 *		 	料金グループコード
	 *		 	料金コースコード
	 *		 	料金サービスコード
	 *		 	料金項目コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_ICJKN_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		db_AC_T_ICJKN.selectBySqlDefine(paramList, AC_T_ICJKN_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金コースコード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_PCRS_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	コード種別コード
	 *		 	コード区分
	 *		 	コード適用開始年月日
	 *		 	コード適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_CD_NM_KANRI_AC_SELECT_001(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_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	料金コースコード
	 *		 	料金サービスコード
	 *		 	料金項目コード
	 *		 	料金項目出力名称適用開始年月日
	 *		 	料金項目出力名称適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_M_PRC_KMK_OPUT_NM_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());

		// DBアクセスを実行します
		db_CH_M_PRC_KMK_OPUT_NM.selectBySqlDefine(paramList, CH_M_PRC_KMK_OPUT_NM_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	業務パラメータID
	 *		 	業務パラメータ適用開始年月日
	 *		 	業務パラメータ適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_WORK_PARAM_KNRI_AC_SELECT_001(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_ZM_M_WORK_PARAM_KNRI.selectBySqlDefine(paramList, ZM_M_WORK_PARAM_KNRI_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	契約一時金番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_ICJKN_AC_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_AC_T_ICJKN.selectBySqlDefine(paramList, AC_T_ICJKN_AC_SELECT_009);
	}

	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	一時金登録番号				ICJKN_ADD_SEQ
	 *		 	一時金更新枝番				ICJKN_UPD_SEQ
	 *		 	契約一時金番号				KICJKN_NO
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	請求年月				SEIKY_YM
	 *		 	投入区分				TONYU_DIV
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金サービスコード				PRC_SVC_CD
	 *		 	料金項目コード				PRC_KMK_CD
	 *		 	対象料金グループコード				TRGT_PRC_GRP_CD
	 *		 	対象料金コースコード				TRGT_PCRS_CD
	 *		 	対象料金サービスコード				TRGT_PRC_SVC_CD
	 *		 	対象料金項目コード				TRGT_PRC_KMK_CD
	 *		 	請求年月算出基準年月日				SEIKY_YM_SNST_STDARDYMD
	 *		 	一時金料金				ICJKN_PRC
	 *		 	一時金種別コード				ICJKN_SBT_CD
	 *		 	一時金取込ステータス				ICJKN_TRKM_STAT
	 *		 	一時金取込結果コード				ICJKN_TRKM_RSLT_CD
	 *		 	取込済額				TRKM_ZUMI_AMNT
	 *		 	取込残額				TRKM_ZAN_AMNT
	 *		 	マンションＩＤ				MANSION_ID
	 *		 	提供方式契約番号				TK_HOSHIKI_KEI_NO
	 *		 	加入契約支払方式コード				KANYU_KEI_PAY_HOSHIKI_CD
	 *		 	一時金登録年月日時分秒				ICJKN_ADD_DTM
	 *		 	一時金登録ユーザーＩＤ				ICJKN_ADD_USER_ID
	 *		 	一時金更新年月日時分秒				ICJKN_UPD_DTM
	 *		 	一時金更新ユーザーＩＤ				ICJKN_UPD_USER_ID
	 *		 	登録年月日時分秒				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 executeAC_T_ICJKN_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("ICJKN_ADD_SEQ", setParam[0]);
		setMap.setValue("ICJKN_UPD_SEQ", setParam[1]);
		setMap.setValue("KICJKN_NO", setParam[2]);
		setMap.setValue("SEIKY_KEI_NO", setParam[3]);
		setMap.setValue("SEIKY_YM", setParam[4]);
		setMap.setValue("TONYU_DIV", setParam[5]);
		setMap.setValue("SVC_KEI_NO", setParam[6]);
		setMap.setValue("PRC_GRP_CD", setParam[7]);
		setMap.setValue("PCRS_CD", setParam[8]);
		setMap.setValue("PRC_SVC_CD", setParam[9]);
		setMap.setValue("PRC_KMK_CD", setParam[10]);
		setMap.setValue("TRGT_PRC_GRP_CD", setParam[11]);
		setMap.setValue("TRGT_PCRS_CD", setParam[12]);
		setMap.setValue("TRGT_PRC_SVC_CD", setParam[13]);
		setMap.setValue("TRGT_PRC_KMK_CD", setParam[14]);
		setMap.setValue("SEIKY_YM_SNST_STDARDYMD", setParam[15]);
		setMap.setValue("ICJKN_PRC", setParam[16]);
		setMap.setValue("ICJKN_SBT_CD", setParam[17]);
		setMap.setValue("ICJKN_TRKM_STAT", setParam[18]);
		setMap.setValue("ICJKN_TRKM_RSLT_CD", setParam[19]);
		setMap.setValue("TRKM_ZUMI_AMNT", setParam[20]);
		setMap.setValue("TRKM_ZAN_AMNT", setParam[21]);
		setMap.setValue("MANSION_ID", setParam[22]);
		setMap.setValue("TK_HOSHIKI_KEI_NO", setParam[23]);
		setMap.setValue("KANYU_KEI_PAY_HOSHIKI_CD", setParam[24]);
		setMap.setValue("ICJKN_ADD_DTM", setParam[25]);
		setMap.setValue("ICJKN_ADD_USER_ID", setParam[26]);
		setMap.setValue("ICJKN_UPD_DTM", setParam[27]);
		setMap.setValue("ICJKN_UPD_USER_ID", setParam[28]);
		setMap.setValue("ADD_DTM", setParam[29]);
		setMap.setValue("ADD_OPEACNT", setParam[30]);
		setMap.setValue("UPD_DTM", setParam[31]);
		setMap.setValue("UPD_OPEACNT", setParam[32]);
		setMap.setValue("DEL_DTM", setParam[33]);
		setMap.setValue("DEL_OPEACNT", setParam[34]);
		setMap.setValue("MK_FLG", setParam[35]);
		setMap.setValue("ADD_UNYO_YMD", setParam[36]);
		setMap.setValue("ADD_TRN_ID", setParam[37]);
		setMap.setValue("UPD_UNYO_YMD", setParam[38]);
		setMap.setValue("UPD_TRN_ID", setParam[39]);
		setMap.setValue("DEL_UNYO_YMD", setParam[40]);
		setMap.setValue("DEL_TRN_ID", setParam[41]);
		setMap.setValue("SVC_DTL_SKBT_NO", setParam[42]);
//v16.00.00 2015/05/28 Add Start
		setMap.setValue("USE_STAYMD", setParam[43]);
		setMap.setValue("USE_ENDYMD", setParam[44]);
//v16.00.00 2015/05/28 Add End
		
	
		// DBアクセスを実行します
		db_AC_T_ICJKN.insertByPrimaryKeysBatch(setMap);
	}

	/**
	 * SQLKEY(AC_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	一時金取込ステータス
	 *		 	削除年月日時分秒
	 *		 	削除オペレータアカウント
	 *		 	一時金登録番号
	 *		 	一時金更新枝番
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_ICJKN_AC_UPDATE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());

		// DBアクセスを実行します
		db_AC_T_ICJKN.executeBySqlDefine(paramList, AC_T_ICJKN_AC_UPDATE_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * 一時金レコード取得。
	 * 
	 * @param seikyKeiNo 請求契約番号
	 * @param seikyYm    請求年月
	 * @param kicjKnNo   契約一時金番号
	 * @param svcKeiNo   サービス契約番号
	 * @param prcGrpCd   料金グループコード
	 * @param pcrsCd     料金コースコード
	 * @param prcSvcCd   料金サービスコード
	 * @param prcKmkCd   料金項目コード
	 * @return 一時金レコード
	 * @throws Exception スローされる例外
	 */
	private JBSbatCommonDBInterface getAcTIcjknRecord(String seikyKeiNo, String seikyYm, String svcKeiNo,
					String prcGrpCd, String pcrsCd, String prcSvcCd, String prcKmkCd) throws Exception
	{
		List<String> keyList = Arrays.asList(seikyKeiNo, seikyYm, svcKeiNo, prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd);
		if (!acTIcjknRecordMap.containsKey(keyList))
		{
			// 一時金検索
			executeAC_T_ICJKN_AC_SELECT_001(new Object[] { seikyKeiNo, seikyYm, svcKeiNo, prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd });
			JBSbatCommonDBInterface record = db_AC_T_ICJKN.selectNext();
			acTIcjknRecordMap.put(keyList, record);
		}

		return acTIcjknRecordMap.get(keyList);
	}

	
	/**
	 * 一時金レコード取得。
	 *
	 * @param kicjKnNo   契約一時金番号
	 * @return 一時金レコード
	 * @throws Exception スローされる例外
	 */
	private JBSbatCommonDBInterface getAcTIcjknRecord(String kicjKnNo) throws Exception
	{
		List<String> keyList = Arrays.asList(kicjKnNo,JACStrConst.ICJKN_SBT_CD_AUTO, JACStrConst.ICJKN_TRKM_STAT_TRKM_MI, JACStrConst.ICJKN_TRKM_STAT_CHU );
		if (!acTIcjknRecordMap.containsKey(keyList))
		{
			// 一時金検索
			executeAC_T_ICJKN_AC_SELECT_009(new Object[] {kicjKnNo,JACStrConst.ICJKN_SBT_CD_AUTO, JACStrConst.ICJKN_TRKM_STAT_TRKM_MI, JACStrConst.ICJKN_TRKM_STAT_CHU });
			JBSbatCommonDBInterface record = db_AC_T_ICJKN.selectNext();
			acTIcjknRecordMap.put(keyList, record);
		}

		return acTIcjknRecordMap.get(keyList);
	}
	
//OM-2014-0002257 DEL STA
//	/**
//	 * ファイル出力。
//	 * 
//	 * @param outPrcTrkmSysDiv 外部料金取込システム区分
//	 * @param seikyKeiNo       請求契約番号
//	 * @param svcKeiNo         サービス契約番号
//	 * @param zmMCdNmKanri     業務パラメータID
//	 * @param prcGrpCd         料金グループコード
//	 * @param pcrsCd           料金コースコード
//	 * @param prcSvcCd         料金サービスコード 
//	 * @param prcKmkCd         料金項目コード
//	 * @param seikyJikiShitei  請求時期指定コード
//	 * @param seikyYm          請求年月
//	 * @param seikyAmnt        請求金額
//	 * @return 出力行
//	 * @throws Exception スローされる例外
//	 */
//	private JBSbatOutputItem prinFileRow(String outPrcTrkmSysDiv, String seikyKeiNo, String svcKeiNo, String svcDtlSkbtNo, String zmMCdNmKanri, String prcGrpCd, 
//										String pcrsCd, String prcSvcCd, String prcKmkCd, String seikyJikiShitei, String seikyYm, String seikyAmnt) throws Exception
//	{
//		JBSbatOutputItem outputBean = new JBSbatOutputItem();
//		JBSbatServiceInterfaceMap fileMap = new JBSbatServiceInterfaceMap();
//		outputBean.addOutMapList(fileMap);
//		fileMap.setOutFlg(true);
//		// 取込元
//		fileMap.set(JBSbatACIFM015.TRKM_MT, 				getZmMCdNmKanri2(JZM0171Constant.CD00888, outPrcTrkmSysDiv));
//		// 請求先番号
//		fileMap.set(JBSbatACIFM015.SEIKY_NO, 				seikyKeiNo);
//		// サービス契約番号
//		fileMap.set(JBSbatACIFM015.SVC_KEI_NO, 				svcKeiNo);
//		// サービス詳細識別番号
//		fileMap.set(JBSbatACIFM015.SVC_DTL_SKBT_NO, 		svcDtlSkbtNo);
//		// エラー内容
//		fileMap.set(JBSbatACIFM015.ERR_NAIYO, 				getZmMWorkParamKnri2(zmMCdNmKanri));
//		// 料金コースコード
//		fileMap.set(JBSbatACIFM015.PCRS_CD, 				pcrsCd);
//		// 料金コース名称
//		fileMap.set(JBSbatACIFM015.PCRS_NM, 				getPcrsNm2(pcrsCd));
//		// 料金サービスコード
//		fileMap.set(JBSbatACIFM015.PRC_SVC_CD, 				prcSvcCd);
//		// 料金項目コード
//		fileMap.set(JBSbatACIFM015.PRC_KMK_CD, 				prcKmkCd);
//		// 料金内訳名
//		fileMap.set(JBSbatACIFM015.PRC_UCWK_NM, 			getPrcKmkNm2(prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd));
//		// 請求時期指定コード
//		fileMap.set(JBSbatACIFM015.SEIKY_JIKI_SHITEI_CD, 	seikyJikiShitei);
//		// 請求時期指定名
//		fileMap.set(JBSbatACIFM015.SEIKY_JIKI_SHITEI_NM, 	getZmMCdNmKanri2(JZM0171Constant.CD00972, seikyJikiShitei));
//		// 請求年月
//		fileMap.set(JBSbatACIFM015.SEIKY_YM, 				JCCBatCommon.formatYears(seikyYm));
//		// 請求金額
//		fileMap.set(JBSbatACIFM015.SEIKY_AMNT, 				JCCBatCommon.formatNumber(seikyAmnt));
//		// 囲み文字("")付与
//		fileMap.setMap(JCHbatSeikyKaknoBusinessUtil.quote(fileMap.getMap(), JACStrConst.DOUBLE_QUOTE, JACStrConst.DOUBLE_QUOTE));
//		
//		return outputBean;
//	}
//OM-2014-0002257 DEL END
	
	/**
	 * 料金項目名称取得。(例外は発生しない)
	 * 
	 * @param prcGrpCd 料金グループコード
	 * @param pcrsCd   料金コースコード
	 * @param prcSvcCd 料金サービスコード
	 * @param prcKmkCd 料金項目コード
	 * @return         料金項目名称
	 * @throws Exception スローされる例外
	 */
	private String getPrcKmkNm2(String prcGrpCd, String pcrsCd, String prcSvcCd, String prcKmkCd) throws Exception
	{
		List<String> keyList = Arrays.asList(pcrsCd, prcSvcCd, prcKmkCd);
		if (!prcKmkNmMap.containsKey(keyList))
		{
			// 検索実行
			executeCH_M_PRC_KMK_OPUT_NM_AC_SELECT_001(new Object[] { prcGrpCd, pcrsCd, prcSvcCd, prcKmkCd, super.opeDate, super.opeDate });
			JBSbatCommonDBInterface record = db_CH_M_PRC_KMK_OPUT_NM.selectNext();
			// 初期値：空文字
			String value = "";
			// 検索結果がnullでない場合
			if (record != null)
			{
				// 値を格納
				value = record.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_KMK_NM);
			}
			// 料金項目名称マップに設定
			prcKmkNmMap.put(keyList, value);
		}
		return prcKmkNmMap.get(keyList);
	}

	/**
	 * 業務パラメタ取得。(例外は発生しない)
	 * 
	 * @param zmMWorkParam 業務パラメータID
	 * @return 業務パラメータ設定値
	 * @throws Exception スローされる例外
	 */
	private String getZmMWorkParamKnri2(String zmMWorkParam) throws Exception
	{
		if (!zmMWorkParamKnriMap.containsKey(zmMWorkParam))
		{
			executeZM_M_WORK_PARAM_KNRI_AC_SELECT_001(new Object[] { zmMWorkParam, super.opeDate, super.opeDate });
			JBSbatCommonDBInterface record = db_ZM_M_WORK_PARAM_KNRI.selectNext();
			// 初期値：空文字
			String value = "";
			// 検索結果がnullでない場合
			if (record != null)
			{
				// 値を格納
				value = record.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
			}
			// 業務パラメータマップに格納
			zmMWorkParamKnriMap.put(zmMWorkParam, value);
		}

		return zmMWorkParamKnriMap.get(zmMWorkParam);
	}

	/**
	 * 料金コース名称取得。(例外は発生しない)
	 * 
	 * @param pcrsCd 料金コースコード
	 * @return 料金コース名称
	 * @throws Exception スローされる例外
	 */
	private String getPcrsNm2(String pcrsCd) throws Exception
	{
		if (!pcrsNmMap.containsKey(pcrsCd))
		{
			executeKK_M_PCRS_AC_SELECT_001(new Object[] { pcrsCd, super.opeDate });
			JBSbatCommonDBInterface record = db_KK_M_PCRS.selectNext();
			// 初期値：空文字
			String value = "";
			// 検索結果がnullでない場合
			if (record != null)
			{
				// 値を格納
				value = record.getString(JBSbatKK_M_PCRS.PCRS_NM);
			}
			// 料金コースマップに格納
			pcrsNmMap.put(pcrsCd, value);
		}
		return pcrsNmMap.get(pcrsCd);
	}

	/**
	 * コード名称管理.コード区分名取得(例外は発生しない)
	 * 
	 * @param cdSbtCd コード種別コード
	 * @param cdDiv コード区分
	 * @return コード区分名
	 * @throws Exception スローされる例外
	 */
	private String getZmMCdNmKanri2(String cdSbtCd, String cdDiv) throws Exception
	{
		List<String> keyList = Arrays.asList(cdSbtCd, cdDiv);
		if (!zmMCdNmKanriMap.containsKey(keyList))
		{
			executeZM_M_CD_NM_KANRI_AC_SELECT_001(new Object[] { cdSbtCd, cdDiv, super.opeDate, super.opeDate });
			JBSbatCommonDBInterface record = db_ZM_M_CD_NM_KANRI.selectNext();
			String value = "";
			if (record != null)
			{
				value = record.getString(JBSbatZM_M_CD_NM_KANRI.CD_DIV_NM);
			}
			zmMCdNmKanriMap.put(keyList, value);
		}

		return zmMCdNmKanriMap.get(keyList);
	}
	
	/**
	 * 共通一時金登録処理。
	 * 
	 * @param icjknAddSeq 一時金登録番号
	 * @param icjknUpdSeq 一時金更新枝番
	 * @throws Exception スローされる例外
	 */
	private void commonExecuteAC_T_ICJKN_AC_UPDATE_001(String icjknAddSeq, String icjknUpdSeq) throws Exception
	{
		executeAC_T_ICJKN_AC_UPDATE_001(new Object[] { JACStrConst.ICJKN_TRKM_STAT_DEL, JCCBatCommon.getSysDateTimeStamp(), super.batchUserId,
						icjknAddSeq, icjknUpdSeq });
	}

	/**
	 * 共通一時金登録処理。
	 * @param icjknAddSeq     一時金登録番号
	 * @param icjknUpdSeq     一時金更新枝番
	 * @param kicjKnNo        契約一時金番号
	 * @param seikyKeiNo      請求契約番号
	 * @param seikyYm         請求年月
	 * @param seikyJikiShitei 投入区分
	 * @param svcKeiNo        サービス契約番号
	 * @param prcGrpCd        料金グループコード
	 * @param pcrsCd          対象料金コーススコード
	 * @param prcSvcCd        対象料金サービスコード
	 * @param prcKmkCd        対象料金項目コード
	 * @param seikyAmnt       一時金料金
	 * @throws Exception      スローされる例外
	 */
//v16.00.00 2015/05/27 Mod Start
//	private void commonExecuteAC_T_ICJKN_PKINSERT(String icjknAddSeq, BigDecimal icjknUpdSeq, String kicjKnNo, String seikyKeiNo, String seikyYm,
//					String seikyJikiShitei, String svcKeiNo, String prcGrpCd, String pcrsCd, String prcSvcCd, String prcKmkCd, String seikyAmnt,
//					String mansionId, String tkHoshikiKeiNo, String kanyuKeiPayHoskCd, String svcDtlSkbtNo) throws Exception
	private void commonExecuteAC_T_ICJKN_PKINSERT(String icjknAddSeq, BigDecimal icjknUpdSeq, String kicjKnNo, String seikyKeiNo, String seikyYm,
					String seikyJikiShitei, String svcKeiNo, String prcGrpCd, String pcrsCd, String prcSvcCd, String prcKmkCd, String seikyAmnt,
					String mansionId, String tkHoshikiKeiNo, String kanyuKeiPayHoskCd, String svcDtlSkbtNo,String useStaYmd,String useEndYmd) throws Exception
//v16.00.00 2015/05/27 Mod End
	{
		// 年月日時間
		String systemDateTimeStamp = JCCBatCommon.getSysDateTimeStamp();
		String insertIcjknAddSeq = icjknAddSeq;
		// 引数の一時金登録番号がnullの場合は、シーケンスより採番する。
		if (insertIcjknAddSeq == null)
		{
			insertIcjknAddSeq = JCCBatCommon.getFormatedNextSeq(commonItem, JACStrConst.SEQ_ICJKN_ADD_SEQ, "", 20);
		}
		executeAC_T_ICJKN_PKINSERT(new Object[] { insertIcjknAddSeq // 一時金登録番号
						, JCCBatCommon.padNumFormString(String.valueOf(icjknUpdSeq.add(BigDecimal.ONE)), 2) // 一時金更新枝番
						, kicjKnNo // 契約一時金番号
						, seikyKeiNo // 請求契約番号
						, seikyYm // 請求年月
						, seikyJikiShitei // 投入区分
						, svcKeiNo // サービス契約番号
						, prcGrpCd // 料金グループコード
						, pcrsCd // 料金コースコード
						, prcSvcCd // 料金サービスコード
						, prcKmkCd // 料金項目コード
						, prcGrpCd // 対象料金グループコード
						, pcrsCd // 対象料金コーススコード
						, prcSvcCd // 対象料金サービスコード
						, prcKmkCd // 対象料金項目コード
						, super.opeDate // 請求年月算出基準年月日
						, seikyAmnt // 一時金料金
						, JACStrConst.ICJKN_SBT_CD_AUTO // 一時金種別コード
						, JACStrConst.ICJKN_TRKM_STAT_TRKM_MI // 一時金取込ステータス
						, JACStrConst.ICJKN_TRKM_RSLT_TRKM_STAY // 一時金取込結果
						, 0 // 取込済額
						, 0 // 取込残額
						, mansionId // マンションID
						, tkHoshikiKeiNo // 提供方式契約番号
						, kanyuKeiPayHoskCd // 加入契約支払方式コード
						, null // 一時金登録ユーザーID
						, null // 一時金登録年月日時分秒
						, null // 一時金更新ユーザーID
						, null // 一時金更新年月日時分秒
						, systemDateTimeStamp // 登録年月日時分秒
						, super.batchUserId // 登録オペレータアカウント
						, systemDateTimeStamp // 更新年月日時分秒
						, super.batchUserId // 更新オペレータアカウント
						, null // 削除年月日時分秒
						, null // 削除オペレータアカウント
						, 0 // 無効フラグ
						, null // 登録運用年月日
						, null // 登録処理ＩＤ
						, null // 更新運用年月日
						, null // 更新処理ＩＤ
						, null // 削除運用年月日
						, null // 削除処理ＩＤ
						, svcDtlSkbtNo //サービス詳細識別番号
//v16.00.00 2015/05/27 Add Start
						, useStaYmd //当月電気利用開始年月日
						, useEndYmd //当月電気利用終了年月日
//v16.00.00 2015/05/27 Add End
		});
	}

	/**
	 * 処理識別コードマップへの値設定。<p>
	 * 引数の処理識別コード(定数より取得)をもとに業務パラメタより処理識別コードの値を取得し、マップへ設定する。
	 * 
	 * @param trnSkbtCd 処理識別コード
	 * @throws Exception スローされる例外
	 */
	private void putTrnSkbtCdMap(String trnSkbtCd) throws Exception
	{
		JACbatParamUtil paramUtil = new JACbatParamUtil(commonItem);
		
		// 処理識別コードマップへ追加
		trnSkbtCdMap.put(trnSkbtCd, paramUtil.getGyoumuParameter(trnSkbtCd));
		
		paramUtil.close();
	}

}
