/********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 ********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：住所変更情報共通ヘッダ(設定部)
 *	ソースファイル名：JKKAdChgCommonInfo.java
 *	作成者			：FJ
 *	日付			：2011年08月01日
 *＜機能概要＞
 *	各住所変更画面にて必要な共通情報の出力を行う部品。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/08/01	FJ			新規作成
 *	v3.00.00	2012/04/13	FJ			巻取り@案件対応
 *
 ********************************************************************/
package eo.web.webview.common;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x33.X33CUtil;

import eo.web.webview.CommonInfoCF.CommonInfoCFConst;

import java.util.HashMap;

import javax.servlet.http.HttpSession;

/**
 * 住所変更情報共通ヘッダの出力内容をセッションに設定します。
 * <br>
 * @author FJ
 */
public class JKKAdChgCommonInfo {

	/**
	 * 住所変更情報共通ヘッダの出力内容をセッションに設定します。
	 * <br>
	 * @param	viewLogic			ビューロジックインスタンス
	 * @param	adressChgInfoMap	ヘッダに出力する情報を格納したマップ
	 * @throws	Exception			例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	public static void setAdChgCommonInfo( X31BWebBusinessLogic viewLogic, HashMap<String, Object> adressChgInfoMap ) throws Exception {

		// ヘッダへ出力する情報が存在しない場合: 処理を終了する
		if ( adressChgInfoMap == null ) {
			return;
		}

		// セッション情報へ接続する為のキー項目を生成
		// キー項目: 共有フォームビーン.遷移先画面ID + "_Adress_Chg_Info"
		StringBuffer keyBuf = new StringBuffer();
		keyBuf.append( viewLogic.getCommonInfoBean().sendMessageString( CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE) );
		keyBuf.append( "_Adress_Chg_Info" );

		// セッション情報の取得
		HttpSession sessionInfo = X33CUtil.getSession( viewLogic.getSession().getViewParamId().getSessionID() ).getSession();

		// セッション領域へキー項目の内容で接続
		HashMap<String, Object> adressChgCommonInfo = (HashMap<String, Object>) sessionInfo.getAttribute( keyBuf.toString() );

		// 接続情報が存在しない場合: ヘッダへ出力する情報を格納する
		if (adressChgCommonInfo == null) {
			adressChgCommonInfo = new HashMap<String, Object>();

			// 異動区分
			adressChgCommonInfo.put("IDO_DIV", adressChgInfoMap.get("IDO_DIV").toString());
			// マンションID／P-ID
			adressChgCommonInfo.put("MANS_ID_P_ID", adressChgInfoMap.get("MANS_ID_P_ID").toString());
			// マンション名／メゾン名
			adressChgCommonInfo.put("MANS_NM_MEZON_NM", adressChgInfoMap.get("MANS_NM_MEZON_NM").toString());
			// SYSID
			adressChgCommonInfo.put("SYSID", adressChgInfoMap.get("SYSID").toString());
			// eoID
			adressChgCommonInfo.put("EOID", adressChgInfoMap.get("EOID").toString());
			// 契約者名
			adressChgCommonInfo.put("KEISHA_NM", adressChgInfoMap.get("KEISHA_NM").toString());
			// 契約者電話番号
			adressChgCommonInfo.put("KEISHA_TEL", adressChgInfoMap.get("KEISHA_TEL").toString());
			// 契約者住所
			adressChgCommonInfo.put("KEISHA_AD", adressChgInfoMap.get("KEISHA_AD").toString());
			// 利用場所電話番号
			adressChgCommonInfo.put("USE_PLC_TEL", adressChgInfoMap.get("USE_PLC_TEL").toString());
			// 利用場所住所
			adressChgCommonInfo.put("USE_PLC_AD", adressChgInfoMap.get("USE_PLC_AD").toString());
			// 住所切替区分
			adressChgCommonInfo.put("AD_CHG_DIV", adressChgInfoMap.get("AD_CHG_DIV"));
			// 住所切替区分(プルダウン)
			adressChgCommonInfo.put("AD_CHG_DIV_PDN", adressChgInfoMap.get("AD_CHG_DIV_PDN"));
			// 工事再依頼選択区分
			adressChgCommonInfo.put("KOJI_RE_REQ_DIV", adressChgInfoMap.get("KOJI_RE_REQ_DIV"));
			// 工事再依頼選択区分(プルダウン)
			adressChgCommonInfo.put("KOJI_RE_REQ_DIV_PDN", adressChgInfoMap.get("KOJI_RE_REQ_DIV_PDN"));
			// ▼▼▼ v3.00.00 ADD ▼▼▼
			// テレビ＿工事再依頼選択区分
			adressChgCommonInfo.put("TV_KOJI_RE_REQ_DIV", adressChgInfoMap.get("TV_KOJI_RE_REQ_DIV"));
			// テレビ＿工事再依頼選択区分(プルダウン)
			adressChgCommonInfo.put("TV_KOJI_RE_REQ_DIV_PDN", adressChgInfoMap.get("TV_KOJI_RE_REQ_DIV_PDN"));
			// ▲▲▲ v3.00.00 ADD ▲▲▲

			// ヘッダへ出力する情報をセッションへ格納する
			sessionInfo.setAttribute( keyBuf.toString(), adressChgCommonInfo);
		}

		return;
	}

}
