/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JWCWCSV006001ReqChk
*   ソースファイル名：JWCWCSV006001ReqChk.java
*   作成者          ：FJ
*   日付            ：20112年02月01日
*＜機能概要＞
*   サービス契約ティアグループ一覧照会サービスの実行判定部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/07/11  富士通    新規作成
*
**********************************************************************/
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;

public class JWCWCSV006001ReqChk extends AbstractCustomReqChk {

	@Override
	public boolean checkExecution(IRequestParameterReadOnly arg0,
			IConditionValue arg1) throws ReqChkException {
		// BP定義ツールで指定した値を取得する
	
		HashMap sc;
		HashMap sc2;
		try
		{
			if(arg0.getControlMapData("MAPPING_WORK_AREA") == null){
				return false;
			}
			else
			{
				sc = (HashMap)arg0.getControlMapData("MAPPING_WORK_AREA");
				sc = (HashMap)sc.get("WORK");

				if(((String)arg1.get("比較値")).equals("WCSV006002SC"))
				{
					if (sc.get("EKK0341B001CBSMsg1List") == null || ((ArrayList)sc.get("EKK0341B001CBSMsg1List")).isEmpty())
					{
						return false;
					}
					else
					{
						sc2=(HashMap)((ArrayList)sc.get("EKK0341B001CBSMsg1List")).get(0);
						if (sc2.get("work_svc_kei_no") == null || "".equals(sc2.get("work_svc_kei_no")))
						{
							return false;
						}
						else
						{
							return true;
						}
					}
				}
				else if(((String)arg1.get("比較値")).equals("WCSV006003SC"))
				{
					if (sc.get("EKK0341B001CBSMsg1List") == null || ((ArrayList)sc.get("EKK0341B001CBSMsg1List")).isEmpty())
					{
						return false;
					}
					else
					{
						sc2=(HashMap)((ArrayList)sc.get("EKK0341B001CBSMsg1List")).get(0);
						if (sc2.get("work_svc_kei_ucwk_no") == null || "".equals(sc2.get("work_svc_kei_ucwk_no")))
						{
							return false;
						}
						else
						{
							return true;
						}
					}
				}
				else if(((String)arg1.get("比較値")).equals("WCSV006004SC"))
				{
					if (sc.get("EKK0341B001CBSMsg1List") == null || ((ArrayList)sc.get("EKK0341B001CBSMsg1List")).isEmpty())
					{
						return false;
					}
					else
					{
						sc2=(HashMap)((ArrayList)sc.get("EKK0341B001CBSMsg1List")).get(0);
						if (sc2.get("work_pcrs_cd") == null || "".equals(sc2.get("work_pcrs_cd")))
						{
							return false;
						}
						else
						{
							return true;
						}
					}
				}
				else if(((String)arg1.get("比較値")).equals("WCSV006005SC"))
				{
					if (sc.get("EKK0341B001CBSMsg1List") == null || ((ArrayList)sc.get("EKK0341B001CBSMsg1List")).isEmpty())
					{
						return false;
					}
					else
					{
						sc2=(HashMap)((ArrayList)sc.get("EKK0341B001CBSMsg1List")).get(0);
						if (sc2.get("work_svc_kei_ucwk_no") == null || "".equals(sc2.get("work_svc_kei_ucwk_no")))
						{
							return false;
						}
						else
						{
							return true;
						}
					}
					
				}
				else
				{
					return true;
				}
			}
		}
		catch (RequestParameterException e)
		{
			return false;
		}
	}
}