/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKSV005812ReqChk
*	ソースファイル名：JKKSV005812ReqChk.java
*	作成者			：FJ
*	日付			：2012年06月15日
*＜機能概要＞
*	電話帳掲載申込登録確認実行判定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00		2012/06/15	FJ)今西		新規作成
*	v4.00		2012/09/19  FJ)藤原		【TAI-2012-0000093】判定条件を変更
**********************************************************************/
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;

import com.fujitsu.futurity.bp.x21.bpm.common.AbstractCustomReqChk;
import com.fujitsu.futurity.bp.x21.bpm.common.IConditionValue;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.reqchk.exception.ReqChkException;

public class JKKSV005813ReqChk extends AbstractCustomReqChk
{
	/** 処理区分登録 */
	private static final String TRAN_DIV_ADD = "登録";
	
	/** 処理区分変更 */
	private static final String TRAN_DIV_CHG = "変更";
	/**
	 * カスタム実行判定処理を実装するメソッド
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException
	{
		String tran_div = null;
		String ichijikin_div = null;
		String ichijikin_div_bf = null;
		String ichijikin_shitei_anmt = null;
		String ichijikin_shitei_anmt_bf = null;
		String ichijikin_cha_flg = null;
		
		HashMap<String,Object> parentMap = null;
		
		try
		{
			// チェック条件項目マップから必要な情報を取り出す
			parentMap = (HashMap<String, Object>)irp.getData("IcjknCC");
			// 処理区分を取得
			tran_div = (String) parentMap.get("tran_div");
			// 指定額を取得
			ichijikin_shitei_anmt = (String) parentMap.get("ichijkn_shitei_amnt");
			// 変更前指定額を取得
			ichijikin_shitei_anmt_bf = (String) parentMap.get("ichijkn_shitei_amnt_bf");
			// 事務手数料選択区分を取得
			ichijikin_div = (String) parentMap.get("ichijikin_div");
			// 変更前事務手数料選択区分を取得
			ichijikin_div_bf = (String) parentMap.get("ichijikin_div_bf");
			//  掲載事務手数料変更フラグを取得
			ichijikin_cha_flg = (String) parentMap.get("ichijikin_cha_flg");
		}
		catch (RequestParameterException e)
		{
			
		}
		
		// 判定処理
		// 無を選択した場合は実行しない
//		if(("01").equals(ichijikin_div))
//		{
//			return false;
//		}
//		if(!Boolean.valueOf(ichijikin_cha_flg))
//		{
//			return false;
//		}
//		// 処理区分が登録で必ず実行する
//		else if(TRAN_DIV_ADD.equals(tran_div))
//		{
//			return true;
//		}
//		// 変更で掲載区分が変わった場合、または指定額が変わった場合のみ実行
//		else if(TRAN_DIV_CHG.equals(tran_div))
//		{
//			if(!ichijikin_div.equals(ichijikin_div_bf))
//			{
//				return true;
//			}
//			else if(ichijikin_div.equals("04") && !ichijikin_shitei_anmt.equals(ichijikin_shitei_anmt_bf))
//			{
//				return true;
//			}
//		}
//		return false;
		return true;
	}
}
