/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatAC050TuwaPrcUpplInfOput
*	ソースファイル名	：JBSbatAC050TuwaPrcUpplInfOput.java
*	作成者				：富士通　
*	作成日				：2013年03月01日
*＜機能概要＞
*　050通話料上限超過情報出力部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00.00	2013/03/01   富士通		新規作成
*	v5.01.00	2013/06/11   富士通		【IKK-2013-0001182】 お客さまID出力内容不備対応
*                                       【IKK-2013-0001183】 メール本文可変項目（規定金額）変換漏れ対応
*	v5.02.00	2013/08/07   FJ)早崎	【TG1-2013-0000806】文字化け対応
*	v9.00.00	2014/06/18   FJ)桑島	【ST-2014-0000121】サービス契約スキーマ情報のエラー制御変更対応
*	v35.00.00	2016/06/23   FJ)貝本	【ANK-3164-00-00】LaLaCall通話料上限超過対応
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JACBatCommon;
import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JACbatParamUtil;
import eo.business.common.JACbatRknBusinessUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.util.table.JBSbatAC_T_CN050AP_TWRCKTC;
import eo.business.util.table.JBSbatCC_M_MAIL;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatCK_T_RRKS;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatZM_M_TCHI_MAIL_SENDS;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JCHUtilCommon;
import eo.common.util.JPCUtilCommon;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatBusinessFileUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatAC050TuwaPrcUpplInfOput extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(メール)*/
	private static final String D_TBL_NAME_CC_M_MAIL = "CC_M_MAIL";

	/** テーブル(通知メール送信先)*/
	private static final String D_TBL_NAME_ZM_M_TCHI_MAIL_SENDS = "ZM_M_TCHI_MAIL_SENDS";

	/** テーブル(連絡先)*/
	private static final String D_TBL_NAME_CK_T_RRKS = "CK_T_RRKS";

	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";

	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CC_M_MAIL_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String ZM_M_TCHI_MAIL_SENDS_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CK_T_RRKS_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_003)*/
	private static final String CK_T_CUST_AC_SELECT_003 = "AC_SELECT_003";

	/** SQL定義キー(AC_SELECT_027)*/
	private static final String KK_T_SVC_KEI_AC_SELECT_027 = "AC_SELECT_027";

	/** テーブルアクセスクラス(メール)*/
	private JBSbatSQLAccess db_CC_M_MAIL = null;

	/** テーブルアクセスクラス(通知メール送信先)*/
	private JBSbatSQLAccess db_ZM_M_TCHI_MAIL_SENDS = null;

	/** テーブルアクセスクラス(連絡先)*/
	private JBSbatSQLAccess db_CK_T_RRKS = null;

	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** 業務パラメータ(050通話料上限超過メールコード)*/
	private String mlCd = null;

	/** 業務パラメータ(ファイルＩＤ「050上限通知メール情報」)*/
	private String mlInfF = null;

	/** 業務パラメータ(ファイルＩＤ「050上限通知件数」)*/
	private String mlCntF = null;

	/** 業務パラメータ(ファイルＩＤ「050上限通知フラグ」)*/
	private String mlFlgF = null;

	/** 業務パラメータ(メール閾値)*/
	private String kiteiKingaku = null;

	/** ファイル用年月日時分秒 */
	private String fileYmd = null;

	/** メール用お客様宛情報マップ */
	private HashMap<String, String> mlTwpUcMap = new HashMap<String, String>();

	/** 通知メール用お客様宛通知情報マップ */
	private HashMap<String, HashMap<String, String>> acTmTwpUcMap = new HashMap<String, HashMap<String, String>>();

	/** メール送信用通話料上限通知情報ファイル */
	private ArrayList<Object> mlsTruptInfFileInf = null;

	/** メール送信用通話料上限通知件数ファイル */
	private ArrayList<Object> mlsTruptCntFileInf = null;

	/** メール送信用通話料上限通知フラグファイル */
	private ArrayList<Object> mlsTruptFlgFileInf = null;

	/** ファイル分割有無（無） */
	private static final String FILE_SPLIT_NON = "1";

	/** ファイル連番 */
	private static final String FILE_NO = "000";

	/** 編集用 バイト数制限値（64） */
	private static final int BYTE_SIZE_64 = 64;

	/** 編集用 バイト数制限値（80） */
	private static final int BYTE_SIZE_80 = 80;

	/** 編集用 バイト数制限値（100） */
	private static final int BYTE_SIZE_100 = 100;

	/** 編集用 バイト数制限値（500） */
	private static final int BYTE_SIZE_500 = 500;

	/** 編集用 バイト数制限値（4200） */
	private static final int BYTE_SIZE_4200 = 4200;

	/** ログ用 メッセージ（メール送信用通話料上限通知情報ファイル） */
	private static final String LOG_MSG_LIMIT_INFO = "メール送信用通話料上限通知情報ファイル:";

	/** ログ用 メッセージ（メール送信用通話料上限通知件数） */
	private static final String LOG_MSG_LIMIT_CNT = "メール送信用通話料上限通知件数：";

	/** ログ用 メッセージ（メール送信用通話料上限通知フラグ） */
	private static final String LOG_MSG_LIMIT_FLG = "メール送信用通話料上限通知フラグ：";

	/** 退避．変換用マップ */
	private HashMap<String, String> tmpChgeMap = null;

	/** 変換用マップキー：%1% */
	private static final String MAP_KEY_1 = "%1%";

	/** 変換用マップキー：%2% */
	private static final String MAP_KEY_2 = "%2%";

	/** 変換用マップキー：%3% */
	private static final String MAP_KEY_3 = "%3%";

	/** 変換用マップキー：%4% */
	private static final String MAP_KEY_4 = "%4%";

	/** 変換用マップキー：%5% */
	private static final String MAP_KEY_5 = "%5%";

	/** 変換用マップキー：%6% */
	private static final String MAP_KEY_6 = "%6%";

	/** 変換用マップキー：$既定金額$ */
	private static final String KITEI_KINGAKU = "$既定金額$";

	//v35.00.00 ADD START
	/** 変換用マップキー：$EO_ID$ */
	private static final String EO_ID = "[EO_ID]";
	//v35.00.00 ADD END

	/** 文字列「0」  */
	private static final String REI = "0";

	/** 10000 */
	private static final BigDecimal TEN_THOUSAND = new BigDecimal("10000");

	/** メール件数 */
	private int mailCnt = 0;

	/** メール送信用通話料上限通知件数件数 */
	private int mailCountCnt = 0;
	

	//v35.00.00 ADD START
	/** 通話料超過通知種別コード */
	private String tuchiSbtCd = null;
	
	/** 通話料超過通知種別コード(お客様通知メール) */
	private static final String CUST_TUCHI_MAIL = "1";

	/** 通話料超過通知種別コード(お客様通知メール(利用停止))*/
	private static final String CUST_TUCHI_MAIL_USE_STOP = "3";
	//v35.00.00 ADD END
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CC_M_MAIL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_M_MAIL);
		db_ZM_M_TCHI_MAIL_SENDS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_TCHI_MAIL_SENDS);
		db_CK_T_RRKS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_RRKS);
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initial]");
		
		//v35.00.00 ADD START
		//フリーパラメータより通知コードを区別する値を取得
		tuchiSbtCd = super.freeItem;
		//v35.00.00 ADD END
		
		// 業務パラメータ取得
		JACbatParamUtil paramUtil = new JACbatParamUtil(commonItem);
		//v35.00.00 MOD START
		// 050通話料上限超過メールコード
//		this.mlCd = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_TWP_ML_CD);
//		// ファイルＩＤ「050上限通知メール情報」
//		this.mlInfF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_INF_FID);
//		// ファイルＩＤ「050上限通知件数」
//		this.mlCntF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_CNT_FID);
//		// ファイルＩＤ「050上限通知フラグ」
//		this.mlFlgF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_FLG_FID);
//
//		// メール閾値(メール本文に「万円」が固定で存在する為、設定値を1万分の1にする)
//		this.kiteiKingaku = new BigDecimal(paramUtil.getGyoumuParameter(JACStrConst.WKPRA_AC_050_LIMIT + "_01")).divide(TEN_THOUSAND).toString();

		//フリーパラメータのコードが"1"(お客様通知メール)の場合
		if(CUST_TUCHI_MAIL.equals(tuchiSbtCd))
		{
			this.mlCd = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_TWP_ML_CD);
			// ファイルＩＤ「050上限通知メール情報」
			this.mlInfF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_INF_FID);
			// ファイルＩＤ「050上限通知件数」
			this.mlCntF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_CNT_FID);
			// ファイルＩＤ「050上限通知フラグ」
			this.mlFlgF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_TCH_FLG_FID);
		}
		//フリーパラメータのコードが"3"(お客様通知メール(利用停止))の場合
		else if(CUST_TUCHI_MAIL_USE_STOP.equals(tuchiSbtCd))
		{
			this.mlCd = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_TWP_ML_CD2);
			// ファイルＩＤ「050上限通知メール情報」
			this.mlInfF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_STP_INF_FID);
			// ファイルＩＤ「050上限通知件数」
			this.mlCntF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_STP_CNT_FID);
			// ファイルＩＤ「050上限通知フラグ」
			this.mlFlgF = paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_050_U_STP_FLG_FID);
		}
		//v35.00.00 MOD END

		// メール閾値(メール本文に「万円」が固定で存在する為、設定値を1万分の1にする)
		this.kiteiKingaku = new BigDecimal(paramUtil.getGyoumuParameter(JACStrConst.WKPRA_AC_050_LIMIT + "_01")).divide(TEN_THOUSAND).toString();

		paramUtil.close();

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][mlCd=" + this.mlCd + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][mlInfF=" + this.mlInfF + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][mlCntF=" + this.mlCntF + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][mlFlgF=" + this.mlFlgF + "]");

		// メール情報取得
		// お客様宛のメール送信用通話料上限通知情報取得
		selectCcMMail(this.mlCd, this.mlTwpUcMap);

		// お客様宛のメール送信用通話料上限通知情報取得
		selectZmMTchiMailSends(this.mlCd, this.acTmTwpUcMap);

		// ファイル用年月日時分秒作成
		this.fileYmd = super.opeDate.concat(JCCBatCommon.getSysDateTime().substring(8, 14));
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][SysDate=" + JCCBatCommon.getSysDateTimeStamp() + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][fileYmd=" + this.fileYmd + "]");

		// ファイル名・ファイルインスタンス取得
		// メール送信用通話料上限通知情報ファイル生成情報取得
		this.mlsTruptInfFileInf = geneFile(commonItem, this.mlInfF, JACStrConst.LINE_LF);

		// メール送信用通話料上限通知件数ファイル生成情報取得
		this.mlsTruptCntFileInf = geneFile(commonItem, this.mlCntF, JACStrConst.LINE_LF);

		// メール送信用通話料上限通知フラグファイル生成情報取得
		this.mlsTruptFlgFileInf = geneFile(commonItem, this.mlFlgF, JACStrConst.LINE_LF);

		// 変換用マップ初期化
		this.tmpChgeMap = new HashMap<String, String>();

		assert this.mlTwpUcMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial][this.mlTwpUcMap="
						+ this.mlTwpUcMap.toString() + "]") : true;
		assert this.acTmTwpUcMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial][this.acTmTwpUcMap="
						+ this.acTmTwpUcMap.toString() + "]") : true;

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial]");
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute]");
		
		// お客様情報取得
		JBSbatCommonDBInterface cstMap = this.getCstInfo(inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.SYSID));
		
		//【ST-2014-0000121】　START
		//お客様情報が取得出来なかった場合はスキップ
		if(cstMap == null)
		{
			return null;
		}
		//【ST-2014-0000121】　END

		// サービス契約情報取得
		JBSbatCommonDBInterface svcMap = this.getSvcInfo(inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.SYSID));
		
		//【ST-2014-0000121】　START
		//サービス契約情報が取得出来なかった場合はスキップ
		if(svcMap == null)
		{
			return null;
		}
		//【ST-2014-0000121】　END

		// メール情報取得
		outputMlInf(inMap, cstMap, svcMap);
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");

		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CC_M_MAIL.close();
		db_ZM_M_TCHI_MAIL_SENDS.close();
		db_CK_T_RRKS.close();
		db_CK_T_CUST.close();
		db_KK_T_SVC_KEI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][terminal]");

		// ログ出力
		this.logPrint(LOG_MSG_LIMIT_INFO, this.mlsTruptInfFileInf, this.mailCnt);

		// メール送信用通話料上限通知件数ファイル出力処理
		// メール送信用通話料上限通知件数作成処理
		outputRecord(createMlsTruptCntList(), (JBSbatBusinessFileUtil)this.mlsTruptCntFileInf.get(2));

		// メール通知件数件数カウントアップ
		this.mailCountCnt++;

		// ログ出力
		this.logPrint(LOG_MSG_LIMIT_CNT, this.mlsTruptCntFileInf, this.mailCountCnt);

		// メール送信用通話料上限通知フラグファイルログ出力処理
		this.logPrint(LOG_MSG_LIMIT_FLG, this.mlsTruptFlgFileInf, 1);

		// オープン中のファイルをクローズする
		closeFile(this.mlsTruptInfFileInf);
		closeFile(this.mlsTruptCntFileInf);
		closeFile(this.mlsTruptFlgFileInf);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][terminal]");
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(AC_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 executeCC_M_MAIL_AC_SELECT_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());

		// DBアクセスを実行します
		db_CC_M_MAIL.selectBySqlDefine(paramList, CC_M_MAIL_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_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_M_TCHI_MAIL_SENDS_AC_SELECT_001(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_TCHI_MAIL_SENDS.selectBySqlDefine(paramList, ZM_M_TCHI_MAIL_SENDS_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	連絡方法コード
	 *		 	連絡先分類コード
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_RRKS_AC_SELECT_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());

		// DBアクセスを実行します
		db_CK_T_RRKS.selectBySqlDefine(paramList, CK_T_RRKS_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_AC_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_AC_SELECT_003);
	}

	/**
	 * SQLKEY(AC_SELECT_027)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_AC_SELECT_027(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_AC_SELECT_027);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 料金管理チームバッチ共通アクセッサー部品でファイル生成します。
	 * @param commonItem 共通伝聞
	 * @param fileId ファイルID
	 * @param lineCd 変換前改行コード
	 * 
	 * @return fileInf ファイル情報
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private ArrayList<Object> geneFile(JBSbatCommonItem commonItem, String fileId, String lineCd) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][geneFile]");

		// （引数：バッチ共通パラメータ, ファイルID, ファイル分割有無, ファイル連番, 請求年月, 自由設定, 文字コード, 変換前改行コード）
		ArrayList<Object> fileInf = JACBatCommon.geneFile(commonItem, fileId, FILE_SPLIT_NON, FILE_NO, JACStrConst.KARA_MOJI, this.fileYmd,
						JACStrConst.KARA_MOJI, JACStrConst.ENCODE_SJIS, lineCd);

		String fileNm = (String)fileInf.get(0); // ファイル名（フルパス）
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][geneFile][fileNm=" + fileNm + "]");

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][geneFile]");
		return fileInf;
	}

	/**
	 * ファイルを出力します。
	 * 
	 * @param outList 出力リスト
	 * @param outFileObj ファイルオブジェクト
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void outputRecord(ArrayList<String> outList, JBSbatBusinessFileUtil outFileObj) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][outputRecord]");

		// ファイル出力を行う
		JCCBatCommon.printDoubleQuoteBusinessFileUtil(outFileObj, outList);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][outputRecord]");
	}

	
	/**
	 * ログを出力します。
	 * 
	 * @param logMsg ログメッセージ用ヘッダ
	 * @param fileInfo ファイル情報
	 * @param outCnt 出力件数
	 * 
	 */
	private void logPrint(String logMsg, ArrayList<Object>  fileInfo, int outCnt)
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][logPrint]");
		
		String[] outCntMsg = {logMsg.concat((String)fileInfo.get(0)), String.valueOf(outCnt)};
		super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0780AI, outCntMsg);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][logPrint]");
	}
	
	/**
	 * ファイルをクローズします。
	 * @param fileInfo ファイル情報
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void closeFile(ArrayList<Object> fileInfo) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][closeFile]");

		JBSbatBusinessFileUtil fileInst = (JBSbatBusinessFileUtil)fileInfo.get(2);

		// ファイルインスタンスがNULLでない場合
		if(null != fileInst)
		{
			// ファイルクローズ
			JCCBatCommon.closeBusinessFileUtil(fileInst);
		}

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][closeFile]");
	}

	/**
	 * メール情報を取得します。
	 * 
	 * @param mailCd メールコード
	 * @param resultMap 検索結果
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void selectCcMMail(String mailCd, HashMap<String, String> resultMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][selectCcMMail]");

		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		paramList.setValue(mailCd); // メールコード
		paramList.setValue(super.opeDate); // バッチ運用日
		paramList.setValue(super.opeDate); // バッチ運用日
		paramList.setValue(super.opeDate); // バッチ運用日

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][selectCcMMail][paramList=" + paramList.getList().toString() + "]");

		// SQL実行
		executeCC_M_MAIL_AC_SELECT_001(paramList.getList().toArray());
		JBSbatCommonDBInterface dbMap = db_CC_M_MAIL.selectNext();

		// 結果取得
		if(dbMap != null)
		{
			while (dbMap != null)
			{
				// 検索結果取を格納
				resultMap.putAll(dbMap.getMap());
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][selectCcMMail][resultMap=" + resultMap.toString() + "]");
				dbMap = db_CC_M_MAIL.selectNext();
			}
		}
		else
		{
			// DB未存在エラー
			String[] outCntMsg = {JBSbatCC_M_MAIL.TABLE_NAME, paramList.getList().toString()};

			// エラーコード："EACB0260CH"（DB未存在エラー）
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0260CH, outCntMsg);
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][selectCcMMail]");
	}

	/**
	 * 通知メール送信先情報を取得します。
	 * 
	 * @param mailCd メールコード
	 * @param resultMap 検索結果
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void selectZmMTchiMailSends(String mailCd, HashMap<String, HashMap<String, String>> resultMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][selectZmMTchiMailSends]");

		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		paramList.setValue(mailCd); // メールコード
		paramList.setValue(super.opeDate); // バッチ運用日
		paramList.setValue(super.opeDate); // バッチ運用日

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][selectZmMTchiMailSends][paramList=" + paramList.getList().toString() + "]");

		// SQL実行
		executeZM_M_TCHI_MAIL_SENDS_AC_SELECT_001(paramList.getList().toArray());
		JBSbatCommonDBInterface dbMap = db_ZM_M_TCHI_MAIL_SENDS.selectNext();

		// 結果取得
		if(dbMap != null)
		{
			while (dbMap != null)
			{
				// KEY:メールアドレス設定フィールドコード | value:検索結果
				resultMap.put(dbMap.getString(JBSbatZM_M_TCHI_MAIL_SENDS.MLAD_SET_FIELD_CD), dbMap.getMap());
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][selectZmMTchiMailSends][resultMap=" + resultMap.toString() + "]");
				dbMap = db_ZM_M_TCHI_MAIL_SENDS.selectNext();
			}
		}
		else
		{
			// DB未存在エラー
			String[] outCntMsg = {JBSbatZM_M_TCHI_MAIL_SENDS.TABLE_NAME, paramList.getList().toString()};

			// エラーコード："EACB0260CH"（DB未存在エラー）
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0260CH, outCntMsg);
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][selectZmMTchiMailSends]");
	}

	/**
	 * お客様より、eoID・コンテンツお客様名を取得します。
	 * @param  sys SYSID
	 * @return JBSbatCommonDBInterface 取得結果
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getCstInfo(String sys) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getCstInfo]");

		// パラメタ設定
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		paramList.setValue(sys);					// SYSID
		paramList.setValue(super.opeDate);			// 運用日
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getCstInfo][param=" + paramList.getList().toString() + "]");

		// SELECT文発行
		executeCK_T_CUST_AC_SELECT_003(paramList.getList().toArray());
		JBSbatCommonDBInterface dbMap = db_CK_T_CUST.selectNext();

		// 検索結果が存在しない場合
		if(dbMap == null)
		{
			//【ST-2014-0000121】　START
			// DB未存在エラー
			String[] outCntMsg = {JBSbatCK_T_CUST.TABLE_NAME, paramList.getList().toString()};

			// エラーコード："EACB0260CH"（DB未存在エラー）
//			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0260CH, outCntMsg);
			
			// DB未存在エラー
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getCustInfo][DB未存在エラー]");
			// エラーログ出力（エラーコード："EACB0240CW"（DB未存在エラー））
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0240CW, outCntMsg);
			//【ST-2014-0000121】　END	
			
			
		}
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getCstInfo]");
		return dbMap;
	}

	/**
	 * サービス契約より、サービス契約番号を取得します。
	 * @param  sys SYSID
	 * @return JBSbatCommonDBInterface 取得結果
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getSvcInfo(String sys) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getCsvInfo]");

		// パラメタ設定
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		paramList.setValue(sys);					// SYSID
		paramList.setValue(super.opeDate);			// 運用日
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getCsvInfo][param=" + paramList.getList().toString() + "]");

		// ホスティング（会員種別に関係なくコンテンツ利用規約に同意すると作成される）のサービス契約を取得する
		// SELECT文発行
		executeKK_T_SVC_KEI_AC_SELECT_027(paramList.getList().toArray());
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI.selectNext();

		// 検索結果が存在しない場合
		if(dbMap == null)
		{
			
			//【ST-2014-0000121】　START
			// DB未存在エラー
			String[] outCntMsg = {JBSbatKK_T_SVC_KEI.TABLE_NAME, paramList.getList().toString()};
//
//			// エラーコード："EACB0260CH"（DB未存在エラー）
//			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0260CH, outCntMsg);
			
			
			// DB未存在エラー
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getCustInfo][DB未存在エラー]");
			// エラーログ出力（エラーコード："EACB0240CW"（DB未存在エラー））
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0240CW, outCntMsg);
			//【ST-2014-0000121】　END
		}
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getCsvInfo]");
		return dbMap;
	}
	
	/**
	 * 連絡先より取得したメールアドレスの件数分、メール送信用050通話料上限通知情報を作成します。
	 * @param  inMap 入力電文
	 * @param  cstMap お客様情報
	 * @param svcMap サービス契約情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void outputMlInf(JBSbatServiceInterfaceMap inMap, JBSbatCommonDBInterface cstMap, JBSbatCommonDBInterface svcMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][outputMlInf]");

		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.SYSID)); // SYSID
		paramList.setValue(JACStrConst.RRK_WAY_CD_MLAD); // 連絡方法コード
		paramList.setValue(JACStrConst.RRKS_BRI_CD_CNTS); // 連絡先分類コード
		paramList.setValue(super.opeDate); // バッチ運用日

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][outputMlInf][paramList=" + paramList.getList().toString() + "]");

		// SQL実行
		executeCK_T_RRKS_AC_SELECT_001(paramList.getList().toArray());
		JBSbatCommonDBInterface dbMap = db_CK_T_RRKS.selectNext();

		// 結果取得
		if (dbMap != null)
		{
			// 変換用マップ設定情報設定
			//v35.00.00 MOD START
			//this.setChgeMap(inMap, cstMap);
			
			//フリーパラメータのコードが"1"(お客様通知メール)の場合
			if(CUST_TUCHI_MAIL.equals(tuchiSbtCd))
			{
				this.setChgeMap(inMap, cstMap);
			}
			//フリーパラメータのコードが"3"(お客様通知メール(利用停止))の場合
			else if(CUST_TUCHI_MAIL_USE_STOP.equals(tuchiSbtCd))
			{
				this.setUseStpChgeMap(inMap, cstMap);
			}
			//v35.00.00 MOD END

			while (dbMap != null)
			{
				// メール送信用通話料上限通知情報作成処理
				outputRecord(createMlsTruptInfList(svcMap, dbMap.getString(JBSbatCK_T_RRKS.MLAD)), (JBSbatBusinessFileUtil)this.mlsTruptInfFileInf
								.get(2));

				// メール件数カウントアップ
				this.mailCnt++;

				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][outputMlInf][dbMap=" + dbMap.toString() + "]");
				dbMap = db_CK_T_RRKS.selectNext();
			}
		}
		else
		{
			// DB未存在エラー
			String[] outCntMsg = { JBSbatCK_T_RRKS.TABLE_NAME, paramList.getList().toString() };
			
			//【ST-2014-0000121】　START
			// エラーコード："EACB0260CH"（DB未存在エラー）
//			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0260CH, outCntMsg);
			
			// DB未存在エラー
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getCustInfo][DB未存在エラー]");
			// エラーログ出力（エラーコード："EACB0240CW"（DB未存在エラー））
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0240CW, outCntMsg);
			//【ST-2014-0000121】　END	

			
		}

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][outputMlInf]");
	}
	

	/**
	 * メール送信用通話料上限通知情報格納リストを作成します。
	 * 
	 * @param svcMap 検索結果
	 * @param mlad   メールアドレス
	 * @return mlsTruptInfList メール送信用通話料上限通知情報格納リスト
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private ArrayList<String> createMlsTruptInfList(JBSbatCommonDBInterface svcMap, String mlad) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][createMlsTruptInfList]");
		ArrayList<String> list = new ArrayList<String>();

		// 1.サービス契約.サービス契約番号
		if(svcMap != null)
		{
			list.add(svcMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		}
		else
		{
			list.add(JACStrConst.KARA_MOJI);
		}
		
		// 2.メール宛先
		list.add(JCHUtilCommon.getBcutStr(mlad, BYTE_SIZE_64));
		
		// 3.メール送信者名
		list.add(JCHUtilCommon.getBcutStr(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.SENDM_MLAD_DSP_NM), BYTE_SIZE_100));
		
		// 4.メール送信者
		list.add(JCHUtilCommon.getBcutStr(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.SENDM_MLAD), BYTE_SIZE_64));
		
		// 5.メール返信先
		list.add(JCHUtilCommon.getBcutStr(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.HNSIN_MLAD), BYTE_SIZE_64));
		
		// 6.エラーメール返信先
		list.add(JCHUtilCommon.getBcutStr(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.ERR_MLAD), BYTE_SIZE_64));
		
		// 7.ＢＣＣ
		list.add(JCHUtilCommon.getBcutStr(this.acTmTwpUcMap.get(JACStrConst.MLAD_SET_FIELD_CD_BCC).get(JBSbatZM_M_TCHI_MAIL_SENDS.SENDS_MLAD), BYTE_SIZE_64));
		
		// 8.メール題名
		list.add(JCHUtilCommon.getBcutStr(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.MAIL_TITLE), BYTE_SIZE_500));
		
		// 9.メール本文
		list.add(JCHUtilCommon.getBcutStr(JACbatRknBusinessUtil.ckanUmeMojiHanyo(this.mlTwpUcMap.get(JBSbatCC_M_MAIL.MAIL_TEXT), this.tmpChgeMap), BYTE_SIZE_4200));
		
		// 10.対応記録タイトル
		list.add(JCHUtilCommon.getBcutStr(this.acTmTwpUcMap.get(JACStrConst.MLAD_SET_FIELD_CD_TO).get(JBSbatZM_M_TCHI_MAIL_SENDS.TAIO_KIROK_TITLE), BYTE_SIZE_80));

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][createMlsTruptInfList][list=" + list.toString() + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][createMlsTruptInfList]");
		return list;
	}
	
	/**
	 * メール送信用通話料上限通知件数格納用リストを作成します。
	 * 
	 * @return mlsTruptCntList メール送信用通話料上限通知件数格納用リスト
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private ArrayList<String> createMlsTruptCntList() throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][createMlsTruptCntList]");
		ArrayList<String> list = new ArrayList<String>();

		// データ件数
		int dataCnt = this.mailCnt;

		// ゼロパディング（左詰め）
		list.add(JPCUtilCommon.fillZero(String.valueOf(dataCnt), 5, false));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][createMlsTruptCntList][list=" + list.toString() + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][createMlsTruptCntList]");
		return list;
	}

	/**
	 * 変換用マップの設定を行います。
	 * @param inMap 出力情報
	 * @param cstMap お客様情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void setChgeMap(JBSbatServiceInterfaceMap inMap, JBSbatCommonDBInterface cstMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][setChgeMap]");

		// お客様.コンテンツお客様名
		this.tmpChgeMap.put(MAP_KEY_1, cstMap.getString(JBSbatCK_T_CUST.CONT_CUST_NM));

		// お客様.eoID
		this.tmpChgeMap.put(MAP_KEY_2, cstMap.getString(JBSbatCK_T_CUST.EOID));

		// 超過通知管理.対象電話番号（半角、3桁-XXXX-XXXX形式）
		this.tmpChgeMap.put(MAP_KEY_3, JPCUtilCommon.formatTelNoAdd2(inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.N_050_TELNO)));

		// 超過通知管理.超過金額（半角、","桁区切り）
		this.tmpChgeMap.put(MAP_KEY_4, JPCUtilCommon.formatNumber(inMap.getBigDecimal(JBSbatAC_T_CN050AP_TWRCKTC.TCHI_TG_TWRYO_AMNT).toString()));

		// 超過通知管理.対象年月の年（半角、YYYY形式、前0埋なし）
		this.tmpChgeMap.put(MAP_KEY_5, inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.TUWA_USE_YM).substring(0, 4));

		// 超過通知管理.対象年月の月（半角、MM形式、前0埋なし）
		String month = inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.TUWA_USE_YM).substring(4, 6);

		// 先頭文字判定
		if (month.startsWith(REI))
		{
			// 「0」の場合削除する
			month = month.substring(1);
		}
		this.tmpChgeMap.put(MAP_KEY_6, month);

		// 規定金額
		this.tmpChgeMap.put(KITEI_KINGAKU, kiteiKingaku);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][setChgeMap]");
		return;
	}
	//v35.00.00 ADD START
	/**
	 * (利用停止)変換用マップの設定を行います。
	 * @param inMap 出力情報
	 * @param cstMap お客様情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void setUseStpChgeMap(JBSbatServiceInterfaceMap inMap, JBSbatCommonDBInterface cstMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][setUseStpChgeMap]");

		// お客様.コンテンツお客様名
		this.tmpChgeMap.put(MAP_KEY_1, cstMap.getString(JBSbatCK_T_CUST.CONT_CUST_NM));

		// お客様.eoID
		this.tmpChgeMap.put(MAP_KEY_2, cstMap.getString(JBSbatCK_T_CUST.EOID));

		// 超過通知管理.対象電話番号（半角、3桁-XXXX-XXXX形式）
		this.tmpChgeMap.put(MAP_KEY_3, JPCUtilCommon.formatTelNoAdd2(inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.N_050_TELNO)));

		// 超過通知管理.超過金額（半角、","桁区切り）
		this.tmpChgeMap.put(MAP_KEY_4, JPCUtilCommon.formatNumber(inMap.getBigDecimal(JBSbatAC_T_CN050AP_TWRCKTC.TCHI_TG_TWRYO_AMNT).toString()));

		// 超過通知管理.対象年月の年（半角、YYYY形式、前0埋なし）
		this.tmpChgeMap.put(MAP_KEY_5, inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.TUWA_USE_YM).substring(0, 4));

		// 超過通知管理.対象年月の月（半角、MM形式、前0埋なし）
		String month = inMap.getString(JBSbatAC_T_CN050AP_TWRCKTC.TUWA_USE_YM).substring(4, 6);

		// 先頭文字判定
		if (month.startsWith(REI))
		{
			// 「0」の場合削除する
			month = month.substring(1);
		}
		this.tmpChgeMap.put(MAP_KEY_6, month);

		// EO_ID
		this.tmpChgeMap.put(EO_ID, cstMap.getString(JBSbatCK_T_CUST.EOID));

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][setUseStpChgeMapf]");
		return;
	}
	//v35.00.00 ADD END
}
