package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.KKSV0031_KKSV0031OP;
import com.fujitsu.futurity.bp.custom.constant.KKSV0031_KKSV0031OP_RECCHK;
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 JKKSV003104ReqChk extends AbstractCustomReqChk {

	/** サービス契約ステータス（照査済） */
	private static final String SVC_KEI_STAT_020 = "020";
	
	/**
	 * カスタム実行判定処理を実装するメソッド
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException {

// v5.00 2013/05/30 TG1-2013-0000421 MOD START
//		String svcKeiStat = null;
		String svcKeiUcwkStat = null;
// v5.00 2013/05/30 TG1-2013-0000421 MOD END
		
		try {
			// チェック条件項目マップから必要な情報を取り出す
			HashMap<String,Object> parentMap = (HashMap<String,Object>)irp.getData(KKSV0031_KKSV0031OP.RECCHK);
// v5.00 2013/05/30 TG1-2013-0000421 MOD START
			// サービス契約ステータス
//			svcKeiStat = (String)parentMap.get(KKSV0031_KKSV0031OP_RECCHK.SVC_KEI_STAT);
			// サービス契約内訳ステータス
			svcKeiUcwkStat = (String)parentMap.get(KKSV0031_KKSV0031OP_RECCHK.SVC_KEI_UCWK_STAT);
// v5.00 2013/05/30 TG1-2013-0000421 MOD END
			
		} catch (RequestParameterException e) {
			return false;
		}
		
		/*
		 * 判定処理
		 */
// v5.00 2013/05/30 TG1-2013-0000421 MOD START
		// サービス契約ステータスが「照査済」
//		if("020".equals(svcKeiStat))
		if(SVC_KEI_STAT_020.equals(svcKeiUcwkStat))
// v5.00 2013/05/30 TG1-2013-0000421 MOD END
		{
			return true;
		}
		return false;
	}
}
