/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatZMCreateAdDataFile
*	ソースファイル名	：JBSbatZMCreateAdDataFile.java
*	作成者				：富士通　
*	作成日				：2011年08月19日
*＜機能概要＞
*　 住所マスタデータファイル作成部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v2.00.00	2011/08/19	FJ）荒田	新規作成
*   v4.00.00	2012/11/14	FJ) 伊藤	【TAI-2012-0000140】品質強化対策
*	v4.01.00	2013/01/08  FJ）日野	【TAI-2012-0000142】バッチ異常終了時のメッセージについて【優先度A】
*********************************************************************/
package eo.business.service;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.model.common.check.HalfCharCheck;
import com.fujitsu.futurity.model.common.check.LengthCheck;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatZMFileReaderUtil;
import eo.business.common.JZMBatCommon;
import eo.business.common.JZMBatConst;
import eo.business.util.file.JBSbatZMIFM003;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JPCUtilCommon;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatBusinessFileUtil;
import eo.framework.util.JBSbatCheckUtil;

/**
* 住所マスタデータファイル作成処理クラスです。 <p>
*<BR>
* @author 富士通
*/
public class JBSbatZMSakseiAd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
	
	/** メッセージ置換文字取得Key：住所コード */
	private static final String KEY_AD_CD = "TXT-ZMIFM003-.AD_CD";

	/** メッセージ置換文字取得Key：住所適用開始年月日 */
	private static final String KEY_AD_TSTAYMD = "TXT-ZMIFM003-.AD_TSTAYMD";

	/** メッセージ置換文字取得Key：住所適用終了年月日 */
	private static final String KEY_AD_TENDYMD = "TXT-ZMIFM003-.AD_TENDYMD";

	/** メッセージ置換文字取得Key：予約適用年月日 */
	private static final String KEY_RSV_APLY_YMD = "TXT-ZMIFM003-.RSV_APLY_YMD";

	/** メッセージ置換文字取得Key：都道府県名 */
	private static final String KEY_PCD = "TXT-ZMIFM003-.PCD";

	/** メッセージ置換文字取得Key：都道府県名 */
	private static final String KEY_STATE_NM = "TXT-ZMIFM003-.STATE_NM";

	/** メッセージ置換文字取得Key：市区町村名 */
	private static final String KEY_CITY_NM = "TXT-ZMIFM003-.CITY_NM";

	/** メッセージ置換文字取得Key：大字通称名 */
	private static final String KEY_OAZTSU_NM = "TXT-ZMIFM003-.OAZTSU_NM";

	/** メッセージ置換文字取得Key：字丁目名 */
	private static final String KEY_AZCHO_NM = "TXT-ZMIFM003-.AZCHO_NM";

	/** メッセージ置換文字取得Key：都道府県カナ名 */
	private static final String KEY_STATE_KANA = "TXT-ZMIFM003-.STATE_KANA";

	/** メッセージ置換文字取得Key：市区町村カナ名 */
	private static final String KEY_CITY_KANA = "TXT-ZMIFM003-.CITY_KANA";

	/** メッセージ置換文字取得Key：大字通称カナ名 */
	private static final String KEY_OAZTSU_KANA = "TXT-ZMIFM003-.OAZTSU_KANA";

	/** メッセージ置換文字取得Key：字丁目カナ名 */
	private static final String KEY_AZCHO_KANA = "TXT-ZMIFM003-.AZCHO_KANA";

	/** メッセージ置換文字取得Key：都道府県漢字数 */
	private static final String KEY_STATE_KANJI_CNT = "TXT-ZMIFM003-.STATE_KANJI_CNT";

	/** メッセージ置換文字取得Key：市区町村漢字数 */
	private static final String KEY_CITY_KANJI_CNT = "TXT-ZMIFM003-.CITY_KANJI_CNT";

	/** メッセージ置換文字取得Key：大字通称漢字数 */
	private static final String KEY_OAZTSU_KANJI_CNT = "TXT-ZMIFM003-.OAZTSU_KANJI_CNT";

	/** メッセージ置換文字取得Key：字丁目漢字数 */
	private static final String KEY_AZCHO_KANJI_CNT = "TXT-ZMIFM003-.AZCHO_KANJI_CNT";

	/** メッセージ置換文字取得Key：住所漢字数 */
	private static final String KEY_AD_KANJI_CNT = "TXT-ZMIFM003-.AD_KANJI_CNT";

	/** メッセージ置換文字取得Key：都道府県カナ名 */
	private static final String KEY_STATE_KANA_CNT = "TXT-ZMIFM003-.STATE_KANA_CNT";

	/** メッセージ置換文字取得Key：市区町村カナ数 */
	private static final String KEY_CITY_KANA_CNT = "TXT-ZMIFM003-.CITY_KANA_CNT";

	/** メッセージ置換文字取得Key：大字通称カナ数 */
	private static final String KEY_OAZTSU_KANA_CNT = "TXT-ZMIFM003-.OAZTSU_KANA_CNT";

	/** メッセージ置換文字取得Key：字丁目カナ数 */
	private static final String KEY_AZCHO_KANA_CNT = "TXT-ZMIFM003-.AZCHO_KANA_CNT";

	/** メッセージ置換文字取得Key：住所カナ数 */
	private static final String KEY_AD_KANA_CNT = "TXT-ZMIFM003-.AD_KANA_CNT";

	/** メッセージ置換文字取得Key：通り名識別フラグ */
	private static final String KEY_TORINA_SKBT_FLG = "TXT-ZMIFM003-.TORINA_SKBT_FLG";

	/** メッセージ置換文字取得Key：通称コード */
	private static final String KEY_TUSHO_CD = "TXT-ZMIFM003-.TUSHO_CD";

	/** メッセージ置換文字取得Key：施行年月 */
	private static final String KEY_EXEC_YM = "TXT-ZMIFM003-.EXEC_YM";

	/** メッセージ置換文字取得Key：廃止年月 */
	private static final String KEY_HAISHI_YM = "TXT-ZMIFM003-.HAISHI_YM";

	/** メッセージ置換文字取得Key：呼称変更年月 */
	private static final String KEY_KOSHO_CHG_YM = "TXT-ZMIFM003-.KOSHO_CHG_YM";

	/** メッセージ置換文字取得Key：郵便番号変更年月 */
	private static final String KEY_PCD_CHG_YM = "TXT-ZMIFM003-.PCD_CHG_YM";

	/** メッセージ置換文字取得Key：通称コード変更年月 */
	private static final String KEY_TUSHO_CD_CHG_YM = "TXT-ZMIFM003-.TUSHO_CD_CHG_YM";

	/** メッセージ置換文字取得Key：地番変更年月 */
	private static final String KEY_CHIBAN_CHG_YM = "TXT-ZMIFM003-.CHIBAN_CHG_YM";

	/** メッセージ置換文字取得Key：住所修正コード */
	private static final String KEY_AD_SHUSEI_CD = "TXT-ZMIFM003-.AD_SHUSEI_CD";

	/** メッセージ置換文字取得Key：新住所コード */
	private static final String KEY_NEW_AD_CD = "TXT-ZMIFM003-.NEW_AD_CD";

	/** メッセージ置換文字取得Key：住所変更種別コード */
	private static final String KEY_AD_CHG_SBT_CD = "TXT-ZMIFM003-.AD_CHG_SBT_CD";

	/** メッセージ置換文字取得Key：補正対象年月日 */
	private static final String KEY_HOSEI_TG_YMD = "TXT-ZMIFM003-.HOSEI_TG_YMD";

	/** メッセージ置換文字取得Key：字丁目退避 */
	private static final String KEY_AZCHO_TAIHI = "TXT-ZMIFM003-.AZCHO_TAIHI";

	/** メッセージ置換文字取得Key：字丁目漢字数退避 */
	private static final String KEY_AZCHO_KANJI_CNT_TAIHI = "TXT-ZMIFM003-.AZCHO_KANJI_CNT_TAIHI";

	/** メッセージ置換文字取得Key：登録年月日時分秒 */
	private static final String KEY_ADD_DTM = "TXT-ZMIFM003-.ADD_DTM";

	/** メッセージ置換文字取得Key：登録オペレータアカウント */
	private static final String KEY_ADD_OPEACNT = "TXT-ZMIFM003-.ADD_OPEACNT";

	/** メッセージ置換文字取得Key：更新年月日時分秒 */
	private static final String KEY_UPD_DTM = "TXT-ZMIFM003-.UPD_DTM";

	/** メッセージ置換文字取得Key：更新オペレータアカウント */
	private static final String KEY_UPD_OPEACNT = "TXT-ZMIFM003-.UPD_OPEACNT";

	/** メッセージ置換文字：住所コード */
	private static final String MSG_AD_CD = "有効レコード住所データ.住所コード";

	/** メッセージ置換文字：住所適用開始年月日 */
	private static final String MSG_AD_TSTAYMD = "有効レコード住所データ.住所適用開始年月日";

	/** メッセージ置換文字：住所適用終了年月日 */
	private static final String MSG_AD_TENDYMD = "有効レコード住所データ.住所適用終了年月日";

	/** メッセージ置換文字：予約適用年月日 */
	private static final String MSG_RSV_APLY_YMD = "有効レコード住所データ.予約適用年月日";

	/** メッセージ置換文字：都道府県名 */
	private static final String MSG_PCD = "有効レコード住所データ.郵便番号";

	/** メッセージ置換文字：都道府県名 */
	private static final String MSG_STATE_NM = "有効レコード住所データ.都道府県名";

	/** メッセージ置換文字：市区町村名 */
	private static final String MSG_CITY_NM = "有効レコード住所データ.市区町村名";

	/** メッセージ置換文字：大字通称名 */
	private static final String MSG_OAZTSU_NM = "有効レコード住所データ.大字通称名";

	/** メッセージ置換文字：字丁目名 */
	private static final String MSG_AZCHO_NM = "有効レコード住所データ.字丁目名";

	/** メッセージ置換文字：都道府県カナ名 */
	private static final String MSG_STATE_KANA = "有効レコード住所データ.都道府県カナ名";

	/** メッセージ置換文字：市区町村カナ名 */
	private static final String MSG_CITY_KANA = "有効レコード住所データ.市区町村カナ名";

	/** メッセージ置換文字：大字通称カナ名 */
	private static final String MSG_OAZTSU_KANA = "有効レコード住所データ.大字通称カナ名";

	/** メッセージ置換文字：字丁目カナ名 */
	private static final String MSG_AZCHO_KANA = "有効レコード住所データ.字丁目カナ名";

	/** メッセージ置換文字：都道府県漢字数 */
	private static final String MSG_STATE_KANJI_CNT = "有効レコード住所データ.都道府県漢字数";

	/** メッセージ置換文字：市区町村漢字数 */
	private static final String MSG_CITY_KANJI_CNT = "有効レコード住所データ.市区町村漢字数";

	/** メッセージ置換文字：大字通称漢字数 */
	private static final String MSG_OAZTSU_KANJI_CNT = "有効レコード住所データ.大字通称漢字数";

	/** メッセージ置換文字：字丁目漢字数 */
	private static final String MSG_AZCHO_KANJI_CNT = "有効レコード住所データ.字丁目漢字数";

	/** メッセージ置換文字：住所漢字数 */
	private static final String MSG_AD_KANJI_CNT = "有効レコード住所データ.住所漢字数";

	/** メッセージ置換文字：都道府県カナ名 */
	private static final String MSG_STATE_KANA_CNT = "有効レコード住所データ.都道府県カナ数";

	/** メッセージ置換文字：市区町村カナ数 */
	private static final String MSG_CITY_KANA_CNT = "有効レコード住所データ.市区町村カナ数";

	/** メッセージ置換文字：大字通称カナ数 */
	private static final String MSG_OAZTSU_KANA_CNT = "有効レコード住所データ.大字通称カナ数";

	/** メッセージ置換文字：字丁目カナ数 */
	private static final String MSG_AZCHO_KANA_CNT = "有効レコード住所データ.字丁目カナ数";

	/** メッセージ置換文字：住所カナ数 */
	private static final String MSG_AD_KANA_CNT = "有効レコード住所データ.住所カナ数";

	/** メッセージ置換文字：通り名識別フラグ */
	private static final String MSG_TORINA_SKBT_FLG = "有効レコード住所データ.通り名識別フラグ";

	/** メッセージ置換文字：通称コード */
	private static final String MSG_TUSHO_CD = "有効レコード住所データ.通称コード";

	/** メッセージ置換文字：施行年月 */
	private static final String MSG_EXEC_YM = "有効レコード住所データ.施行年月";

	/** メッセージ置換文字：廃止年月 */
	private static final String MSG_HAISHI_YM = "有効レコード住所データ.廃止年月";

	/** メッセージ置換文字：呼称変更年月 */
	private static final String MSG_KOSHO_CHG_YM = "有効レコード住所データ.呼称変更年月";

	/** メッセージ置換文字：郵便番号変更年月 */
	private static final String MSG_PCD_CHG_YM = "有効レコード住所データ.郵便番号変更年月";

	/** メッセージ置換文字：通称コード変更年月 */
	private static final String MSG_TUSHO_CD_CHG_YM = "有効レコード住所データ.通称コード変更年月";

	/** メッセージ置換文字：地番変更年月 */
	private static final String MSG_CHIBAN_CHG_YM = "有効レコード住所データ.地番変更年月";

	/** メッセージ置換文字：住所修正コード */
	private static final String MSG_AD_SHUSEI_CD = "有効レコード住所データ.住所修正コード";

	/** メッセージ置換文字：新住所コード */
	private static final String MSG_NEW_AD_CD = "有効レコード住所データ.新住所コード";

	/** メッセージ置換文字：住所変更種別コード */
	private static final String MSG_AD_CHG_SBT_CD = "有効レコード住所データ.住所変更種別コード";

	/** メッセージ置換文字：補正対象年月日 */
	private static final String MSG_HOSEI_TG_YMD = "有効レコード住所データ.補正対象年月日";

	/** メッセージ置換文字：字丁目退避 */
	private static final String MSG_AZCHO_TAIHI = "有効レコード住所データ.字丁目退避";

	/** メッセージ置換文字：字丁目漢字数退避 */
	private static final String MSG_AZCHO_KANJI_CNT_TAIHI = "有効レコード住所データ.字丁目漢字数退避";

	/** メッセージ置換文字：登録年月日時分秒 */
	private static final String MSG_ADD_DTM = "有効レコード住所データ.登録年月日時分秒";

	/** メッセージ置換文字：登録オペレータアカウント */
	private static final String MSG_ADD_OPEACNT = "有効レコード住所データ.登録オペレータアカウント";

	/** メッセージ置換文字：更新年月日時分秒 */
	private static final String MSG_UPD_DTM = "有効レコード住所データ.更新年月日時分秒";

	/** メッセージ置換文字：更新オペレータアカウント */
	private static final String MSG_UPD_OPEACNT = "有効レコード住所データ.更新オペレータアカウント";

	/** 丁目 */
	private static final String CHOME = "丁目";

	/** 丁 */
	private static final String CHO = "丁";
	
	/** 入力ファイルパス */
	private String inFullPath = null;
	
	/** ファイル出力パス */
	private JBSbatBusinessFileUtil outputFile = null;
	
	/** 有効レコード住所データファイル名称 */
	public static final String FILE_NM_ZMIFM003 = "ZMIFM003001";
	
	/** 郵便番号　バイト数 */
	public static final Integer PCD_BYTE = 7;

	/** 都道府県　バイト数 */
	private static final Integer STATE_BYTE = 10;

	/** 市区町村　バイト数 */
	private static final Integer CITY_BYTE = 60;

	/** 大字通称　バイト数 */
	private static final Integer OAZTSU_BYTE = 80;

	/** 字丁目　バイト数 */
	private static final Integer AZCHO_BYTE = 50;

	/** 都道府県カナ　バイト数 */
	private static final Integer STATE_KANA_BYTE = 8;

	/** 市区町村カナ　バイト数 */
	private static final Integer CITY_KANA_BYTE = 24;

	/** 大字通称カナ　バイト数 */
	private static final Integer OAZTSU_KANA_BYTE = 36;

	/** 字丁目カナ　バイト数 */
	private static final Integer AZCHO_KANA_BYTE = 24;

	/** 新住所コード　バイト数 */
	private static final Integer NEW_AD_CD_BYTE = 11;

	/** プログラムＩＤ　バイト数 */
	private static final Integer PRGRM_ID_BYTE = 8;

	/** レコード処理オペレータアカウント　バイト数 */
	private static final Integer RKD_OPEACNT_BYTE = 7;

	/** 字丁目退避　バイト数 */
	private static final Integer AZCHO_TAIHI_BYTE = 50;

	/** 文字数カウント　初期値 */
	private static final String DEFAULT_CNT = "0";

	/** 通り名識別　初期値 */
	private static final String DEFAULT_TOORI_SKB = "0";

	/** 通称フラグ　初期値 */
	private static final String DEFAULT_TUSHO_FLG = "1";

	/** 修正コード　初期値 */
	private static final String DEFAULT_SHUSEI_CD = "0";
	
	/** メッセージ置換文字：KEY　住所コード */
	private static final String MSG_KEY_AD_CD = "住所コード";
	
	/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/

		/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
		
		// プロパティーファイルチェック
		// 有効レコード住所データファイルパス取得
		String inPath = JZMBatCommon.getMidDir();
		
		super.logPrint.printDebugLog("有効レコード住所データファイルパス:" + inPath);
		
		inFullPath = new StringBuffer(inPath).append(FILE_NM_ZMIFM003).append(JZMBatConst.CSV).toString();
		
		// ファイル出力パス取得
		String outPath = JZMBatCommon.getGaibuSendDir(JZMBatConst.ZMIFE030_DIR);

		super.logPrint.printDebugLog("住所マスタデータファイルパス:" + outPath);
		
		// 住所マスタデータファイルの出力パスを設定する。
		StringBuffer outputFilePath = new StringBuffer();
		outputFilePath.append(outPath).append(JZMBatConst.ZMIFE030).append(JZMBatConst.CSV);
		
		// ファイル出力制御クラス生成する。
		outputFile = JZMBatCommon.createBusinessFileUtil(outputFilePath.toString(),
				JZMBatConst.SJIS,
				JZMBatConst.LF,
				JZMBatConst.CONMA);
		
		/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
		
		// 単項目チェックを呼び出す。
		callSingleCheck();

		ArrayList<String> inList = new ArrayList<String>();
		ArrayList<String> nextInList = new ArrayList<String>();

		String adCd = null;
		String tstaymd = null;
		String tendymd = null;
		String azachoNm = null;
		String azachoKana = null;
		String azachoKanjiCnt = null;
		String adKanjiCnt = null;
		String newAdCd = null;
		String addDtm = null;
		String addOpeacnt = null;
		String updDtm = null;
		String updOpeacnt = null;
		String azachoTaihi = null;
		String azachoKanjiCntTaihi = null;
		String nextAdCd = null;
		String nextTstaymd = null;
		String nextRsvAplyYmd = null;
		
		JBSbatZMFileReaderUtil inFile = new JBSbatZMFileReaderUtil(inFullPath);
		
		try
		{
			inList = inFile.convEscapeStringToList();
			
			while(inList != null)
			{
				
				nextInList = inFile.convEscapeStringToList();

				adCd = inList.get(0);
				tstaymd = inList.get(1);
				tendymd = inList.get(2);
				addDtm = inList.get(37);
				addOpeacnt = inList.get(38);
				updDtm = inList.get(39);
				updOpeacnt = inList.get(40);
				azachoNm = inList.get(8);
				azachoKana = inList.get(12);
				azachoKanjiCnt = inList.get(16);
				adKanjiCnt = inList.get(17);
				newAdCd = inList.get(32);
				azachoTaihi = inList.get(35);
				azachoKanjiCntTaihi = inList.get(36);

				// 適用終了年月日の設定
				if (nextInList != null)
				{
					nextAdCd = nextInList.get(0);
					nextTstaymd = nextInList.get(1);
					nextRsvAplyYmd = nextInList.get(3);
					tendymd = getOutAdTendymd(adCd, nextAdCd, tstaymd,
							nextTstaymd, tendymd, nextRsvAplyYmd);
				}
				else
				{
					tendymd = getOutAdTendymd(tendymd);
				}
				
				// 字町目名、字町目漢字数、総漢字数の設定
				if(azachoNm != null && azachoNm.length() != 0)
				{
					if(azachoNm.length() > 1 && CHOME.equals(azachoNm.substring(azachoNm.length() - 2)))
					{
						azachoTaihi = azachoNm;
						azachoKanjiCntTaihi = azachoKanjiCnt;
						
						if(azachoNm.length() == 2)
						{
							azachoNm = JZMBatConst.ZERO;
						}
						else
						{
							azachoNm = azachoNm.substring(0, azachoNm.length() - 2);
						}
						
						azachoKanjiCnt = String.valueOf(Integer.parseInt(azachoKanjiCnt) - 2);
						adKanjiCnt = String.valueOf(Integer.parseInt(adKanjiCnt) - 2);
					}
					else if(azachoKana.length() > 1 && CHO.equals(azachoNm.substring(azachoNm.length() - 1)) &&
							JZMBatConst.HYPHEN.equals(azachoKana.substring(azachoKana.length() - 1)) &&
							HalfCharCheck.isEnNumber1Check(azachoKana.substring(azachoKana.length() - 2, azachoKana.length() - 1)))
					{
						azachoTaihi = azachoNm;
						azachoKanjiCntTaihi = azachoKanjiCnt;
						
						if(azachoNm.length() == 1)
						{
							azachoNm = JZMBatConst.ZERO;
						}
						else
						{
							azachoNm = azachoNm.substring(0, azachoNm.length() - 1);
						}
						
						azachoKanjiCnt = String.valueOf(Integer.parseInt(azachoKanjiCnt) - 1);
						adKanjiCnt = String.valueOf(Integer.parseInt(adKanjiCnt) - 1);
					}
				}
				
				// 新住所コードの設定
				if(newAdCd == null || JZMBatConst.BLANK.equals(newAdCd))
				{
					
					// 全桁半角スペースを設定
					newAdCd = padSpace(newAdCd, NEW_AD_CD_BYTE);
				}
				
				// データ格納用List
				ArrayList<String> outList = new ArrayList<String>();
				
				// データを格納
				addList(adCd, outList);
				addList(inList.get(3), outList);
				addList(tendymd, outList);
				addList(padSpace(inList.get(4), PCD_BYTE), outList);
				addList(padSpace(inList.get(5), STATE_BYTE), outList);
				addList(padSpace(inList.get(6), CITY_BYTE), outList);
				addList(padSpace(inList.get(7), OAZTSU_BYTE), outList);
				addList(padSpace(azachoNm, AZCHO_BYTE), outList);
				addList(padSpace(inList.get(9), STATE_KANA_BYTE), outList);
				addList(padSpace(inList.get(10), CITY_KANA_BYTE), outList);
				addList(padSpace(inList.get(11), OAZTSU_KANA_BYTE), outList);
				addList(padSpace(inList.get(12), AZCHO_KANA_BYTE), outList);
				addList(blankToDefaultValue(inList.get(13), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(14), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(15), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(azachoKanjiCnt, DEFAULT_CNT), outList);
				addList(blankToDefaultValue(adKanjiCnt, DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(18), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(19), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(20), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(21), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(22), DEFAULT_CNT), outList);
				addList(blankToDefaultValue(inList.get(23), DEFAULT_TOORI_SKB), outList);
				addList(blankToDefaultValue(inList.get(24), DEFAULT_TUSHO_FLG), outList);
				addList(getOutYmDate(inList.get(25)), outList);
				addList(getOutYmDate(inList.get(26)), outList);
				addList(getOutYmDate(inList.get(27)), outList);
				addList(getOutYmDate(inList.get(28)), outList);
				addList(getOutYmDate(inList.get(29)), outList);
				addList(getOutYmDate(inList.get(30)), outList);
				addList(blankToDefaultValue(inList.get(31), DEFAULT_SHUSEI_CD), outList);
				addList(newAdCd, outList);
				addList(padSpace(JZMBatCommon.subStringKami(updOpeacnt, 8), PRGRM_ID_BYTE), outList);
				addList(JZMBatCommon.subStringKami(updDtm, 14), outList);
				addList(JZMBatCommon.subStringKami(updDtm, 8), outList);
				addList(padSpace(JZMBatCommon.subStringKami(updOpeacnt, 7), RKD_OPEACNT_BYTE), outList);
				addList(padSpace(JZMBatCommon.subStringKami(addOpeacnt, 8), PRGRM_ID_BYTE), outList);
				addList(JZMBatCommon.subStringKami(addDtm, 14), outList);
				addList(JZMBatCommon.subStringKami(addDtm, 8), outList);
				addList(padSpace(JZMBatCommon.subStringKami(addOpeacnt, 7), RKD_OPEACNT_BYTE), outList);
				addList(JZMBatCommon.nullToBlank(inList.get(33)), outList);
				addList(JZMBatCommon.nullToBlank(inList.get(34)), outList);
				addList(padSpace(blankToNull(azachoTaihi), AZCHO_TAIHI_BYTE), outList);
				addList(JZMBatCommon.nullToBlank(azachoKanjiCntTaihi), outList);
				
				// 住所マスタデータファイル出力
				JZMBatCommon.printBusinessFileUtil(outputFile, outList);
				
				inList = nextInList;
			}
		}
		finally
		{
			
			// ファイルのクローズ処理をする。
			inFile.close();
			JZMBatCommon.closeBusinessFileUtil(outputFile);
		}
		
		super.logPrint.printDebugLog("正常終了");

		return null;
		
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 文字列が指定サイズに満たない場合、後ろに半角スペースを付加します。
	 * @param String key 文字列
	 * @param Integer charSize 指定サイズ
	 * @return String 編集後の文字列
	 * @throws UnsupportedEncodingException
	 */
	private String padSpace(String key, Integer charSize) throws UnsupportedEncodingException
	{
		return JZMBatCommon.adjustCharSize(key, charSize, JZMBatConst.SJIS);
	}

	/**
	 * 文字列を囲い文字("")で囲いリストに加えます。
	 * @param String key 文字列
	 * @param ArrayList<String> outList データ格納用リスト
	 * @throws Exception
	 */
	private void addList(String key, ArrayList<String> outList)
	{
		outList.add(JZMBatCommon.addDoubleQuot(key));
	}
	
	/**
	 * 引数がブランク("")の場合、nullを返します。
	 * @param String key 文字列
	 * @return String 編集後の文字列
	 */
	private String blankToNull(String key)
	{
		
		String rtn = null;
		
		if(JZMBatConst.BLANK.equals(key))
		{
			rtn = null;
		}
		else
		{
			rtn = key;
		}
		return rtn;
	}
	
	/**
	 * 文字列がブランクの場合、初期値を返します。
	 * 
	 * @param String key 文字列
	 * @param String dfVal 初期値
	 * @return String 編集後の文字列
	 */
	private String blankToDefaultValue(String key, String dfVal)
	{
		
		String rtn = null;
		
		if(JZMBatConst.BLANK.equals(key))
		{
			rtn = dfVal;
		}
		else
		{
			rtn = key;
		}
		return rtn;
	}
	
	/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
	
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/

	/**
	 *入力情報（有効レコード住所データファイル）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-ZMIFM003-.AD_CD			有効レコード住所データファイル.住所コード
	 *			 TXT-ZMIFM003-.AD_CD			有効レコード住所データファイル.住所コード
	 *			 TXT-ZMIFM003-.AD_CD			有効レコード住所データファイル.住所コード
	 *			 TXT-ZMIFM003-.AD_TSTAYMD			有効レコード住所データファイル.住所適用開始年月日
	 *			 TXT-ZMIFM003-.AD_TSTAYMD			有効レコード住所データファイル.住所適用開始年月日
	 *			 TXT-ZMIFM003-.AD_TSTAYMD			有効レコード住所データファイル.住所適用開始年月日
	 *			 TXT-ZMIFM003-.AD_TENDYMD			有効レコード住所データファイル.住所適用終了年月日
	 *			 TXT-ZMIFM003-.AD_TENDYMD			有効レコード住所データファイル.住所適用終了年月日
	 *			 TXT-ZMIFM003-.AD_TENDYMD			有効レコード住所データファイル.住所適用終了年月日
	 *			 TXT-ZMIFM003-.RSV_APLY_YMD			有効レコード住所データファイル.予約適用年月日
	 *			 TXT-ZMIFM003-.RSV_APLY_YMD			有効レコード住所データファイル.予約適用年月日
	 *			 TXT-ZMIFM003-.RSV_APLY_YMD			有効レコード住所データファイル.予約適用年月日
	 *			 TXT-ZMIFM003-.PCD			有効レコード住所データファイル.郵便番号
	 *			 TXT-ZMIFM003-.PCD			有効レコード住所データファイル.郵便番号
	 *			 TXT-ZMIFM003-.STATE_NM			有効レコード住所データファイル.都道府県名
	 *			 TXT-ZMIFM003-.STATE_NM			有効レコード住所データファイル.都道府県名
	 *			 TXT-ZMIFM003-.CITY_NM			有効レコード住所データファイル.市区町村名
	 *			 TXT-ZMIFM003-.CITY_NM			有効レコード住所データファイル.市区町村名
	 *			 TXT-ZMIFM003-.OAZTSU_NM			有効レコード住所データファイル.大字通称名
	 *			 TXT-ZMIFM003-.OAZTSU_NM			有効レコード住所データファイル.大字通称名
	 *			 TXT-ZMIFM003-.AZCHO_NM			有効レコード住所データファイル.字丁目名
	 *			 TXT-ZMIFM003-.AZCHO_NM			有効レコード住所データファイル.字丁目名
	 *			 TXT-ZMIFM003-.STATE_KANA			有効レコード住所データファイル.都道府県カナ名
	 *			 TXT-ZMIFM003-.STATE_KANA			有効レコード住所データファイル.都道府県カナ名
	 *			 TXT-ZMIFM003-.CITY_KANA			有効レコード住所データファイル.市区町村カナ名
	 *			 TXT-ZMIFM003-.CITY_KANA			有効レコード住所データファイル.市区町村カナ名
	 *			 TXT-ZMIFM003-.OAZTSU_KANA			有効レコード住所データファイル.大字通称カナ名
	 *			 TXT-ZMIFM003-.OAZTSU_KANA			有効レコード住所データファイル.大字通称カナ名
	 *			 TXT-ZMIFM003-.AZCHO_KANA			有効レコード住所データファイル.字丁目カナ名
	 *			 TXT-ZMIFM003-.AZCHO_KANA			有効レコード住所データファイル.字丁目カナ名
	 *			 TXT-ZMIFM003-.STATE_KANJI_CNT			有効レコード住所データファイル.都道府県漢字数
	 *			 TXT-ZMIFM003-.STATE_KANJI_CNT			有効レコード住所データファイル.都道府県漢字数
	 *			 TXT-ZMIFM003-.CITY_KANJI_CNT			有効レコード住所データファイル.市区町村漢字数
	 *			 TXT-ZMIFM003-.CITY_KANJI_CNT			有効レコード住所データファイル.市区町村漢字数
	 *			 TXT-ZMIFM003-.OAZTSU_KANJI_CNT			有効レコード住所データファイル.大字通称漢字数
	 *			 TXT-ZMIFM003-.OAZTSU_KANJI_CNT			有効レコード住所データファイル.大字通称漢字数
	 *			 TXT-ZMIFM003-.AZCHO_KANJI_CNT			有効レコード住所データファイル.字丁目漢字数
	 *			 TXT-ZMIFM003-.AZCHO_KANJI_CNT			有効レコード住所データファイル.字丁目漢字数
	 *			 TXT-ZMIFM003-.AD_KANJI_CNT			有効レコード住所データファイル.住所漢字数
	 *			 TXT-ZMIFM003-.AD_KANJI_CNT			有効レコード住所データファイル.住所漢字数
	 *			 TXT-ZMIFM003-.STATE_KANA_CNT			有効レコード住所データファイル.都道府県カナ数
	 *			 TXT-ZMIFM003-.STATE_KANA_CNT			有効レコード住所データファイル.都道府県カナ数
	 *			 TXT-ZMIFM003-.CITY_KANA_CNT			有効レコード住所データファイル.市区町村カナ数
	 *			 TXT-ZMIFM003-.CITY_KANA_CNT			有効レコード住所データファイル.市区町村カナ数
	 *			 TXT-ZMIFM003-.OAZTSU_KANA_CNT			有効レコード住所データファイル.大字通称カナ数
	 *			 TXT-ZMIFM003-.OAZTSU_KANA_CNT			有効レコード住所データファイル.大字通称カナ数
	 *			 TXT-ZMIFM003-.AZCHO_KANA_CNT			有効レコード住所データファイル.字丁目カナ数
	 *			 TXT-ZMIFM003-.AZCHO_KANA_CNT			有効レコード住所データファイル.字丁目カナ数
	 *			 TXT-ZMIFM003-.AD_KANA_CNT			有効レコード住所データファイル.住所カナ数
	 *			 TXT-ZMIFM003-.AD_KANA_CNT			有効レコード住所データファイル.住所カナ数
	 *			 TXT-ZMIFM003-.TORINA_SKBT_FLG			有効レコード住所データファイル.通り名識別フラグ
	 *			 TXT-ZMIFM003-.TORINA_SKBT_FLG			有効レコード住所データファイル.通り名識別フラグ
	 *			 TXT-ZMIFM003-.TUSHO_CD			有効レコード住所データファイル.通称コード
	 *			 TXT-ZMIFM003-.TUSHO_CD			有効レコード住所データファイル.通称コード
	 *			 TXT-ZMIFM003-.EXEC_YM			有効レコード住所データファイル.施行年月
	 *			 TXT-ZMIFM003-.EXEC_YM			有効レコード住所データファイル.施行年月
	 *			 TXT-ZMIFM003-.HAISHI_YM			有効レコード住所データファイル.廃止年月
	 *			 TXT-ZMIFM003-.HAISHI_YM			有効レコード住所データファイル.廃止年月
	 *			 TXT-ZMIFM003-.KOSHO_CHG_YM			有効レコード住所データファイル.呼称変更年月
	 *			 TXT-ZMIFM003-.KOSHO_CHG_YM			有効レコード住所データファイル.呼称変更年月
	 *			 TXT-ZMIFM003-.PCD_CHG_YM			有効レコード住所データファイル.郵便番号変更年月
	 *			 TXT-ZMIFM003-.PCD_CHG_YM			有効レコード住所データファイル.郵便番号変更年月
	 *			 TXT-ZMIFM003-.TUSHO_CD_CHG_YM			有効レコード住所データファイル.通称コード変更年月
	 *			 TXT-ZMIFM003-.TUSHO_CD_CHG_YM			有効レコード住所データファイル.通称コード変更年月
	 *			 TXT-ZMIFM003-.CHIBAN_CHG_YM			有効レコード住所データファイル.地番変更年月
	 *			 TXT-ZMIFM003-.CHIBAN_CHG_YM			有効レコード住所データファイル.地番変更年月
	 *			 TXT-ZMIFM003-.AD_SHUSEI_CD			有効レコード住所データファイル.住所修正コード
	 *			 TXT-ZMIFM003-.AD_SHUSEI_CD			有効レコード住所データファイル.住所修正コード
	 *			 TXT-ZMIFM003-.NEW_AD_CD			有効レコード住所データファイル.新住所コード
	 *			 TXT-ZMIFM003-.NEW_AD_CD			有効レコード住所データファイル.新住所コード
	 *			 TXT-ZMIFM003-.AD_CHG_SBT_CD			有効レコード住所データファイル.住所変更種別コード
	 *			 TXT-ZMIFM003-.AD_CHG_SBT_CD			有効レコード住所データファイル.住所変更種別コード
	 *			 TXT-ZMIFM003-.HOSEI_TG_YMD			有効レコード住所データファイル.補正対象年月日
	 *			 TXT-ZMIFM003-.HOSEI_TG_YMD			有効レコード住所データファイル.補正対象年月日
	 *			 TXT-ZMIFM003-.AZCHO_TAIHI			有効レコード住所データファイル.字丁目退避
	 *			 TXT-ZMIFM003-.AZCHO_TAIHI			有効レコード住所データファイル.字丁目退避
	 *			 TXT-ZMIFM003-.AZCHO_KANJI_CNT_TAIHI			有効レコード住所データファイル.字丁目漢字数退避
	 *			 TXT-ZMIFM003-.AZCHO_KANJI_CNT_TAIHI			有効レコード住所データファイル.字丁目漢字数退避
	 *			 TXT-ZMIFM003-.ADD_DTM			有効レコード住所データファイル.登録年月日時分秒
	 *			 TXT-ZMIFM003-.ADD_DTM			有効レコード住所データファイル.登録年月日時分秒
	 *			 TXT-ZMIFM003-.ADD_DTM			有効レコード住所データファイル.登録年月日時分秒
	 *			 TXT-ZMIFM003-.ADD_OPEACNT			有効レコード住所データファイル.登録オペレータアカウント
	 *			 TXT-ZMIFM003-.ADD_OPEACNT			有効レコード住所データファイル.登録オペレータアカウント
	 *			 TXT-ZMIFM003-.ADD_OPEACNT			有効レコード住所データファイル.登録オペレータアカウント
	 *			 TXT-ZMIFM003-.UPD_DTM			有効レコード住所データファイル.更新年月日時分秒
	 *			 TXT-ZMIFM003-.UPD_DTM			有効レコード住所データファイル.更新年月日時分秒
	 *			 TXT-ZMIFM003-.UPD_DTM			有効レコード住所データファイル.更新年月日時分秒
	 *			 TXT-ZMIFM003-.UPD_OPEACNT			有効レコード住所データファイル.更新オペレータアカウント
	 *			 TXT-ZMIFM003-.UPD_OPEACNT			有効レコード住所データファイル.更新オペレータアカウント
	 *			 TXT-ZMIFM003-.UPD_OPEACNT			有効レコード住所データファイル.更新オペレータアカウント
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckZMIFM003(HashMap<String, String> rsMap, HashMap<String, String> itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;
		
		// 住所コード項目チェック
		strValue = (String)rsMap.get("AD_CD");
		
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_CD"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_CD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_CD"), rsMap)});
			return false;
		}

		// 住所適用開始年月日項目チェック
		strValue = (String)rsMap.get("AD_TSTAYMD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TSTAYMD"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TSTAYMD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TSTAYMD"), rsMap)});
			return false;
		}

		// 住所適用終了年月日項目チェック
		strValue = (String)rsMap.get("AD_TENDYMD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TENDYMD"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TENDYMD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_TENDYMD"), rsMap)});
			return false;
		}

		// 予約適用年月日項目チェック
		strValue = (String)rsMap.get("RSV_APLY_YMD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.RSV_APLY_YMD"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.RSV_APLY_YMD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.RSV_APLY_YMD"), rsMap)});
			return false;
		}

		// 郵便番号項目チェック
		strValue = (String)rsMap.get("PCD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "7"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.PCD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.PCD"), rsMap)});
			return false;
		}

		// 都道府県名項目チェック
		strValue = (String)rsMap.get("STATE_NM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "4"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_NM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"name_address"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_NM"), rsMap)});
			return false;
		}

		// 市区町村名項目チェック
		strValue = (String)rsMap.get("CITY_NM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_NM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"name_address"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_NM"), rsMap)});
			return false;
		}

		// 大字通称名項目チェック
		strValue = (String)rsMap.get("OAZTSU_NM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "18"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_NM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"name_address"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_NM"), rsMap)});
			return false;
		}

		// 字丁目名項目チェック
		strValue = (String)rsMap.get("AZCHO_NM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_NM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"name_address"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_NM"), rsMap)});
			return false;
		}

		// 都道府県カナ名項目チェック
		strValue = (String)rsMap.get("STATE_KANA");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANA"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakukana1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANA"), rsMap)});
			return false;
		}

		// 市区町村カナ名項目チェック
		strValue = (String)rsMap.get("CITY_KANA");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "24"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANA"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuujikana2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANA"), rsMap)});
			return false;
		}

		// 大字通称カナ名項目チェック
		strValue = (String)rsMap.get("OAZTSU_KANA");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "36"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANA"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuujikana2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANA"), rsMap)});
			return false;
		}

		// 字丁目カナ名項目チェック
		strValue = (String)rsMap.get("AZCHO_KANA");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "24"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANA"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuujikana2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANA"), rsMap)});
			return false;
		}

		// 都道府県漢字数項目チェック
		strValue = (String)rsMap.get("STATE_KANJI_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANJI_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANJI_CNT"), rsMap)});
			return false;
		}

		// 市区町村漢字数項目チェック
		strValue = (String)rsMap.get("CITY_KANJI_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANJI_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANJI_CNT"), rsMap)});
			return false;
		}

		// 大字通称漢字数項目チェック
		strValue = (String)rsMap.get("OAZTSU_KANJI_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANJI_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANJI_CNT"), rsMap)});
			return false;
		}

		// 字丁目漢字数項目チェック
		strValue = (String)rsMap.get("AZCHO_KANJI_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANJI_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANJI_CNT"), rsMap)});
			return false;
		}

		// 住所漢字数項目チェック
		strValue = (String)rsMap.get("AD_KANJI_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_KANJI_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_KANJI_CNT"), rsMap)});
			return false;
		}

		// 都道府県カナ数項目チェック
		strValue = (String)rsMap.get("STATE_KANA_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANA_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.STATE_KANA_CNT"), rsMap)});
			return false;
		}

		// 市区町村カナ数項目チェック
		strValue = (String)rsMap.get("CITY_KANA_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANA_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CITY_KANA_CNT"), rsMap)});
			return false;
		}

		// 大字通称カナ数項目チェック
		strValue = (String)rsMap.get("OAZTSU_KANA_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANA_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.OAZTSU_KANA_CNT"), rsMap)});
			return false;
		}

		// 字丁目カナ数項目チェック
		strValue = (String)rsMap.get("AZCHO_KANA_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANA_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANA_CNT"), rsMap)});
			return false;
		}

		// 住所カナ数項目チェック
		strValue = (String)rsMap.get("AD_KANA_CNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_KANA_CNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_KANA_CNT"), rsMap)});
			return false;
		}

		// 通り名識別フラグ項目チェック
		strValue = (String)rsMap.get("TORINA_SKBT_FLG");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TORINA_SKBT_FLG"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TORINA_SKBT_FLG"), rsMap)});
			return false;
		}

		// 通称コード項目チェック
		strValue = (String)rsMap.get("TUSHO_CD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TUSHO_CD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TUSHO_CD"), rsMap)});
			return false;
		}

		// 施行年月項目チェック
		strValue = (String)rsMap.get("EXEC_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.EXEC_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.EXEC_YM"), rsMap)});
			return false;
		}

		// 廃止年月項目チェック
		strValue = (String)rsMap.get("HAISHI_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.HAISHI_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.HAISHI_YM"), rsMap)});
			return false;
		}

		// 呼称変更年月項目チェック
		strValue = (String)rsMap.get("KOSHO_CHG_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.KOSHO_CHG_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.KOSHO_CHG_YM"), rsMap)});
			return false;
		}

		// 郵便番号変更年月項目チェック
		strValue = (String)rsMap.get("PCD_CHG_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.PCD_CHG_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.PCD_CHG_YM"), rsMap)});
			return false;
		}

		// 通称コード変更年月項目チェック
		strValue = (String)rsMap.get("TUSHO_CD_CHG_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TUSHO_CD_CHG_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.TUSHO_CD_CHG_YM"), rsMap)});
			return false;
		}

		// 地番変更年月項目チェック
		strValue = (String)rsMap.get("CHIBAN_CHG_YM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "6"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CHIBAN_CHG_YM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.CHIBAN_CHG_YM"), rsMap)});
			return false;
		}

		// 住所修正コード項目チェック
		strValue = (String)rsMap.get("AD_SHUSEI_CD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_SHUSEI_CD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_SHUSEI_CD"), rsMap)});
			return false;
		}

		// 新住所コード項目チェック
		strValue = (String)rsMap.get("NEW_AD_CD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.NEW_AD_CD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.NEW_AD_CD"), rsMap)});
			return false;
		}

		// 住所変更種別コード項目チェック
		strValue = (String)rsMap.get("AD_CHG_SBT_CD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_CHG_SBT_CD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AD_CHG_SBT_CD"), rsMap)});
			return false;
		}

		// 補正対象年月日項目チェック
		strValue = (String)rsMap.get("HOSEI_TG_YMD");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.HOSEI_TG_YMD"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.HOSEI_TG_YMD"), rsMap)});
			return false;
		}

		// 字丁目退避項目チェック
		strValue = (String)rsMap.get("AZCHO_TAIHI");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_TAIHI"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"name_address"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_TAIHI"), rsMap)});
			return false;
		}

		// 字丁目漢字数退避項目チェック
		strValue = (String)rsMap.get("AZCHO_KANJI_CNT_TAIHI");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANJI_CNT_TAIHI"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"long1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.AZCHO_KANJI_CNT_TAIHI"), rsMap)});
			return false;
		}

		// 登録年月日時分秒項目チェック
		strValue = (String)rsMap.get("ADD_DTM");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_DTM"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "17"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_DTM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"day_hour1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_DTM"), rsMap)});
			return false;
		}

		// 登録オペレータアカウント項目チェック
		strValue = (String)rsMap.get("ADD_OPEACNT");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_OPEACNT"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_OPEACNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.ADD_OPEACNT"), rsMap)});
			return false;
		}

		// 更新年月日時分秒項目チェック
		strValue = (String)rsMap.get("UPD_DTM");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_DTM"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "17"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_DTM"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"day_hour1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_DTM"), rsMap)});
			return false;
		}

		// 更新オペレータアカウント項目チェック
		strValue = (String)rsMap.get("UPD_OPEACNT");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0030TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_OPEACNT"), rsMap)});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0050TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_OPEACNT"), rsMap)});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZMB0040TW", new String[]{
					createErrMsg((String)itemvalueMap.get("TXT-ZMIFM003-.UPD_OPEACNT"), rsMap)});
			return false;
		}

		return true;
	}
	
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
	
	/**
	 * 単項目チェック呼び出し処理
	 * @throws Exception 例外
	 */
	private void callSingleCheck() throws Exception
	{
		int cnt = 0;
		HashMap<String, String> itemvalueMap = getItemvalueMap();
		HashMap<String, String> rsMap = new HashMap<String, String>();
		ArrayList<String> inList = new ArrayList<String>();
		JBSbatZMFileReaderUtil inFile = new JBSbatZMFileReaderUtil(inFullPath);
		
		try
		{
			while(inFile.ready())
			{
				inList = inFile.convEscapeStringToList();
				rsMap = getRsMap(inList);
				cnt++;
				if(!isSingleCheckZMIFM003(rsMap, itemvalueMap) || !isGyomuCheck(rsMap, itemvalueMap))
				{
					super.logPrint.printDebugLog("行:" + cnt);
					// 単項目チェックでエラーが発生した場合、処理を終了する。
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EZMB0060CW);
				}
				
			}
		}
		finally
		{
			inFile.close();
		}
	}
	
	/**
	 * 業務チェック処理
	 * 
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isGyomuCheck(HashMap<String, String> rsMap, HashMap<String, String> itemvalueMap)
	{
		String strValue = null;

		// 桁数チェック
		// 住所コード
		strValue = (String)rsMap.get(JBSbatZMIFM003.AD_CD);
		if(!LengthCheck.isLength1Check(strValue, 11))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_AD_CD), rsMap)});

			return false;
		}

		// 住所適用開始年月日
		strValue = (String)rsMap.get(JBSbatZMIFM003.AD_TSTAYMD);
		if(!LengthCheck.isLength1Check(strValue, 8))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_AD_TSTAYMD), rsMap)});

			return false;
		}

		// 住所適用終了年月日
		strValue = (String)rsMap.get(JBSbatZMIFM003.AD_TENDYMD);
		if(!LengthCheck.isLength1Check(strValue, 8))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_AD_TENDYMD), rsMap)});

			return false;
		}

		// 郵便番号
		strValue = (String)rsMap.get(JBSbatZMIFM003.PCD);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 7))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_PCD), rsMap)});

				return false;
			}
		}

		// 施行年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.EXEC_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_EXEC_YM), rsMap)});

				return false;
			}
		}

		// 廃止年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.HAISHI_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_HAISHI_YM), rsMap)});

				return false;
			}
		}

		// 呼称変更年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.KOSHO_CHG_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_KOSHO_CHG_YM), rsMap)});

				return false;
			}
		}

		// 郵便番号変更年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.PCD_CHG_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_PCD_CHG_YM), rsMap)});

				return false;
			}
		}

		// 通称コード変更年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.TUSHO_CD_CHG_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_TUSHO_CD_CHG_YM), rsMap)});

				return false;
			}
		}

		// 地番変更年月
		strValue = (String)rsMap.get(JBSbatZMIFM003.CHIBAN_CHG_YM);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 6))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_CHIBAN_CHG_YM), rsMap)});

				return false;
			}
		}

		// 新住所コード
		strValue = (String)rsMap.get(JBSbatZMIFM003.NEW_AD_CD);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 11))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_NEW_AD_CD), rsMap)});

				return false;
			}
		}

		// 住所変更種別コード
		strValue = (String)rsMap.get(JBSbatZMIFM003.AD_CHG_SBT_CD);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 2))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_AD_CHG_SBT_CD), rsMap)});

				return false;
			}
		}

		// 補正対象年月日
		strValue = (String)rsMap.get(JBSbatZMIFM003.HOSEI_TG_YMD);
		if(strValue != null && !JZMBatConst.BLANK.equals(strValue))
		{
			if(!LengthCheck.isLength1Check(strValue, 8))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
						new String[]{createErrMsg((String)itemvalueMap.get(KEY_HOSEI_TG_YMD), rsMap)});

				return false;
			}
		}
		
		// 登録年月日時分秒
		strValue = (String)rsMap.get(JBSbatZMIFM003.ADD_DTM);
		if(!LengthCheck.isLength1Check(strValue, 17))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_ADD_DTM), rsMap)});
			
			return false;
		}
		
		// 登録オペレータアカウント
		strValue = (String)rsMap.get(JBSbatZMIFM003.ADD_OPEACNT);
		if(!LengthCheck.isLength2Check(strValue, 6, 10))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_ADD_OPEACNT), rsMap)});
			
			return false;
		}
		
		// 更新年月日時分秒
		strValue = (String)rsMap.get(JBSbatZMIFM003.UPD_DTM);
		if(!LengthCheck.isLength1Check(strValue, 17))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_UPD_DTM), rsMap)});
			
			return false;
		}
		
		// 更新オペレータアカウント
		strValue = (String)rsMap.get(JBSbatZMIFM003.UPD_OPEACNT);
		if(!LengthCheck.isLength2Check(strValue, 6, 10))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EZMB0050TW,
					new String[]{createErrMsg((String)itemvalueMap.get(KEY_UPD_OPEACNT), rsMap)});
			
			return false;
		}
		
		return true;
	}
	
	/**
	 * 入力データ格納HashMapを作成します。
	 * 
	 * @param dataList 入力データが格納されたArrayList
	 * @return HashMap<String, String> 入力データ格納HashMap
	 * @throws Exception 例外
	 */
	private HashMap<String, String> getRsMap(ArrayList<String> dataList) throws Exception
	{
		
		HashMap<String, String> outMap = new HashMap<String, String>();
		
		outMap.put(JBSbatZMIFM003.AD_CD, dataList.get(0));
		outMap.put(JBSbatZMIFM003.AD_TSTAYMD, dataList.get(1));
		outMap.put(JBSbatZMIFM003.AD_TENDYMD, dataList.get(2));
		outMap.put(JBSbatZMIFM003.RSV_APLY_YMD, dataList.get(3));
		outMap.put(JBSbatZMIFM003.PCD, dataList.get(4));
		outMap.put(JBSbatZMIFM003.STATE_NM, dataList.get(5));
		outMap.put(JBSbatZMIFM003.CITY_NM, dataList.get(6));
		outMap.put(JBSbatZMIFM003.OAZTSU_NM, dataList.get(7));
		outMap.put(JBSbatZMIFM003.AZCHO_NM, dataList.get(8));
		outMap.put(JBSbatZMIFM003.STATE_KANA, dataList.get(9));
		outMap.put(JBSbatZMIFM003.CITY_KANA, dataList.get(10));
		outMap.put(JBSbatZMIFM003.OAZTSU_KANA, dataList.get(11));
		outMap.put(JBSbatZMIFM003.AZCHO_KANA, dataList.get(12));
		outMap.put(JBSbatZMIFM003.STATE_KANJI_CNT, dataList.get(13));
		outMap.put(JBSbatZMIFM003.CITY_KANJI_CNT, dataList.get(14));
		outMap.put(JBSbatZMIFM003.OAZTSU_KANJI_CNT, dataList.get(15));
		outMap.put(JBSbatZMIFM003.AZCHO_KANJI_CNT, dataList.get(16));
		outMap.put(JBSbatZMIFM003.AD_KANJI_CNT, dataList.get(17));
		outMap.put(JBSbatZMIFM003.STATE_KANA_CNT, dataList.get(18));
		outMap.put(JBSbatZMIFM003.CITY_KANA_CNT, dataList.get(19));
		outMap.put(JBSbatZMIFM003.OAZTSU_KANA_CNT, dataList.get(20));
		outMap.put(JBSbatZMIFM003.AZCHO_KANA_CNT, dataList.get(21));
		outMap.put(JBSbatZMIFM003.AD_KANA_CNT, dataList.get(22));
		outMap.put(JBSbatZMIFM003.TORINA_SKBT_FLG, dataList.get(23));
		outMap.put(JBSbatZMIFM003.TUSHO_CD, dataList.get(24));
		outMap.put(JBSbatZMIFM003.EXEC_YM, dataList.get(25));
		outMap.put(JBSbatZMIFM003.HAISHI_YM, dataList.get(26));
		outMap.put(JBSbatZMIFM003.KOSHO_CHG_YM, dataList.get(27));
		outMap.put(JBSbatZMIFM003.PCD_CHG_YM, dataList.get(28));
		outMap.put(JBSbatZMIFM003.TUSHO_CD_CHG_YM, dataList.get(29));
		outMap.put(JBSbatZMIFM003.CHIBAN_CHG_YM, dataList.get(30));
		outMap.put(JBSbatZMIFM003.AD_SHUSEI_CD, dataList.get(31));
		outMap.put(JBSbatZMIFM003.NEW_AD_CD, dataList.get(32));
		outMap.put(JBSbatZMIFM003.AD_CHG_SBT_CD, dataList.get(33));
		outMap.put(JBSbatZMIFM003.HOSEI_TG_YMD, dataList.get(34));
		outMap.put(JBSbatZMIFM003.AZCHO_TAIHI, dataList.get(35));
		outMap.put(JBSbatZMIFM003.AZCHO_KANJI_CNT_TAIHI, dataList.get(36));
		outMap.put(JBSbatZMIFM003.ADD_DTM, dataList.get(37));
		outMap.put(JBSbatZMIFM003.ADD_OPEACNT, dataList.get(38));
		outMap.put(JBSbatZMIFM003.UPD_DTM, dataList.get(39));
		outMap.put(JBSbatZMIFM003.UPD_OPEACNT, dataList.get(40));
		
		return outMap;
	}
	
	/**
	 * メッセージ置換用HashMapを作成します。
	 * 
	 * @return HashMap<String, String> メッセージ置換用HashMap
	 * @throws Exception 例外
	 */
	private HashMap<String, String> getItemvalueMap() throws Exception
	{
		
		HashMap<String, String> outMap = new HashMap<String, String>();
		
		outMap.put(KEY_AD_CD, MSG_AD_CD);
		outMap.put(KEY_AD_TSTAYMD, MSG_AD_TSTAYMD);
		outMap.put(KEY_AD_TENDYMD, MSG_AD_TENDYMD);
		outMap.put(KEY_RSV_APLY_YMD, MSG_RSV_APLY_YMD);
		outMap.put(KEY_PCD, MSG_PCD);
		outMap.put(KEY_STATE_NM, MSG_STATE_NM);
		outMap.put(KEY_CITY_NM, MSG_CITY_NM);
		outMap.put(KEY_OAZTSU_NM, MSG_OAZTSU_NM);
		outMap.put(KEY_AZCHO_NM, MSG_AZCHO_NM);
		outMap.put(KEY_STATE_KANA, MSG_STATE_KANA);
		outMap.put(KEY_CITY_KANA, MSG_CITY_KANA);
		outMap.put(KEY_OAZTSU_KANA, MSG_OAZTSU_KANA);
		outMap.put(KEY_AZCHO_KANA, MSG_AZCHO_KANA);
		outMap.put(KEY_STATE_KANJI_CNT, MSG_STATE_KANJI_CNT);
		outMap.put(KEY_CITY_KANJI_CNT, MSG_CITY_KANJI_CNT);
		outMap.put(KEY_OAZTSU_KANJI_CNT, MSG_OAZTSU_KANJI_CNT);
		outMap.put(KEY_AZCHO_KANJI_CNT, MSG_AZCHO_KANJI_CNT);
		outMap.put(KEY_AD_KANJI_CNT, MSG_AD_KANJI_CNT);
		outMap.put(KEY_STATE_KANA_CNT, MSG_STATE_KANA_CNT);
		outMap.put(KEY_CITY_KANA_CNT, MSG_CITY_KANA_CNT);
		outMap.put(KEY_OAZTSU_KANA_CNT, MSG_OAZTSU_KANA_CNT);
		outMap.put(KEY_AZCHO_KANA_CNT, MSG_AZCHO_KANA_CNT);
		outMap.put(KEY_AD_KANA_CNT, MSG_AD_KANA_CNT);
		outMap.put(KEY_TORINA_SKBT_FLG, MSG_TORINA_SKBT_FLG);
		outMap.put(KEY_TUSHO_CD, MSG_TUSHO_CD);
		outMap.put(KEY_EXEC_YM, MSG_EXEC_YM);
		outMap.put(KEY_HAISHI_YM, MSG_HAISHI_YM);
		outMap.put(KEY_KOSHO_CHG_YM, MSG_KOSHO_CHG_YM);
		outMap.put(KEY_PCD_CHG_YM, MSG_PCD_CHG_YM);
		outMap.put(KEY_TUSHO_CD_CHG_YM, MSG_TUSHO_CD_CHG_YM);
		outMap.put(KEY_CHIBAN_CHG_YM, MSG_CHIBAN_CHG_YM);
		outMap.put(KEY_AD_SHUSEI_CD, MSG_AD_SHUSEI_CD);
		outMap.put(KEY_NEW_AD_CD, MSG_NEW_AD_CD);
		outMap.put(KEY_AD_CHG_SBT_CD, MSG_AD_CHG_SBT_CD);
		outMap.put(KEY_HOSEI_TG_YMD, MSG_HOSEI_TG_YMD);
		outMap.put(KEY_AZCHO_TAIHI, MSG_AZCHO_TAIHI);
		outMap.put(KEY_AZCHO_KANJI_CNT_TAIHI, MSG_AZCHO_KANJI_CNT_TAIHI);
		outMap.put(KEY_ADD_DTM, MSG_ADD_DTM);
		outMap.put(KEY_ADD_OPEACNT, MSG_ADD_OPEACNT);
		outMap.put(KEY_UPD_DTM, MSG_UPD_DTM);
		outMap.put(KEY_UPD_OPEACNT, MSG_UPD_OPEACNT);
		
		return outMap;
	}
	
	/**
	 * 外部システム連携用住所適用終了年月日取得処理です。<br>
	 * 次レコードが存在する場合に使用します。
	 * 
	 * @param adCd 住所コード
	 * @param nextAdCd 次レコードの住所コード
	 * @param tstaymd 住所適用開始年月日
	 * @param nextTstaymd 次レコードの住所適用開始年月日
	 * @param tendymd 住所適用終了年月日
	 * @param nextRsvAplyYmd 次レコードの予約適用年月日
	 * @return String 決定した適用終了日
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private String getOutAdTendymd(String adCd, String nextAdCd, String tstaymd,
			String nextTstaymd, String tendymd, String nextRsvAplyYmd) throws Exception
	{
		String outTendymd = null;
		
		// 適用終了年月日の決定
		if (adCd.equals(nextAdCd) && tstaymd.equals(nextTstaymd))
		{
			outTendymd = JPCUtilCommon.addDay(nextRsvAplyYmd, -1);
		}
		else
		{
			outTendymd = getOutAdTendymd(tendymd);
		}
		
		return outTendymd;
	}
	
	/**
	 * 外部システム連携用住所適用終了年月日取得処理です。<br>
	 * 次レコードが存在しない場合に使用します。
	 * 
	 * @param tendymd 編集前の適用終了年月日。
	 * @return String 編集後の適用終了年月日
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getOutAdTendymd(String tendymd) throws Exception
	{
		String outTendymd = null;
		
		if((tendymd == null && JZMBatConst.BLANK.equals(tendymd)) ||
				JZMBatConst.IN_ENDYMD.equals(tendymd))
		{
			outTendymd = JZMBatConst.OUT_ENDYMD;
		}
		else
		{
			outTendymd = tendymd;
		}
		
		return outTendymd;
	}
	
	/**
	 * 年月取得処理です。<br>
	 * <br>
	 * @param String ymStr 年月
	 * @return String 編集後の年月
	 */
	private String getOutYmDate(String ymStr) 
	{

		if((ymStr == null || JZMBatConst.BLANK.equals(ymStr)))
		{
			return JZMBatConst.SIX_ZERO;
		}
		else
		{
			return ymStr;
		}
	}
	
	/**
	 * エラーメッセージ作成処理です。
	 * @param strItem 項目名
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap
	 * @return string メッセージ置換文字列
	 */
	private String createErrMsg(String strItem, HashMap<String, String> rsMap)
	{
		StringBuffer sb = new StringBuffer();
		
		sb.append(strItem);
		sb.append(JZMBatConst.KAKKO_LEFT);
		sb.append(JZMBatConst.KEY);
		sb.append(JZMBatConst.ZENKAKU_COLON);
		sb.append(MSG_KEY_AD_CD);
		sb.append(JZMBatConst.EQUAL);
		sb.append((String)rsMap.get(JBSbatZMIFM003.AD_CD));
		sb.append(JZMBatConst.KAKKO_RIGHT);
		
		return sb.toString();
	}
	/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
	
}
