/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：エスカレーション制御情報登録ビューロジック
*   ソースファイル名：CRW09601SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年06月24日
*＜機能概要＞
*   エスカレーション制御情報登録画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/24   FJ）早崎    新規作成
*
**********************************************************************/

package eo.web.webview.CRW09601SF;

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.JPCModelConstant;
import eo.common.util.JCRUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CRW09601SF.CRW09601SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCScreenConst;
import eo.web.webview.common.JCRScreenConst;
import eo.web.webview.common.JCRWebCommon;
import eo.web.webview.mapping.CRSV0210_CRSV0210OPDBMapper;
import eo.web.webview.mapping.CRSV0211_CRSV0211OPDBMapper;
import eo.web.webview.mapping.CRSV0212_CRSV0212OPDBMapper;

/**
 * エスカレーション制御情報登録ビューロジック.<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CRW09601SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 親クラス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;
	}

	/** 
	 * 画面初期表示時に取得した全対象ワークグループのリストから、
	 * 検索キーとして入力されたワークグループ名をマッチングし、ヒットした名称のリストを返します。
	 */
	private void setKeyUpQueValue()
	{
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();

		// 画面入力されたキュー名
		String keyQueBoxNm = bean.sendMessageString(CRW09601SFConst.KEY_QUE_BOX_NM, X31CWebConst.DATABEAN_GET_VALUE);

		// 退避している全キューリスト
		X31SDataBeanAccessArray allList = bean.getDataBeanArray(CRW09601SFConst.ALL_QUE_BOX);
		
		//キューリスト
		X31SDataBeanAccessArray queBoxList = bean.getDataBeanArray(CRW09601SFConst.QUE_BOX);
		
		// 対象キューをクリア
		queBoxList.clearArray();
		
		// 対象キューに空行を追加
		X31SDataBeanAccess queBean = queBoxList.addDataBean();
		queBean.sendMessageString(CRW09601SFConst.L1_QUE_BOX_NO_02, X31CWebConst.DATABEAN_SET_VALUE, " ");
		queBean.sendMessageString(CRW09601SFConst.L1_QUE_BOX_NM_02, X31CWebConst.DATABEAN_SET_VALUE, " ");

		int idx = 0;
		
		// 退避している全対象キューからマッチング
		for (int i = 1; i < allList.getCount(); i++)
		{
			X31SDataBeanAccess allqueBean = allList.getDataBean(i);
			String queNo = allqueBean.sendMessageString(CRW09601SFConst.L5_ALL_QUE_BOX_NO_06, X31CWebConst.DATABEAN_GET_VALUE);
			String queNm = allqueBean.sendMessageString(CRW09601SFConst.L5_ALL_QUE_BOX_NM_06, X31CWebConst.DATABEAN_GET_VALUE);

			// キーの指定がない場合、もしくはキーの指定がありキーと一致した場合設定
			if ((JCRUtilCommon.isNull(keyQueBoxNm)) || (queNm.lastIndexOf(keyQueBoxNm) > -1))
			{
				queBean = queBoxList.addDataBean();
				queBean.sendMessageString(CRW09601SFConst.L1_QUE_BOX_NO_02, X31CWebConst.DATABEAN_SET_VALUE, queNo);
				queBean.sendMessageString(CRW09601SFConst.L1_QUE_BOX_NM_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(idx + 1) + "." + queNm);
				
				idx++;
				
			}
		}
	}

	/**
	 * 初期表示処理.<br>
	 * 初期表示を行う。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean initIns() 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の設定
		// (a)サービスフォームBeanの全項目をクリアする。

		bean.getDataBeanArray(CRW09601SFConst.ALL_WKKBT_ORG).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.WKKBT_ORG).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.ALL_QUE_BOX).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.QUE_BOX).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.ALL_ESCL_PSB_ORG).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.ESCL_PSB_ORG).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.SLCT_ESCL_PSB_POSITION).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.ESCL_PSB_POSITION).clearArray();
		bean.sendMessage(CRW09601SFConst.SLCT_WKKBT_ORG_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(CRW09601SFConst.SLCT_QUE_BOX_NO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(CRW09601SFConst.SLCT_ESCL_PSB_ORG_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(CRW09601SFConst.KEY_WKKBT_ORG_CD_NM, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(CRW09601SFConst.KEY_QUE_BOX_NM, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(CRW09601SFConst.KEY_ESCL_PSB_ORG_CD_NM, X31CWebConst.DATABEAN_CLEAR);

		// (b)システム日付の取得
		String sysDate = JCRWebCommon.getSysDate();

		// (c)検索条件の設定
		// システム日付
		bean.sendMessageString(CRW09601SFConst.KEY_STDARD_DAY, X31CWebConst.DATABEAN_SET_VALUE, sysDate);


		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean, commoninfoBean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0210");

		// マッピングクラス
		CRSV0210_CRSV0210OPDBMapper mapper = new CRSV0210_CRSV0210OPDBMapper();

		// マッピング処理（上り）
		mapper.setCRSV021001SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setCRSV021002SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setCRSV021003SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);


		// (4)サービス処理結果の設定
		// サービスの処理結果を取得する。
		// マッピング処理（下り）
		mapper.getCRSV021001SC(paramBean, outputMap);
		mapper.getCRSV021002SC(paramBean, outputMap);
		mapper.getCRSV021003SC(paramBean, outputMap);


		// (5)引継情報の設定
		// なし。


		// (6)共有フォームビーンの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);

		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 keyWkkbtOrgNm = bean.sendMessageString(CRW09601SFConst.KEY_WKKBT_ORG_CD_NM, X31CWebConst.DATABEAN_GET_VALUE);

		// 退避している全対象ワークグループリスト
		X31SDataBeanAccessArray allList = bean.getDataBeanArray(CRW09601SFConst.ALL_WKKBT_ORG);
		
		// 対象ワークグループリスト
		X31SDataBeanAccessArray wkkbtList = bean.getDataBeanArray(CRW09601SFConst.WKKBT_ORG);
		
		// 対象ワークグループをクリア
		wkkbtList.clearArray();
		
		// 対象ワークグループトに空行を追加
		X31SDataBeanAccess wkkbtBean = wkkbtList.addDataBean();
		wkkbtBean.sendMessageString(CRW09601SFConst.L0_WKKBT_ORG_CD_01, X31CWebConst.DATABEAN_SET_VALUE, " ");
		wkkbtBean.sendMessageString(CRW09601SFConst.L0_WKKBT_ORG_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, " ");

		int idx = 0; 
		
		// 退避している全対象ワークグループリストからマッチング
		for (int i = 1; i < allList.getCount(); i++)
		{
			X31SDataBeanAccess orgBean = allList.getDataBean(i);
			String wkkbtNo = orgBean.sendMessageString(CRW09601SFConst.L4_ALL_WKKBT_ORG_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
			String wkkbtNm = orgBean.sendMessageString(CRW09601SFConst.L4_ALL_WKKBT_ORG_CD_NM_05, X31CWebConst.DATABEAN_GET_VALUE);

			// キーの指定がない場合、もしくはキーの指定がありキーと一致した場合設定
			if ((JCRUtilCommon.isNull(keyWkkbtOrgNm)) || (wkkbtNm.lastIndexOf(keyWkkbtOrgNm) > -1))
			{
				wkkbtBean = wkkbtList.addDataBean();
				wkkbtBean.sendMessageString(CRW09601SFConst.L0_WKKBT_ORG_CD_01, X31CWebConst.DATABEAN_SET_VALUE, wkkbtNo);
				wkkbtBean.sendMessageString(CRW09601SFConst.L0_WKKBT_ORG_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(idx + 1) + "." + wkkbtNm);
				
				idx++;
			}
		}

		//検索キーとして入力されたワークグループ名が空の場合
		if(JCRUtilCommon.isNull(bean.sendMessageString(CRW09601SFConst.KEY_WKKBT_ORG_CD_NM, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 3.3 対象ワークグループ選択処理(choiceWkgrp())を行う。
			return this.choiceWkgrp();
		}
		
		
		// (3)サービス呼出処理
		// なし。


		// (4)サービス処理結果の設定
		// なし。


		// (5)引継情報の設定
		// なし。


		// (6)共有フォームBeanの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);

		return true;
	}

	/**
	 * 対象ワークグループ選択処理.<br>
	 * 対象ワークグループ選択処理を行う。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean choiceWkgrp() 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.getDataBeanArray(CRW09601SFConst.ALL_QUE_BOX).clearArray();
		bean.getDataBeanArray(CRW09601SFConst.QUE_BOX).clearArray();

		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean, commoninfoBean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0211");

		// マッピングクラス
		CRSV0211_CRSV0211OPDBMapper mapper = new CRSV0211_CRSV0211OPDBMapper();

		// マッピング処理（上り）
		mapper.setCRSV021101SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// サービス実行
		invokeService(paramMap, dataMap, outputMap);


		// (4)サービス処理結果の設定
		// サービスの処理結果を取得する。
		// マッピング処理（下り）
		mapper.getCRSV021101SC(paramBean, outputMap);

		// 絞込対象キューに入力値がある場合
		if(!JCRUtilCommon.isNull(bean.sendMessageString(CRW09601SFConst.KEY_QUE_BOX_NM, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			//対象キュー名をマッチングし、ヒットした名称のリストを返す
			setKeyUpQueValue();
		}

		// (5)引継情報の設定
		// なし。

		// (6)共有フォームビーンの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);

		return true;
	}


	/**
	 * 絞込対象キューKeyUp処理。
	 * 画面初期表示時に取得した全対象キューのリストから、
	 * 検索キーとして入力された対象キュー名をマッチングし、ヒットした名称のリストを返します。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean searchQueBox() throws Exception
	{

		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();


		// (1)引継情報の取得
		// なし。

		
		// (2)サービスフォームBeanの設定
		
		//対象キュー名をマッチングし、ヒットした名称のリストを返す
		setKeyUpQueValue();

		// (3)サービス呼出処理
		// なし。


		// (4)サービス処理結果の設定
		// なし。


		// (5)引継情報の設定
		// なし。


		// (6)共有フォームBeanの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);

		return true;
	}


	/**
	 * 絞込エスカレーション可能ワークグループKeyUp処理。
	 * 画面初期表示時に取得した全エスカレーション可能ワークグループのリストから、
	 * 検索キーとして入力されたエスカレーション可能ワークグループ名をマッチングし、ヒットした名称のリストを返します。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean searchWkgrpEscl() throws Exception
	{
		// サービスフォームBeanの内容の取得
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 共通フォームBeanの内容を取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();


		// (1)引継情報の取得
		// なし。


		// (2)サービスフォームBeanの設定
		
		// 画面入力されたエスカレーション可能ワークグループ名
		String keyEsclPsbOrgNm = bean.sendMessageString(CRW09601SFConst.KEY_ESCL_PSB_ORG_CD_NM, X31CWebConst.DATABEAN_GET_VALUE);

		// 退避している全エスカレーション可能ワークグループリスト
		X31SDataBeanAccessArray allList = bean.getDataBeanArray(CRW09601SFConst.ALL_ESCL_PSB_ORG);
		
		//エスカレーション可能ワークグループリスト
		X31SDataBeanAccessArray esclPsbOrgList = bean.getDataBeanArray(CRW09601SFConst.ESCL_PSB_ORG);
		
		// 対象ワークグループをクリア
		esclPsbOrgList.clearArray();
		
		// 対象ワークグループトに空行を追加
		X31SDataBeanAccess esclBean = esclPsbOrgList.addDataBean();
		esclBean.sendMessageString(CRW09601SFConst.L2_ESCL_PSB_ORG_CD_03, X31CWebConst.DATABEAN_SET_VALUE, " ");
		esclBean.sendMessageString(CRW09601SFConst.L2_ESCL_PSB_ORG_CD_NM_03, X31CWebConst.DATABEAN_SET_VALUE, " ");

		int idx = 0;
		
		// 退避している全対象ワークグループリストからマッチング
		for (int i = 1; i < allList.getCount(); i++)
		{
			X31SDataBeanAccess orgBean = allList.getDataBean(i);
			String esclNo = orgBean.sendMessageString(CRW09601SFConst.L6_ALL_ESCL_PSB_ORG_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
			String esclNm = orgBean.sendMessageString(CRW09601SFConst.L6_ALL_ESCL_PSB_ORG_CD_NM_07, X31CWebConst.DATABEAN_GET_VALUE);

			// キーの指定がない場合、もしくはキーの指定がありキーと一致した場合設定
			if ((JCRUtilCommon.isNull(keyEsclPsbOrgNm)) || (esclNm.lastIndexOf(keyEsclPsbOrgNm) > -1))
			{
				esclBean = esclPsbOrgList.addDataBean();
				esclBean.sendMessageString(CRW09601SFConst.L2_ESCL_PSB_ORG_CD_03, X31CWebConst.DATABEAN_SET_VALUE, esclNo);
				esclBean.sendMessageString(CRW09601SFConst.L2_ESCL_PSB_ORG_CD_NM_03, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(idx + 1) + "." + esclNm);
				
				idx++;
				
			}
		}

		// (3)サービス呼出処理
		// なし。


		// (4)サービス処理結果の設定
		// なし。


		// (5)引継情報の設定
		// なし。


		// (6)共有フォームBeanの設定
		// 遷移先画面ID、名称の設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);
		
		return true;
	}


	/**
	 * 登録確認ボタン押下.<br>
	 * 入力チェックを行い、エラーがない場合は、エスカレーション制御情報登録確認画面に遷移する。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean confirmIns() 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の設定
		// (a)選択エスカレーション可能権限リストをクリア
		bean.getDataBeanArray(CRW09601SFConst.SLCT_ESCL_PSB_POSITION).clearArray();
		
		// (b)画面上でチェックされている項目を選択エスカレーション可能権限リストへ設定
		X31SDataBeanAccessArray eppList = bean.getDataBeanArray(CRW09601SFConst.ESCL_PSB_POSITION);
		X31SDataBeanAccessArray slctList = bean.getDataBeanArray(CRW09601SFConst.SLCT_ESCL_PSB_POSITION);
		
		for (int i = 0; i < eppList.getCount(); i++)
		{
			
			X31SDataBeanAccess eppBean = eppList.getDataBean(i);
			
			String slctCd = eppBean.sendMessageString(CRW09601SFConst.L3_ESCL_PSB_POSITION_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
			String slctNm = eppBean.sendMessageString(CRW09601SFConst.L3_ESCL_PSB_POSITION_CD_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			Boolean selected = eppBean.sendMessageBoolean(CRW09601SFConst.L3_SELECTED_BOOLEAN_04, X31CWebConst.DATABEAN_GET_VALUE);
			
			if (selected)
			{
				X31SDataBeanAccess slctBean = slctList.addDataBean();
				slctBean.sendMessageString(CRW09601SFConst.L7_SLCT_ESCL_PSB_POSITION_CD_08, X31CWebConst.DATABEAN_SET_VALUE, slctCd);
				slctBean.sendMessageString(CRW09601SFConst.L7_SLCT_ESCL_PSB_POSITION_CD_NM_08, X31CWebConst.DATABEAN_SET_VALUE, slctNm);
			}
		}
		
		// (3)サービス呼出処理
		// マッピングクラスを使用する為、配列化
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CRSV0212");

		// マッピングクラス
		CRSV0212_CRSV0212OPDBMapper mapper = new CRSV0212_CRSV0212OPDBMapper();

		// マッピング処理（上り）
		mapper.setADDESCLCTRLCC(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_CRW09602);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09602);

		return true;
	}

	/**
	 * クリアボタン押下.<br>
	 * 画面をクリアする。
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean clear() throws Exception
	{
		
		// (1)引継情報の取得
		// なし。

		// (2)サービスフォームBeanの設定
		// なし。

		// (3)サービス呼出処理
		// なし。

		// (4)サービス処理結果の設定
		// なし。

		// (5)引継情報の設定
		// なし。

		// (6)遷移先画面の設定
		// なし。
		
		// (7)3.1 初期表示処理(initIns())を行う。
		return this.initIns();
	}
	
	
	/**
	 * 確定ボタン押下.<br>
	 * 登録する。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean fix() 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, "CRSV0212");

		// マッピングクラス
		CRSV0212_CRSV0212OPDBMapper mapper = new CRSV0212_CRSV0212OPDBMapper();

		// マッピング処理（上り）
		mapper.setADDESCLCTRLCC(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>
	 * エスカレーション制御情報登録画面に戻る。
	 * 
	 * @return boolean
	 * @throws Exception Exception
	 */
	public boolean cancel() 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_CRW09601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
				, X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW09601);

		return true;
	}
}
