/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理システム
 *   モジュール名    ：ID通知書発行取消確認
 *   ソースファイル名：KKW02003SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2012年02月03日
 *＜機能概要＞
 *   ID通知書発行の取消を行う。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2012/02/03   FJ）藤原    新規作成
 *   v4.00.00    2012/09/05   FJ）大木    【ANK-0546-00-00】宅内プラットフォーム事業本格対応
 *
 **********************************************************************/
package eo.web.webview.KKW02003SF;

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.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0502_KKSV0502OPDBMapper;

/**
 * ID通知書発行の取消を行う。<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW02003SFLogic extends JCCWebBusinessLogic 
{
	/** 通知書取消コード */
	private static final String TCHISHO_CLRE_CD = "01";

	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionInit() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定。
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		// (1) 引継情報の取得
		// セッション情報取得・引継情報をDataBeanにセット

		// (2) サービスフォームBean設定処理
		// 運用年月日
		String unyo_ymd = JCCWebCommon.getOpeDate(this, null);
		paramBean[0].sendMessageString(KKW02003SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd);

		// (3) サービス呼出処理
		// なし

		// (4) サービスフォームBean設定処理
		// なし

		// (5) メッセージ表示処理
		String[] str = {"ID通知書発行の取消"};
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, str);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 確定ボタン押下処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionFix() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		// (1) サービスフォームBean設定処理
		// 通知書取消理由コード
		paramBean[0].sendMessageString(KKW02003SFConst.TCHISHO_CLRE_CD, X31CWebConst.DATABEAN_SET_VALUE, TCHISHO_CLRE_CD);

		// (2) サービス呼出処理
		// (3) サービス処理結果の取得
		// ID通知書発行取消確認サービス実行
		executeHakkoClSvc(paramBean);

		// (4) メッセージ表示処理
		String[] str = {"ID通知書発行の取消"};
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, str);

		// (5) 遷移先画面の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW02004);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW02004);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 戻るボタン押下処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionBack() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// (1) 遷移先画面の設定
		// 遷移先画面ID
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * 一覧照会へボタン押下処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionFin() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// (1) 遷移先画面の設定
		// 遷移先画面ID
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * ID通知書発行取消確認サービス実行処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 * @exception Exceptionがスローされます。
	 */
	private void executeHakkoClSvc(X31SDataBeanAccess[] paramBean)
	{
		// 変数の定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// ID通知書発行取消確認サービス
		paramMap = new HashMap<String, Object>();		//パラメタ設定用マップ
		inputMap = new HashMap<String, Object>();		//データマップ
		outputMap = new HashMap<String, Object>();		//結果格納用マップ

		// ID通知書発行取消確認サービスの呼び出しを行う。
		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0502");

		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0502_KKSV0502OPDBMapper mapper = new KKSV0502_KKSV0502OPDBMapper();

		// 通知書取消SC
		mapper.setKKSV050201SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// ID通知書詳細情報取得サービス
		invokeService(paramMap, inputMap, outputMap);
	}
}
