/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：キューBOX情報一覧照会ビューロジック
*   ソースファイル名：CRW06404SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年01月23日
*＜機能概要＞
*   キューBOX情報一覧照会画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/01/23   FJ）垣内    新規作成
*
**********************************************************************/

package eo.web.webview.CRW06404SF;

import java.util.ArrayList;
import java.util.EventObject;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CID;
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.x33.X33SException;

import eo.common.constant.JCRStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCRUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CRW06403SF.CRW06403SFConst;
import eo.web.webview.CRW06404SF.CRW06404SFConst;
import eo.web.webview.CRW04003SF.CRW04003SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCRScreenConst;
import eo.web.webview.common.JCRWebCommon;
import eo.web.webview.mapping.CRSV0242_CRSV0242OPDBMapper;
import eo.web.webview.mapping.CRSV0243_CRSV0243OPDBMapper;

/**
 * キューBOX情報更新ビューロジック.<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CRW06404SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 出力モード：複数ユーザー選択：1
	 */
	private static final String OUTPUT_MODE_MULTI = "1";

	/**
	 * 親クラスX31BWebBusinessLogicのreceiveMessageWebを
	 * オーバーライドして自動生成されたメソッドです。
	 * @param arg0 (I) イベント情報
	 * @param arg1 (I) WebFWでは使用しません
	 * @param arg2 (I) WebFWでは使用しません
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws X33SException X33SException
	 */
	@Override
	protected boolean receiveMessageWeb(X31CID arg0, Object arg1,
			EventObject arg2) throws X33SException
	{
		return false;
	}

	/**
	 * 初期表示処理.<br>
	 * 初期表示を行う。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean initUpd() throws Exception
	{

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// (1)引継情報の取得
		// (a)画面情報設定部品（JCRWebCommon.getScreenInfo)を使用し、引継情報を取得する。
		JCRWebCommon.getScreenInfo(this);

		// (2)サービスフォームBeanの設定
		// なし。

		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0242");

		// マッピングクラス
		CRSV0242_CRSV0242OPDBMapper mapper = new CRSV0242_CRSV0242OPDBMapper();

		// マッピング処理（上り）
		mapper.setGETWKKBTGRCC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setCRSV024201SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);

		// (4)サービス処理結果の設定
		// サービスの処理結果を取得する。
		// マッピング処理（下り）
		mapper.getGETWKKBTGRCC(paramBean, outputMap);
		mapper.getCRSV024201SC(paramBean, outputMap);

		// (b)サービスフォームBeanの退避項目の設定
		// 初期表示時の内容の退避、クリアボタン、閉じるボタンの対応のため
		X31SDataBeanAccess comboMladNo = bean.getDataBeanArray(CRW06404SFConst.MLAD_NO).getDataBean(0);
		String mladIdx = comboMladNo.sendMessageString(CRW06404SFConst.L1_MLAD_IDX_02
				, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(CRW06404SFConst.BK_MLAD_IDX, X31CWebConst.DATABEAN_SET_VALUE, mladIdx);
		bean.sendMessageString(CRW06404SFConst.BK_QUE_BOX_NM, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(CRW06404SFConst.QUE_BOX_NM, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(CRW06404SFConst.BK_QUE_BOX_SETMEI, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(CRW06404SFConst.QUE_BOX_SETMEI, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(CRW06404SFConst.BK_SEARCH_WKKBT_ORG_NM, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(CRW06404SFConst.SEARCH_WKKBT_ORG_NM, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(CRW06404SFConst.BK_WKKBT_ORG_CD, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(CRW06404SFConst.WKKBT_ORG_CD, X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccessArray queMemberList = bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST);
		bean.sendMessageString(CRW06404SFConst.QUE_MEMBER_LIST_CNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(queMemberList.getCount()));

		// (5)引継情報の設定
		// なし。

		// (6)共有フォームビーンの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06404);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06404);

		return true;
	}
	
	
	/**
	 * 絞込対象ワークグループKeyUp処理。
	 * 画面初期表示時に取得した全対象ワークグループのリストから、
	 * 検索キーとして入力されたワークグループ名をマッチングし、ヒットした名称のリストを返します。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean searchWkgrp() throws Exception
	{
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		
		// 画面入力された対象ワークグループ名
		String searchWkkbtOrgNm = bean.sendMessageString(CRW06404SFConst.SEARCH_WKKBT_ORG_NM, X31CWebConst.DATABEAN_GET_VALUE);

		// 退避している全対象ワークグループリスト
		X31SDataBeanAccessArray initList = bean.getDataBeanArray(CRW06404SFConst.INIT_WKKBT_ORG);
		
		// 対象ワークグループリスト
		X31SDataBeanAccessArray wkkbtList = bean.getDataBeanArray(CRW06404SFConst.WKKBT_ORG);
		
		// 対象ワークグループをクリア
		wkkbtList.clearArray();
		
		// 対象ワークグループトに空行を追加
		X31SDataBeanAccess wkkbtBean = wkkbtList.addDataBean();
		wkkbtBean.sendMessageString(CRW06404SFConst.L0_WKKBT_ORG_CD_01, X31CWebConst.DATABEAN_SET_VALUE, " ");
		wkkbtBean.sendMessageString(CRW06404SFConst.L0_WKKBT_ORG_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, " ");

		// 退避している全対象ワークグループリストからマッチング
		for (int i = 1; i < initList.getCount(); i++)
		{
			X31SDataBeanAccess orgBean = initList.getDataBean(i);
			String wkkbtNo = orgBean.sendMessageString(CRW06404SFConst.L3_INIT_WKKBT_ORG_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
			String wkkbtNm = orgBean.sendMessageString(CRW06404SFConst.L3_INIT_WKKBT_ORG_CD_NM_04, X31CWebConst.DATABEAN_GET_VALUE);

			// キーの指定がない場合、もしくはキーの指定がありキーと一致した場合設定
			if ((JCRUtilCommon.isNull(searchWkkbtOrgNm)) || (wkkbtNm.lastIndexOf(searchWkkbtOrgNm) > -1))
			{
				wkkbtBean = wkkbtList.addDataBean();
				wkkbtBean.sendMessageString(CRW06404SFConst.L0_WKKBT_ORG_CD_01, X31CWebConst.DATABEAN_SET_VALUE, wkkbtNo);
				wkkbtBean.sendMessageString(CRW06404SFConst.L0_WKKBT_ORG_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE,  wkkbtNm);
			}
		}

		// (3)サービス呼出処理
		// なし。

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)共有フォームBeanの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06404);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06404);
		
		return true;
	}

	/**
	 * メンバー追加ボタン押下.<br>
	 * キューメンバー明細に行追加する。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean addUser() throws Exception
	{

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		//(1)引継情報の取得
		// なし

		// (2)サービスフォームBeanの設定
		bean.getDataBeanArray(CRW06404SFConst.RET_USER_LIST).clearArray();

		// (3)サービス呼出処理
		// なし

		// (4)サービス処理結果の設定
		// なし

		// (5)引継情報の設定
		// (a)次画面への引継情報(dataMap)を作成する。
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// 出力モード
		dataMap.put(CRW04003SFConst.OUTPUT_MODE, OUTPUT_MODE_MULTI);
		// (b)画面情報設定部品(JCCWebCommon.setScreenInfo)を使用し、次画面への引継情報を設定する。
		JCCWebCommon.setScreenInfo(this, JCRScreenConst.SCREEN_ID_CRW04003, dataMap);
		JCCWebCommon.setScreenId(this, JCRScreenConst.SCREEN_ID_CRW04003, JCRScreenConst.SCREEN_ID_CRW06404);

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW04003);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW04003);

		return true;
	}

	/**
	 * リフレッシュ.<br>
	 * <br>
	 * ユーザー選択の結果を反映します。
	 * 
	 * @return boolean
	 * @exception Exception Exception
	 */
	public boolean refresh() throws Exception
	{
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// (1)引継情報の取得
		JCCWebCommon.getScreenInfo(this);

		// (2)サービスフォームBeanの設定
		// (a)ユーザー選択画面より取得した引継情報の設定
		// ユーザーリスト
		X31SDataBeanAccessArray retUserList = bean.getDataBeanArray(CRW06404SFConst.RET_USER_LIST);
		for (int i = 0; i < retUserList.getCount(); i++)
		{
			X31SDataBeanAccess detailBean = retUserList.getDataBean(i);
			// (b)同一ユーザーIDがキューメンバー情報更新明細に存在しない場合、
			//    キューメンバー情報更新明細の最後にデータ追加
			String userid = detailBean.sendMessageString(CRW06404SFConst.RET_USER_ID_06, X31CWebConst.DATABEAN_GET_VALUE);
			X31SDataBeanAccessArray queMemberList = bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST);
			ArrayList<String> queMemberArrayList = new ArrayList<String>();
			for (int k = 0; k < queMemberList.getCount(); k++)
			{
				X31SDataBeanAccess qmBean = queMemberList.getDataBean(k);
				if (!qmBean.sendMessageBoolean(CRW06404SFConst.L2_QUEMEMBER_DEL_FLG_03, X31CWebConst.DATABEAN_GET_VALUE))
				{
					queMemberArrayList.add(qmBean.sendMessageString(CRW06404SFConst.L2_USER_ID_03, X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
			if (!queMemberArrayList.contains(userid))
			{
				// 最終有効行のスタイルを取得
				String style = "";
				for (int j = (queMemberList.getCount() - 1); j >= 0; j--)
				{
					X31SDataBeanAccess lastBean = queMemberList.getDataBean(j);

					// 削除フラグがFalseの場合
					if (!lastBean.sendMessageBoolean(CRW06404SFConst.L2_QUEMEMBER_DEL_FLG_03, X31CWebConst.DATABEAN_GET_VALUE))
					{
						style = lastBean.sendMessageString(CRW06404SFConst.L2_LINE_STYLE_CLASS_03, X31CWebConst.DATABEAN_GET_VALUE);
						break;
					}
				}

				// 最終有効行がない場合 または 最終有効行が偶数の場合
				if (JCRUtilCommon.isNull(style) || style.equals(JCRStrConst.LINE_STYLE_EVEN))
				{
					addRow(bean, JCRStrConst.LINE_STYLE_ODD, detailBean);
				}
				else
				{
					addRow(bean, JCRStrConst.LINE_STYLE_EVEN, detailBean);
				}
			}
		}

		// (3)サービス呼出処理
		// なし。		

		// (4)サービス処理結果の設定
		// なし。
		
		// (5)引継情報の設定
		// なし。

		// (6)共有フォームBeanの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE,JCRScreenConst.SCREEN_ID_CRW06404);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE,JCRScreenConst.SCREEN_NAME_CRW06404);

		return true;
	}

	/**
	 * メンバー削除ボタン押下.<br>
	 * 削除チェックボックスにチェックされた行を削除する。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean deleteUser() throws Exception
	{
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		// (a)削除フラグの設定
		int rowCnt = 0;
		X31SDataBeanAccessArray queMemberList = bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST);
		for (int i = 0; i < queMemberList.getCount(); i++)
		{
			X31SDataBeanAccess listBean = queMemberList.getDataBean(i);

			// キューメンバーリストの選択状態がTRUEの場合
			if (listBean.sendMessageBoolean(CRW06404SFConst.L2_SELECTED_BOOLEAN_03, X31CWebConst.DATABEAN_GET_VALUE))
			{
				listBean.sendMessageBoolean(CRW06404SFConst.L2_QUEMEMBER_DEL_FLG_03, X31CWebConst.DATABEAN_SET_VALUE, Boolean.TRUE);
			}

			// キューメンバーリストの削除フラグがFALSEの場合
			if (!listBean.sendMessageBoolean(CRW06404SFConst.L2_QUEMEMBER_DEL_FLG_03, X31CWebConst.DATABEAN_GET_VALUE))
			{
				rowCnt++;

				// 行スタイルの再設定
				if (rowCnt % 2 == 0)
				{
					listBean.sendMessageString(CRW06404SFConst.L2_LINE_STYLE_CLASS_03, X31CWebConst.DATABEAN_SET_VALUE, JCRStrConst.LINE_STYLE_EVEN);
				}
				else
				{
					listBean.sendMessageString(CRW06404SFConst.L2_LINE_STYLE_CLASS_03, X31CWebConst.DATABEAN_SET_VALUE, JCRStrConst.LINE_STYLE_ODD);
				}
			}
		}

		// (3)サービス呼出処理
		// なし。

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06404);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06404);

		return true;
	}

	/**
	 * 更新確認ボタン押下.<br>
	 * 入力チェックを行い、エラーがない場合は、キューBOX情報更新確認画面に遷移する。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean confirmUpd() throws Exception
	{

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		//(1)引継情報の取得
		//なし。
		
		// (2)サービスフォームBeanの設定
		// サービスフォームBeanの設定
		bean.sendMessageString(CRW06404SFConst.MLAD_NM, X31CWebConst.DATABEAN_SET_VALUE
				, JCRWebCommon.getPullDownName(bean, CRW06404SFConst.MLAD_NO, CRW06404SFConst.L1_MLAD_IDX_02
				, CRW06404SFConst.L1_MLAD_02, CRW06404SFConst.L1_SHOW_MLAD_02));

		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0243");

		// マッピングクラス
		CRSV0243_CRSV0243OPDBMapper mapper = new CRSV0243_CRSV0243OPDBMapper();

		// マッピング処理（上り）
		mapper.setUPDQUEBOXCC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06405);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06405);

		return true;
	}

	/**
	 * キャンセルボタン押下.<br>
	 * キューBOX情報詳細画面に遷移する。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean cancelUpd1() throws Exception
	{

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// 詳細画面に渡す情報用HashMap
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		// なし。

		// (3)サービス呼出処理
		// なし。

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// キューBOX番号
		String queBoxNo = bean.sendMessageString(CRW06404SFConst.QUE_BOX_NO
				, X31CWebConst.DATABEAN_GET_VALUE);

		// (a)次画面への引継情報(dataMap)を作成する。
		// 次画面に渡す情報をHashMapに設定する
		paramMap.put(CRW06403SFConst.KEY_QUE_BOX_NO, queBoxNo);
		paramMap.put(CRW06403SFConst.ECR0121B010CBSMSG1LIST
				, JCRWebCommon.getArrayList(bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST)));

		// (b)画面情報設定部品（JCCWebCommon.setScreenInfo)を使用し、遷移元画面への引継情報を設定する。
		// 遷移元画面に渡す情報を設定
		JCRWebCommon.setScreenInfo(this, JCRScreenConst.SCREEN_ID_CRW06403, paramMap);

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06403);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06403);

		return true;
	}

	/**
	 * 確定ボタン押下.<br>
	 * 更新する。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean fixUpd() throws Exception
	{

		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// ユースケースID格納用マップ
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// マッピング用Map
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// サービス実行結果データ用Map
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		// なし。
		
		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0243");

		// マッピングクラス
		CRSV0243_CRSV0243OPDBMapper mapper = new CRSV0243_CRSV0243OPDBMapper();

		// マッピング処理（上り）
		mapper.setUPDQUEBOXCC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_ID_CCW00105);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_NAME_CCW00105);

		return true;
	}
	
	/**
	 * キャンセルボタン押下.<br>
	 * キューBOX情報更新画面に戻る。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean cancelUpd2() throws Exception
	{

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		// なし。

		// (3)サービス呼出処理
		// なし。

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)遷移先画面の設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW06404);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW06404);

		return true;
	}

	/**
	 * 行追加処理.<br>
	 * キューメンバーリストに行を追加する。
	 * 
	 * @param bean           サービスフォームBean
	 * @param lineStyleClass 行スタイルクラス
	 * @param detailbean     サービスフォームBean明細
	 */
	private void addRow(X31SDataBeanAccess bean, String lineStyleClass, X31SDataBeanAccess detailbean)
	{
		X31SDataBeanAccessArray queMemberList = bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST);
		X31SDataBeanAccess addBean = bean.getDataBeanArray(CRW06404SFConst.ECR0121C010CBSMSG1LIST).addDataBean();
		addBean.sendMessageString(CRW06404SFConst.L2_DETAIL_INDEX_03, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(queMemberList.getCount() - 1));
		addBean.sendMessageString(CRW06404SFConst.L2_USER_ID_03, X31CWebConst.DATABEAN_SET_VALUE, 
				detailbean.sendMessageString(CRW06404SFConst.RET_USER_ID_06, X31CWebConst.DATABEAN_GET_VALUE));
		addBean.sendMessageString(CRW06404SFConst.L2_USER_NM_03, X31CWebConst.DATABEAN_SET_VALUE, 
				detailbean.sendMessageString(CRW06404SFConst.RET_USER_NM_06, X31CWebConst.DATABEAN_GET_VALUE));
		addBean.sendMessageString(CRW06404SFConst.L2_WKKBT_ORG_CD_03, X31CWebConst.DATABEAN_SET_VALUE, 
				detailbean.sendMessageString(CRW06404SFConst.RET_WKKBT_ORG_CD_06, X31CWebConst.DATABEAN_GET_VALUE));
		addBean.sendMessageString(CRW06404SFConst.L2_WKKBT_ORG_CD_NM_03, X31CWebConst.DATABEAN_SET_VALUE, 
				detailbean.sendMessageString(CRW06404SFConst.RET_WKKBT_ORG_NM_06, X31CWebConst.DATABEAN_GET_VALUE));
		addBean.sendMessageString(CRW06404SFConst.L2_LINE_STYLE_CLASS_03, X31CWebConst.DATABEAN_SET_VALUE, lineStyleClass);

	}
}
