/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.ArrayList;
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;

import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;


/**
 * KKSV0065 電話番号情報登録＿光電話・番号登録<br>
 * KKSV006526SC オプションサービス契約＜電話＞開始SC<br>
 * <br>
 * 
 * @author 富士通
 * @since 2012-03-01
 */
public class JKKSV006526ReqChk extends AbstractCustomReqChk {

	/**
	 * オプションサービス契約＜電話＞開始ＳＣ　実行判定メソッド
	 * <br>
	 * @param irp リクエストパラメータ
	 * @param conditionvalue 判定値格納クラス
	 * @return サービス契約ステータスが受付済み、照査済み、締結済みの場合は実行しない
	 * @throws ReqChkException
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException
	{
		HashMap<String, Object> kKSV006525SCHash;
		ArrayList<HashMap<String, Object>> eKK0081A010CBSMsg1List;
		HashMap<String, Object> eKK0081A010CBSMSG1LISTElement;
		String svcKeiStat;

		try 
		{
			//サービス契約一意照会SCマップ
			kKSV006525SCHash = (HashMap<String, Object>)irp.getData("KKSV006502SC");
			eKK0081A010CBSMsg1List = (ArrayList<HashMap<String, Object>>)kKSV006525SCHash.get(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
			//1要素取得
			eKK0081A010CBSMSG1LISTElement = (HashMap<String, Object>)eKK0081A010CBSMsg1List.get(0);
			
			//サービス契約ステータスの取得
			svcKeiStat = (String)eKK0081A010CBSMSG1LISTElement.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT);

			//サービス契約ステータスが受付済,照査済の場合は実行しない
			if("010".equals(svcKeiStat) || "020".equals(svcKeiStat) || "030".equals(svcKeiStat))
			{
				return false;
			}
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return true;
	}

}
