/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JZMEnumSwitchMapperCC
 *   ソースファイル名：JZMEnumSwitchMapperCC.java
 *   作成者          ：富士通
 *   日付            ：2024年04月01日
 *＜機能概要＞
 *   ENUM切替マッパーCCクラスです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v72.00.00   2024/04/01   FJ)寺田     新規作成 【ANK-4494-00-00】双方向番ポ STEP1
 *   
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKSvcConst;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.*;

/**
 * 電話番号情報登録用マッパーCCです。
 * <p>
 * <br>
 * 
 * @author FJ)寺田
 */
public class JZMEnumSwitchMapperCC extends AbstractCommonComponent {

	/*******************************************************************/
	/** テンプレートＩＤ（ZM） **/
	/*******************************************************************/

	/** エイジング一意照会 */
	private static final String TEMPLATE_ID_EZM0111A010 = "EZM0111A010";

	/** ポートアウト受付情報変更 */
	private static final String TAMPLATE_ID_ETU0151C010 = "ETU0151C010";

	/** 電話番号変更 */
	private static final String TAMPLATE_ID_EZM0121C010 = "EZM0121C010";
	/** 電話番号物理削除 */
	private static final String TAMPLATE_ID_EZM0121E011 = "EZM0121E011";

	/** エイジング対象使用終了 */
	private static final String TAMPLATE_ID_EZM0111C010 = "EZM0111C010";
	/** エイジング対象回復 */
	private static final String TAMPLATE_ID_EZM0111C020 = "EZM0111C020";
	/** エイジング回復可能期間終了 */
	private static final String TAMPLATE_ID_EZM0111C030 = "EZM0111C030";
	/** エイジング削除 */
	private static final String TAMPLATE_ID_EZM0111E010 = "EZM0111E010";
	/** エイジング登録 */
	private static final String TAMPLATE_ID_EZM0111D010 = "EZM0111D010";

	/*******************************************************************/
	/** テンプレートＩＤ（KK） **/
	/*******************************************************************/

	/** サービス契約内訳＜eo光電話＞一意照会（電話番号） */
	private static final String TEMPLATE_ID_EKK0191B040 = "EKK0191B040";

	/** サービス契約一覧照会（電話番号） */
	private static final String TEMPLATE_ID_EKK0081B033 = "EKK0081B033";
	/** サービス契約内訳<eo光電話>一覧照会（サービス契約番号） */
	private static final String TEMPLATE_ID_EKK0191B001 = "EKK0191B001";
	/** サービス契約内訳＜eo光電話＞一意照会 */
	private static final String TEMPLATE_ID_EKK0191A010 = "EKK0191A010";

	/******************
	 * エラー用定数
	 ******************/
	/** リターンメッセージ */
	private static final String RETURN_MESSAGE_STRING = "RETURN_MESSAGE_";
	/** リターンメッセージ */
	private static final String RETURN_MESSAGE_FORMAT = "%1$04d";
	
	/*
	 * ------------------------------------------------------------
	 * 参照の上りマッピング処理 ↓↓↓↓↓
	 * ------------------------------------------------------------
	 */

	/**
	 * EKK0191B040_サービス契約内訳＜eo光電話＞一意照会（電話番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0191B040(IRequestParameterReadWrite param, String telno) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EKK0191B040CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0191B040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0191B040CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0191B040);

		// 機能コード
		template.set(EKK0191B040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 検索処理パターン
		template.set(EKK0191B040CBSMsg.SEARCH_TYPE, convBlankToNull(JPCModelConstant.SAERCH_TYPE_IKT));
		// 最大検索件数
		template.set(EKK0191B040CBSMsg.MAX_SEARCH_NUM, convBlankToNull("1000000"));

		// ＫＥＹ＿電話番号
		template.set(EKK0191B040CBSMsg.KEY_TELNO, convBlankToNull(telno));

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/**
	 * EKK0081B033_サービス契約一覧照会（電話番号） 
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0081B033(IRequestParameterReadWrite param, String telno) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EKK0081B033CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0081B033CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0081B033CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0081B033);

		// 機能コード
		template.set(EKK0081B033CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿電話番号
		template.set(EKK0081B033CBSMsg.KEY_TELNO, convBlankToNull(telno));

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/**
	 * EKK0191B001_サービス契約内訳<eo光電話>一覧照会（サービス契約番号） 
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0191B001(IRequestParameterReadWrite param, String svc_kei_no) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EKK0191B001CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0191B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0191B001CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0191B001);

		// 機能コード
		template.set(EKK0191B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_4);

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0191B001CBSMsg.KEY_SVC_KEI_NO, convBlankToNull(svc_kei_no));

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/**
	 * EKK0191A010_サービス契約内訳＜eo光電話＞一意照会 
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0191A010(IRequestParameterReadWrite param, String svc_kei_ucwk_no) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EKK0191A010CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0191A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0191A010);

		// 機能コード
		template.set(EKK0191A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0191A010CBSMsg.KEY_SVC_KEI_UCWK_NO, convBlankToNull(svc_kei_ucwk_no));

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	
	/**
	 * EZM0111A010_エイジング一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEZM0111A010(IRequestParameterReadWrite param, String aging_no) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111A010CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EZM0111A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EZM0111A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EZM0111A010);

		// 機能コード
		template.set(EZM0111A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// エイジング番号 → エイジング一意照会.ＫＥＹ＿エイジング番号
		template.set(EZM0111A010CBSMsg.KEY_AGING_NO, convBlankToNull(aging_no));

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/*
	 * ------------------------------------------------------------
	 * 登録・更新・削除の上りマッピング処理 ↓↓↓↓↓
	 * ------------------------------------------------------------
	 */
	
	/**
	 * ポートアウト受付情報変更の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInETU0151C010Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(ETU0151C010CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(ETU0151C010CBSMsg.TEMPLATEID, TAMPLATE_ID_ETU0151C010);
		// 機能コード
		template.set(ETU0151C010CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// キー項目
		template.set(ETU0151C010CBSMsg.PORT_OUT_NO, inMap.get("key_port_out_no"));
		// 更新用汎用設定

		template.set(ETU0151C010CBSMsg.SVC_KEI_NO, inMap.get("tu0151c010_01_svc_kei_no"));
		template.set(ETU0151C010CBSMsg.SVC_KEI_UCWK_NO, inMap.get("tu0151c010_01_svc_kei_ucwk_no"));
		template.set(ETU0151C010CBSMsg.TOGO_ODR_ID, inMap.get("tu0151c010_01_togo_odr_id"));
		template.set(ETU0151C010CBSMsg.HAISHI_CHUMN_SKBT, inMap.get("tu0151c010_01_haishi_chumn_skbt"));
		template.set(ETU0151C010CBSMsg.RE_BMP_MKM_SKBT, inMap.get("tu0151c010_01_re_bmp_mkm_skbt"));
		template.set(ETU0151C010CBSMsg.AFT_TONYU_SKBT, inMap.get("tu0151c010_01_aft_tonyu_skbt"));
		template.set(ETU0151C010CBSMsg.HUKUSU_NO_UM, inMap.get("tu0151c010_01_hukusu_no_um"));
		template.set(ETU0151C010CBSMsg.BMP_TG_KSSU_BMP_HISTG_KSSU, inMap.get("tu0151c010_01_bmp_tg_kssu_bmp_histg_kssu"));
		template.set(ETU0151C010CBSMsg.AUTO_HAISHI_RYSHZM_NO_NUM, inMap.get("tu0151c010_01_auto_haishi_ryshzm_no_num"));
		template.set(ETU0151C010CBSMsg.GRP_ID, inMap.get("tu0151c010_01_grp_id"));
		template.set(ETU0151C010CBSMsg.CUST_MSKM_DAY, inMap.get("tu0151c010_01_cust_mskm_day"));
		template.set(ETU0151C010CBSMsg.ITENS_MSKM_DAY, inMap.get("tu0151c010_01_itens_mskm_day"));
		template.set(ETU0151C010CBSMsg.CHBF_MSKM_DAY, inMap.get("tu0151c010_01_chbf_mskm_day"));
		template.set(ETU0151C010CBSMsg.UK_KYOTEN_NO_TRAT_SVC, inMap.get("tu0151c010_01_uk_kyoten_no_trat_svc"));
		template.set(ETU0151C010CBSMsg.ITENS_JIGYOSHA_NM, inMap.get("tu0151c010_01_itens_jigyosha_nm"));
		template.set(ETU0151C010CBSMsg.ITENS_JIGYOSHA_NO, inMap.get("tu0151c010_01_itens_jigyosha_no"));
		template.set(ETU0151C010CBSMsg.ITENS_JIGYOSHA_DOMAIN, inMap.get("tu0151c010_01_itens_jigyosha_domain"));
		template.set(ETU0151C010CBSMsg.ITENS_JIGYOSHA_TNT_NM, inMap.get("tu0151c010_01_itens_jigyosha_tnt_nm"));
		template.set(ETU0151C010CBSMsg.ITENS_JIGYOSHA_TELNO, inMap.get("tu0151c010_01_itens_jigyosha_telno"));
		template.set(ETU0151C010CBSMsg.KIJIRAN_1_ITNM_JGSMK, inMap.get("tu0151c010_01_kijiran_1_itnm_jgsmk"));
		template.set(ETU0151C010CBSMsg.KIJIRAN_2_ITNM_JGSMK, inMap.get("tu0151c010_01_kijiran_2_itnm_jgsmk"));
		template.set(ETU0151C010CBSMsg.KIJIRAN_1_NOSK_JGSMK, inMap.get("tu0151c010_01_kijiran_1_nosk_jgsmk"));
		template.set(ETU0151C010CBSMsg.KIJIRAN_2_NOSK_JGSMK, inMap.get("tu0151c010_01_kijiran_2_nosk_jgsmk"));
		template.set(ETU0151C010CBSMsg.JI_SHANAI_KIJIRAN, inMap.get("tu0151c010_01_ji_shanai_kijiran"));
		template.set(ETU0151C010CBSMsg.PORT_OUT_KEISHA_NM, inMap.get("tu0151c010_01_port_out_keisha_nm"));
		template.set(ETU0151C010CBSMsg.PORT_OUT_KEISHA_KANA, inMap.get("tu0151c010_01_port_out_keisha_kana"));
		template.set(ETU0151C010CBSMsg.SETPLACE_ADCHG_UM, inMap.get("tu0151c010_01_setplace_adchg_um"));
		template.set(ETU0151C010CBSMsg.SETPLC_HTNY_SKBT_CITY_NM, inMap.get("tu0151c010_01_setplc_htny_skbt_city_nm"));
		template.set(ETU0151C010CBSMsg.SETPLC_HTNY_SKBT_OAZTSU_NM, inMap.get("tu0151c010_01_setplc_htny_skbt_oaztsu_nm"));
		template.set(ETU0151C010CBSMsg.SETPLC_HTNY_SKBT_AZCHO_NM, inMap.get("tu0151c010_01_setplc_htny_skbt_azcho_nm"));
		template.set(ETU0151C010CBSMsg.SETPLACE_PCD, inMap.get("tu0151c010_01_setplace_pcd"));
		template.set(ETU0151C010CBSMsg.SETPLACE_STATE_NM, inMap.get("tu0151c010_01_setplace_state_nm"));
		template.set(ETU0151C010CBSMsg.SETPLACE_CITY_NM, inMap.get("tu0151c010_01_setplace_city_nm"));
		template.set(ETU0151C010CBSMsg.SETPLACE_OAZTSU_NM, inMap.get("tu0151c010_01_setplace_oaztsu_nm"));
		template.set(ETU0151C010CBSMsg.SETPLACE_AZCHO_NM, inMap.get("tu0151c010_01_setplace_azcho_nm"));
		template.set(ETU0151C010CBSMsg.SETPLACE_BNCHIGO, inMap.get("tu0151c010_01_setplace_bnchigo"));
		template.set(ETU0151C010CBSMsg.SETPLACE_ADRTTM, inMap.get("tu0151c010_01_setplace_adrttm"));
		template.set(ETU0151C010CBSMsg.CUST_RRKS, inMap.get("tu0151c010_01_cust_rrks"));
		template.set(ETU0151C010CBSMsg.KOJI_KIBO_YMD, inMap.get("tu0151c010_01_koji_kibo_ymd"));
		template.set(ETU0151C010CBSMsg.KOJI_JSSI_WAY, inMap.get("tu0151c010_01_koji_jssi_way"));
		template.set(ETU0151C010CBSMsg.SOTEI_SWITCH_TIMEZ, inMap.get("tu0151c010_01_sotei_switch_timez"));
		template.set(ETU0151C010CBSMsg.KOJI_TIMEZ_DIV, inMap.get("tu0151c010_01_koji_timez_div"));
		template.set(ETU0151C010CBSMsg.ITENM_DAIHYO_JIGYOSHA_NM, inMap.get("tu0151c010_01_itenm_daihyo_jigyosha_nm"));
		template.set(ETU0151C010CBSMsg.ITENM_DAIHYO_JIGYOSHA_NO, inMap.get("tu0151c010_01_itenm_daihyo_jigyosha_no"));
		template.set(ETU0151C010CBSMsg.KISAI_CHGE_MSKM_CNT, inMap.get("tu0151c010_01_kisai_chge_mskm_cnt"));
		template.set(ETU0151C010CBSMsg.KISAI_CHGE_MSKM_DAY, inMap.get("tu0151c010_01_kisai_chge_mskm_day"));
		template.set(ETU0151C010CBSMsg.KISAI_CHGE_MSKM_RSN, inMap.get("tu0151c010_01_kisai_chge_mskm_rsn"));
		template.set(ETU0151C010CBSMsg.OLD_TOGO_ORDER_ID, inMap.get("tu0151c010_01_old_togo_order_id"));
		template.set(ETU0151C010CBSMsg.MSKM_CHOK_NISU, inMap.get("tu0151c010_01_mskm_chok_nisu"));
		template.set(ETU0151C010CBSMsg.CANCEL_DATE, inMap.get("tu0151c010_01_cancel_date"));
		template.set(ETU0151C010CBSMsg.CANCEL_SKBT, inMap.get("tu0151c010_01_cancel_skbt"));
		template.set(ETU0151C010CBSMsg.CANCEL_OTAI_DAY, inMap.get("tu0151c010_01_cancel_otai_day"));
		template.set(ETU0151C010CBSMsg.CANCEL_TONYU_TNT_NM, inMap.get("tu0151c010_01_cancel_tonyu_tnt_nm"));
		template.set(ETU0151C010CBSMsg.CANCEL_TONYU_TNT_TELNO, inMap.get("tu0151c010_01_cancel_tonyu_tnt_telno"));
		template.set(ETU0151C010CBSMsg.PORT_OUT_CNRE, inMap.get("tu0151c010_01_port_out_cnre"));
		template.set(ETU0151C010CBSMsg.CL_DATE, inMap.get("tu0151c010_01_cl_date"));
		template.set(ETU0151C010CBSMsg.CL_SKBT, inMap.get("tu0151c010_01_cl_skbt"));
		template.set(ETU0151C010CBSMsg.UWY_SKBT, inMap.get("tu0151c010_01_uwy_skbt"));
		template.set(ETU0151C010CBSMsg.SERVER_ARIV_DATE, inMap.get("tu0151c010_01_server_ariv_date"));
		template.set(ETU0151C010CBSMsg.BMP_ORDER_NO, inMap.get("tu0151c010_01_bmp_order_no"));
		template.set(ETU0151C010CBSMsg.KANREN_ORDER_CNT, inMap.get("tu0151c010_01_kanren_order_cnt"));
		template.set(ETU0151C010CBSMsg.BMP_TG_KISN_CNT_NOSK_GT, inMap.get("tu0151c010_01_bmp_tg_kisn_cnt_nosk_gt"));
		template.set(ETU0151C010CBSMsg.CHUMN_KIND, inMap.get("tu0151c010_01_chumn_kind"));
		template.set(ETU0151C010CBSMsg.ORDER_STAT, inMap.get("tu0151c010_01_order_stat"));
		template.set(ETU0151C010CBSMsg.NOSK_DAIHYO_JGS_NM, inMap.get("tu0151c010_01_nosk_daihyo_jgs_nm"));
		template.set(ETU0151C010CBSMsg.NOSK_DAIHYO_JGS_NO, inMap.get("tu0151c010_01_nosk_daihyo_jgs_no"));
		template.set(ETU0151C010CBSMsg.KJ_DAY_RE_ADJ_REQ_DATE, inMap.get("tu0151c010_01_kj_day_re_adj_req_date"));
		template.set(ETU0151C010CBSMsg.KJ_DAY_RE_ADJ_REQ_TNT_NM, inMap.get("tu0151c010_01_kj_day_re_adj_req_tnt_nm"));
		template.set(ETU0151C010CBSMsg.KJ_DAY_RE_ADJ_REQ_TNT_TLN, inMap.get("tu0151c010_01_kj_day_re_adj_req_tnt_tln"));
		template.set(ETU0151C010CBSMsg.KJ_DAY_RE_ADJ_REQ_KIJIRAN, inMap.get("tu0151c010_01_kj_day_re_adj_req_kijiran"));
		template.set(ETU0151C010CBSMsg.TELNO, inMap.get("tu0151c010_01_telno"));
		template.set(ETU0151C010CBSMsg.SKBT_NO, inMap.get("tu0151c010_01_skbt_no"));
		template.set(ETU0151C010CBSMsg.NAIBU_SKBT_NO, inMap.get("tu0151c010_01_naibu_skbt_no"));
		template.set(ETU0151C010CBSMsg.PORT_OUT_CHBF_SKBT_NO, inMap.get("tu0151c010_01_port_out_chbf_skbt_no"));
		template.set(ETU0151C010CBSMsg.PSTN_KANYKN, inMap.get("tu0151c010_01_pstn_kanykn"));
		template.set(ETU0151C010CBSMsg.PSTN_DRYCOPPER_USE_UM, inMap.get("tu0151c010_01_pstn_drycopper_use_um"));
		template.set(ETU0151C010CBSMsg.PSTN_DRYCOPPER_KISN_ID, inMap.get("tu0151c010_01_pstn_drycopper_kisn_id"));
		template.set(ETU0151C010CBSMsg.PSTN_DRYCOPPER_MSKMJIG_NO, inMap.get("tu0151c010_01_pstn_drycopper_mskmjig_no"));
		template.set(ETU0151C010CBSMsg.PSTN_DRYCOPPER_MKM_SKBT_NO, inMap.get("tu0151c010_01_pstn_drycopper_mkm_skbt_no"));
		template.set(ETU0151C010CBSMsg.ITNS_JGS_USE_CD, inMap.get("tu0151c010_01_itns_jgs_use_cd"));
		template.set(ETU0151C010CBSMsg.PSTN_PAUSE_HYO_SHS, inMap.get("tu0151c010_01_pstn_pause_hyo_shs"));
		template.set(ETU0151C010CBSMsg.PSTN_PAUSE_HYO_SHS_OTR_AD, inMap.get("tu0151c010_01_pstn_pause_hyo_shs_otr_ad"));
		template.set(ETU0151C010CBSMsg.PSTN_ITENS_JIGYOSHA_CFM_ID, inMap.get("tu0151c010_01_pstn_itens_jigyosha_cfm_id"));
		template.set(ETU0151C010CBSMsg.PSTN_ITENS_KOJI_TYPE_SNAI, inMap.get("tu0151c010_01_pstn_itens_koji_type_snai"));
		template.set(ETU0151C010CBSMsg.PSTN_ITENS_KOJI_TYPE_SGAI, inMap.get("tu0151c010_01_pstn_itens_koji_type_sgai"));
		template.set(ETU0151C010CBSMsg.KIJIRAN_ITENS_JGSMK, inMap.get("tu0151c010_01_kijiran_itens_jgsmk"));
		template.set(ETU0151C010CBSMsg.ODKH_JUDGE_TK_KH, inMap.get("tu0151c010_01_odkh_judge_tk_kh"));
		template.set(ETU0151C010CBSMsg.ODKH_JUDGE_TK_FAIL_RSN, inMap.get("tu0151c010_01_odkh_judge_tk_fail_rsn"));
		template.set(ETU0151C010CBSMsg.ODKH_JDGTK_FRSN_OTR_RSN, inMap.get("tu0151c010_01_odkh_jdgtk_frsn_otr_rsn"));
		template.set(ETU0151C010CBSMsg.UK_TNT_ID, inMap.get("tu0151c010_01_uk_tnt_id"));
		template.set(ETU0151C010CBSMsg.UK_TNT_TELNO, inMap.get("tu0151c010_01_uk_tnt_telno"));
		template.set(ETU0151C010CBSMsg.KOJI_TNT_NM, inMap.get("tu0151c010_01_koji_tnt_nm"));
		template.set(ETU0151C010CBSMsg.KOJI_TNT_TELNO, inMap.get("tu0151c010_01_koji_tnt_telno"));
		template.set(ETU0151C010CBSMsg.TK_KH, inMap.get("tu0151c010_01_tk_kh"));
		template.set(ETU0151C010CBSMsg.TK_FAIL_RSN, inMap.get("tu0151c010_01_tk_fail_rsn"));
		template.set(ETU0151C010CBSMsg.TK_FAIL_RSN_OTR_RSN, inMap.get("tu0151c010_01_tk_fail_rsn_otr_rsn"));
		template.set(ETU0151C010CBSMsg.HOJIN_KOJIN_CD, inMap.get("tu0151c010_01_hojin_kojin_cd"));
		template.set(ETU0151C010CBSMsg.PORT_OUT_UK_TRKM_YMD, inMap.get("tu0151c010_01_port_out_uk_trkm_ymd"));

		// 更新用設定
		// ポートアウトステータス
		template.set(ETU0151C010CBSMsg.PORT_OUT_STAT, inMap.get("tu0151c010_01_port_out_stat"));
		// 切替SOD発行年月日時分秒
		template.set(ETU0151C010CBSMsg.SWITCH_SOD_HAKKO_DTM, inMap.get("tu0151c010_01_switch_sod_hakko_dtm"));

		// 排他確認設定
		// 更新年月日時分秒(更新前)
		template.set(ETU0151C010CBSMsg.UPD_DTM_BF, inMap.get("tu0151c010_01_upd_dtm_bf"));

		return template;
	}

	
	/**
	 * 電話番号変更の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0121C010Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0121C010CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0121C010CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0121C010);
		// 機能コード
		template.set(EZM0121C010CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);

		// キー項目
		// 電話番号
		template.set(EZM0121C010CBSMsg.TELNO, inMap.get("key_telno"));

		// 更新用汎用設定
		// 局番
		template.set(EZM0121C010CBSMsg.KYOKU_NO, inMap.get("kyoku_no"));
		// 番号コード
		template.set(EZM0121C010CBSMsg.NO_CD, inMap.get("no_cd"));
		// 割当通信事業者コード
		template.set(EZM0121C010CBSMsg.WARIATE_TSJGS_CD, inMap.get("wariate_tsjgs_cd"));
		// 使用通信事業者コード
		template.set(EZM0121C010CBSMsg.USE_TSJGS_CD, inMap.get("use_tsjgs_cd"));
		// サービス区分
		template.set(EZM0121C010CBSMsg.SVC_DIV, inMap.get("svc_div"));
		// 引当制約種別コード
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SBT_CD, inMap.get("hkat_siyk_sbt_cd"));
		// 引当制約設定年月日時分秒
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SET_DTM, inMap.get("hkat_siyk_set_dtm"));
		// 電話番号説明
		template.set(EZM0121C010CBSMsg.TLN_SETMEI, inMap.get("tln_setmei"));
		// 個人法人電話番号帯コード
		template.set(EZM0121C010CBSMsg.KOJIN_HOJIN_TLN_TAI_CD, inMap.get("kojin_hojin_tln_tai_cd"));
		// C5サーバ号機識別コード
		template.set(EZM0121C010CBSMsg.C5_SERVER_GOKI_SKBT_CD, inMap.get("c5_server_goki_skbt_cd"));
		// 電話番号適用開始年月日
		template.set(EZM0121C010CBSMsg.TELNO_TSTAYMD, inMap.get("telno_tstaymd"));
		// 電話番号適用終了年月日
		template.set(EZM0121C010CBSMsg.TELNO_TENDYMD, inMap.get("telno_tendymd"));
		// NRN番号
		template.set(EZM0121C010CBSMsg.NRN_NO, inMap.get("nrn_no"));
		// 初回割当年月日
		template.set(EZM0121C010CBSMsg.FIRST_WARIATE_YMD, inMap.get("first_wariate_ymd"));
		// 初期個人法人電話番号帯コード
		template.set(EZM0121C010CBSMsg.SHK_KOJIN_HOJIN_TLN_TAI_CD, inMap.get("shk_kojin_hojin_tln_tai_cd"));
		// 電話番号取得通信事業者コード
		template.set(EZM0121C010CBSMsg.TLN_STKU_TSJGS_CD, inMap.get("tln_stk_tsjgs_cd"));

		// 更新用設定
		// 移転元通信事業者コード(更新箇所)
		template.set(EZM0121C010CBSMsg.ITNM_TSJGS_CD, inMap.get("itnm_tsjgs_cd"));
		// 移転先通信事業者コード(更新箇所)
		template.set(EZM0121C010CBSMsg.ITNS_TSJGS_CD, inMap.get("itns_tsjgs_cd"));

		// 排他確認設定
		// 更新前最終年月日時分秒
		template.set(EZM0121C010CBSMsg.LAST_UPD_DTM_BF, inMap.get("telno_last_upd_dtm_bf"));

		return template;
	}

	/**
	 * 電話番号物理削除の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0121E011Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0121E011CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0121E011CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0121E011);
		// 機能コード
		template.set(EZM0121E011CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);

		// キー項目
		// 電話番号
		template.set(EZM0121E011CBSMsg.TELNO, inMap.get("key_telno"));

		// 排他確認設定
		// 更新前最終年月日時分秒
		template.set(EZM0121E011CBSMsg.LAST_UPD_DTM_BF, inMap.get("telno_last_upd_dtm_bf"));

		return template;
	}

	
	/**
	 * エイジング対象使用終了の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0111C010Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111C010CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0111C010CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0111C010);
		// 機能コード
		template.set(EZM0111C010CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// エイジング番号
		template.set(EZM0111C010CBSMsg.AGING_NO, inMap.get("key_aging_no"));
		// エイジング種別コード
		template.set(EZM0111C010CBSMsg.AGING_SBT_CD, inMap.get("aging_sbt_cd"));
		// エイジング対象値
		template.set(EZM0111C010CBSMsg.AGING_TG_VALUE, inMap.get("aging_tg_value"));
		// 更新前最終年月日時分秒
		template.set(EZM0111C010CBSMsg.LAST_UPD_DTM_BF, inMap.get("aging_last_upd_dtm_bf"));

		return template;
	}

	/**
	 * エイジング回復の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0111C020Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111C020CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0111C020CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0111C020);
		// 機能コード
		template.set(EZM0111C020CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// エイジング番号
		template.set(EZM0111C020CBSMsg.AGING_NO, inMap.get("key_aging_no"));
		// エイジング種別コード
		template.set(EZM0111C020CBSMsg.AGING_SBT_CD, inMap.get("aging_sbt_cd"));
		// エイジング対象値
		template.set(EZM0111C020CBSMsg.AGING_TG_VALUE, inMap.get("aging_tg_value"));
		// 更新前最終年月日時分秒
		template.set(EZM0111C020CBSMsg.LAST_UPD_DTM_BF, inMap.get("aging_last_upd_dtm_bf"));

		return template;
	}

	/**
	 * エイジング回復可能期間終了の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0111C030Msg(IRequestParameterReadWrite param, String fixedText, String funcCd, String upd_dtm) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111C030CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0111C030CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0111C030);
		// 機能コード
		template.set(EZM0111C030CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// エイジング番号
		template.set(EZM0111C030CBSMsg.AGING_NO, inMap.get("key_aging_no"));
		// エイジング種別コード
		template.set(EZM0111C030CBSMsg.AGING_SBT_CD, inMap.get("aging_sbt_cd"));
		// エイジング対象値
		template.set(EZM0111C030CBSMsg.AGING_TG_VALUE, inMap.get("aging_tg_value"));
		// 更新前最終年月日時分秒(CC内で前回更新された更新最終年月日時分秒)
		template.set(EZM0111C030CBSMsg.LAST_UPD_DTM_BF, upd_dtm);

		return template;
	}

	/**
	 * エイジング削除の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0111E010Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111E010CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0111E010CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0111E010);
		// 機能コード
		template.set(EZM0111E010CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// エイジング番号
		template.set(EZM0111E010CBSMsg.AGING_NO, inMap.get("key_aging_no"));
		// エイジング種別コード
		template.set(EZM0111E010CBSMsg.AGING_SBT_CD, inMap.get("aging_sbt_cd"));
		// エイジング対象値
		template.set(EZM0111E010CBSMsg.AGING_TG_VALUE, inMap.get("aging_tg_value"));
		// 更新前最終年月日時分秒
		template.set(EZM0111E010CBSMsg.LAST_UPD_DTM_BF, inMap.get("aging_last_upd_dtm_bf"));

		return template;
	}

	/**
	 * エイジング登録の上りマッピング処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return テンプレート
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public CAANMsg editInEZM0111D010Msg(IRequestParameterReadWrite param, String fixedText, String funcCd) throws RequestParameterException {
		CAANMsg template = new CAANMsg(EZM0111D010CBSMsg.class.getName());

		// マッピング情報
		HashMap<String, Object> inMap = (HashMap<String, Object>) param.getData(fixedText);
		// テンプレートID
		template.set(EZM0111D010CBSMsg.TEMPLATEID, TAMPLATE_ID_EZM0111D010);
		// 機能コード
		template.set(EZM0111D010CBSMsg.FUNC_CODE, funcCd);
		// 上りマッピング共通項目
		editInMsgBasicCmn(param, template);
		// エイジング種別コード
		template.set(EZM0111D010CBSMsg.AGING_SBT_CD, inMap.get("aging_sbt_cd"));
		// エイジング対象値
		template.set(EZM0111D010CBSMsg.AGING_TG_VALUE, inMap.get("aging_tg_value"));

		return template;
	}

	
	/**
	 * サービスI/F実行用の上り情報を生成する
	 * 
	 * @param param リクエストパラメータ
	 * @param template 条件の設定先
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 * @exception RequestParameterException
	 */
	public HashMap<String, Object> editInMsgCmn(IRequestParameterReadOnly param, CAANMsg template) throws RequestParameterException {
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}

	/*
	 * ------------------------------------------------------------
	 * 下りマッピング処理 ↓↓↓↓↓
	 * ------------------------------------------------------------
	 */
	
	/**
	 * 下りマッピング共通処理を行います。 <br>
	 * 
	 * @param result SC結果
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public void editOutMsg(Map<?, ?> result, IRequestParameterReadWrite param, String fixedText) throws Exception {
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[]) result.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Object returnCode = result.get(JCMConstants.RET_CD_INT_KEY);

		// エラー情報の設定
		editErrInfoCommon(param, template, (Integer) returnCode, fixedText);

		// エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>) param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null) {
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(result, errList));
	}
	
	/**
	 * エイジング用_下りマッピング処理を行います。 <br>
	 * 
	 * @param result SC結果
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public void aging_editOutMsg(Map<?, ?> result, IRequestParameterReadWrite param, String fixedText) throws Exception {
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[]) result.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		// リターンコード取得
		Object returnCode = result.get(JCMConstants.RET_CD_INT_KEY);

		// 結果を詰めるマップを取得。
		HashMap dataMap = null;

		/* 業務データ設定 */
		dataMap = (HashMap) param.getData(fixedText);
		if (dataMap == null) {
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// エイジングマップ.エイジング番号 ← エイジング番号
		if (parentTemplate.isNull(EZM0111C010CBSMsg.AGING_NO)) {
			dataMap.put("ezm0111_get_aging_no", new String());
		}
		else {
			dataMap.put("ezm0111_get_aging_no", parentTemplate.getString(EZM0111C010CBSMsg.AGING_NO));
		}

		// エイジングマップ.エイジングステータス ← エイジングステータス
		if (parentTemplate.isNull(EZM0111C010CBSMsg.AGING_STAT)) {
			dataMap.put("ezm0111_get_aging_stat", new String());
		}
		else {
			dataMap.put("ezm0111_get_aging_stat", parentTemplate.getString(EZM0111C010CBSMsg.AGING_STAT));
		}

		// エイジングマップ.更新年月日時分秒 ← 更新年月日時分秒
		if (parentTemplate.isNull(EZM0111C010CBSMsg.UPD_DTM)) {
			dataMap.put("ezm0111_get_upd_dtm", new String());
		}
		else {
			dataMap.put("ezm0111_get_upd_dtm", parentTemplate.getString(EZM0111C010CBSMsg.UPD_DTM));
		}

		// エラー情報の設定
		editErrInfoCommon(param, parentTemplate, (Integer) returnCode, fixedText);

		// エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>) param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null) {
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(result, errList));
	}

	/*
	 * ------------------------------------------------------------
	 * 共通で使用するUtil系のメソッド ↓↓↓↓↓
	 * ------------------------------------------------------------
	 */
	
	/**
	 * エラー情報マッピング処理(共通)を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @param template テンプレート
	 * @param returnCode SC実行結果コード
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editErrInfoCommon(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText) throws RequestParameterException {
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		if (returnCode != 0) {
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + String.format(RETURN_MESSAGE_FORMAT, templateStatus)) == null) {
			templateStatus = 0;
		}

		int bpStatus = 0;
		bpStatus = getReturnCode(param);

		if (templateStatus > bpStatus) {
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format(RETURN_MESSAGE_FORMAT, templateStatus);
			String message = JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		// ユーザデータ情報
		inMap = (HashMap) param.getData(fixedText);

		HashMap map = template.getHashMap();
		Iterator it = map.keySet().iterator();
		while (it.hasNext()) {
			String key = (String) it.next();
			if (key.endsWith("_err")) {
				int keyIdx = key.lastIndexOf("_err");
				if (inMap.containsKey(key.substring(0, keyIdx))) {
					inMap.put(key, map.get(key));
				}
			}
		}
	}

	/**
	 * SCの実行ステータスの取得処理を行います。 <br>
	 * 
	 * @param param リクエストパラメータ
	 * @return SCの実行ステータス
	 * @throws RequestParameterException
	 */
	private int getReturnCode(IRequestParameterReadWrite param) throws RequestParameterException {
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null) {
			return -1;
		}
		else {
			return Integer.parseInt((String) param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}
	}

	/**
	 * 条件部の共通する項目の設定する
	 * 
	 * @param param リクエストパラメータ
	 * @param template template 条件の設定先
	 * @throws RequestParameterException
	 */
	public void editInMsgBasicCmn(IRequestParameterReadOnly param, CAANMsg template) throws RequestParameterException {

		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);
		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);
		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);
	}

	/**
	 * 持ちうるフィールドにNullマッピングで埋める
	 * 
	 * @param msg 対象クラス
	 * @param contents 対応クラスのフィールド列挙
	 */
	public void fillCAANMSGNullMapping(CAANMsg msg, Object[][] contents) {
		// 要素ごとのループ
		for (int i = 0; i < contents.length; i++) {
			Object element = null;
			// キーに該当する箇所の取得
			element = contents[i][0];
			// Nullでマッピング
			msg.setNull((String) element);
		}
	}

	/**
	 * 文字列が空文字ならnullに変換する
	 * 
	 * @param value 判定する文字列
	 * @return 変換後文字列
	 */
	public String convBlankToNull(String value) {
		return JKKSvcConst.STRING_BLANK.equals(value) ? null : value;
	}

}
