/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JCNUpdDtmReqChk
*	ソースファイル名：JCNUpdDtmReqChk.java
*	作成者			：FJ
*	日付			：2011年10月31日
*＜機能概要＞
*	BPチェッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/31	FJ		新規作成
*
**********************************************************************/

package com.fujitsu.futurity.bp.custom.reqchk;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

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;

/**
 * BPから呼び出すサービスIFの
 * 実行条件判定を行う
 * @author FJ
 */
public class JCNUpdDtmReqChk extends AbstractCustomReqChk
{
	
	/** コンテンツ契約一意照会メッセージリスト*/
	private static final String ECN0021A001CBS_MSG_LIST = "ECN0021A001CBSMsgList";
	
	/** ミリSec埋め込み用文字列 */
	private static final String S_MSEC = "000";
	
	/**
	 * サービスIFの実行判定を実施する。
	 * @param irp
	 * @param conditionvalue
	 * @return 判定結果
	 * @exception ReqChkException
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp, IConditionValue conditionvalue) throws ReqChkException
	{
		boolean ret = false;
		
		List list = new ArrayList();
		try
		{
			// コンテンツ契約一意照会サービスインターフェイス.更新年月日時分秒
			// =コンテンツ契約個別DataBean.更新年月日時分秒
			// か調べる
			HashMap scCNSV000701SCMap = (HashMap)irp.getData("CNSV000701SC");
			HashMap scCNSV000702SCMap = (HashMap)irp.getData("CNSV000702SC");
			String selectUpdDtm = (String)scCNSV000702SCMap.get("upd_date");	// 画面から取得した更新年月日時分秒
			// CCMGのAPIに渡す更新年月日時分秒にはミリSecがないので、桁数を合わせるために0埋めする。
			selectUpdDtm += S_MSEC;
			if (scCNSV000701SCMap.size() != 0)
			{

				if (null != scCNSV000701SCMap)
				{
					list = (ArrayList)scCNSV000701SCMap.get(ECN0021A001CBS_MSG_LIST);
					HashMap map = (HashMap)list.get(0);
					String updDtm1 = (String)map.get("upd_dtm");	// コンテンツ契約一意照会SIFから取得した更新年月日時分秒
					if(updDtm1.equals(selectUpdDtm))
					{
						ret = true;
					}
				}

			}
		}
		catch (RequestParameterException e)
		{
			e.printStackTrace();
		}

		return ret;
	}

}
