/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKSV000603ReqChk
*	ソースファイル名：JKKSV000603ReqChk.java
*	作成者			：FJ
*	日付			：2011年07月11日
*＜機能概要＞
*	Ｍｙホームページ情報登録確認実行判定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/07/11	FJ			新規作成
*
**********************************************************************/
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;

import eo.ejb.cbs.cbsmsg.EKK0861A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0861B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0861B002CBSMsg1List;

public class JKKSV006211ReqChk extends AbstractCustomReqChk {

	/**
	 * 実行判定クラス。
     * <BR>
     * @param req_param リクエストパラメータ
     * @param condition 判定条件
	 * @return boolean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException {

		try 
		{
			
			HashMap<String, Object> kKSV006210SC = null;
			ArrayList<HashMap<String, Object>> eKK0861B002CBSMSG1LIST = null;
			HashMap<String, Object> eKK0861B002CBSMSG1LISTElement = null;
			String kaisenUseKeiNo = null;
			
			//EKK0861B002_マンション情報一覧照会（サービス契約番号）の結果を取得
			kKSV006210SC = (HashMap<String, Object>)irp.getData("KKSV006210SC");
			
			if(kKSV006210SC == null)
			{
				return false;
			}
			
			eKK0861B002CBSMSG1LIST = (ArrayList<HashMap<String,Object>>)kKSV006210SC.get(EKK0861B002CBSMsg.EKK0861B002CBSMSG1LIST);
			
			if(eKK0861B002CBSMSG1LIST == null || eKK0861B002CBSMSG1LIST.size() == 0)
			{
				return false;
			}
			
			eKK0861B002CBSMSG1LISTElement = eKK0861B002CBSMSG1LIST.get(0);
			
			//回線使用契約番号の取得
			kaisenUseKeiNo = (String)eKK0861B002CBSMSG1LISTElement.get(EKK0861B002CBSMsg1List.KAISEN_USE_KEI_NO);
			
			//回線使用契約番号による実行可否（ここまでくれば必ずあるはず）
			if(kaisenUseKeiNo == null || "".equals(kaisenUseKeiNo))
			{
				return false;
			}
			
		} catch (RequestParameterException e) {
			return false;
		}
		
		return true;
		
	}
}
