/*********************************************************************
* All Rights reserved.Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：契約管理システム
*   モジュール名    ：代行申請情報詳細
*   ソースファイル名：KKW02532SFLogic.java
*   作成者          ：FJ
*   日付            ：2012年02月01日
*＜機能概要＞
*   代行申請の情報を照会する。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/02/01   FJ）中川    新規作成
*
**********************************************************************/
package eo.web.webview.KKW02532SF;

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 com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.mapping.KKSV0493_KKSV0493OPDBMapper;


/**
 * 代行申請の情報を照会する。<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW02532SFLogic extends JCCWebBusinessLogic 
{
	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionInit() throws Exception
	{
	
		// 引き継ぎの情報MAPを取得する。 
		JCCWebCommon.getScreenInfo(this);
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};
		
		// 顧客契約引継リストの取得
		setHktgiBean(paramBean);
		
		// 初期表示サービス呼出処理
		executeInitSvc(paramBean);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
	
	/**
	 * 戻るボタン処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionBack() throws Exception
	{
		
		// 遷移先情報の設定
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, 
				JCCWebCommon.getScreenId(this));

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
		
	}

	/**
	 * 顧客契約引継リスト設定処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 */
	private void setHktgiBean(X31SDataBeanAccess[] paramBean)
	{
		
		// 顧客契約引継リストの取得
		X31SDataBeanAccessArray cust_kei_hktgi_list = paramBean[0].getDataBeanArray(KKW02532SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = cust_kei_hktgi_list.getDataBean(0);
		
		String sysid = subbean.sendMessageString(KKW02532SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE);
		String svc_kei_no = subbean.sendMessageString(KKW02532SFConst.SVC_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
		String tran_div = subbean.sendMessageString(KKW02532SFConst.TRAN_DIV_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		// オプションサービス契約番号(1件固定)
		String op_svc_kei_no = subbean.sendMessageString(KKW02532SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE, 0);

		// 個別引継ぎ情報に格納
		paramBean[0].sendMessageString(KKW02532SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysid);
		paramBean[0].sendMessageString(KKW02532SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svc_kei_no);
		paramBean[0].sendMessageString(KKW02532SFConst.TRAN_DIV, X31CWebConst.DATABEAN_SET_VALUE, tran_div);
		paramBean[0].sendMessageString(KKW02532SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, op_svc_kei_no);
		
	}	
	
	/**
	 * ダイヤルアップ接続照会サービス実行処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 * @exception Exceptionがスローされます。
	 */
	private void executeInitSvc(X31SDataBeanAccess[] paramBean) throws Exception
	{
		
		// 変数の定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		// 代行申請詳細表示サービス
		paramMap = new HashMap<String, Object>();		// パラメタ設定用マップ
		inputMap = new HashMap<String, Object>();		// 入力用マップ
		outputMap = new HashMap<String, Object>();		// 結果格納用マップ
		
		
		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0493");
		
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0493_KKSV0493OPDBMapper mapper = new KKSV0493_KKSV0493OPDBMapper();
		
		// オプションサービス契約<ISP>一意照会SC
		mapper.setKKSV049301SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		
		// サービス実行
		invokeService(paramMap, inputMap, outputMap);
		
		// 取得情報の下りマッピング
		mapper.getKKSV049301SC(paramBean, outputMap);
		
	}	
	
	
}
