/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKMansRsvIfCheckRykn
*	ソースファイル名	：JBSbatKKMansRsvIfCheckRykn.java
*	作成者				：富士通　
*	作成日				：2012年05月23日
*＜機能概要＞
*　マンション受信情報チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/05/23   富士通		新規作成
*	v20.00.00	2015/09/17   FJ)熊谷	IT1-2015-0000097 桁数チェックを14桁から12桁に修正
*	v73.00.00	2024/09/24   FJ)丸田	【ANK-4493-00-00】【eo定期】 光配線マンションのコースアップ対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatKKIFM201;
import eo.business.util.table.JBSbatKK_T_KAISEN_USE_KEI;
import eo.business.util.table.JBSbatKK_T_TK_HOSHIKI_KEI;
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 JBSbatKKMansRsvIfCheckRykn extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(回線使用契約)*/
	private static final String D_TBL_NAME_KK_T_KAISEN_USE_KEI = "KK_T_KAISEN_USE_KEI";

	/** テーブル(提供方式契約)*/
	private static final String D_TBL_NAME_KK_T_TK_HOSHIKI_KEI = "KK_T_TK_HOSHIKI_KEI";

	/** テーブル(提供方式契約料金)*/
	private static final String D_TBL_NAME_KK_T_TK_HSK_KEI_PRC = "KK_T_TK_HSK_KEI_PRC";

	/** テーブル(コード名称管理)*/
	private static final String D_TBL_NAME_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_KAISEN_USE_KEI_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_KAISEN_USE_KEI_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_TK_HSK_KEI_PRC_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_TK_HSK_KEI_PRC_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String ZM_M_CD_NM_KANRI_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_016 = "KK_SELECT_016";

	/** SQL定義キー(KK_SELECT_026)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_026 = "KK_SELECT_026";

	/** SQL定義キー(KK_SELECT_017)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_017 = "KK_SELECT_017";

	/** SQL定義キー(KK_SELECT_019)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_019 = "KK_SELECT_019";

	/** テーブルアクセスクラス(回線使用契約)*/
	private JBSbatSQLAccess db_KK_T_KAISEN_USE_KEI = null;

	/** テーブルアクセスクラス(提供方式契約)*/
	private JBSbatSQLAccess db_KK_T_TK_HOSHIKI_KEI = null;

	/** テーブルアクセスクラス(提供方式契約料金)*/
	private JBSbatSQLAccess db_KK_T_TK_HSK_KEI_PRC = null;

	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	/** 審査照査済フラグ */
	private String SSflg  = "";
	/** 更新データマップ(月額) */
	private HashMap<String, JBSbatServiceInterfaceMap> updMap =
		new HashMap<String, JBSbatServiceInterfaceMap>();
	/** 更新データマップ(初期費用) */
	private HashMap<String, JBSbatServiceInterfaceMap> updMapFst =
		new HashMap<String, JBSbatServiceInterfaceMap>();
	/** 月額データフラグ */
	private boolean mthtFlg = false;
	/** TVデータフラグ */
	private boolean tvFlg = false;
	/** 回線使用契約番号 */
	private String ksnUsekNo  = "";
	/** 提供方式契約番号 */
	private String tkhskNo  = "";
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_KAISEN_USE_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAISEN_USE_KEI);
		db_KK_T_TK_HOSHIKI_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TK_HOSHIKI_KEI);
		db_KK_T_TK_HSK_KEI_PRC = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TK_HSK_KEI_PRC);
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_CD_NM_KANRI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		mthtFlg = judgeMonth(inMap);
		// 単項目チェック(レイアウトチェック)
		if(!isSingleCheckKKIFM201_INF1(inMap, getItemvalueMap()))
		{
			outputBean.addOutMapList_2(setRcvInfo(inMap));
			return outputBean;
		}
		//相関チェック
		if(!checkCorrelation(inMap))
		{
			outputBean.addOutMapList_2(setRcvInfo(inMap));
			return outputBean;
		}
		//存在チェック
		if(!checkExist(inMap))
		{
			outputBean.addOutMapList_2(setRcvInfo(inMap));
			return outputBean;
		}
		setUpdList(inMap);		//チェック済み更新データリスト
		outputBean.addOutMapList(setRcvInfo(inMap));
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_KAISEN_USE_KEI.close();
		db_KK_T_TK_HOSHIKI_KEI.close();
		db_KK_T_TK_HSK_KEI_PRC.close();
		db_ZM_M_CD_NM_KANRI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（マンション料金情報作成）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM201-INF1.TRAN_DIV			マンション料金情報作成.処理区分
	 *			 TXT-KKIFM201-INF1.TRAN_DIV			マンション料金情報作成.処理区分
	 *			 TXT-KKIFM201-INF1.TRAN_DIV			マンション料金情報作成.処理区分
	 *			 TXT-KKIFM201-INF1.P-ID			マンション料金情報作成.Ｐ−ＩＤ
	 *			 TXT-KKIFM201-INF1.P-ID			マンション料金情報作成.Ｐ−ＩＤ
	 *			 TXT-KKIFM201-INF1.P-ID			マンション料金情報作成.Ｐ−ＩＤ
	 *			 TXT-KKIFM201-INF1.M-ID			マンション料金情報作成.Ｍ−ＩＤ
	 *			 TXT-KKIFM201-INF1.M-ID			マンション料金情報作成.Ｍ−ＩＤ
	 *			 TXT-KKIFM201-INF1.M-ID			マンション料金情報作成.Ｍ−ＩＤ
	 *			 TXT-KKIFM201-INF1.PAIR_ID			マンション料金情報作成.ペアＩＤ
	 *			 TXT-KKIFM201-INF1.PAIR_ID			マンション料金情報作成.ペアＩＤ
	 *			 TXT-KKIFM201-INF1.PAIR_ID			マンション料金情報作成.ペアＩＤ
	 *			 TXT-KKIFM201-INF1.TK_HSK_CD			マンション料金情報作成.提供方式コード
	 *			 TXT-KKIFM201-INF1.TK_HSK_CD			マンション料金情報作成.提供方式コード
	 *			 TXT-KKIFM201-INF1.TK_HSK_CD			マンション料金情報作成.提供方式コード
	 *			 TXT-KKIFM201-INF1.TSTA_DAY_INIT_COST			マンション料金情報作成.適用開始日（初期費用）
	 *			 TXT-KKIFM201-INF1.TSTA_DAY_INIT_COST			マンション料金情報作成.適用開始日（初期費用）
	 *			 TXT-KKIFM201-INF1.TEND_DAY_INIT_COST			マンション料金情報作成.適用終了日（初期費用）
	 *			 TXT-KKIFM201-INF1.TEND_DAY_INIT_COST			マンション料金情報作成.適用終了日（初期費用）
	 *			 TXT-KKIFM201-INF1.TSTA_DAY_MON_AMNT			マンション料金情報作成.適用開始日（月額）
	 *			 TXT-KKIFM201-INF1.TSTA_DAY_MON_AMNT			マンション料金情報作成.適用開始日（月額）
	 *			 TXT-KKIFM201-INF1.TEND_DAY_MON_AMNT			マンション料金情報作成.適用終了日（月額）
	 *			 TXT-KKIFM201-INF1.TEND_DAY_MON_AMNT			マンション料金情報作成.適用終了日（月額）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT			マンション料金情報作成.標準料金コード（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT			マンション料金情報作成.標準料金コード（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT			マンション料金情報作成.標準料金コード（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS			マンション料金情報作成.標準料金コード（買取）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS			マンション料金情報作成.標準料金コード（買取）
	 *			 TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS			マンション料金情報作成.標準料金コード（買取）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_RENT			マンション料金情報作成.標準初期費用（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_RENT			マンション料金情報作成.標準初期費用（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_RENT			マンション料金情報作成.標準初期費用（レンタル）
	 *			 TXT-KKIFM201-INF1.JMTE_RENT			マンション料金情報作成.事務手数料（レンタル）
	 *			 TXT-KKIFM201-INF1.JMTE_RENT			マンション料金情報作成.事務手数料（レンタル）
	 *			 TXT-KKIFM201-INF1.JMTE_RENT			マンション料金情報作成.事務手数料（レンタル）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT			マンション料金情報作成.通信設定費（レンタル）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT			マンション料金情報作成.通信設定費（レンタル）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT			マンション料金情報作成.通信設定費（レンタル）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_RENT			マンション料金情報作成.機器代金（レンタル）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_RENT			マンション料金情報作成.機器代金（レンタル）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_RENT			マンション料金情報作成.機器代金（レンタル）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS			マンション料金情報作成.標準初期費用（買取）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS			マンション料金情報作成.標準初期費用（買取）
	 *			 TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS			マンション料金情報作成.標準初期費用（買取）
	 *			 TXT-KKIFM201-INF1.JMTE_PRCHS			マンション料金情報作成.事務手数料（買取）
	 *			 TXT-KKIFM201-INF1.JMTE_PRCHS			マンション料金情報作成.事務手数料（買取）
	 *			 TXT-KKIFM201-INF1.JMTE_PRCHS			マンション料金情報作成.事務手数料（買取）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS			マンション料金情報作成.通信設定費（買取）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS			マンション料金情報作成.通信設定費（買取）
	 *			 TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS			マンション料金情報作成.通信設定費（買取）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_PRCHS			マンション料金情報作成.機器代金（買取）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_PRCHS			マンション料金情報作成.機器代金（買取）
	 *			 TXT-KKIFM201-INF1.KIKI_DKN_PRCHS			マンション料金情報作成.機器代金（買取）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_RENT			マンション料金情報作成.割引額（レンタル）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_RENT			マンション料金情報作成.割引額（レンタル）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_PRCHS			マンション料金情報作成.月額料金（買取）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_PRCHS			マンション料金情報作成.月額料金（買取）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_PRCHS			マンション料金情報作成.割引額（買取）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_PRCHS			マンション料金情報作成.割引額（買取）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_1G			マンション料金情報作成.月額料金（１Ｇ）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_1G			マンション料金情報作成.月額料金（１Ｇ）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_100M_R			マンション料金情報作成.月額料金（１００Ｍライト）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_100M_R			マンション料金情報作成.月額料金（１００Ｍライト）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_1G			マンション料金情報作成.割引額（１Ｇ）
	 *			 TXT-KKIFM201-INF1.WRIB_AMNT_1G			マンション料金情報作成.割引額（１Ｇ）
	 *			 TXT-KKIFM201-INF1.OYA_GTGK_PRC			マンション料金情報作成.親月額料金
	 *			 TXT-KKIFM201-INF1.OYA_GTGK_PRC			マンション料金情報作成.親月額料金
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_10G			マンション料金情報作成.月額料金（１０Ｇ）
	 *			 TXT-KKIFM201-INF1.GTGK_PRC_10G			マンション料金情報作成.月額料金（１０Ｇ）
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKKIFM201_INF1(JBSbatServiceInterfaceMap inMap, HashMap itemvalueMap) throws Exception
	{
		// 単項目チェックを行います
		String strValue = null;
		String row = String.valueOf(commonItem.getInputCount());	//行数取得
		String pid = (String)inMap.get("P_ID");	//PID
		boolean rslt = true;
		HashMap<Object, Object> rsMap = inMap.getMap();

		//ＴＶ親データ判定
		tvFlg = judgeTvOyaDate(inMap);

		if(!tvFlg && "2".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			//更新の場合、提供方式から『照査審査済フラグ』取得
			SSflg = getShinsaShosaFlg(inMap);
			//フラグにより、必須チェック実施
			if("2".equals(SSflg) || "3".equals(SSflg))
			{
				strValue = (String)rsMap.get("ANKEN_KNRI_NO");
				// 必須チェック
				if(null == strValue|| "".equals(strValue))
				{
					commonItem.getLogPrint().printDebugLog("審査済み必須項目：案件管理番号なし P-ID:" + pid);
					outErrLog(1, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.ANKEN_KNRI_NO"));
					return false;
				}
			}
		}

		// 処理区分項目チェック
		strValue = (String)rsMap.get("TRAN_DIV");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			outErrLog(1, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TRAN_DIV"));
  			rslt = false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TRAN_DIV"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TRAN_DIV"));
  			rslt = false;
		}

		// Ｐ−ＩＤ項目チェック
		strValue = (String)rsMap.get("P_ID");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			outErrLog(1, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.P_ID"));
  			rslt = false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.P_ID"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.P_ID"));
  			rslt = false;
		}

		//案件管理番号
		strValue = (String)rsMap.get("ANKEN_KNRI_NO");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.ANKEN_KNRI_NO"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.ANKEN_KNRI_NO"));
  			rslt = false;
		}

		// Ｍ−ＩＤ項目チェック
		strValue = (String)rsMap.get("M_ID");
		// 必須チェック
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.M_ID"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.M_ID"));
  			rslt = false;
		}

		// ペアＩＤ項目チェック
		strValue = (String)rsMap.get("PAIR_ID");
		// 必須チェック
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.PAIR_ID"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.PAIR_ID"));
  			rslt = false;
		}

		//ＣＡＴ−ＩＤ
		strValue = (String)rsMap.get("CAT_ID");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.CAT_ID"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.CAT_ID"));
  			rslt = false;
		}

		// 提供方式コード項目チェック
		strValue = (String)rsMap.get("TK_HSK_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			outErrLog(1, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TK_HSK_CD"));
  			rslt = false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TK_HSK_CD"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TK_HSK_CD"));
  			rslt = false;
		}

		// 適用開始日（初期費用）項目チェック
		strValue = (String)rsMap.get("TSTA_DAY_INIT_COST");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TSTA_DAY_INIT_COST"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TSTA_DAY_INIT_COST"));
  			rslt = false;
		}

		// 適用終了日（初期費用）項目チェック
		strValue = (String)rsMap.get("TEND_DAY_INIT_COST");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TEND_DAY_INIT_COST"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TEND_DAY_INIT_COST"));
  			rslt = false;
		}

		// 適用開始日（月額）項目チェック
		strValue = (String)rsMap.get("TSTA_DAY_MON_AMNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TSTA_DAY_MON_AMNT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TSTA_DAY_MON_AMNT"));
  			rslt = false;
		}

		// 適用終了日（月額）項目チェック
		strValue = (String)rsMap.get("TEND_DAY_MON_AMNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TEND_DAY_MON_AMNT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TEND_DAY_MON_AMNT"));
  			rslt = false;
		}

		// 標準料金コード（レンタル）項目チェック
		strValue = (String)rsMap.get("STDARD_PRC_CD_RENT");
		// 必須チェック
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT"));
  			rslt = false;
		}

		// 標準料金コード（買取）項目チェック
		strValue = (String)rsMap.get("STDARD_PRC_CD_PRCHS");
		// 必須チェック
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS"));
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", 
					new String[]{(String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS")});
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS"));
  			rslt = false;
		}

		// 標準初期費用（レンタル）項目チェック
		strValue = (String)rsMap.get("STDARD_SHKH_RENT");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_SHKH_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_SHKH_RENT"));
  			rslt = false;
		}

		// 事務手数料（レンタル）項目チェック
		strValue = (String)rsMap.get("JMTE_RENT");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.JMTE_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.JMTE_RENT"));
  			rslt = false;
		}

		// 通信設定費（レンタル）項目チェック
		strValue = (String)rsMap.get("TUSHIN_SETE_HI_RENT");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT"));
  			rslt = false;
		}

		// 機器代金（レンタル）項目チェック
		strValue = (String)rsMap.get("KIKI_DKN_RENT");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.KIKI_DKN_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.KIKI_DKN_RENT"));
  			rslt = false;
		}

		// 標準初期費用（買取）項目チェック
		strValue = (String)rsMap.get("STDARD_SHKH_PRCHS");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS"));
  			rslt = false;
		}

		// 事務手数料（買取）項目チェック
		strValue = (String)rsMap.get("JMTE_PRCHS");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.JMTE_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.JMTE_PRCHS"));
  			rslt = false;
		}

		// 通信設定費（買取）項目チェック
		strValue = (String)rsMap.get("TUSHIN_SETE_HI_PRCHS");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS"));
  			rslt = false;
		}

		// 機器代金（買取）項目チェック
		strValue = (String)rsMap.get("KIKI_DKN_PRCHS");
		// 必須チェック
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.KIKI_DKN_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.KIKI_DKN_PRCHS"));
  			rslt = false;
		}

		// 割引額（レンタル）項目チェック
		strValue = (String)rsMap.get("WRIB_AMNT_RENT");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_RENT"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_RENT"));
  			rslt = false;
		}

		// 月額料金（買取）項目チェック
		strValue = (String)rsMap.get("GTGK_PRC_PRCHS");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_PRCHS"));
  			rslt = false;
		}

		// 割引額（買取）項目チェック
		strValue = (String)rsMap.get("WRIB_AMNT_PRCHS");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_PRCHS"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_PRCHS"));
  			rslt = false;
		}

		// 月額料金（１Ｇ）項目チェック
		strValue = (String)rsMap.get("GTGK_PRC_1G");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_1G"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_1G"));
  			rslt = false;
		}

		// 月額料金（１００Ｍライト）項目チェック
		strValue = (String)rsMap.get("GTGK_PRC_100M_R");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_100M_R"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_100M_R"));
  			rslt = false;
		}

		// 割引額（１Ｇ）項目チェック
		strValue = (String)rsMap.get("WRIB_AMNT_1G");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_1G"));
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_1G")});
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.WRIB_AMNT_1G"));
  			rslt = false;
		}

		// 親月額料金項目チェック
		strValue = (String)rsMap.get("OYA_GTGK_PRC");
		// 桁数チェック
		//IT1-2015-0000097 20150917 mod start
		//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "14"}))
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		//IT1-2015-0000097 20150917 mod end
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.OYA_GTGK_PRC"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.OYA_GTGK_PRC"));
  			rslt = false;
		}

		// ANK-4493-00-00 ADD START
		// 月額料金（１０Ｇ）項目チェック
		strValue = (String)rsMap.get("GTGK_PRC_10G");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			outErrLog(2, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_10G"));
  			rslt = false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			outErrLog(3, row, pid + " " + (String)itemvalueMap.get("TXT-KKIFM201-INF1.GTGK_PRC_10G"));
  			rslt = false;
		}
		// ANK-4493-00-00 ADD END
		return rslt;
	}

	/**
	 * エラーメッセージに関する項目値を格納された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-KKIFM201-INF1.TRAN_DIV", "処理区分");
		itemvalueMap.put("TXT-KKIFM201-INF1.P_ID", "Ｐ−ＩＤ");
		itemvalueMap.put("TXT-KKIFM201-INF1.ANKEN_KNRI_NO", "案件管理番号");
		itemvalueMap.put("TXT-KKIFM201-INF1.M-ID", "Ｍ−ＩＤ");
		itemvalueMap.put("TXT-KKIFM201-INF1.PAIR_ID", "ペアＩＤ");
		itemvalueMap.put("TXT-KKIFM201-INF1.TK_HSK_CD", "提供方式コード");
		itemvalueMap.put("TXT-KKIFM201-INF1.CAT_ID", "ＣＡＴ−ＩＤ");
		itemvalueMap.put("TXT-KKIFM201-INF1.TSTA_DAY_INIT_COST", "適用開始日（初期費用）");
		itemvalueMap.put("TXT-KKIFM201-INF1.TEND_DAY_INIT_COST", "適用終了日（初期費用）");
		itemvalueMap.put("TXT-KKIFM201-INF1.TSTA_DAY_MON_AMNT", "適用開始日（月額）");
		itemvalueMap.put("TXT-KKIFM201-INF1.TEND_DAY_MON_AMNT", "適用終了日（月額） ");

		itemvalueMap.put("TXT-KKIFM201-INF1.STDARD_PRC_CD_RENT", "標準料金コード（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.STDARD_PRC_CD_PRCHS", "標準料金コード（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.STDARD_SHKH_RENT", "標準初期費用（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.JMTE_RENT", "事務手数料（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_RENT", "通信設定費（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.KIKI_DKN_RENT", "機器代金（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.STDARD_SHKH_PRCHS", "標準初期費用（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.JMTE_PRCHS", "事務手数料（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.TUSHIN_SETE_HI_PRCHS", "通信設定費（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.KIKI_DKN_PRCHS", "機器代金（買取）");

		itemvalueMap.put("TXT-KKIFM201-INF1.WRIB_AMNT_RENT", "割引額（レンタル）");
		itemvalueMap.put("TXT-KKIFM201-INF1.GTGK_PRC_PRCHS", "月額料金（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.WRIB_AMNT_PRCHS", "割引額（買取）");
		itemvalueMap.put("TXT-KKIFM201-INF1.GTGK_PRC_1G", "月額料金（１Ｇ）");
		itemvalueMap.put("TXT-KKIFM201-INF1.GTGK_PRC_100M_R", "月額料金（１００Ｍライト）");
		itemvalueMap.put("TXT-KKIFM201-INF1.WRIB_AMNT_1G", "割引額（１Ｇ）");
		itemvalueMap.put("TXT-KKIFM201-INF1.OYA_GTGK_PRC", "親月額料金");
		// ANK-4493-00-00 ADD START
		itemvalueMap.put("TXT-KKIFM201-INF1.GTGK_PRC_10G", "月額料金（１０Ｇ）");
		// ANK-4493-00-00 ADD END

		return itemvalueMap;
	}
	
	/**
	 * SQLKEY(KK_SELECT_008)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	M-ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KAISEN_USE_KEI_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KAISEN_USE_KEI.selectBySqlDefine(paramList, KK_T_KAISEN_USE_KEI_KK_SELECT_005);
	}
	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	CAT-ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KAISEN_USE_KEI_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KAISEN_USE_KEI.selectBySqlDefine(paramList, KK_T_KAISEN_USE_KEI_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	CAT-ID
	 *		 	提供方式パターンコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_003);
	}
	/**
	 * SQLKEY(KK_SELECT_006)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	M-ID
	 *		 	提供方式コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_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_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	M-ID
	 *		 	提供方式コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_TK_HSK_KEI_PRC.selectBySqlDefine(paramList, KK_T_TK_HSK_KEI_PRC_KK_SELECT_001);
	}
	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	M-ID
	 *		 	提供方式コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_002(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_TK_HSK_KEI_PRC.selectBySqlDefine(paramList, KK_T_TK_HSK_KEI_PRC_KK_SELECT_002);
	}
	/**
	 * SQLKEY(KK_SELECT_016)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	Ｍ−ＩＤ(料金)
	 *		 	CAT-M管理番号(提供方式)
	 *		 	案件管理番号(提供方式)
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_016(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_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_016);
	}

	/**
	 * SQLKEY(KK_SELECT_017)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	Ｍ−ＩＤ(料金)
	 *		 	CAT-M管理番号(提供方式)
	 *		 	案件管理番号(提供方式)
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_017(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_017);
	}

	/**
	 * SQLKEY(KK_SELECT_019)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	CATID
	 *		 	加入契約支払方式コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_019(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_019);
	}
	/**
	 * SQLKEY(KK_SELECT_026)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	Ｍ−ＩＤ(料金)
	 *		 	CAT-M管理番号(提供方式)
	 *		 	案件管理番号(提供方式)
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_026(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_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_026);
	}
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	コード種別コード
	 *		 	コード区分
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_CD_NM_KANRI_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_KK_SELECT_003);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	//処理区分の整合性チェック
	private boolean checkExist(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		ksnUsekNo  = "";
		tkhskNo  = "";
		
		if("1".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			if(!checkUpdData(inMap))
			{
				return existError(inMap, "提供方式契約料金");
			}
		}
		else if("2".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV))||
				"3".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			if(!checkKisnUseKeiCnt(inMap))
			{
				return notFoundError(inMap, "回線使用契約");
			}
			if(!checkTkyHskKeiCnt(inMap))
			{
				return notFoundError(inMap, "提供方式契約");
			}
			if(!checkTkyHskKeiRyknCnt(inMap))
			{
				return notFoundError(inMap, "提供方式契約料金");
			}
		}
		if("3".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			//サービス契約データがあれば削除不可
			if(checkTkyHskKeiDltPrc(inMap))
			{
				return existError(inMap, "サービス契約");
			}
		}
		return true;
	}

	//回線使用契約件数検索
	private boolean checkKisnUseKeiCnt(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		if(tvFlg)
		{
			executeKK_T_KAISEN_USE_KEI_KK_SELECT_006( 
					new String[]{inMap.getString(JBSbatKKIFM201.CAT_ID)});
		}else
		{
			executeKK_T_KAISEN_USE_KEI_KK_SELECT_005(
					new String[]{inMap.getString(JBSbatKKIFM201.M_ID)});
		}

		JBSbatCommonDBInterface dataMap = db_KK_T_KAISEN_USE_KEI.selectNext();
		if(null == dataMap)
		{
			return false;
		}
		ksnUsekNo = dataMap.getString(JBSbatKK_T_KAISEN_USE_KEI.KAISEN_USE_KEI_NO);
		return true;
	}

	//提供方式契約件数検索
	private boolean checkTkyHskKeiCnt(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String[] param = {ksnUsekNo,
				inMap.getString(JBSbatKKIFM201.TK_HSK_CD)};
		executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_003(param);

		JBSbatCommonDBInterface dataMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();
		if(null == dataMap)
		{
			return false;
		}
		tkhskNo = dataMap.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_KEI_NO);
		return true;
	}

	//提供方式契約料金件数検索
	private boolean checkTkyHskKeiRyknCnt(
			JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String strt = "";
		//適用開始日（月額）、適用終了日（月額）があれば月データ
		if(mthtFlg)
		{
			strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT);
		}else
		{
			strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_INIT_COST);
		}

		String[] param = {tkhskNo, strt};
		executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_001(param);

		JBSbatCommonDBInterface dataMap = db_KK_T_TK_HSK_KEI_PRC.selectNext();
		ArrayList<JBSbatCommonDBInterface> prcList = 
			new ArrayList<JBSbatCommonDBInterface>();

		while(null != dataMap)
		{
			prcList.add(dataMap);
			dataMap = db_KK_T_TK_HSK_KEI_PRC.selectNext();
		}

		if("1".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			if( 0 == prcList.size())	//登録時、0件以外はNG
			{
				return false;
			}
		}
		else if("2".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			if( 1 != prcList.size())	//更新時、1件以外はNG
			{
				return false;
			}
		}
		return true;
	}

	//提供方式契約件数検索(料金：削除前)
	private boolean checkTkyHskKeiDltPrc(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		JBSbatCommonDBInterface dataMap = null;
		if(tvFlg)
		{
			String[] param = {
					inMap.getString(JBSbatKKIFM201.CAT_ID),
					inMap.getString(JBSbatKKIFM201.TK_HSK_CD),
					opeDate
			};
			executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_026(param);
		}
		else
		{
			String[] param = {
					inMap.getString(JBSbatKKIFM201.M_ID),
					inMap.getString(JBSbatKKIFM201.TK_HSK_CD),
					opeDate
			};
			executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_016(param);
		}
		dataMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();

//		else
//		{
//			commonItem.getLogPrint().printDebugLog(
//					"checkTkyHskKeiDltPrc：M-IDがありません。P-ID:" +
//					inMap.getString(JBSbatKKIFM201.P_ID));
//			//なしの場合(基本ありえない)エラーとする
//			return true;
//		}

		if(null == dataMap|| 1 > Integer.parseInt(dataMap.getString("CNT")))
		{
			return false;
		}
		return true;
	}

	//相関チェック
	private boolean checkCorrelation(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String pid = inMap.getString(JBSbatKKIFM201.P_ID);
		if(!"".equals(inMap.getString(JBSbatKKIFM201.CAT_ID)) &&
				!"".equals(inMap.getString(JBSbatKKIFM201.M_ID)))
		{
			String mid = inMap.getString(JBSbatKKIFM201.M_ID);
			String catId = inMap.getString(JBSbatKKIFM201.CAT_ID);
			//送信されたコード値の値に誤りがあります。（key：%1%　コード名：%2% 値：%3%）
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0610NW",
					new String[]{"P-ID:" + pid, "M-ID・Cat-ID",
							"M-ID:" + mid + " Cat-ID:" + catId + " 両方あり"});
			return false;
		}
		if("".equals(inMap.getString(JBSbatKKIFM201.CAT_ID)) &&
				"".equals(inMap.getString(JBSbatKKIFM201.M_ID)))
		{
			//送信されたコード値の値に誤りがあります。（key：%1%　コード名：%2% 値：%3%）
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0610NW",
					new String[]{"P-ID:" + pid, "Cat-ID・M-ID", "両方なし"});
			return false;
		}
		//提供方式コード
		if(!checkCdNmKnrCnt("CD00590", inMap.getString(JBSbatKKIFM201.TK_HSK_CD),
				pid, "提供方式コード"))
		{
			return false;
		}
		
		//日付チェック
		if(!checkDateStrEnd(inMap))
		{
			return false;
		}
		
		//CATIDがある場合、TV情報取得 1029 保留
//		if(!checkTvInf(inMap))
//		{
//			return false;
//		}
		return true;
	}

	//日付開始・終了妥当性チェック
	private boolean checkDateStrEnd(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String key = inMap.getString(JBSbatKKIFM201.P_ID);
		String str = inMap.getString(JBSbatKKIFM201.TSTA_DAY_INIT_COST);
		String end = inMap.getString(JBSbatKKIFM201.TEND_DAY_INIT_COST);
		if(mthtFlg)		//月額データの場合
		{
			str = inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT);
			end = inMap.getString(JBSbatKKIFM201.TEND_DAY_MON_AMNT);
		}
		if("".equals(end))	//適用終了日がなければチェックしない
		{
			return true;
		}
		//妥当性チェック
		if(JBSbatDateUtil.checkDate(str, 8) && JBSbatDateUtil.checkDate(end, 8))
		{
			if(str.compareTo(end) > 0)//同日は?
			{
				//形式エラーです。(%1%)
				commonItem.getLogPrint().printBusinessErrorLog(
						"EKKB0730TE", new String[]{"P-ID:" + key + 
						" 終了日の方が過去。開始日:" + str + " 終了日:" +end});
				return false;
			}
		}else
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0730TE", 
					new String[]{"P-ID:" + key + " 開始日:" + str + " 終了日:" +end});
			return false;
		}
		return true;
	}

	//コード名称管理 件数検索
	private boolean checkCdNmKnrCnt(String cdSbt, String cdDiv,
			String key, String cdSbtNm) throws Exception
	{
		String[] param = {cdSbt, cdDiv};
		executeZM_M_CD_NM_KANRI_KK_SELECT_003(param);

		JBSbatCommonDBInterface dataMap = db_ZM_M_CD_NM_KANRI.selectNext();

		if(null == dataMap || 1 > Integer.parseInt(dataMap.getString("CNT")))
		{
			//送信されたコード値の値に誤りがあります。（key：%1%　コード名：%2% 値：%3%）
			commonItem.getLogPrint().printBusinessErrorLog(
					"EKKB0610NW", new String[]{"P-ID:" + key, cdSbtNm, cdDiv});
			return false;
		}
		return true;
	}

	//ファイル情報をセット
	private JBSbatServiceInterfaceMap setRcvInfo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		outMap.set(JBSbatKKIFM201.TRAN_DIV, inMap.getString(JBSbatKKIFM201.TRAN_DIV));
		outMap.set(JBSbatKKIFM201.P_ID, inMap.getString(JBSbatKKIFM201.P_ID));
		outMap.set(JBSbatKKIFM201.ANKEN_KNRI_NO, inMap.getString(JBSbatKKIFM201.ANKEN_KNRI_NO));
		outMap.set(JBSbatKKIFM201.M_ID, inMap.getString(JBSbatKKIFM201.M_ID));
		outMap.set(JBSbatKKIFM201.PAIR_ID, inMap.getString(JBSbatKKIFM201.PAIR_ID));
		outMap.set(JBSbatKKIFM201.TK_HSK_CD, inMap.getString(JBSbatKKIFM201.TK_HSK_CD));
		outMap.set(JBSbatKKIFM201.CAT_ID, inMap.getString(JBSbatKKIFM201.CAT_ID));
		outMap.set(JBSbatKKIFM201.TSTA_DAY_INIT_COST, inMap.getString(JBSbatKKIFM201.TSTA_DAY_INIT_COST));
		outMap.set(JBSbatKKIFM201.TEND_DAY_INIT_COST, inMap.getString(JBSbatKKIFM201.TEND_DAY_INIT_COST));
		outMap.set(JBSbatKKIFM201.TSTA_DAY_MON_AMNT, inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT));
		outMap.set(JBSbatKKIFM201.TEND_DAY_MON_AMNT, inMap.getString(JBSbatKKIFM201.TEND_DAY_MON_AMNT));

		outMap.set(JBSbatKKIFM201.STDARD_PRC_CD_RENT, inMap.getString(JBSbatKKIFM201.STDARD_PRC_CD_RENT));
		outMap.set(JBSbatKKIFM201.STDARD_PRC_CD_PRCHS, inMap.getString(JBSbatKKIFM201.STDARD_PRC_CD_PRCHS));
		outMap.set(JBSbatKKIFM201.STDARD_SHKH_RENT, inMap.getString(JBSbatKKIFM201.STDARD_SHKH_RENT));
		outMap.set(JBSbatKKIFM201.JMTE_RENT, inMap.getString(JBSbatKKIFM201.JMTE_RENT));
		outMap.set(JBSbatKKIFM201.TUSHIN_SETE_HI_RENT, inMap.getString(JBSbatKKIFM201.TUSHIN_SETE_HI_RENT));
		outMap.set(JBSbatKKIFM201.KIKI_DKN_RENT, inMap.getString(JBSbatKKIFM201.KIKI_DKN_RENT));
		outMap.set(JBSbatKKIFM201.STDARD_SHKH_PRCHS, inMap.getString(JBSbatKKIFM201.STDARD_SHKH_PRCHS));
		outMap.set(JBSbatKKIFM201.JMTE_PRCHS, inMap.getString(JBSbatKKIFM201.JMTE_PRCHS));
		outMap.set(JBSbatKKIFM201.TUSHIN_SETE_HI_PRCHS, inMap.getString(JBSbatKKIFM201.TUSHIN_SETE_HI_PRCHS));
		outMap.set(JBSbatKKIFM201.KIKI_DKN_PRCHS, inMap.getString(JBSbatKKIFM201.KIKI_DKN_PRCHS));

		outMap.set(JBSbatKKIFM201.WRIB_AMNT_RENT, inMap.getString(JBSbatKKIFM201.WRIB_AMNT_RENT));
		outMap.set(JBSbatKKIFM201.GTGK_PRC_PRCHS, inMap.getString(JBSbatKKIFM201.GTGK_PRC_PRCHS));
		outMap.set(JBSbatKKIFM201.WRIB_AMNT_PRCHS, inMap.getString(JBSbatKKIFM201.WRIB_AMNT_PRCHS));
		outMap.set(JBSbatKKIFM201.GTGK_PRC_1G, inMap.getString(JBSbatKKIFM201.GTGK_PRC_1G));
		outMap.set(JBSbatKKIFM201.GTGK_PRC_100M_R, inMap.getString(JBSbatKKIFM201.GTGK_PRC_100M_R));
		outMap.set(JBSbatKKIFM201.WRIB_AMNT_1G, inMap.getString(JBSbatKKIFM201.WRIB_AMNT_1G));
		outMap.set(JBSbatKKIFM201.OYA_GTGK_PRC, inMap.getString(JBSbatKKIFM201.OYA_GTGK_PRC));
		// ANK-4493-00-00 ADD START
		outMap.set(JBSbatKKIFM201.GTGK_PRC_10G, inMap.getString(JBSbatKKIFM201.GTGK_PRC_10G));
		// ANK-4493-00-00 ADD END

		outMap.setOutFlg(true);
		return outMap;
	}

	//審査照査済フラグ取得
	private String getShinsaShosaFlg(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String logPid = " P-ID:" + inMap.getString(JBSbatKKIFM201.P_ID);
		String[] param = {inMap.getString(JBSbatKKIFM201.M_ID), 
				inMap.getString(JBSbatKKIFM201.TK_HSK_CD)};

		executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_017(param);
		
		JBSbatCommonDBInterface dataMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();
 		if(null == dataMap)
		{
			commonItem.getLogPrint().printDebugLog("審査照査済フラグ:提供方式契約に存在しません。" + 
					"M-ID:" + param[0] + " 提供方式コード:" + param[1] + logPid);
			return "1";
		}else if(null == dataMap.getString(JBSbatKK_T_TK_HOSHIKI_KEI.JUDGE_ZUMI_FLG))
		{
			commonItem.getLogPrint().printDebugLog("提供方式契約、審査済フラグが空白です。" + 
					"M-ID:" + param[0] + " 提供方式コード:" + param[1] + logPid);
			return "1";
		}
		return convSSFlg(dataMap);
	}

	//審査済照査済フラグを変換
	private String convSSFlg(JBSbatCommonDBInterface dataMap) throws Exception
	{
		String rslt = "1";
		String shnsa = dataMap.getString(JBSbatKK_T_TK_HOSHIKI_KEI.JUDGE_ZUMI_FLG);
		String shosa = dataMap.getString(JBSbatKK_T_TK_HOSHIKI_KEI.SHOSA_ZUMI_FLG);

		if("0".equals(shnsa) && "0".equals(shosa))
		{
			rslt = "1";
		}
		else if("1".equals(shnsa) && "0".equals(shosa))
		{
			rslt = "2";
		}
		else if("1".equals(shnsa) && "1".equals(shosa))
		{
			rslt = "3";
		}
		return rslt;
	}

	//TV情報があるのに、M-IDがある場合、エラーとする
	private boolean checkTvInf(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		if(null != getTVInfByCatid(inMap))
		{
			if(!"".equals(inMap.getString(JBSbatKKIFM201.M_ID))) return false;
		}
		return true;
	}

	//CatidによりTVデータ取得 未登録(処理区分1)の場合取得不可
	private JBSbatCommonDBInterface getTVInfByCatid(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String mId = inMap.getString(JBSbatKKIFM201.M_ID);

		if(null == mId || "".equals(mId)) return null;

		executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_019(new String[]{mId, "005"});
		JBSbatCommonDBInterface dataMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();
		if(null == dataMap)
		{
			super.logPrint.printBusinessErrorLog(
					"提供・回線契約TVデータ該当なし。M-ID" + mId);
			return null;
		}
		inMap.set("TkHoshikiKeiNo", 
				dataMap.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_KEI_NO));
		inMap.set("KaisenUseKeiNo", 
				dataMap.getString(JBSbatKK_T_KAISEN_USE_KEI.KAISEN_USE_KEI_NO));
		return dataMap;
	}

	//リストに更新データをセット
	private void setUpdList(JBSbatServiceInterfaceMap inMap) throws Exception
	{
// OM-2013-0001936 add
		String key = inMap.getString(JBSbatKKIFM201.P_ID) + inMap.getString(JBSbatKKIFM201.M_ID) + inMap.getString(JBSbatKKIFM201.CAT_ID);
// OM-2013-0001936 add end
		if("2".equals(inMap.getString(JBSbatKKIFM201.TRAN_DIV)))
		{
			if(mthtFlg)
			{
// OM-2013-0001936 update
//				updMap.put(inMap.getString(JBSbatKKIFM201.P_ID), inMap);
				updMap.put(key, inMap);
			}
			else
			{
// OM-2013-0001936 update
//				updMapFst.put(inMap.getString(JBSbatKKIFM201.P_ID), inMap);
				updMapFst.put(key, inMap);
			}
		}
	}

	//更新・登録が同ファイルに存在する場合はファイル間の期間チェック
	private boolean checkUpdData(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String strt = "";
		JBSbatServiceInterfaceMap updInMap = null;
// OM-2013-0001936 add
		String key = inMap.getString(JBSbatKKIFM201.P_ID) + inMap.getString(JBSbatKKIFM201.M_ID) + inMap.getString(JBSbatKKIFM201.CAT_ID);
// OM-2013-0001936 add end

		//適用開始日（月額）、適用終了日（月額）があれば月データ
		if(mthtFlg)
		{
			strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT);
		}else
		{
			strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_INIT_COST);
		}

		//適用開始日（月額）、適用終了日（月額）があれば月データ
// OM-2013-0001936 update
//		if(mthtFlg && updMap.containsKey(inMap.getString(JBSbatKKIFM201.P_ID)))
		if(mthtFlg && updMap.containsKey(key))
		{
// OM-2013-0001936 update
//			updInMap = updMap.get(inMap.getString(JBSbatKKIFM201.P_ID));
			updInMap = updMap.get(key);
			//更新の終了日 > 新規の開始はエラー
			if(updInMap.getString(JBSbatKKIFM201.TEND_DAY_MON_AMNT).compareTo(strt) >= 0)
			{
				commonItem.getLogPrint().printDebugLog("upd_適用終了日(月額):" + 
						updInMap.getString(JBSbatKKIFM201.TEND_DAY_MON_AMNT) +
						" >= ins_適用開始日(月額):" + strt +
						" P-ID:" + inMap.getString(JBSbatKKIFM201.P_ID));
				return false;
			}
// OM-2013-0001936 update
//		}else if(updMapFst.containsKey(inMap.getString(JBSbatKKIFM201.P_ID)))
		}else if(!mthtFlg && updMapFst.containsKey(key))
		{
// OM-2013-0001936 update
//			updInMap = updMapFst.get(inMap.getString(JBSbatKKIFM201.P_ID));
			updInMap = updMapFst.get(key);
			//更新の終了日 > 新規の開始はエラー 左辺が大きいとマイナス
			if(updInMap.getString(JBSbatKKIFM201.TEND_DAY_INIT_COST).compareTo(strt) >= 0)
			{
				commonItem.getLogPrint().printDebugLog("upd_適用終了日(初期費用):" +
						updInMap.getString(JBSbatKKIFM201.TEND_DAY_INIT_COST) +
						" >= ins_適用開始日(初期費用):" + strt +
						" P-ID:" + inMap.getString(JBSbatKKIFM201.P_ID));
				return false;
			}
		}else
		{
			//登録のみの場合
			checkKisnUseKeiCnt(inMap);
			checkTkyHskKeiCnt(inMap);
			if(checkTkyHskKeiRyknCnt(inMap))
			{
				commonItem.getLogPrint().printDebugLog("既に存在しています");
				return false;
			}
		}
		return true;
	}

	//月額データ判定
	private boolean judgeMonth(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		if(!"".equals(cnvNullToEmp(inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT))) &&
				!"".equals(cnvNullToEmp(inMap.getString(JBSbatKKIFM201.TEND_DAY_MON_AMNT))))
		{
			return true;
		}
		return false;
	}

	/**
	 * Cat-IDの有無でTV親データの判定を行う
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	private boolean judgeTvOyaDate(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		if(!"".equals(cnvNullToEmp(inMap.getString(JBSbatKKIFM201.CAT_ID)))
				&& "".equals(cnvNullToEmp(inMap.getString(JBSbatKKIFM201.M_ID))))
		{
			return true;
		}
		return false;
	}
	/**
	 * 数値形式文字列充填処理<BR>
	 * 例）長さ　　　　　 7<BR>
	 * 　　プラス値　　 221　→　0000221<BR>
	 * 　　マイナス値　-221　→　-000221<BR>
	 * <BR>
	 * @param para 調整する文字列
	 * @param len 調整する長さ
	 * @return String 充填後の文字列。文字列がlenより長い場合はそのまま返却する。
	 */
	private String padNumFormString(String para, int len)
	{
		if(null == para)
		{
			return "";
		}
		//空白の場合
		if("".equals(para))
		{
			return "";
		}
		return JBSbatStringUtil.padNumFormString(para, len);
	}

	/**
	 * null → ""に変換するメソッド
	 * @param val 文字列
	 * @return 変換後文字列
	 */
	private String cnvNullToEmp(String val)
	{
		String rslt = val;
		if( null == val)
		{
			rslt = "";
		}
		return rslt;
	}

	//エラーログ出力
	private boolean existError(JBSbatServiceInterfaceMap inMap, String tblNm) throws Exception
	{
		//処理区分の値とDBの内容に不整合があります。（テーブル名：%1%　行数：%2%　key：%3%）
		commonItem.getLogPrint().printBusinessErrorLog("EKKB0570NW", 
				new String[]{tblNm, String.valueOf(commonItem.getInputCount()), 
				getKeyLog(inMap, tblNm) + " P-ID:" + inMap.getString(JBSbatKKIFM201.P_ID)});
		return false;
	}

	//エラーログ出力
	private boolean notFoundError(JBSbatServiceInterfaceMap inMap, String tblNm) throws Exception
	{
		//%1%テーブルに%2%が存在しません。（key：%3%）
		commonItem.getLogPrint().printBusinessErrorLog("EKKB0630NW", 
				new String[]{tblNm, getKeyLog(inMap, tblNm), 
				" P-ID:" + inMap.getString(JBSbatKKIFM201.P_ID)});
		return false;
	}

	//ログ出力用
	private String getKeyLog(JBSbatServiceInterfaceMap inMap, String tblNm) throws Exception
	{
		String key = "";
		if(tvFlg)
		{
			key = "Cat-ID:" + inMap.getString(JBSbatKKIFM201.CAT_ID);
		}else
		{
			key = "M-ID:" + inMap.getString(JBSbatKKIFM201.M_ID);
		}

		if(!"回線使用契約".equals(tblNm))
		{
			key = key + " 提供方式コード:" + inMap.getString(JBSbatKKIFM201.TK_HSK_CD);
		}
		if("サービス契約".equals(tblNm))
		{
			key = key + " 運用年月日:" + opeDate;
		}
		if("提供方式契約料金".equals(tblNm))
		{
			String strt = "";
			if(mthtFlg)
			{
				strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_MON_AMNT);
			}else
			{
				strt = inMap.getString(JBSbatKKIFM201.TSTA_DAY_INIT_COST);
			}
			key = key + " 適用開始日:" + strt + " 提供方式契約番号:" + tkhskNo +
			" 処理区分:" + inMap.getString(JBSbatKKIFM201.TRAN_DIV);
		}
		return key;
	}
	//エラーログ出力
	private void outErrLog(int mode, String row, String key)
	{
		String[] err = new String[]{row, "P-ID:" + key};
		if(1 == mode)//必須
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0580TW", err);
		}
		else if(2 == mode)//桁数
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0590TW", err);
		}else if(3 == mode)//属性
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0600TW", err);
		}
	}
}
