/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKBankTohaigoChsht
*	ソースファイル名	：JBSbatKKBankTohaigoChsht.java
*	作成者				：FJ)古田
*	作成日				：2011年09月30日
*＜機能概要＞
*　金融機関統廃合データ抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/30  FJ)古田		新規作成
*	v2.00.00	2012/01/12  FJ)倉上		IT2-2012-0000043対応
*	v2.01.00	2012/11/23	FJ)柳		【TAI-2012-0000095】対応
*	v4.00.00	2013/03/01	FJ)岡田		【IT1-2013-0000355】障害対応
*********************************************************************/
package eo.business.service;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatInterface;
import eo.business.util.file.JBSbatKKIFE056;
import eo.business.util.file.JBSbatKKIFM096;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatCheckUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKBankTohaigoChsht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/**
	 * 金融機関すべてが対象（金融機関支店コード999）
	 */
	private static final String BANK_CD_ALL = "999";
	
	/**
	 * 項目チェック正常
	 */
	private static final int DATA_OK = 0;
	
	/**
	 * 項目チェックエラー（必須、属性）
	 */
	private static final int DATA_KOMOKU_ERR = 1;
	
	/**
	 * レコード桁数エラー
	 */
	private static final int DATA_KETA_ERR = 2;
	
	/**
	 * パラメータファイル格納変数
	 */
	private Map<String, String> paramMap = null;
	
	/**
	 * 金融機関コード
	 */
	private String kinyukikanCd = "";
	
	/**
	 * 金融機関支店コード
	 */
	private String shitenCd = "";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
		/** ▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼ */
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/** ▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲ */

		super.logPrint.printDebugLog("initial_START");

		// パラメータ格納ファイルを作成します。
		paramMap = new HashMap<String, String>();

		// パラメータファイルを読み込み値を格納します。
		setParamDataMap();

		super.logPrint.printDebugLog("initial_END");
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		super.logPrint.printDebugLog("execute_START");
		
		if(paramMap.isEmpty())
		{

			super.logPrint.printDebugLog("パラメタファイルデータなし");
			return null;
		}

		// 出力共通電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();

		// 入力ファイル（マスタファイル：KKIFE056）の項目チェックを行います。
		int checkResult = getSingleCheck(inMap);
		
		// インプットのレコードが不正の場合、ワーニング出力し読み飛ばします。
		if(checkResult == DATA_KETA_ERR)
		{
			throw new JBSbatBusinessError();
		}

		// 金融機関コード
		kinyukikanCd = inMap.getString(JBSbatKKIFE056.BANK_CD);

		// 金融機関支店コード
		shitenCd = inMap.getString(JBSbatKKIFE056.BANK_SHITEN_CD);

		// 読み込んだファイルのデータがパラメータファイルに存在している場合ファイル出力を行います。
		if(paramMap.containsKey(kinyukikanCd) || paramMap.containsKey(kinyukikanCd + shitenCd))
		{
			// ファイル出力を行います。
			outputBean.addOutMapList(createKkifm096(inMap, checkResult));
		}
		else
		{
			// パラメータファイルに存在しない場合、出力しません。
			return null;
		}

		super.logPrint.printDebugLog("execute_END");

		return outputBean;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		super.logPrint.printDebugLog("terminal_START");

		
		super.logPrint.printDebugLog("terminal_END");

	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
//	/**
//	 *入力情報（金融機関データ）の単項目チェックを行います。<br>
//	 * <p>
//	 * <b>処理フロー</b><br>
//	 * <pre>
//	 * 1.単項目チェックを行います。<br>
//	 * 
//	 * 2.メソッドの呼び出し方です。<br>
//	 *		引数:
//	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
//	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
//	 *			 TXT-KKIFE056-INF1.DATA_SBT			金融機関データ.データ種別
//	 *			 TXT-KKIFE056-INF1.DATA_SBT			金融機関データ.データ種別
//	 *			 TXT-KKIFE056-INF1.BANK_CD			金融機関データ.金融機関コード
//	 *			 TXT-KKIFE056-INF1.BANK_CD			金融機関データ.金融機関コード
//	 *			 TXT-KKIFE056-INF1.BANK_SHITEN_CD			金融機関データ.店舗コード
//	 *			 TXT-KKIFE056-INF1.BANK_SHITEN_CD			金融機関データ.店舗コード
//	 *			 TXT-KKIFE056-INF1.HUKA_CD			金融機関データ.付加コード
//	 *			 TXT-KKIFE056-INF1.HUKA_CD			金融機関データ.付加コード
//	 *			 TXT-KKIFE056-INF1.BANK_KANA			金融機関データ.金融機関名カナ
//	 *			 TXT-KKIFE056-INF1.BANK_KANA			金融機関データ.金融機関名カナ
//	 *			 TXT-KKIFE056-INF1.BANK_SHITEN_KANA			金融機関データ.店舗名カナ
//	 *			 TXT-KKIFE056-INF1.BANK_SHITEN_KANA			金融機関データ.店舗名カナ
//	 *			 TXT-KKIFE056-INF1.PCD_OLD			金融機関データ.郵便番号（旧）
//	 *			 TXT-KKIFE056-INF1.BANK_SBT			金融機関データ.金融機関種別
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANA_STATE			金融機関データ.店舗所在地Ａカナー都道府県
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANA_CITY			金融機関データ.店舗所在地Ａカナー市郡区以降
//	 *			 TXT-KKIFE056-INF1.TEN_AD_B_KANA			金融機関データ.店舗所在地Ｂカナ
//	 *			 TXT-KKIFE056-INF1.TEN_AD_B_KANA_DIGITNO			金融機関データ.方書桁数
//	 *			 TXT-KKIFE056-INF1.KKD_GYSI_KUKAN_CD			金融機関データ.国土行政区画コード
//	 *			 TXT-KKIFE056-INF1.MST_CH			金融機関データ.マスターＣＨ
//	 *			 TXT-KKIFE056-INF1.JIS_AD_CD			金融機関データ.ＪＩＳ住所コード
//	 *			 TXT-KKIFE056-INF1.TELNO			金融機関データ.電話番号
//	 *			 TXT-KKIFE056-INF1.TGT_KOKAN			金融機関データ.手形交換所
//	 *			 TXT-KKIFE056-INF1.BANK_NM			金融機関データ.金融機関名漢字
//	 *			 TXT-KKIFE056-INF1.BANK_SHITEN_NM			金融機関データ.店舗名漢字
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_ALL			金融機関データ.店舗所在地Ａ漢字桁数（全桁数）
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_STATE			金融機関データ.店舗所在地Ａ漢字桁数（都道府県桁数）
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_CITY			金融機関データ.店舗所在地Ａ漢字桁数（市郡区桁数）
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_TOWN			金融機関データ.店舗所在地Ａ漢字桁数（町・村桁数）
//	 *			 TXT-KKIFE056-INF1.TEN_AD_B_KANJI_DIGITNO			金融機関データ.店舗所在地Ｂ漢字桁数
//	 *			 TXT-KKIFE056-INF1.TEN_AD_A_KANJI			金融機関データ.店舗名所在地Ａ漢字
//	 *			 TXT-KKIFE056-INF1.TEN_AD_B_KANJI			金融機関データ.店舗名所在地Ｂ漢字
//	 *			 TXT-KKIFE056-INF1.ALL_BANK_KAMEI_CH			金融機関データ.全銀加盟Ｃ／Ｈ
//	 *			 TXT-KKIFE056-INF1.DATA_SBT_HUKA_YMD_6			金融機関データ.データ種別付加年月日６
//	 *			 TXT-KKIFE056-INF1.DATA_SBT_HUKA_YMD_8			金融機関データ.データ種別付加年月日８
//	 *			 TXT-KKIFE056-INF1.PCD_NEW			金融機関データ.新郵便番号
//	 *			 TXT-KKIFE056-INF1.HONSHITEN_DIV			金融機関データ.本支店区分
//	 * </pre>
//	 * <p>
//	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
//	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
//	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
//	 */
//	private boolean isSingleCheckKKIFE056_INF1(HashMap rsMap, HashMap itemvalueMap)
//	{
//		// 単項目チェックを行います
//		String strValue = null;
//
//		// データ種別項目チェック
//		strValue = (String)rsMap.get("DATA_SBT");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.DATA_SBT") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.DATA_SBT") });
//			return false;
//		}
//
//		// 金融機関コード項目チェック
//		strValue = (String)rsMap.get("BANK_CD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_CD") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_CD") });
//			return false;
//		}
//
//		// 店舗コード項目チェック
//		strValue = (String)rsMap.get("BANK_SHITEN_CD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SHITEN_CD") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SHITEN_CD") });
//			return false;
//		}
//
//		// 付加コード項目チェック
//		strValue = (String)rsMap.get("HUKA_CD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.HUKA_CD") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.HUKA_CD") });
//			return false;
//		}
//
//		// 金融機関名カナ項目チェック
//		strValue = (String)rsMap.get("BANK_KANA");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_KANA") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_KANA") });
//			return false;
//		}
//
//		// 店舗名カナ項目チェック
//		strValue = (String)rsMap.get("BANK_SHITEN_KANA");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SHITEN_KANA") });
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SHITEN_KANA") });
//			return false;
//		}
//
//		// 郵便番号（旧）項目チェック
//		strValue = (String)rsMap.get("PCD_OLD");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji2" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.PCD_OLD") });
//			return false;
//		}
//
//		// 金融機関種別項目チェック
//		strValue = (String)rsMap.get("BANK_SBT");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SBT") });
//			return false;
//		}
//
//		// 店舗所在地Ａカナー都道府県項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANA_STATE");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANA_STATE") });
//			return false;
//		}
//
//		// 店舗所在地Ａカナー市郡区以降項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANA_CITY");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANA_CITY") });
//			return false;
//		}
//
//		// 店舗所在地Ｂカナ項目チェック
//		strValue = (String)rsMap.get("TEN_AD_B_KANA");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
//		{
//			commonItem.getLogPrint()
//					.printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_B_KANA") });
//			return false;
//		}
//
//		// 方書桁数項目チェック
//		strValue = (String)rsMap.get("TEN_AD_B_KANA_DIGITNO");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_B_KANA_DIGITNO") });
//			return false;
//		}
//
//		// 国土行政区画コード項目チェック
//		strValue = (String)rsMap.get("KKD_GYSI_KUKAN_CD");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.KKD_GYSI_KUKAN_CD") });
//			return false;
//		}
//
//		// マスターＣＨ項目チェック
//		strValue = (String)rsMap.get("MST_CH");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.MST_CH") });
//			return false;
//		}
//
//		// ＪＩＳ住所コード項目チェック
//		strValue = (String)rsMap.get("JIS_AD_CD");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.JIS_AD_CD") });
//			return false;
//		}
//
//		// 電話番号項目チェック
//		strValue = (String)rsMap.get("TELNO");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji2" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TELNO") });
//			return false;
//		}
//
//		// 手形交換所項目チェック
//		strValue = (String)rsMap.get("TGT_KOKAN");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TGT_KOKAN") });
//			return false;
//		}
//
//		// 金融機関名漢字項目チェック
//		strValue = (String)rsMap.get("BANK_NM");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_NM") });
//			return false;
//		}
//
//		// 店舗名漢字項目チェック
//		strValue = (String)rsMap.get("BANK_SHITEN_NM");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.BANK_SHITEN_NM") });
//			return false;
//		}
//
//		// 店舗所在地Ａ漢字桁数（全桁数）項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANJI_DIGITNO_ALL");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_ALL") });
//			return false;
//		}
//
//		// 店舗所在地Ａ漢字桁数（都道府県桁数）項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANJI_DIGITNO_STATE");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_STATE") });
//			return false;
//		}
//
//		// 店舗所在地Ａ漢字桁数（市郡区桁数）項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANJI_DIGITNO_CITY");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_CITY") });
//			return false;
//		}
//
//		// 店舗所在地Ａ漢字桁数（町・村桁数）項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANJI_DIGITNO_TOWN");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANJI_DIGITNO_TOWN") });
//			return false;
//		}
//
//		// 店舗所在地Ｂ漢字桁数項目チェック
//		strValue = (String)rsMap.get("TEN_AD_B_KANJI_DIGITNO");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_B_KANJI_DIGITNO") });
//			return false;
//		}
//
//		// 店舗名所在地Ａ漢字項目チェック
//		strValue = (String)rsMap.get("TEN_AD_A_KANJI");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_A_KANJI") });
//			return false;
//		}
//
//		// 店舗名所在地Ｂ漢字項目チェック
//		strValue = (String)rsMap.get("TEN_AD_B_KANJI");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.TEN_AD_B_KANJI") });
//			return false;
//		}
//
//		// 全銀加盟Ｃ／Ｈ項目チェック
//		strValue = (String)rsMap.get("ALL_BANK_KAMEI_CH");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.ALL_BANK_KAMEI_CH") });
//			return false;
//		}
//
//		// データ種別付加年月日６項目チェック
//		strValue = (String)rsMap.get("DATA_SBT_HUKA_YMD_6");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "year_month1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.DATA_SBT_HUKA_YMD_6") });
//			return false;
//		}
//
//		// データ種別付加年月日８項目チェック
//		strValue = (String)rsMap.get("DATA_SBT_HUKA_YMD_8");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "year_month_day1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE",
//					new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.DATA_SBT_HUKA_YMD_8") });
//			return false;
//		}
//
//		// 新郵便番号項目チェック
//		strValue = (String)rsMap.get("PCD_NEW");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.PCD_NEW") });
//			return false;
//		}
//
//		// 本支店区分項目チェック
//		strValue = (String)rsMap.get("HONSHITEN_DIV");
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
//		{
//			commonItem.getLogPrint()
//					.printBusinessErrorLog("EKKB0080TE", new String[] { (String)itemvalueMap.get("TXT-KKIFE056-INF1.HONSHITEN_DIV") });
//			return false;
//		}
//
//		return true;
//	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * パラメータファイルを読み込みMapに格納します。<br>
	 * <p>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setParamDataMap() throws Exception
	{

		// パラメータファイル名を取得します。
		String paramFile = super.commonItem.getFreeItem();

		// パラメータライルを読み込みます。（[0]：金融機関コード [1]：金融機関支店コード）
		ArrayList<ArrayList<String>> csvFileList = convCsvFiletoList(paramFile);

		if(csvFileList.size() == 0)
		{
			return;
		}

		// １行のデータを格納する変数
		ArrayList<String> lineData = null;

		// 金融機関コード
		String kinyuCdChk = "";

		// 金融機関支店コード
		String shitenCdChk = "";

		for (int i = 0; i < csvFileList.size(); i++)
		{
			lineData = csvFileList.get(i);

			if(lineData.size() != 2)
			{
				throw new JBSbatBusinessException("EKKB0130CE", new String[] { "パラメータ項目数設定" + (i + 1) + "行目" });
			}
			else
			{

				kinyuCdChk = lineData.get(0);
				shitenCdChk = lineData.get(1);

				if(!JBSbatCheckUtil.invoke(kinyuCdChk, new String[] { "hannkakuesuuji1" }))
				{
					super.commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { "金融機関コード " + (i + 1) + "行目" });
				}

				if(!JBSbatCheckUtil.invoke(shitenCdChk, new String[] { "hannkakuesuuji1" }))
				{
					super.commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[] { "金融機関支店コード " + (i + 1) + "行目" });
				}

				// 金融機関支店コードが999の場合、金融機関コードすべてが対象となるので金融機関コードを格納します。
				if(BANK_CD_ALL.equals(shitenCdChk))
				{
					paramMap.put(kinyuCdChk, "");
				}
				else
				{
					paramMap.put(kinyuCdChk + shitenCdChk, "");
				}
			}
		}
	}
	
	/**
	 * 引数で指定されたCSVファイル名からファイルの内容を一行ずつ読取り、カンマ区切りの文字を
	 * List格納する。格納した行データのArrayListをArrayList配列に順番に格納し返却する。
	 * 引数で指定されたファイルパスを取得し、返却する。
	 * @param commonItem バッチ共通パラメータ電文
	 * @param fileName ファイル名(パスを含む)
	 * @return ArrayList ファイル内データを格納したリスト
	 * @throws Exception 例外
	 */
	private ArrayList<ArrayList<String>> convCsvFiletoList(String fileName) throws Exception
	{

		ArrayList<ArrayList<String>> csvFileList = new ArrayList<ArrayList<String>>();

		// CSV指定ファイルパスチェック
		if(null == fileName || ("").equals(fileName))
		{
			throw new JBSbatBusinessException("EKKB0130CE", new String[] { "読込ファイルパス未設定" });
		}
		BufferedReader br = null;
		try
		{

			// CSV指定ファイル読込み
			br = new BufferedReader(new FileReader(new File(fileName)));
			ArrayList<String> workList = null;
			String lineData = "";

			while (br.ready())
			{
				// ワークリストを初期化
				workList = new ArrayList<String>();

				// CSVファイル一行読込み
				lineData = br.readLine();
				if(null != lineData && !("").equals(lineData))
				{

					// リストに格納された一行分のファイルデータを格納
					workList = convStringToList(lineData);
					csvFileList.add(workList);
				}
			}

		}
		catch (IOException e)
		{
			// 例外処理
			/* ++++++++++ v1.02.00 修正開始 ++++++++++ */
			//throw new JBSbatBusinessException("CS00002E");
			throw new JBSbatBusinessException("EKKB0020CE", new String[]{fileName});
			/* ++++++++++ v1.02.00 修正終了 ++++++++++ */
		} finally {
			if(br != null) {
				br.close();
			}
		}

		return csvFileList;
	}
	
	/**
	 * 引数で指定されたCSVファイルの一行データを項目ごとにArrayList格納する。
	 * @param commonItem バッチ共通パラメータ電文
	 * @param lineData 一行分のCSVデータ
	 * @return ArrayList 項目ごとにCSVデータを格納したList
	 * @throws Exception 例外
	 **/
	private ArrayList<String> convStringToList(String lineData) throws Exception
	{

		// 戻り値格納用List
		ArrayList<String> resultList = new ArrayList<String>();

		// CSV指定ファイル読込み
		// 文字列リスト変換エスケープ処理に囲み文字の"を指定して呼出す。
		resultList = convEscapeStringToList(lineData, '"');

		return resultList;

	}
	
	/**
	 * 引数で指定されたCSVファイルの一行データを項目ごとに分割し、
	 * 引数の囲い文字を除外した状態でList格納する。
	 * @param  line 一行分のCSVデータ
	 * @param  kakoiMoji 囲み文字
	 * @return ArrayList 項目ごとにCSVデータを格納したList
	 * @throws Exception 例外
	 */
	private ArrayList<String> convEscapeStringToList(String line, char kakoiMoji) throws Exception
	{

		// 戻り値格納用List
		ArrayList<String> resultList = new ArrayList<String>();

		StringTokenizer st = new StringTokenizer(line, ",");
		StringBuffer bf = new StringBuffer();
		int len = 0;

		while (st.hasMoreElements())
		{
			String s = st.nextToken();
			bf = new StringBuffer();
			bf.append(s);
			len = bf.length();

			// 先頭文字が囲み文字の場合除去
			if(bf.charAt(0) == (kakoiMoji))
			{
				bf.delete(0, 1);
				len = len - 1;
			}

			// 終端文字が囲み文字の場合除去
			if(bf.charAt(len - 1) == (kakoiMoji))
			{
				bf.delete(len - 1, len);
			}

			// 戻り値となるリストに1項目分のデータ格納
			resultList.add(bf.toString());
		}

		// 1行分のデータを格納したListを返却
		return resultList;
	}
	
	
	/**
	 *入力情報（金融機関データ）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * </pre>
	 * <p>
	 * @param inMap　入力電文
	 * @return 0：エラーなし 1：必須、属性エラーあり 2：レコード桁数エラー
	 * @throws Exception 例外
	 */
	private int getSingleCheck(JBSbatServiceInterfaceMap inMap) throws Exception
	{

		// パラメータの桁数チェック（桁数が違う場合項目がNullになる）
		if(inMap.get(JBSbatKKIFE056.DATA_SBT) == null)
		{
			logPrint.printBusinessErrorLog("EKKB0010CW", new String[] { "金融機関データ桁数異常" });

			return DATA_KETA_ERR;
		}

		// 単項目チェックを行います
		String strValue = null;

		// チェック結果
		int result = DATA_OK;

		String errMoji = "金融機関コード：" + inMap.getString(JBSbatKKIFE056.BANK_CD)
						+ " 店舗コード：" + inMap.getString(JBSbatKKIFE056.BANK_SHITEN_CD) + " ";

		// データ種別項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.DATA_SBT));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "データ種別" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "データ種別" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 金融機関コード項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_CD));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "金融機関コード" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "金融機関コード" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 店舗コード項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_SHITEN_CD));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "店舗コード" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗コード" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 付加コード項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.HUKA_CD));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "付加コード" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "付加コード" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 金融機関名カナ項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_KANA));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "金融機関名カナ" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "金融機関名カナ" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 店舗名カナ項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_SHITEN_KANA));
		// 必須チェック
		if("".equals(strValue))
		{
			super.logPrint.printBusinessErrorLog("EKKB0060TE", new String[] { errMoji + "店舗名カナ" });
			result = DATA_KOMOKU_ERR;
		}
		else
		{
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
			{
				super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗名カナ" });
				result = DATA_KOMOKU_ERR;
			}
		}

		// 郵便番号（旧）項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.PCD_OLD));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji2" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "郵便番号（旧）" });
			result = DATA_KOMOKU_ERR;
		}

		// 金融機関種別項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_SBT));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "金融機関種別" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａカナー都道府県項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANA_STATE));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａカナー都道府県" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａカナー市郡区以降項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANA_CITY));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａカナー市郡区以降" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ｂカナ項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANA));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuujikana1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ｂカナ" });
			result = DATA_KOMOKU_ERR;
		}

		// 方書桁数項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANA_DIGITNO));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "方書桁数" });
			result = DATA_KOMOKU_ERR;
		}

		// 国土行政区画コード項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.KKD_GYSI_KUKAN_CD));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "国土行政区画コード" });
			result = DATA_KOMOKU_ERR;
		}

		// マスターＣＨ項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.MST_CH));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "マスターＣＨ" });
			result = DATA_KOMOKU_ERR;
		}

		// ＪＩＳ住所コード項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.JIS_AD_CD));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "ＪＩＳ住所コード" });
			result = DATA_KOMOKU_ERR;
		}

		// 電話番号項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TELNO));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji2" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "電話番号" });
			result = DATA_KOMOKU_ERR;
		}

		// 手形交換所項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TGT_KOKAN));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "手形交換所" });
			result = DATA_KOMOKU_ERR;
		}

		// 金融機関名漢字項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_NM));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "金融機関名漢字" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗名漢字項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.BANK_SHITEN_NM));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗名漢字" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａ漢字桁数（全桁数）項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_ALL));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａ漢字桁数（全桁数）" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａ漢字桁数（都道府県桁数）項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_STATE));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａ漢字桁数（都道府県桁数）" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａ漢字桁数（市郡区桁数）項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_CITY));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａ漢字桁数（市郡区桁数）" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ａ漢字桁数（町・村桁数）項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_TOWN));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ａ漢字桁数（町・村桁数）" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗所在地Ｂ漢字桁数項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANJI_DIGITNO));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗所在地Ｂ漢字桁数" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗名所在地Ａ漢字項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗名所在地Ａ漢字" });
			result = DATA_KOMOKU_ERR;
		}

		// 店舗名所在地Ｂ漢字項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANJI));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "zenkaku" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "店舗名所在地Ｂ漢字" });
			result = DATA_KOMOKU_ERR;
		}

		// 全銀加盟Ｃ／Ｈ項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.ALL_BANK_KAMEI_CH));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "全銀加盟Ｃ／Ｈ" });
			result = DATA_KOMOKU_ERR;
		}

		// データ種別付加年月日６項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.DATA_SBT_HUKA_YMD_6));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakusuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "データ種別付加年月日６" });
			result = DATA_KOMOKU_ERR;
		}

		// データ種別付加年月日８項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.DATA_SBT_HUKA_YMD_8));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "year_month_day1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "データ種別付加年月日８" });
			result = DATA_KOMOKU_ERR;
		}

		// 新郵便番号項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.PCD_NEW));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji2" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "新郵便番号" });
			result = DATA_KOMOKU_ERR;
		}

		// 本支店区分項目チェック
		strValue = JBSbatInterface.trim((String)inMap.getString(JBSbatKKIFE056.HONSHITEN_DIV));
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[] { "hannkakuesuuji1" }))
		{
			super.logPrint.printBusinessErrorLog("EKKB0080TE", new String[] { errMoji + "本支店区分" });
			result = DATA_KOMOKU_ERR;
		}

		return result;
	}
	
	/**
	 * 
	 *  金融機関統廃合データ取込ファイルの作成を行います。
	 * @param inMap　入力電文
	 * @param warningFlg　0：エラーなし 1：必須、属性エラーあり 2：レコード桁数エラー
	 * @return outputBean JBSbatOutputItem
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap createKkifm096(JBSbatServiceInterfaceMap inMap, int warningFlg) throws Exception
	{
		// 入出力インターフェースオブジェクトを生成
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();

		outmap.setString(JBSbatKKIFM096.DATA_SBT, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.DATA_SBT)));
		outmap.setString(JBSbatKKIFM096.BANK_CD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_CD)));
		outmap.setString(JBSbatKKIFM096.BANK_SHITEN_CD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_SHITEN_CD)));
		outmap.setString(JBSbatKKIFM096.HUKA_CD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.HUKA_CD)));
		outmap.setString(JBSbatKKIFM096.BANK_KANA, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_KANA)));
		outmap.setString(JBSbatKKIFM096.BANK_SHITEN_KANA, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_SHITEN_KANA)));
		outmap.setString(JBSbatKKIFM096.PCD_OLD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.PCD_OLD)));
		outmap.setString(JBSbatKKIFM096.BANK_SBT, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_SBT)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANA_STATE, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANA_STATE)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANA_CITY, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANA_CITY)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_B_KANA, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANA)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_B_KANA_DIGITNO, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANA_DIGITNO)));
		outmap.setString(JBSbatKKIFM096.KKD_GYSI_KUKAN_CD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.KKD_GYSI_KUKAN_CD)));
		outmap.setString(JBSbatKKIFM096.MST_CH, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.MST_CH)));
		outmap.setString(JBSbatKKIFM096.JIS_AD_CD, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.JIS_AD_CD)));
		outmap.setString(JBSbatKKIFM096.TELNO, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TELNO)));
		outmap.setString(JBSbatKKIFM096.TGT_KOKAN, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TGT_KOKAN)));
		outmap.setString(JBSbatKKIFM096.BANK_NM, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_NM)));
		outmap.setString(JBSbatKKIFM096.BANK_SHITEN_NM, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.BANK_SHITEN_NM)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANJI_DIGITNO_ALL, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_ALL)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANJI_DIGITNO_STATE, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_STATE)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANJI_DIGITNO_CITY, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_CITY)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANJI_DIGITNO_TOWN, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI_DIGITNO_TOWN)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_B_KANJI_DIGITNO, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANJI_DIGITNO)));
		outmap.setString(JBSbatKKIFM096.YOBI_1, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.YOBI_1)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_A_KANJI, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_A_KANJI)));
		outmap.setString(JBSbatKKIFM096.TEN_AD_B_KANJI, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.TEN_AD_B_KANJI)));
		outmap.setString(JBSbatKKIFM096.ALL_BANK_KAMEI_CH, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.ALL_BANK_KAMEI_CH)));
		outmap.setString(JBSbatKKIFM096.DATA_SBT_HUKA_YMD_6, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.DATA_SBT_HUKA_YMD_6)));
		outmap.setString(JBSbatKKIFM096.YOBI_2, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.YOBI_2)));
		outmap.setString(JBSbatKKIFM096.DATA_SBT_HUKA_YMD_8, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.DATA_SBT_HUKA_YMD_8)));
		outmap.setString(JBSbatKKIFM096.PCD_NEW, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.PCD_NEW)));
		outmap.setString(JBSbatKKIFM096.YOBI_3, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.YOBI_3)));
		outmap.setString(JBSbatKKIFM096.HONSHITEN_DIV, JBSbatInterface.trim(inMap.getString(JBSbatKKIFE056.HONSHITEN_DIV)));

		if(warningFlg == 0)
		{
			outmap.setString(JBSbatKKIFM096.BIKO, "");
		}
		else
		{
			outmap.setString(JBSbatKKIFM096.BIKO, "データ不正");
		}

		// 出力フラグを設定
		outmap.setOutFlg(true);

		return outmap;
	}
}
