/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.KKSV0078_KKSV0078OP;
import com.fujitsu.futurity.bp.custom.constant.KKSV0078_KKSV0078OP_KKSV007801SC;
import com.fujitsu.futurity.bp.custom.constant.KKSV0078_KKSV0078OP_KKSV007801SC_EKK0161A010CBSMsg1List;
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.common.constant.JKKStrConst;


/**
 * KKSV0078 電話オプションサービス契約登録確認<br>
 * KKSV007809SC 進捗一覧照会SC<br>
 * KKSV007810SC 申込明細一意照会SC<br>
 * <br>
 * オプションの付くサービス契約内訳が照査前の場合に当ＳＣを実行可能とします。
 * 
 * @author 富士通
 * @since 2012-08-21
 */
public class JKKSV007809ReqChk extends AbstractCustomReqChk
{

	@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(KKSV0078_KKSV0078OP.KKSV007801SC);
			if (null != parentMap)
			{
				ArrayList<HashMap<String, Object>> dataList =
					(ArrayList<HashMap<String, Object>>)parentMap.get(KKSV0078_KKSV0078OP_KKSV007801SC.EKK0161A010CBSMSG1LIST);
				if (null != dataList && 0 < dataList.size())
				{
					HashMap<?, ?> dataMap = dataList.get(0);
					String stat = (String)dataMap.get(KKSV0078_KKSV0078OP_KKSV007801SC_EKK0161A010CBSMsg1List.SVC_KEI_UCWK_STAT);
					//サービス契約内訳ステータスが受付済なら「真」
					if ("010".equals(stat))
					{
						ret = true;
					}
				}
			}
		}
		catch (RequestParameterException e)
		{
		}
		return ret;
	}


}
