/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;
import java.util.List;

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;


/**
 * KKSV0170 トーキ登録初期表示<br>
 * KKSV017005SC 申込明細照査・後続業務依頼SC<br>
 *<br>
 * 申込内容承認登録S-IFから申込明細番号が正常に返却されている場合に実行する。
 * 
 * @author 富士通
 * @since 2011-10-18
 */
public class JKKSV017105ReqChk extends AbstractCustomReqChk {

	
	/**
	 * 申込明細照査・後続業務依頼ＳＣ　実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		//SCマップから必要な情報を取り出す
		HashMap<String, Object> parentMap;
		try 
		{
			parentMap = (HashMap<String, Object>)arg0.getData("KKSV017103SC");
			String funcCode = (String)parentMap.get("func_code");
			if ("2".equals(funcCode)) {
				return true;
			}
			
			//申込明細番号の取得
//			String cust_stat = (String)parentMap.get("cust_stat");
			List list = (List)parentMap.get("EKK0011D020CBSMsg1List");
			HashMap childMap = (HashMap)list.get(0);
			String mskmDtlNo = (String)childMap.get("mskm_dtl_no");
			if (null != mskmDtlNo && ! "".equals(mskmDtlNo))
			{
				return true;
			}
		}
		catch (RequestParameterException e) 
		{
			return false;
		}

		return false;
	}

}
