/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CRSV0269_CRSV0269OPDBMapper
*	ソースファイル名：CRSV0269_CRSV0269OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年03月14日
*＜機能概要＞
*	BP（お客様選択（初期表示））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/03/14	FJ			新規作成
*	v12.00.00	2014/12/09	FJ)川島		【ANK-2255-00-00】【ＮＯ．１６４１】コールセンター再構築対応
*	v42.00.00	2019/04/03	FJ)三原		【ANK-3593-00-00】オペレータ支援対応に伴うeo顧客機能改修（お客さまカルテ）
**********************************************************************/
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.JCRStrConst;
import eo.common.util.JCRUtilCommon;
import eo.web.webview.CRW10401SF.CRW10401SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCRWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CRSV0269_CRSV0269OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CRSV0269_CRSV0269OPDBMapper(){
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setGETWORKPARAM1ICC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → 業務パラメータ管理一意照会マップ.ＫＥＹ＿業務パラメータID
		parentMap.put("key_work_param_id", JCRStrConst.WORK_PARAM_ID_CR_EPOP_INCOM_TIME);

		outputMap.put("GETWORKPARAM1ICC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026901SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// サービス契約番号は連携されることはなくなったため、設定しない。
		
		// ＳＹＳＩＤ → サービス契約一覧照会（お客様選択）マップ.ＫＥＹ＿ＳＹＳＩＤ
		// ＳＹＳＩＤリスト
		X31SDataBeanAccessArray detailBeanList = bean[0].getDataBeanArray(CRW10401SFConst.SYSID);
		// ＳＹＳＩＤリストBean
		X31SDataBeanAccess detailBean = null;

		StringBuilder wkSysid = new StringBuilder();
		
		for (int i = 0; i < detailBeanList.getCount(); i++)
		{
			detailBean = detailBeanList.getDataBean(i);
			wkSysid.append(detailBean.sendMessageString(CRW10401SFConst.L3_SYSID_04, X31CWebConst.DATABEAN_GET_VALUE));
			wkSysid.append(",");
		}
		parentMap.put("key_sysid", wkSysid);
		
		outputMap.put("CRSV026901SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026902SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 問合せ客番号 → 問合せ客一覧照会（お客様選択）マップ.ＫＥＹ＿問合せ客番号
		// 問合せ客番号リスト
		X31SDataBeanAccessArray detailBeanList = bean[0].getDataBeanArray(CRW10401SFConst.PROSCST_NO);
		// 問合せ客番号リストBean
		X31SDataBeanAccess detailBean = null;

		StringBuilder wkProscstNo = new StringBuilder();

		for (int i = 0; i < detailBeanList.getCount(); i++)
		{
			detailBean = detailBeanList.getDataBean(i);
			wkProscstNo.append(detailBean.sendMessageString(CRW10401SFConst.L1_PROSCST_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
			wkProscstNo.append(",");
		}
		parentMap.put("key_proscst_no", wkProscstNo);

		outputMap.put("CRSV026902SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026903SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 着信電話番号 → ePOP着信実績一覧照会マップ.ＫＥＹ＿着信電話番号
		parentMap.put("key_incoming_telno", bean[0].sendMessageString("着信電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CRSV026903SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026904SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 着信電話番号 → ePOP着信実績登録マップ.着信電話番号
		parentMap.put("incoming_telno", bean[0].sendMessageString("着信電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 着信年月日時分秒（システム日時） → ePOP着信実績登録マップ.着信年月日時分秒
		parentMap.put("incoming_dtm", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));
		// イベントID
		parentMap.put("event_id", bean[0].sendMessageString("着信イベントＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CRSV026904SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEPOPTENSORNKICTLCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 部品呼び出し → ePOP転送連携登録更新マップ.ＫＥＹ＿ePOP転送連携キー
		parentMap.put("key_epop_tenso_rnki_key", bean[0].sendMessageString("ｅＰＯＰ転送連携キー", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → ePOP転送連携登録更新マップ.着信電話番号
		parentMap.put("incoming_telno", bean[0].sendMessageString("着信電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → ePOP転送連携登録更新マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → ePOP転送連携登録更新マップ.問合せ客番号
		parentMap.put("proscst_no", bean[0].sendMessageString("選択問合せ客番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → ePOP転送連携登録更新マップ.着信年月日時分秒
		parentMap.put("incoming_dtm", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("JCREPOPTENSORNKICTLCC", parentMap);

		return outputMap;
	}

	// ANK-3593-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param commonInfoBean
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026905SC(X31SDataBeanAccess[] bean, X31SDataBeanAccess commonInfoBean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// システムＩＤ → ワンタイムパスワード登録マップ.システムID
		parentMap.put("sysid", JCRWebCommon.getApplicationConst(JCRStrConst.PROP_KEY_SYS_ID_OPS));
		// ユーザーＩＤ → ワンタイムパスワード登録マップ.ユーザーID
		parentMap.put("user_id", commonInfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 共通フォームBeanから権限リストを取得
		X31SDataBeanAccessArray kggrpCdList = commonInfoBean.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST);
		// 権限リストの1レコード目を取得
		X31SDataBeanAccess kggrpBean = kggrpCdList.getDataBean(0);
		// 組織コード → ワンタイムパスワード登録マップ.組織コード
		parentMap.put("org_cd", kggrpBean.sendMessageString(CommonInfoCFConst.ORG_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
		// 立場コード → ワンタイムパスワード登録マップ.立場コード
		parentMap.put("position_cd", kggrpBean.sendMessageString(CommonInfoCFConst.POSITION_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
		// 選択ＳＹＳＩＤ → ワンタイムパスワード登録マップ.選択ＳＹＳＩＤ
		parentMap.put("choice_sysid", bean[0].sendMessageString(CRW10401SFConst.CHOICE_SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// カルテ起動コード → ワンタイムパスワード登録マップ.カルテ起動コード
		parentMap.put("krt_kidou_cd", bean[0].sendMessageString(CRW10401SFConst.KRT_KIDOU_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// ＯＰ担当業務コード → ワンタイムパスワード登録マップ.ＯＰ担当業務コード
		parentMap.put("op_tnt_work_cd", bean[0].sendMessageString(CRW10401SFConst.OP_TNT_WORK_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CRSV026905SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCRSV026901CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if(bean == null)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 対応履歴外部接続URL番号("0000000026"(固定)) → 対応履歴外部接続URL一覧照会取得マップ.ＫＥＹ＿対応履歴外部接続URL番号
		parentMap.put("key_taiorrk_out_url_no", JCRStrConst.TAIORRK_OUT_URL_NO_CUST_KRT_KIDOU);
		// 対応履歴外部接続URL種別コード("1"(固定)) → 対応履歴外部接続URL一覧照会取得マップ.ＫＥＹ＿対応履歴外部接続URL種別コード
		parentMap.put("key_taiorrk_out_url_sbt_cd", JCRStrConst.TAIORRK_OUT_URL_SBT_CD_CUST_KRT_KIDOU);
		// 選択ＳＹＳＩＤ → 対応履歴外部接続URL一覧照会取得マップ.選択ＳＹＳＩＤ
		parentMap.put("choice_sysid", bean[0].sendMessageString(CRW10401SFConst.CHOICE_SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// カルテ起動コード → 対応履歴外部接続URL一覧照会取得マップ.カルテ起動コード
		parentMap.put("krt_kidou_cd", bean[0].sendMessageString(CRW10401SFConst.KRT_KIDOU_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// ＯＰ担当業務コード → 対応履歴外部接続URL一覧照会取得マップ.ＯＰ担当業務コード
		parentMap.put("op_tnt_work_cd", bean[0].sendMessageString(CRW10401SFConst.OP_TNT_WORK_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("GETOUTURL1RCC", parentMap);
		
		return outputMap;
	}
	// ANK-3593-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getGETWORKPARAM1ICC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("GETWORKPARAM1ICC")){
			parentMap = (HashMap)outputMap.get("GETWORKPARAM1ICC");
		}

		// 直近着信時間業務パラメータ値 ← 部品呼び出し
		bean[0].sendMessageString("直近着信時間業務パラメータ値", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getColumnValue(parentMap, "EZM0321A010CBSMsg1List", "work_param_sette_value"));

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV026901SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV026901SC")){
			parentMap = (HashMap)outputMap.get("CRSV026901SC");
		}

		X31SDataBeanAccessArray listCRSV026901SC_ekk0081b521cbsmsg1list_EKK0081B521CBSMsg1List = bean[0].getDataBeanArray("お客様情報リスト");
		if(listCRSV026901SC_ekk0081b521cbsmsg1list_EKK0081B521CBSMsg1List != null && parentMap != null && parentMap.containsKey("EKK0081B521CBSMsg1List")){

			// 総件数 ← サービス契約一覧照会（お客様選択）マップ.総検索件数
			if (parentMap != null) {
				bean[0].sendMessageString("総検索件数", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("total_search_num"));
			} else {
				bean[0].sendMessageString("総検索件数", X31CWebConst.DATABEAN_SET_VALUE, new String());
			}

			ArrayList childList = (ArrayList)parentMap.get("EKK0081B521CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){

				// ▼▼▼▼▼ 修正 開始 ▼▼▼▼▼
				X31SDataBeanAccess subbean = listCRSV026901SC_ekk0081b521cbsmsg1list_EKK0081B521CBSMsg1List.addDataBean();
				// ▲▲▲▲▲ 修正 終了 ▲▲▲▲▲
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// お客様情報リスト.サービス契約番号 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.サービス契約番号
				if (childMap != null) {
					if (!JCRUtilCommon.isNull((String)childMap.get("svc_kei_no")))
					{
						subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
						subbean.sendMessageString("ＯＰＭＳ有無", X31CWebConst.DATABEAN_SET_VALUE, "■");
					}
				} else {
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					subbean.sendMessageString("ＯＰＭＳ有無", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// お客様情報リスト.料金グループコード ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.料金グループコード
				if (childMap != null) {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				} else {
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.サービス名称 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.料金グループ名
				if (childMap != null) {
					subbean.sendMessageString("サービス名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_nm"));
				} else {
					subbean.sendMessageString("サービス名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様名 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様名
				if (childMap != null) {
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				} else {
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様カナ名 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様名カナ名
				if (childMap != null) {
					subbean.sendMessageString("お客様カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
				} else {
					subbean.sendMessageString("お客様カナ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.タイトル ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.タイトル
				if (childMap != null) {
					subbean.sendMessageString("タイトル", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("title"));
				} else {
					subbean.sendMessageString("タイトル", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコード ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様ランクコード
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd"));
				} else {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコード名称 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様ランクコード名称
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd_nm"));
				} else {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコードスタイルクラス ← 部品呼び出し
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getItemStyle2(childMap, "cust_rank_cd"));
				} else {
					subbean.sendMessageString("お客様ランクコードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コード ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.問合せ状態コード
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("toiawase_stat_cd"));
				} else {
					subbean.sendMessageString("問合せ状態コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コード名称 ← サービス契約一覧照会（お客様選択）マップ.サービス契約一覧照会明細.問合せ状態コード名称
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("toiawase_stat_cd_nm"));
				} else {
					subbean.sendMessageString("問合せ状態コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コードスタイルクラス ← 部品呼び出し
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getItemStyle(childMap, "toiawase_stat_cd"));
				} else {
					subbean.sendMessageString("問合せ状態コードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// お客様情報リスト.行スタイルクラス ← 部品呼び出し
				subbean.sendMessageString("行スタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getLineStyle(i + 1));
				// お客様情報リスト.明細インデックス ← 部品呼び出し
				subbean.sendMessageString("明細インデックス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getConstantValue(String.valueOf(i)));
				// お客様情報リスト.行スタイルＩＤ ← 部品呼び出し
				subbean.sendMessageString("行スタイルＩＤ", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getConstantValue("tr" + String.valueOf(i)));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV026902SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV026902SC")){
			parentMap = (HashMap)outputMap.get("CRSV026902SC");
		}

		X31SDataBeanAccessArray listCRSV026902SC_eck0051b030cbsmsg1list_ECK0051B030CBSMsg1List = bean[0].getDataBeanArray("お客様情報リスト");
		if(listCRSV026902SC_eck0051b030cbsmsg1list_ECK0051B030CBSMsg1List != null && parentMap != null && parentMap.containsKey("ECK0051B030CBSMsg1List")){

			
			ArrayList childList = (ArrayList)parentMap.get("ECK0051B030CBSMsg1List");
			for(int i = 0; i < childList.size(); i++){
				
				// ▼▼▼▼▼ 修正 開始 ▼▼▼▼▼
				X31SDataBeanAccess subbean = listCRSV026902SC_eck0051b030cbsmsg1list_ECK0051B030CBSMsg1List.addDataBean();
				// ▲▲▲▲▲ 修正 終了 ▲▲▲▲▲
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				// お客様情報リスト.問合せ客番号 ← 問合せ客一覧照会（お客様選択）マップ.問合せ客一覧照会明細.問合せ客番号
				if (childMap != null) {
					subbean.sendMessageString("問合せ客番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_no"));
				} else {
					subbean.sendMessageString("問合せ客番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様名 ← 問合せ客一覧照会（お客様選択）マップ.問合せ客一覧照会明細.問合せ客名
				if (childMap != null) {
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_nm"));
				} else {
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様カナ名 ← 問合せ客一覧照会（お客様選択）マップ.問合せ客一覧照会明細.問合せ客カナ名
				if (childMap != null) {
					subbean.sendMessageString("お客様カナ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("proscst_kana"));
				} else {
					subbean.sendMessageString("お客様カナ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.タイトル ← 問合せ客一覧照会（お客様選択）マップ.問合せ客一覧照会明細.タイトル
				if (childMap != null) {
					subbean.sendMessageString("タイトル", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("title"));
				} else {
					subbean.sendMessageString("タイトル", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコード ← 問合せ客一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様ランクコード
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd"));
				} else {
					subbean.sendMessageString("お客様ランクコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコード名称 ← 問合せ客一覧照会（お客様選択）マップ.サービス契約一覧照会明細.お客様ランクコード名称
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_rank_cd_nm"));
				} else {
					subbean.sendMessageString("お客様ランクコード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.お客様ランクコードスタイルクラス ← 部品呼び出し
				if (childMap != null) {
					subbean.sendMessageString("お客様ランクコードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getItemStyle2(childMap, "cust_rank_cd"));
				} else {
					subbean.sendMessageString("お客様ランクコードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コード ← 問合せ客一覧照会（お客様選択）マップ.サービス契約一覧照会明細.問合せ状態コード
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("toiawase_stat_cd"));
				} else {
					subbean.sendMessageString("問合せ状態コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コード名称 ← 問合せ客一覧照会（お客様選択）マップ.サービス契約一覧照会明細.問合せ状態コード名称
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コード名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("toiawase_stat_cd_nm"));
				} else {
					subbean.sendMessageString("問合せ状態コード名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様情報リスト.問合せ状態コードスタイルクラス ← 部品呼び出し
				if (childMap != null) {
					subbean.sendMessageString("問合せ状態コードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getItemStyle(childMap, "toiawase_stat_cd"));
				} else {
					subbean.sendMessageString("問合せ状態コードスタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// ▼▼▼▼▼ 修正 開始 ▼▼▼▼▼
				// 現在の明細行数取得
				int rowcnt = listCRSV026902SC_eck0051b030cbsmsg1list_ECK0051B030CBSMsg1List.getCount();
				
				// お客様情報リスト.行スタイルクラス ← 部品呼び出し
				subbean.sendMessageString("行スタイルクラス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getLineStyle(rowcnt));
				// お客様情報リスト.明細インデックス ← 部品呼び出し
				subbean.sendMessageString("明細インデックス", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getConstantValue(String.valueOf(rowcnt)));
				// お客様情報リスト.行スタイルＩＤ ← 部品呼び出し
				subbean.sendMessageString("行スタイルＩＤ", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getConstantValue("tr" + String.valueOf(rowcnt)));
				// ▲▲▲▲▲ 修正 終了 ▲▲▲▲▲
			}
			
			// 総件数 ← 問合せ客一覧照会（お客様選択）マップ.総検索件数
			// ▼▼▼▼▼ 修正 開始 ▼▼▼▼▼
			if (parentMap != null) {
				String total_search_num_str = String.valueOf(listCRSV026902SC_eck0051b030cbsmsg1list_ECK0051B030CBSMsg1List.getCount());
				bean[0].sendMessageString("総検索件数", X31CWebConst.DATABEAN_SET_VALUE, total_search_num_str);
			} else {
				bean[0].sendMessageString("総検索件数", X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
			// ▲▲▲▲▲ 修正 終了 ▲▲▲▲▲
		}
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV026903SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV026903SC"))
		{
			parentMap = (HashMap)outputMap.get("CRSV026903SC");
		}

		if(parentMap != null && parentMap.containsKey("ECR0491B010CBSMsg1List")){
			ArrayList childList = (ArrayList)parentMap.get("ECR0491B010CBSMsg1List");
			if ((childList == null) || (childList.size() == 0))
			{
				return bean;
			}

			// 直近着信時間 ← 部品呼び出し
			bean[0].sendMessageString("直近着信時間", X31CWebConst.DATABEAN_SET_VALUE, JCRWebCommon.getColumnValue(parentMap, "ECR0491B010CBSMsg1List", "incoming_dtm"));
		}

		return bean;
	}

	// ANK-3593-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV026905SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("CRSV026905SC"))
		{
			parentMap = (HashMap)outputMap.get("CRSV026905SC");
		}
		// ワンタイムパスワード ← ワンタイムパスワード登録マップ.ワンタイムパスワード
		if (parentMap != null)
		{
			bean[0].sendMessageString(CRW10401SFConst.ONET_PWD_CUST_KRT_KIDOU, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("one_time_pwd"));
		}
		else
		{
			bean[0].sendMessageString(CRW10401SFConst.ONET_PWD_CUST_KRT_KIDOU, X31CWebConst.DATABEAN_SET_VALUE, new String());
		}
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：お客様選択
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCRSV026901CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		
		// 対応履歴外部接続URL一覧照会の結果を取得する
		if (outputMap.containsKey("GETOUTURL1RCC"))
		{
			parentMap = (HashMap)outputMap.get("GETOUTURL1RCC");
		}
		
		if(parentMap != null && parentMap.containsKey("ECR0451B010CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("ECR0451B010CBSMsg1List");
			if (childList != null)
			{
				for (int i = 0; i < childList.size(); i++)
				{
					HashMap childMap = (HashMap)childList.get(i);
					
					if (childMap != null)
					{
						// 対応履歴外部接続URLを取得する
						String taiorrkOutUrl = (String)childMap.get("taiorrk_out_url");
						
						// 対応履歴外部接続URL番号を取得する
						String taiorrkOutUrlNo = (String)childMap.get("taiorrk_out_url_no");
						
						// 対応履歴外部接続URL種別コードを取得する
						String taiorrkOutUrlSbtCd = (String)childMap.get("taiorrk_out_url_sbt_cd");
						
						// 対応履歴外部接続URL番号が"0000000026"、かつ、対応履歴外部接続URL種別コードが"1"の場合
						if (JCRStrConst.TAIORRK_OUT_URL_NO_CUST_KRT_KIDOU.equals(taiorrkOutUrlNo) && JCRStrConst.TAIORRK_OUT_URL_SBT_CD_CUST_KRT_KIDOU.equals(taiorrkOutUrlSbtCd))
						{
							// bean.対応履歴外部接続ＵＲＬ（お客さまカルテ画面起動用）に対応履歴外部接続URLを設定する
							bean[0].sendMessageString(CRW10401SFConst.TAIORRK_OUT_URL_CUST_KRT_KIDOU, X31CWebConst.DATABEAN_SET_VALUE, taiorrkOutUrl);
							break;
						}
					}
				}
			}
		}
		
		return bean;
	}
	// ANK-3593-00-00 ADD END

}