/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JFUFUSV012717ReqChk
*	ソースファイル名：JFUFUSV012717ReqChk.java
*	作成者			：FJ
*	日付			：2012年10月19日
*＜機能概要＞
*	指示書登録実行判定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v4.00       2012/10/19  FJ）岡井    【ANK-1199-00-00】申込書明細番号の自動発番について
*
**********************************************************************/
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;

/**
 * 指示書登録実行判定部品です。
 * <BR>
 * @author 富士通
 */
public class JFUFUSV012717ReqChk extends AbstractCustomReqChk
{
	/** FUSV012712SC */
	private static final String FUSV012712SC = "FUSV012712SC";
	/** func_code */
	private static final String FUNC_CODE = "func_code";

	/**
	 * 申込書番号採番実行判定部品です。
	 * <BR>
	 * 申込書番号採番サービスIFの実行判定をします。
	 * <BR>
	 * @param  irp  リクエストパラメータ
	 * @param  conditionvalue  判定値格納クラス
	 * @return 機能コードが"1"の場合はTRUE、それ以外はFALSEを返却
	 * @throws ReqChkException
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp, IConditionValue conditionvalue) throws ReqChkException
	{
		// 判定結果格納
		Boolean result = true;

		try
		{
			// BP定義ツールでセットしている値の取得
			String key = conditionvalue.get(null);
			// 実行判定用マップ取得
			HashMap parentMap = (HashMap)irp.getData(FUSV012712SC);

			// 機能コードを取得
			String funcCd = (String)parentMap.get(FUNC_CODE);

			// 判定結果を設定
			result = key.equals(funcCd);
		}
		catch (RequestParameterException e)
		{
			return false;
		}

		return result;
	}
}
