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 JKKSV003723ReqChk  extends AbstractCustomReqChk {

	/**
	 * カスタム実行判定処理を実装するメソッド
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException {
		
		boolean ret = false;

		//SCマップから必要な情報を取り出す
		HashMap<String, Object> parentMap;
		try 
		{
			parentMap = (HashMap<String, Object>)irp.getData("KKSV003723SC");
			if (parentMap != null)
			{
				//移転元サービス契約番号を取得
				String itenm_svc_kei_no = (String)parentMap.get("itenm_svc_kei_no");
				//変更前移転元サービス契約番号を取得
				String bf_itenm_svc_kei_no = (String)parentMap.get("bf_itenm_svc_kei_no");
				
				//移転元サービス契約番号に変更がある場合に実行
				if (itenm_svc_kei_no.equals(bf_itenm_svc_kei_no)){
					ret = false;
				}else{
					ret = true;
				}
			}
		}
		catch (RequestParameterException e) 
		{
			return false;
		}

		return ret;
	}

}
