/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：ZM
*	モジュール名	：JZMDikExecChk
*	ソースファイル名：JZMDikExecChk.java
*	作成者			：FJ
*	日付			：2011年05月15日
*＜機能概要＞
*	ディレド処理依頼登録SC実行判定クラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/05/15	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.common.constant.JPCModelConstant;

public class JCNSV001301ReqChk extends AbstractCustomReqChk {
	

	/**
	 * 実行判定クラス。
     * <BR>
     * @param req_param リクエストパラメータ
     * @param condition 判定条件
	 * @return boolean
	 * @throws Exception 
	 */
	@Override
	public boolean checkExecution(IRequestParameterReadOnly irp, IConditionValue condition) throws ReqChkException {
		boolean ret = false;
		try
		{
			// コンテンツ契約一意照会の更新年月日時分秒と比較する
			HashMap contMap = (HashMap)irp.getData("CNSV001302SC");
			ArrayList contList = (ArrayList)contMap.get("cont_kei_list");
			HashMap retKeiMap = (HashMap)contList.get(0);
			if ((contMap != null) && (retKeiMap != null))
			{
				if (retKeiMap.containsKey("upd_dtm") && contMap.containsKey("key_upd_dtm") && retKeiMap.get("upd_dtm").equals(contMap.get("key_upd_dtm")))
				{
					ret = true;
				}
				else
				{
					contMap.put("search_err_flg", JPCModelConstant.SEARCH_ERR_FLG_ZERO);
				}
			}

			// 支払方法入力支援一意照会の更新年月日時分秒と比較する
			HashMap paywayMap = (HashMap)irp.getData("CNSV001303SC");
			ArrayList paywayList = (ArrayList)paywayMap.get("payway_list");
			HashMap retPayMap = (HashMap)paywayList.get(0);
			if ((paywayMap != null) && (retPayMap != null))
			{
				if (retPayMap.containsKey("upd_dtm") && paywayMap.containsKey("key_upd_dtm") && retPayMap.get("upd_dtm").equals(paywayMap.get("key_upd_dtm")))
				{
					ret = true;
				}
				else
				{
					paywayMap.put("search_err_flg", JPCModelConstant.SEARCH_ERR_FLG_ZERO);
				}
			}
			
		}
		catch (RequestParameterException e)
		{
			e.printStackTrace();
		}

		return ret;
	}

}
