/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.KKSV0051_KKSV0051OP;
import com.fujitsu.futurity.bp.custom.constant.KKSV0051_KKSV0051OP_WORK;
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;


/**
 * KKSV0051 サービス契約更新(eo光電話)初期表示<br>
 * KKSV005106SC 工事案件一覧照会SC<br>
 * <br>
 * 工事案件(撤去)があるかどうかを当SCの出力結果で判定します。
 * 
 * @author 富士通
 * @since 2011-08-26
 */
public class JKKSV005106ReqChk extends AbstractCustomReqChk {

	/**
	 * 工事案件一覧照会ＳＣ　実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		boolean ret = false;

		try
		{
			// LT-2013-0000279 サービス契約情報更新・照会(eo光電話)画面の解約希望日が正しく表示されない 2013/07/08 START
//			parentMap = (HashMap<String, Object>)arg0.getData(KKSV0051_KKSV0051OP.KKSV005106SC);
//
//			ArrayList<HashMap<String, Object>> childList = (ArrayList<HashMap<String, Object>>) 
//											parentMap.get(KKSV0051_KKSV0051OP_KKSV005106SC.EKU0011B010CBSMSG1LIST);
//
//			//明細が１件以上ならＯＫ
//			if (childList != null && 0 < childList.size())
//			{
//				ret = true;
//			}

			// 作業領域の取得
			Map<Object, Object> workMap = arg0.getMappingWorkArea();
			Map inMap = new HashMap<String, Object>();
			if (null != workMap)
			{
				inMap = (HashMap<String, Object>)workMap.get(KKSV0051_KKSV0051OP.WORK);
				if (null != inMap)
				{
					String keyKojiakNoTk = (String)inMap.get(KKSV0051_KKSV0051OP_WORK.KEY_KOJIAK_NO_TK);
					// 検索条件の工事案件番号(撤去)が設定されている場合
					if (null != keyKojiakNoTk && !keyKojiakNoTk.isEmpty())
					{
						ret = true;
					}
				}
			}
			// LT-2013-0000279 サービス契約情報更新・照会(eo光電話)画面の解約希望日が正しく表示されない 2013/07/08 END
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return ret;
	}

}
