/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKKDDIAnkenUpdIktTrkm
*	ソースファイル名	：JBSbatKKKDDIAnkenUpdIktTrkm.java
*	作成者				：富士通　
*	作成日				：2018年05月30日
*＜機能概要＞
*　KDDI取次案件更新一括取込部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v37.00.00   2018/05/30  FJ)上間	 	【ANK-3344-00-00】KDDI取次案件一括取り込み機能	新規作成
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKKBatCommon;
import eo.business.util.file.JBSbatKKIFE397;
import eo.business.util.file.JBSbatKKIFM794;
import eo.business.util.table.JBSbatCC_T_DLYD_TRN_REQ;
import eo.business.util.table.JBSbatZM_T_DL_FILE_KANRI;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JKKCommonUtil;
import eo.common.util.JPCUtilCommon;
import eo.common.util.JTUStringUtil;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.log.JBSbatLogPrintControl;
import eo.framework.application.JBSbatBusinessBase;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatDefFileUtil;
import eo.framework.file.JBSbatInputFileUtil;
import eo.framework.util.JBSbatAplConst;
import eo.framework.util.JBSbatBusinessFileUtil;
import eo.framework.util.JBSbatCheckUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKKDDIAnkenUpdIktTrkm extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(データ一括登録管理)*/
	private static final String D_TBL_NAME_ZM_T_DATAIKTTRK_KNRI = "ZM_T_DATAIKTTRK_KNRI";

	/** テーブル(ＫＤＤＩ他事業者割引契約状況照会)*/
	private static final String D_TBL_NAME_KK_T_KDDI_TJGWR_KJKS = "KK_T_KDDI_TJGWR_KJKS";

	/** テーブル(コード名称管理)*/
	private static final String D_TBL_NAME_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String ZM_T_DATAIKTTRK_KNRI_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_KDDI_TJGWR_KJKS_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_010)*/
	private static final String ZM_M_CD_NM_KANRI_KK_SELECT_010 = "KK_SELECT_010";

	/** SQL定義キー(KK_UPDATE_001)*/
	private static final String KK_T_KDDI_TJGWR_KJKS_KK_UPDATE_001 = "KK_UPDATE_001";

	/** テーブルアクセスクラス(データ一括登録管理)*/
	private JBSbatSQLAccess db_ZM_T_DATAIKTTRK_KNRI = null;

	/** テーブルアクセスクラス(ＫＤＤＩ他事業者割引契約状況照会)*/
	private JBSbatSQLAccess db_KK_T_KDDI_TJGWR_KJKS = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;
	
	/** テーブルアクセスクラス（業務パラメータ管理）*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
	
	/** テーブルアクセスクラス(ダウンロードファイル管理)*/
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;
	
	/** テーブル（業務パラメータ管理）*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";
	
	/** テーブル(ダウンロードファイル管理)*/
	private static final String D_TBL_NAME_ZM_T_DL_FILE_KANRI = "ZM_T_DL_FILE_KANRI";
	
	/** KDDI取次案件取込更新結果リストファイルオブジェクト*/
	private JBSbatBusinessFileUtil kddiTrkmUpdRsltFileObj = null;
	
	/** KDDI取次案件取込更新結果リストファイル名*/
	private String kddiTrkmUpdRsltFileName = null;
	
	/** 拡張子判定用 */
	private static final String EXTENSION_CSV = "csv";
	
	/** ディレイド処理依頼確認部品呼び出し*/
	private ArrayList<HashMap<String, Object>> dlydTrnMapList = null;
	
	/** データ部リスト*/
	private ArrayList<HashMap<String, String>> dataMapList = null;
	
	/** エラーリスト */
	private ArrayList<HashMap<String, String>> errMapList = null;
	
	/** エラーフラグ */
	private Boolean isCheckErrFlg = false;
	
	/** 総件数（ファイルレコード件数）*/
	private int fileRecordCnt = 0;
	/** 正常取込件数*/
	private int normalRecordCnt = 0;
	/** エラー件数*/
	private int errRecordCnt = 0;
	
	/** 依頼結果コード初期値設定*/
	private String rsltCd = null;
	
	/** コード値リスト(ステータス) */
	private ArrayList<String> statCdList = null;
	
	/** コード値リスト(契約サービス（ｔｅｌ）) */
	private ArrayList<String> keiSvcTelList = null;
	
	/** コード値リスト(契約サービス（ｎｅｔ）) */
	private ArrayList<String> keiSvcNetList = null;
	
	/** コード値リスト(契約サービス（ｔｖ）) */
	private ArrayList<String> keiSvcTvList = null;
	
	/** コード値リスト(連携箇所) */
	private ArrayList<String> renkeiKasyoList = null;
	
	/** コード値リスト(成否結果) */
	private ArrayList<String> okNgRsltList = null;
	
	/** コード値リスト(スマートバリューＮＧ理由) */
	private ArrayList<String> smvlNgRsnList = null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_ZM_T_DATAIKTTRK_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_DATAIKTTRK_KNRI);
		db_KK_T_KDDI_TJGWR_KJKS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KDDI_TJGWR_KJKS);
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_CD_NM_KANRI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		//業務パラメータテーブルアクセスクラスの生成
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem,D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		//ダウンロードファイル管理テーブルアクセスクラスの生成
		db_ZM_T_DL_FILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_DL_FILE_KANRI);
		
		//ディレイド処理依頼確認部品呼び出し
		dlydTrnMapList = JKKBatCommon.getShoriIraiInfo(commonItem, commonItem.getJobid());
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		if (dlydTrnMapList == null)
		{
			// ディレイド処理情報が取得出来ない場合、処理終了
			return null;
		}
		
		int shoriCnt = 0;
		
		try
		{
			for (int i = dlydTrnMapList.size() - 1 ; -1 < i ; i--) 
			{
				// 依頼結果コード初期値設定
				rsltCd = JKKStrConst.DLYD_TRN_RSLT_CD_COMPLETE;
				
				// 件数初期化
				fileRecordCnt = 0;
				normalRecordCnt = 0;
				errRecordCnt = 0;
				
				// データリスト初期化
				dataMapList = new ArrayList<HashMap<String, String>>();
				
				// KDDI取次案件取込更新結果リストファイルオブジェクト初期化
				kddiTrkmUpdRsltFileObj = null;
				
				// 処理件数設定
				shoriCnt = i;
				
				//  KDDI取次案件取込更新結果リスト作成
				if(!createKDDITrkmUpdRslt())
				{
					// エラーの場合、処理終了
					// ディレイド処理依頼結果更新処理
					updateShoriIrai(shoriCnt, true);
					return null;
				}
				
				// データ一括登録管理テーブルからKDDI取次案件のファイル名を取得する。
				JBSbatCommonDBInterface mapDataikttrkKanri = getKDDIAnken(shoriCnt);
				if(mapDataikttrkKanri == null)
				{
					// 取得できなかった場合、処理終了
					// ディレイド処理依頼結果更新処理
					updateShoriIrai(shoriCnt, true);
					return null;
				}
				
				// KDDI取次案件更新ファイル拡張子チェック
				if(!isCheckKDDIAnken(mapDataikttrkKanri))
				{
					rsltCd = JKKStrConst.DLYD_TRN_RSLT_CD_APP_ERR;
				}
				else
				{
					// 電子ファイル管理からKDDI取次案件更新ファイル取得
					String filePath = JKKBatCommon.searchDenshiFile(commonItem, 
											dlydTrnMapList.get(shoriCnt).get(JBSbatCC_T_DLYD_TRN_REQ.INPUT_EFILE_KANRI_NO).toString());
					
					// KDDI取次案件更新ファイルオブジェクトを生成する
					JBSbatInputFileUtil kddiAnken = new JBSbatInputFileUtil(filePath);
					// KDDI取次案件更新ファイル定義名を取得する
					String kddiAnkenDefName = JBSbatAplConst.getAplConstValue(JKKStrConst.KDDI_BAT_ID_IND) + JKKStrConst.KDDI_FILE_ID_ANKEN_UPD + ".def";
					// KDDI取次案件更新ファイル定義オブジェクトを生成する
					JBSbatDefFileUtil kddiAnkenFileDef  = new JBSbatDefFileUtil(kddiAnkenDefName, kddiAnken);
				
					// コード名称管理からコード値を取得する
					setCodeValueList();
					
					// Readerオブジェクトを生成する。
					kddiAnken.createReader();
				
					String line = null; // ファイルレコード
					while (kddiAnken.ready()) 
					{
						//エラーリスト初期化
						errMapList = new ArrayList<HashMap<String, String>>();
						//エラーフラグ初期化
						isCheckErrFlg = false;
						
						// ファイルレコード取得
						line = kddiAnken.readLine();
						
						// ファイルレコード件数カウントアップ
						fileRecordCnt++;
						
						// 一行取り出し、kddiAnkenMapに代入
						// lineToObject内で項目数チェックが行われ、isinputErrorFlgが設定される
						JBSbatServiceInterfaceMap kddiAnkenMap = kddiAnkenFileDef.lineToObject(line, kddiAnken, fileRecordCnt);
						
						if (kddiAnkenMap.isInputErrorFlg())
						{
							// 項目数エラーの場合
							// メッセージ設定
							String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1690CE);
							// エラーリスト設定
							dataMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_RSLT_VAL_ERR, null, 
									null, msg, null,null));
							rsltCd = JKKStrConst.DLYD_TRN_RSLT_CD_APP_ERR;
							// エラーレコード件数カウントアップ
							errRecordCnt++;
							continue;
						}
						
						//KDDI他事業者割引状況照会テーブルのインプット取得用オブジェクトを作成
						JBSbatCommonDBInterface kddiTjgwrKjksMap = null;

						// 紹介管理番号項目チェック
						boolean isIntrHyoKanriNoFlg = intrHyoKanriNoCheck(kddiAnkenMap);
						
						// 紹介票管理番号にエラーがない場合、KDDI他事業者割引契約状況照会のインプットデータを取得する
						if(!isIntrHyoKanriNoFlg)
						{
							// 照会票管理番号を元にKDDI他事業者割引契約情報のデータを取得する
							kddiTjgwrKjksMap = getKddiTjgwrKjksMap(kddiAnkenMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO));
							
						}
						
						// 入力チェック（項目・存在・整合性）
						isInputCheck(kddiAnkenMap,kddiTjgwrKjksMap,isIntrHyoKanriNoFlg);
						
						if(isCheckErrFlg)
						{
							rsltCd = JKKStrConst.DLYD_TRN_RSLT_CD_APP_ERR;
						}
						else
						{
							//エラーが存在しない場合、ＫＤＤＩ他事業者割引契約状況照会を更新する
							updateKDDITjgwrKjksUpdList(kddiAnkenMap);
						}
						
					}
					
					// ファイルクローズ
					if(kddiAnken != null)
					{
						kddiAnken.close();
					}
				}
					
				// KDDI取次案件取込更新結果リスト登録
				insertKDDITrkmRslt();
				
				// ディレイド処理依頼結果更新処理
				updateShoriIrai(shoriCnt, false);
				
			}
		}
		catch (Exception e)
		{
			// ディレイド処理依頼結果更新処理
			updateShoriIrai(shoriCnt, true);
			
			throw e;
		}
		
		return null;
	
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_ZM_T_DATAIKTTRK_KNRI.close();
		db_KK_T_KDDI_TJGWR_KJKS.close();
		db_ZM_M_CD_NM_KANRI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 *ディレイド処理依頼結果更新処理<br>
	 * @param fileCnt ファイル件数
	 * @param isSysErrFlg エラーフラグ
	 * @throws Exception
	 */
	private void updateShoriIrai(int fileCnt, boolean isSysErrFlg) throws Exception
	{
		if (isSysErrFlg)
		{
			// エラーの場合
			// DBロールバック処理
			JBSbatBusinessBase.dbcon.rollback();
			rsltCd = JKKStrConst.DLYD_TRN_RSLT_CD_SYS_ERR;
		}
		
		// ディレイド処理依頼結果更新部品呼び出し
		String dlydTrnReqNo =  dlydTrnMapList.get(fileCnt).get(JBSbatCC_T_DLYD_TRN_REQ.DLYD_TRN_REQ_NO).toString();
		JKKBatCommon.updateShoriIraiResult(commonItem, dlydTrnReqNo, rsltCd, null);
		
		// DBコミット処理
		JBSbatBusinessBase.dbcon.commit();
	}
	
	/**
	 * KDDI取次案件取込更新結果リスト作成
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 * @throws Exception
	 */
	private boolean createKDDITrkmUpdRslt() throws Exception
	{
		if(kddiTrkmUpdRsltFileObj == null)
		{
			// KDDI取次案件取込更新結果リストファイル名取得
			String kddiTrkmUpdRslt = JKKBatCommon.getWorkParamSetteValue(commonItem,
													JKKStrConst.KDDI_WORK_PARAM_ID_TRKM_UPD_RSLT ,
													db_ZM_M_WORK_PARAM_KNRI);
			
			if(!JKKBatCommon.isNotNull(kddiTrkmUpdRslt) || !JKKBatCommon.isNotNull(commonItem.getFreeItem()))
			{
				// 値が取得出来なかった場合、システムエラーとする
				return false;
			}
			
			// KDDI取次案件取込更新結果リストファイル作成
			// 取得したKDDI取次案件取込更新結果リストファイル名雛形からファイル名を作成をする
			kddiTrkmUpdRsltFileName = kddiTrkmUpdRslt.replace(JKKStrConst.KDDI_DATE_YMD, JKKBatCommon.getSysDate());
			
			// KDDI取次案件取込結果リストファイルオブジェクトを生成する
			kddiTrkmUpdRsltFileObj = JKKBatCommon.createBusinessFileUtil(commonItem.getFreeItem() + "/" + kddiTrkmUpdRsltFileName, 
																		JKKStrConst.CHAR_SET_WIN31J, 
																		JKKStrConst.LINE_SEPARATOR, 
																		JKKStrConst.KDDI_CONMA);
			
		}
		
		return true;
	}

	/**
	 *コード値チェック<br>
	 * @param codeValue 検査するコード値
	 * @param codeList 検査するコード種別のコード区分リスト
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean codeValueCheck(String codeValue, ArrayList<String> codeList)
	{
		boolean isCodeExist = false;
		if(codeValue == null || "".equals(codeValue))
		{
			isCodeExist = true;
		}
		else
		{
			for (int i = 0; i < codeList.size(); i++)
			{
				if (codeValue.equals(codeList.get(i)))
				{
					isCodeExist = true;
					break;
				}
			}
		}
		return isCodeExist;
	}
	
	/**
	 *各コードのコード値リストを取得<br>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setCodeValueList()throws Exception
	{
		// コードリストを初期化
		statCdList = null;
		keiSvcTelList = null;
		keiSvcNetList = null;
		keiSvcTvList = null;
		renkeiKasyoList = null;
		okNgRsltList = null;
		smvlNgRsnList = null;
		
		// コードリストを取得
		statCdList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_STAT_CD);
		keiSvcTelList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_KEI_SVC_TEL);
		keiSvcNetList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_KEI_SVC_NET);
		keiSvcTvList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_KEI_SVC_TV);
		renkeiKasyoList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_RENKEI_KASYO);
		okNgRsltList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_OKNG_RSLT);
		smvlNgRsnList = getCodeValueList(JKKStrConst.KDDI_UPD_CDNM_SMVL_NG_RSN);
	}
	
	/**
	 *コード値を取得してリスト形式で返す<br>
	 * @param cdSbtCd 取得するコード区分のコード種別コード
	 * @return   ArrayList<String> 取得するコード種別コードの持つコード区分値のリスト。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<String> getCodeValueList(String cdSbtCd) throws Exception
	{
		ArrayList<String> codeValueList = new ArrayList<String>();
		
		// コード名称管理の取得条件を設定
		Object param[] = new Object[3];
		param[0] = cdSbtCd;
		param[1] = JKKBatCommon.getSysDate().toString();
		param[2] = JKKBatCommon.getSysDate().toString();
		
		executeZM_M_CD_NM_KANRI_KK_SELECT_010(param);
		
		JBSbatCommonDBInterface codeValueMap = db_ZM_M_CD_NM_KANRI.selectNext();
		
		while (null != codeValueMap )
		{
			codeValueList.add(codeValueMap.getString("CD_DIV"));
			codeValueMap = db_ZM_M_CD_NM_KANRI.selectNext();
		}
		
		return codeValueList;
	}
	
	/**
	 *データ一括管理テーブル取得<br>
	 * @param shoriCnt 処理件数
	 * @return  JBSbatCommonDBInterface データ一括登録管理テーブルから取得したKDDI取次案件更新のファイル名を持つレコード
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface getKDDIAnken(int shoriCnt) throws Exception
	{
		// データ一括登録管理テーブルからKDDI取次案件のファイル名を取得する。
		// データ一括登録管理テーブルデータ取得条件を設定
		Object[] whereParamDlFile = new Object[2];
		// ディレイド処理依頼番号
		whereParamDlFile[0] = dlydTrnMapList.get(shoriCnt).get(JBSbatCC_T_DLYD_TRN_REQ.DLYD_TRN_REQ_NO).toString();
		// 電子ファイル管理番号
		whereParamDlFile[1] =  dlydTrnMapList.get(shoriCnt).get(JBSbatCC_T_DLYD_TRN_REQ.INPUT_EFILE_KANRI_NO).toString();
		
		// データ一括登録管理テーブルデータ取得
		executeZM_T_DATAIKTTRK_KNRI_KK_SELECT_001(whereParamDlFile);
		
		JBSbatCommonDBInterface mapDataikttrkKanri = db_ZM_T_DATAIKTTRK_KNRI.selectNext();
		return mapDataikttrkKanri;
	}
	
	/**
	 *KDDI取次案件更新ファイル拡張子チェック<br>
	 * @param JBSbatCommonDBInterface データ一括登録管理テーブルから取得したKDDI取次案件更新のファイル名を持つレコード
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isCheckKDDIAnken(JBSbatCommonDBInterface mapDataikttrkKanri) throws Exception
	{
		boolean isCheckFlg = true;
				
		// 拡張子チェック
		String fileNm = mapDataikttrkKanri.getString(JBSbatZM_T_DL_FILE_KANRI.FILE_NM);
		int point = fileNm.lastIndexOf(".");
		if(point != -1)
		{
			String extension = fileNm.substring(point + 1);
			
			if(!EXTENSION_CSV.equals(extension.toLowerCase()))
			{
				// 拡張子がcsv以外の場合
				isCheckFlg = false;
			}
		}
		else
		{
			isCheckFlg = false;
		}
		
		if(!isCheckFlg)
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1680CE);
			// エラーリスト設定
			dataMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, null, 
							null, msg, null,null));
		}
		
		return isCheckFlg;
	}
	
	/**
	 *KDDI取次案件取込更新結果リスト(データ部)設定処理<br>
	 * @param stat ステータス
	 * @param colNm 項目名
	 * @param colVal 項目の値
	 * @param errMsg エラーメッセージ
	 * @param intrHyoKanriNo 紹介票管理番号
	 * @return  HashMap<String, String> KDDI取次案件取込更新結果リスト(データ部)設定値
	 */
	private HashMap<String, String> setKDDITrkmUpdRsltDataList(String stat, String colNm, String colVal, String errMsg, String intrHyoKanriNo, 
			JBSbatServiceInterfaceMap ankenMap) throws Exception
	{
		HashMap<String, String> dataMap = new HashMap<String, String>();
		
		// 行番号
		if(fileRecordCnt == 0)
		{
			dataMap.put(JBSbatKKIFM794.ROW_NO, null);
		}
		else
		{
			dataMap.put(JBSbatKKIFM794.ROW_NO, String.valueOf(fileRecordCnt) + JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ROW);
		}
		// 紹介票管理番号
		dataMap.put(JBSbatKKIFM794.INTR_HYO_KANRI_NO, intrHyoKanriNo);
		// 処理日
		dataMap.put(JBSbatKKIFM794.TRN_DAY, JKKBatCommon.formatDatetimeSS(JKKBatCommon.getSysDateTime()));
		// ステータス
		dataMap.put(JBSbatKKIFM794.STAT, stat);
		// エラー項目（名称）
		dataMap.put(JBSbatKKIFM794.ERR_KMK_NM, colNm);
		// エラー項目（値）
		dataMap.put(JBSbatKKIFM794.ERR_KMK_VAL, colVal);
		// エラーメッセージ
		dataMap.put(JBSbatKKIFM794.ERR_MSG, errMsg);

		// 以下、KDDI取次案件更新ファイル項目
		if (ankenMap == null )
		{
			// 入力データ＿ステータス
			dataMap.put(JBSbatKKIFM794.IND_STAT_CD, null);
			// 入力データ＿受付日
			dataMap.put(JBSbatKKIFM794.IND_UK_DAY, null);
			// 入力データ＿成否結果
			dataMap.put(JBSbatKKIFM794.IND_OKNG_RSLT, null);
			// 入力データ＿契約サービス（ｎｅｔ）
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_NET, null);
			// 入力データ＿契約サービス（ｔｅｌ）
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_TEL, null);
			// 入力データ＿契約サービス（ｔｖ）
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_TV, null);
			// 入力データ＿スマートバリューＮＧ理由
			dataMap.put(JBSbatKKIFM794.IND_SMVL_NG_RSN, null);
			// 入力データ＿訂正内容
			dataMap.put(JBSbatKKIFM794.IND_TEISE_NAIYO, null);
			// 入力データ＿ネット／電話申込番号
			dataMap.put(JBSbatKKIFM794.IND_NET_TEL_MSKM_NO, null);
			// 入力データ＿テレビ申込番号
			dataMap.put(JBSbatKKIFM794.IND_TV_MSKM_NO, null);
			// 入力データ＿受付番号
			dataMap.put(JBSbatKKIFM794.IND_UK_NO, null);
			// 入力データ＿備考
			dataMap.put(JBSbatKKIFM794.IND_BIKO, null);
			// 入力データ＿連携箇所
			dataMap.put(JBSbatKKIFM794.IND_RENKEI_KASYO, null);
		}
		else
		{
			// 入力データ＿ステータス	
			dataMap.put(JBSbatKKIFM794.IND_STAT_CD, ankenMap.getString(JBSbatKKIFE397.STAT_CD));
			// 入力データ＿受付日	
			dataMap.put(JBSbatKKIFM794.IND_UK_DAY, ankenMap.getString(JBSbatKKIFE397.UK_DAY));
			// 入力データ＿成否結果	
			dataMap.put(JBSbatKKIFM794.IND_OKNG_RSLT, ankenMap.getString(JBSbatKKIFE397.OKNG_RSLT));
			// 入力データ＿契約サービス（ｎｅｔ）	
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_NET, ankenMap.getString(JBSbatKKIFE397.KEI_SVC_NET));
			// 入力データ＿契約サービス（ｔｅｌ）	
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_TEL, ankenMap.getString(JBSbatKKIFE397.KEI_SVC_TEL));
			// 入力データ＿契約サービス（ｔｖ）	
			dataMap.put(JBSbatKKIFM794.IND_KEI_SVC_TV, ankenMap.getString(JBSbatKKIFE397.KEI_SVC_TV));
			// 入力データ＿スマートバリューＮＧ理由	
			dataMap.put(JBSbatKKIFM794.IND_SMVL_NG_RSN, ankenMap.getString(JBSbatKKIFE397.SMVL_NG_RSN));
			// 入力データ＿訂正内容	
			dataMap.put(JBSbatKKIFM794.IND_TEISE_NAIYO, ankenMap.getString(JBSbatKKIFE397.TEISE_NAIYO));
			// 入力データ＿ネット／電話申込番号	
			dataMap.put(JBSbatKKIFM794.IND_NET_TEL_MSKM_NO, ankenMap.getString(JBSbatKKIFE397.NET_TEL_MSKM_NO));
			// 入力データ＿テレビ申込番号	
			dataMap.put(JBSbatKKIFM794.IND_TV_MSKM_NO, ankenMap.getString(JBSbatKKIFE397.TV_MSKM_NO));
			// 入力データ＿受付番号	
			dataMap.put(JBSbatKKIFM794.IND_UK_NO, ankenMap.getString(JBSbatKKIFE397.UK_NO));
			// 入力データ＿備考	
			dataMap.put(JBSbatKKIFM794.IND_BIKO, ankenMap.getString(JBSbatKKIFE397.BIKO));
			// 入力データ＿連携箇所	
			dataMap.put(JBSbatKKIFM794.IND_RENKEI_KASYO, ankenMap.getString(JBSbatKKIFE397.RENKEI_KASYO));
		}
		
		return dataMap;
	}
	
	/**
	 *ＫＤＤＩ他事業者割引契約状況紹介テーブルを取得します。<br>
	 * @param intrHyoKanriNo 紹介票管理番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface getKddiTjgwrKjksMap(String intrHyoKanriNo) throws Exception
	{
		// ＫＤＤＩ他事業者割引契約状況照会テーブルデータ取得条件を設定
		Object[] whereParamIntrHyoKanriNo = new Object[1];
		// 紹介票管理番号
		whereParamIntrHyoKanriNo[0] = intrHyoKanriNo;
		
		// KDDI他事業者契約状況照会テーブルデータ取得
		executeKK_T_KDDI_TJGWR_KJKS_KK_SELECT_003(whereParamIntrHyoKanriNo);
			
		JBSbatCommonDBInterface mapKDDITjgwrKjks = db_KK_T_KDDI_TJGWR_KJKS.selectNext();
		
		return mapKDDITjgwrKjks;
	}
	
	/**
	 *KDDI他事業者割引契約状況照会テーブル更新処理<br>
	 * @param ankenMap KDDI取次案件更新ファイル一行分の値
	 */
	private void updateKDDITjgwrKjksUpdList(JBSbatServiceInterfaceMap ankenMap)throws Exception
	{
		// KDDI他事業者割引契約状況照会テーブル更新値作成
		Object[] param = new Object[14];
		
		// KDDI他事業者割引契約状況照会テーブルをKDDI取次案件更新で更新
		// [0]ステータス
		param[0] = ankenMap.getString(JBSbatKKIFE397.STAT_CD);
		// [1]受付日
		param[1] = ankenMap.getString(JBSbatKKIFE397.UK_DAY);
		// [2]契約サービス(tel)
		param[2] = ankenMap.getString(JBSbatKKIFE397.KEI_SVC_TEL);
		// [3]契約サービス(net)
		param[3] = ankenMap.getString(JBSbatKKIFE397.KEI_SVC_NET);
		// [4]契約サービス(tv)
		param[4] = ankenMap.getString(JBSbatKKIFE397.KEI_SVC_TV);
		// [5]成否結果
		if(!(null == ankenMap.getString(JBSbatKKIFE397.OKNG_RSLT) || "".equals(ankenMap.getString(JBSbatKKIFE397.OKNG_RSLT))))
		{ 
			// NULLまたは空白では無い場合は0埋めした値をセット
			param[5] = JTUStringUtil.setzero(ankenMap.getString(JBSbatKKIFE397.OKNG_RSLT),2);
		}
		else
		{
			param[5] = "";
		}	
		// [6]スマートバリューNG理由
		param[6] = ankenMap.getString(JBSbatKKIFE397.SMVL_NG_RSN);
		// [7]訂正内容
		param[7] = ankenMap.getString(JBSbatKKIFE397.TEISE_NAIYO);
		// [8]受付番号
		param[8] = ankenMap.getString(JBSbatKKIFE397.UK_NO);
		// [9]ネット/電話申込番号
		param[9] = ankenMap.getString(JBSbatKKIFE397.NET_TEL_MSKM_NO);
		// [10]テレビ申込番号
		param[10] = ankenMap.getString(JBSbatKKIFE397.TV_MSKM_NO);
		// [11]連携箇所
		if(!(null == ankenMap.getString(JBSbatKKIFE397.RENKEI_KASYO) || "".equals(ankenMap.getString(JBSbatKKIFE397.RENKEI_KASYO))))
		{ 
			// NULLまたは空白では無い場合は0埋めした値をセット
			param[11] = JTUStringUtil.setzero(ankenMap.getString(JBSbatKKIFE397.RENKEI_KASYO),3);
		}
		else
		{
			param[11] = "";
		}
		// [12]備考
		param[12] = ankenMap.getString(JBSbatKKIFE397.BIKO);
		// [13]紹介票管理番号
		param[13] = ankenMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO);
		
		// 更新処理
		// DBアクセスを実行します
		executeKK_T_KDDI_TJGWR_KJKS_KK_UPDATE_001(param);
	
	}
	
	/**
	 * KDDI取次案件取込更新結果リスト登録
	 * (電子管理ファイルテーブルへファイル登録、ダウンロード管理ファイルへファイル情報登録)
	 * @throws Exception
	 */
	private void insertKDDITrkmRslt() throws Exception
	{
		// KDDI取次案件取込更新結果リスト(処理結果件数)出力
		setKDDITrkmRsltCntList();
		
		// KDDI取次案件取込更新結果リスト(タイトル部)出力
		setKDDITrkmRsltTitleList();
		
		// KDDI取次案件取込更新結果リスト(データ部)出力
		for (int dataCnt = 0; dataCnt < dataMapList.size(); dataCnt++) 
		{
			JBSbatServiceInterfaceMap dataMap = new JBSbatServiceInterfaceMap();
			dataMap.setMap(dataMapList.get(dataCnt));
			ArrayList<String> dataList = new ArrayList<String>();
			dataList.add(dataMap.getString(JBSbatKKIFM794.ROW_NO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.INTR_HYO_KANRI_NO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.TRN_DAY));
			dataList.add(dataMap.getString(JBSbatKKIFM794.STAT));
			dataList.add(dataMap.getString(JBSbatKKIFM794.ERR_KMK_NM));
			dataList.add(dataMap.getString(JBSbatKKIFM794.ERR_KMK_VAL));
			dataList.add(dataMap.getString(JBSbatKKIFM794.ERR_MSG));
			// 以下KDDI取次案件更新ファイル全項目
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_STAT_CD));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_UK_DAY));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_OKNG_RSLT));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_KEI_SVC_NET));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_KEI_SVC_TEL));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_KEI_SVC_TV));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_SMVL_NG_RSN));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_TEISE_NAIYO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_NET_TEL_MSKM_NO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_TV_MSKM_NO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_UK_NO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_BIKO));
			dataList.add(dataMap.getString(JBSbatKKIFM794.IND_RENKEI_KASYO));

			
			JKKBatCommon.printBusinessFileUtil(kddiTrkmUpdRsltFileObj, dataList);
		}
		
		// ファイルクローズ
		if(kddiTrkmUpdRsltFileObj != null)
		{
			kddiTrkmUpdRsltFileObj.close();
		}
		
		// KDDI取次案件取込更新結果リストファイル保持期間を運用日から一ヶ月間に設定する
		String delYmd = null;

		delYmd = JPCUtilCommon.addMonth(super.opeDate, 1);
		
		// KDDI取次案件取込更新結果リストファイル登録処理
		// このメソッドで電子管理ファイルにファイルを登録したと同時にダウンロードファイル管理にファイル情報が登録される
		JKKBatCommon.createFile(commonItem,
								JKKStrConst.KDDI_TRN_KANRI_IKT_UPD_RSLT,
								new Long(dataMapList.size()),
								null,
								commonItem.getFreeItem(),
								kddiTrkmUpdRsltFileName,
								delYmd,
								db_ZM_T_DL_FILE_KANRI,
								false);
	}
	
	/**
	 *KDDI取次案件取込更新結果リスト(処理結果件数)出力処理<br>
	 * @throws Exception
	 */
	private void setKDDITrkmRsltCntList() throws Exception
	{
		
		ArrayList<String> rsltCntList = new ArrayList<String>();
		// 総件数
		String totalVal = JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_TOTAL.replace(JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_CNT, String.valueOf(fileRecordCnt));
		rsltCntList.add(totalVal);
		// 正常取込件数
		String normalVal = JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_NOMAL.replace(JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_CNT, String.valueOf(normalRecordCnt));
		rsltCntList.add(normalVal);
		// エラー件数
		String errVal = JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_ERR.replace(JKKStrConst.KDDI_TRKM_UPD_RSLT_HEAD_CNT, String.valueOf(errRecordCnt));
		rsltCntList.add(errVal);
		
		JKKBatCommon.printBusinessFileUtil(kddiTrkmUpdRsltFileObj, rsltCntList);
		
	}
	
	/**
	 *KDDI取次案件取込更新結果リスト(タイトル部)出力処理<br>
	 * @throws Exception
	 */
	private void setKDDITrkmRsltTitleList() throws Exception
	{
		
		ArrayList<String> titleList = new ArrayList<String>();
		
		// 行番号
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_ROW_NO);
		// 紹介票管理番号
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_INTR_HYO_KANRI_NO);
		// 処理日
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_TRN_DAY);
		// ステータス
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_STAT);
		// エラー項目（名称）
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_ERR_KMK_NM);
		// エラー項目（値）
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_ERR_KMK_VAL);
		// エラーメッセージ
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_ERR_MSG);
		// 入力データ＿ステータス
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_STAT_CD);
		// 入力データ＿受付日
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_UK_DAY);
		// 入力データ＿成否結果
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_OKNG_RSLT);
		// 入力データ＿契約サービス（ｎｅｔ）
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_KEI_SVC_NET);
		// 入力データ＿契約サービス（ｔｅｌ）
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_KEI_SVC_TEL);
		// 入力データ＿契約サービス（ｔｖ）
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_KEI_SVC_TV);
		// 入力データ＿スマートバリューＮＧ理由
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_SMVL_NG_RSN);
		// 入力データ＿訂正内容
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_TEISE_NAIYO);
		// 入力データ＿ネット／電話申込番号
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_NET_TEL_MSKM_NO);
		// 入力データ＿テレビ申込番号
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_TV_MSKM_NO);
		// 入力データ＿受付番号
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_UK_NO);
		// 入力データ＿備考
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_BIKO);
		// 入力データ＿連携箇所
		titleList.add(JKKStrConst.KDDI_TRKM_UPD_RSLT_IND_RENKEI_KASYO);
		
		JKKBatCommon.printBusinessFileUtil(kddiTrkmUpdRsltFileObj, titleList);
		
	}
	
	/**
	 *入力情報（ＫＤＤＩ取次案件更新ファイルの紹介管理番号）のチェックを行います。<br>
	 * <p>
	 *整合性チェック（ＫＤＤＩ取次案件更新ファイル・ＫＤＤＩ他事業者割引契約状況照会テーブル）<br>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @return  boolean falseである場合、エラーがありません。trueである場合、エラーを発生しました。
	 */
	private boolean intrHyoKanriNoCheck(JBSbatServiceInterfaceMap rsMap)throws Exception
	{
		// 単項目チェックを行います
		String strValue = null;
		
		//チェック結果マップ
		HashMap<String, Object> rsltMap = new HashMap<String, Object>();

		// 紹介票管理番号項目チェック
		boolean isIntrHyoKanriNoFlg = false;
		
		strValue = rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO);
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1700KE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.INTR_HYO_KANRI_NO, 
							null, msg, null,rsMap));
			isIntrHyoKanriNoFlg = true;
			isCheckErrFlg = true;
		}
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 9, 9, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.INTR_HYO_KANRI_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isIntrHyoKanriNoFlg = true;
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.INTR_HYO_KANRI_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isIntrHyoKanriNoFlg = true;
			isCheckErrFlg = true;
		}
		return isIntrHyoKanriNoFlg;
	}
	
	/**
	 *入力情報（ＫＤＤＩ取次案件更新ファイル・ＫＤＤＩ他事業者割引契約状況照会テーブル）のチェックを行います。<br>
	 * <p>
	 *項目チェック（ＫＤＤＩ取次案件更新ファイル）<br>
	 *存在チェック（ＫＤＤＩ他事業者割引契約状況照会テーブル）<br>
	 *整合性チェック（ＫＤＤＩ取次案件更新ファイル・ＫＤＤＩ他事業者割引契約状況照会テーブル）<br>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param kddiTjgwrKjksMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param isIntrHyoKankriNoFlg 紹介管理番号のエラーフラグ trueである場合、エラーがありました。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isInputCheck(JBSbatServiceInterfaceMap rsMap,JBSbatCommonDBInterface kddiTjgwrKjksMap,boolean isIntrHyoKanriNoFlg)throws Exception
	{
		// 単項目チェックを行います
		String strValue = null;
		
		//チェック結果マップ
		HashMap<String, Object> rsltMap = new HashMap<String, Object>();
		
		// ステータス項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.STAT_CD);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 1, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_STAT_CD, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_STAT_CD, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック
		if (!(codeValueCheck(rsMap.getString(JBSbatKKIFE397.STAT_CD), statCdList)))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_STAT_CD, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 受付日項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.UK_DAY);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 8, 8, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_UK_DAY, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		//属性チェック(空白の場合はスルーする)
		if(!(null == strValue || "".equals(strValue)))
		{
			if(!JPCUtilCommon.checkDate(strValue, 8))
			{
				// メッセージ設定
				String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
																JKKStrConst.KDDI_FORM_NM_YMD_1});
				// エラーリスト設定
				errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_UK_DAY, 
								strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
				isCheckErrFlg = true;
			}
		}
		
		// 成否結果項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.OKNG_RSLT);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 2, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_OKNG_RSLT, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_OKNG_RSLT, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック(NULLもしくは空白のときはスルーする)
		if(!(null == strValue || "".equals(strValue)))
		{
			// 成否結果は0埋めをした値に対してコードチェックを行なう
			if (!(codeValueCheck(JTUStringUtil.setzero(strValue,2), okNgRsltList)))
			{
				// メッセージ設定
				String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
																JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
				// エラーリスト設定
				errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_OKNG_RSLT, 
								strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
				isCheckErrFlg = true;
			}
		}
		
		// 契約サービス(net)項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.KEI_SVC_NET);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 1, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_NET, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_NET, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック
		if (!(codeValueCheck(rsMap.getString(JBSbatKKIFE397.KEI_SVC_NET), keiSvcNetList)))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_NET, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 契約サービス(tel)項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.KEI_SVC_TEL);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 1, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TEL, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TEL, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック
		if (!(codeValueCheck(rsMap.getString(JBSbatKKIFE397.KEI_SVC_TEL), keiSvcTelList)))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TEL, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 契約サービス(tv)項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.KEI_SVC_TV);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 1, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TV, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TV, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック
		if (!(codeValueCheck(rsMap.getString(JBSbatKKIFE397.KEI_SVC_TV), keiSvcTvList)))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_KEI_SVC_TV, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// スマートバリューNG理由項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.SMVL_NG_RSN);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 1, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_SMVL_NG_RSN, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_SMVL_NG_RSN, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック
		if (!(codeValueCheck(rsMap.getString(JBSbatKKIFE397.SMVL_NG_RSN), smvlNgRsnList)))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_SMVL_NG_RSN, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 訂正内容項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.TEISE_NAIYO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 80, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_TEISE_NAIYO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// ネット/電話申込番号項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.NET_TEL_MSKM_NO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 10, 10, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_NET_TEL_MSKM_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_NET_TEL_MSKM_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// テレビ申込番号項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.TV_MSKM_NO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 10, 10, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_TV_MSKM_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_TV_MSKM_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 受付番号項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.UK_NO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 10, 10, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_UK_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_UK_NO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 備考項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.BIKO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 200, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_BIKO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		
		// 連携箇所項目チェック
		strValue = rsMap.getString(JBSbatKKIFE397.RENKEI_KASYO);
		// 桁数チェック
		rsltMap = JKKBatCommon.checkDigitno(strValue, 1, 3, JKKStrConst.CHAR_SET_WIN31J, JKKStrConst.KDDI_MOJISBT_MOJI);
		if(!Boolean.valueOf(rsltMap.get(JKKStrConst.KDDI_CHK_RSLT_BOOL).toString()))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0680TE);
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_RENKEI_KASYO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			// メッセージ設定
			String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB0730TE, new String[]{
															JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
			// エラーリスト設定
			errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_RENKEI_KASYO, 
							strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
			isCheckErrFlg = true;
		}
		// コードチェック(NULLもしくは空白のときはスルーする)
		if(!(null == strValue || "".equals(strValue)))
		{
			// 連携箇所は0埋めをした値に対してコードチェックを行なう
			if (!(codeValueCheck(JTUStringUtil.setzero(strValue,3), renkeiKasyoList)))
			{
				// メッセージ設定
				String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1720KE, new String[]{
																JKKStrConst.KDDI_FORM_NM_EN_NUM_1});
				// エラーリスト設定
				errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.KDDI_UPD_RENKEI_KASYO, 
								strValue, msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
				isCheckErrFlg = true;
			}
		}
		
		// 紹介管理番号にエラーがないときのみKDDI他事業者割引状況照会の存在チェックを行なう
		if (!isIntrHyoKanriNoFlg)
			{	
			// 存在チェック(KDDI他事業者割引契約状況紹介の紹介票管理番号)
			if(kddiTjgwrKjksMap == null)
			{
				// メッセージ設定
				String msg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EKKB1710KE, new String[]{
																JKKStrConst.INTR_HYO_KANRI_NO});
				// エラーリスト設定
				errMapList.add(setKDDITrkmUpdRsltDataList(JKKStrConst.KDDI_TRKM_UPD_RSLT_VAL_ERR, JKKStrConst.INTR_HYO_KANRI_NO, 
						rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO), msg, rsMap.getString(JBSbatKKIFE397.INTR_HYO_KANRI_NO),rsMap));
				isCheckErrFlg = true;
			}		
		}
		
		// エラーの有無をチェックし、真偽を返す
		if(isCheckErrFlg)
		{
			// エラーの場合
			// エラーレコード件数カウントアップ
			errRecordCnt++;
			for (int errCnt = 0; errCnt < errMapList.size(); errCnt++)
			{
				dataMapList.add(errMapList.get(errCnt));
			}
			return false;
		}	
		
		// 正常レコード件数カウントアップ
		normalRecordCnt++;
		return true;
		
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	ディレイド処理依頼番号
	 *		 	電子ファイル管理番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_T_DATAIKTTRK_KNRI_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_ZM_T_DATAIKTTRK_KNRI.selectBySqlDefine(paramList, ZM_T_DATAIKTTRK_KNRI_KK_SELECT_001);
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	紹介票管理番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KDDI_TJGWR_KJKS_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KDDI_TJGWR_KJKS.selectBySqlDefine(paramList, KK_T_KDDI_TJGWR_KJKS_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_010)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	コード種別コード
	 *		 	コード適用開始年月日
	 *		 	コード適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_CD_NM_KANRI_KK_SELECT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_KK_SELECT_010);
	}

	/**
	 * SQLKEY(KK_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	他事業者割引契約状況照会状態コード
	 *		 	対応完了年月日
	 *		 	eo光電話契約状況コード
	 *		 	eo光ネット契約状況コード
	 *		 	eo光テレビ契約状況コード
	 *		 	KOPT訂正内容
	 *		 	KOPT契約受注活動結果コード
	 *		 	KDDI他事業者割引NG理由コード
	 *		 	申込書番号
	 *		 	ネット電話申込書明細番号
	 *		 	テレビ申込書明細番号
	 *		 	情報連携部署コード
	 *		 	KOPT備考
	 *		 	紹介票管理番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KDDI_TJGWR_KJKS_KK_UPDATE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());

		// DBアクセスを実行します
		db_KK_T_KDDI_TJGWR_KJKS.executeBySqlDefine(paramList, KK_T_KDDI_TJGWR_KJKS_KK_UPDATE_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
