package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.KKSV0010_KKSV0010OP;
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 JKKSV001002ReqChk extends AbstractCustomReqChk {
	
	/**
	 * カスタム実行判定処理を実装するメソッド
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException {

		// サービス契約ステータス
		String svc_kei_stat = null;
		
		HashMap<String, Object> parentMap = null;
		
		try {
			// 作業項目情報
			parentMap = (HashMap)irp.getMappingWorkArea().get(KKSV0010_KKSV0010OP.WORK);

			// サービス契約ステータス ← 作業項目リスト.サービス契約ステータス
			svc_kei_stat = (String)parentMap.get("svc_kei_stat");

		}
		catch (RequestParameterException e)
		{
			return false;
		}
		
		/*
		 * 判定処理
		 */
		// サービス提供中のいずれかならＯＫ
		if ("100".equals(svc_kei_stat))
		{
			return true;
		}

		return false;
	}
}
