/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：ACSV0036_ACSV0036OPDBMapper
*	ソースファイル名：ACSV0036_ACSV0036OPDBMapper.java
*	作成者			：ＦＪ
*	日付			：2013年03月15日
*＜機能概要＞
*	BP（コンテンツ通話明細照会画面情報取得）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2013/03/15	ＦＪ		新規作成
*	v5.00.00	2013/06/13   FJ) 林	【IKK-2013-0001187】050電話番号重複データを出力しない
*
**********************************************************************/
package eo.web.webview.mapping;

import java.math.BigDecimal;
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.JACStrConst;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.common.JCHWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class ACSV0036_ACSV0036OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public ACSV0036_ACSV0036OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003601SC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", bean[0].sendMessageString("機能コード１ＳＣ", X31CWebConst.DATABEAN_GET_VALUE));

		// "CD01231" → コード名称管理コード区分一覧照会マップ.ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD01231);
		// 運用日 → コード名称管理コード区分一覧照会マップ.ＫＥＹ＿基準年月日
		parentMap.put("key_stdardymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));


		outputMap.put("ACSV003601SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003602SC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", bean[0].sendMessageString("機能コード２ＳＣ", X31CWebConst.DATABEAN_GET_VALUE));

		// ＳＹＳＩＤ → 050アプリ電話番号一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		// 照会可能期間開始 → 050アプリ電話番号一覧照会マップ.ＫＥＹ＿サービス終了年月日＿ＦＲＯＭ
		String prdStaYMD = bean[0].sendMessageString("照会可能期間開始", X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("key_pcall_svc_end_ymd_from", prdStaYMD.concat("000000000"));

		outputMap.put("ACSV003602SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003603SC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", bean[0].sendMessageString("機能コード３ＳＣ", X31CWebConst.DATABEAN_GET_VALUE));

		// コンテンツ通話明細一覧照会マップ.検索処理パターン
		parentMap.put("search_type", "1");
		// コンテンツ通話明細一覧照会マップ.最大検索件数
		parentMap.put("max_search_num", eo.web.webview.common.JCCWebCommon.getSearchConst("ACW01601_MAX_SHOW_CNT"));
		// コンテンツ通話明細一覧照会マップ.表示件数
		parentMap.put("display_num", eo.web.webview.common.JCCWebCommon.getSearchConst("ACW01601_ROW_PER_PAGE"));
		// コンテンツ通話明細一覧照会マップ.表示ページ番号
		parentMap.put("display_page_num", "1");

		// ＳＹＳＩＤ → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿課金先電話番号
		parentMap.put("key_kakins_telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日ＦＲＯＭ１ → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＦＲＯＭ＿１
		parentMap.put("key_pcall_staymd_from_1", bean[0].sendMessageString("通話開始年月日ＦＲＯＭ１", X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日ＴＯ１ → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＴＯ＿１
		parentMap.put("key_pcall_staymd_to_1", bean[0].sendMessageString("通話開始年月日ＴＯ１", X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日ＦＲＯＭ２ → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＦＲＯＭ＿２
		parentMap.put("key_pcall_staymd_from_2", bean[0].sendMessageString("通話開始年月日ＦＲＯＭ２", X31CWebConst.DATABEAN_GET_VALUE));
		// 通話開始年月日ＴＯ２ → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＴＯ＿２
		parentMap.put("key_pcall_staymd_to_2", bean[0].sendMessageString("通話開始年月日ＴＯ２", X31CWebConst.DATABEAN_GET_VALUE));
		// "1：課金"  → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿課金可否
		parentMap.put("key_chrg_kh", "1");
		// 運用日 → コンテンツ通話明細一覧照会マップ.ＫＥＹ＿運用日付
		parentMap.put("key_unyo_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// "0" → ＫＥＹ＿利用月種別コード＿１
		parentMap.put("key_use_mon_sbt_cd_1", "0");
		// "1" → ＫＥＹ＿利用月種別コード＿２
		parentMap.put("key_use_mon_sbt_cd_2", "1");
		// "CD00987" → ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00987);

		outputMap.put("ACSV003603SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setACSV003604SC(X31SDataBeanAccess[] bean, HashMap outputMap) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", bean[0].sendMessageString("機能コード４ＳＣ", X31CWebConst.DATABEAN_GET_VALUE));

		// ＳＹＳＩＤ → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿課金先電話番号
		parentMap.put("key_kakins_telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 月指定 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＦＲＯＭ＿１
		parentMap.put("key_pcall_staymd_from_1", bean[0].sendMessageString("通話開始年月日ＦＲＯＭ１", X31CWebConst.DATABEAN_GET_VALUE));
		// 月指定 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＴＯ＿１
		parentMap.put("key_pcall_staymd_to_1", bean[0].sendMessageString("通話開始年月日ＴＯ１", X31CWebConst.DATABEAN_GET_VALUE));
		// 月指定 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＦＲＯＭ＿２
		parentMap.put("key_pcall_staymd_from_2", bean[0].sendMessageString("通話開始年月日ＦＲＯＭ２", X31CWebConst.DATABEAN_GET_VALUE));
		// 月指定 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿通話開始年月日＿ＴＯ＿２
		parentMap.put("key_pcall_staymd_to_2", bean[0].sendMessageString("通話開始年月日ＴＯ２", X31CWebConst.DATABEAN_GET_VALUE));
		// "1：課金" → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿課金可否
		parentMap.put("key_chrg_kh", "1");
		// 運用日 → コンテンツ通話明細合計一覧照会マップ.ＫＥＹ＿運用日付
		parentMap.put("key_unyo_ymd", bean[0].sendMessageString("運用日", X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿利用月種別コード＿１ → "0"
		parentMap.put("key_chrg_tg_use_mon_skbt_cd_1", "0");
		// ＫＥＹ＿利用月種別コード＿２ → "1"
		parentMap.put("key_chrg_tg_use_mon_skbt_cd_2", "1");

		outputMap.put("ACSV003604SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003601SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003601SC")){
			parentMap = (HashMap)outputMap.get("ACSV003601SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray chrgStatList = bean[0].getDataBeanArray("課金状態リスト");
		childList = null;
		if(chrgStatList != null && parentMap != null && parentMap.containsKey("EZM0171B012CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EZM0171B012CBSMsg1List");

			chrgStatList.clearArray();
			chrgStatList.addDataBean();

			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);

				chrgStatList.getDataBean(0).sendMessageString("課金状態選択", X31CWebConst.DATABEAN_ADD_VALUE, Integer.toString(i));
				
				// 課金状態リスト.課金状態 ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				if (childMap != null) {
					chrgStatList.getDataBean(0).sendMessageString("課金状態", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_div"));
				} else {
					chrgStatList.getDataBean(0).sendMessageString("課金状態", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
				// 課金状態リスト.課金状態（表示） ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				if (childMap != null) {
					StringBuffer chrgStatDisp = new StringBuffer();
					chrgStatDisp.append(Integer.toString(i+1)).append(JACStrConst.COLON).append((String)childMap.get("cd_div_nm"));

					chrgStatList.getDataBean(0).sendMessageString("課金状態（表示）", X31CWebConst.DATABEAN_ADD_VALUE, chrgStatDisp.toString());
				} else {
					chrgStatList.getDataBean(0).sendMessageString("課金状態（表示）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003602SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003602SC")){
			parentMap = (HashMap)outputMap.get("ACSV003602SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray telnoList = bean[0].getDataBeanArray("電話番号リスト");
		childList = null;
		if(telnoList != null && parentMap != null && parentMap.containsKey("ECN0331B002CBSMsg1List")){
			childList = (ArrayList)parentMap.get("ECN0331B002CBSMsg1List");

			ArrayList<String> tmpList = new ArrayList<String>();

			for(int i = 0; i < childList.size(); i++)
			{
				HashMap childMap = (HashMap)childList.get(i);

				String telno = (String)childMap.get("n_050_telno");

				// 重複しない050電話番号をリストに格納。
				if (!tmpList.contains(telno))
				{
					tmpList.add(telno);
				}
			}

			telnoList.clearArray();
			telnoList.addDataBean();

			if (null != tmpList && 0 != tmpList.size())
			{
				for(int i = 0; i < tmpList.size(); i++)
				{
					telnoList.getDataBean(0).sendMessageString("電話番号選択", X31CWebConst.DATABEAN_ADD_VALUE, Integer.toString(i));

					// 電話番号リスト.電話番号 ← 050アプリ電話番号一覧照会マップ.コンテンツ契約内訳一覧照会.050電話番号
					if (tmpList.get(i) != null) {
						telnoList.getDataBean(0).sendMessageString("電話番号", X31CWebConst.DATABEAN_ADD_VALUE, tmpList.get(i));
					} else {
						telnoList.getDataBean(0).sendMessageString("電話番号", X31CWebConst.DATABEAN_ADD_VALUE, new String());
					}

					// 電話番号リスト.電話番号（表示） ← 050アプリ電話番号一覧照会マップ.コンテンツ契約内訳一覧照会.050電話番号
					if (tmpList.get(i) != null) {
						telnoList.getDataBean(0).sendMessageString("電話番号（表示）", X31CWebConst.DATABEAN_ADD_VALUE, JPCUtilCommon.formatTelNoAdd2(tmpList.get(i)));
					} else {
						telnoList.getDataBean(0).sendMessageString("電話番号（表示）", X31CWebConst.DATABEAN_ADD_VALUE, new String());
					}
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003603SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003603SC")){
			parentMap = (HashMap)outputMap.get("ACSV003603SC");
		}

		ArrayList childList = null;
		
		// ページ情報の設定
		// 検索総件数
		if (JCHWebCommon.isNullOrEmpty((String) parentMap.get("total_search_num")))
		{
			parentMap.put("total_search_num", "0");
		}
		// 総ページ数
		if (JCHWebCommon.isNullOrEmpty((String) parentMap.get("total_page_num")))
		{
			parentMap.put("total_page_num", "0");
		}

		X31SDataBeanAccessArray listACSV003603SC_tw_dtl_list_EAC0621B010CBSMsg1List = bean[0].getDataBeanArray("通話明細リスト");
		childList = null;
		if(listACSV003603SC_tw_dtl_list_EAC0621B010CBSMsg1List != null && parentMap != null && parentMap.containsKey("EAC0621B010CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EAC0621B010CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listACSV003603SC_tw_dtl_list_EAC0621B010CBSMsg1List.getCount() -1 >= i){
					subbean = listACSV003603SC_tw_dtl_list_EAC0621B010CBSMsg1List.getDataBean(i);
				}else{
					subbean = listACSV003603SC_tw_dtl_list_EAC0621B010CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}

				if (childMap != null) {
				// 通話明細リスト.Ｎｏ．
					subbean.sendMessageString("Ｎｏ．", X31CWebConst.DATABEAN_SET_VALUE, Integer.toString(i+1));
				} else {
					subbean.sendMessageString("Ｎｏ．", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.通話開始日時 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話開始年月日
				if (childMap != null) {
					subbean.sendMessageString("通話開始日時", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcall_staymd") + (String)childMap.get("pcall_sta_hms"));
				} else {
					subbean.sendMessageString("通話開始日時", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.通話終了日時 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話終了年月日
				if (childMap != null) {
					subbean.sendMessageString("通話終了日時", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcall_endymd") + (String)childMap.get("pcall_end_hms"));
				} else {
					subbean.sendMessageString("通話終了日時", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.通話時間 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話秒数
				if (childMap != null) {
					subbean.sendMessageString("通話時間", X31CWebConst.DATABEAN_SET_VALUE, editTwTime((String)childMap.get("pcall_sec_cnt")));
				} else {
					subbean.sendMessageString("通話時間", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.電話番号 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.着信電話番号
				if (childMap != null) {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("incoming_telno"));
				} else {
					subbean.sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.通話料 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話料金
				if (childMap != null) {
					subbean.sendMessageString("通話料", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcall_prc"));
				} else {
					subbean.sendMessageString("通話料", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.種別コード ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話種別コード
				if (childMap != null) {
					subbean.sendMessageString("種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("pcall_sbt"));
				} else {
					subbean.sendMessageString("種別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.種別名称 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.通話種別略称
				if (childMap != null) {
					
					StringBuffer tuwaSbtAli = new StringBuffer();
					tuwaSbtAli.append((String)childMap.get("pcall_sbt")).append(JACStrConst.COLON).append((String)childMap.get("tuwa_sbt_ali"));
					subbean.sendMessageString("種別名称", X31CWebConst.DATABEAN_SET_VALUE, tuwaSbtAli.toString());
				} else {
					subbean.sendMessageString("種別名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.課金非課金名称 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.コード区分略称
				if (childMap != null) {
					subbean.sendMessageString("課金非課金名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cd_div_ali"));
				} else {
					subbean.sendMessageString("課金非課金名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 通話明細リスト.国名 ← コンテンツ通話明細一覧照会マップ.コンテンツ通話明細一覧照会.国名
				if (childMap != null) {
					subbean.sendMessageString("国名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("country_nm"));
				} else {
					subbean.sendMessageString("国名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ通話明細照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getACSV003604SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("ACSV003604SC")){
			parentMap = (HashMap)outputMap.get("ACSV003604SC");
		}

		ArrayList childList = null;
		

		childList = null;
		if(parentMap != null && parentMap.containsKey("EAC0621B020CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EAC0621B020CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){

				HashMap childMap = (HashMap)childList.get(i);

				// コンテンツ通話明細合計一覧照会マップ.コンテンツ通話明細合計一覧照会.コンテンツ通話明細課税非課税コード
				if (JACStrConst.KAZEI_HIKAZEI_CD_KAZEI.equals((String)childMap.get("cont_tw_dtl_kazei_hikazei_cd")))
				{
					// 課税分通話合計数 ← コンテンツ通話明細合計一覧照会マップ.コンテンツ通話明細合計一覧照会.コンテンツ通話明細合計
					bean[0].sendMessageString("課税分通話合計数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_tw_dtl_gokei"));

					// 課税分通話合計金額 ← コンテンツ通話明細合計一覧照会マップ.コンテンツ通話明細合計一覧照会.コンテンツ通話明細通話料金合計
					bean[0].sendMessageString("課税分合計金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_tw_dtl_pcall_prc_gokei"));
				}
				else if (JACStrConst.KAZEI_HIKAZEI_CD_HIKAZEI.equals((String)childMap.get("cont_tw_dtl_kazei_hikazei_cd")))
				{
					// 免税分通話合計数 ← コンテンツ通話明細合計一覧照会マップ.コンテンツ通話明細合計一覧照会.コンテンツ通話明細合計
					bean[0].sendMessageString("免税分通話合計数", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_tw_dtl_gokei"));

					// 免税分合計金額 ← コンテンツ通話明細合計一覧照会マップ.コンテンツ通話明細合計一覧照会.コンテンツ通話明細通話料金合計
					bean[0].sendMessageString("免税分合計金額", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_tw_dtl_pcall_prc_gokei"));
				}
			}
		}

		return bean;
	}

	/**
	 * 通話時間編集<BR>
	 * @param callSecCnt 通話秒数（9,1）
	 * @return 通話時間（h:mm:ss.S）
	 */
	private String editTwTime(String callSecCnt)
	{
		String strInteger = "";   // 整数
		String strDecimal = "";   // 小数

		if (callSecCnt.indexOf(".") != -1)
		{
			strInteger = callSecCnt.substring(0, callSecCnt.indexOf("."));
			strDecimal = callSecCnt.substring(callSecCnt.indexOf("."));
		}
		else
		{
			strInteger = callSecCnt;
		}

		if (JCHWebCommon.isNullOrEmpty(strInteger))
		{
			strInteger = "0";
		}
		if (JCHWebCommon.isNullOrEmpty(strDecimal))
		{
			strDecimal = ".0";
		}

		BigDecimal decInteger = new BigDecimal(strInteger);
		BigDecimal[] result = decInteger.divideAndRemainder(new BigDecimal(3600));  // 変換(秒 → 時間)
		BigDecimal[] result2 = result[1].divideAndRemainder(new BigDecimal(60));    // 変換(秒 → 分)

		String hour = result[0].toString();
		String minute = JPCUtilCommon.fillZero(result2[0].toString(), 2, false);
		String second = JPCUtilCommon.fillZero(result2[1].toString(), 2, false);

		return hour + ":" + minute + ":" + second + strDecimal;
	}
}