/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：KKW04101SFLogic
*	ソースファイル名	：KKW04101SFLogic.java
*	作成者				：富士通　
*	作成日				：2012年02月06日
*＜機能概要＞
*　リモートサポート実績登録画面のビューロジックです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/07	FJ			新規作成
*	v4.00.00	2012/11/05	FJ)庭山		【IT2-2012-0001629】対応
*	v4.00.01	2012/11/07	FJ)赤穂		【IT1-2012-0001723】対応
*	v4.01.00	2012/12/20	FJ)野口		【IT1-2012-0002486】対応
*********************************************************************/
package eo.web.webview.KKW04101SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31SRuntimeException;

import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW14701SF.KKW14701SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0476_KKSV0476OPDBMapper;
import eo.web.webview.mapping.KKSV0477_KKSV0477OPDBMapper;


/**
* KKW04101のビューロジックです。 <p>
*<BR>
* @author 富士通
*/
public class KKW04101SFLogic extends JCCWebBusinessLogic
{
	/** 顧客契約引継情報項目キー */
	private static final String[] CUST_KEI_HKTGI_KEYS = {
		JKKCommonConst.HKTGI_SYSID,
		JKKCommonConst.HKTGI_SVC_KEI_NO,
		JKKCommonConst.HKTGI_IDO_DIV,
		JKKCommonConst.HKTGI_IDO_RSN_CD,
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
		JKKCommonConst.HKTGI_IDO_RSN_MEMO,
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */
		JKKCommonConst.HKTGI_OP_SVC_KEI_NO,
		JKKCommonConst.HKTGI_TRAN_DIV,
		JKKCommonConst.HKTGI_MSKM_NO,
		JKKCommonConst.HKTGI_MSKM_DTL_NO,
		JKKCommonConst.HKTGI_TOKUTEI_ID_KMK_NM,
		JKKCommonConst.HKTGI_TOKUTEI_ID_KMK_VALUE,
		JKKCommonConst.HKTGI_POPUP_MODE,
		JKKCommonConst.HKTGI_MSKM_SVC_KEI_NO
	};

	/**
	 * リモートサポート実績登録画面(KKW04101)初期表示処理です。
	 * <br>
	 * @return boolean　処理の成否。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	public boolean init() throws Exception
	{
		// セションデータ取得
		JCCWebCommon.getScreenInfo(this);
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		// サービスフォームBeanの取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();

		// (1)サービス呼出処理のパラメタ設定
		// 基準日にオンライン運用日付を設定
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		// 取得したオンライン日付を基準年月日にセット
		beanAccess.sendMessageString(KKW04101SFConst.STDARDYMD, X31CWebConst.DATABEAN_SET_VALUE, opeDate);
		// 引継情報を取得
		X31SDataBeanAccessArray custKeiHktgiList =  beanAccess.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInfo = custKeiHktgiList.getDataBean(0);

		// サービス契約番号
		beanAccess.sendMessageString(KKW04101SFConst.HKTGI_SVC_KEI_NO_02,
									X31CWebConst.DATABEAN_SET_VALUE,
									custKeiHktgiInfo.sendMessageString(JKKCommonConst.HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		beanAccess.sendMessageString(KKW04101SFConst.HKTGI_IDO_DIV_02,
									X31CWebConst.DATABEAN_SET_VALUE,
									custKeiHktgiInfo.sendMessageString(JKKCommonConst.HKTGI_IDO_DIV,    X31CWebConst.DATABEAN_GET_VALUE));
		// 異動理由コード
		int rsncdList = (Integer)custKeiHktgiInfo.sendMessage(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_COUNT);
		String [] val = new String[rsncdList];
		for (int i = 0; i < rsncdList; i++)
		{
			val[i] = custKeiHktgiInfo.sendMessageString(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_VALUE, i);
		}
		beanAccess.sendMessageObject(KKW04101SFConst.HKTGI_IDO_RSN_CD_02, X31CWebConst.DATABEAN_SET_VALUE, val);

		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = { beanAccess };

		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap< String, String > paramMap = new HashMap< String, String >();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0476");

		// 上り項目格納マップ生成
		HashMap< String, Object > inputMap = new HashMap< String, Object >();
		// 下り項目格納マップ生成
		HashMap< String, Object > outputMap = new HashMap< String, Object >();

		// (2)サービス呼出処理
		// コンボ情報取得
		KKSV0476_KKSV0476OPDBMapper mapper = new KKSV0476_KKSV0476OPDBMapper();
		mapper.setKKSV047601SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		mapper.setKKSV047602SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);

		// ■ サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// (3)サービス処理結果の取得
		// サービス結果をコピー
		mapper.getKKSV047601SC(paramBean, outputMap);
		mapper.getKKSV047602SC(paramBean, outputMap);

		// (4)遷移先画面の設定
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW04101);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW04101);

		return true;
	}

	/**
	 * 登録確認ボタン押下時のメソッド。
	 * <br/>
	 * リモートサポート実績登録確認画面(KKW04102)へ遷移します。
	 * @return boolean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean addRmtSprtJseki() throws Exception
	{
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();

		// (1)マッピングデータの作成
		// ■サービス呼出前準備

		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0477");

		// リモートサポートプラス加入状況区分を取得
		String remortSupportPulsFlg = beanAccess.sendMessageString(KKW04101SFConst.RMT_SPRT_PLS_KANYU_JOKYO_KBN, X31CWebConst.DATABEAN_GET_VALUE);
		// リモートサポートプラス対象を取得
		String remortSupportPulsTrgtFlg = beanAccess.sendMessageString(KKW04101SFConst.RMT_SPRT_PLS_TRGT, X31CWebConst.DATABEAN_GET_VALUE);
		// リモートサポート作業一覧を取得
		X31SDataBeanAccessArray rmtSprtWrkList = beanAccess.getDataBeanArray(KKW04101SFConst.RMT_SUPPORT_LIST);

		String wrkAmntGokei = "";
		// ■作業金額の合算を行う
		wrkAmntGokei = this.calcWrkAmntGoukei(rmtSprtWrkList, remortSupportPulsTrgtFlg);
		// 作業金額合計をサービスフォームBeanへ格納
		beanAccess.sendMessageString(KKW04101SFConst.WRK_AMNT_GOKEI, X31CWebConst.DATABEAN_SET_VALUE, wrkAmntGokei);

		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};

		// 上り項目格納マップ生成
		HashMap< String, Object > inputMap = new HashMap< String, Object >();
		// 下り項目格納マップ生成
		HashMap< String, Object > outputMap = new HashMap< String, Object >();

		// (2)サービス呼出処理
		KKSV0477_KKSV0477OPDBMapper mapper = new KKSV0477_KKSV0477OPDBMapper();
		// サポート登録処理
		mapper.setKKSV047701CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2);
		// サポート内訳登録CC処理
		mapper.setKKSV047703CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2);
		// 進捗登録SC処理
		mapper.setKKSV047704SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2);

		// ■ サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		HashMap<String, Object> parentMap = (HashMap)outputMap.get("KKSV047701CC");
		// エラーフラグ取得
		String errFlg = (String)parentMap.get("err_flg");
		if("E".equals(errFlg))
		{
			
			// エラー情報セット
			setMessageInfo(parentMap);
			
			// 検索結果フラグ「0」を設定
			beanAccess.sendMessageString(KKW14701SFConst.HDN_SEARCH_RESULT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			
			// 動作モードを設定
			beanAccess.sendMessageString(KKW14701SFConst.MODEFLG, X31CWebConst.DATABEAN_SET_VALUE, "3");
			
			return true;
			
		}
		
		// (3)インフォメーションメッセージを設定
		// メッセージエリアにインフォメーションメッセージを表示する。
		// EKB0370--I：＜＜以下の内容で%1%を行います。よろしいですか？＞＞
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[]{"リモートサポート実績の登録"});

		// ワーニング表示対象だった場合
		if (chkWrnMsgTrgt(remortSupportPulsFlg, remortSupportPulsTrgtFlg))
		{
			// ワーニングメッセージを設定
			// EKF0740--Q:＜＜リモートサポートプラスの加入状態とリモートサポートプラス対象の内容が一致しませんがよろしいですか？＞＞
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0740__Q);
		}

		// (4)遷移先画面の設定
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW04102);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW04102);

		return true;
	}

	/**
	 * 戻るボタン押下時のメソッド。
	 * <br>
	 * 異動区分選択画面(KKW00145)へ遷移します。
	 * @return boolean
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();

		// (1)遷移先画面の設定
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * 修正ボタン押下時のメソッド。
	 * <br/>
	 * リモートサポート実績登録画面(KKW04101)へ遷移します。
	 * @return boolean
	 * @throws Exception
	 */
	public boolean returnAdd() throws Exception
	{
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();

		// (1) 遷移先画面設定
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW04101);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW04101);

		return true;
	}

	/**
	 * 確定ボタン押下時のメソッド。
	 * <br/>
	 * リモートサポート実績登録完了画面(KKW04103)へ遷移します。
	 * @return boolean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean addFix() throws Exception
	{
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();

		// ■サービス呼出前準備
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};

		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0477");
		// 上り項目格納マップ生成
		HashMap< String, Object > inputMap = new HashMap< String, Object >();
		// 下り項目格納マップ生成
		HashMap< String, Object > outputMap = new HashMap< String, Object >();

		// (1)サービス呼出処理
		KKSV0477_KKSV0477OPDBMapper mapper = new KKSV0477_KKSV0477OPDBMapper();
		// サポート登録処理
		mapper.setKKSV047701CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		// サポート内訳登録CC処理
		mapper.setKKSV047703CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		// 進捗登録SC処理
		mapper.setKKSV047704SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);

		// ■ サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		HashMap<String, Object> parentMap = (HashMap)outputMap.get("KKSV047701CC");
		// エラーフラグ取得
		String errFlg = (String)parentMap.get("err_flg");
		if("E".equals(errFlg))
		{
			
			// エラー情報セット
			setMessageInfo(parentMap);
			
			// 検索結果フラグ「0」を設定
			beanAccess.sendMessageString(KKW14701SFConst.HDN_SEARCH_RESULT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			
			// 動作モードを設定
			beanAccess.sendMessageString(KKW14701SFConst.MODEFLG, X31CWebConst.DATABEAN_SET_VALUE, "3");
			
			return true;
			
		}
		
		// (3)遷移先画面の設定
		// メッセージエリアにインフォメーションメッセージを表示する。
		// EKB4390--I：＜＜%1%が完了しました。＞＞
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, new String[]{"リモートサポート実績の登録"});

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW04103);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW04103);
		
		return true;
	}

	/**
	 * 完了ボタン押下時のメソッド。
	 * <br/>
	 * 異動区分選択画面(KKW00145)へ遷移します。
	 * @return boolean
	 * @throws Exception
	 */
	public boolean addFin() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// 顧客契約内引継ぎデータセット
		HashMap<String, Object> dataMap = getHktgiDataMap(bean, KKW04101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		
		// 引継ぎデータセット
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00145, dataMap);
		
		// 遷移先画面ID取得し設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW00145);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW00145);
		return true;
	}

	/**
	 * 次画面にワーニングメッセージを表示する対象となるかのチェックを行うメソッド。
	 * <br>
	 * @param remortSupportPulsFlg		:リモートサポートプラス加入状況区分
	 * @param remortSupportPulsTrgtFlg	:リモートサポートプラス対象選択値
	 * @return boolean
	 */
	private boolean chkWrnMsgTrgt(String remortSupportPulsFlg, String remortSupportPulsTrgtFlg)
	{
		// リモートサポートプラス加入状況区分が"0"(未加入)の場合かつ
		// リモートサポートプラス対象として"1"(対象)を選択していた場合
		if ("0".equals(remortSupportPulsFlg) && "1".equals(remortSupportPulsTrgtFlg))
		{
			return true;
		}
		// リモートサポートプラス加入状況区分が"1"(加入)の場合かつ
		// リモートサポートプラス対象として"0"(非対象)を選択していた場合
		else if ("1".equals(remortSupportPulsFlg) && "0".equals(remortSupportPulsTrgtFlg))
		{
			return true;
		}
		return false;
	}

	/**
	 * 作業金額の合計を算出します。
	 * <br/>
	 * @param rmtSprtWrkList
	 * @param remortSupportPulsTrgtFlg
	 * @return String 作業金額合計値
	 */
	private String calcWrkAmntGoukei(X31SDataBeanAccessArray rmtSprtWrkList, String remortSupportPulsTrgtFlg)
	{
		// 返り値
		String calcResult = "";
		// 作業金額計算用変数
		long wrkAmntGokei = 0;
		// 作業一覧分繰り返し
		for (int i = 0; i < rmtSprtWrkList.getCount(); i++)
		{
			// 作業一覧
			X31SDataBeanAccess rmtSprtWrkInfo = rmtSprtWrkList.getDataBean(i);
			// 作業金額（非対象）
			String amntNTrgt = rmtSprtWrkInfo.sendMessageString(KKW04101SFConst.WRK_AMNT_N_TRGT_01, X31CWebConst.DATABEAN_GET_VALUE);
			// 作業金額(対象)
			String amntTrgt = rmtSprtWrkInfo.sendMessageString(KKW04101SFConst.WRK_AMNT_TRGT_01, X31CWebConst.DATABEAN_GET_VALUE);
			if ("".equals(amntNTrgt))
			{
				amntNTrgt = "0";
			}
			if ("".equals(amntTrgt))
			{
				amntTrgt = "0";
			}
			// 選択された作業項目の場合
			if (rmtSprtWrkInfo.sendMessageBoolean(KKW04101SFConst.CHOICE_01, X31CWebConst.DATABEAN_GET_VALUE))
			{
				// リモートサポートプラス対象が"0"(非対象)の場合
				if ("0".equals(remortSupportPulsTrgtFlg))
				{
					// 作業金額(非対象)を合算
					wrkAmntGokei += Long.parseLong(amntNTrgt);
				}
				// リモートサポートプラス対象が"1"(対象)の場合
				else if ("1".equals(remortSupportPulsTrgtFlg))
				{
					// 作業金額(対象)を合算
					wrkAmntGokei += Long.parseLong(amntTrgt);
				}
			}
		}
		calcResult = String.valueOf(wrkAmntGokei);
		return calcResult;
	}

	/**
	 * <dd>メソッド名：引継情報データマップ取得 <dd>メソッド説明：引数のサービスフォームBeanより引継情報データマップの生成を行う。 <dd>
	 * 備考：引継情報データタイプの可変項目はString[]のみ対応。
	 * 
	 * @param bean
	 *            サービスフォームBean
	 * @param hktgiKey
	 *            引継情報データタイプのキー
	 * @param hktgiPrmKeys
	 *            引継情報データタイプの項目キーリスト
	 * @return HashMap<String, Object> 引継情報データマップ
	 */
	private HashMap<String, Object> getHktgiDataMap(X31SDataBeanAccess bean, String hktgiKey, String[] hktgiPrmKeys)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		List<HashMap<String, Object>> dataList = new ArrayList<HashMap<String, Object>>();
		X31SDataBeanAccessArray infList = bean.getDataBeanArray(hktgiKey);
		HashMap<String, Object> inMap = null;
		
		for (int i = 0; i < infList.getCount(); i++)
		{
			inMap = new HashMap<String, Object>();
			X31SDataBeanAccess inf = infList.getDataBean(i);
			
			for (int j = 0; j < hktgiPrmKeys.length; j++)
			{
				try
				{
					inMap.put(hktgiPrmKeys[j], inf.sendMessageObject(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE));
				}
				catch (X31SRuntimeException ex)
				{
					// 可変項目の場合(String[]のみ対応)
					int length = (Integer)inf.sendMessage(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_COUNT);
					String[] obj = new String[length];
					for (int k = 0; k < length; k++)
					{
						obj[k] = inf.sendMessageString(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE, k);
					}
					inMap.put(hktgiPrmKeys[j], obj);
				}
			}
			dataList.add(inMap);
		}
		dataMap.put(hktgiKey, dataList);
		return dataMap;
	}
	
	/**	
	 * <dd>メソッド名：エラー情報設定
	 * <dd>メソッド説明：
	 * <dd>備考：
	 * @param parentMap
	 */
	@SuppressWarnings("unchecked")
	private void setMessageInfo(HashMap<String, Object> parentMap)
	{
		
		ArrayList messageList = (ArrayList)parentMap.get("message_list");
		
		String replaceChar = "";
		String errItem = "";
		
		if(messageList.size() > 0)
		{
			for (int i = 0; i < messageList.size(); i++)
			{
				HashMap messageMap = (HashMap)messageList.get(i);
				String message = (String)messageMap.get("messageId");
				replaceChar = (String)messageMap.get("replaceCha");
				errItem = (String)messageMap.get("errItem");

				if(!"".equals(replaceChar) && !"".equals(errItem))
				{
					JCCWebCommon.setMessageInfo(this, message, replaceChar.split(","), errItem);
				}
				else if(!"".equals(replaceChar))
				{
					JCCWebCommon.setMessageInfo(this, message, replaceChar.split(","));
				}
				else if(!"".equals(errItem))
				{
					JCCWebCommon.setMessageInfo(this, message, errItem);
				}
				else
				{
					JCCWebCommon.setMessageInfo(this, message);
				}
			}
		}
		
	}
	
}
