/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：KK
*   モジュール名    ：JKKSvckeiCommonInfo
*   ソースファイル名：JKKSvckeiCommonInfo.java
*   作成者          ：富士通
*   日付            ：2011年05月29日
*＜機能概要＞
*   顧客契約共通ヘッダー部データ設定部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/29   富士通      新規作成
*   v4.00.00    2013/02/28   FJ)江藤     【IT1-2012-0002413】サービス契約共通ヘッダに予約状況追加
*   v18.00.00   2015/08/11   FJ) 阪口   【ANK-2631-00-00】ワンストップ案件（ＳＴＥＰ１）※koptWebBからkoptWebAへコピー
*   v26.00.00	2016/06/07   FJ)笠川     【ANK-2687-00-00】プレミアムサポート施策
*   v28.00.00	2016/12/06   FJ)三原     【ANK-3034-00-00】【eoプレミアムクラブ】eo画面へのチケット残枚数追加表示
*   v37.00.00	2018/03/13   FJ)三原     【ANK-3366-00-00】eo光設備卸対応
*   v49.00.00	2020/06/15   FJ)荒木	 【ANK-3840-00-00】テレビリースサービス新規申込対応
*   v57.00.00	2022/01/19   FJ)杉本	 【ANK-4075-00-00】マンション卸回線(WI-FIスキーム)の不備対応
**********************************************************************/
package eo.web.webview.commonOneStop;

import java.util.HashMap;

import javax.servlet.http.HttpSession;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x33.X33CUtil;

import eo.web.webview.CommonInfoCF.CommonInfoCFConst;

/**
 * 顧客契約共通ヘッダー部データ設定部品です。<p>
 * XIＥＷロジック等で実装します。<p>
 * <BR>
 * @author 富士通
 */
public class JKKSvckeiCommonInfo
{
	/**メッセージリストのテンプレートID*/
	public static final String TEMPLATE_ID = "TagTemplate001";
	
	/**画面ID*/
	public static final String SCREEN_ID = "NEXT_SCREEN_ID";
	
	public static void setSvckeiCommonInfo( X31BWebBusinessLogic arg0,HashMap<String, Object> svckeiMap) throws Exception 
	{
		
		//セッションID取得
		String sessionId = arg0.getSession().getViewParamId().getSessionID();
		
		//セッション取得
		HttpSession session = X33CUtil.getSession( sessionId ).getSession();
		
		//セッション情報格納用の作成
		HashMap<String, HashMap<String, String>> svckeiInfoBaseMap = 
			(HashMap<String, HashMap<String, String>>) session.getAttribute("svckeiCommonInfo");
		if (svckeiInfoBaseMap == null)
		{
			svckeiInfoBaseMap = new HashMap<String, HashMap<String, String>>();
			session.setAttribute("svckeiCommonInfo", svckeiInfoBaseMap);
		}

		
		//オブジェクトのキーを生成。
		
		//共有フォームBeanの遷移先画面ＩＤ
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = arg0.getCommonInfoBean();
		
		
		StringBuffer keyBuf = new StringBuffer();
		keyBuf.append(commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE));
		keyBuf.append("_Svc_Kei");

		//キーよりセッション情報の取得
		HashMap<String,String> svckeiCommonInfoMap = (HashMap<String,String>) svckeiInfoBaseMap.get( keyBuf.toString() );

		//セッション情報が存在しない場合
		if (svckeiCommonInfoMap == null)
		{
			//新規にセッション格納用MAP作成
			svckeiCommonInfoMap = new HashMap<String,String>();
		}

		if (svckeiMap != null)
		{
			//マップ内を掃除
			svckeiCommonInfoMap.clear();

			String[] keys = {
					JKKCommonConst.SVCKEICOMMON_ID_IDO_DIV       ,
					JKKCommonConst.SVCKEICOMMON_ID_SVC_KEI_STAT  ,
					// 20121009 KAD-2012-0000331 ADD START
					JKKCommonConst.SVCKEICOMMON_ID_P_ID          ,
					JKKCommonConst.SVCKEICOMMON_ID_CAT_ID        ,
					// 20121009 KAD-2012-0000331 ADD END
					JKKCommonConst.SVCKEICOMMON_ID_MANSION_ID    ,
					JKKCommonConst.SVCKEICOMMON_ID_MANSION_NM    ,
					JKKCommonConst.SVCKEICOMMON_ID_KEISHA_NM     ,
					JKKCommonConst.SVCKEICOMMON_ID_TELNO         ,
					JKKCommonConst.SVCKEICOMMON_ID_TOKUSOKU_STAT ,
					JKKCommonConst.SVCKEICOMMON_ID_KEISHA_AD     ,
					JKKCommonConst.SVCKEICOMMON_ID_SVC_KEI_NO    ,
					JKKCommonConst.SVCKEICOMMON_ID_SEIKY_KEI_NO  ,
					JKKCommonConst.SVCKEICOMMON_ID_SYSID         ,
					JKKCommonConst.SVCKEICOMMON_ID_EOID          ,
					JKKCommonConst.SVCKEICOMMON_ID_PRC_GRP       ,
					JKKCommonConst.SVCKEICOMMON_ID_PCRS          ,
					JKKCommonConst.SVCKEICOMMON_ID_FAMILY_PACK_UM,
					JKKCommonConst.SVCKEICOMMON_ID_ROUTER_SBT    ,
					// 20130228 IT1-2012-0002413 ADD START
					JKKCommonConst.SVCKEICOMMON_ID_RSV_JOKYO     ,
					// 20130228 IT1-2012-0002413 ADD END
					JKKCommonConst.SVCKEICOMMON_ID_NEXT_TAB      ,
					// 20160607 ANK-2687-00-00 MOD START
//					JKKCommonConst.SVCKEICOMMON_ID_ADSL_DSP_FLG  
					JKKCommonConst.SVCKEICOMMON_ID_ADSL_DSP_FLG  ,
					// 20160607 ANK-2687-00-00 MOD END
					// 20160607 ANK-2687-00-00 ADD START
					// 20161206 ANK-3034-00-00 MOD START
					//JKKCommonConst.SVCKEICOMMON_ID_RANK_NM   
					// 20160607 ANK-2687-00-00 ADD END
					JKKCommonConst.SVCKEICOMMON_ID_RANK_NM       ,
					JKKCommonConst.SVCKEICOMMON_ID_TIC_NUM
					// 20161206 ANK-3034-00-00 MOD END
					// ANK-3366-00-00 ADD START
					,JKKCommonConst.SVCKEICOMMON_ID_ORSJGS_NM
					// ANK-3366-00-00 ADD END
// ANK-3840-00-00 ADD START
					,JKKCommonConst.SVCKEICOMMON_ID_TEGAK_SVC_UM
// ANK-3840-00-00 ADD END
					// ANK-4075-00-00 ADD START
					,JKKCommonConst.SVCKEICOMMON_ID_SCM_TYPE_NM
					,JKKCommonConst.SVCKEICOMMON_ID_SCM_JGS_NM
					// ANK-4075-00-00 ADD END
				};

			for (int i = 0; i < keys.length; i++)
			{
				String val = (String)svckeiMap.get(keys[i]);
				if (val == null)
				{
					val = "";
				}
				svckeiCommonInfoMap.put(keys[i] , val.trim());
			}


			//作成した情報オブジェクトをセッションへ格納する。
			svckeiInfoBaseMap.put( keyBuf.toString(), svckeiCommonInfoMap );
		}
	}
}
