/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNSV0020_CNSV0020OPDBMapper
*	ソースファイル名：CNSV0020_CNSV0020OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年08月03日
*＜機能概要＞
*	BP（コンテンツ請求照会(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00	2011/08/03	富士通)新規作成
*	ｖ4.00.00	2012/12/06	富士通)味岡	ST1-2012-0001018:SYSDATE使用箇所を運用日付使用に置き換え
*	ｖ20.00.00	2015/11/13	富士通)清原	【ANK-2565-00-00】クレジットカード番号預かりサービス導入（Step3：預かり番号化）
*   v20.00.01	2015/12/17  FJ)頼経		【ANK-2663-00-00】LalaCALL 代理店対応(STNet・テレビトクシマ)
*	v58.00.00	2022/04/12	FJ)北村		【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
*	v58.00.01	2022/07/27  FJ)北村		【IT1-2022-0000040】決済ID不正
*	v65.00.00	2023/08/01	FJ）吉田	【ANK-4346-00-00】【eo定期】CCMG再構築対応
*
**********************************************************************/
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.JCNStrConst;
import eo.common.util.JCNStringUtil;
import eo.common.util.JPCUtilCommon;
import eo.common.util.JZMAdOutputEdit;
import eo.web.webview.common.JCNEditPrc;
import eo.web.webview.common.JCNWebCommon;
import eo.web.webview.common.JCNWebConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CNSV0020_CNSV0020OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CNSV0020_CNSV0020OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ請求照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV002001SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) {
		
		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);

		// ＳＹＳＩＤ → お客様一意照会マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → お客様一意照会マップ.世代登録年月日時分秒
		parentMap.put("gene_add_dtm", String.valueOf(""));
		// 部品呼び出し → お客様一意照会マップ.予約適用年月日
		// ST1-2012-0001018 2012/12/06 n.ajioka START
//		parentMap.put("rsv_aply_ymd", JCCWebCommon.getSysDate());
		parentMap.put("rsv_aply_ymd", opeDate);
		// ST1-2012-0001018 2012/12/06 n.ajioka END

		outputMap.put("CNSV002001SC", parentMap);
						
		return outputMap;
	}

	// ANK-4346-00-00 DEL START
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：コンテンツ請求照会
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setCNSV002002SC(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);
//
//		// ＳＹＳＩＤ → コンテンツ請求照会マップ.SYSID
//		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
//		// 請求対象年月選択値 → コンテンツ請求照会マップ.課金対象月
//		parentMap.put("chrg_trgt_ym", bean[0].sendMessageString("請求対象年月選択値", X31CWebConst.DATABEAN_GET_VALUE));
//
//		outputMap.put("CNSV002002SC", parentMap);
//						
//		return outputMap;
//	}
	// ANK-4346-00-00 DEL END
	// ANK-4346-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ請求照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV002003CC(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);

		// ＳＹＳＩＤ → コンテンツ請求照会マップ.SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求対象年月選択値 → コンテンツ請求照会マップ.課金対象月
		parentMap.put("key_chrg_trgt_ym", bean[0].sendMessageString("請求対象年月選択値", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV002003CC", parentMap);
						
		return outputMap;
	}
	// ANK-4346-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ請求照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV002001SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CNSV002001SC")){
			parentMap = (HashMap)outputMap.get("CNSV002001SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCNSV002001SC_cust_kbt_cust_list = bean[0].getDataBeanArray("お客様個別");
		childList = null;
		if(listCNSV002001SC_cust_kbt_cust_list != null && parentMap != null && parentMap.containsKey("cust_list")){
			childList = (ArrayList)parentMap.get("cust_list");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCNSV002001SC_cust_kbt_cust_list.getCount() -1 >= i){
					subbean = listCNSV002001SC_cust_kbt_cust_list.getDataBean(i);
				}else{
					subbean = listCNSV002001SC_cust_kbt_cust_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// お客様個別.ｅｏＩＤ ← お客様一意照会マップ.お客様一意照会リスト.eoID
				if (childMap != null) {
					subbean.sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("eoid"));
				} else {
					subbean.sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様カナ氏名 ← お客様一意照会マップ.お客様一意照会リスト.お客様カナ名
				if (childMap != null) {
					subbean.sendMessageString("お客様カナ氏名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様カナ氏名（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様カナ氏名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様氏名 ← お客様一意照会マップ.お客様一意照会リスト.お客様名
				if (childMap != null) {
					subbean.sendMessageString("お客様氏名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様氏名（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様氏名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.契約者住所 ← お客様一意照会マップ.お客様一意照会リスト.契約者住所コード
				if (childMap != null) {
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					String adWork = JZMAdOutputEdit.getPtn01(
							(String)childMap.get("cont_state_nm"),
							(String)childMap.get("cont_city_nm"),
							(String)childMap.get("cont_oaztsu_nm"),
							(String)childMap.get("cont_azcho_nm"),
							(String)childMap.get("cont_bnchigo"),
							(String)childMap.get("cont_adrttm"),
							(String)childMap.get("cont_adrrm"));
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE, adWork);
					subbean.sendMessageString("契約者住所（表示）", X31CWebConst.DATABEAN_SET_VALUE, adWork);
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
				} else {
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様ステータス ← お客様一意照会マップ.お客様一意照会リスト.お客様ステータス
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				} else {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様ステータス名 ← お客様一意照会マップ.お客様一意照会リスト.お客様ステータス名
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat_nm"));
				} else {
					subbean.sendMessageString("お客様ステータス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.会員種別コード ← お客様一意照会マップ.お客様一意照会リスト.会員種別コード
				if (childMap != null) {
					subbean.sendMessageString("会員種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("member_sbt_cd"));
				} else {
					subbean.sendMessageString("会員種別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.会員種別 ← お客様一意照会マップ.お客様一意照会リスト.会員種別コード名
				if (childMap != null) {
					subbean.sendMessageString("会員種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("member_sbt_cd_nm"));
				} else {
					subbean.sendMessageString("会員種別", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様誕生日 ← お客様一意照会マップ.お客様一意照会リスト.お客様生年月日
				if (childMap != null) {
					subbean.sendMessageString("お客様誕生日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_birthd"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様誕生日（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_birthd"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様誕生日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ請求照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	// ANK-4346-00-00 MOD START
//	public X31SDataBeanAccess[] getCNSV002002SC(X31SDataBeanAccess[] bean, HashMap outputMap, boolean authFlg, String opeDate){
	public X31SDataBeanAccess[] getCNSV002003CC(X31SDataBeanAccess[] bean, HashMap outputMap, boolean authFlg, String opeDate){
	// ANK-4346-00-00 MOD END
		
		int syokeiKomi = 0;
		int syokeiNuki = 0;
		int gokei = 0;

		HashMap parentMap = null;
		// ANK-4346-00-00 MOD START
//		if(outputMap.containsKey("CNSV002002SC")){
//			parentMap = (HashMap)outputMap.get("CNSV002002SC");
//		}
		if(outputMap.containsKey("CNSV002003CC")){
			parentMap = (HashMap)outputMap.get("CNSV002003CC");
		}
		// ANK-4346-00-00 MOD END

		ArrayList childList = null;
		

		// ANK-4346-00-00 MOD START
//		X31SDataBeanAccessArray listCNSV002002SC_cont_sei_kbt_cont_sei_list = bean[0].getDataBeanArray("コンテンツ請求個別");
		X31SDataBeanAccessArray listCNSV002003CC_cont_sei_kbt_cont_sei_list = bean[0].getDataBeanArray("コンテンツ請求個別");
		// ANK-4346-00-00 MOD END
		childList = null;
		// ANK-4346-00-00 MOD START
//		if(listCNSV002002SC_cont_sei_kbt_cont_sei_list != null && parentMap != null && parentMap.containsKey("cont_sei_list")){
		if(listCNSV002003CC_cont_sei_kbt_cont_sei_list != null && parentMap != null && parentMap.containsKey("cont_sei_list")){
		// ANK-4346-00-00 MOD END
			childList = (ArrayList)parentMap.get("cont_sei_list");

			for(int i = 0, j = 0; i < childList.size(); ){
				X31SDataBeanAccess subbean = null;
				// ANK-4346-00-00 MOD START
//				if(listCNSV002002SC_cont_sei_kbt_cont_sei_list.getCount() -1 >= i){
//					subbean = listCNSV002002SC_cont_sei_kbt_cont_sei_list.getDataBean(i);
//				}else{
//					subbean = listCNSV002002SC_cont_sei_kbt_cont_sei_list.addDataBean();
//				}
				if(listCNSV002003CC_cont_sei_kbt_cont_sei_list.getCount() -1 >= i){
					subbean = listCNSV002003CC_cont_sei_kbt_cont_sei_list.getDataBean(i);
				}else{
					subbean = listCNSV002003CC_cont_sei_kbt_cont_sei_list.addDataBean();
				}
				// ANK-4346-00-00 MOD END
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// コンテンツ請求個別.コンテンツ支払い方法コード ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツ支払い方法コード
				if (childMap != null) {
					subbean.sendMessageString("コンテンツ支払い方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_payway_cd"));
				} else {
					subbean.sendMessageString("コンテンツ支払い方法コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.カード会社コード ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.カード会社コード
				if (childMap != null) {
					subbean.sendMessageString("カード会社コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_comp_cd"));
				} else {
					subbean.sendMessageString("カード会社コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.カード会社名 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.カード会社名
				if (childMap != null) {
					subbean.sendMessageString("カード会社名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_comp_nm"));
				} else {
					subbean.sendMessageString("カード会社名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.クレジットカードＩＤ ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.クレジットカードＩＤ
				if (childMap != null) {
					subbean.sendMessageString("クレジットカードＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_id"));
				} else {
					subbean.sendMessageString("クレジットカードＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.クレジットカード番号 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.クレジットカード番号
				if (childMap != null) {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("crecard_no"));
					if(!authFlg)
					{
						subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_SET_VALUE, JCNStrConst.MASK_CARD_NO);
					}
				
				} else {
					subbean.sendMessageString("クレジットカード番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.ＩＳＰ決済サービス契約番号 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.ＩＳＰ決済サービス契約番号
				if (childMap != null) {
					subbean.sendMessageString("ＩＳＰ決済サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("isp_kssai_svc_kei_no"));
				} else {
					subbean.sendMessageString("ＩＳＰ決済サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツ請求個別.請求契約番号 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.請求契約番号
				if (childMap != null) {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				} else {
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ANK-3846-00-00 ADD START
				// コンテンツ請求個別.決済ＩＤ ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.決済ID
				if (childMap != null) {
					subbean.sendMessageString("決済ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kssai_id"));
				} else {
					subbean.sendMessageString("決済ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
// ANK-3846-00-00 ADD END
				
				// 支払い方法表示用編集
				String payway = "";
				String str_isp_kssai_svc_kei_no = "";
				str_isp_kssai_svc_kei_no = (String)childMap.get("isp_kssai_svc_kei_no");
				
//				if (childMap.get("cont_payway_cd").equals("1"))
//				{
				
				// ISP決済請求契約番号が空の場合はクレジットカードの表示処理を行う
				if ("".equals(str_isp_kssai_svc_kei_no))
				{
					// クレジットカード決済
//					v20.00.00 Mod Start
//					payway = (String)childMap.get("crecard_comp_nm") + "　" + JCNWebCommon.crecardNoEdit((String)childMap.get("crecard_no"));
// ANK-3846-00-00 Mod START
//					payway = JCNWebCommon.editCreditCard((String)childMap.get("crecard_comp_nm"),
//														(String)childMap.get("crecard_no"),
//														(String)childMap.get("crecard_yk_kigen"),
//														(String)childMap.get("crecard_no_azkri_id"));
// v58.00.01 IT1-2022-0000040 MOD START
					// 決済ＩＤの値より半角スペースを削除
					String kssaiId = JPCUtilCommon.trim((String)childMap.get("kssai_id"));
					payway = JCNWebCommon.editCreditCard((String)childMap.get("crecard_comp_nm"),
														(String)childMap.get("crecard_no"),
														(String)childMap.get("crecard_yk_kigen"),
														(String)childMap.get("crecard_no_azkri_id"),
//														(String)childMap.get("kssai_id"));
														kssaiId);
// v58.00.01 IT1-2022-0000040 MOD END
//ANK-3846-00-00 Mod End
//					v20.00.00 Mod End
					if(!authFlg)
					{
// ANK-3846-00-00 Mod START
						//payway = JCNStrConst.MASK_CARD_NO;
						payway = JCNStrConst.MASK_CARD_NO + JCNStrConst.MASK_KSSAI_ID;
// ANK-3846-00-00 Mod End
					}
				}
				else
				{
					// ISP決済
					payway = "プロバイダ料金に合算【お客さまID：" + (String)childMap.get("isp_kssai_svc_kei_no") + "】";
					bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
					bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("isp_kssai_svc_kei_no"));
				}
				if (childMap != null)
				{
					subbean.sendMessageString("支払い方法表示", X31CWebConst.DATABEAN_SET_VALUE, payway);
				}
				else
				{
					subbean.sendMessageString("支払い方法表示", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}

				// ３層目比較用にデータを取得
//				String contPayCd = (String)childMap.get("cont_payway_cd");
				String isp_kssai_svc_kei_no = (String)childMap.get("isp_kssai_svc_kei_no");
				String crecardCompCd = (String)childMap.get("crecard_comp_cd");
				String crecardId = (String)childMap.get("crecard_id");
				X31SDataBeanAccessArray detailArray = subbean.getDataBeanArray("コンテンツ契約個別");
				
				int k = 0;
				for (j = i; j < childList.size(); j++, i++, k++) {
					HashMap detailMap = (HashMap)childList.get(j);
					// 比較対象のデータ取得
//					String wkContPayCd = (String)detailMap.get("cont_payway_cd");
					String wkisp_kssai_svc_kei_no = (String)detailMap.get("isp_kssai_svc_kei_no");
					String wkCrecardCompCd = (String)detailMap.get("crecard_comp_cd");
					String wkCrecardId = (String)detailMap.get("crecard_id");
					
//					// コンテンツ支払い方法、カード会社コード、クレジットカードIDのいずれかが変わった時点でbreak
//					if ((!contPayCd.equals(wkContPayCd))||(!crecardCompCd.equals(wkCrecardCompCd))||(!crecardId.equals(wkCrecardId))) {
//						break;
//					}
					
					// ISP決済請求契約番号、カード会社コード、クレジットカードIDのいずれかが変わった時点でbreak
					if ((!wkisp_kssai_svc_kei_no.equals(isp_kssai_svc_kei_no))||(!crecardCompCd.equals(wkCrecardCompCd))||(!crecardId.equals(wkCrecardId))) {
						break;
					}

					X31SDataBeanAccess detail = detailArray.addDataBean();
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツサービスコード ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツサービスコード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_svc_cd"));
					} else {
						detail.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツサービス名 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツサービス名
					if (detailMap != null) {
						detail.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_svc_nm"));
					} else {
						detail.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツコード ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツコード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツコード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_cd"));
					} else {
						detail.sendMessageString("コンテンツコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツ外部コード ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツ外部コード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツ外部コード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_out_cd"));
					} else {
						detail.sendMessageString("コンテンツ外部コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツ名 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツ名
					if (detailMap != null) {
						// ANK-2663-00-00 MOD START
						//detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_nm"));
						// コンテンツ名用編集
						String wkContNm = "";
						// コンテンツサービスコードが0070（LaLaCall）かつ仕入先が設定されている場合
						if (JCNStrConst.CN0011_CONT_SVC_CD_050.equals((String)detailMap.get("cont_svc_cd")) && (String)detailMap.get("supplier") != null 
								&& !"".equals((String)detailMap.get("supplier"))){
							wkContNm = (String)detailMap.get("cont_nm") + "【" + (String)detailMap.get("supplier") + "】";
						} else {
							wkContNm = (String)detailMap.get("cont_nm") ;
						}
						detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, wkContNm);
						// ANK-2663-00-00 MOD END
					} else {
						detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツキャンペーンＩＤ ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツキャンペーンＩＤ
					if (detailMap != null) {
						detail.sendMessageString("コンテンツキャンペーンＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_campaign_id"));
					} else {
						detail.sendMessageString("コンテンツキャンペーンＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.コンテンツキャンペーン名 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツキャンペーン名
					if (detailMap != null) {
						detail.sendMessageString("コンテンツキャンペーン名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_campaign_nm"));
					} else {
						detail.sendMessageString("コンテンツキャンペーン名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.数量 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツ購入数量
					if (detailMap != null) {
						detail.sendMessageString("数量", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_buy_cnt"));
					} else {
						detail.sendMessageString("数量", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツ請求個別.コンテンツ契約個別.課金訂正区分名 ← コンテンツ請求照会マップ.コンテンツ請求照会リスト.コンテンツ課金訂正区分名
					if (detailMap != null) {
						// ANK-4346-00-00 MOD START
//						detail.sendMessageString("課金訂正区分名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("contchrgtesei_div_nm"));
						if(JCNStringUtil.isNullBlank((String)detailMap.get("contchrgtesei_div_nm")))
						{
							detail.sendMessageString("課金訂正区分名", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
						else{
							detail.sendMessageString("課金訂正区分名", X31CWebConst.DATABEAN_SET_VALUE, "("+(String)detailMap.get("contchrgtesei_div_nm")+")");
						}
						// ANK-4346-00-00 MOD END
					} else {
						detail.sendMessageString("課金訂正区分名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					
					if (k % 2 == 1) {
						detail.sendMessageString("ＣＳＳクラス名", X31CWebConst.DATABEAN_SET_VALUE, "odd");
					} else {
						detail.sendMessageString("ＣＳＳクラス名", X31CWebConst.DATABEAN_SET_VALUE, "even");
					}
					
					// コンテンツサービス個別.コンテンツ契約個別.０５０電話番号
					if (detailMap != null) {
						detail.sendMessageString("０５０電話番号", X31CWebConst.DATABEAN_SET_VALUE, JCNWebCommon.formatTelNo((String)detailMap.get("n_050_telno")));
					} else {
						detail.sendMessageString("０５０電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					
					// 金額編集
					JCNEditPrc.editPrice1(detailMap, detail);
					
					// 小計算出
					syokeiKomi = syokeiKomi + Integer.parseInt(detail.sendMessageString("税込合計", X31CWebConst.DATABEAN_GET_VALUE));
					syokeiNuki = syokeiNuki + Integer.parseInt(detail.sendMessageString("本体料金", X31CWebConst.DATABEAN_GET_VALUE));
				}
				
				// 小計設定
				subbean.sendMessageString("小計税込", X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(syokeiKomi));
				subbean.sendMessageString("小計税抜", X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(syokeiNuki));
				
				gokei = gokei + syokeiKomi;
				syokeiKomi = 0;
				syokeiNuki = 0;
			}
			
			// 合計設定
			bean[0].sendMessageString("合計",  X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(gokei));
		}

		// 請求対象年月リスト作成
		JCNWebCommon.setPullDownYm(bean, "請求対象年月リスト", "課金対象年月", "課金対象年月（値）", JCNWebConst.CHRG_TARGET_MONTH_NM, opeDate);

		return bean;
	}


}