/**
 * 
 */
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.HashMap;
import java.util.Map;

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.util.JKKStringUtil;


/**
 * KKSV0781 紹介コード更新初期表示OP<br>
 * <br>
 * クーポンコード有　かつ　申込日あり　場合に当ＳＣを実行可能とします。<br>
 * 
 * @author 富士通
 * @since 2011-08-11
 */
public class JKKSV078108ReqChk extends AbstractCustomReqChk 
{

	/**
	 * （割引キャンペーンコード一覧照会（紹介コード））実行判定メソッド
	 */
	@SuppressWarnings("unchecked")
	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0, IConditionValue arg1) throws ReqChkException
	{
		boolean ret = false;

		try 
		{
			// 作業領域の取得
			Map workMap = (Map)arg0.getMappingWorkArea();

			Map outWorkMap = (HashMap)workMap.get("WORK");
			String key_mskm_ymd = "";
			String key_intr_cd = "";
			/* 作業項目情報 */
			if(outWorkMap != null)
			{
				key_mskm_ymd = (String) outWorkMap.get("key_mskm_ymd");
				if (JKKStringUtil.isNullBlank(key_mskm_ymd) == true) {
					key_mskm_ymd = "";
				}
			}
			
			HashMap paramMap = (HashMap)arg0.getData("IntrInfoCfmCC");
			
			if (paramMap != null) {
				key_intr_cd = (String)paramMap.get("coupon_cd");
				if (JKKStringUtil.isNullBlank(key_intr_cd) == true) {
					key_intr_cd = "";
				}
			}
			
			//実行判定
			if (!"".equals(key_mskm_ymd) && !"".equals(key_intr_cd))
			{
				ret = true;		//OK
			}
		}
		catch (RequestParameterException e) 
		{
			/*NOP*/ ;
		}

		return ret;
	}
}
