/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：WCW01901SFLogic
*	ソースファイル名：WCW01901SFLogic.java
*	作成者			：富士通
*	日付			：2011年06月11日
*＜機能概要＞
*	 グループＩＤ設定（ＳＴＢ指定）のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/04	富士通		新規作成
*	v3.00.00	2012/05/01	FJ)松嶋		【ANK-0315-00-00】宅内対応を実施
*										【ANK-0280-00-00】制御タイプ対応を実施
*
**********************************************************************/
package eo.web.webview.WCW01901SF;

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.JWCStrConst;
import eo.common.util.JPCUtilCommon;
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.WCSV0024_WCSV0024OP_03DBMapper;
import eo.web.webview.mapping.WCSV0043_WCSV0043OPDBMapper;
import eo.web.webview.mapping.WCSV0044_WCSV0044OPDBMapper;
import eo.web.webview.mapping.WCSV0049_WCSV0049OP_01DBMapper;
import eo.web.webview.mapping.WCSV0053_WCSV0053OPDBMapper;

/**
 * グループＩＤ（ＳＴＢ指定）を行う。
 *
 * @author 富士通
 */

@SuppressWarnings("serial")
public class WCW01901SFLogic extends JCCWebBusinessLogic
{
	static final String DLYD_RESULT = "1";
	static final String DLYD_THRROW = "4";
	
	/**
	 * 一覧照会画面初期表示処理
	 * @author 富士通
	 * @return 
	 * @throws Exception 
	 */
	public boolean init() throws Exception
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		paramBean[0].sendMessageString(WCW01901SFConst.CTRL_TYPE_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_BAT);
		
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();


		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6920__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にメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01901);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01901);


		return true;
	}

	/**
	 * アップロードボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean upload() throws Exception 
	{

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		X31SDataBeanAccessArray beanArray = bean.getDataBeanArray( WCW01901SFConst.TEMP_FILE_LIST );

		ArrayList<HashMap<String,Object>> fileInfoList = JCCWebCommon.getFileInfoArray(this);  

		String MESSAGE_ID = "";
		String[] stringArray;
		stringArray = new String[1];
		beanArray.clearArray();
		if(fileInfoList.size() == 0)  
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0680_KW;
			stringArray[0] = "";
			// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
			X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
			
			// MESSAGE_LISTをクリアする。
			commonBeanArray.clearArray();
			
			// MESSAGE_LISTにメッセージを追加する。
			JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
			
			return true;
		}
		else 
		{
			HashMap fileInfoMap = fileInfoList.get(0);
			if("FILE_INFO_OK".equals(fileInfoMap.get("resultCode")))
			{
				String renbanKey = String.valueOf(fileInfoMap.get("fileKey"));
				String tmpfileName = String.valueOf(fileInfoMap.get("fileName"));
				String fileName = String.valueOf(fileInfoMap.get("nameValue"));
	
				beanArray.addDataBean();
				X31SDataBeanAccess subBean = beanArray.getDataBean(0);
				subBean.sendMessageString(WCW01901SFConst.EFILE_KANRI_NO_04, X31CWebConst.DATABEAN_SET_VALUE, renbanKey);
				subBean.sendMessageString(WCW01901SFConst.TMP_FILE_NM_04, X31CWebConst.DATABEAN_SET_VALUE, tmpfileName);
				subBean.sendMessageString(WCW01901SFConst.BUNSHO_FILE_NM_04, X31CWebConst.DATABEAN_SET_VALUE, fileName);
			}
			else
			{
				if("FILE_EXTENSION_ERROR".equals(fileInfoMap.get("resultCode")))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0680_KW;
					stringArray[0] = "";
				}
				else if("FILE_SIZE_ZERO".equals(fileInfoMap.get("resultCode")))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0750_KW;
					stringArray[0] = "";
				}
				else if("FILE_SIZE_NG".equals(fileInfoMap.get("resultCode")))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB2120_KW;
					stringArray[0] = "ファイルサイズ";
				}
				else if("FILE_NOT_EXIST".equals(fileInfoMap.get("resultCode")))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0740_KW;
					stringArray[0] = "ファイル名";
				}
				else
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0680_KW;
					stringArray[0] = "";
				}
				// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
				X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
				
				// MESSAGE_LISTをクリアする。
				commonBeanArray.clearArray();
				
				// MESSAGE_LISTにメッセージを追加する。
				JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
				
				return true;
				
			}
		}
	
		HashMap paramMap = new HashMap();
		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();
		HashMap attachMap = new HashMap();

		// 電子ファイル登録のマッピング処理に必要なリストを生成する。 
		ArrayList<byte[]> byteList = new ArrayList<byte[]>();
		ArrayList<String> fileCodeList = new ArrayList<String>();
		ArrayList<String> delYmdList = new ArrayList<String>();
		
		//処理年月日
		bean.sendMessageString(WCW01901SFConst.DLYD_TRN_JSSI_UNYO_DTM, X31CWebConst.DATABEAN_SET_VALUE, null);
		//バッチジョブＩＤ
		//bean.sendMessageString(WCW01901SFConst.REQ_JOB_ID, X31CWebConst.DATABEAN_SET_VALUE, "EOC190910J0");
		bean.sendMessageString(WCW01901SFConst.REQ_JOB_ID, X31CWebConst.DATABEAN_SET_VALUE,  JWCStrConst.JOB_EOC0J0110J0);
		//依頼種別コード
		//bean.sendMessageString(WCW01901SFConst.DLYD_TRN_REQ_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, "01910");
		bean.sendMessageString(WCW01901SFConst.DLYD_TRN_REQ_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.DLYD_TRN_REQ_SBT_CD_CHECK_GRPCREATE);
		//ファイルコード
		//bean.sendMessageString(WCW01901SFConst.FILE_CD, X31CWebConst.DATABEAN_SET_VALUE, "1910");
		bean.sendMessageString(WCW01901SFConst.FILE_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.DLYD_FILE_CD_CHECK_GRPCREATE);
		//ファイル削除年月日
		String FileDelYmd = JPCUtilCommon.addDay(JCCWebCommon.getSysDate(), 2);
		bean.sendMessageString(WCW01901SFConst.FILE_DEL_YMD, X31CWebConst.DATABEAN_SET_VALUE, FileDelYmd);
		
		X31SDataBeanAccess subBean = beanArray.getDataBean(0);
		String fileKey = subBean.sendMessageString(WCW01901SFConst.EFILE_KANRI_NO_04, X31CWebConst.DATABEAN_GET_VALUE );
		byte[] fileByte = JCCWebCommon.getFile(this, fileKey);
		byteList.add(fileByte);
		fileCodeList.add(bean.sendMessageString(WCW01901SFConst.DLYD_TRN_REQ_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
		delYmdList.add(bean.sendMessageString(WCW01901SFConst.FILE_DEL_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		//アップロードファイル
		bean.sendMessageString(WCW01901SFConst.EFILE, X31CWebConst.DATABEAN_SET_VALUE, new String(fileByte));
		// ユースケースIDを設定する。 
		paramMap.put( X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0043");
		paramMap.put( X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0043OP");

		// 電子ファイル登録サービス用のマッピング処理 
		JCCWebCommon.setDenshiFileService(inputMap, attachMap, "WC", fileCodeList, byteList, delYmdList, "1");

		//手動リンク一覧照会上りマッピング定義
		mappingForDB_BP_WCSV0043_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		// サービス呼出 
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap, attachMap);

		//手動リンク一覧照会下りマッピング定義
		mappingForDB_BP_WCSV0043_GET(paramBean, outputMap);
		
		// アップロード一時ファイルの消去
		//JCCWebCommon.deleteCache(this);

		
		MESSAGE_ID = JPCOnlineMessageConstant.EKB6980__I;
		stringArray[0] = "";

		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01903);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01903);

		return true;
	}
	

	/**
	 * 確定ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fix() throws Exception 
	{
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();


		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		String MESSAGE_ID = "";
		String[] stringArray;
		stringArray = new String[1];

		HashMap attachMap = new HashMap();

		// 電子ファイル登録のマッピング処理に必要なリストを生成する。 
		ArrayList<byte[]> byteList = new ArrayList<byte[]>();
		ArrayList<String> fileCodeList = new ArrayList<String>();
		ArrayList<String> delYmdList = new ArrayList<String>();

		//取得情報クリア
		bean.getDataBeanArray(WCW01901SFConst.STB_INFO).clearArray();
		bean.getDataBeanArray(WCW01901SFConst.DLYD_TRN_REQ_LIST).clearArray();
		bean.sendMessageString(WCW01901SFConst.TRN_REQ_NO,  X31CWebConst.DATABEAN_SET_VALUE, "");
		
		//ディレイド処理結果初期化
		bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, "");
		//処理年月日
		bean.sendMessageString(WCW01901SFConst.DLYD_TRN_JSSI_UNYO_DTM, X31CWebConst.DATABEAN_SET_VALUE, null);
		//バッチジョブＩＤ
		//bean.sendMessageString(WCW01901SFConst.REQ_JOB_ID, X31CWebConst.DATABEAN_SET_VALUE, "EOC190911J0");
		bean.sendMessageString(WCW01901SFConst.REQ_JOB_ID, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.JOB_EOC0J0310J0);
		//依頼種別コード
		//bean.sendMessageString(WCW01901SFConst.DLYD_TRN_REQ_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, "01911");
		bean.sendMessageString(WCW01901SFConst.DLYD_TRN_REQ_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.DLYD_TRN_REQ_SBT_CD_DLYD_GRPCREATE);
		//ファイルコード
		//bean.sendMessageString(WCW01901SFConst.FILE_CD, X31CWebConst.DATABEAN_SET_VALUE, "1911");
		bean.sendMessageString(WCW01901SFConst.FILE_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.DLYD_FILE_CD_DLYD_GRPCREATE);
		//ファイル削除年月日
		String FileDelYmd = JPCUtilCommon.addDay(JCCWebCommon.getSysDate(), 2);
		bean.sendMessageString(WCW01901SFConst.FILE_DEL_YMD, X31CWebConst.DATABEAN_SET_VALUE, FileDelYmd);
		
		// ユースケースIDを設定する。 
		paramMap.put( X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0043");
		paramMap.put( X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0043OP");

		// 電子ファイル登録サービス用のマッピング処理 
		JCCWebCommon.setDenshiFileService(inputMap, attachMap, "WC", fileCodeList, byteList, delYmdList, "1");

		//手動リンク一覧照会上りマッピング定義
		mappingForDB_BP_WCSV0043_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		// サービス呼出 
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap, attachMap);

		//手動リンク一覧照会下りマッピング定義
		mappingForDB_BP_WCSV0043_GET(paramBean, outputMap);
		
		// アップロード一時ファイルの消去
		JCCWebCommon.deleteCache(this);

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0053");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0053OP");

		
		mappingForDB_BP_WCSV0053_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		///// サービス呼出処理 /////
		msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		MESSAGE_ID = JPCOnlineMessageConstant.EKB6980__I;
		stringArray[0] = "";

		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01905);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01905);

		return true;
	}
	/**
	 * 検索処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean kakunin() throws Exception 
	{
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0044");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0044OP");

		
		mappingForDB_BP_WCSV0044_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 

		mappingForDB_BP_WCSV0044_GET(paramBean, outputMap);


		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0049");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0049OP");

		
		mappingForDB_BP_WCSV0049_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		///// サービス呼出処理 /////
		msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 

		mappingForDB_BP_WCSV0049_GET(paramBean, outputMap);
		

		X31SDataBeanAccessArray beanArray = bean.getDataBeanArray(WCW01901SFConst.STB_INFO);
		for(int i = 0; i < beanArray.getCount(); i++)
		{
			if(i % 2 == 1)
			{
				beanArray.getDataBean(i).sendMessageString(WCW01901SFConst.RT_CLASS_01, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.ROW_STYLE_EVEN);
			}
			else
			{
				beanArray.getDataBean(i).sendMessageString(WCW01901SFConst.RT_CLASS_01, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.ROW_STYLE_ODD);
			}
		}
		
		return true;
	}
	/**
	 * グループIDSTB登録処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean kakunin2() throws Exception 
	{
		/*
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0053");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0053OP");

		
		mappingForDB_BP_WCSV0053_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		*/

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		String MESSAGE_ID = JPCOnlineMessageConstant.EKB7000__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "グループID設定登録送信";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		return true;
	}
	
	/**
	 * 登録確認押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean create() throws Exception 
	{
		HashMap<String, Object> DataMap = null;
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		String MESSAGE_ID = "";
		String[] stringArray = new String[1];

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		//ディレイド処理無効化
		bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, "2");
		
		//制御設定情報取得
		bean.sendMessageString(WCW01901SFConst.CTRL_TYPE_CD, X31CWebConst.DATABEAN_GET_VALUE);
		

		DataMap = new HashMap<String, Object>();
		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0024");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0024OP");

		String strSlctId = "";
		String strSlctCd = "";
		String strGrpIdRangeCd = "";
		
		for(int i = 1; i < 7; i++)
		{
			switch(i)
			{
				case 1:
					strSlctId = WCW01901SFConst.GRP_ID_1_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_1_CD;
					strGrpIdRangeCd = "001";
				break;
				case 2:
					strSlctId = WCW01901SFConst.GRP_ID_2_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_2_CD;
					strGrpIdRangeCd = "002";
				break;
				case 3:
					strSlctId = WCW01901SFConst.GRP_ID_3_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_3_CD;
					strGrpIdRangeCd = "003";
				break;
				case 4:
					strSlctId = WCW01901SFConst.GRP_ID_4_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_4_CD;
					strGrpIdRangeCd = "004";
				break;
				case 5:
					strSlctId = WCW01901SFConst.GRP_ID_5_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_5_CD;
					strGrpIdRangeCd = "005";
				break;
				case 6:
					strSlctId = WCW01901SFConst.GRP_ID_6_SELECT;
					strSlctCd = WCW01901SFConst.GRP_ID_6_CD;
					strGrpIdRangeCd = "006";
				break;
			}
		
			if(bean.sendMessageBoolean(strSlctId, X31CWebConst.DATABEAN_GET_VALUE) && !"".equals(bean.sendMessageString(strSlctCd, X31CWebConst.DATABEAN_GET_VALUE)))
			{

				DataMap.put("func_code", JWCCommonConst.FUNC_CODE_1);
				DataMap.put("search_type", String.valueOf("1"));
				DataMap.put("display_page_num", String.valueOf("1"));
				DataMap.put("max_search_num", String.valueOf("1"));
				DataMap.put("display_num", String.valueOf("1"));
				DataMap.put("key_stb_grp_id", bean.sendMessageString(strSlctCd, X31CWebConst.DATABEAN_GET_VALUE));
				DataMap.put("key_grp_id_range_cd", strGrpIdRangeCd);
				inputMap.put("WCSV002401SC", DataMap);
								
				///// サービス呼出処理 /////
				X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
				
				// エラー処理 
				if(msgResult != null)
				{
					JCCWebCommon.setMessageInfo(this, msgResult);
				} 

				mappingForDB_BP_WCSV0024_GET(paramBean, outputMap);

				
				// 検索エラーフラグの取得
				String searchErrFlg = JCCWebCommon.getSearchErrFlg("WCSV002401SC", outputMap);
				if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
				{
					//MESSAGE_ID = JPCOnlineMessageConstant.EKB0330__I;
					//stringArray = new String[1];
					//stringArray[0] = "";
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0720_KW;
					stringArray = new String[2];
					stringArray[0] = "ＳＴＢグループマスタ";
					stringArray[1] = "指定されたグループＩＤ値";
					// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
					X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
					// MESSAGE_LISTをクリアする。
					commonBeanArray.clearArray();
					JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
					//ディレイド処理結果初期化
					bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, DLYD_THRROW);
					return false;
				}
				else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0340__I;
					stringArray = new String[1];
					stringArray[0] = "";
					// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
					X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
					// MESSAGE_LISTをクリアする。
					commonBeanArray.clearArray();
					JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
					//ディレイド処理結果初期化
					bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, DLYD_THRROW);
					return false;
				}
				else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB0350__I;
					stringArray = new String[1];
					stringArray[0] = "";
					// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
					X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
					// MESSAGE_LISTをクリアする。
					commonBeanArray.clearArray();
					JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
					//ディレイド処理結果初期化
					bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, DLYD_THRROW);
					return false;
				}
				
			}
		}

		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		MESSAGE_ID = JPCOnlineMessageConstant.EKB0370__I;
		stringArray = new String[1];
		stringArray[0] = "グループID設定(STB指定)登録確認";
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		// 強調表示
		JCCWebCommon.setMessageAreaBackColor(this, "1");
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01904);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01904);
		return true;
	}
	/**
	 * 修正ボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean syusei() throws Exception
	{
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		//String MESSAGE_ID = JPCOnlineMessageConstant.EKB6980__I;
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB7090__I;
		String MESSAGE_ID1 = JPCOnlineMessageConstant.EKB7070__I;;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "";

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		//ディレイド処理結果初期化
		bean.sendMessageString(WCW01901SFConst.DLYD_RESULT, X31CWebConst.DATABEAN_SET_VALUE, DLYD_RESULT);
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID1, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01903);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01903);
		return true;
	}	
	/**
	 * キャンセルボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean cancel() throws Exception
	{
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6920__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "指定ファイル";


		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		//サービスフォームBeanのクリアを行う
		clearBean(bean);
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01901);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01901);
		return true;
	}
	/**
	 * 完了ボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fin() throws Exception
	{
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6920__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "指定ファイル";

		//サービスフォームBeanのクリアを行う
		clearBean(bean);

		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01901);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01901);
		return true;
	}

	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0043_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0043_WCSV0043OPDBMapper mapper = new WCSV0043_WCSV0043OPDBMapper();

		mapper.setWCSV004301SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0044_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0044_WCSV0044OPDBMapper mapper = new WCSV0044_WCSV0044OPDBMapper();

		mapper.setWCSV004401SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0049_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0049_WCSV0049OP_01DBMapper mapper = new WCSV0049_WCSV0049OP_01DBMapper();

		mapper.setWCSV004901SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0053_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0053_WCSV0053OPDBMapper mapper = new WCSV0053_WCSV0053OPDBMapper();

		mapper.setWCSV005301SC(paramBean, inputMap, func_code);
		return;
	}
	
	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0024_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0024_WCSV0024OP_03DBMapper mapper = new WCSV0024_WCSV0024OP_03DBMapper();

		mapper.getWCSV002401SC(paramBean, outputMap);
		return;
	}	
	
	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0043_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0043_WCSV0043OPDBMapper mapper = new WCSV0043_WCSV0043OPDBMapper();

		mapper.getWCSV004301SC(paramBean, outputMap);
		return;
	}
	
	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0044_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0044_WCSV0044OPDBMapper mapper = new WCSV0044_WCSV0044OPDBMapper();

		mapper.getWCSV004401SC(paramBean, outputMap);
		return;
	}
	
	/**
	 * サービスフォームBean項目と手動リンク一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0049_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0049_WCSV0049OP_01DBMapper mapper = new WCSV0049_WCSV0049OP_01DBMapper();

		mapper.getWCSV004901SC(paramBean, outputMap);
		return;
	}
	/**
	 * サービスフォームBean項目をクリアする
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	public void clearBean(X31SDataBeanAccess paramBean) throws Exception
	{
		String strItemList[] = paramBean.getItemNameList();
		
		for(int i = 0 ; i < strItemList.length; i++)
		{
			if(WCW01901SFConst.DLYD_TRN_REQ_LIST.equals(strItemList[i]) || 
					WCW01901SFConst.STB_INFO.equals(strItemList[i]) || 
					WCW01901SFConst.STB_CHECK_INFO.equals(strItemList[i]) || 
					WCW01901SFConst.TEMP_FILE_LIST.equals(strItemList[i])
				)
			{
				paramBean.getDataBeanArray(strItemList[i]).clearArray();
			}
			else
			{
				paramBean.sendMessage(strItemList[i], X31CWebConst.DATABEAN_CLEAR);
			}
		}
		
		init();
	}
	
	/**
	 * 戻るボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean back() throws Exception
	{
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		return true;
	}
}