/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.ArrayList;
import java.util.HashMap;

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;

/**
 * KKSV0064 電話番号情報登録初期表示<br>
 * KKSV006419SC 電話番号一意照会SC<br>
 * <br>
 * 異動区分が「光電話・番号追加」以外（サービス契約内訳番号あり）の場合に当ＳＣを実行可能とします。
 * 
 * @author 富士通
 * @since 2012-09-24
 */
public class JKKSV006419ReqChk extends JKKSV006402ReqChk
{

	// IT2-2012-0002065 2012/12/14 start
	/**
	 * 電話番号一意照会ＳＣ　実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		boolean ret = false;

		try 
		{
			//SCマップから必要な情報を取り出す
			HashMap<String, Object> parentMap = (HashMap<String, Object>)arg0.getData("KKSV006402SC");

			//サービス契約内訳番号
			String key_svc_kei_ucwk_no = (String)parentMap.get("key_svc_kei_ucwk_no");
			
			
			HashMap<String, Object> kKSV006403SC = (HashMap<String, Object>)arg0.getData("KKSV006403SC");
			ArrayList eKK0191A010CBSMsg1List =  (ArrayList)kKSV006403SC.get("EKK0191A010CBSMsg1List");
			if(eKK0191A010CBSMsg1List != null ){
				HashMap childMap = (HashMap)eKK0191A010CBSMsg1List.get(0);
				//電話番号
				String telno = (String)childMap.get("telno");

				if (key_svc_kei_ucwk_no != null && !"".equals(key_svc_kei_ucwk_no)		// サービス契約番号が設定されている場合
						&& telno != null && !"".equals(telno))								// 電話番号がある場合
				{
					ret = true;
				}
			}
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return ret;
	}
	// IT2-2012-0002065 2012/12/14 end
}
