/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKHapiePointHkatJudge
*	ソースファイル名	：JBSbatKKHapiePointHkatJudge.java
*	作成者				：富士通　
*	作成日				：2012年08月02日
*＜機能概要＞
*　はぴｅポイント引当審査部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/08/02   富士通		新規作成
*	v5.00.00	2013/03/30   富士通		ST1-2013-0000515
*	v5.00.01	2013/05/22   富士通		IT1-2013-0001217
*	v5.00.02	2013/05/28   富士通		TG1-2013-0000581
*	v5.00.03	2013/05/28   富士通		TG1-2013-0000580
*   v5.00.04	2013/08/25   富士通		OM-2013-0000637
*   v6.00.00	2013/12/28   富士通		OM-2013-0005362
*   v70.00.00	2024/02/07   FJ)竹内	#81375
*********************************************************************/
package eo.business.service;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.util.file.JBSbatACIFI020;
import eo.business.util.file.JBSbatKKIFE149;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatKK_M_PPLAN;
import eo.business.util.table.JBSbatKK_T_MANSION_BUKKEN;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JKKStringUtil;
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.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKHapiePointHkatJudge extends JBSbatBusinessService
{
	/** 業務パラメータ取得キー：はぴｅポイント引当審査有効期間Ｎヶ月 */
	private static final String WORK_PARAM_KK_HAPIE_HKAT_YK_PRD = "KK_HAPIE_HKAT_YK_PRD";

	/** ダミーレコードお問い合わせ番号 */
	private static final String DUMMY_TOIAWASE_NO = "0000000000";

	/** 入力ファイルエンコード */
// KT1-2013-0000213 2013.02.15 suzuki mod start
//	private static final String ENCODE = "UTF-8";
	private static final String ENCODE = "SJIS";
// KT1-2013-0000213 2013.02.15 suzuki mod end

	/** 入力ファイルレコード長 */
	private static final int REC_LENGTH = 356;

	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";

	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(マンション物件)*/
	private static final String D_TBL_NAME_KK_T_MANSION_BUKKEN = "KK_T_MANSION_BUKKEN";

	/** テーブル(料金プラン)*/
	private static final String D_TBL_NAME_KK_M_PPLAN = "KK_M_PPLAN";

// v5.00.01  2013.05.22 MOD START
	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";
// v5.00.01  2013.05.22 MOD END

	/** テーブル(請求内訳)*/
	private static final String D_TBL_NAME_CH_T_SEIKY_UCWK = "CH_T_SEIKY_UCWK";

	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";

	/** テーブル(はぴｅポイント引当)*/
	private static final String D_TBL_NAME_AC_T_HAPIEPOINT_HKAT = "AC_T_HAPIEPOINT_HKAT";

	/** SQL定義キー(KK_SELECT_036)*/
	private static final String CK_T_CUST_KK_SELECT_036 = "KK_SELECT_036";

	/** SQL定義キー(KK_SELECT_037)*/
	private static final String CK_T_CUST_KK_SELECT_037 = "KK_SELECT_037";

	/** SQL定義キー(KK_SELECT_216)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_216 = "KK_SELECT_216";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_MANSION_BUKKEN_KK_SELECT_006 = "KK_SELECT_006";

// v5.00.01  2013.05.22 MOD START
	/** SQL定義キー(KK_SELECT_104)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_104 = "KK_SELECT_104";
// v5.00.01  2013.05.22 MOD END

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String CH_T_SEIKY_UCWK_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String AC_T_HAPIEPOINT_HKAT_KK_SELECT_001 = "KK_SELECT_001";

	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(マンション物件)*/
	private JBSbatSQLAccess db_KK_T_MANSION_BUKKEN = null;

	/** テーブルアクセスクラス(料金プラン)*/
	private JBSbatSQLAccess db_KK_M_PPLAN = null;

// v5.00.01  2013.05.22 MOD START
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;
// v5.00.01  2013.05.22 MOD END

	/** テーブルアクセスクラス(請求内訳)*/
	private JBSbatSQLAccess db_CH_T_SEIKY_UCWK = null;

	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;

	/** テーブルアクセスクラス(はぴｅポイント引当)*/
	private JBSbatSQLAccess db_AC_T_HAPIEPOINT_HKAT = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_MANSION_BUKKEN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MANSION_BUKKEN);
		db_KK_M_PPLAN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PPLAN);
// v5.00.01  2013.05.22 MOD START
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
// v5.00.01  2013.05.22 MOD END
		db_CH_T_SEIKY_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_T_SEIKY_UCWK);
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		db_AC_T_HAPIEPOINT_HKAT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_AC_T_HAPIEPOINT_HKAT);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		
		// 起動パラメータ FREE より、入力ファイル名を取得します。
		String inf1Pass = super.freeItem;
		logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute() 入力ファイル名 = " + inf1Pass);
		
		// 入力ファイルオープン
		// 当機能では、入力ファイルが改行無しのためにフレームワークによるファイル読込み機能が使用できない。
		// 自力でファイル読込みを行う。
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(inf1Pass), ENCODE));
		
		// 出力ファイルオブジェクトを生成
		JBSbatOutputItem outputItem = new JBSbatOutputItem();

		// 審査依頼レコード件数
		int dataCnt = 0;
		// ダミーレコード件数
		int dummyCnt = 0;

		// 全体レコード件数
		int recCnt = 0;
		
		HashMap<String, String> itemvalueMap = getItemvalueMap();
		
		try {
			// レコードがなくなるまで繰り返し
			while (br.ready()) {
				// 1レコード分を読み込んでinMapに格納
				JBSbatServiceInterfaceMap inMap = readRecord(br, inf1Pass);
				recCnt++;
				String otoiawaseNo = inMap.getString(JBSbatKKIFE149.TOIAWASE_NO);
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute() レコードNo=" + recCnt + "  お問い合わせ番号 = " + otoiawaseNo);
				
				// ダミーレコードの場合、そのまま出力して次レコードへ
				if(isDummy(inMap)){
					// ダミーレコード件数をカウントアップ
					dummyCnt++;
					logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  ダミー件数（dummyCnt） = " + dummyCnt);
					
					// ダミーレコードの編集
					JBSbatServiceInterfaceMap outMap = editDummyRec(inMap);
					//出力共通電文に入出力インターフェースを設定する。
					outputItem.addOutMapList(outMap);
					
					// 以降のチェックは実施しない
				
				// 審査依頼レコードの場合
				}else{
					// 審査依頼レコード件数をカウントアップし、後続のチェック処理へ
					dataCnt++;
					logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  データ件数（dataCnt） = " + dataCnt);
					
					/** (1) はぴｅポイント引当審査依頼レコードチェック */
					// @データチェック は全レコード読込後に実施するため、ここでは実施しない
					/** A必須項目チェック */
					if( !isSingleCheckKKIFE149(inMap) ){
						// チェックエラーの場合
						logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  入力チェックエラー");
						
						/** はぴeポイント引当審査結果出力 */
						// 審査結果Beanを生成
						JBSbatKKHkatSkekkaBean skekkaBean = new JBSbatKKHkatSkekkaBean();
						// 対象サービス契約は存在しないのでセットしない
						
						// 審査結果コード：NG
						skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
						// 審査理由コード：1桁目に9
						skekkaBean.setSkekkaRsnCd("9", 0);

						// SYSIDの取得
						String sysid = getSysid(inMap.getString(JBSbatKKIFE149.EOID));
						
						logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  sysid = " + sysid);

						// レコード編集
						JBSbatServiceInterfaceMap outMap = editOutMap(inMap, sysid, skekkaBean, null, null, null);
						//出力共通電文に入出力インターフェースを設定する。
						outputItem.addOutMapList(outMap);
						
						
						// 以降のチェックは実施しない
						continue;
					}
// KT1-2013-0000213 2013.02.15 suzuki add start 桁数、属性チェックを追加
					// B桁数・属性チェック
					if(!isSingleCheckKKIFE149(inMap.getMap(), itemvalueMap) ) {
						// ここでエラーの場合、想定外のエラー、後続の業務にはIFせず、
						// 異常終了とする。
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0080TE, new String[]{ recCnt + " 行目: " + inf1Pass});
					}
// KT1-2013-0000213 2013.02.15 suzuki add end

					/** (2)はぴｅポイント引当審査対象契約情報抽出 */
					/** @引当審査対象の契約情報抽出 */
					// SYSIDの取得
					String sysid = getSysid(inMap.getString(JBSbatKKIFE149.EOID));
					logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  入力チェックOK. sysid= " + sysid);
					
					JBSbatKKHkatSkekkaBean skekkaNet = null;
					JBSbatKKHkatSkekkaBean skekkaTel = null;
					JBSbatKKHkatSkekkaBean skekkaTv  = null;
					
					String trgtSvcCd = inMap.getString(JBSbatKKIFE149.TRGT_SVC_CD);
					// ネット・電話・テレビの各サービスに対してそれぞれ審査を実施
					// ネットを審査対象とする場合
// v5.00.00  2013.04.01 START
					if(!JKKStringUtil.isNullBlank(sysid))
					{
// v5.00.00  2013.04.01 End
// v5.00.01  2013.05.22 START（hkatJudgeメソッドの引数にサービスコードを追加）
						if( isTargetNet(trgtSvcCd) ){
							// ネット審査
//							skekkaNet = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_IN_SVC), trgtSvcCd );
							skekkaNet = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_IN_SVC), trgtSvcCd, JBSbatKKConst.SVC_CD_IN_SVC );
						}
						// 電話を審査対象とする場合
						if( isTargetTel(trgtSvcCd) ){
							// 電話審査
//							skekkaTel = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_TEL_SVC), trgtSvcCd );
							skekkaTel = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_TEL_SVC), trgtSvcCd, JBSbatKKConst.SVC_CD_TEL_SVC );
						}
						// テレビを審査対象とする場合
						if( isTargetTv(trgtSvcCd) ){
							// テレビ審査
//							skekkaTv  = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_TV_SVC), trgtSvcCd );
							skekkaTv  = hkatJudge( getSvcKeiList(sysid, JBSbatKKConst.SVC_CD_TV_SVC), trgtSvcCd, JBSbatKKConst.SVC_CD_TV_SVC );
						}
// v5.00.00  2013.04.01 START
					}
					else
					{
						if( isTargetNet(trgtSvcCd) )
						{
							// ネット審査
//							skekkaNet = hkatJudge( null, trgtSvcCd );
							skekkaNet = hkatJudge( null, trgtSvcCd, JBSbatKKConst.SVC_CD_IN_SVC );
						}
						// 電話を審査対象とする場合
						if( isTargetTel(trgtSvcCd) )
						{
							// 電話審査
//							skekkaTel = hkatJudge( null, trgtSvcCd );
							skekkaTel = hkatJudge( null, trgtSvcCd, JBSbatKKConst.SVC_CD_TEL_SVC );
						}
						// テレビを審査対象とする場合
						if( isTargetTv(trgtSvcCd) )
						{
							// テレビ審査
//							skekkaTv  = hkatJudge( null, trgtSvcCd );
							skekkaTv  = hkatJudge( null, trgtSvcCd, JBSbatKKConst.SVC_CD_TV_SVC );
						}
// v5.00.01  2013.05.22 END
					}
// v5.00.00  2013.04.01 End
					
					/** はぴeポイント引当審査結果出力 */
					// レコード編集
					JBSbatServiceInterfaceMap outMap = editOutMap(inMap, sysid, null, skekkaNet, skekkaTel, skekkaTv);
					//出力共通電文に入出力インターフェースを設定する。
					outputItem.addOutMapList(outMap);
					
				}
				
			}
			
			// 独自入力処理なので、入力ファイル件数をログに自力で出力する。
			// 出力件数はＦＷが出してくれる。
			logPrint.printLogMsg("CS00009I", inf1Pass, recCnt);
			
			/** (1) はぴｅポイント引当審査依頼レコードチェック */
			/** @データチェック */
			// データ件数が0件の場合はエラーとする。
			if(dataCnt == 0 && dummyCnt == 0){
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  データ件数が0件の場合はエラー. dataCnt=" + dataCnt + ", dummyCnt=" + dummyCnt);
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0150JE, new String[]{inf1Pass});
				
			// レコード混在の場合はエラーとする。
			}else if(dataCnt != 0 && dummyCnt != 0){
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  レコード混在の場合はエラー. dataCnt=" + dataCnt + ", dummyCnt=" + dummyCnt);
				throw new JBSbatBusinessException("EKKB0540CE", new String[]{String.valueOf(dummyCnt), String.valueOf(dataCnt)});
			
			// ダミーレコードが2件以上の場合はエラーとする。
			}else if(dummyCnt >= 2){
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#execute()  ダミーレコードが2件以上の場合はエラー. dataCnt=" + dataCnt + ", dummyCnt=" + dummyCnt);
				throw new JBSbatBusinessException("EKKB0540CE", new String[]{String.valueOf(dummyCnt), String.valueOf(dataCnt)});
				
			}
		} finally {
			if (br != null)
			{
				br.close();
			}
		}
		
		return outputItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}



	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CK_T_CUST.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_MANSION_BUKKEN.close();
		db_KK_M_PPLAN.close();
// v5.00.01  2013.05.22 MOD START
		db_KK_T_SVC_KEI_UCWK.close(); 
// v5.00.01  2013.05.22 MOD END
		db_CH_T_SEIKY_UCWK.close();
		db_ZM_M_WORK_PARAM_KNRI.close();
		db_AC_T_HAPIEPOINT_HKAT.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（はぴｅポイント引当審査依頼）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFE149-.toiawase_no			はぴｅポイント引当審査依頼.お問い合わせ番号
	 *			 TXT-KKIFE149-.toiawase_no			はぴｅポイント引当審査依頼.お問い合わせ番号
	 *			 TXT-KKIFE149-.toiawase_no			はぴｅポイント引当審査依頼.お問い合わせ番号
	 *			 TXT-KKIFE149-.hapie_no			はぴｅポイント引当審査依頼.はぴｅ番号
	 *			 TXT-KKIFE149-.hapie_no			はぴｅポイント引当審査依頼.はぴｅ番号
	 *			 TXT-KKIFE149-.hapie_no			はぴｅポイント引当審査依頼.はぴｅ番号
	 *			 TXT-KKIFE149-.cashbk_mskm_day			はぴｅポイント引当審査依頼.キャッシュバック申込日
	 *			 TXT-KKIFE149-.cashbk_mskm_day			はぴｅポイント引当審査依頼.キャッシュバック申込日
	 *			 TXT-KKIFE149-.cashbk_mskm_day			はぴｅポイント引当審査依頼.キャッシュバック申込日
	 *			 TXT-KKIFE149-.trgt_svc_cd			はぴｅポイント引当審査依頼.対象サービスコード
	 *			 TXT-KKIFE149-.trgt_svc_cd			はぴｅポイント引当審査依頼.対象サービスコード
	 *			 TXT-KKIFE149-.trgt_svc_cd			はぴｅポイント引当審査依頼.対象サービスコード
	 *			 TXT-KKIFE149-.eoid			はぴｅポイント引当審査依頼.ｅｏＩＤ
	 *			 TXT-KKIFE149-.eoid			はぴｅポイント引当審査依頼.ｅｏＩＤ
	 *			 TXT-KKIFE149-.eoid			はぴｅポイント引当審査依頼.ｅｏＩＤ
	 *			 TXT-KKIFE149-.shinsei_point			はぴｅポイント引当審査依頼.申請ポイント
	 *			 TXT-KKIFE149-.shinsei_point			はぴｅポイント引当審査依頼.申請ポイント
	 *			 TXT-KKIFE149-.shinsei_point			はぴｅポイント引当審査依頼.申請ポイント
	 *			 TXT-KKIFE149-.kyoka_flg			はぴｅポイント引当審査依頼.許可フラグ
	 *			 TXT-KKIFE149-.kyoka_flg			はぴｅポイント引当審査依頼.許可フラグ
	 *			 TXT-KKIFE149-.kyoka_flg			はぴｅポイント引当審査依頼.許可フラグ
	 *			 TXT-KKIFE149-.skekka_cd			はぴｅポイント引当審査依頼.審査結果コード
	 *			 TXT-KKIFE149-.skekka_cd			はぴｅポイント引当審査依頼.審査結果コード
	 *			 TXT-KKIFE149-.skekka_cd			はぴｅポイント引当審査依頼.審査結果コード
	 *			 TXT-KKIFE149-.skekka_rsn_cd			はぴｅポイント引当審査依頼.審査理由コード
	 *			 TXT-KKIFE149-.skekka_rsn_cd			はぴｅポイント引当審査依頼.審査理由コード
	 *			 TXT-KKIFE149-.skekka_rsn_cd			はぴｅポイント引当審査依頼.審査理由コード
	 *			 TXT-KKIFE149-.cust_id_1			はぴｅポイント引当審査依頼.お客さまＩＤ１
	 *			 TXT-KKIFE149-.cust_id_1			はぴｅポイント引当審査依頼.お客さまＩＤ１
	 *			 TXT-KKIFE149-.cust_id_1			はぴｅポイント引当審査依頼.お客さまＩＤ１
	 *			 TXT-KKIFE149-.cust_id_2			はぴｅポイント引当審査依頼.お客さまＩＤ２
	 *			 TXT-KKIFE149-.cust_id_2			はぴｅポイント引当審査依頼.お客さまＩＤ２
	 *			 TXT-KKIFE149-.cust_id_2			はぴｅポイント引当審査依頼.お客さまＩＤ２
	 *			 TXT-KKIFE149-.cust_id_3			はぴｅポイント引当審査依頼.お客さまＩＤ３
	 *			 TXT-KKIFE149-.cust_id_3			はぴｅポイント引当審査依頼.お客さまＩＤ３
	 *			 TXT-KKIFE149-.cust_id_3			はぴｅポイント引当審査依頼.お客さまＩＤ３
	 *			 TXT-KKIFE149-.cust_id_4			はぴｅポイント引当審査依頼.お客さまＩＤ４
	 *			 TXT-KKIFE149-.cust_id_4			はぴｅポイント引当審査依頼.お客さまＩＤ４
	 *			 TXT-KKIFE149-.cust_id_4			はぴｅポイント引当審査依頼.お客さまＩＤ４
	 *			 TXT-KKIFE149-.cust_id_1_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−申込日
	 *			 TXT-KKIFE149-.cust_id_1_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−申込日
	 *			 TXT-KKIFE149-.cust_id_1_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−申込日
	 *			 TXT-KKIFE149-.cust_id_1_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−開通日
	 *			 TXT-KKIFE149-.cust_id_1_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−開通日
	 *			 TXT-KKIFE149-.cust_id_1_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ１−開通日
	 *			 TXT-KKIFE149-.cust_id_2_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−申込日
	 *			 TXT-KKIFE149-.cust_id_2_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−申込日
	 *			 TXT-KKIFE149-.cust_id_2_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−申込日
	 *			 TXT-KKIFE149-.cust_id_2_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−開通日
	 *			 TXT-KKIFE149-.cust_id_2_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−開通日
	 *			 TXT-KKIFE149-.cust_id_2_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ２−開通日
	 *			 TXT-KKIFE149-.cust_id_3_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−申込日
	 *			 TXT-KKIFE149-.cust_id_3_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−申込日
	 *			 TXT-KKIFE149-.cust_id_3_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−申込日
	 *			 TXT-KKIFE149-.cust_id_3_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−開通日
	 *			 TXT-KKIFE149-.cust_id_3_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−開通日
	 *			 TXT-KKIFE149-.cust_id_3_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ３−開通日
	 *			 TXT-KKIFE149-.cust_id_4_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−申込日
	 *			 TXT-KKIFE149-.cust_id_4_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−申込日
	 *			 TXT-KKIFE149-.cust_id_4_mskm_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−申込日
	 *			 TXT-KKIFE149-.cust_id_4_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−開通日
	 *			 TXT-KKIFE149-.cust_id_4_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−開通日
	 *			 TXT-KKIFE149-.cust_id_4_open_day			はぴｅポイント引当審査依頼.お客さまＩＤ４−開通日
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_1			はぴｅポイント引当審査依頼.キャッシュバック対象金額１
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_1			はぴｅポイント引当審査依頼.キャッシュバック対象金額１
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_1			はぴｅポイント引当審査依頼.キャッシュバック対象金額１
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_2			はぴｅポイント引当審査依頼.キャッシュバック対象金額２
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_2			はぴｅポイント引当審査依頼.キャッシュバック対象金額２
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_2			はぴｅポイント引当審査依頼.キャッシュバック対象金額２
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_3			はぴｅポイント引当審査依頼.キャッシュバック対象金額３
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_3			はぴｅポイント引当審査依頼.キャッシュバック対象金額３
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_3			はぴｅポイント引当審査依頼.キャッシュバック対象金額３
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_4			はぴｅポイント引当審査依頼.キャッシュバック対象金額４
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_4			はぴｅポイント引当審査依頼.キャッシュバック対象金額４
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_4			はぴｅポイント引当審査依頼.キャッシュバック対象金額４
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_gokei			はぴｅポイント引当審査依頼.キャッシュバック対象金額合計
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_gokei			はぴｅポイント引当審査依頼.キャッシュバック対象金額合計
	 *			 TXT-KKIFE149-.cashbk_tg_amnt_gokei			はぴｅポイント引当審査依頼.キャッシュバック対象金額合計
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_1			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント１
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_1			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント１
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_1			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント１
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_2			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント２
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_2			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント２
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_2			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント２
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_3			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント３
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_3			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント３
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_3			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント３
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_4			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント４
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_4			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント４
	 *			 TXT-KKIFE149-.cashbk_hriwake_point_4			はぴｅポイント引当審査依頼.キャッシュバック振分ポイント４
	 *			 TXT-KKIFE149-.yobi			はぴｅポイント引当審査依頼.予備
	 *			 TXT-KKIFE149-.yobi			はぴｅポイント引当審査依頼.予備
	 *			 TXT-KKIFE149-.yobi			はぴｅポイント引当審査依頼.予備
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKKIFE149(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// お問い合わせ番号項目チェック
		strValue = (String)rsMap.get("toiawase_no");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.toiawase_no")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.toiawase_no")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.toiawase_no")});
			return false;
		}

		// はぴｅ番号項目チェック
		strValue = (String)rsMap.get("hapie_no");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.hapie_no")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.hapie_no")});
			return false;
		}
		// 属性チェック
// v5.00.01  2013.05.21 MOD START
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
// v5.00.01  2013.05.21 MOD END
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.hapie_no")});
			return false;
		}

		// キャッシュバック申込日項目チェック
		strValue = (String)rsMap.get("cashbk_mskm_day");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_mskm_day")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_mskm_day")});
			return false;
		}
		// 属性チェック
// v5.00.01  2013.05.21 MOD START
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
// v5.00.01  2013.05.21 MOD END
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_mskm_day")});
			return false;
		}

		// 対象サービスコード項目チェック
		strValue = (String)rsMap.get("trgt_svc_cd");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.trgt_svc_cd")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.trgt_svc_cd")});
			return false;
		}
		// 属性チェック
// v5.00.01  2013.05.21 MOD START
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
// v5.00.01  2013.05.21 MOD END
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.trgt_svc_cd")});
			return false;
		}

		// ｅｏＩＤ項目チェック
		strValue = (String)rsMap.get("eoid");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.eoid")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "80"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.eoid")});
			return false;
		}
		// 属性チェック
// v5.00.00  2013.03.21 START
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji2"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
// v5.00.00  2013.03.21 END
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.eoid")});
			return false;
		}

		// 申請ポイント項目チェック
		strValue = (String)rsMap.get("shinsei_point");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.shinsei_point")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.shinsei_point")});
			return false;
		}
		// 属性チェック
// v5.00.01  2013.05.21 MOD START
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
// v5.00.01  2013.05.21 MOD END
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.shinsei_point")});
			return false;
		}

		// 許可フラグ項目チェック
		strValue = (String)rsMap.get("kyoka_flg");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.kyoka_flg")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.kyoka_flg")});
			return false;
		}
// 利用なし　なのでチェックしない。
//		// 属性チェック
//		if(! isSpace(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFE149-.kyoka_flg")});
//			return false;
//		}

		// 審査結果コード項目チェック
		strValue = (String)rsMap.get("skekka_cd");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.skekka_cd")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.skekka_cd")});
			return false;
		}

		// 審査理由コード項目チェック
		strValue = (String)rsMap.get("skekka_rsn_cd");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.skekka_rsn_cd")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.skekka_rsn_cd")});
			return false;
		}

		// お客さまＩＤ１項目チェック
		strValue = (String)rsMap.get("cust_id_1");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1")});
			return false;
		}

		// お客さまＩＤ２項目チェック
		strValue = (String)rsMap.get("cust_id_2");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2")});
			return false;
		}

		// お客さまＩＤ３項目チェック
		strValue = (String)rsMap.get("cust_id_3");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3")});
			return false;
		}

		// お客さまＩＤ４項目チェック
		strValue = (String)rsMap.get("cust_id_4");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4")});
			return false;
		}
// 予備なので属性チェックはやめとく
//		// 属性チェック
//		if( ! isSpace(strValue) )
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4")});
//			return false;
//		}

		// お客さまＩＤ１−申込日項目チェック
		strValue = (String)rsMap.get("cust_id_1_mskm_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1_mskm_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1_mskm_day")});
			return false;
		}

		// お客さまＩＤ１−開通日項目チェック
		strValue = (String)rsMap.get("cust_id_1_open_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1_open_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_1_open_day")});
			return false;
		}

		// お客さまＩＤ２−申込日項目チェック
		strValue = (String)rsMap.get("cust_id_2_mskm_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2_mskm_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2_mskm_day")});
			return false;
		}

		// お客さまＩＤ２−開通日項目チェック
		strValue = (String)rsMap.get("cust_id_2_open_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2_open_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_2_open_day")});
			return false;
		}

		// お客さまＩＤ３−申込日項目チェック
		strValue = (String)rsMap.get("cust_id_3_mskm_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3_mskm_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3_mskm_day")});
			return false;
		}

		// お客さまＩＤ３−開通日項目チェック
		strValue = (String)rsMap.get("cust_id_3_open_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3_open_day")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_3_open_day")});
			return false;
		}

		// お客さまＩＤ４−申込日項目チェック
		strValue = (String)rsMap.get("cust_id_4_mskm_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4_mskm_day")});
			return false;
		}
// 予備なので属性チェックはやめとく
//		// 属性チェック
//		if( ! isSpace(strValue) )
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4_mskm_day")});
//			return false;
//		}

		// お客さまＩＤ４−開通日項目チェック
		strValue = (String)rsMap.get("cust_id_4_open_day");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4_open_day")});
			return false;
		}
// 予備なので属性チェックはやめとく
//		// 属性チェック
//		if( ! isSpace(strValue) )
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFE149-.cust_id_4_open_day")});
//			return false;
//		}

		// キャッシュバック対象金額１項目チェック
		strValue = (String)rsMap.get("cashbk_tg_amnt_1");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "9"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_1")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_1")});
			return false;
		}

		// キャッシュバック対象金額２項目チェック
		strValue = (String)rsMap.get("cashbk_tg_amnt_2");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "9"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_2")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_2")});
			return false;
		}

		// キャッシュバック対象金額３項目チェック
		strValue = (String)rsMap.get("cashbk_tg_amnt_3");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "9"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_3")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_3")});
			return false;
		}

		// キャッシュバック対象金額４項目チェック
		strValue = (String)rsMap.get("cashbk_tg_amnt_4");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "9"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_4")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_4")});
			return false;
		}

		// キャッシュバック対象金額合計項目チェック
		strValue = (String)rsMap.get("cashbk_tg_amnt_gokei");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "9"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_gokei")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_tg_amnt_gokei")});
			return false;
		}

		// キャッシュバック振分ポイント１項目チェック
		strValue = (String)rsMap.get("cashbk_hriwake_point_1");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_1")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_1")});
			return false;
		}

		// キャッシュバック振分ポイント２項目チェック
		strValue = (String)rsMap.get("cashbk_hriwake_point_2");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_2")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_2")});
			return false;
		}

		// キャッシュバック振分ポイント３項目チェック
		strValue = (String)rsMap.get("cashbk_hriwake_point_3");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_3")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_3")});
			return false;
		}

		// キャッシュバック振分ポイント４項目チェック
		strValue = (String)rsMap.get("cashbk_hriwake_point_4");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_4")});
			return false;
		}
		// 属性チェック
		if( ! isSpace(strValue) )
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.cashbk_hriwake_point_4")});
			return false;
		}

		// 予備項目チェック
		strValue = (String)rsMap.get("yobi");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "43"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFE149-.yobi")});
			return false;
		}
//		// 属性チェック
//		if( ! isSpace(strValue) )
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFE149-.yobi")});
//			return false;
//		}

		return true;
	}
	

	
	/**
	 * SQLKEY(KK_SELECT_036)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	ｅｏＩＤ
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_KK_SELECT_036(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_036);
	}

	/**
	 * SQLKEY(KK_SELECT_037)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	初期ｅｏＩＤ
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_KK_SELECT_037(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_037);
	}

	/**
	 * SQLKEY(KK_SELECT_216)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	サービスコード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_216(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_216);
	}

	/**
	 * SQLKEY(KK_SELECT_006)で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_MANSION_BUKKEN_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_MANSION_BUKKEN.selectBySqlDefine(paramList, KK_T_MANSION_BUKKEN_KK_SELECT_006);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	PCRS_CD
	 *		 	PPLAN_CD
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_M_PPLAN_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("PCRS_CD", whereParam[0]);
		whereMap.setValue("PPLAN_CD", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_M_PPLAN.selectByPrimaryKeys(whereMap);
	}

// v5.00.01  2013.05.22 MOD START
	/**
	 * SQLKEY(KK_SELECT_104)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	サービス契約内訳ステータス
	 *		 	サービス契約内訳ステータス
	 *		 	サービス契約内訳ステータス
	 *		 	サービス契約内訳ステータス
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_104(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_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_104);
	}
// v5.00.01  2013.05.22 MOD END

	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_T_SEIKY_UCWK_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CH_T_SEIKY_UCWK.selectBySqlDefine(paramList, CH_T_SEIKY_UCWK_KK_SELECT_002);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	WORK_PARAM_ID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeZM_M_WORK_PARAM_KNRI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("WORK_PARAM_ID", whereParam[0]);

		// DBアクセスを実行します
		return db_ZM_M_WORK_PARAM_KNRI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_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_HAPIEPOINT_HKAT_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_AC_T_HAPIEPOINT_HKAT.selectBySqlDefine(paramList, AC_T_HAPIEPOINT_HKAT_KK_SELECT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	
	/**
	 * 入力ファイルを1レコード分読み込みます。
	 * ※当機能では、入力ファイルが改行無しのためにフレームワークによるファイル読込み機能が使用できない。
	 * 　そのため、自力でファイル読込みを行っています。
	 * 
	 * @param br 入力ファイル読込み用BufferedReader
	 * @param inf1Pass 入力ファイル名
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap readRecord(BufferedReader br, String inf1Pass) throws Exception {
		// 1レコード分読込
		char[] cbuf = new char[REC_LENGTH];
		int readRslt = br.read(cbuf, 0, REC_LENGTH);
		// 読込文字数がレコード長と一致しない場合はシステムエラー
		if(readRslt!=REC_LENGTH){
// IT1-2013-0000344 2013/02/27 MOD START
//			throw new IOException("入力ファイルレコード長が不正です。入力ファイルパス：" + inf1Pass + ", レコード長：" + readRslt);
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0100AE, new String[]{"入力ファイルパス：" + inf1Pass + ", レコード長：" + readRslt});
// IT1-2013-0000344 2013/02/27 MOD END
		}
		String inRecord = new String(cbuf);
		
		// 入力マップを生成
		JBSbatServiceInterfaceMap inMap = new JBSbatServiceInterfaceMap();
		int offset = 0;

		// お問い合わせ番号
		offset = setInMapColumn(inMap, JBSbatKKIFE149.TOIAWASE_NO, inRecord, offset, 10);
		// はぴｅ番号
		offset = setInMapColumn(inMap, JBSbatKKIFE149.HAPIE_NO, inRecord, offset, 10);
		// キャッシュバック申込日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_MSKM_DAY, inRecord, offset, 8);
		// 対象サービスコード
		offset = setInMapColumn(inMap, JBSbatKKIFE149.TRGT_SVC_CD, inRecord, offset, 3);
		// eoID
		offset = setInMapColumn(inMap, JBSbatKKIFE149.EOID, inRecord, offset, 80);
		// 申請ポイント
		offset = setInMapColumn(inMap, JBSbatKKIFE149.SHINSEI_POINT, inRecord, offset, 8);
		// 許可フラグ
		offset = setInMapColumn(inMap, JBSbatKKIFE149.KYOKA_FLG, inRecord, offset, 1);
		// 審査結果コード
		offset = setInMapColumn(inMap, JBSbatKKIFE149.SKEKKA_CD, inRecord, offset, 2);
		// 審査理由コード
		offset = setInMapColumn(inMap, JBSbatKKIFE149.SKEKKA_RSN_CD, inRecord, offset, 10);
		// お客さまＩＤ１
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_1, inRecord, offset, 10);
		// お客さまＩＤ２
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_2, inRecord, offset, 10);
		// お客さまＩＤ３
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_3, inRecord, offset, 10);
		// お客さまＩＤ４
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_4, inRecord, offset, 10);
		// お客さまＩＤ１−申込日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_1_MSKM_DAY, inRecord, offset, 8);
		// お客さまＩＤ１−開通日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_1_OPEN_DAY, inRecord, offset, 8);
		// お客さまＩＤ２−申込日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_2_MSKM_DAY, inRecord, offset, 8);
		// お客さまＩＤ２−開通日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_2_OPEN_DAY, inRecord, offset, 8);
		// お客さまＩＤ３−申込日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_3_MSKM_DAY, inRecord, offset, 8);
		// お客さまＩＤ３−開通日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_3_OPEN_DAY, inRecord, offset, 8);
		// お客さまＩＤ４−申込日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_4_MSKM_DAY, inRecord, offset, 8);
		// お客さまＩＤ４−開通日
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CUST_ID_4_OPEN_DAY, inRecord, offset, 8);
		// キャッシュバック対象金額１
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_1, inRecord, offset, 9);
		// キャッシュバック対象金額２
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_2, inRecord, offset, 9);
		// キャッシュバック対象金額３
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_3, inRecord, offset, 9);
		// キャッシュバック対象金額４
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_4, inRecord, offset, 9);
		// キャッシュバック対象金額合計
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_GOKEI, inRecord, offset, 9);
		// キャッシュバック振分ポイント１
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_1, inRecord, offset, 8);
		// キャッシュバック振分ポイント２
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_2, inRecord, offset, 8);
		// キャッシュバック振分ポイント３
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_3, inRecord, offset, 8);
		// キャッシュバック振分ポイント４
		offset = setInMapColumn(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_4, inRecord, offset, 8);
		// 予備
		offset = setInMapColumn(inMap, JBSbatKKIFE149.YOBI, inRecord, offset, 43);
		
		return inMap;
	}

	/**
	 * 入力ファイルレコードを項目長で区切って入力ファイルマップに設定します。
	 * 
	 * @param inMap 入力ファイルマップ
	 * @param columnName 項目名（マップ設定キー）
	 * @param offset 項目開始位置
	 * @param size 項目長（文字数）
	 * @return 項目終了位置
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int setInMapColumn(JBSbatServiceInterfaceMap inMap, String columnName, String inRecord, int offset, int size) throws Exception {
		inMap.setString(columnName, inRecord.substring(offset, offset+size));
		offset += size;
		return offset;
	}
	
	/**
	 * 入力ファイルマップがダミーレコードか判定します。
	 * 
	 * @param inMap 入力ファイルマップ
	 * @return ダミーレコードの場合true, 以外はfalse
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isDummy(JBSbatServiceInterfaceMap inMap) throws Exception {
		
		// お問い合わせ番号がダミーの場合
		if( DUMMY_TOIAWASE_NO.equals(inMap.getString(JBSbatKKIFE149.TOIAWASE_NO)) ) {
			// true返却
			return true;
		} else {
			// 以外はfalse返却
			return false;
		}
	}
	
	/**
	 * 入力ファイルに対する単項目チェックを行います。
	 * ※自動生成の単項目チェックでは、固定長項目に対する必須チェック、初期値チェックに対応できないため手組みです。
	 * @param inMap 入力ファイルマップ
	 * @return チェックOKの場合true, 以外はfalse
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isSingleCheckKKIFE149(JBSbatServiceInterfaceMap inMap) throws Exception {
		
		// ログ出力用にお問い合わせ番号を取得
		String toiawaseNo = inMap.getString(JBSbatKKIFE149.TOIAWASE_NO);
		
		// お問い合わせ番号 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.TOIAWASE_NO, "お問い合わせ番号", toiawaseNo) ){
			return false;
		}
		// はぴｅ番号 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.HAPIE_NO, "はぴｅ番号", toiawaseNo) ){
			return false;
		}
		// キャッシュバック申込日 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.CASHBK_MSKM_DAY, "キャッシュバック申込日", toiawaseNo) ){
			return false;
		}
		// 対象サービスコード 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.TRGT_SVC_CD, "対象サービスコード", toiawaseNo) ){
			return false;
		}
		// eoID 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.EOID, "eoID", toiawaseNo) ){
			return false;
		}
		// 申請ポイント 必須チェック
		if(!isNecessityCheckOK(inMap, JBSbatKKIFE149.SHINSEI_POINT, "申請ポイント", toiawaseNo) ){
			return false;
		}
		// 審査結果コード 初期値チェック（文字列項目）
		if(!isInitStrCheckOK(inMap, JBSbatKKIFE149.SKEKKA_CD, "審査結果コード", toiawaseNo) ){
			return false;
		}
		// 審査理由コード 初期値チェック（文字列項目）
		if(!isInitStrCheckOK(inMap, JBSbatKKIFE149.SKEKKA_RSN_CD, "審査理由コード", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ１ 初期値チェック（文字列項目）
		if(!isInitStrCheckOK(inMap, JBSbatKKIFE149.CUST_ID_1, "お客さまＩＤ１", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ２ 初期値チェック（文字列項目）
		if(!isInitStrCheckOK(inMap, JBSbatKKIFE149.CUST_ID_2, "お客さまＩＤ２", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ３ 初期値チェック（文字列項目）
		if(!isInitStrCheckOK(inMap, JBSbatKKIFE149.CUST_ID_3, "お客さまＩＤ３", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ１−申込日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_1_MSKM_DAY, "お客さまＩＤ１−申込日", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ１−開通日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_1_OPEN_DAY, "お客さまＩＤ１−開通日", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ２−申込日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_2_MSKM_DAY, "お客さまＩＤ２−申込日", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ２−開通日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_2_OPEN_DAY, "お客さまＩＤ２−開通日", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ３−申込日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_3_MSKM_DAY, "お客さまＩＤ３−申込日", toiawaseNo) ){
			return false;
		}
		// お客さまＩＤ３−開通日 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CUST_ID_3_OPEN_DAY, "お客さまＩＤ３−開通日", toiawaseNo) ){
			return false;
		}
		// キャッシュバック対象金額１ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_1, "キャッシュバック対象金額１", toiawaseNo) ){
			return false;
		}
		// キャッシュバック対象金額２ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_2, "キャッシュバック対象金額２", toiawaseNo) ){
			return false;
		}
		// キャッシュバック対象金額３ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_3, "キャッシュバック対象金額３", toiawaseNo) ){
			return false;
		}
		// キャッシュバック対象金額合計 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_TG_AMNT_GOKEI, "キャッシュバック対象金額合計", toiawaseNo) ){
			return false;
		}
		// キャッシュバック振分ポイント１ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_1, "キャッシュバック振分ポイント１", toiawaseNo) ){
			return false;
		}
		// キャッシュバック振分ポイント２ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_2, "キャッシュバック振分ポイント２", toiawaseNo) ){
			return false;
		}
		// キャッシュバック振分ポイント３ 初期値チェック（数値項目）
		if(!isInitNumCheckOK(inMap, JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_3, "キャッシュバック振分ポイント３", toiawaseNo) ){
			return false;
		}
		
		return true;
	}

	/**
	 * 必須チェックを行います（固定長にも対応）。
	 * @param inMap 入力ファイルマップ
	 * @param columnKey チェック対象項目のマップ格納キー
	 * @param columnName チェック対象項目名（ログ出力用）
	 * @oaram toiawaseNo お問い合わせ番号（ログ出力用）
	 * @return チェックOKの場合true, 以外はfalse
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isNecessityCheckOK(JBSbatServiceInterfaceMap inMap, String columnKey, String columnName, String toiawaseNo) throws Exception {
		// 該当項目習得
		String strValue = inMap.getString(columnKey);
		// null または 空白の場合エラーとする
		if(strValue == null || strValue.trim().length() == 0){
			// ログ出力後false返却
			super.logPrint.printBusinessErrorLog(
				JPCBatchMessageConstant.EKKB0230TW, 
				new String[]{"お問い合わせ番号：" + toiawaseNo + " 「" + columnName + "」が設定されていません。"}
			);
			return false;
		}
		
		// 上記以外の場合true返却
		return true;
	}

	/**
	 * 文字列項目に対する初期値チェックを行います。
	 * @param inMap 入力ファイルマップ
	 * @param columnKey チェック対象項目のマップ格納キー
	 * @param columnName チェック対象項目名（ログ出力用）
	 * @oaram toiawaseNo お問い合わせ番号（ログ出力用）
	 * @return チェックOKの場合true, 以外はfalse
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isInitStrCheckOK(JBSbatServiceInterfaceMap inMap, String columnKey, String columnName, String toiawaseNo) throws Exception {
		// 該当項目習得
		String strValue = inMap.getString(columnKey);
		// nullでも空白でもない場合エラーとする
		if(strValue != null && strValue.trim().length() != 0){
			// ログ出力後false返却
			super.logPrint.printBusinessErrorLog(
				JPCBatchMessageConstant.EKKB0230TW, 
				new String[]{"お問い合わせ番号：" + toiawaseNo + " 「" + columnName + "」に「" + strValue + "」が設定されています。"}
			);
			return false;
		}
		// 上記以外の場合true返却
		return true;
	}

	/**
	 * 数値項目に対する初期値チェックを行います。
	 * @param inMap 入力ファイルマップ
	 * @param columnKey チェック対象項目のマップ格納キー
	 * @param columnName チェック対象項目名（ログ出力用）
	 * @oaram toiawaseNo お問い合わせ番号（ログ出力用）
	 * @return チェックOKの場合true, 以外はfalse
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isInitNumCheckOK(JBSbatServiceInterfaceMap inMap, String columnKey, String columnName, String toiawaseNo) throws Exception {
		// 該当項目習得
		String strValue = inMap.getString(columnKey);
		// null・空白・オールゼロ のいずれでもない場合エラーとする
		if(strValue != null && strValue.trim().length() != 0 && !strValue.matches("0+")){
			// ログ出力後false返却
			super.logPrint.printBusinessErrorLog(
				JPCBatchMessageConstant.EKKB0230TW, 
				new String[]{"お問い合わせ番号：" + toiawaseNo + " 「" + columnName + "」に「" + strValue + "」が設定されています。"}
			);
			return false;
		}
		// 上記以外の場合true返却
		return true;
	}
	
	/**
	 * 出力ファイルマップにダミーレコードを編集します。
	 * @param inMap 入力ファイルマップ
	 * @return 出力ファイルマップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap editDummyRec(JBSbatServiceInterfaceMap inMap) throws Exception {
		//入出力インターフェースオブジェクトを生成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		// 入力ファイルの内容をそのまま出力
		outMap.setString(JBSbatACIFI020.TOIAWASE_NO, 		inMap.getString(JBSbatKKIFE149.TOIAWASE_NO));
		outMap.setString(JBSbatACIFI020.HAPIE_NO, 			inMap.getString(JBSbatKKIFE149.HAPIE_NO));
		outMap.setString(JBSbatACIFI020.CASHBK_MSKM_DAY, 	inMap.getString(JBSbatKKIFE149.CASHBK_MSKM_DAY));
		outMap.setString(JBSbatACIFI020.TRGT_SVC_CD,		inMap.getString(JBSbatKKIFE149.TRGT_SVC_CD));
		outMap.setString(JBSbatACIFI020.EO_ID,				inMap.getString(JBSbatKKIFE149.EOID));
		outMap.setString(JBSbatACIFI020.SYS_ID,				"");
		outMap.setString(JBSbatACIFI020.SHINSEI_POINT,		inMap.getString(JBSbatKKIFE149.SHINSEI_POINT));
		outMap.setString(JBSbatACIFI020.KYOKA_FLG, 			inMap.getString(JBSbatKKIFE149.KYOKA_FLG));
		outMap.setString(JBSbatACIFI020.JUDGE_RSLT_CD,			inMap.getString(JBSbatKKIFE149.SKEKKA_CD));
		outMap.setString(JBSbatACIFI020.JUDGE_RSN_CD, 		inMap.getString(JBSbatKKIFE149.SKEKKA_RSN_CD));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1,		inMap.getString(JBSbatKKIFE149.CUST_ID_1));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2,		inMap.getString(JBSbatKKIFE149.CUST_ID_2));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3, 		inMap.getString(JBSbatKKIFE149.CUST_ID_3));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4, 		inMap.getString(JBSbatKKIFE149.CUST_ID_4));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_MSKM_DAY, inMap.getString(JBSbatKKIFE149.CUST_ID_1_MSKM_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_STA, inMap.getString(JBSbatKKIFE149.CUST_ID_1_OPEN_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_MSKM_DAY, inMap.getString(JBSbatKKIFE149.CUST_ID_2_MSKM_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_STA, inMap.getString(JBSbatKKIFE149.CUST_ID_2_OPEN_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_MSKM_DAY, inMap.getString(JBSbatKKIFE149.CUST_ID_3_MSKM_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_STA, inMap.getString(JBSbatKKIFE149.CUST_ID_3_OPEN_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4_MSKM_DAY, inMap.getString(JBSbatKKIFE149.CUST_ID_4_MSKM_DAY));
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4_STA, inMap.getString(JBSbatKKIFE149.CUST_ID_4_OPEN_DAY));
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_1,	inMap.getString(JBSbatKKIFE149.CASHBK_TG_AMNT_1));
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_2,	inMap.getString(JBSbatKKIFE149.CASHBK_TG_AMNT_2));
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_3,	inMap.getString(JBSbatKKIFE149.CASHBK_TG_AMNT_3));
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_4,	inMap.getString(JBSbatKKIFE149.CASHBK_TG_AMNT_4));
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_GOKEI, inMap.getString(JBSbatKKIFE149.CASHBK_TG_AMNT_GOKEI));
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_1, inMap.getString(JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_1));
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_2, inMap.getString(JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_2));
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_3, inMap.getString(JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_3));
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_4, inMap.getString(JBSbatKKIFE149.CASHBK_HRIWAKE_POINT_4));
		outMap.setString(JBSbatACIFI020.YOBI, 				inMap.getString(JBSbatKKIFE149.YOBI));
		
		//出力フラグを設定
		outMap.setOutFlg(true);
		return outMap;
	}
	
	/**
	 * 出力ファイルマップを編集します。
	 * @param inMap 入力ファイルマップ
	 * @param sysid SYSID
	 * @param skekkaSingleChk 必須項目チェック結果
	 * @param skekkaNet ネットのサービス契約に対する審査結果
	 * @param skekkaTel 電話のサービス契約に対する審査結果
	 * @param skekkaTv テレビのサービス契約に対する審査結果
	 * @return 出力ファイルマップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap editOutMap(
		JBSbatServiceInterfaceMap inMap, 
		String sysid,
		JBSbatKKHkatSkekkaBean skekkaSingleChk, 
		JBSbatKKHkatSkekkaBean skekkaNet,
		JBSbatKKHkatSkekkaBean skekkaTel, 
		JBSbatKKHkatSkekkaBean skekkaTv
	) throws Exception {
		//入出力インターフェースオブジェクトを生成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// お問い合わせ番号			：はぴｅポイント引当審査依頼．お問い合わせ番号
		outMap.setString(JBSbatACIFI020.TOIAWASE_NO, 	inMap.getString(JBSbatKKIFE149.TOIAWASE_NO));
		// はぴｅ番号				：はぴｅポイント引当審査依頼．はぴｅ番号
		outMap.setString(JBSbatACIFI020.HAPIE_NO, 		inMap.getString(JBSbatKKIFE149.HAPIE_NO));
		// キャッシュバック申込日	：はぴｅポイント引当審査依頼．キャッシュバック申込日
		outMap.setString(JBSbatACIFI020.CASHBK_MSKM_DAY, inMap.getString(JBSbatKKIFE149.CASHBK_MSKM_DAY));
		// 対象サービスコード		：はぴｅポイント引当審査依頼．対象サービスコード
		outMap.setString(JBSbatACIFI020.TRGT_SVC_CD, 	inMap.getString(JBSbatKKIFE149.TRGT_SVC_CD));
		// ｅｏＩＤ					：はぴｅポイント引当審査依頼．ｅｏＩＤ
		outMap.setString(JBSbatACIFI020.EO_ID, 			inMap.getString(JBSbatKKIFE149.EOID));
		// ＳＹＳＩＤ				：お客様スキーマから取得したＳＹＳＩＤ
		outMap.setString(JBSbatACIFI020.SYS_ID,			sysid);
// v5.00.01  2013.05.22 MOD START
//		// 申請ポイント				：はぴｅポイント引当審査依頼．申請ポイント（ゼロパディング8桁）
//		outMap.setString(JBSbatACIFI020.SHINSEI_POINT,	JBSbatStringUtil.padNumFormString( inMap.getString(JBSbatKKIFE149.SHINSEI_POINT), 8) );
		
		// 申請ポイント				：はぴｅポイント引当審査依頼．申請ポイント（左右の空白をトリム後、ゼロパディング8桁）
		String shinseiPoint = JBSbatStringUtil.Rtrim(JBSbatStringUtil.Ltrim(inMap.getString(JBSbatKKIFE149.SHINSEI_POINT)));
		outMap.setString(JBSbatACIFI020.SHINSEI_POINT,	JBSbatStringUtil.padNumFormString( shinseiPoint, 8) );
// v5.00.01  2013.05.22 MOD END
		// 許可フラグ				：はぴｅポイント引当審査依頼．許可フラグ
		outMap.setString(JBSbatACIFI020.KYOKA_FLG, 		inMap.getString(JBSbatKKIFE149.KYOKA_FLG));
		
		// 審査結果コード・審査理由コードの編集
		// ネット・電話・テレビがすべてOK（審査対象外含む）の場合
		if(isOK(skekkaNet) && isOK(skekkaTel) && isOK(skekkaTv) && isOK(skekkaSingleChk)){
			
			// 審査結果コード		：OK
			outMap.setString(JBSbatACIFI020.JUDGE_RSLT_CD, 		JBSbatKKConst.HAPIEK_HKAT_SKA_OK);
			// 審査理由コード		：OK
			outMap.setString(JBSbatACIFI020.JUDGE_RSN_CD, 	JBSbatKKConst.HAPIEK_HKAT_SKA_RSN_OK);
			
		// 必須項目チェックエラーの場合
		}else if(skekkaSingleChk!=null){
			
			// 審査結果コード		：NG
			outMap.setString(JBSbatACIFI020.JUDGE_RSLT_CD, 		JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査理由コード		：必須項目チェック
			outMap.setString(JBSbatACIFI020.JUDGE_RSN_CD, 	JBSbatKKConst.HAPIEK_HKAT_SKA_RSN_HISSU);
			
		// ネット・電話・テレビのいずれかで「@サービス契約存在チェック」エラーが発生している場合
		}else if(isSvcExistError(skekkaNet) || isSvcExistError(skekkaTel) || isSvcExistError(skekkaTv)){
			// NG用審査理由コード編集
			StringBuffer skekkaRsnCdBuf = new StringBuffer();
			// 審査理由コード1桁目：7
			skekkaRsnCdBuf.append("7");
			// 審査理由コード2〜9桁目：0
			skekkaRsnCdBuf.append("00000000");
			// 審査理由コード10桁目：N
			skekkaRsnCdBuf.append( getSkekkaRsnCdN(9, skekkaNet, skekkaTel, skekkaTv) );
			
			// 審査結果コード		：NG
			outMap.setString(JBSbatACIFI020.JUDGE_RSLT_CD, 		JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査理由コード		：700000000N
			outMap.setString(JBSbatACIFI020.JUDGE_RSN_CD, 	skekkaRsnCdBuf.toString());

		// 上記以外（A〜Fのチェックエラー）の場合
		}else{
			
			// NG用審査理由コード編集
			StringBuffer skekkaRsnCdBuf = new StringBuffer();
			// 審査理由コード1桁目：6
			skekkaRsnCdBuf.append("6");
			// 審査理由コード2〜10桁目：N
			for(int i=1; i<10; i++){
// v5.00.03  2013.05.28 START
//				skekkaRsnCdBuf.append( getSkekkaRsnCdN(i, skekkaNet, skekkaTel, skekkaTv) );
				String skekkaRsnCdN = getSkekkaRsnCdN(i, skekkaNet, skekkaTel, skekkaTv);
				if((i >= 1 && i <= 3) && !"0".equals(skekkaRsnCdN))
				{
					// 審査理由コード2桁目〜4桁目でエラーの場合には"1"を設定する
					skekkaRsnCdBuf.append("1");
				}
				else
				{
					// 審査理由コード2桁目〜4桁目以外、2桁目〜4桁目でエラーなしの場合はgetSkekkaRsnCdNの戻り値をそのまま設定
					skekkaRsnCdBuf.append(skekkaRsnCdN);
				}
// v5.00.03  2013.05.28 END
			}
			
			// 審査結果コード		：NG
			outMap.setString(JBSbatACIFI020.JUDGE_RSLT_CD, 		JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査理由コード		：6NNNNNNNNNN
			outMap.setString(JBSbatACIFI020.JUDGE_RSN_CD, 	skekkaRsnCdBuf.toString());
		}
		
		// ネットの審査対象サービス契約が存在しない場合
		if(skekkaNet==null || skekkaNet.getTrgetSvcKei()==null){
			// サービス契約番号１			：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1, 			"");
			// サービス契約番号１−申込日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_MSKM_DAY, 	"");
			// サービス契約番号１−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_STA, 	"");
			
		// ネットの審査対象サービス契約が存在する場合
		}else{
			// サービス契約番号１			：サービス契約．サービス契約番号
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1, 			skekkaNet.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) );
			// サービス契約番号１−申込日	：サービス契約．申込年月日
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_MSKM_DAY, 	skekkaNet.getTrgetSvcKei().getString(JBSbatKK_T_MSKM_DTL.MSKM_YMD) );
			// サービス契約番号１−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_1_STA, 	skekkaNet.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD) );
		}
		
		// 電話の審査対象サービス契約が存在しない場合
		if(skekkaTel==null || skekkaTel.getTrgetSvcKei()==null){
			// サービス契約番号２			：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2, 			"");
			// サービス契約番号２−申込日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_MSKM_DAY, 	"");
			// サービス契約番号２−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_STA, 	"");
			
		// 電話の審査対象サービス契約が存在する場合
		}else{
			// サービス契約番号２			：サービス契約．サービス契約番号
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2, 			skekkaTel.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) );
			// サービス契約番号２−申込日	：サービス契約．申込年月日
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_MSKM_DAY, 	skekkaTel.getTrgetSvcKei().getString(JBSbatKK_T_MSKM_DTL.MSKM_YMD) );
			// サービス契約番号２−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_2_STA, 	skekkaTel.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD) );
		}
		
		
		// テレビの審査対象サービス契約が存在しない場合
		if(skekkaTv==null || skekkaTv.getTrgetSvcKei()==null){
			// サービス契約番号３			：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3, 			"");
			// サービス契約番号３−申込日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_MSKM_DAY, 	"");
			// サービス契約番号３−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_STA, 	"");
			
		// テレビの審査対象サービス契約が存在する場合
		}else{
			// サービス契約番号３			：サービス契約．サービス契約番号
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3, 			skekkaTv.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) );
			// サービス契約番号３−申込日	：サービス契約．申込年月日
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_MSKM_DAY, 	skekkaTv.getTrgetSvcKei().getString(JBSbatKK_T_MSKM_DTL.MSKM_YMD) );
			// サービス契約番号３−開通日	：空白設定
			outMap.setString(JBSbatACIFI020.SVC_KEI_NO_3_STA, 	skekkaTv.getTrgetSvcKei().getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD) );
		}
		
		// サービス契約番号４				：空白を設定
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4, 				"");
		// サービス契約番号４−申込日
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4_MSKM_DAY, 		"");
		// サービス契約番号４−開通日
		outMap.setString(JBSbatACIFI020.SVC_KEI_NO_4_STA, 		"");
		
		// キャッシュバック対象金額１		：ゼロを設定（ゼロパディング9桁）
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_1, 			JBSbatStringUtil.padNumFormString( "0", 9) );
		// キャッシュバック対象金額２		：ゼロを設定（ゼロパディング9桁）
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_2, 			JBSbatStringUtil.padNumFormString( "0", 9) );
		// キャッシュバック対象金額３		：ゼロを設定（ゼロパディング9桁）
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_3, 			JBSbatStringUtil.padNumFormString( "0", 9) );
		// キャッシュバック対象金額４		：ゼロを設定（ゼロパディング9桁）
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_4, 			JBSbatStringUtil.padNumFormString( "0", 9) );
		// キャッシュバック対象金額合計		：ゼロを設定（ゼロパディング9桁）
		outMap.setString(JBSbatACIFI020.CASHBK_TG_PRC_AMNT_GOKEI, 		JBSbatStringUtil.padNumFormString( "0", 9) );
		
		// キャッシュバック振分ポイント１	：空白を設定（ゼロパディング8桁）
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_1, 	JBSbatStringUtil.padNumFormString( "", 8) );
		// キャッシュバック振分ポイント２	：空白を設定（ゼロパディング8桁）
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_2, 	JBSbatStringUtil.padNumFormString( "", 8) );
		// キャッシュバック振分ポイント３	：空白を設定（ゼロパディング8桁）
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_3, 	JBSbatStringUtil.padNumFormString( "", 8) );
		// キャッシュバック振分ポイント４	：空白を設定（ゼロパディング8桁）
		outMap.setString(JBSbatACIFI020.CASHBK_HRIWAKE_POINT_4, 	JBSbatStringUtil.padNumFormString( "", 8) );
		
		// 予備								：空白を設定
		outMap.setString(JBSbatACIFI020.YOBI, 						"");
		
		//出力フラグを設定
		outMap.setOutFlg(true);
		return outMap;
	}
	
	/**
	 * 審査結果理由コードの「N」を編集します。
	 * @param i 審査結果コードの桁位置
	 * @param skekkaNet ネット審査結果
	 * @param skekkaTel 電話審査結果
	 * @param skekkaTv テレビ審査結果
	 * @return
	 */
	private String getSkekkaRsnCdN(
		int i, 
		JBSbatKKHkatSkekkaBean skekkaNet,
		JBSbatKKHkatSkekkaBean skekkaTel, 
		JBSbatKKHkatSkekkaBean skekkaTv
	) {
		String skekkaRsnCdN;
		// 各審査結果の審査理由コードにて該当桁位置に"1"が設定されているか確認
		boolean isNetError = isErrorRsnCd(skekkaNet, i);
		boolean isTelError = isErrorRsnCd(skekkaTel, i);
		boolean isTvError  = isErrorRsnCd(skekkaTv,  i);
		
		// ネットでエラー
		if(isNetError){
			
			// 電話でエラー
			if(isTelError){
				
				// テレビでエラー
				if(isTvError){
					
					// ネット＋ＴＥＬ＋ＴＶ（"7"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_NETTELTV;
					
				// テレビでエラーなし
				}else{
					
					// ネット＋ＴＥＬ（"3"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_NETTEL;
				}
				
			// 電話でエラーなし
			}else{
				
				// テレビでエラー
				if(isTvError){
					
					// ネット＋ＴＶ（"5"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_NETTV;
				
				// テレビでエラーなし
				}else{
					
					// ネット（"1"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_NET;
				}
			}
			
		// ネットでエラーなし
		}else{
			
			// 電話でエラー
			if(isTelError){
				
				// テレビでエラー
				if(isTvError){
					
					// ＴＥＬ＋ＴＶ（"6"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_TELTV;
				
				// テレビでエラーなし
				}else{
					
					// ＴＥＬ（"2"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_TEL;
				}
				
			// 電話でエラーなし
			}else{
				
				// テレビでエラー
				if(isTvError){
					
					// ＴＶ（"4"）
					skekkaRsnCdN = JBSbatKKConst.HAPIEK_HKAT_ERR_SVC_TV;
				
				// テレビでエラーなし
				}else{
					
					// エラーなしの場合は"0"返却
					skekkaRsnCdN = "0";
				}
			}
		}
		return skekkaRsnCdN;
	}
	
	/**
	 * 審査結果理由コードの指定された桁位置に"1"が設定されているか判定します。
	 * @param skekkaBean 審査結果Bean
	 * @param i 審査結果コードの桁位置
	 * @return 審査結果理由コードの指定された桁位置に"1"が設定されている場合true, 以外はfalse
	 */
	private boolean isErrorRsnCd(JBSbatKKHkatSkekkaBean skekkaBean, int i) {
		if(skekkaBean!=null && "1".equals( skekkaBean.getSkekkaRsnCd(i) ) ){
			return true;
		}else{
			return false;
		}
	}

	/**
	 * ネットのサービス契約を審査対象とするか判定します。
	 * @param trgtSvcCd 対象サービスコード
	 * @return ネットのサービス契約を審査対象とする場合true, 以外はfalse
	 */
	private boolean isTargetNet(String trgtSvcCd) {
		return JBSbatKKConst.TRGT_SVC_CD_ALL_NEW.equals(trgtSvcCd) ||			// 「ネット＋電話＋ＴＶ」新規 
			JBSbatKKConst.TRGT_SVC_CD_NET_TEL_NEW.equals(trgtSvcCd) || 			// 「ネット＋電話」新規
			JBSbatKKConst.TRGT_SVC_CD_NET_TV_NEW.equals(trgtSvcCd) || 			// 「ネット＋ＴＶ」新規
			JBSbatKKConst.TRGT_SVC_CD_NET_NEW.equals(trgtSvcCd) || 				// 「ネット」新規
// v5.00.04  2013.05.28 MOD START (旧システム(ICS)では、電話のみ・ＴＶのみは存在しない。ICSに合わせる為、電話やＴＶの場合でもネットの情報を取得する)
//			JBSbatKKConst.TRGT_SVC_CD_NET_ADD.equals(trgtSvcCd);				// 「ネット」追加
			JBSbatKKConst.TRGT_SVC_CD_NET_ADD.equals(trgtSvcCd) ||				// 「ネット」追加
			JBSbatKKConst.TRGT_SVC_CD_TEL_ADD.equals(trgtSvcCd) ||
			JBSbatKKConst.TRGT_SVC_CD_TV_ADD.equals(trgtSvcCd);
// v5.00.04  2013.05.28 MOD END
	}

	/**
	 * 電話のサービス契約を審査対象とするか判定します。
	 * @param trgtSvcCd 対象サービスコード
	 * @return 電話のサービス契約を審査対象とする場合true, 以外はfalse
	 */
	private boolean isTargetTel(String trgtSvcCd) {
		return JBSbatKKConst.TRGT_SVC_CD_ALL_NEW.equals(trgtSvcCd) ||  			// 「ネット＋電話＋ＴＶ」新規
			JBSbatKKConst.TRGT_SVC_CD_NET_TEL_NEW.equals(trgtSvcCd) ||			// 「ネット＋電話」新規
			JBSbatKKConst.TRGT_SVC_CD_TEL_ADD.equals(trgtSvcCd);				// 「電話」追加
	}

	/**
	 * テレビのサービス契約を審査対象とするか判定します。
	 * @param trgtSvcCd 対象サービスコード
	 * @return テレビのサービス契約を審査対象とする場合true, 以外はfalse
	 */
	private boolean isTargetTv(String trgtSvcCd) {
		return JBSbatKKConst.TRGT_SVC_CD_ALL_NEW.equals(trgtSvcCd) ||			// 「ネット＋電話＋ＴＶ」新規 
			JBSbatKKConst.TRGT_SVC_CD_NET_TV_NEW.equals(trgtSvcCd) ||			// 「ネット＋ＴＶ」新規
			JBSbatKKConst.TRGT_SVC_CD_TV_ADD.equals(trgtSvcCd);					// 「ＴＶ」追加
	}
	
// v5.00.00  2013.04.01 START
//	/**
//	 * サービス契約リストを対象に引当審査を行います。
//	 * @param svcKeiList サービス契約リスト
//	 * @param trgtSvcCd 対象サービスコード
//	 * @return 審査結果Bean
//	 */
//	private JBSbatKKHkatSkekkaBean hkatJudge(List<JBSbatCommonDBInterface> svcKeiList, String trgtSvcCd) throws Exception {
	/**
	 * サービス契約リストを対象に引当審査を行います。
	 * @param svcKeiList サービス契約リスト
	 * @param trgtSvcCd 対象サービスコード
	 * @param svcCd サービスコード
	 * @return 審査結果Bean
	 */
	private JBSbatKKHkatSkekkaBean hkatJudge(List<JBSbatCommonDBInterface> svcKeiList, String trgtSvcCd, String svcCd) throws Exception {
		
		/** @サービス契約存在チェック */
		List<JBSbatCommonDBInterface> trgtSvcKeiList = new ArrayList<JBSbatCommonDBInterface>();
// v5.00.04  2013.05.28 START
		if((JBSbatKKConst.TRGT_SVC_CD_TEL_ADD.equals(trgtSvcCd) && JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd)) ||
			(JBSbatKKConst.TRGT_SVC_CD_TV_ADD.equals(trgtSvcCd) && JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd)))
		{
			JBSbatKKHkatSkekkaBean skekkaBean = new JBSbatKKHkatSkekkaBean();
			// 入力ファイルの対象サービスコードが"電話"or"TV"で、サービス契約情報がネットの場合
			if(svcKeiList != null && svcKeiList.size() != 0)
			{
				// ネットのサービス契約情報が取得できた場合、ネットのサービス情報を設定して返却
				skekkaBean.setTrgetSvcKei(svcKeiList.get(0));
			}
			return skekkaBean;
		}
// v5.00.04  2013.05.28 END
// v5.00.00  2013.04.01 START
		if(svcKeiList != null)
		{
// v5.00.00  2013.04.01 END
			for(JBSbatCommonDBInterface svcKeiMap : svcKeiList){
				// キャッシュバック対象となる料金プランのサービス契約だけを抽出
// v5.00.01  2013.05.21 MOD START
//				if( isCashbackPlan(
//					svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD), 
//					svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD)) 
//				){
//					trgtSvcKeiList.add(svcKeiMap);
//				}
				if( isCashbackPlan(
						svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD), 
						svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD), 
						svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO),
						svcCd))
				{
					trgtSvcKeiList.add(svcKeiMap);
					continue;
				}
// v5.00.04  2013.08.25 MOD START
				// テレビのチェックを実施（ネット・電話はisCashbackPlanにてチェックを実施）
				String svcKeiSvcCd = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD);
				if(JBSbatKKConst.SVC_CD_TV_SVC.equals(svcKeiSvcCd))
				{
					// "テレビサービス"で、マンション物件コードが "001"（マンション）の場合には審査NGとする。
					String svcKeiNo = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
					executeKK_T_MANSION_BUKKEN_KK_SELECT_006(new String[]{svcKeiNo, super.opeDate});
					JBSbatCommonDBInterface map;
					if( (map=db_KK_T_MANSION_BUKKEN.selectNext()) != null ){
						String mansionBukkenCd = map.getString(JBSbatKK_T_MANSION_BUKKEN.MANSION_BUKKEN_CD);
						if(!JBSbatKKConst.MANSION_BUKKEN_CD_001.equals(mansionBukkenCd))
						{
							// マンション物件コードが"001"（マンション）でないのでリストに詰める
							trgtSvcKeiList.add(svcKeiMap);
						}
					}
					else
					{
						// マンション物件コードが取得できない（ホーム）なのでリストに詰める
						trgtSvcKeiList.add(svcKeiMap);
					}
				}
// v5.00.04  2013.08.25 MOD END
// v5.00.01  2013.05.21 MOD END
			}
// v5.00.00  2013.04.01 START
		}
// v5.00.00  2013.04.01 END
		// 対象となるサービスが存在しない場合はエラー
		if( trgtSvcKeiList.isEmpty() ){
			// 審査結果Beanを生成
			JBSbatKKHkatSkekkaBean skekkaBean = new JBSbatKKHkatSkekkaBean();
			
// v5.00.04  2013.05.27 MOD START
//			// 対象サービス契約は存在しないのでセットしない
			// 対象サービスが存在しない場合でも、サービス契約が取得できた場合には先頭のサービス契約を設定する
			if(svcKeiList != null && svcKeiList.size() != 0)
			{
				JBSbatCommonDBInterface svcKeiMap = svcKeiList.get(0);
				skekkaBean.setTrgetSvcKei(svcKeiMap);
			}
// v5.00.04  2013.05.27 MOD END
			
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査理由コード：1桁目に7
			skekkaBean.setSkekkaRsnCd("7", 0);
			// 審査理由コード：10桁目に1
			skekkaBean.setSkekkaRsnCd("1", 9);
			
			// 後続チェックは行わず返却
			return skekkaBean;
		}
		
		JBSbatKKHkatSkekkaBean lastSkekkaBean = null;
		/** 以下、エラー時に処理中断しないチェック（A〜F）。@を通過したサービス契約だけをチェック対象とする */
		for(JBSbatCommonDBInterface svcKeiMap : trgtSvcKeiList){
			// 審査実施
			// 「ASYSID配下のネット契約存在チェック」のために、キャッシュバック対象外も含めたサービス契約リストも引数で渡す
			JBSbatKKHkatSkekkaBean skekkaBean = hkatJudge(svcKeiMap, trgtSvcCd, svcKeiList);
			
			// 審査OKだったらリターン
			if( isOK(skekkaBean) ){
				return skekkaBean;
			
			// 審査NGの場合は次のサービス契約をチェック。最終のチェック結果を退避しておく
			}else{
				lastSkekkaBean = skekkaBean;
			}
		}
		
		// キャッシュバック対象が存在しない場合はここまでこないので、
		// A〜Fのチェックは最低1回は行われるため、null返却はありえない
		return lastSkekkaBean;
	}


	/**
	 * サービス契約マップを対象に引当審査を行います。
	 * @param svcKeiMap サービス契約マップ
	 * @param trgtSvcCd 対象サービスコード
	 * @param svcKeiMap サービス契約リスト（キャッシュバック対象外プランも含む。「ASYSID配下のネット契約存在チェック」で使用）
	 * @return 審査結果Bean
	 */
	private JBSbatKKHkatSkekkaBean hkatJudge(JBSbatCommonDBInterface svcKeiMap, String trgtSvcCd, List<JBSbatCommonDBInterface> svcKeiList) throws Exception {
		
		// 審査結果Beanを生成
		JBSbatKKHkatSkekkaBean skekkaBean = new JBSbatKKHkatSkekkaBean();
		// 対象サービス契約をセット
		skekkaBean.setTrgetSvcKei(svcKeiMap);
		
		/** (3)　はぴｅポイント引当審査 */
		/** ASYSID配下のネット契約存在チェック */
		if( !isExistNetSvc(trgtSvcCd, svcKeiList, svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) ) ){
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：2桁目に1
			skekkaBean.setSkekkaRsnCd("1", 1);
		}
		
		/** B契約状態チェック */
		if( !isSvcKeiStatChkOK( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT) ) ){
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：5桁目に1
			skekkaBean.setSkekkaRsnCd("1", 4);
		}
		
		/** C初回請求完了確認チェック */
		if( !isSeikyuZumi( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) ) ) {
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：3桁目に1
			skekkaBean.setSkekkaRsnCd("1", 2);
		}
		
		/** D開通済みチェック */
		if( !isStarted( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD) ) ){
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：6桁目に1
			skekkaBean.setSkekkaRsnCd("1", 5);
		}
		
		/** E有効期間チェック */
		if( !isInYkPrd( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD) ) ) {
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：7桁目に1
			skekkaBean.setSkekkaRsnCd("1", 6);
		}
		
		/** Fキャッシュバック履歴チェック */
		if( isCashbacked( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) ) ){
			// 審査結果コード：NG
			skekkaBean.setSkekkaCd(JBSbatKKConst.HAPIEK_HKAT_SKA_NG);
			// 審査結果コード：1桁目に6
			skekkaBean.setSkekkaRsnCd("6", 0);
			// 審査結果コード：8桁目に1
			skekkaBean.setSkekkaRsnCd("1", 7);
		}
		
		// 審査結果返却
		return skekkaBean;
	}
	
	/**
	 * 「ASYSID配下のネット契約存在チェック」を行います。
	 * @param trgtSvcCd 対象サービスコード
	 * @param svcKeiList 同一SYSID配下のサービス契約リスト
	 * @param trgtSvcKeiNo 審査対象サービス契約番号
	 * @return キャッシュバック対象となる料金プランの場合true, 以外はfalse
	 */
	private boolean isExistNetSvc(String trgtSvcCd, List<JBSbatCommonDBInterface> svcKeiList, String trgtSvcKeiNo) throws Exception {
		// 対象サービスコードが「ネット（新規）」 かつ 同一SYSID配下に「解約済」以下のレコードが存在する
		if( JBSbatKKConst.TRGT_SVC_CD_NET_NEW.equals(trgtSvcCd) && 
			isExistLessStatus( svcKeiList, JBSbatKKConst.SVC_KEI_STAT_DLS_ZM, trgtSvcKeiNo )
		) {
			return false;
			
		// 対象サービスコードが「ネット（追加）」 かつ 同一SYSID配下に「解約済」以下のレコードが存在しない
		} else if( JBSbatKKConst.TRGT_SVC_CD_NET_ADD.equals(trgtSvcCd) && 
			!isExistLessStatus( svcKeiList, JBSbatKKConst.SVC_KEI_STAT_DLS_ZM, trgtSvcKeiNo ) 
		) {
			return false;
		} else {
			return true;
		}
		
		
	}

	/**
	 * サービス契約リスト内に、指定されたサービス契約ステータス以下のものが存在するか判定します。
	 * @param svcKeiList サービス契約リスト
	 * @param svcKeiStat サービス契約ステータス
	 * @param trgtSvcKeiNo 審査対象サービス契約番号
	 * @return サービス契約リスト内に、指定されたサービス契約ステータス以下のものが存在する場合はtrue, 以外はfalse
	 */
	private boolean isExistLessStatus(List<JBSbatCommonDBInterface> svcKeiList, String svcKeiStat, String trgtSvcKeiNo) throws Exception {
		// 一応nullチェック
		if(svcKeiStat==null){
			return false;
		}
		
		for(JBSbatCommonDBInterface svcKeiMap : svcKeiList){
			// サービス契約番号が審査対象と一致したらステータス比較対象外
			if( trgtSvcKeiNo.equals( svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO) ) ){
				continue;
			}
			
			// サービス契約ステータス取得
			String trgtSvcKeiStat = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
			if(trgtSvcKeiStat == null){
				continue;
			}
			// 引数のサービス契約ステータスと比較
			// #81375 2024.02.14 MOD START
			//if(svcKeiStat.compareTo( trgtSvcKeiStat ) > 0){
			if(svcKeiStat.compareTo( trgtSvcKeiStat ) >= 0){
			// #81375 2024.02.14 MOD END
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 「B契約状態チェック」を行います。
	 * @param svcKeiStat サービス契約ステータス
	 * @return チェックＯＫの場合true, 以外はfalse
	 */
	private boolean isSvcKeiStatChkOK(String svcKeiStat) throws Exception {
		if( JBSbatKKConst.SVC_KEI_STAT_UK_ZM.equals(svcKeiStat) || 			// 受付済
			JBSbatKKConst.SVC_KEI_STAT_SHOSA_ZM.equals(svcKeiStat) || 		// 照査済
			JBSbatKKConst.SVC_KEI_STAT_CNC_ZM.equals(svcKeiStat) ||			// 締結済 
			JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU.equals(svcKeiStat)			// サービス提供中
		) {
			return true;
		} else {
			return false;
		}
	}
	
	/**
	 * 「D開通済みチェック」を行います。
	 * @param svcStaYmd サービス開始年月日
	 * @return チェックＯＫの場合true, 以外はfalse
	 */
	private boolean isStarted(String svcStaYmd) {

// KT1-2013-0000213 suzuki add start
		// nullのときは開通済み でない 
		if( svcStaYmd == null ) {
			return false;
		}
// KT1-2013-0000213 suzuki add end
		
		if( super.opeDate.compareTo(svcStaYmd) >= 0 ) {
			return true;
		} else{
			return false;
		}
	}
	
	/**
	 * eoIDを元に、お客様スキーマよりSYSIDを取得します。
	 * eoIDの上2桁が"51"の場合は初期eoIDをキーとして読み込み、
	 * 以外の場合はeoIDをキーとして読み込みます。
	 * @param _eoid eoID
	 * @return SYSID
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getSysid(String _eoid) throws Exception {
		// 入力のeoidは固定長項目なので、念のためトリム
		String eoid = _eoid.trim();
		
		// eoIDの上2桁が"51"の場合
		if( eoid.startsWith("51") ){
			// 初期eoIDをキーとして読み込む
			executeCK_T_CUST_KK_SELECT_037(new String[]{eoid, super.opeDate});
		}else{
			// eoIDをキーとして読み込む
			executeCK_T_CUST_KK_SELECT_036(new String[]{eoid, super.opeDate});
		}
		
		// 結果取得
		JBSbatCommonDBInterface custMap = db_CK_T_CUST.selectNext();
		// 該当なしの場合はnullリターン
		if(custMap==null) {
// v6.00.00 2013.12.28 ADD Start（初期eoIDが更新されている可能性があるため、初期eoID検索で結果が取得できない場合、eoIDでの検索を行う）
			if(eoid.startsWith("51"))
			{
				executeCK_T_CUST_KK_SELECT_036(new String[]{eoid, super.opeDate});
				custMap = db_CK_T_CUST.selectNext();
				if(custMap == null) {
					return null;
				}
				else
				{
					return custMap.getString(JBSbatCK_T_CUST.SYSID);
				}
			}
// v6.00.00 2013.12.28 ADD End
			
			return null;
			
		// 該当有の場合はSYSIDを返却
		} else {
			return custMap.getString(JBSbatCK_T_CUST.SYSID);
		}
	}
	
	/**
	 * SYSIDとサービスコードを元に、サービス契約スキーマを取得します（n件取得）。
	 * @param sysid SYSID
	 * @param svcCd サービスコード
	 * @return サービス契約マップを格納したリスト 該当なしの場合空リスト
	 */
	private List<JBSbatCommonDBInterface> getSvcKeiList(String sysid, String svcCd) throws Exception {
		List<JBSbatCommonDBInterface> svcKeiList = new ArrayList<JBSbatCommonDBInterface>();
		
		// サービス契約を検索
		executeKK_T_SVC_KEI_KK_SELECT_216(new String[]{sysid, svcCd, super.opeDate});
		// 結果をリストに格納
		JBSbatCommonDBInterface map;
		while( (map=db_KK_T_SVC_KEI.selectNext()) != null ){
			svcKeiList.add(map);
		}
		
		return svcKeiList;
	}
	
// v5.00.01  2013.05.22 MOD START
//	/**
//	 * 料金コースコード、料金プランコードを元に料金プランスキーマを検索し、
//	 * キャッシュバック対象となる料金プランか判定します。
//	 * @param pcrsCd 料金コースコード
//	 * @param pplanCd 料金プランコード
//	 * @return キャッシュバック対象となる料金プランの場合true, 以外はfalse
//	 */
//	private boolean isCashbackPlan(String pcrsCd, String pplanCd) throws Exception {
	/**
	 * 料金コースコード、料金プランコードを元に料金プランスキーマを検索し、
	 * キャッシュバック対象となる料金プランか判定します。
	 * @param pcrsCd 料金コースコード
	 * @param pplanCd 料金プランコード
	 * @param svcKeiNo サービス契約番号
	 * @param svcCd サービスコード
	 * @return キャッシュバック対象となる料金プランの場合true, 以外はfalse
	 */
	private boolean isCashbackPlan(String pcrsCd, String pplanCd, String svcKeiNo, String svcCd) throws Exception
	{
//		// 料金プランを検索
//		JBSbatCommonDBInterface pplanMap = executeKK_M_PPLAN_PKSELECT(new String[]{pcrsCd, pplanCd});
//		if(pplanMap==null){
//			return false;
//		}
//		
//		// はぴｅポイントキャッシュバック対象フラグを取得
//		String tgFlg = pplanMap.getString(JBSbatKK_M_PPLAN.HAPIEP_CASHBK_TG_FLG);
//		// はぴeポイントキャッシュバック対象の場合true, 以外はfalse
//		if(JBSbatKKConst.HAPIEP_CASHBK_TG_FLG_TARGET.equals(tgFlg)){
//			return true;
//		}else{
//			return false;
//		}
		
		boolean cashbkTgFlg = false;
		if(JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd) || JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
		{
			//-----------------------------------------------------------------------------------------------
			// ネット・電話のサービス契約の場合
			// サービス契約の料金コース・料金プランコードで、はぴeポイントキャッシュバック対象を取得する
			//-----------------------------------------------------------------------------------------------
			// 料金プランを検索
			JBSbatCommonDBInterface pplanMap = executeKK_M_PPLAN_PKSELECT(new String[]{pcrsCd, pplanCd});
			if(pplanMap==null){
				cashbkTgFlg =  false;
			}
			
			// はぴｅポイントキャッシュバック対象フラグを取得
			String tgFlg = pplanMap.getString(JBSbatKK_M_PPLAN.HAPIEP_CASHBK_TG_FLG);
			// はぴeポイントキャッシュバック対象の場合true, 以外はfalse
			if(JBSbatKKConst.HAPIEP_CASHBK_TG_FLG_TARGET.equals(tgFlg)){
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#isCashbackPlan() サービス契約番号=" + svcKeiNo + "  ：キャッシュバック対象");
				cashbkTgFlg =  true;
			}else{
				logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#isCashbackPlan() サービス契約番号=" + svcKeiNo + "  ：キャッシュバック対象外");
				cashbkTgFlg =  false;
			}
		}
// v5.00.04  2013.08.25 MOD START
//		else if(JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd))
//		{
//			//-----------------------------------------------------------------------------------------------
//			// ＴＶのサービス契約の場合
//			// サービス契約内訳の料金コース・料金プランコードで、はぴeポイントキャッシュバック対象を取得する
//			//-----------------------------------------------------------------------------------------------
//			// はぴｅポイントキャッシュバック対象フラグを取得
//			String[] bindMap = new String[]{
//					svcKeiNo,
//					JBSbatKKConst.SVC_KEI_STAT_UK_ZM,
//					JBSbatKKConst.SVC_KEI_STAT_SHOSA_ZM,
//					JBSbatKKConst.SVC_KEI_STAT_CNC_ZM,
//					JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU,
//					super.opeDate
//			};
//			executeKK_T_SVC_KEI_UCWK_KK_SELECT_104(bindMap);
//			JBSbatCommonDBInterface cashbackTgFlgMap;
//
//			while ((cashbackTgFlgMap = db_KK_T_SVC_KEI_UCWK.selectNext()) != null)
//			{
//				String svcKeiUcwkNo      = cashbackTgFlgMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
//				String hapiepCashbkTgFlg = cashbackTgFlgMap.getString(JBSbatKK_M_PPLAN.HAPIEP_CASHBK_TG_FLG);
//				// はぴeポイントキャッシュバック対象が"対象"の場合
//				if (JBSbatKKConst.HAPIEP_CASHBK_TG_FLG_TARGET.equals(hapiepCashbkTgFlg))
//				{
//					logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#isCashbackPlan() サービス契約内訳番号=" + svcKeiUcwkNo + "  ：キャッシュバック対象");
//					cashbkTgFlg = true;
//				}
//				else
//				{
//					logPrint.printDebugLog("JBSbatKKHapiePointHkatJudge#isCashbackPlan() サービス契約内訳番号=" + svcKeiUcwkNo + "  ：キャッシュバック対象外");
//				}
//			}
//		}
// v5.00.04  2013.08.25 MOD END
		return cashbkTgFlg;
// v5.00.01  2013.05.22 MOD END
	}
	
	/**
	 * サービス契約番号を元に請求内訳スキーマを検索し、
	 * 初回請求が完了しているか判定します。
	 * @param svcKeiNo サービス契約番号
	 * @return 初回請求が完了している場合true, 以外はfalse
	 */
	private boolean isSeikyuZumi(String svcKeiNo) throws Exception {
		// 請求内訳を検索
		executeCH_T_SEIKY_UCWK_KK_SELECT_002(new String[]{svcKeiNo});
		// 結果取得
		if( db_CH_T_SEIKY_UCWK.selectNext()==null ){
			return false;
		} else {
			return true;
		}
	}
	
	/**
	 * 業務パラメータを取得し、「E有効期間チェック」を行います。
	 * @param svcStaYmd サービス開始年月日
	 * @return チェックＯＫの場合true, 以外はfalse
	 */
	private boolean isInYkPrd(String svcStaYmd) throws Exception {
		if(svcStaYmd==null){
			return false;
		}
		
		// 業務パラメータ取得
		JBSbatCommonDBInterface workParamMap = executeZM_M_WORK_PARAM_KNRI_PKSELECT(new String[]{WORK_PARAM_KK_HAPIE_HKAT_YK_PRD});
		// はぴｅポイント引当審査有効期限Ｎヶ月 を取得
		int nMonth = Integer.parseInt( workParamMap.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE) );
		// 業務日付のＮ＋１ヶ月前 初日が期限日
		String limitYmd = JBSbatDateUtil.adjustMonth( super.opeDate, -(nMonth+1) ) .substring(0, 6) + "01";
		// サービス開始年月日が期限日よりも前の場合false 以外はtrue
		if( svcStaYmd.compareTo(limitYmd) < 0 ){
			return false;
		}else{
			return true;
		}
	}
	
	/**
	 * はぴｅポイント引当スキーマが存在するか判定します。
	 * @param svcKeiNo サービス契約番号
	 * @return 存在する場合true, 以外はfalse
	 */
	private boolean isCashbacked(String svcKeiNo) throws Exception {
		// はぴｅポイント引当を検索
		executeAC_T_HAPIEPOINT_HKAT_KK_SELECT_001(new String[]{svcKeiNo});
		// 結果がヒットしたらtrue
		if( db_AC_T_HAPIEPOINT_HKAT.selectNext() != null ){
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 審査結果がOKかを判定します。
	 * nullが渡された場合（審査対象外の場合）もOK扱いとします。
	 * @param skekkaBean 審査結果Bean
	 * @return 審査結果OK、または審査対象外の場合、true。以外はfalse。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isOK(JBSbatKKHkatSkekkaBean skekkaBean) {
		// null（審査対象外）はOK扱いとし、true返却
		if(skekkaBean==null){
			return true;
		}
		// 審査結果コードがOKならtrue返却
		return JBSbatKKConst.HAPIEK_HKAT_SKA_OK.equals(skekkaBean.getSkekkaCd());
	}
	
	/**
	 * 審査結果が「@サービス契約存在チェック」によるエラーかを判定します。
	 * nullが渡された場合（審査対象外の場合）はfalseを返却します。
	 * @param skekkaBean 審査結果Bean
	 * @return 「@サービス契約存在チェック」によるエラー、または審査対象外の場合、true。以外はfalse。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isSvcExistError(JBSbatKKHkatSkekkaBean skekkaBean) {
		// null（審査対象外）はエラーではないのでfalse返却
		if(skekkaBean==null){
			return false;
		}
		// 審査理由コードの頭1桁が"7"の場合true返却
		return "7".equals(skekkaBean.getSkekkaRsnCd(0));
	}


	/**
	 * 引当審査結果Bean
	 *
	 */
	private class JBSbatKKHkatSkekkaBean{
		/** 審査結果コード（初期値：OK） */
		private String skekkaCd = JBSbatKKConst.HAPIEK_HKAT_SKA_OK;
		/** 審査理由コード（初期値：オールゼロ） */
		private String[] skekkaRsnCd = new String[]{"0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
		/** 審査対象サービス契約マップ */
		private JBSbatCommonDBInterface trgetSvcKei;
		
		/** 
		 * 審査結果コードを取得します
		 * @return 審査結果コード
		 */
		public String getSkekkaCd() {
			return skekkaCd;
		}
		
		/** 
		 * 審査結果コードを設定します
		 * @param skekkaCd 審査結果コード
		 */
		public void setSkekkaCd(String skekkaCd) {
			this.skekkaCd = skekkaCd;
		}
		
		/** 
		 * 審査理由コードを取得します
		 * @return 審査理由コード
		 */
		public String[] getSkekkaRsnCd() {
			return skekkaRsnCd;
		}
		
		/** 
		 * 審査理由コードの指定桁を取得します
		 * @param i インデックス
		 * @return 審査理由コードの指定桁
		 */
		public String getSkekkaRsnCd(int i){
			return skekkaRsnCd[i];
		}
		
		/** 
		 * 審査理由コードを設定します
		 * @param skekkaRsnCd 審査理由コード
		 */
		public void setSkekkaRsnCd(String[] skekkaRsnCd) {
			this.skekkaRsnCd = skekkaRsnCd;
		}
		
		/** 
		 * 審査理由コードの指定桁を設定します
		 * @param cd 審査理由コードの指定桁
		 * @param i インデックス
		 */
		public void setSkekkaRsnCd(String cd, int i){
			skekkaRsnCd[i] = cd;
		}
		
		/** 
		 * 審査対象サービス契約マップを取得します
		 * @return 審査対象サービス契約マップ
		 */
		public JBSbatCommonDBInterface getTrgetSvcKei() {
			return trgetSvcKei;
		}
		
		/** 
		 * 審査対象サービス契約マップを設定します
		 * @param trgetSvcKei 審査対象サービス契約マップ
		 */
		public void setTrgetSvcKei(JBSbatCommonDBInterface trgetSvcKei) {
			this.trgetSvcKei = trgetSvcKei;
		}
	}
	
	/**
	 * エラーメッセージに関する項目値を格納されたHashMap<String, String>を生成します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.エラーメッセージに関する項目値を格納されたHashMapを生成する。<br>
	 *
	 * 2.エラーメッセージに関する項目値を格納されたHashMapに値を設定する。<br>
	 * </pre>
	 * <p>
	 * @return itemvalueMap エラーメッセージに関する項目値を格納されたHashMap
	 */
	private HashMap<String, String> getItemvalueMap() {

		// エラーメッセージに関する項目値が格納されたHashMapを設定
		HashMap<String, String> itemvalueMap = new HashMap<String, String>();

		itemvalueMap.put("TXT-KKIFE149-.toiawase_no", "はぴｅポイント引当審査依頼.お問い合わせ番号");
		itemvalueMap.put("TXT-KKIFE149-.hapie_no", "はぴｅポイント引当審査依頼.はぴｅ番号");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_mskm_day", "はぴｅポイント引当審査依頼.キャッシュバック申込日");
		itemvalueMap.put("TXT-KKIFE149-.trgt_svc_cd", "はぴｅポイント引当審査依頼.対象サービスコード");
		itemvalueMap.put("TXT-KKIFE149-.eoid", "はぴｅポイント引当審査依頼.ｅｏＩＤ");
		itemvalueMap.put("TXT-KKIFE149-.shinsei_point", "はぴｅポイント引当審査依頼.申請ポイント");
		itemvalueMap.put("TXT-KKIFE149-.kyoka_flg", "はぴｅポイント引当審査依頼.許可フラグ");
		itemvalueMap.put("TXT-KKIFE149-.skekka_cd", "はぴｅポイント引当審査依頼.審査結果コード");
		itemvalueMap.put("TXT-KKIFE149-.skekka_rsn_cd", "はぴｅポイント引当審査依頼.審査理由コード");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_1", "はぴｅポイント引当審査依頼.お客さまＩＤ１");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_2", "はぴｅポイント引当審査依頼.お客さまＩＤ２");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_3", "はぴｅポイント引当審査依頼.お客さまＩＤ３");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_4", "はぴｅポイント引当審査依頼.お客さまＩＤ４");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_1_mskm_day", "はぴｅポイント引当審査依頼.お客さまＩＤ１−申込日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_1_open_day", "はぴｅポイント引当審査依頼.お客さまＩＤ１−開通日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_2_mskm_day", "はぴｅポイント引当審査依頼.お客さまＩＤ２−申込日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_2_open_day", "はぴｅポイント引当審査依頼.お客さまＩＤ２−開通日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_3_mskm_day", "はぴｅポイント引当審査依頼.お客さまＩＤ３−申込日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_3_open_day", "はぴｅポイント引当審査依頼.お客さまＩＤ３−開通日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_4_mskm_day", "はぴｅポイント引当審査依頼.お客さまＩＤ４−申込日");
		itemvalueMap.put("TXT-KKIFE149-.cust_id_4_open_day", "はぴｅポイント引当審査依頼.お客さまＩＤ４−開通日");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_tg_amnt_1", "はぴｅポイント引当審査依頼.キャッシュバック対象金額１");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_tg_amnt_2", "はぴｅポイント引当審査依頼.キャッシュバック対象金額２");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_tg_amnt_3", "はぴｅポイント引当審査依頼.キャッシュバック対象金額３");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_tg_amnt_4", "はぴｅポイント引当審査依頼.キャッシュバック対象金額４");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_tg_amnt_gokei", "はぴｅポイント引当審査依頼.キャッシュバック対象金額合計");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_hriwake_point_1", "はぴｅポイント引当審査依頼.キャッシュバック振分ポイント１");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_hriwake_point_2", "はぴｅポイント引当審査依頼.キャッシュバック振分ポイント２");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_hriwake_point_3", "はぴｅポイント引当審査依頼.キャッシュバック振分ポイント３");
		itemvalueMap.put("TXT-KKIFE149-.cashbk_hriwake_point_4", "はぴｅポイント引当審査依頼.キャッシュバック振分ポイント４");
		itemvalueMap.put("TXT-KKIFE149-.yobi", "はぴｅポイント引当審査依頼.予備");

		return itemvalueMap;
	}

	/**
	 * 空白文字(ｎ文字)であればtrueを返す
	 * @param str
	 * @return
	 */
	private boolean isSpace(String str) {
		if (str == null) {
			return true;
		}
		if (str.trim().length() == 0) {
			return true;
		}
		return false;
	}

}
