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 com.fujitsu.futurity.model.ejb.common.JSYejbLog;

/**
 * 機器出荷情報更新実行判定クラスです。
 * @author 富士通
 */
public class JDKDKSV007612ReqChk extends AbstractCustomReqChk
{

	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly irp,
			IConditionValue conditionvalue) throws ReqChkException
	{
		try
		{
			JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "機器出荷情報更新処理の実行判定");
			// 電文ワーク領域から必要な情報を取り出す
			HashMap<String, Object> parentMap = (HashMap)irp.getMappingWorkArea().get("work");

			ArrayList dataList = (ArrayList)parentMap.get("buppin_list");
			
			if (dataList != null && !dataList.isEmpty())
			{
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "機器出荷情報更新処理の実行判定ＯＫ(対象データあり)");
				return true;
			}
			else
			{
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "機器出荷情報更新処理の実行判定ＮＧ(対象データなし)");
				return false;
			}
		}
		catch (RequestParameterException e)
		{
			JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "機器出荷情報更新処理の実行判定ＮＧ(エラー)");
			return false;
		}
	}
}
