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.EKK0191C060CBSMsg;

public class JKKSV021106ReqChk  extends AbstractCustomReqChk {

	/**
	 * 電話番号情報登録・光電話・電話番号情報変更の実行判定クラス
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException {
		
		//画面上「肩書き（建物名等）」「部屋番号」変更時
		HashMap<String, Object> kKSV021102SCHash;
		ArrayList<HashMap<String, Object>> eKK0191A010CBSMsg1List;
		HashMap<String, Object> eKK0191A010CBSMsg1ListElement;
		HashMap<String, Object> kKSV021107SCHash;
		String before;
		String after;

		try{
			
			//サービス契約内訳＜eo光電話＞一意照会の結果取得
			kKSV021102SCHash = (HashMap<String, Object>)irp.getData("KKSV021102SC");
			eKK0191A010CBSMsg1List = (ArrayList<HashMap<String,Object>>)kKSV021102SCHash.get(EKK0191A010CBSMsg.EKK0191A010CBSMSG1LIST);
			eKK0191A010CBSMsg1ListElement = eKK0191A010CBSMsg1List.get(0);
			
			//サービス契約内訳＜eo光電話＞情報変更のIN情報取得
			kKSV021107SCHash = (HashMap<String, Object>)irp.getData("KKSV021107SC");
			
			//新旧の値を取得
			before = (String)eKK0191A010CBSMsg1ListElement.get(EKK0191A010CBSMsg1List.EMG_ADRTTM);
			after = (String)kKSV021107SCHash.get(EKK0191C060CBSMsg.EMG_ADRTTM);
			
			//画面で値が変えているか？
			if(!before.equals(after)){
				return true;
			}
			
		}catch (Exception e) {
			return false;
		}
		
		//変わっていない
		return false;
		
	}

}
