/**
 * 
 */
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.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.reqchk.exception.ReqChkException;


/**
 * KKSV0022 固定グローバルＩＰアドレス情報登録初期表示<br>
 * KKSV002203SC サービス契約回線内訳一意照会<br>
 * <br>
 * 判定します
 * 
 * @author 富士通
 * @since 2011-08-11
 */
public class JKKSV002203ReqChk extends AbstractCustomReqChk {

	

	/**
	 * サービス契約回線内訳一意照会ＳＣ　実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		boolean ret = false;

		try 
		{
			String svc_kei_kaisen_ucwk_no = null;		//サービス契約回線番号
			String gene_add_dtm = null;					//世代登録年月日時分秒

			//作業項目リストのマップ
			HashMap dataMap = null;
			HashMap<Object, Object> workMap = (HashMap<Object, Object>)arg0.getMappingWorkArea();
			if (workMap != null)
			{
				dataMap = (HashMap) workMap.get("WORK");
			}
			if (dataMap != null && dataMap.containsKey("EKK0251B001CBSMsg1List"))
			{
				//明細の ArrayList を取得
				ArrayList<HashMap<String, Object>> childList = 
					(ArrayList<HashMap<String, Object>>)dataMap.get("EKK0251B001CBSMsg1List");
				HashMap<String, Object> childMap = (HashMap<String, Object>)childList.get(0);
				if (childMap != null)
				{
					//サービス契約回線番号を取得
					svc_kei_kaisen_ucwk_no = (String)childMap.get("svc_kei_kaisen_ucwk_no");
					gene_add_dtm = (String)childMap.get("gene_add_dtm");
				}
			}

			//実行判定
			if (svc_kei_kaisen_ucwk_no != null && !"".equals(svc_kei_kaisen_ucwk_no) &&
				gene_add_dtm != null && !"".equals(gene_add_dtm))
			{
				ret = true;		//OK

				//検索キーを設定
				dataMap.put("in_svc_kei_kaisen_ucwk_no", svc_kei_kaisen_ucwk_no);
				dataMap.put("kk0251_gene_add_dtm", gene_add_dtm);
			}
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return ret;
	}

}
