/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.KKSV0023_KKSV0023OP;
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;


/**
 * KKSV0023 固定グローバルＩＰアドレス情報登録<br>
 * KKSV002308SC申込明細照査・後続業務依頼<br>
 * <br>
 * 機能コードが"チェック＆登録"の場合に当ＳＣを実行可能とします。<br>
 * 
 * @author 富士通
 * @since 2011-08-11
 */
public class JKKSV002308ReqChk extends AbstractCustomReqChk 
{

	/**
	 * 申込明細照査・後続業務依頼ＳＣ　実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		boolean ret = false;

		try 
		{
			String func_code = null;		// 機能コード

			//オプションサービス契約＜ＩＳＰ＞登録マップ
			HashMap<String, Object> kksv002305Map = (HashMap<String, Object>)arg0.getData(KKSV0023_KKSV0023OP.KKSV002305SC);
			if (kksv002305Map != null)
			{
				// 機能コードを取得
				func_code = (String)kksv002305Map.get("func_code");
			}

			if (func_code != null)
			{
				// 機能コードが"チェック＆登録"の場合にのみ実施
				if ("1".equals(func_code))
				{
					ret = true;		//OK
				}
			}
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return ret;
	}
}
