/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：TUW00301SFLogic
*	ソースファイル名：TUW00301SFLogic.java
*	作成者			：FJ
*	日付			：2011年06月13日
*＜機能概要＞
*	TUW00301のビューロジック
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2011/06/13	FJ)宮本		新規作成
*	v8.00.00	2014/04/10	FJ)高橋		OM-2014-0001331
*
********************************************************************************/

package eo.web.webview.TUW00301SF;

import java.util.ArrayList;
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.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JTUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JTUWebCommon;
import eo.web.webview.common.JTUScreenConst;
import eo.web.webview.mapping.TUSV0039_TUSV0039OPDBMapper;
import eo.web.webview.mapping.TUSV0040_TUSV0040OPDBMapper;
import eo.web.webview.mapping.TUSV0041_TUSV0041OPDBMapper;
import eo.web.webview.mapping.TUSV0098_TUSV0098OPDBMapper;

/**
 * TUW00301のビューロジック
 * @author FJ
 *
 */
public class TUW00301SFLogic extends JCCWebBusinessLogic
{
	
	/**
	 * 初期化処理ユースケースID
	 */
	private static final String INIT_USECASE_ID = "TUSV0039";
	
	/**
	 * 初期化処理SCタイトル01
	 */
	private static final String INIT_SC_TITLE01 = "TUSV003901SC";
	
	/**
	 * 初期化処理SCタイトル02
	 */
	private static final String INIT_SC_TITLE02 = "TUSV003902SC";
	
	/**
	 * 検索処理ユースケースID
	 */
	private static final String SEARCH_USECASE_ID = "TUSV0040";
	
	/**
	 * 検索処理SCタイトル01
	 */
	private static final String SEARCH_SC_TITLE01 = "TUSV004001SC";
	
	/**
	 * 印刷処理ユースケースID
	 */
	private static final String PRINT_USECASE_ID = "TUSV0041";
	
	/**
	 * 印刷処理SCタイトル01
	 */
	private static final String PRINT_SC_TITLE01 = "TUSV004101SC";
	
	/**
	 * 印刷処理CCタイトル01
	 */
	private static final String PRINT_CC_TITLE01 = "TUSV004101CC";
	
	/**
	 * ファイル出力処理ユースケースID
	 */
	private static final String OUTPUTFILE_USECASE_ID = "TUSV0098";
	
	/**
	 * ファイル出力処理SCタイトル01
	 */
	private static final String OUTPUTFILE_SC_TITLE01 = "TUSV009801SC";
	
	/**
	 * ファイル出力処理CCタイトル01
	 */
	private static final String OUTPUTFILE_CC_TITLE01 = "TUSV009801CC";
	
	/**
	 * 検索処理最大検索件数
	 */
	private static final String SEARCH_MAX_SHOW_CNT = "TUW00301_SEARCH_MAX_SHOW_CNT";
	
	/**
	 * 検索処理ページ表示件数
	 */
	private static final String SEARCH_ROW_PER_PAGE = "TUW00301_SEARCH_ROW_PER_PAGE";
	
	/**
	 * 印刷処理最大検索件数
	 */
	private static final String PRINT_MAX_SHOW_CNT = "TUW00301_PRINT_MAX_SHOW_CNT";
	
	/**
	 * ファイル出力処理最大検索件数
	 */
	private static final String FILE_MAX_SHOW_CNT = "TUW00301_FILE_MAX_SHOW_CNT";

	
	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_init() throws Exception
	{
		return dojiOpenMskm_init();
	}
	
	/**
	 * 初期化処理
	 * @return boolean
	 */
	@SuppressWarnings("unchecked")
	private boolean dojiOpenMskm_init()
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
								, X31CWebConst.DATABEAN_SET_VALUE, JTUScreenConst.SCREEN_NAME_TUW00301);
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		// 戻るボタンの表示要否判定
		bean.sendMessageString(TUW00301SFConst.BACK_BTN_DSP_FLG, X31CWebConst.DATABEAN_SET_VALUE
				, JTUWebCommon.getBackDispFlg(this, JTUScreenConst.SCREEN_ID_TUW00301));

		/**
		 * サービス呼出処理
		 */
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, INIT_USECASE_ID);
		
		// マッピングクラスのインスタンスを生成
		TUSV0039_TUSV0039OPDBMapper mapper = new TUSV0039_TUSV0039OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		
		// 上りマッピングの呼び出し
		mapper.setTUSV003901SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setTUSV003902SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		// オペレーション日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		// 基準日設定
		((HashMap<String, Object>)inputMap.get(INIT_SC_TITLE01)).put("key_stdardymd", opeDate);
		((HashMap<String, Object>)inputMap.get(INIT_SC_TITLE02)).put("key_stdardymd", opeDate);

		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		/**
		 * サービス処理結果の取得
		 */
		// 下りマッピングの呼び出し
		mapper.getTUSV003901SC(paramBean, outputMap);
		mapper.getTUSV003902SC(paramBean, outputMap);
		
		/**
		 * コンボボックスのリストにNo付与
		 */
		JTUWebCommon.setListNo(bean, TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD_LIST, TUW00301SFConst.CD_NM_01);
		
		/**
		 * 行選択設定処理
		 */
		// 1つ目を選択
		paramBean[0].sendMessageString(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return true;
	}
	
	
	/**
	 * 検索ボタン押下イベント
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_search() throws Exception
	{
		
		//セッション情報を削除 
		JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00301);
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW00301);
		
		//検索条件をセッションへ格納
		saveSessionSearchInfo();
		
		return search();
	
	}


	/**
	 * ページング押下イベント
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_paging() throws Exception
	{
		setSessionSearchInfo();
		return search();
	}

	/**
	 * 検索処理
	 * @return boolean
	 * @throws Exception
	 */
	private boolean search() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		/**
		 * DataBean設定処理
		 */
		setBeanSearchInfo(bean);

		// 一覧表示フラグの初期化
		bean.sendMessageString(TUW00301SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.DISP_FLG_FALSE);

		// 一覧情報のクリア
		X31SDataBeanAccessArray beanList = paramBean[0].getDataBeanArray(TUW00301SFConst.DOJI_OPEN_MSKM_ICRN_INFO);
		if(beanList.getCount() != 0)
		{
			beanList.clearArray();
		}
		
		/**
		 * サービス呼出処理
		 */
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SEARCH_USECASE_ID);

		// マッピングクラスのインスタンスを生成
		TUSV0040_TUSV0040OPDBMapper mapper = new TUSV0040_TUSV0040OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// 上りマッピングの呼び出し
		mapper.setTUSV004001SC(paramBean, inputMap
				, bean.sendMessageString(TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 運用日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
		// 一覧照会共通部設定
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("search_type", JPCModelConstant.SAERCH_TYPE_BBN);
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("max_search_num", JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT));
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("display_num", JCCWebCommon.getSearchConst(SEARCH_ROW_PER_PAGE));
		//基準日設定
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("key_stdardymd", opeDate);

		// ページリンク情報のマッピング
		JCCWebCommon.upmapperPageLinkInfo(this, SEARCH_SC_TITLE01, inputMap);
		
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);	
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		
		/**
		 * サービス処理結果の取得
		 */
		
		// 下りマッピングの呼び出し
		mapper.getTUSV004001SC(paramBean, outputMap);
		
		// ページリンク情報のマッピング
		JCCWebCommon.downmapperPageLinkInfo(this, SEARCH_SC_TITLE01, outputMap);
		
		
		/**
		 * 取得データ件数チェック
		 */
		// 検索エラー取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(SEARCH_SC_TITLE01, outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 0件の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 最大件数を超えた場合
			String[] msgRpl = new String[]{JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT)};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msgRpl);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// 表示ページに該当するデータがない場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
			return true;
		}

		/**
		 * 一覧表示フラグ設定処理
		 */
		bean.sendMessageString(TUW00301SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.DISP_FLG_TRUE);

		//行スタイル設定
		JTUWebCommon.setRowStyle(bean, TUW00301SFConst.DOJI_OPEN_MSKM_ICRN_INFO, TUW00301SFConst.ROW_STYLE_03);
		
		
		//同時開通申込検索対象コードが住変(新設)でない時のみメッセージを表示
		if(!JTUStrConst.DOJI_OP_MSKM_SEARCH_TG_CD_ADCHG.equals(bean.sendMessageString(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE122__I);
		}
		
		/**
		 * 検索コマンドIDの設定
		 */
		JCCWebCommon.setSearchCommand(this, "pageLink");
		
		/**
		 * DataBean設定処理
		 */
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00301, JTUScreenConst.SCREEN_NAME_TUW00301);
		
		return true;
	}
	
	
	/**
	 * 一覧印刷処理
	 * @return boolean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_print1() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		setSessionSearchInfo();
		
		/**
		 * DataBean設定処理
		 */
		setBeanSearchInfo(bean);
		
		/**
		 * サービス呼出処理
		 */
		//  ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, PRINT_USECASE_ID);

		// マッピングクラスのインスタンスを生成
		TUSV0041_TUSV0041OPDBMapper mapper = new TUSV0041_TUSV0041OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// 上りマッピングの呼び出し
		mapper.setTUSV004101SC(paramBean, inputMap
				, bean.sendMessageString(TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		mapper.setTUSV004101CC(paramBean, inputMap, null);
		
		// オペレーション日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		

		// 一覧照会共通部設定
		((HashMap<String, Object>)inputMap.get(PRINT_SC_TITLE01)).put("search_type", JPCModelConstant.SAERCH_TYPE_IKT);
		((HashMap<String, Object>)inputMap.get(PRINT_SC_TITLE01)).put("max_search_num", JCCWebCommon.getSearchConst(PRINT_MAX_SHOW_CNT));
		// 基準日設定
		((HashMap<String, Object>)inputMap.get(PRINT_SC_TITLE01)).put("key_stdardymd", opeDate);
		
		// ユーザーID
		((HashMap<String, Object>)inputMap.get(PRINT_CC_TITLE01)).put("user_id"
				, commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名
		((HashMap<String, Object>)inputMap.get(PRINT_CC_TITLE01)).put("user_nm"
				, commoninfoBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 出力端末取得
		((HashMap<String, Object>)inputMap.get(PRINT_CC_TITLE01)).put("ip_address"
				, commoninfoBean.sendMessageString(CommonInfoCFConst.IP_ADDRESS, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 検索パターン名称取得
		String doji_open_mskm_search_ptn_cd_nm = "";
		doji_open_mskm_search_ptn_cd_nm = JTUWebCommon.getListSelectedValue(bean
				, TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD_LIST, TUW00301SFConst.INDEX_01, TUW00301SFConst.CD_NM_01);
		
		((HashMap<String, Object>)inputMap.get(PRINT_CC_TITLE01)).put("doji_open_mskm_search_ptn_cd_nm"
				, getRemoveNo(doji_open_mskm_search_ptn_cd_nm));

		// 添付ファイル格納マップ
		HashMap<String, Object> attachMap = new HashMap<String, Object>();
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap, attachMap);	
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		
		/**
		 * サービス処理結果の取得
		 */
		// 受信ファイル取得
		ArrayList list = (ArrayList)attachMap.get(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE_LIST);
		HashMap map = (HashMap)list.get(0);
		byte[] downloadData = (byte[])map.get(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE);

		HashMap<String, Object> printInfo = new HashMap<String, Object>();
		printInfo.put("output_chohyo", downloadData);
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00399, printInfo);
		
		bean.sendMessageString(TUW00301SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.DISP_FLG_TRUE);
		
		return true;
	}
	

	/**
	 * ダウンロード処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_print2() throws Exception
	{
		HashMap<String, Object> printInfo = JCCWebCommon.getScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00399);
		if(printInfo != null && printInfo.containsKey("output_chohyo"))
		{
			JCCWebCommon.setTempDownloadFile(this, (byte[])printInfo.get("output_chohyo")
					, JTUStrConst.CHOHYO_ID_DOJI_OPEN_MSKM_ICRN + "." + JTUStrConst.CHOHYO_EXTENSION);
			
			// セッション情報削除
			JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00399);
		}
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		bean.sendMessageString(TUW00301SFConst.OUTPUT_FLG, X31CWebConst.DATABEAN_SET_VALUE, JTUStrConst.DISP_FLG_FALSE);
		
		return true;
	}
	
	/**
	 * ファイル出力処理
	 * @return boolean
	 */
	@SuppressWarnings("unchecked")
	public boolean action_outputFile()
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		setSessionSearchInfo();
		
		/**
		 * DataBean設定処理
		 */
		setBeanSearchInfo(bean);
		
		
		/**
		 * サービス呼出処理
		 */
		//  ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, OUTPUTFILE_USECASE_ID);

		// マッピングクラスのインスタンスを生成
		TUSV0098_TUSV0098OPDBMapper mapper = new TUSV0098_TUSV0098OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// 上りマッピングの呼び出し
		mapper.setTUSV009801SC(paramBean, inputMap
				, bean.sendMessageString(TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD, X31CWebConst.DATABEAN_GET_VALUE));
		mapper.setTUSV009801CC(paramBean, inputMap, null);
		
		// オペレーション日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		

		// 一覧照会共通部設定
		((HashMap<String, Object>)inputMap.get(OUTPUTFILE_SC_TITLE01)).put("search_type", JPCModelConstant.SAERCH_TYPE_IKT);
		((HashMap<String, Object>)inputMap.get(OUTPUTFILE_SC_TITLE01)).put("max_search_num", JCCWebCommon.getSearchConst(FILE_MAX_SHOW_CNT));
		// 基準日設定
		((HashMap<String, Object>)inputMap.get(OUTPUTFILE_SC_TITLE01)).put("key_stdardymd", opeDate);
		
		// ユーザーID
		((HashMap<String, Object>)inputMap.get(OUTPUTFILE_CC_TITLE01)).put("user_id"
				, commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
		// ユーザー名
		((HashMap<String, Object>)inputMap.get(OUTPUTFILE_CC_TITLE01)).put("user_nm"
				, commoninfoBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE));

		// 添付ファイル格納マップ
		HashMap<String, Object> attachMap = new HashMap<String, Object>();
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap, attachMap);	
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		/**
		 * DataBean設定処理
		 */
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUScreenConst.SCREEN_ID_TUW00301, JTUScreenConst.SCREEN_NAME_TUW00301);
		
		//完了メッセージ設定
		String[] msgRpl = new String[]{"同時開通申込一覧ファイル", "出力"};
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB2960__I, msgRpl);
		
		//同時開通申込検索対象コードが住変(新設)でない時のみメッセージを表示
		if(!JTUStrConst.DOJI_OP_MSKM_SEARCH_TG_CD_ADCHG.equals(bean.sendMessageString(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String msgStr = JCCWebCommon.getSearchConst(FILE_MAX_SHOW_CNT);
			String[] msgRpl2 = new String[]{msgStr, msgStr};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE109__I, msgRpl2);
		}
		
		return true;
	}
	
	/**
	 * 先頭画面 戻る遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean action_top_back() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		//セッション情報を削除 
		JCCWebCommon.removeScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00301);
		JCCWebCommon.clearPageLinkInfo(this, JTUScreenConst.SCREEN_ID_TUW00301 + "0PJP");
		
		/**
		 * DataBean設定処理
		 */
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		JTUWebCommon.setNextScreenInfo(commoninfoBean, JTUWebCommon.getScreenId(this), "");
		
		return true;
	}

	/**
	 * 検索条件を設定
	 * @param bean
	 */
	private void setBeanSearchInfo(X31SDataBeanAccess bean)
	{
		/**
		 * DataBean設定処理
		 */
		// 同時開通申込検索パターンコード
		JTUWebCommon.setListSelectedValue(bean, TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD
				, TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD_LIST, TUW00301SFConst.INDEX_01, TUW00301SFConst.CD_01);
		
		// 同時開通申込対象コード
		JTUWebCommon.setRadioSelectedValue(bean, TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD
				, TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_LIST, TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE
				, TUW00301SFConst.CD_02);
	}
	
	/**
	 * 検索条件をセッションに保持
	 */
	private void saveSessionSearchInfo()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		/**
		 * セッション設定処理
		 */
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		// 検索条件の保持
		hktgiMap.put(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE, 
				bean.sendMessageString(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE, X31CWebConst.DATABEAN_GET_VALUE));
		
		X31SDataBeanAccess listDataBean = bean.getDataBeanArray(TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD_LIST).getDataBean(0);
		hktgiMap.put(TUW00301SFConst.INDEX_01, 
				listDataBean.sendMessageString(TUW00301SFConst.INDEX_01, X31CWebConst.DATABEAN_GET_VALUE));
		
		/**
		 * 引継情報の設定
		 */
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00301, hktgiMap);
	}

	/**
	 * セッションに保持している検索条件をBeanに再設定
	 */
	private void setSessionSearchInfo()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		HashMap<String, Object> searchInfo = null;
		searchInfo = JCCWebCommon.getScreenInfo(this);
		
		bean.sendMessageString(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE, X31CWebConst.DATABEAN_SET_VALUE
				, searchInfo.get(TUW00301SFConst.DOJI_OP_MSKM_SEARCH_TG_CD_CHOICE).toString());

		X31SDataBeanAccess listDataBean = bean.getDataBeanArray(TUW00301SFConst.DOJI_OPEN_MSKM_SEARCH_PTN_CD_LIST).getDataBean(0);
		listDataBean.sendMessageString(TUW00301SFConst.INDEX_01, X31CWebConst.DATABEAN_SET_VALUE
				, searchInfo.get(TUW00301SFConst.INDEX_01).toString());
		
		JCCWebCommon.setScreenInfo(this, JTUScreenConst.SCREEN_ID_TUW00301, searchInfo);
	}
	
	/**
	 * 最初の「.」以降の文字列を返す
	 * @param codeNm
	 * @return String
	 */
	private String getRemoveNo(String codeNm)
	{
		String rtnCodeNm = codeNm;

		int idx = codeNm.indexOf(".");
		
		if(idx >= 0)
		{
			rtnCodeNm = codeNm.substring(idx + 1, codeNm.length());
		}
		
		return rtnCodeNm;
	}
	
}
	
