/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0515_KKSV0515OPDBMapper
*	ソースファイル名：KKSV0515_KKSV0515OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2012年02月29日
*＜機能概要＞
*	BP（オプションチャンネル受付履歴一覧照会_ファイル作成）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/29	Fujitsu		新規作成
*	v1.00.01	2013/05/30	FJ)古田		【IT2-2013-0000463】
*   v6.00.00    2014/01/10   FJ）中井   【OM-2013-0000451】対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.web.webview.KKW10401SF.KKW10401SFConst;
import eo.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0515_KKSV0515OPDBMapper {
	
	/** ラジオボタン選択値１ */
	private static final String RADIO_CHOICE_1 = "1";
	/** ラジオボタン選択値２ */
	private static final String RADIO_CHOICE_2 = "2";
	/** ラジオボタン選択値３ */
	private static final String RADIO_CHOICE_3 = "3";
	/** ラジオボタン申込選択設定値 */
	private static final String RADIO_MSKM = "00026";
	/** ラジオボタン解約選択設定値 */
	private static final String RADIO_DSL = "00005";
	/* ++++++++++ v1.00.01 変更開始 ++++++++++ */
	/** ラジオボタン解約選択（キャンセル） */
	private static final String RADIO_DSL_CANCL = "00006";
	/* ++++++++++ v1.00.01 変更完了 ++++++++++ */
	/** ラジオボタン自動選択設定値 */
	private static final String RADIO_AUTO = "1";
	/** ラジオボタン手動選択設定値 */
	private static final String RADIO_MANUAL = "2";
	
	/**
	 * コンストラクタ
	 */
	public KKSV0515_KKSV0515OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：オプションチャンネル受付履歴一覧照会画面
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV051501CC(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("search_type", String.valueOf("1"));
//		parentMap.put("display_num", JCCWebCommon.getSearchConst("KKW10401_ROW_PER_PAGE"));
		parentMap.put("display_num", JCCWebCommon.getSearchConst("KKW10401_MAX_SHOW_CNT"));
		parentMap.put("max_search_num", JCCWebCommon.getSearchConst("KKW10401_MAX_SHOW_CNT"));
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 申込受付年月日（ＦＲＯＭ）編集
		StringBuilder sb = new StringBuilder();
		sb.append(bean[0].sendMessageString("退避用用申込受付年月日（ｆｒｏｍ）（年）", X31CWebConst.DATABEAN_GET_VALUE))
			.append(bean[0].sendMessageString("退避用申込受付年月日（ｆｒｏｍ）（月）", X31CWebConst.DATABEAN_GET_VALUE))
			.append(bean[0].sendMessageString("退避用申込受付年月日（ｆｒｏｍ）（日）", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避用用申込受付年月日（ｆｒｏｍ） → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿申込受付年月日（ＦＲＯＭ）
		parentMap.put("key_mskm_uk_ymd_from", sb.toString());
		
		// 申込受付年月日（ＴＯ）編集
		sb = new StringBuilder();
		sb.append(bean[0].sendMessageString("退避用申込受付年月日（ｔｏ）（年）", X31CWebConst.DATABEAN_GET_VALUE))
			.append(bean[0].sendMessageString("退避用申込受付年月日（ｔｏ）（月）", X31CWebConst.DATABEAN_GET_VALUE))
			.append(bean[0].sendMessageString("退避用申込受付年月日（ｔｏ）（日）", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避用申込受付年月日（ｔｏ） → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿申込受付年月日（ＴＯ）
		parentMap.put("key_mskm_uk_ymd_to", sb.toString());
		
		// 退避用申込チャネルコード → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿申込形態コード
		parentMap.put("key_mskm_form_cd", bean[0].sendMessageString("退避用申込チャネルコード", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 退避用受付区分の値によって、ＫＥＹ＿申込種別コードの値を設定する
		String str = bean[0].sendMessageString("退避用受付区分", X31CWebConst.DATABEAN_GET_VALUE);
		/* ++++++++++ v6.00.00 修正開始 ++++++++++ */
		if(RADIO_CHOICE_1.equals(str))
		{
//			parentMap.put("key_mskm_sbt_cd", RADIO_MSKM);
			parentMap.put("key_mskm_sbt_cd", RADIO_CHOICE_1);
		}
		else if(RADIO_CHOICE_2.equals(str))
		{
			/* ++++++++++ v1.00.01 変更開始 ++++++++++ */
//			parentMap.put("key_mskm_sbt_cd", RADIO_DSL);
//			parentMap.put("key_mskm_sbt_cd", RADIO_DSL + "," + RADIO_DSL_CANCL);
			parentMap.put("key_mskm_sbt_cd", RADIO_CHOICE_2);
			/* ++++++++++ v1.00.01 変更完了 ++++++++++ */
		}
		else if(RADIO_CHOICE_3.equals(str))
		{
			parentMap.put("key_mskm_sbt_cd", "");
		}
		/* ++++++++++ v6.00.00 修正終了 ++++++++++ */
		
		// 退避用処理方法の値によって、ＫＥＹ＿オプションチャンネルオペレーション方法コードの値を設定する
		str = bean[0].sendMessageString("退避用処理方法", X31CWebConst.DATABEAN_GET_VALUE);
		if(RADIO_CHOICE_1.equals(str))
		{
			parentMap.put("key_op_channel_oprtn_way_cd", RADIO_AUTO);
		}
		else if(RADIO_CHOICE_2.equals(str))
		{
			parentMap.put("key_op_channel_oprtn_way_cd", RADIO_MANUAL);
		}
		else if(RADIO_CHOICE_3.equals(str))
		{
			parentMap.put("key_op_channel_oprtn_way_cd", "");
		}
		
		// 退避用サービス契約番号 → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("退避用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
//		// 退避用反映区分１ → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿予約適用コード
//		parentMap.put("key_rsv_aply_cd", bean[0].sendMessageString("退避用反映区分１", X31CWebConst.DATABEAN_GET_VALUE));
		String haneiKbn = "";
		/* ++++++++++ v6.00.00 修正開始 ++++++++++ */
		haneiKbn = bean[0].sendMessageString(KKW10401SFConst.SAVE_HANEI_DIV, X31CWebConst.DATABEAN_GET_VALUE);
//		boolean hanei1 = bean[0].sendMessageBoolean("退避用反映区分１", X31CWebConst.DATABEAN_GET_VALUE);
//		if(hanei1 == true)
//		{
//			haneiKbn =  "'1'";
//		}
//		boolean hanei2 = bean[0].sendMessageBoolean("退避用反映区分２", X31CWebConst.DATABEAN_GET_VALUE);
//		if(hanei2 == true)
//		{
//			if(!"".equals(haneiKbn))
//			{
//				haneiKbn =  haneiKbn.concat(",'2'");
//			}
//			else
//			{
//				haneiKbn =  haneiKbn.concat("'2'");
//			}
//			
//		}
//		boolean hanei3 = bean[0].sendMessageBoolean("退避用反映区分３", X31CWebConst.DATABEAN_GET_VALUE);
//		if(hanei3 == true)
//		{
//			if(!"".equals(haneiKbn))
//			{
//				haneiKbn =  haneiKbn.concat(",'3'");
//			}
//			else
//			{
//				haneiKbn =  haneiKbn.concat("'3'");
//			}
//		}
		// 退避用反映区分 → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿反映区分
		parentMap.put("key_hanei_kbn", haneiKbn);

		// 退避用オプションチャンネルコード → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿オプションサービスコード
		parentMap.put("key_op_svc_cd", bean[0].sendMessageString("退避用オプションチャンネルコード", X31CWebConst.DATABEAN_GET_VALUE));
		// 退避用ＳＹＳＩＤ → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("退避用ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
//		// 退避用電話番号 → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿契約者電話番号
//		parentMap.put("key_keisha_telno", bean[0].sendMessageString("退避用電話番号", X31CWebConst.DATABEAN_GET_VALUE));
//		// 退避用お客様名 → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿お客様名
//		parentMap.put("key_cust_nm", bean[0].sendMessageString("退避用お客様名", X31CWebConst.DATABEAN_GET_VALUE));
//		// 退避用お客様名カナ → オプションチャンネル受付履歴一覧照会マップ.ＫＥＹ＿お客様カナ名
//		parentMap.put("key_cust_kana", bean[0].sendMessageString("退避用お客様名カナ", X31CWebConst.DATABEAN_GET_VALUE));
		/* ++++++++++ v6.00.00 修正終了 ++++++++++ */

		outputMap.put("KKSV051501CC", parentMap);
						
		return outputMap;
	}



}
