/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：視聴制御
*	モジュール名	：WCW00809SFLogic
*	ソースファイル名：WCW008039SFLogic.java
*	作成者			：富士通
*	日付			：2011年07月20日
*＜機能概要＞
*	メッセージ送信削除のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日5		修正者		修正内容
*	v1.00.00	2011/07/20	富士通		新規作成
*	v3.00.00	2012/05/01	FJ)竹之下	【ANK-0315-00-00】宅内対応を実施
*
**********************************************************************/
package eo.web.webview.WCW00809SF;

import java.util.HashMap;

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 eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JWCStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JWCCommonConst;
import eo.web.webview.common.JWCScreenConst;
import eo.web.webview.mapping.WCSV0003_WCSV0003OP_09DBMapper;
import eo.web.webview.mapping.WCSV0057_WCSV0057OP_06DBMapper;

public class WCW00809SFLogic extends JCCWebBusinessLogic {

	// エラーメッセージ表示用定数定義
	private String Error_Mode_1 = "1";
	private String Error_Mode_2 = "2";
	private String Error_Mode_3 = "3";
	private String MaxShowCnt = "WCW00801_MAX_SHOW_CNT";

	/**
	 * メッセージ送信削除_初期処理
	 * @return
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		HashMap<String, Object> screenInfo = null;
		
		screenInfo = JCCWebCommon.getScreenInfo(this,JWCScreenConst.SCREEN_ID_WC00801);
		
		// メッセージＩＤを取得する。
		String he_msg_id = (String)screenInfo.get("ＨＥメッセージＩＤ");

		// サービスフォームBeanを設定
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		bean.sendMessageString(WCW00809SFConst.MSG_ID, X31CWebConst.DATABEAN_SET_VALUE, he_msg_id);
		
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;


		if (bean == null)
		{
			throw new Exception();
		}

		// 制御タイプを０に設定する。
		bean.sendMessageString(WCW00809SFConst.SET_WCTRL_TYPE , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_REAL);

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};


		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		mappingForDB_BP_WCSV0057_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "WCSV005701SC", inputMap);
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0057");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0057OP");

		///// STBメッセージオーダ送信一覧照会処理のサービスを呼び出す/////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// 宅内情報の初期化
//		X31SDataBeanAccessArray tk_info = bean.getDataBeanArray(WCW00809SFConst.TK_KIKI_INFO);
		X31SDataBeanAccessArray tk_info = bean.getDataBeanArray(WCW00809SFConst.TN_ICRN_INFO);
		tk_info.clearArray();

		// グループＩＤ情報の初期化
		X31SDataBeanAccessArray grp_info = bean.getDataBeanArray(WCW00809SFConst.GRP_INFO);
		grp_info.clearArray();

		// メッセージオーダー情報の初期化
		X31SDataBeanAccessArray msg_order_info = bean.getDataBeanArray(WCW00809SFConst.MSG_ORDER_INFO);
		msg_order_info.clearArray();

		///// サービス処理結果の判定/////
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			msg_order_info.addDataBean();
			return true;
		}
		
		mappingForDB_BP_WCSV0057_GET(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("WCSV005701SC", outputMap);
		
		if(!search_Error(searchErrFlg)) {
			msg_order_info.addDataBean();
			return true;
		}

		// ページングの情報を設定する。
		JCCWebCommon.downmapperPageLinkInfo(this, "0", "WCSV005701SC", outputMap);

		// 送信メッセージ情報の内容を、制御情報に設定する。
		msg_order_info = bean.getDataBeanArray(WCW00809SFConst.MSG_ORDER_INFO);
		
		// MSG_ID
		if(msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.HE_MSG_ID_01, X31CWebConst.DATABEAN_GET_VALUE) != null) {
			bean.sendMessageString(WCW00809SFConst.MSG_ID,X31CWebConst.DATABEAN_SET_VALUE, msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.HE_MSG_ID_01, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		
		// ATESAKI_SBT_CD　種別コード(停止)のセットを確定時に変更
		if(msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.STB_MSG_ORDER_SBT_CD_01, X31CWebConst.DATABEAN_GET_VALUE) != null) {
			bean.sendMessageString(WCW00809SFConst.ATESAKI_SBT_CD,X31CWebConst.DATABEAN_SET_VALUE, msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.STB_MSG_ORDER_SBT_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
//			bean.sendMessageString(WCW00809SFConst.ATESAKI_SBT_CD,X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_STP);
		}

		//KYOKU_CD
		if(msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.KYOKU_CD_01, X31CWebConst.DATABEAN_GET_VALUE) != null) {
			bean.sendMessageString(WCW00809SFConst.KYOKU_CD,X31CWebConst.DATABEAN_SET_VALUE, msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.KYOKU_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		//CTRL_AREA_CD
		if(msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.CTRL_AREA_CD_01, X31CWebConst.DATABEAN_GET_VALUE) != null) {
			bean.sendMessageString(WCW00809SFConst.CTRL_AREA_CD,X31CWebConst.DATABEAN_SET_VALUE, msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.CTRL_AREA_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		String datetime = JCCWebCommon.getSysDateTimeStamp();
		
		String msg_str_time = msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.MSG_SEND_DTM_01, X31CWebConst.DATABEAN_GET_VALUE);

		// 送信開始日が、本日より後の場合は送信開始日に当日の日付を設定する。
		if(msg_str_time != null && Long.parseLong(msg_str_time) > Long.parseLong(datetime))
		{
			msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.MSG_SEND_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, datetime);
		}

		// 送信停止年月日に、当日の日付を設定する。
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.MSG_STP_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, datetime);
		//種別コード(停止)のセットは確定時に変更
		//msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.STB_MSG_ORDER_SBT_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_STP);
		
		// グループ番号を１桁の数値に変更する。
		String grpno = msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		grpno = viewGroupNo(grpno);
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_SET_VALUE , grpno);

		//機能コード
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.CTRL_CD, 
				X31CWebConst.DATABEAN_SET_VALUE, "1");
		//視聴制御オーダコード
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.WCTRL_ORDER_CD,
				X31CWebConst.DATABEAN_SET_VALUE, null);
		//視聴制御依頼処理コード
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.WCTRL_REQ_TRN_CD,
				X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_REQ_TRN_CD_MSG_SEND);
		//制御タイプ
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.SET_WCTRL_TYPE,
				X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_REAL);

		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB0370__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "メッセージ送信削除";

		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		X31SDataBeanAccess commonSubbean = commonBeanArray.addDataBean();
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID,stringArray,"");

		String MESSAGE_ID2 = JPCOnlineMessageConstant.EKBA110__I;
		String[] stringArray2;
		stringArray2 = new String[1];
		stringArray2[0] = "";
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID2, stringArray2, "");

		// 強調表示
		JCCWebCommon.setMessageAreaBackColor(this, "1");
		return true;
	}

	/**
	 * メッセージ送信削除　確定ボタン押下処理
	 * @return
	 * @throws Exception
	 */
	public boolean fix() throws Exception
	{
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		if (bean == null)
		{
			throw new Exception();
		}
		// 機能コード
		bean.sendMessageString(WCW00809SFConst.CTRL_CD, X31CWebConst.DATABEAN_SET_VALUE, "1");
		// 制御_制御タイプ
		bean.sendMessageString(WCW00809SFConst.SET_WCTRL_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_REAL);
		// 制御_オーダステータス
		bean.sendMessageString(WCW00809SFConst.SET_ORDER_ST, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WATCH_ORDER_FLG_NORMAL);
		///制御_制御コマンド発行済フラグ
//		bean.sendMessageString(WCW00809SFConst.SET_CTRL_CMD_HAKKO_ZUMI_FLG, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_CCAS_CARD_INIT_CMD_HAKKO_FLG_HAKKO);
		bean.sendMessageString(WCW00809SFConst.SET_CTRL_CMD_HAKKO_ZUMI_FLG, X31CWebConst.DATABEAN_SET_VALUE, 
				JWCStrConst.CD_DIV_WATCH_CMD_HAKKO_FLG_HAKKOZUMI);
		// 視聴制御オーダコード
		bean.sendMessageString(WCW00809SFConst.WCTRL_ORDER_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_ORDER_MSGSNDSTOP);
		//メッセージ停止年月日時分秒 ボタン押下時の日付および時間をセット
		bean.sendMessageString(WCW00809SFConst.MSG_STP_DTM_01, X31CWebConst.DATABEAN_SET_VALUE,
				JCCWebCommon.getSysDateTimeStamp());
		//KEY_宅内機器種別コード
		bean.sendMessageString(WCW00809SFConst.KEY_TK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE,
				JWCStrConst.CD_DIV_TAKNKIKI_SBT_CD_STB);
		//変更前のあて先種別コード
		String bf_atesaki_cd = (String)bean.sendMessageString(WCW00809SFConst.ATESAKI_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
		//種別コード(停止)セット (以前はinitでセットしていた)
		bean.sendMessageString(WCW00809SFConst.ATESAKI_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_STP);
		String atesaki_cd = (String)bean.sendMessageString(WCW00809SFConst.ATESAKI_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccessArray msg_order_info =  bean.getDataBeanArray(WCW00809SFConst.MSG_ORDER_INFO);

		// 宛先が個別指定の場合グループ番号、グループＩＤをクリアする
//		if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_KOBETU.equals(atesaki_cd))
		if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_KOBETU.equals(bf_atesaki_cd))
		{
			msg_order_info.getDataBean(0).sendMessage(WCW00809SFConst.STB_GRP_ID_01, X31CWebConst.DATABEAN_CLEAR);
			msg_order_info.getDataBean(0).sendMessage(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_CLEAR);
		}
		// 宛先がグループ指定の場合グループ番号、ＳＴＢ−ＩＤ、製造番号をクリアする。
//		if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_GRP.equals(atesaki_cd))
		if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_GRP.equals(bf_atesaki_cd))
		{
			msg_order_info.getDataBean(0).sendMessage(WCW00809SFConst.STB_KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_CLEAR);
			msg_order_info.getDataBean(0).sendMessage(WCW00809SFConst.STB_ID_01, X31CWebConst.DATABEAN_CLEAR);
		}

		// グループ番号を３桁の数値に変更する。
		String grpno = msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		grpno = fixGroupNo(grpno);
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_SET_VALUE , grpno);

		// 宅内情報の初期化 
//		X31SDataBeanAccessArray tk_info = bean.getDataBeanArray(WCW00809SFConst.TK_KIKI_INFO);
		X31SDataBeanAccessArray tk_info = bean.getDataBeanArray(WCW00809SFConst.TN_ICRN_INFO);
		tk_info.clearArray();

		// グループＩＤ情報の初期化
		X31SDataBeanAccessArray grp_info = bean.getDataBeanArray(WCW00809SFConst.GRP_INFO);
		grp_info.clearArray();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};


		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		mappingForDB_BP_WCSV0003_SET(paramBean, inputMap,1);
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "WCSV000301SC", inputMap);

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0003");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0003OP");

		///// STBメッセージオーダ送信初期表示サービス呼出処理/////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		///// サービス処理結果の判定/////
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		mappingForDB_BP_WCSV0003_GET(paramBean, outputMap);
		
		// 宅内情報の初期化
//		tk_info = bean.getDataBeanArray(WCW00809SFConst.TK_KIKI_INFO);
		tk_info = bean.getDataBeanArray(WCW00809SFConst.TN_ICRN_INFO);
		// グループＩＤ情報の初期化
		grp_info = bean.getDataBeanArray(WCW00809SFConst.GRP_INFO);
		//存在チェック不要 あて先種別は"02"になっているので下記ロジックを通ることはない
		if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_KOBETU.equals(atesaki_cd) && tk_info.getDataBean(0) == null) 
		{
			kakunin_Error(Error_Mode_1);
			return false;
		}
		else if(JWCStrConst.CD_DIV_STB_MSG_ORDER_SBT_CD_GRP.equals(atesaki_cd) && grp_info.getDataBean(0) == null)
		{
			kakunin_Error(Error_Mode_2);
			return false;
		}

		// グループ番号を１桁の数値に変更する。
		grpno = msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		grpno = viewGroupNo(grpno);
		msg_order_info.getDataBean(0).sendMessageString(WCW00809SFConst.GRP_ID_TRITORY_CD_01, X31CWebConst.DATABEAN_SET_VALUE , grpno);

		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6990__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "メッセージ送信削除";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		X31SDataBeanAccess commonSubbean = commonBeanArray.addDataBean();
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID,stringArray,"");

		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00810);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00810);

		return true;
	}
	
	/**
	 * 確認ボタンエラー処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean kakunin_Error(String strFlg) throws Exception
	{
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		
		if(strFlg.equals(Error_Mode_1))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0300_KW;
			stringArray = new String[2];
			stringArray[0] = "宅内機器";
			stringArray[1] = "STBID，製造番号";
		}
		else if(strFlg.equals(Error_Mode_2))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0300_KW;
			stringArray = new String[2];
			stringArray[0] = "選択されたグループ番号（ＳＴＢグループマスタ）";
			stringArray[1] = "グループID";
		}

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID,stringArray,"");
		return true;
	}

	/**
	 * メッセージ送信更新　キャンセルボタン押下処理
	 * @return
	 * @throws Exception
	 */
	public boolean cancel() throws Exception
	{
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();

		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		
		return true;
	}

	/**
	 * メッセージ送信削除_完了ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fin() throws Exception  {
		
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		
		return true;
	}

	/**
	 * 検索ボタン押下時エラー処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean search_Error(String searchErrFlg) throws Exception
	{
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];

		if(null == searchErrFlg)
		{
			return true;
		}
		if(searchErrFlg.equals(Error_Mode_1))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0330__I;
			stringArray = new String[1];
			stringArray[0] = "";
		}
		else if(searchErrFlg.equals(Error_Mode_2))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0340__I;
			stringArray = new String[1];
			stringArray[0] = JCCWebCommon.getSearchConst(MaxShowCnt);
		}
		else if(searchErrFlg.equals(Error_Mode_3))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0350__I;
			stringArray = new String[0];
			stringArray[0] = "";
		}
		else 
		{
			return true;
		}

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID,stringArray,"");
		return false;
	}
	
	
	/**
	 * STBメッセージオーダ送信一覧照会上りとのマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0057_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0057_WCSV0057OP_06DBMapper mapper = new WCSV0057_WCSV0057OP_06DBMapper();
		mapper.setWCSV005701SC(paramBean, inputMap, func_code);
		
		return;
	}

	/**
	 * STBメッセージオーダ送信一覧照会下りとのマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0057_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0057_WCSV0057OP_06DBMapper mapper = new WCSV0057_WCSV0057OP_06DBMapper();

		mapper.getWCSV005701SC(paramBean, outputMap);

		return;
	}

	/**
	 * STBメッセージオーダ変更上りとのマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0003_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, int mode)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0003_WCSV0003OP_09DBMapper mapper = new WCSV0003_WCSV0003OP_09DBMapper();
		
		if(mode == 0) 
		{
			mapper.setWCSV000301SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000302SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000303SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_2);
			mapper.setWCSV000304SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_2);
			mapper.setWCSV000305SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_2);
		}
		else 
		{
			mapper.setWCSV000301SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000302SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000303SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000304SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			mapper.setWCSV000305SC(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		}
		
		return;
	}

	/**
	 * STBメッセージオーダ変更下りとのマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0003_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0003_WCSV0003OP_09DBMapper mapper = new WCSV0003_WCSV0003OP_09DBMapper();

		mapper.getWCSV000301SC(paramBean, outputMap);
		mapper.getWCSV000302SC(paramBean, outputMap);

		return;
	}

	/**
	 * ３桁のグループ番号を表示用に１桁に変更する。
	 * @param grpNo
	 * @return
	 */
	private String viewGroupNo(String grpNo) 
	{
		if(grpNo == null || "".equals(grpNo))
		{
			return "";
		}
		else
		{
			return Integer.toString(Integer.parseInt(grpNo));
		}
	}
	
	
	/**
	 * グループ番号を３桁の文字列に変更する。
	 */
	private String fixGroupNo(String grpNo)
	{
		if(grpNo == null || "".equals(grpNo))
		{
			return "";
		}
		else
		{
			return String.format("%03d",Integer.parseInt(grpNo));
		}
	}

}
