/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0075_FUSV0075OPDBMapper
*	ソースファイル名：FUSV0075_FUSV0075OPDBMapper.java
*	作成者			：富士通
*	日付			：2011年08月17日
*＜機能概要＞
*	BP（ダイヤルアップ接続サービス申込(申込)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/17	FJ）岡井	新規作成
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW03901SF.FUW03901SFConst;

/**
 * DataBean-BPマッピングをします。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0075_FUSV0075OPDBMapper
{
	/** 認証ＩＤパスワード存在確認(JFUNinshoIdPwdSonzaiChkCC) */
	private static final String CC_TITLE_FUSV007501 = "FUSV007501CC";
	/** サービスIF結果データ移送(JFUTransferCC) */
	private static final String CC_TITLE_FUSV007502 = "FUSV007502CC";
	/** サービスIF結果データ移送(JFUTransferCC) */
	private static final String CC_TITLE_FUSV007503 = "FUSV007503CC";
	/** サービスIF結果データ移送(JFUTransferCC) */
	private static final String CC_TITLE_FUSV007504 = "FUSV007504CC";
	/** サービスオーダ発行(JKKHakkoSODCC) */
	private static final String CC_TITLE_FUSV007505 = "FUSV007505CC";

	/** 認証ＩＤ一覧照会ＳＣ */
	private static final String SC_TITLE_FUSV007501 = "FUSV007501SC";
	/** 認証ＩＤパスワード認証一覧照会１ＳＣ */
	private static final String SC_TITLE_FUSV007502 = "FUSV007502SC";
	/** 認証ＩＤパスワード認証一覧照会２ＳＣ */
	private static final String SC_TITLE_FUSV007503 = "FUSV007503SC";
	/** 申込内容承認登録ＳＣ */
	private static final String SC_TITLE_FUSV007504 = "FUSV007504SC";
	/** ISP認証IDパスワード変更ＳＣ */
	private static final String SC_TITLE_FUSV007505 = "FUSV007505SC";
	/** 進捗登録ＳＣ */
	private static final String SC_TITLE_FUSV007506 = "FUSV007506SC";
	/** 申込明細照査・後続業務依頼ＳＣ */
	private static final String SC_TITLE_FUSV007507 = "FUSV007507SC";

	/** 申込内容承認登録明細リスト */
	private static final String EKK0011D020CBSMSG1LIST = "EKK0011D020CBSMsg1List";
	/** 現サービス契約内訳情報一覧照会（ネット）明細リスト */
	private static final String EKK0161B504CBSMSG1LIST = "EKK0161B504CBSMsg1List";
	/** 認証ＩＤパスワード認証一覧照会明細リスト */
	private static final String EKK0171B002CBSMSG1LIST = "EKK0171B002CBSMsg1List";
	/** 異動理由明細リスト */
	private static final String EKK1091D010CBSMSG1LIST = "EKK1091D010CBSMsg1List";

	/** その他 */
	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** 表示ページ番号 */
	private static final String PAGING_INFO_PAGE_NUM = "display_page_num";

	/** 表示ページ番号 */
	private static final String DISPLAY_PAGE_NUM = "1";

	/** 共有ホームBean */
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";

	/** SC項目名：ＫＥＹ＿ＳＹＳＩＤ */
	private static final String KEY_SYSID = "key_sysid";
	/** SC項目名：ＫＥＹ＿ＩＳＰ認証ＩＤ */
	private static final String KEY_ISP_NINSHO_ID = "key_isp_ninsho_id";
	/** SC項目名：ＫＥＹ＿ＩＳＰ認証ＩＤパスワード */
	private static final String KEY_ISP_NINSHO_ID_PWD = "key_isp_ninsho_id_pwd";
	/** SC項目名：SYSID */
	private static final String SYSID = "sysid";
	/** SC項目名：サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";


	/** SC項目名：ＫＥＹ＿サービス契約内訳番号 */
	private static final String KEY_SVC_KEI_UCWK_NO = "key_svc_kei_ucwk_no";

	/** SC項目名：ＫＥＹ＿世代登録年月日時分秒 */
	private static final String KEY_GENE_ADD_DTM = "key_gene_add_dtm";

	/** Databean */

	/** ＩＳＰ認証ＩＤパスワード */
	private static final String ISP_NINSHO_ID_PWD = "isp_ninsho_id_pwd";

	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";

	/** パスワード処理区分 */
	private static final String PASSWORD_SHORI_DIV = "password_shori_div";

	/** パスワード再発行区分 */
	private static final String PASSWORD_SAIHAKKO_DIV = "password_saihakko_div";

	/** サービスオーダ発行 対象データリスト */
	private static final String REQ_TRGT_DATA_LIST = "trgt_data_list";

	/** SOD基本情報 */
	private static final String SOD_KIHON_INFO = "sod_kihon_info";

	/** サービス契約情報 */
	private static final String SVC_KEI_INFO = "svc_kei_info";

	/** 移送キー１ */
	private static final String TRANS_KEY_1 = "key_1";
	/** 移送キー２ */
	private static final String TRANS_KEY_2 = "key_2";
	/** 移送キー３ */
	private static final String TRANS_KEY_3 = "key_3";

	/** サービス契約内訳番号 */
	private static final String TRANS_KEY_1_1_VALUE =
			"FUSV007502SC:EKK0171B002CBSMsg1List:svc_kei_ucwk_no,trgt_data_list:0:svc_kei_ucwk_info:svc_kei_ucwk_no";
	/** 世代登録年月日時分秒 */
	private static final String TRANS_KEY_1_2_VALUE =
			"FUSV007502SC:EKK0171B002CBSMsg1List:gene_add_dtm,trgt_data_list:0:svc_kei_ucwk_info:chbf_svc_kei_ucwk_gene_add_dtm";
	/** 世代登録年月日時分秒(サービス契約内訳) */
	private static final String TRANS_KEY_1_3_VALUE =
			"FUSV007505SC::kk0161_gene_add_dtm,trgt_data_list:0:svc_kei_ucwk_info:chaf_svc_kei_ucwk_gene_add_dtm";
	/** サービス契約内訳番号 */
	private static final String TRANS_KEY_2_1_VALUE =
			"FUSV007503SC:EKK0171B002CBSMsg1List:svc_kei_ucwk_no,trgt_data_list:1:svc_kei_ucwk_info:svc_kei_ucwk_no";
	/** 世代登録年月日時分秒 */
	private static final String TRANS_KEY_2_2_VALUE =
			"FUSV007503SC:EKK0171B002CBSMsg1List:gene_add_dtm,trgt_data_list:1:svc_kei_ucwk_info:chbf_svc_kei_ucwk_gene_add_dtm";
	/** 世代登録年月日時分秒(サービス契約内訳) */
	private static final String TRANS_KEY_2_3_VALUE =
			"FUSV007505SC::kk0161_gene_add_dtm,trgt_data_list:1:svc_kei_ucwk_info:chaf_svc_kei_ucwk_gene_add_dtm";
	/** copyHakkoSodArray SYSID */
	private static final String TRANS_KEY_3_1_VALUE = "trgt_data_list:0:sod_kihon_info:sysid,trgt_data_list:1:sod_kihon_info:sysid";
	/** copyHakkoSodArray 異動区分 */
	private static final String TRANS_KEY_3_2_VALUE = "trgt_data_list:0:sod_kihon_info:ido_div,trgt_data_list:1:sod_kihon_info:ido_div";
	/** copyHakkoSodArray サービス契約番号 */
	private static final String TRANS_KEY_3_3_VALUE = "trgt_data_list:0:svc_kei_info:svc_kei_no,trgt_data_list:1:svc_kei_info:svc_kei_no";

	/** マップキー 移送先名取得 */
	private static final String KEY_TRAN_NAME = "tranNm";
	/** マップキー キーカウント */
	private static final String KEY_KEY_CNT = "key_cnt";

	/**
	 * コンストラクタ
	 */
	public FUSV0075_FUSV0075OPDBMapper()
	{
	}

	/**
	 * 認証ＩＤ一覧照会ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報、[2]:共有フォームBean.現顧客契約情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007501SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 共有フォームBean.SSO情報.サービス契約番号 → ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SVC_KEI_NO, bean[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 最大検索件数 → 最大検索件数
		parentMap.put(JFUStrConst.PAGING_INFO_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示件数 → 表示件数
		parentMap.put(JFUStrConst.PAGING_INFO_DISPLAY_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示ページ番号 → 表示ページ番号
		parentMap.put(PAGING_INFO_PAGE_NUM, DISPLAY_PAGE_NUM);

		ArrayList<HashMap<String, String>> arrayList = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> detailMap = new HashMap<String, String>();
		arrayList.add(detailMap);	// 認証ID1個用
		arrayList.add(detailMap);	// 認証ID2個用
		parentMap.put(EKK0161B504CBSMSG1LIST, arrayList);

		outputMap.put(SC_TITLE_FUSV007501, parentMap);

		return outputMap;
	}

	/**
	 * 認証ＩＤパスワード認証一覧照会１ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報、[2]:共有フォームBean.現顧客契約情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007502SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 共有フォームBean.SSO情報.SYSID → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 最大検索件数 → 最大検索件数
		parentMap.put(JFUStrConst.PAGING_INFO_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示件数 → 表示件数
		parentMap.put(JFUStrConst.PAGING_INFO_DISPLAY_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示ページ番号 → 表示ページ番号
		parentMap.put(PAGING_INFO_PAGE_NUM, DISPLAY_PAGE_NUM);

		outputMap.put(SC_TITLE_FUSV007502, parentMap);

		return outputMap;
	}

	/**
	 * 認証ＩＤパスワード認証一覧照会２ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報、[2]:共有フォームBean.現顧客契約情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007503SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 共有フォームBean.SSO情報.SYSID → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 最大検索件数 → 最大検索件数
		parentMap.put(JFUStrConst.PAGING_INFO_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示件数 → 表示件数
		parentMap.put(JFUStrConst.PAGING_INFO_DISPLAY_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 表示ページ番号 → 表示ページ番号
		parentMap.put(PAGING_INFO_PAGE_NUM, DISPLAY_PAGE_NUM);

		outputMap.put(SC_TITLE_FUSV007503, parentMap);

		return outputMap;
	}

	/**
	 * 申込内容承認登録ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007504SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 共有フォームBean.SSO情報.SYSID → SYSID
		parentMap.put(SYSID, bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込内容承認登録明細
		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();

		arrayList.add(detailMap);
		parentMap.put(EKK0011D020CBSMSG1LIST, arrayList);

		outputMap.put(SC_TITLE_FUSV007504, parentMap);

		return outputMap;
	}

	/**
	 * ISP認証IDパスワード変更ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007505SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 認証IDパスワード変更申込Bean.変更認証ＩＤパスワード → ＩＳＰ認証ＩＤパスワード
		parentMap.put(ISP_NINSHO_ID_PWD, bean[0].sendMessageString(FUW03901SFConst.CHG_NINSHO_ID_PWD, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(SC_TITLE_FUSV007505, parentMap);

		return outputMap;
	}

	/**
	 * 進捗登録ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007506SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 共有フォームBean.SSO情報.サービス契約番号 → サービス契約番号
		parentMap.put(SVC_KEI_NO, bean[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 異動理由明細
		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put(EKK1091D010CBSMSG1LIST, arrayList);

		outputMap.put(SC_TITLE_FUSV007506, parentMap);

		return outputMap;
	}

	/**
	 * 申込明細照査・後続業務依頼ＳＣの上りマッピング処理です。
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007507SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		outputMap.put(SC_TITLE_FUSV007507, parentMap);

		return outputMap;
	}

	/**
	 * 認証ＩＤパスワード存在確認(JFUNinshoIdPwdSonzaiChkCC)の上りマッピング処理です。
	 *
	 * <br>
	 * @param bean [0]:認証IDパスワード変更申込、[1]:共有フォームBean.SSO情報、[2]:共有フォームBean.現顧客契約情報
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007501CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ★サービス契約情報(現顧客情報の子)を取得
		// 但し、子要素が必要なだけなので、0番目のみを対象とする
		X31SDataBeanAccessArray svcKeiInfoArray = bean[2].getDataBeanArray(CommonInfoCFConst.SVC_KEI_INFO);
		X31SDataBeanAccess svcKeiInfoBean = svcKeiInfoArray.getDataBean(0);

		// ★サービス契約内訳情報(サービス契約情報の子)の配列を取得
		// 当メソッドでは1件目のみを処理する為、0番目のみを対象とする
		X31SDataBeanAccessArray svcKeiUcwkInfoArray = svcKeiInfoBean.getDataBeanArray(CommonInfoCFConst.SVC_KEI_UCWK_INFO);
		X31SDataBeanAccess svcKeiUcwkInfoBean = svcKeiUcwkInfoArray.getDataBean(0);

		// 共有フォームBean.サービス契約内訳情報.サービス契約内訳番号 → ＫＥＹ＿サービス契約内訳番号
		parentMap.put(KEY_SVC_KEI_UCWK_NO, svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_24,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 共有フォームBean.サービス契約内訳情報.世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒
		parentMap.put(KEY_GENE_ADD_DTM, svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_24,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.SSO情報.SYSID → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put(KEY_SYSID, bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.サービス契約内訳情報.ISP認証ID → ＫＥＹ＿ＩＳＰ認証ＩＤ
		parentMap.put(KEY_ISP_NINSHO_ID, svcKeiUcwkInfoBean.sendMessageString(CommonInfoCFConst.ISP_NINSHO_ID_24,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 認証IDパスワード変更申込Bean.現在の認証IDパスワード → ＫＥＹ＿ＩＳＰ認証ＩＤパスワード
		parentMap.put(KEY_ISP_NINSHO_ID_PWD, bean[0].sendMessageString(FUW03901SFConst.NOW_NINSHO_ID_PWD, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<HashMap<String, String>> arrayList = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> detailMap = new HashMap<String, String>();
		arrayList.add(detailMap);
		parentMap.put(EKK0171B002CBSMSG1LIST, arrayList);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV007501, parentMap);

		return outputMap;
	}

	/**
	 * サービスIF結果データ移送(JFUTransferCC)の上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	public HashMap<String, Object> setFUSV007502CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// データ移送数
		parentMap.put(KEY_KEY_CNT, "3");

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_FUSV007505);

		// ●サービス契約内訳番号
		// 認証ＩＤパスワード認証一覧照会1SC(FUSV007503SC).サービス契約内訳番号 →
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].サービス契約内訳番号
		parentMap.put(TRANS_KEY_1, TRANS_KEY_1_1_VALUE);
		// ●変更前サービス契約内訳世代登録年月日時分秒
		// 認証ＩＤパスワード認証一覧照会1SC(FUSV007503SC).世代登録年月日時分秒 →
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].変更前サービス契約内訳世代登録年月日時分秒
		parentMap.put(TRANS_KEY_2, TRANS_KEY_1_2_VALUE);
		// ●変更後サービス契約内訳世代登録年月日時分秒
		// ISP認証IDパスワード変更1SCC(FUSV007505SC).世代登録年月日時分秒(サービス契約内訳) →
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].変更後サービス契約内訳世代登録年月日時分秒
		parentMap.put(TRANS_KEY_3, TRANS_KEY_1_3_VALUE);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV007502, parentMap);

		return outputMap;
	}

	/**
	 * サービスIF結果データ移送(JFUTransferCC)の上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	public HashMap<String, Object> setFUSV007503CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// データ移送数
		parentMap.put(KEY_KEY_CNT, "3");

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_FUSV007505);

		// ●サービス契約内訳番号
		// 認証ＩＤパスワード認証一覧照会2SC(FUSV007504SC).サービス契約内訳番号 →
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[1].サービス契約内訳番号
		parentMap.put(TRANS_KEY_1, TRANS_KEY_2_1_VALUE);
		// ●変更前サービス契約内訳世代登録年月日時分秒
		// 認証ＩＤパスワード認証一覧照会2SC(FUSV007504SC).世代登録年月日時分秒 →
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[1].変更前サービス契約内訳世代登録年月日時分秒
		parentMap.put(TRANS_KEY_2, TRANS_KEY_2_2_VALUE);
		// ●変更後サービス契約内訳世代登録年月日時分秒
		// ISP認証IDパスワード変更2SCC(FUSV007506SC).世代登録年月日時分秒(サービス契約内訳)→
		// サービスオーダ発行CC(FUSV0075044CC).対象データリスト[1].変更後サービス契約内訳世代登録年月日時分秒
		parentMap.put(TRANS_KEY_3, TRANS_KEY_2_3_VALUE);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV007503, parentMap);

		return outputMap;
	}

	/**
	 * サービスIF結果データ移送(JFUTransferCC)の上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	public HashMap<String, Object> setFUSV007504CC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// データ移送数
		parentMap.put(KEY_KEY_CNT, "3");

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_FUSV007505);

		// ●SYSID
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].SYSIDを
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[1].SYSIDに設定する。
		parentMap.put(TRANS_KEY_1, TRANS_KEY_3_1_VALUE);

		// ●異動区分
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].異動区分を
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[1].異動区分に設定する。
		parentMap.put(TRANS_KEY_2, TRANS_KEY_3_2_VALUE);

		// ●サービス契約番号
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[0].サービス契約番号を
		// サービスオーダ発行CC(FUSV007504CC).対象データリスト[1].サービス契約番号に設定する。
		parentMap.put(TRANS_KEY_3, TRANS_KEY_3_3_VALUE);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV007504, parentMap);

		return outputMap;
	}

	/**
	 * サービスオーダ発行(JKKHakkoSODCC)の上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV007505CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		ArrayList<HashMap<String, Object>> arrayList = new ArrayList<HashMap<String, Object>>();

		int cnt = Integer.parseInt(bean[0].sendMessageString(FUW03901SFConst.YUKO_SVC_KEI_UW_CNT, X31CWebConst.DATABEAN_GET_VALUE));

		for (int i = 0; i < cnt; i++)
		{
			HashMap<String, Object> childMap = new HashMap<String, Object>();

			// SOD基本情報
			HashMap<String, Object> sodKihonInfo = new HashMap<String, Object>();
			// SYSID
			sodKihonInfo.put(SYSID, bean[1].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
			// 異動区分
			sodKihonInfo.put(IDO_DIV, JFUStrConst.CD00576_00052);	// 00052(お客様IDパスワード初期化・再発行)
			// パスワード処理区分
			sodKihonInfo.put(PASSWORD_SHORI_DIV, "3");				// 3(認証ID用)
			// パスワード再発行区分
			sodKihonInfo.put(PASSWORD_SAIHAKKO_DIV, "2");			// 2(再振)
			childMap.put(SOD_KIHON_INFO, sodKihonInfo);

			// サービス契約情報
			HashMap<String, Object> svcKeiInfo = new HashMap<String, Object>();
			// サービス契約番号
			svcKeiInfo.put(SVC_KEI_NO, bean[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE));
			childMap.put(SVC_KEI_INFO, svcKeiInfo);

			arrayList.add(childMap);
		}

		parentMap.put(REQ_TRGT_DATA_LIST, arrayList);

		// 共通情報のマッピング
		outputMap.put(CC_TITLE_FUSV007505, parentMap);

		return outputMap;
	}
}