/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：顧客契約
 *	モジュール名	：KKW08610SFLogic
 *	ソースファイル名：KKW08610SFLogic.java
 *	作成者			：Fj
 *	日付			：2012年09月08日
 *＜機能概要＞
 *	サービスエリア警告マスタメンテ詳細画面機能のビューロジッククラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v4.00.00	2012/09/08	FJ）富士通 	新規作成
 *
 **********************************************************************/
package eo.web.webview.KKW08610SF;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW08601SF.KKW08601SFConst;
import eo.web.webview.KKW08605SF.KKW08605SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKScreenConst;

/**
 * <dd>クラス名：サービスエリア警告マスタメンテ詳細ビューロジック
 * 
 * @version 1.0 2012/09/08
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW08610SFLogic extends JCCWebBusinessLogic
{

	/**
	 * サービスエリア警告マスタメンテ詳細画面初期表示処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionInit() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 遷移先情報の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08610);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08610);

		initData(svcFormBean);

		return true;
	}

	/**
	 * 「一覧照会へ」ボタン押下時処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionRn() throws Exception
	{

		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先画面IDを取得し、設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * beanに設定する
	 * 
	 * @param bean
	 * @param key
	 * @param val
	 */
	private void setString(X31SDataBeanAccess bean, String key, String val)
	{
		bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, val);
	}

	/**
	 * 引継ぎパラメータを設定する
	 * 
	 * @param svcFormBean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void initData(X31SDataBeanAccess svcFormBean) throws Exception
	{

		// 引継ぎデータ取得
		HashMap<String, Object> hikiMap = JCCWebCommon.getScreenInfo(this);
		ArrayList<HashMap<String, Object>> dataArray = (ArrayList<HashMap<String, Object>>)hikiMap.get(KKW08605SFConst.SVC_AREA_KKKU_HKTG_LIST);
		HashMap<String, Object> map = dataArray.get(0);

		// 料金グループ名
		setString(svcFormBean, KKW08610SFConst.HKTG_PRC_GRP_CD_NM, (String)map.get(KKW08601SFConst.HKTG_PRC_GRP_CD_NM_10));
		// 料金プラン名
		setString(svcFormBean, KKW08610SFConst.HKTG_PPLAN_CD_NM,   (String)map.get(KKW08601SFConst.HKTG_PPLAN_CD_NM_10));
		// チェック種別名
		setString(svcFormBean, KKW08610SFConst.HKTG_CHK_SBT_CD_NM, (String)map.get(KKW08601SFConst.HKTG_CHK_SBT_CD_NM_10));

		// 郵便番号
		String workSvtaKkkuTgPcd = JPCUtilCommon.hyhunPcd((String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_PCD_10));
		workSvtaKkkuTgPcd = "〒" + workSvtaKkkuTgPcd;
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_PCD, workSvtaKkkuTgPcd);

		// 住所コード
		String workSvtaKkkuTaiadCd = JPCUtilCommon.hyhunAdCd((String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_CD_10));
		setString(svcFormBean, KKW08610SFConst.AD_CD_DSP, workSvtaKkkuTaiadCd);

		// 都道府県名
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_STATE_NM,   (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_STATE_NM_10));
		// 市区町村名
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_CITY_NM,    (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_CITY_NM_10));
		// 大字通称名
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_OAZTSU_NM,  (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_OAZTSU_NM_10));
		// 字丁目名
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_AZCHO_NM,   (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_AZCHO_NM_10));
		// 番地号
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_TG_BNCHIGO,    (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TG_BNCHIGO_10));
		// 自動照査チェック対象名
		setString(svcFormBean, KKW08610SFConst.HKTG_AUTO_SHOSA_CHK_TG_CD_NM, (String)map.get(KKW08601SFConst.HKTG_AUTO_SHOSA_CHK_TG_CD_NM_10));
		// 住所適用開始年
		setString(svcFormBean, KKW08610SFConst.TSTAYMD_DSP,                  (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_TSTAYMD_10));
		// 住所適用終了年
		setString(svcFormBean, KKW08610SFConst.TENDYMD_DSP,                  (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_TENDYMD_10));
		// 備考
		setString(svcFormBean, KKW08610SFConst.HKTG_SVTA_KKKU_RSN_MEMO,      (String)map.get(KKW08601SFConst.HKTG_SVTA_KKKU_RSN_MEMO_10));
	}
}
