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.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.reqchk.exception.ReqChkException;

import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0191C012CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0111D010CBSMsg;

/**
 * 電話番号情報登録　光電話・番号変更の実行判定を行うクラスです。<p>
 * <BR>
 * @author FJ
 */
public class JKKSV021310ReqChk extends AbstractCustomReqChk{

	/**
	 * カスタム実行判定処理を実装するメソッド
	 * <br>
	 * @return 実行判定結果
	 * @param  irp  リクエストパラメータ
	 * @param  conditionvalue  判定値格納クラス
	 * @return Boolean 判定結果
	 * @exception ReqChkException
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException 
	{

		boolean bmpStatus;
		
		//番ポが「無」→「有」に変更したときはエイジング不要
		
		HashMap<String, Object> kKSV021302SC;
		ArrayList<HashMap<String, Object>> eKK0191A010CBSMsg1List;
		HashMap<String, Object> eKK0191A010CBSMsg1ListElement;
		HashMap<String, Object> kKSV021313SC;
		
		try{
			
			//サービス契約内訳＜電話＞一意照会の結果を取得
			kKSV021302SC = (HashMap<String, Object>)irp.getData("KKSV021302SC");
			eKK0191A010CBSMsg1List = (ArrayList<HashMap<String, Object>>)kKSV021302SC.get(EKK0191A010CBSMsg.EKK0191A010CBSMSG1LIST);
			eKK0191A010CBSMsg1ListElement = (HashMap<String, Object>)eKK0191A010CBSMsg1List.get(0);
			
			//変更前の番ポ有無を取得
			String bmpUmBF = (String)eKK0191A010CBSMsg1ListElement.get(EKK0191A010CBSMsg1List.BMP_UM);
			
			kKSV021313SC = (HashMap<String, Object>)irp.getData("KKSV021313SC");
			
			//変更後の番ポ有無を取得
			String bmpUmAf = (String)kKSV021313SC.get(EKK0191C012CBSMsg.BMP_UM);
			
			bmpStatus = true;
//			if(bmpUmBF.equals("0"))
//			{
				if(bmpUmAf.equals("1")){
					bmpStatus = false;
				}
//			}
			
		}catch (Exception e) {
			
			return false;
		}
		
		return bmpStatus;
	}
	
}
