/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0317_FUSV0317OPDBMapper
*	ソースファイル名：FUSV0317_FUSV0317OPDBMapper.java
*	作成者			：FJ
*	日付			：2018年05月18日
*＜機能概要＞
*	BP（支払方法変更受付(開通前申込)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v37.00      2018/05/18  FJ) 岡井    【ANK-3119-00-00】開通前でもＷｅｂから支払方法を変更可能とする
*   v41.00.00   2019/03/27	FJ) 河邊    【OM-2019-0000042】フロント投入時支払申込書到着設定不備
*   v46.00      2019/07/24  FJ) 岡井    【ANK-3602-00-00】特定クレジットカードの売上オーソリ実施対応
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00701SF.FUW00701SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * @author FJ
 *
 */
public class FUSV0317_FUSV0317OPDBMapper
{

	/** 開通前支払方法変更関連チェックCC */
	private static final String FUSV031701CC = "FUSV031701CC";
	/** 請求口座追加CC */
	private static final String FUSV031702CC = "FUSV031702CC";
	/** 初回オーソリ依頼SC */
	private static final String FUSV031701SC = "FUSV031701SC";
	/** 申込内容承認登録SC */
	private static final String FUSV031702SC = "FUSV031702SC";
	/** 審査済クレジットカード登録SC */
	private static final String FUSV031703SC = "FUSV031703SC";
	/** 請求支払先変更SC */
	private static final String FUSV031704SC = "FUSV031704SC";
	/** 請求契約一意照会SC */
	private static final String FUSV031705SC = "FUSV031705SC";
	/** 請求契約内容変更SC */
	private static final String FUSV031706SC = "FUSV031706SC";
	/** 進捗登録SC */
	private static final String FUSV031707SC = "FUSV031707SC";
	/** 申込明細照査・後続業務依頼SC */
	private static final String FUSV031708SC = "FUSV031708SC";
	/** 請求契約一意照会SC */
	private static final String FUSV031709SC = "FUSV031709SC";

	/** 申込内容承認登録明細 */
	private static final String EKK0011D020CBSMSG1LIST = "EKK0011D020CBSMsg1List";
	/** 請求契約一意照会明細 */
	private static final String EKK0491A010CBSMSG1LIST = "EKK0491A010CBSMsg1List";
	/** 進捗登録明細 */
	private static final String EKK1091D010CBSMSG1LIST = "EKK1091D010CBSMsg1List";

	/** オーソリ確認年月日時分秒 */
	private static final String AUTHORI_CFM_DTM = "authori_cfm_dtm";
	/** オーソリ承認番号 */
	private static final String AUTHORI_SHONIN_NO = "authori_shonin_no";
	/** コンシューマ営業用申込状態識別コード */
	private static final String CONSMBSN_MSKM_STAT_SKBT_CD = "consmbsn_mskm_stat_skbt_cd";
	/** クレジットカード会社コード */
	private static final String CRECARD_COMP_CD = "crecard_comp_cd";
	/** クレジットカード事業コード */
	private static final String CRECARD_JIGYO_CD = "crecard_jigyo_cd";
	/** クレジットカード名義カナ名 */
	private static final String CRECARD_NM_KANA = "crecard_nm_kana";
	/** クレジットカード番号 */
	private static final String CRECARD_NO = "crecard_no";
	/** クレジットカード有効期限 */
	private static final String CRECARD_YK_KIGEN = "crecard_yk_kigen";
	/** クレジットカード番号預りID */
	private static final String CRECARD_NO_AZKRI_ID = "crecard_no_azkri_id";
	/** クレジットカード種別コード */
	private static final String CRECARD_SBT_CD = "crecard_sbt_cd";
	/** クレジットイシュア区分 */
	private static final String CRDT_ISSUER_DIV = "crdt_issuer_div";
	/** 決済金額 */
	private static final String CR_AMOUNT = "cr_amount";
	/** オーソリ承認番号 */
	private static final String CR_AUTHNUMBER = "cr_authnumber";
	/** カード有効期限 */
	private static final String CR_CARDEXP = "cr_cardexp";
	/** カード番号 */
	private static final String CR_CARDNUMBER = "cr_cardnumber";
	/** クレジット契約番号 */
	private static final String CR_CCID = "cr_ccid";
	/** 加盟店ID */
	private static final String CR_CPID = "cr_cpid";
	/** 取引年月日 */
	private static final String CR_ORDERDATE = "cr_orderdate";
	/** 取引時間 */
	private static final String CR_ORDERTIME = "cr_ordertime";
	/** 加盟店パスワード */
	private static final String CR_PASSWD = "cr_passwd";
	/** 処理結果コード */
	private static final String CR_RESULTCODE = "cr_resultcode";
	/** カード預りID */
	private static final String CR_SAVE_ID_O = "cr_save_id_o";
	/** 問合せ用カード番号 */
	private static final String CR_INQUIRE_CARD_NO = "cr_inquire_card_no";
	/** 仕向先カード会社コード */
	private static final String CR_BRANDCODE = "cr_brandcode";
	/** カード種別 */
	private static final String CR_CARD_TYPE = "cr_card_type";
	/** イシュア区分 */
	private static final String CR_ISSUER_CLASS = "cr_issuer_class";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** 異動理由 */
	private static final String IDO_DTM = "ido_dtm";
	/** 異動理由コード */
	private static final String IDO_RSN_CD = "ido_rsn_cd";
	/** 後続業務依頼年月日 */
	private static final String KZKWRK_REQYMD = "kzkwrk_reqymd";
	/** 申込受付年月日時分秒 */
	private static final String MSKM_UK_DTM = "mskm_uk_dtm";
	/** 申込年月日 */
	private static final String MSKM_YMD = "mskm_ymd";
	/** 支払い審査結果コード */
	private static final String PAY_SKEKKA_CD = "pay_skekka_cd";
	/** 進捗年月日時分秒 */
	private static final String PRG_DTM = "prg_dtm";
	/** 進捗ステータス */
	private static final String PRG_STAT = "prg_stat";
	/** 予約適用年月日 */
	private static final String RSV_APLY_YMD = "rsv_aply_ymd";
	/** KEY_請求契約番 */
	private static final String KEY_SEIKY_KEI_NO = "key_seiky_kei_no";
	/** 請求契約番 */
	private static final String SEIKY_KEI_NO = "seiky_kei_no";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** 請求契約カナ名 */
	private static final String SEIKY_KEI_KANA = "seiky_kei_kana";
	/** 仕向先会社コード */
	private static final String SHIKOSAKI_COMP_CD = "shikosaki_comp_cd";
	/** 最終更新年月日時分秒 */
	private static final String UPD_DTM_BF = "upd_dtm_bf";

	/** APLConst.propertiesからオーソリ依頼に設定する加盟店IDを取得するためのキー */
	private static final String FU_CR_CPID = "FU_CR_CPID";
	/** APLConst.propertiesからオーソリ依頼に設定する加盟店パスワードを取得するためのキー */
	private static final String FU_CR_PASSWD = "FU_CR_PASSWD";

	/** 申込番号 */
	private static final String IN_MSKM_NO = "in_mskm_no";
	/** 申込可能料金グループコード */
	private static final String IN_MSKM_OK_PRC_GRP_CD = "in_mskm_ok_prc_grp_cd";
	/** 申込可能サービス契約ステータス */
	private static final String IN_MSKM_OK_SVC_KEI_STAT = "in_mskm_ok_svc_kei_stat";
	/** プロパティファイル取得文字列 */
	private static final String QUERY_PATH = "DISPSETTING/SETTING[@screenId='FUW00701']/DISPTEXT[@groupid='mskm_check']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** ID：MSKM_OK_PRC_GRP_CD */
	private static final String MSKM_OK_PRC_GRP_CD = "MSKM_OK_PRC_GRP_CD";
	/** ID：MSKM_OK_SVC_KEI_STAT */
	private static final String MSKM_OK_SVC_KEI_STAT = "MSKM_OK_SVC_KEI_STAT";

	/** 進捗特記事項1 */
	private static final String PRG_TKJK_1 = "prg_tkjk_1";
	/** 特記事項１要素を取得する際のid */
	private static final String PRGADD_ID = "0";

	/** 支払方法コード */
	private static final String PAYWAY_CD = "payway_cd";
	/** 支払方法コード */
	private static final String SEIKY_WAY_CD = "seiky_way_cd";
	/** 金融機関コード */
	private static final String BANK_CD = "bank_cd";
	/** 金融機関支店コード */
	private static final String BANK_SHITEN_CD = "bank_shiten_cd";
	/** 預金種目コード */
	private static final String YOKIN_SHUMOKU_CD = "yokin_shumoku_cd";
	/** 口座番号 */
	private static final String KOZA_NO = "koza_no";
	/** 口座名義人カナ名 */
	private static final String KOZA_MEIGIN_KANA = "koza_meigin_kana";
	/** 通帳記号 */
	private static final String TSUCHO_SYMBOL = "tsucho_symbol";
	/** 通帳番号 */
	private static final String TSUCHO_NO = "tsucho_no";
	/** 金融機関コード：ゆうちょ銀行 */
	private static final String BANK_CD_POSTAL = "9900";
	/** 審査与信結果コード */
	private static final String PAYWAY_PAY_SKEKKA_CD = "payway_pay_skekka_cd";
	/** 請求方法適用調整年月日 */
	private static final String SEIKY_WAY_APLY_ADJ_YMD = "seiky_way_aply_adj_ymd";
// OM-2019-0000042 2019/03/27 ADD START
	/** 初回支払申込書受領年月日 */
	private static final String FIRST_PAY_MSKMSHO_RCP_YMD = "first_pay_mskmsho_rcp_ymd";
// OM-2019-0000042 2019/03/27 ADD END

	/**
	 * コンストラクタ
	 */
	public FUSV0317_FUSV0317OPDBMapper()
	{
	}

	/**
	 * 開通前支払方法変更関連チェックCCの上りマッピングをします。
	 * <br>
	 * @param bean データBean
	 * @param outputMap マップ
	 * @param func_code
	 * @return HashMap 結果マップ
	 */
	public HashMap<String, Object> setFUSV031701CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■ＷＥＢ新規情報
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// ■契約サービス情報
		X31SDataBeanAccess keiSvcBean = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).getDataBean(0);

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);
		// 申込番号
		parentMap.put(IN_MSKM_NO, keiSvcBean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		try
		{
			// 申込チェック用の定義を取得
			Map<String, String> chkMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH, QUERY_ATTR_NAME);

			// 申込可能料金グループコード
			parentMap.put(IN_MSKM_OK_PRC_GRP_CD, chkMap.get(MSKM_OK_PRC_GRP_CD));
			// 申込可能サービス契約ステータス
			parentMap.put(IN_MSKM_OK_SVC_KEI_STAT, chkMap.get(MSKM_OK_SVC_KEI_STAT));
		}
		catch (Exception e)
		{
			// エラー時は未設定とする

			// 申込可能料金グループコード
			parentMap.put(IN_MSKM_OK_PRC_GRP_CD, JFUStrConst.EMPTY);
			// 申込可能サービス契約ステータス
			parentMap.put(IN_MSKM_OK_SVC_KEI_STAT, JFUStrConst.EMPTY);
		}

		outputMap.put(FUSV031701CC, parentMap);

		return outputMap;
	}

	/**
	 * 初回オーソリ依頼SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031701SC(X31SDataBeanAccess[] bean, 
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		//支払方法を設定
		String payway = bean[1].sendMessageString(FUW00701SFConst.PAY_WAY_SLCT, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法がクレジット以外の場合は、nullを返します。
		if (!JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 取引年月日 → 初回オーソリ依頼マップ.取引年月日
		parentMap.put(CR_ORDERDATE, JFUWebCommon.getSysDate());
		// 取引時間 → 初回オーソリ依頼マップ.取引時間
		parentMap.put(CR_ORDERTIME, bean[1].sendMessageString(FUW00701SFConst.CR_ORDERTIME, X31CWebConst.DATABEAN_GET_VALUE));
		// 決済金額 → 初回オーソリ依頼マップ.決済金額
		parentMap.put(CR_AMOUNT, bean[1].sendMessageString(FUW00701SFConst.CR_AMOUNT, X31CWebConst.DATABEAN_GET_VALUE));
		// クレジット契約番号 → 初回オーソリ依頼マップ.クレジット契約番号
		parentMap.put(CR_CCID, bean[1].sendMessageString(FUW00701SFConst.CR_CCID, X31CWebConst.DATABEAN_GET_VALUE));

		// 部品呼び出し → 初回オーソリ依頼マップ.加盟店ID
		parentMap.put(CR_CPID, JCCWebCommon.getApplicationConst(FU_CR_CPID));
		// 部品呼び出し → 初回オーソリ依頼マップ.加盟店パスワード
		parentMap.put(CR_PASSWD, JCCWebCommon.getApplicationConst(FU_CR_PASSWD));
		// トークン → 初回オーソリ依頼マップ.カード番号
		parentMap.put(CR_CARDNUMBER, bean[1].sendMessageString(FUW00701SFConst.TOKEN, X31CWebConst.DATABEAN_GET_VALUE));

		// 変更後のクレジットカードの有効期限 → 初回オーソリ依頼マップ.カード有効期限
		String yyMm = bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_YK_KIGEN, X31CWebConst.DATABEAN_GET_VALUE);
		// (yy/mm)に編集
		yyMm = yyMm.substring(2, 4) + JFUStrConst.SLASH + yyMm.substring(4, 6);
		parentMap.put(CR_CARDEXP, yyMm);

		outputMap.put(FUSV031701SC, parentMap);

		return outputMap;
	}

	/**
	 * 申込内容承認登録SCの上りマッピングをします。
	 * <br>
	 * @param bean [0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031702SC(X31SDataBeanAccess[] bean,
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■現顧客契約情報
		X31SDataBeanAccess genCustKeiBean = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);

		// SYSID
		parentMap.put(SYSID, genCustKeiBean.sendMessageString(CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込受付年月日時分秒
		parentMap.put(MSKM_UK_DTM, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[1].sendMessageString(FUW00701SFConst.UNYO_TIME, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込年月日
		parentMap.put(MSKM_YMD, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// コンシューマ営業用申込状態識別コード
		parentMap.put(CONSMBSN_MSKM_STAT_SKBT_CD, JFUStrConst.CD00760_04);

		ArrayList<HashMap<String, Object>> childList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		childList.add(childMap);
		parentMap.put(EKK0011D020CBSMSG1LIST, childList);

		outputMap.put(FUSV031702SC, parentMap);

		return outputMap;
	}

	/**
	 * 審査済クレジットカード登録SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap アウトマップ
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031703SC(X31SDataBeanAccess[] bean,
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// 支払方法を設定
		String payway = bean[1].sendMessageString(FUW00701SFConst.PAY_WAY_SLCT, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法がクレジット("1")以外の場合は、nullを返します。
		if (!JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 部品呼び出し → 審査済クレジットカード登録.クレジットカード事業コード
		parentMap.put(CRECARD_JIGYO_CD, JFUStrConst.CD00420_2);
		// 部品呼び出し → 審査済クレジットカード登録.支払い審査結果コード
		parentMap.put(PAY_SKEKKA_CD, JFUStrConst.CD00249_40);
		// 部品呼び出し → 審査済クレジットカード登録.異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00015);

		// 変更後のクレジットカード番号 → 審査済クレジットカード登録.カード番号
		parentMap.put(CR_CARDNUMBER, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後のクレジット会社コード → 審査済クレジットカード登録.クレジットカード会社コード
		parentMap.put(CRECARD_COMP_CD, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_COMP_CD, X31CWebConst.DATABEAN_GET_VALUE));

		if(JPCModelConstant.FUNC_CD_1.equals(func_code))
		{
			// 問合せ用カード番号 → 審査済クレジットカード登録.クレジットカード番号
			parentMap.put(CRECARD_NO, bean[1].sendMessageString(FUW00701SFConst.CR_INQUIRE_CARD_NO, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 変更後のクレジットカード番号 → 審査済クレジットカード登録.クレジットカード番号
			parentMap.put(CRECARD_NO, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_NO, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 変更後のクレジットカードの有効期限 → 審査済クレジットカード登録.クレジットカードの有効期限
		parentMap.put(CRECARD_YK_KIGEN, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_YK_KIGEN, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後の会員名義カナ → 審査済クレジットカード登録.クレジットカード名義カナ名
		parentMap.put(CRECARD_NM_KANA, bean[1].sendMessageString(FUW00701SFConst.CHAF_KIIN_MEIGI_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// オーソリ承認番号 → 審査済クレジットカード登録.オーソリ承認番号
		parentMap.put(AUTHORI_SHONIN_NO, bean[1].sendMessageString(FUW00701SFConst.AUTHORI_SHONIN_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日付 + 運用日付（時間） → 審査済クレジットカード登録.オーソリ確認年月日時分秒
		parentMap.put(AUTHORI_CFM_DTM, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[1].sendMessageString(FUW00701SFConst.UNYO_TIME, X31CWebConst.DATABEAN_GET_VALUE));

		// カード預りＩＤ → 審査済クレジットカード登録.クレジットカード番号預りID
		parentMap.put(CRECARD_NO_AZKRI_ID, bean[1].sendMessageString(FUW00701SFConst.CR_SAVE_ID, X31CWebConst.DATABEAN_GET_VALUE));

		// 審査済クレジットカード登録.仕向先会社コード
		if (!JFUWebCommon.isNull(bean[1].sendMessageString(FUW00701SFConst.CR_BRANDCODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// クリアパス仕向先会社コード → 審査済クレジットカード登録.仕向先会社コード
			parentMap.put(SHIKOSAKI_COMP_CD, bean[1].sendMessageString(FUW00701SFConst.CR_BRANDCODE, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 変更後のクレジット交換コード → 審査済クレジットカード登録.仕向先会社コード
			parentMap.put(SHIKOSAKI_COMP_CD, bean[1].sendMessageString(FUW00701SFConst.CHAF_CREDIT_KOKAN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 変更後のクレジットカード種別コード → 審査済クレジットカード登録.クレジットカード種別コード
		parentMap.put(CRECARD_SBT_CD, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRECARD_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後のクレジットイシュア区分 → 審査済クレジットカード登録.クレジットイシュア区分
		parentMap.put(CRDT_ISSUER_DIV, bean[1].sendMessageString(FUW00701SFConst.CHAF_CRDT_ISSUER_DIV, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031703SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求口座追加CCの上りマッピンをします。
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return outputMap アウトマップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV031702CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];

		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// 画面入力された支払方法を設定
		String payway = bean[1].sendMessageString(FUW00701SFConst.PAY_WAY_SLCT, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行・ゆうちょ以外の場合は、nullを返します。
		if (!JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		String tmpBankCd = bean[1].sendMessageString(FUW00701SFConst.CHAF_BANK_CD, X31CWebConst.DATABEAN_GET_VALUE);

		// 金融機関コード
		parentMap.put(BANK_CD, tmpBankCd);
		// 金融機関支店コード
		parentMap.put(BANK_SHITEN_CD, bean[1].sendMessageString(FUW00701SFConst.CHAF_BRANCH_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 金融機関コードにより分岐
		if (BANK_CD_POSTAL.equals(tmpBankCd))
		{
			// ゆうちょ銀行の場合
			// 通帳記号 
			parentMap.put(TSUCHO_SYMBOL, bean[1].sendMessageString(FUW00701SFConst.CHAF_TUTYO_KIGO, X31CWebConst.DATABEAN_GET_VALUE));
			// 通帳番号
			parentMap.put(TSUCHO_NO, bean[1].sendMessageString(FUW00701SFConst.CHAF_TUTYO_NO, X31CWebConst.DATABEAN_GET_VALUE));
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_3);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_30);
		}
		else
		{
			// ゆうちょ銀行以外の場合
			// 預金種目コード
			parentMap.put(YOKIN_SHUMOKU_CD, bean[1].sendMessageString(FUW00701SFConst.CHAF_DEPODIT_ITEM, X31CWebConst.DATABEAN_GET_VALUE));
			// 口座番号
			parentMap.put(KOZA_NO, bean[1].sendMessageString(FUW00701SFConst.CHAF_ACCOUNT_NUMBER, X31CWebConst.DATABEAN_GET_VALUE));
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_2);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_20);
		}

		// 口座名義人カナ名 → 請求方法情報（口座）変更後.請求契約番号
		parentMap.put(KOZA_MEIGIN_KANA, bean[1].sendMessageString(FUW00701SFConst.CHAF_ACCOUNT_HOLDER, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（請求契約情報変更） → 請求方法情報（口座）変更後.請求契約番号
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00015);
		// 請求契約情報.請求契約番号 → 請求方法情報（口座）変更後.請求契約番号
		parentMap.put(SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031702CC, parentMap);

		return outputMap;
	}

	/**
	 * 請求支払先変更SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031704SC(X31SDataBeanAccess[] bean,
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// 請求契約情報.請求契約番号 → 請求支払先変更マップ.請求契約番号
		parentMap.put(SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用年月日 → 請求支払先変更.予約適用年月日
		parentMap.put(RSV_APLY_YMD, bean[1].sendMessageString(FUW00701SFConst.RSV_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 最終更新年月日時分秒(請求契約) → 請求支払先変更.最終更新年月日時分秒
		parentMap.put(UPD_DTM_BF, seikyKei.sendMessageString(CommonInfoCFConst.LAST_UPD_DTM_32, X31CWebConst.DATABEAN_GET_VALUE));

		// 支払方法を設定
		String payway = bean[1].sendMessageString(FUW00701SFConst.PAY_WAY_SLCT, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			// クレジットの場合
			parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_4);
		}
		else
		{
			// 銀行口座、ゆうちょの場合
			String tmpBankCd = bean[1].sendMessageString(FUW00701SFConst.CHAF_BANK_CD, X31CWebConst.DATABEAN_GET_VALUE);

			// 金融機関コードにより分岐
			if (BANK_CD_POSTAL.equals(tmpBankCd))
			{
				// ゆうちょ銀行の場合
				parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_3);
			}
			else
			{
				// ゆうちょ銀行以外の場合
				parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_2);
			}
		}
// OM-2019-0000042 2019/03/27 ADD START
		// 初回支払申込書受領年月日
		parentMap.put(FIRST_PAY_MSKMSHO_RCP_YMD, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));
// OM-2019-0000042 2019/03/27 ADD END

		outputMap.put(FUSV031704SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求契約一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031705SC(X31SDataBeanAccess[] bean, HashMap<String,
				HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// 請求契約情報.請求契約番号 → 請求契約一意照会マップ.請求契約番号
		parentMap.put(KEY_SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<HashMap<String, Object>> childList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		childList.add(childMap);
		parentMap.put(EKK0491A010CBSMSG1LIST, childList);

		outputMap.put(FUSV031705SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求契約内容変更SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031706SC(X31SDataBeanAccess[] bean,
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// 請求契約情報.請求契約番号 → 請求契約内容変更マップ.請求契約番号
		parentMap.put(SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約内容変更.請求契約カナ名
		parentMap.put(SEIKY_KEI_KANA, bean[1].sendMessageString(FUW00701SFConst.CHAF_KIIN_MEIGI_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約内容変更マップ.異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00015);
		// 予約適用年月日 → 請求契約内容変更マップ.予約適用年月日
		parentMap.put(RSV_APLY_YMD, bean[1].sendMessageString(FUW00701SFConst.RSV_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		// 請求方法適用調整年月日 
		String aply_adj_ymd = JFUStrConst.EMPTY;
		// 運用日付
		String opeDate = bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE);
		// 運用日の日付のみ
		int mskm_dd = Integer.parseInt(opeDate.substring(6, 8));
		//予約適用年月日
		String rsv_aply_ymd = bean[1].sendMessageString(FUW00701SFConst.RSV_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE);
		//運用日付が25日以降は当月25日を調整日とし、運用日付が24日以前は予約適用年月日を調整日とする
		if (mskm_dd >= 25)
		{
			aply_adj_ymd = opeDate.substring(0, 6) + "25";
		}
		else
		{
			aply_adj_ymd = rsv_aply_ymd;
		}
		parentMap.put(SEIKY_WAY_APLY_ADJ_YMD, aply_adj_ymd);
// OM-2019-0000042 2019/03/27 ADD START
		// 初回支払申込書受領年月日
		parentMap.put(FIRST_PAY_MSKMSHO_RCP_YMD, opeDate);
// OM-2019-0000042 2019/03/27 ADD END

		outputMap.put(FUSV031706SC, parentMap);

		return outputMap;
	}

	/**
	 * 進捗登録SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031707SC(X31SDataBeanAccess[] bean, HashMap<String,
				HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 部品呼び出し → 進捗登録.異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00015);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// ■同一請求先照会リスト
		X31SDataBeanAccess doitSeikyBean = bean[1].getDataBeanArray(FUW00701SFConst.DOIT_SEIKY_SYKI_LST).getDataBean(0);

		// 進捗特記事項1
		try
		{
			String prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW00703, PRGADD_ID);

			if (prgTkjk1 != null && prgTkjk1.length() > 0)
			{
				parentMap.put(PRG_TKJK_1, prgTkjk1);
			}
			else
			{
				DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
			}
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
		}

		// 請求契約情報.請求契約番号 → 請求支払先変更マップ.請求契約番号
		parentMap.put(SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));

		// 同一請求先照会リスト[0].サービス契約番号 → 進捗登録マップ.サービス契約番号
		if(doitSeikyBean != null)
		{
			parentMap.put(SVC_KEI_NO, doitSeikyBean.sendMessageString(FUW00701SFConst.SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			parentMap.put(SVC_KEI_NO, JFUStrConst.EMPTY);
		}

		// 運用日付 + 運用日付（時間） → 進捗登録マップ.進捗年月日時分秒
		parentMap.put(PRG_DTM, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE)
				+ bean[1].sendMessageString(FUW00701SFConst.UNYO_TIME, X31CWebConst.DATABEAN_GET_VALUE));

		// 運用日付 + 運用日付（時間） → 進捗登録マップ.異動年月日時分秒
		parentMap.put(IDO_DTM, JFUWebCommon.getSysDateTimeStamp());

		// 進捗ステータス
		parentMap.put(PRG_STAT, JFUStrConst.CD00647_4100);

		// 進捗登録明細
		ArrayList<HashMap<String, String>> childList = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> childMap = new HashMap<String, String>();
		childMap.put(IDO_RSN_CD, JFUStrConst.CD00846_44);
		childList.add(childMap);
		parentMap.put(EKK1091D010CBSMSG1LIST, childList);

		outputMap.put(FUSV031707SC, parentMap);

		return outputMap;
	}

	/**
	 * 申込明細照査・後続業務依頼SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031708SC(X31SDataBeanAccess[] bean,
				HashMap<String, HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 運用日付 → 申込明細照査・後続業務依頼.後続業務依頼年月日
		parentMap.put(KZKWRK_REQYMD, bean[1].sendMessageString(FUW00701SFConst.UNYO_YMD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV031708SC, parentMap);

		return outputMap;
	}

	/**
	 * 請求契約一意照会SCの上りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, HashMap<String, Object>> setFUSV031709SC(X31SDataBeanAccess[] bean, HashMap<String,
				HashMap<String, Object>> outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// ■WEB変更
		X31SDataBeanAccess webchgBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_CHG_INFO).getDataBean(0);
		// ■WEB変更 - 現顧客契約情報
		X31SDataBeanAccess genCustKei = webchgBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO).getDataBean(0);
		// ■現顧客契約情報 - サービス契約情報
		X31SDataBeanAccess svcKei = genCustKei.getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO).getDataBean(0);
		// ■サービス契約情報 - 請求契約情報
		X31SDataBeanAccess seikyKei = svcKei.getDataBeanArray(CommonInfoCFConst.SEIKY_KEI_INFO).getDataBean(0);

		// 請求契約情報.請求契約番号 → 請求契約一意照会マップ.請求契約番号
		parentMap.put(KEY_SEIKY_KEI_NO, seikyKei.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<HashMap<String, Object>> childList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		childList.add(childMap);
		parentMap.put(EKK0491A010CBSMSG1LIST, childList);

		outputMap.put(FUSV031709SC, parentMap);

		return outputMap;
	}

	/**
	 * 初回オーソリ依頼SCの下りマッピングをします。
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：支払方法変更受付
	 * @param outputMap アウトマップ
	 * @return bean データBean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV031701SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = null;
		if (outputMap.containsKey(FUSV031701SC))
		{
			parentMap = (HashMap<String, Object>)outputMap.get(FUSV031701SC);
		}

		// 処理結果コード ← 初回オーソリSCマップ.処理結果コード
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_RESULTCODE, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_RESULTCODE));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_RESULTCODE, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}
		// オーソリ承認番号 ← 初回オーソリ依頼マップ.オーソリ承認番号
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.AUTHORI_SHONIN_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_AUTHNUMBER));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.AUTHORI_SHONIN_NO, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}
		// カード預りID ← 初回オーソリ依頼マップ.カード預りID
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_SAVE_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_SAVE_ID_O));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_SAVE_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// 問合せ用カード番号 ← 初回オーソリ依頼マップ.問合せ用カード番号
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_INQUIRE_CARD_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_INQUIRE_CARD_NO));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_INQUIRE_CARD_NO, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// クリアパス仕向先会社コード ← 初回オーソリ依頼マップ.仕向先カード会社コード
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_BRANDCODE, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_BRANDCODE));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_BRANDCODE, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// カード種別 ← 初回オーソリ依頼マップ.カード種別
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_CARD_TYPE, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_CARD_TYPE));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_CARD_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		// イシュア区分 ← 初回オーソリ依頼マップ.イシュア区分
		if (parentMap != null)
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_ISSUER_CLASS, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get(CR_ISSUER_CLASS));
		}
		else
		{
			bean[1].sendMessageString(FUW00701SFConst.CR_ISSUER_CLASS, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		}

		return bean;
	}
}
