/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0545_KKSV0545OPDBMapper
*	ソースファイル名：KKSV0545_KKSV0545OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2012年04月15日
*＜機能概要＞
*	BP（請求契約更新契約番号検索）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/15	Fujitsu		新規作成
*	v4.00.00	2013/06/06  FJ)磯俣		【IT2-2013-0000508】支払方法ごとの表示修正
*   v20.00.00	2015/11/17	FJ)黒田		【ANK-2565-00-00】クレジットカード番号預かりサービス導入（Step3：預かり番号化）
*	v39.00.00	2018/10/30	FJ）大崎	【ANK-3478-00-00】eo光設備卸対応(サービス開始対応)
*	v54.00.00	2021/08/10	GDC)M. Gungog	【ANK-3971-00-00】クレカ請求データの有効期限設定対応
*
**********************************************************************/
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.util.JKKStringUtil;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.KKW05501SF.KKW05501SFConst;
import eo.web.webview.common.JCKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0545_KKSV0545OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0545_KKSV0545OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054501SC(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);

		// 請求先番号 → 請求契約一意照会マップ.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求先番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → 請求契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054501SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054502CC(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);
		
		// 基準日 → 請求契約タイプ情報取得.ＫＥＹ＿基準年月日
		parentMap.put("stdardymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 請求先番号 → 請求契約タイプ情報取得.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求先番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054502CC", parentMap);
		
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054503SC(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);

		// 請求先番号 → 請求契約一意照会マップ.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求先番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 基準日 → 請求契約一意照会マップ.ＫＥＹ＿督促管理年月日
		parentMap.put("key_tokusoku_kanri_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054503SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054504SC(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);

		outputMap.put("KKSV054504SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054505SC(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);

		outputMap.put("KKSV054505SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054506SC(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);

		
		// 基準日 → 請求契約一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054506SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054507SC(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);

		
		// 請求先番号 → 請求契約一意照会マップ.ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("請求先番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054507SC", parentMap);
						
		return outputMap;
	}

// ANK-3478-00-00 ADD START 
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV054508SC(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);

		
		// 基準日 → お客様一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("基準日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV054508SC", parentMap);
						
		return outputMap;
	}
// ANK-3478-00-00 ADD END 


	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054501SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054501SC")){
			parentMap = (HashMap)outputMap.get("KKSV054501SC");
		}

		// 法人格前後コード ← 請求契約一意照会マップ.送付先法人格前後指定コード
		bean[0].sendMessageString("法人格前後コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shs_hojin_zengo_shitei_cd"));
		// 法人格コード ← 請求契約一意照会マップ.送付先法人格種別コード
		bean[0].sendMessageString("法人格コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shs_hojin_sbt_cd"));
		// 送付先名（カナ） ← 請求契約一意照会マップ.送付先カナ名
		bean[0].sendMessageString("送付先名（カナ）", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shs_kana"));
		// 送付先名 ← 請求契約一意照会マップ.送付先名
		bean[0].sendMessageString("送付先名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_nm"));
		// 部課名 ← 請求契約一意照会マップ.送付先部課名
		bean[0].sendMessageString("部課名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_bkm"));
		// 担当者名 ← 請求契約一意照会マップ.送付先担当者名
		bean[0].sendMessageString("担当者名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_tntsha_nm"));
		// 電話番号 ← 請求契約一意照会マップ.送付先電話番号
		bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_telno"));
		// 郵便番号 ← 請求契約一意照会マップ.送付先郵便番号
		String pcd = (String)parentMap.get("sohus_pcd");
		bean[0].sendMessageString("郵便番号", X31CWebConst.DATABEAN_SET_VALUE, pcd);
		bean[0].sendMessageString("郵便番号（上３桁）", X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.hyhunPcd(pcd));
		// 住所コード ← 請求契約一意照会マップ.送付先住所コード
		String adcd = (String)parentMap.get("sohus_ad_cd");
		bean[0].sendMessageString("住所コード", X31CWebConst.DATABEAN_SET_VALUE, adcd);
		bean[0].sendMessageString("住所コード１", X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.hyhunAdCd(adcd));
		// 都道府県 ← 請求契約一意照会マップ.送付先都道府県名〜送付先住所補記・部屋番号
		bean[0].sendMessageString("送付先住所", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_state_nm")
				+ (String)parentMap.get("sohus_city_nm")
				+ (String)parentMap.get("sohus_oaztsu_nm")
				+ (String)parentMap.get("sohus_azcho_nm")
				+ (String)parentMap.get("sohus_bnchigo")
				+ (String)parentMap.get("sohus_adrttm")
				+ (String)parentMap.get("sohus_adrrm"));
		// 都道府県 ← 請求契約一意照会マップ.送付先都道府県名
		bean[0].sendMessageString("都道府県", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_state_nm"));
		// 市区町村 ← 請求契約一意照会マップ.送付先市区町村
		bean[0].sendMessageString("市区町村", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_city_nm"));
		// 大字通称 ← 請求契約一意照会マップ.送付先大字通称
		bean[0].sendMessageString("大字通称", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_oaztsu_nm"));
		// 字丁目 ← 請求契約一意照会マップ.送付先字丁目
		bean[0].sendMessageString("字丁目", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_azcho_nm"));
		// 番地号 ← 請求契約一意照会マップ.送付先番地号
		bean[0].sendMessageString("番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_bnchigo"));
		// 建物名 ← 請求契約一意照会マップ.送付先建物名
		bean[0].sendMessageString("建物名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_adrttm"));
		// 部屋番号 ← 請求契約一意照会マップ.送付先住所補記・部屋番号
		bean[0].sendMessageString("部屋番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_adrrm"));
		// 支払方法コード ← 請求契約一意照会マップ.請求方法コード
		bean[0].sendMessageString("支払方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_cd"));
		// 支払方法 ← 請求契約一意照会マップ.請求方法コード名称
		bean[0].sendMessageString("支払方法", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_cd_nm"));
		// 強制窓口フラグ ← 請求契約一意照会マップ.強制窓口フラグ
		bean[0].sendMessageString("強制窓口フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kyosei_madoguchi_flg"));
		// 請求先名（カナ） ← 請求契約一意照会マップ.請求契約カナ名
		bean[0].sendMessageString("請求先名（カナ）", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_kei_kana"));
		// 請求書作成要否コード ← 請求契約一意照会マップ.請求書発行要否
		bean[0].sendMessageString("請求書作成要否コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seikyus_hakko_yh"));
		// 請求書作成要否名称 ← 請求契約一意照会マップ.請求書発行要否名称
		bean[0].sendMessageString("請求書作成要否名称", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seikyus_hakko_yh_nm"));
		// 初回請求月 ← 請求契約一意照会マップ.初回請求年月
		bean[0].sendMessageString("初回請求月", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("first_seiky_ym"));
		// 請求先適用年月日 ← 請求契約一意照会マップ.予約適用年月日
		bean[0].sendMessageString("請求先適用年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("rsv_aply_ymd"));
		bean[0].sendMessageString("課金先適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE,(String)parentMap.get("rsv_aply_ymd"));
		// 調整日 ← 請求契約一意照会マップ.請求方法適用調整年月日
		bean[0].sendMessageString("調整日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_aply_adj_ymd"));
		// 更新年月日時分秒 ← 請求契約一意照会マップ.更新年月日時分秒
//		bean[0].sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));
		// 最終更新年月日時分秒 ← 請求契約一意照会マップ.最終更新年月日時分秒
		bean[0].sendMessageString("最終更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("last_upd_dtm"));
		// 更新オペレータアカウント ← 請求契約一意照会マップ.更新オペレーターアカウント
		bean[0].sendMessageString("更新オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_opeacnt"));
		// 請求契約ＳＹＳＩＤ ← 請求契約一意照会マップ.SISID
		bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sysid"));
		// 登録年月日時分秒 ← 請求契約一意照会マップ.登録年月日時分秒
		bean[0].sendMessageString("登録年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("add_dtm"));
		// 登録オペレータアカウント ← 請求契約一意照会マップ.登録オペレーターアカウント
		bean[0].sendMessageString("登録オペレータアカウント", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("add_opeacnt"));
		
		// 住所フラグ(手動入力チェックボックス表示用)
		String ad_sai_flg = (String)parentMap.get("sohus_ad_man_input_flg");
		if (ad_sai_flg != null && "1".equals(ad_sai_flg))
		{
			bean[0].sendMessageBoolean("手動入力", X31CWebConst.DATABEAN_SET_VALUE, true);
		} else {
			bean[0].sendMessageBoolean("手動入力", X31CWebConst.DATABEAN_SET_VALUE, false);
		}
		
		// 世代登録年月日時分秒請求契約 ← 請求契約一意照会マップ.世代登録年月日時分秒
//		bean[0].sendMessageString("世代登録年月日時分秒請求契約", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("gene_add_dtm"));
		// マンションオーナーＩＤ ← 請求契約一意照会マップ.マンションオーナーID
//		bean[0].sendMessageString("マンションオーナーＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mansion_ownr_id"));
		// 契約締結年月日 ← 請求契約一意照会マップ.契約締結年月日
//		bean[0].sendMessageString("契約締結年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("kei_cnc_ymd"));
		// 請求契約解約年月日 ← 請求契約一意照会マップ.請求契約解約年月日
//		bean[0].sendMessageString("請求契約解約年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_kei_dsl_ymd"));
		// 請求サイクルコード ← 請求契約一意照会マップ.請求サイクルコード
//		bean[0].sendMessageString("請求サイクルコード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_cycle_cd"));
		// 請求方法変更年月日 ← 請求契約一意照会マップ.請求方法変更年月日
//		bean[0].sendMessageString("請求方法変更年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_chge_ymd"));
		// 請求方法番号（口座） ← 請求契約一意照会マップ.請求方法番号（口座）
//		bean[0].sendMessageString("請求方法番号（口座）", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_no_koza"));
		// 請求方法番号（クレジットカード） ← 請求契約一意照会マップ.請求方法番号（クレジットカード）
//		bean[0].sendMessageString("請求方法番号（クレジットカード）", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_way_no_crecard"));
		// 情報表示コード ← 請求契約一意照会マップ.情報表示コード
//		bean[0].sendMessageString("情報表示コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("info_dsp_cd"));
		// 請求書送付先＿契約者住所差異フラグ ← 請求契約一意照会マップ.請求書送付先＿契約者住所差異フラグ
//		bean[0].sendMessageString("請求書送付先＿契約者住所差異フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sks_shs_ksh_ad_sai_flg"));
		// 請求書送付先名＿お客様名差異フラグ ← 請求契約一意照会マップ.請求書送付先名＿お客様名差異フラグ
//		bean[0].sendMessageString("請求書送付先名＿お客様名差異フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sks_shs_nm_cust_nm_sai_flg"));
		// ＦＡＸ番号 ← 請求契約一意照会マップ.送付先FAX番号
//		bean[0].sendMessageString("ＦＡＸ番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_fax_no"));
		// メールアドレス ← 請求契約一意照会マップ.送付先メールアドレス
//		bean[0].sendMessageString("メールアドレス", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sohus_mlad"));
		// 請求書送付先住所確定後変更可否 ← 請求契約一意照会マップ.請求書送付先住所確定後変更可否
//		bean[0].sendMessageString("請求書送付先住所確定後変更可否", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sks_shs_ad_fix_af_chge_kh"));
		// 請求書送付先変更年月日 ← 請求契約一意照会マップ.請求書送付先変更年月日
//		bean[0].sendMessageString("請求書送付先変更年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seikyus_sohus_chge_ymd"));
		// 予約適用開始希望年月日 ← 請求契約一意照会マップ.予約適用開始希望年月日
//		bean[0].sendMessageString("予約適用開始希望年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("rsv_tsta_kibo_ymd"));
		// 適用年月日ラベル表示 ← 請求契約一意照会マップ.予約適用年月日
//		bean[0].sendMessageString("適用年月日ラベル表示", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("rsv_aply_ymd"));
		// 初回支払申込書送付要否 ← 請求契約一意照会マップ.初回支払申込書送付要否
//		bean[0].sendMessageString("初回支払申込書送付要否", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("first_pay_mskmsho_sohu_yh"));
		// 初回支払申込書送付年月日 ← 請求契約一意照会マップ.初回支払申込書送付年月日
//		bean[0].sendMessageString("初回支払申込書送付年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("first_pay_mskmsho_sohu_ymd"));
		// 初回支払申込書受領年月日 ← 請求契約一意照会マップ.初回支払申込書受領年月日
//		bean[0].sendMessageString("初回支払申込書受領年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("first_pay_mskmsho_rcp_ymd"));
		// 無効フラグ ← 請求契約一意照会マップ.無効フラグ
//		bean[0].sendMessageString("無効フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mk_flg"));
		
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054502CC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054502CC")){
			parentMap = (HashMap)outputMap.get("KKSV054502CC");
		}

		// サービス契約番号 ← 請求契約タイプ情報取得マップ.サービス契約番号
		bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
		// 契約者タイプコード ← 請求契約タイプ情報取得マップ.契約者タイプコード
		bean[0].sendMessageString("契約者タイプコード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("keisha_type_cd"));
		// 内販外販コード ← 請求契約タイプ情報取得マップ.内販外販コード
		bean[0].sendMessageString("内販外販コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("naihan_gaihan_cd"));
		// 内販企業識別コード ← 請求契約タイプ情報取得.内販企業識別コード
		bean[0].sendMessageString("内販企業識別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("naihan_comp_skbt_cd"));
		
		bean[0].sendMessageString("課金先適用開始年月日", X31CWebConst.DATABEAN_SET_VALUE,(String)parentMap.get("kakins_tstaymd"));
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054503SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054503SC")){
			parentMap = (HashMap)outputMap.get("KKSV054503SC");
		}

		// 督促ステータス ← 請求契約一意照会マップ.督促ステータス
		bean[0].sendMessageString("督促ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tokusoku_stat"));
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054504SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054504SC")){
			parentMap = (HashMap)outputMap.get("KKSV054504SC");
		}

		// 支払審査結果コード ← 口座一意照会マップ.支払い審査結果コード
		bean[0].sendMessageString("支払審査結果コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pay_skekka_cd"));
		// 金融機関コード ← 口座一意照会マップ.金融機関コード
		bean[0].sendMessageString("金融機関コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("bank_cd"));
		// 金融機関名 ← 口座一意照会マップ.金融機関コード名称
		bean[0].sendMessageString("金融機関名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("bank_cd_nm"));
		// 支店コード ← 口座一意照会マップ.金融機関支店コード
		bean[0].sendMessageString("支店コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("bank_shiten_cd"));
		// 支店名 ← 口座一意照会マップ.金融機関支店コード名称
		bean[0].sendMessageString("支店名", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("bank_shiten_cd_nm"));
		// 口座番号 ← 口座一意照会マップ.口座番号
		bean[0].sendMessageString("口座番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("koza_no"));
		// 預金種目名称 ← 口座一意照会マップ.預金種目コード名称
		bean[0].sendMessageString("預金種目名称", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("yokin_shumoku_cd_nm"));
		// 通帳記号 ← 口座一意照会マップ.通帳記号
		String kigo = (String)parentMap.get("tsucho_symbol");
		if(kigo != null && !"".equals(kigo))
		{
			bean[0].sendMessageString("通帳記号", X31CWebConst.DATABEAN_SET_VALUE, kigo);
			bean[0].sendMessageString("通帳記号表示", X31CWebConst.DATABEAN_SET_VALUE, "1" + kigo + "0の");
		}
		// 通帳番号 ← 口座一意照会マップ.通帳番号
		bean[0].sendMessageString("通帳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("tsucho_no"));
		
		// 新規コード ← 口座一意照会マップ.新規コード
		bean[0].sendMessageString("新規コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("new_cd"));
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054505SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054505SC")){
			parentMap = (HashMap)outputMap.get("KKSV054505SC");
		}

		// 支払審査結果コード ← クレジットカード一意照会マップ.支払い審査結果コード
		bean[0].sendMessageString("支払審査結果コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pay_skekka_cd"));
		// カード種類ラベル表示 ← クレジットカード一意照会マップ.クレジットカード会社コード名称
		bean[0].sendMessageString("カード種類名称", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_comp_cd_nm"));
		// カード種類コード ← クレジットカード一意照会マップ.クレジットカード会社コード
		bean[0].sendMessageString("カード種類コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_comp_cd"));
		// カード番号 ← クレジットカード一意照会マップ.クレジットカード番号
		bean[0].sendMessageString("カード番号", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_no"));
		// 有効期限 ← クレジットカード一意照会マップ.クレジットカード有効期限
		bean[0].sendMessageString("有効期限", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_yk_kigen"));
		// 無効年月 ← クレジットカード一意照会マップ.無効年月ラベル表示
		bean[0].sendMessageString("無効年月", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("creca_mk_ym"));
		// 有効性確認結果区分 ← クレジットカード一意照会マップ.有効性確認結果区分
		bean[0].sendMessageString("有効性確認結果区分", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("yk_cfm_rslt_div"));
// ANK-2565-00-00 ADD START
		// カード預りID ← クレジットカード一意照会マップ.クレジットカード番号預りID
		bean[0].sendMessageString("カード預りID", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_no_azkri_id"));
// ANK-2565-00-00 ADD END
// ANK-3971-00-00 ADD START
		bean[0].sendMessageString(KKW05501SFConst.CRECARD_STAT_JDG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("crecard_stat"));
		bean[0].sendMessageString(KKW05501SFConst.IDO_DIV_JDG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ido_div"));
		bean[0].sendMessageString(KKW05501SFConst.SHIKOSAKI_COMP_CD_JDG, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("shikosaki_comp_cd"));
// ANK-3971-00-00 ADD END
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054506SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054506SC")){
			parentMap = (HashMap)outputMap.get("KKSV054506SC");
		}

		// 異動NG状態コード ← サービス契約一意照会マップ.異動NG状態コード
		bean[0].sendMessageString("異動ＮＧ状態コード", X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ido_ng_stat_cd"));
		
		
		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054507SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054507SC")){
			parentMap = (HashMap)outputMap.get("KKSV054507SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listKKSV054507SC_type_info_list_EKK0081B028CBSMsg1List = bean[0].getDataBeanArray("契約者タイプ情報リスト");
		listKKSV054507SC_type_info_list_EKK0081B028CBSMsg1List.clearArray();
		childList = null;
		if(parentMap.containsKey("EKK0081B028CBSMsg1List")){
			childList = (ArrayList)parentMap.get("EKK0081B028CBSMsg1List");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listKKSV054507SC_type_info_list_EKK0081B028CBSMsg1List.getCount() -1 >= i){
					subbean = listKKSV054507SC_type_info_list_EKK0081B028CBSMsg1List.getDataBean(i);
				}else{
					subbean = listKKSV054507SC_type_info_list_EKK0081B028CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				
				
				// 契約者タイプ情報リスト.サービス契約番号 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.サービス契約番号（サービス契約）
				subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0081_svc_kei_no"));
				// 契約者タイプ情報リスト.契約者タイプコード ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.契約者タイプコード（お客様）
				subbean.sendMessageString("契約者タイプコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ck0011_keisha_type_cd"));
				// 契約者タイプ情報リスト.内販外販コード ← 請求元サービス契約一覧照会マップ.内販外販コード（お客様）
				subbean.sendMessageString("内販外販コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ck0011_naihan_gaihan_cd"));
				// 契約者タイプ情報リスト.内販企業識別コード ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.内販企業識別コード（お客様）
				subbean.sendMessageString("内販企業識別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ck0011_naihan_comp_skbt_cd"));
				// 契約者タイプ情報リスト.複製元提供方式契約番号 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.複製元提供方式契約番号（サービス契約<ダミー>）
				subbean.sendMessageString("複製元提供方式契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2281_replica_moto_tk_hsk_kei_no"));
				// 契約者タイプ情報リスト.マンションID ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.マンションID（回線使用契約）
				subbean.sendMessageString("マンションＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_mansion_id"));
				// 契約者タイプ情報リスト.CAT-ID ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.CAT-ID（回線使用契約）
				subbean.sendMessageString("ＣＡＴ−ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_catid"));
				// 契約者タイプ情報リスト.回線使用契約タイプコード（回線使用契約） ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約タイプコード（回線使用契約）
				subbean.sendMessageString("回線使用契約タイプコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_kaisen_use_kei_type_cd"));
				// 契約者タイプ情報リスト.回線内販外販コード ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.内販外販コード（回線使用契約）
				subbean.sendMessageString("回線内販外販コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_naihan_gaihan_cd"));
				// 契約者タイプ情報リスト.回線内販企業識別コード ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.内販企業識別コード（回線使用契約）
				subbean.sendMessageString("回線内販企業識別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_naihan_comp_skbt_cd"));
				// 契約者タイプ情報リスト.オーナー契約番号 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.オーナー契約番号（回線使用契約）
				subbean.sendMessageString("オーナー契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk0881_ownr_kei_no"));
				// 契約者タイプ情報リスト.回線使用契約物件都道府県名 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約物件都道府県名
				subbean.sendMessageString("回線使用契約物件都道府県名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2121_kisnusekei_bkn_state_nm"));
				// 契約者タイプ情報リスト.回線使用契約物件市区町村名 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約物件市区町村名
				subbean.sendMessageString("回線使用契約物件市区町村名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2121_kisnusekei_bkn_city_nm"));
				// 契約者タイプ情報リスト.回線使用契約物件大字通称名 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約物件大字通称名
				subbean.sendMessageString("回線使用契約物件大字通称名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2121_kisnusekei_bkn_oaztsu_nm"));
				// 契約者タイプ情報リスト.回線使用契約物件字丁目名 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約物件字丁目名
				subbean.sendMessageString("回線使用契約物件字丁目名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2121_kisnusekei_bkn_azcho_nm"));
				// 契約者タイプ情報リスト.回線使用契約物件番地号 ← 請求元サービス契約一覧照会マップ.請求元サービス契約一覧照会明細.回線使用契約物件番地号
				subbean.sendMessageString("回線使用契約物件番地号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kk2121_kisnusekei_bkn_bnchigo"));
				
				
			}
		}
		
		return bean;
	}

// ANK-3478-00-00 ADD START 
	/**
	 * 下りマッピング
	 * @param bean　[0]：請求契約更新
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV054508SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV054508SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV054508SC");
		}
		
		if(!isNull(parentMap) && parentMap.containsKey("ECK0011A010CBSMsg1List"))
		{
			ArrayList childList = (ArrayList)parentMap.get("ECK0011A010CBSMsg1List");
			
			if(!isNull(childList) && childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				
				if(!isNull(childMap))
				{
					// 併合先＿パートナー会員フラグ ← パートナー会員判定結果
					setValue(bean[0], KKW05501SFConst.SK_PTNR_MEMBER_FLG,
							setPtnrMemberFlg((String)childMap.get("member_sbt_cd"), (String)childMap.get("orsjgs_cd")));
				}
			}
		}
		
		return bean;
	}

	/**
	 * 引数のNULL判定を行います。
	 * @param param
	 * @return 判定結果
	 */
	private boolean isNull(Object param)
	{
		if(null == param)
		{
			return true;
		}
		return false;
	}
	
	/**
	 * データBeanから指定された項目の値を取得します。
	 * <br>
	 * @param bean 画面情報
	 * @param comboName コンボボックス名称
	 * <br>
	 * @return String 選択されているコード値
	 */
	private String getValue(X31SDataBeanAccess bean, String itemName)
	{
		return bean.sendMessageString(itemName, X31CWebConst.DATABEAN_GET_VALUE);
	}
	
	/**
	 * 引数のNULL判定を行います。
	 * @param str
	 * @return 判定結果
	 */
	private boolean isStrNull(String str)
	{
		if(null == str)
		{
			return true;
		}
		return false;
	}
	
	/**
	 * データBeanに指定された項目の値を設定します。
	 * <br>
	 * @param bean 画面情報
	 * @param comboName コンボボックス名称
	 * @param value 設定値
	 */
	private void setValue(X31SDataBeanAccess bean, String itemName, String value)
	{
		if(isStrNull(value))
		{
			bean.sendMessage(itemName, X31CWebConst.DATABEAN_CLEAR);
		}
		else
		{
			bean.sendMessageString(itemName, X31CWebConst.DATABEAN_SET_VALUE, value);
		}
	}

	/**
	 * パートナー会員か判定します。
	 * <br>
	 * @param	memberSbtCd	会員種別コード
	 * @param	orsjgsCd	卸先事業者コード
	 * @return	boolean		判定結果
	 */
	private String setPtnrMemberFlg(String memberSbtCd, String orsjgsCd)
	{
		if(JCKCommonConst.CD00039_MASTER_KOJIN.equals(memberSbtCd)
				&& !JKKStringUtil.isNullEmpty(orsjgsCd))
		{
			return "1";
		}
		
		return "0";
	}
	
// ANK-3478-00-00 ADD END 


}
