/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：ZMW10801SFLogic
*	ソースファイル名	：ZMW10801SFLogic.java
*	作成者				：富士通　
*	作成日				：2011年08月07日
*＜機能概要＞
*  データダウンロード画面の画面制御を行います。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00		2011/08/07  FJ) 宮前	新規作成
*	v4.00		2013/04/11  FJ) 日野	【OT-2013-0000640】初期検索条件設定
*********************************************************************/
package eo.web.webview.ZMW10801SF;

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.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.common.JZMWebCommon;
import eo.web.webview.common.JZMWebConst;
import eo.web.webview.mapping.ZMSV0061_ZMSV0061OPDBMapper;
import eo.web.webview.mapping.ZMSV0062_ZMSV0062OPDBMapper;

/**
 * Viewロジック部品です。
 * @author FJ
 */
public class ZMW10801SFLogic extends JCCWebBusinessLogic
{
	
	/** 最大検索件数 KEY項目名 */
	private static final String KEY_MAX_SHOW_CNT = "ZMW10801_MAX_SHOW_CNT";
	
	/** ユースケースID ZMSV0061 */
	private static final String USECASE_ID_61 = "ZMSV0061";
	
	/** ユースケースID ZMSV0061 */
	private static final String USECASE_ID_62 = "ZMSV0062";
	
	/** データ一括登録結果確認一覧照会SCタイトル */
	private static final String SC_TITLE_6102SC = "ZMSV006102SC";
	
	/** データ一括登録結果確認一覧照会SCタイトル */
	private static final String SC_TITLE_6201SC = "ZMSV006201SC";
	
	/** ページリンク用検索コマンドID */
	private static final String SEARCH_COMMAND_FOR_PAGELINK = "PAGING";
	
	/** ソートフラグ初期値 */
	private static final String SORT_FLG_INIT = "1";
	
	/** データ一括登録画面からの検索条件指定 指定なし */
	private static final String SEARCH_INFO_NO = "0";
	
	/** データ一括登録画面からの検索条件指定 指定あり */
	private static final String SEARCH_INFO_YES = "1";
	
	/** データ一括登録画面からの検索条件指定 業務エラー時 */
	private static final String SEARCH_INFO_ERR = "2";
	
	/** 検索条件取得用 配列Index HashMap Key */
	private static final int HASHMAP_KEYS_INDEX = 0;
	
	/** 検索条件取得用 配列Index サービスフォームBean */
	private static final int SERVICE_FROM_BEAN_INDEX = 1;
	
	/** 処理管理番号 */
	private static final String KEY_TRN_NO = "key_trn_kanri_no";
	
	/** ファイル登録日時 開始 */
	private static final String KEY_FILE_ADD_DATE_DTM = "key_trn_req_dtm";
	
	/** エラー電子ファイル管理番号 */
	private static final String KEY_ERR_EFILE_NO = "key_err_efile_no";
	
	/** エラー電子ファイル世代登録年月日時分秒 */
	private static final String KEY_ERR_EFILE_GENE_ADD_DTM = "key_err_efile_gene_add_dtm";
	
	/** 検索条件取得用 配列 */
	private static final String[][] SEARCH_KEYS = 
	{
		
		//処理管理番号
		{KEY_TRN_NO, ZMW10801SFConst.KEY_TRN_KANRI_NO},
		
		//ファイル登録日時 開始
		{KEY_FILE_ADD_DATE_DTM, ZMW10801SFConst.KEY_FILE_ADD_DATE_DTM_FROM}
	};
	
	/** エラーファイル情報 */
	private static final String[][] ERORR_INFO_FILES =
	{
		
		//エラー電子ファイル管理番号
		{KEY_ERR_EFILE_NO, ZMW10801SFConst.LIST_FILE_NO_02},
		
		//エラー電子ファイル世代登録年月日時分秒
		{KEY_ERR_EFILE_GENE_ADD_DTM, ZMW10801SFConst.LIST_FILE_GENE_ADD_DTM_02}
	};
	
	/** ラジオボタン デフォルト選択行 */
	private static final String RADIO_DEFAULT_SELECT = "0";
	
	/**
	 * データダウンロード画面 初期表示処理。
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		
		// -------------------------------------------------- //
		// (1)引継情報の取得
		// (2)サービスフォームBeanの設定
		// -------------------------------------------------- //
		//サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		//共有フォームBean
		X31SDataBeanAccess beanCF = getCommonInfoBean();
		
		//マッピングクラスに渡す配列
		X31SDataBeanAccess[] paramBeans = {bean};
		
		//サービスへ渡すHashMap
		HashMap inDataMap = new HashMap();
		
		//検索結果格納用HashMap
		HashMap outputMap = new HashMap();
		
		//ユースケースID格納用マップを生成
		HashMap paramMap = new HashMap();
		
		// セッションから検索条件を取得する
		String search_key_flg = getSearchKeys();
		
		// -------------------------------------------------- //
		// (3)サービス呼出処理
		// -------------------------------------------------- //
		if(!(SEARCH_INFO_ERR.equals(search_key_flg)))
		{
			
			//(a) ユースケースID指定
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_61);
			
			//(b) マッピング
			ZMSV0061_ZMSV0061OPDBMapper mapper = new ZMSV0061_ZMSV0061OPDBMapper();
			setMappingInfo(paramBeans, inDataMap, mapper, search_key_flg, SORT_FLG_INIT);
			
			//(c) サービス呼び出し
			X31CMessageResult msgResult = invokeService(paramMap, inDataMap, outputMap);
			
			// -------------------------------------------------- //
			// (4)サービス処理結果の設定
			// -------------------------------------------------- //
			if(msgResult != null)
			{
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			}
			
			// (a)マッピング処理
			getMappingInfo(paramBeans, outputMap, mapper, search_key_flg, SORT_FLG_INIT);
			
			// (b)ラジオボタン初期選択
			bean.sendMessageString(ZMW10801SFConst.SELECT_ITEM, X31CWebConst.DATABEAN_SET_VALUE, RADIO_DEFAULT_SELECT);
			
			// 20130411 (c)初期検索条件設定
			String syorikanriNum = JZMWebCommon.getSendMessageString(bean, ZMW10801SFConst.KEY_TRN_KANRI_NO);
			if(syorikanriNum != null && !JZMWebConst.BLANK.equals(syorikanriNum))
			{
				
				// プルダウンリストに連携された処理管理あれば、検索条件に設定する
				if(isTrnKanriNo(bean, syorikanriNum))
				{
					String index = JZMWebCommon.getPullDownIndex(bean,
							ZMW10801SFConst.TRN_NM_LIST,
							ZMW10801SFConst.TRN_KANRI_NO_01,
							syorikanriNum);
					JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.TRN_KANRI_SELECT, index);
					
					String dtm = JZMWebCommon.getSendMessageString(bean, ZMW10801SFConst.KEY_FILE_ADD_DATE_DTM_FROM);
					if(dtm != null && !JZMWebConst.BLANK.equals(dtm) && dtm.length() == 12)
					{
						JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.FILE_ADD_DATE_YYYY_FROM, dtm.substring(0, 4));
						JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.FILE_ADD_DATE_MM_FROM, dtm.substring(4, 6));
						JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.FILE_ADD_DATE_DD_FROM, dtm.substring(6, 8));
						JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.FILE_ADD_DATE_HH_FROM, dtm.substring(8, 10));
						JZMWebCommon.setSendMessageString(bean, ZMW10801SFConst.FILE_ADD_DATE_MI_FROM, dtm.substring(10, 12));
					}
				}
				
			}
			
		}
		
		// -------------------------------------------------- //
		// (5)引継情報の設定
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (6)共有フォームBeanの設定
		// -------------------------------------------------- //
		//画面ID
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10801);
		
		//画面名
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10801);

		return true;
	}

	/**
	 * プルダウンリストに指定した処理管理が存在するかチェックします。
	 * @param bean データBean
	 * @param syorikanriNum 処理管理番号
	 * @return boolean
	 */
	private boolean isTrnKanriNo(X31SDataBeanAccess bean, String syorikanriNum)
	{
		
		// フォームDataBeanがnullの場合
		if (bean == null)
		{
			return false;
		}
		
		// 処理管理番号が空白かnullの場合
		if (JZMWebConst.BLANK.equals(syorikanriNum) || syorikanriNum == null)
		{
			return false;
		}
		
		// プルダウンデータBeanの取得
		X31SDataBeanAccess comboBean = bean.getDataBeanArray(ZMW10801SFConst.TRN_NM_LIST).getDataBean(0);
		
		// プルダウンデータBeanがnullの場合
		if (comboBean == null)
		{
			return false;
		}
		
		// プルダウンの項目数を取得
		int itemCount = ((Integer)(comboBean.sendMessage(ZMW10801SFConst.TRN_KANRI_NO_01, X31CWebConst.DATABEAN_GET_COUNT))).intValue();
		
		// プルダウン項目より、選択されたインデックスを取得
		for (int i = 0; i < itemCount; i++)
		{
			
			// 選択されたインデックスの場合、ループを終了し、その際のループカウンタをインデックスとする
			if (syorikanriNum.equals(comboBean.sendMessageString(ZMW10801SFConst.TRN_KANRI_NO_01, X31CWebConst.DATABEAN_GET_VALUE, i)))
			{
				return true;
			}
		}
		return false;
	}
	
	/**
	 * データダウンロード画面 検索ボタン押下処理。
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public boolean search() throws Exception
	{
		
		// ページリンクのクリア
		JCCWebCommon.clearPageLinkInfo(this, JZMScreenConst.SCREEN_ID_ZMW10801);
		
		// 検索処理
		paging();
		
		return true;
	}
	
	/**
	 * データダウンロード画面 ページング処理。
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean paging() throws Exception
	{
		
		// -------------------------------------------------- //
		// (1)引継情報の取得
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (2)サービスフォームBeanの設定
		// -------------------------------------------------- //
		// サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		//共有フォームBean
		X31SDataBeanAccess beanCF = getCommonInfoBean();
		
		// マッピングクラスに渡す配列
		X31SDataBeanAccess[] paramBeans = {bean};
		
		// サービスへ渡すHashMap
		HashMap inDataMap = new HashMap();
		
		// 検索結果格納用HashMap
		HashMap outputMap = new HashMap();
		
		//ユースケースID格納用マップを生成
		HashMap paramMap = new HashMap();
		
		// (a) ソートフラグ
		String sortFlg = bean.sendMessageString(ZMW10801SFConst.SORT_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		
		// (b) 検索条件セット
		setSearchKeysForMapping();
		
		// -------------------------------------------------- //
		// (3)サービス呼出処理
		// -------------------------------------------------- //
		// (a) ユースケースID指定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_62);
		
		// (b) マッピング
		ZMSV0062_ZMSV0062OPDBMapper mapper = new ZMSV0062_ZMSV0062OPDBMapper();
		mapper.setZMSV006201SC(paramBeans, inDataMap, sortFlg);
		
		// (c) ページング処理 マッピング
		JCCWebCommon.upmapperPageLinkInfo(this, SC_TITLE_6201SC, inDataMap);
		
		// (d) サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inDataMap, outputMap);
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
		}
		
		// -------------------------------------------------- //
		// (4)サービス処理結果の設定
		// -------------------------------------------------- //
		// (a) サービスフォームBean 一覧クリア
		X31SDataBeanAccessArray beanList = bean.getDataBeanArray(ZMW10801SFConst.FILE_LIST);
		if(beanList.getCount() != 0)
		{
			
			//一覧のクリア
			beanList.clearArray();
		}
		
		// (b) マッピング
		mapper.getZMSV006201SC(paramBeans, outputMap);
		
		// (c) 0件または最大検索数越えの処理
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(SC_TITLE_6201SC, outputMap); 
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			
			// ・検索結果が0件の場合
			String[] strMsgs = {""};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I, strMsgs);
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			
			// ・最大件数越えの場合
			String[] strMsgs = {JCCWebCommon.getSearchConst("ZMW10801_MAX_SHOW_CNT")};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, strMsgs);

		}
		else
		{
			
			// ・検索結果が取得できた場合
			//   ページング処理 マッピング
			JCCWebCommon.downmapperPageLinkInfo(this, SC_TITLE_6201SC, outputMap);
			
			//   検索コマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, SEARCH_COMMAND_FOR_PAGELINK);
			
			//   ラジオボタン初期選択
			bean.sendMessageString(ZMW10801SFConst.SELECT_ITEM, X31CWebConst.DATABEAN_SET_VALUE, RADIO_DEFAULT_SELECT);
		}
		
		// -------------------------------------------------- //
		// (5)引継情報の設定
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (6)共有フォームBeanの設定
		// -------------------------------------------------- //
		//画面ID
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10801);
		
		//画面名
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10801);
		
		return true;
	}

	/**
	 * データダウンロード画面 ダウンロードボタン押下処理。
     * <BR>
	 * @return boolean
	 */
	public boolean fileDownLoad()
	{
		String fileKey = "";
		String fileName = "";
		int selectItemIndex = 0;
		
		// -------------------------------------------------- //
		// (1)引継情報の取得
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (2)サービスフォームBeanの設定
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (3)サービス呼出処理
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (4)サービス処理結果の設定
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (5)引継情報の設定
		// -------------------------------------------------- //
		// なし
		// -------------------------------------------------- //
		// (6)ファイルダウンロード処理
		// -------------------------------------------------- //
		//共有フォームBean
		X31SDataBeanAccess beanCF = getCommonInfoBean();
		
		//サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		//ファイルリスト
		X31SDataBeanAccessArray fileList = bean.getDataBeanArray(ZMW10801SFConst.FILE_LIST);
		
		//ラジオボタンで選択されたIndex
		selectItemIndex = Integer.parseInt(bean.sendMessageString(ZMW10801SFConst.SELECT_ITEM, X31CWebConst.DATABEAN_GET_VALUE));
		
		//ファイルリストから選択された情報を格納したサービスフォームBean取得
		X31SDataBeanAccess subBean = fileList.getDataBean(selectItemIndex);
		
		//ファイル名取得
		fileName = subBean.sendMessageString(ZMW10801SFConst.LIST_FILE_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		//ファイルキー取得
		fileKey = subBean.sendMessageString(ZMW10801SFConst.LIST_FILE_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ファイルダウンロード部品呼び出し
		JCCWebCommon.setDownloadFile(this, fileKey, fileName);
		
		// -------------------------------------------------- //
		// (7)共有フォームBeanの設定
		// -------------------------------------------------- //
		//画面ID
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10801);
		
		//画面名
		beanCF.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10801);
		
		return true;
	}

	/**
	 * 検索条件をセッションから取得する。
     * <BR>
	 * @return String		0:設定なし
	 * 						1:データ一括登録正常終了時の検索条件あり
	 * 						2:データ一括登録業務エラー時の情報あり
	 * @throws Exception 
	 */
	private String getSearchKeys() throws Exception
	{
		String strRet = SEARCH_INFO_NO;
		String strValue = null;
		
		//サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		//セッションから取得した検索条件がセットされているHashMap
		HashMap<String, Object> map = JCCWebCommon.getScreenInfo(this);
		
		if(map != null)
		{
			
			//データ一括登録 正常終了時の検索条件の検索
			for(int iCnt = 0; iCnt < SEARCH_KEYS.length; iCnt++)
			{
				
				//セッションから取得したHashMapから検索条件を取得
				strValue = (String)map.get(SEARCH_KEYS[iCnt][HASHMAP_KEYS_INDEX]);
				if(strValue != null && !("".equals(strValue)))
				{
					
					//サービスフォームBeanの検索条件へセット
					bean.sendMessageString(SEARCH_KEYS[iCnt][SERVICE_FROM_BEAN_INDEX], X31CWebConst.DATABEAN_SET_VALUE, strValue);
					strRet = SEARCH_INFO_YES;
				}
			}
			if(!(SEARCH_INFO_NO.equals(strRet)))
			{
				
				//データ一括登録 業務エラー時の情報取得
				for(int iCnt = 0 ; iCnt < ERORR_INFO_FILES.length ; iCnt++)
				{
					
					//セッションから取得したHashMapから検索条件を取得
					strValue = (String)map.get(ERORR_INFO_FILES[iCnt][HASHMAP_KEYS_INDEX]);
					if(strValue != null && !("".equals(strValue)))
					{
						
						//サービスフォームBeanの検索条件へセット
						bean.sendMessageString(ERORR_INFO_FILES[iCnt][SERVICE_FROM_BEAN_INDEX], X31CWebConst.DATABEAN_SET_VALUE, strValue);
						strRet = SEARCH_INFO_ERR;
					}
					
				}
			}
		}
		
		return strRet;
	}
	
	/**
	 * サービス呼び出し用マッピング処理（上り）。
     * <BR>
     * @param paramBeans サービスフォームBean
     * @param inMap サービスに渡すHashMap
     * @param mapper マッピングクラス インスタンス
     * @param search_flg 動作状況（0：初期処理 1：検索ボタン押下処理）
     * @param sortFlg データ一括登録結果一覧照会 ソート
	 * @throws Exception 
	 */
	private void setMappingInfo(X31SDataBeanAccess[] paramBeans, HashMap inMap, ZMSV0061_ZMSV0061OPDBMapper mapper, 
									String search_flg, String sortFlg) throws Exception
	{
		
		// 処理管理一覧照会用マッピング
		mapper.setZMSV006101SC(paramBeans, inMap, JPCModelConstant.FUNC_CD_1);
		
		// データ一括登録結果一覧照会用マッピング
		if(SEARCH_INFO_YES.equals(search_flg))
		{
			
			//データダウンロード一覧照会用
			mapper.setZMSV006102SC(paramBeans, inMap, sortFlg);
			
			//ページング処理 マッピング
			JCCWebCommon.upmapperPageLinkInfo(this, SC_TITLE_6102SC, inMap);
			
		}
	}
	
	/**
	 * サービス呼び出し用マッピング処理（下り）。
     * <BR>
     * @param paramBeans サービスフォームBean
     * @param outMap サービスに渡すHashMap
     * @param mapper マッピングクラス インスタンス
     * @param search_flg 動作状況（0：初期処理 1：検索ボタン押下処理）
     * @param sortFlg データ一括登録結果一覧照会 ソート
	 * @throws Exception 
	 */
	private void getMappingInfo(X31SDataBeanAccess[] paramBeans, HashMap outMap, ZMSV0061_ZMSV0061OPDBMapper mapper, 
			String search_flg, String sortFlg) throws Exception
	{
		
		// 処理管理一覧照会用マッピング
		mapper.getZMSV006101SC(paramBeans, outMap, this);
		
		// データダウンロード一覧照会用マッピング
		if(SEARCH_INFO_YES.equals(search_flg))
		{
			
			//データ一括登録結果一覧照会用
			mapper.getZMSV006102SC(paramBeans, outMap);
			
			// 0件または最大検索数越えの処理
			String searchErrFlg = JCCWebCommon.getSearchErrFlg(SC_TITLE_6102SC, outMap); 
			if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
			{
				
				//検索結果が0件の場合
				String[] strMsgs = {""};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I, strMsgs);
			}
			else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
			{
				
				//最大件数越えの場合
				String[] strMsgs = {JCCWebCommon.getSearchConst(KEY_MAX_SHOW_CNT)};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, strMsgs);

			}
			else
			{
				
				//ページング処理 マッピング
				JCCWebCommon.downmapperPageLinkInfo(this, SC_TITLE_6102SC, outMap);
				
				//検索コマンドIDを設定する。
				JCCWebCommon.setSearchCommand(this, SEARCH_COMMAND_FOR_PAGELINK);
				
				// ラジオボタン初期選択
				paramBeans[0].sendMessageString(ZMW10801SFConst.SELECT_ITEM, X31CWebConst.DATABEAN_SET_VALUE, RADIO_DEFAULT_SELECT);
			}
		}
	}
	
	/**
	 * プルダウンで選択されたデータで、引数で指定した項目を返す。
     * <BR>
     * @param list_kind 対象となるプルダウンList名
     * @param list_select_kind 対象となるプルダウン選択項目
     * @param ret_kind 取得したい項目名
     * @return String
	 */
	private String getSelectedItem(String list_kind, String list_select_kind, String ret_kind)
	{
		X31SDataBeanAccess bean = getServiceFormBean();
		String strRetValue = null;
		
		//プルダウンで選択されたIndexを取得
		String strSelectItem = bean.sendMessageString(list_select_kind, X31CWebConst.DATABEAN_GET_VALUE);
		
		//index + 処理方式の形になるので、区切り文字の「：」で分解する。
		int intSelectItem = Integer.parseInt(strSelectItem);
		
		//取得したIndexに応じたSubBeanを取得し、処理名を取得
		X31SDataBeanAccess subBean = bean.getDataBeanArray(list_kind).getDataBean(0);
		strRetValue = subBean.sendMessageString(ret_kind, X31CWebConst.DATABEAN_GET_VALUE, intSelectItem);

		return strRetValue;
	}
	
	/**
	 * 入力された検索条件をサービスフォームBeanへセットする。
     * <BR>
	 * @throws Exception 
	 */
	private void setSearchKeysForMapping() throws Exception
	{
		
		//サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// ファイル登録日時−開始
		String file_add_dtm_yyyy_from = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_YYYY_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_mm_from = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_MM_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_dd_from = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_DD_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_hh_from = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_HH_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_mi_from = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_MI_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(ZMW10801SFConst.KEY_FILE_ADD_DATE_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, 
				file_add_dtm_yyyy_from + file_add_dtm_mm_from + file_add_dtm_dd_from + file_add_dtm_hh_from + file_add_dtm_mi_from);
		
		// ファイル登録日時−終了
		String file_add_dtm_yyyy_to = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_YYYY_TO, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_mm_to = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_MM_TO, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_dd_to = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_DD_TO, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_hh_to = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_HH_TO, X31CWebConst.DATABEAN_GET_VALUE);
		String file_add_dtm_mi_to = bean.sendMessageString(ZMW10801SFConst.FILE_ADD_DATE_MI_TO, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(ZMW10801SFConst.KEY_FILE_ADD_DATE_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, 
				file_add_dtm_yyyy_to + file_add_dtm_mm_to + file_add_dtm_dd_to + file_add_dtm_hh_to + file_add_dtm_mi_to);
		
		// 処理管理番号
		bean.sendMessageString(ZMW10801SFConst.KEY_TRN_KANRI_NO, X31CWebConst.DATABEAN_SET_VALUE, 
				getSelectedItem(ZMW10801SFConst.TRN_NM_LIST, ZMW10801SFConst.TRN_KANRI_SELECT, ZMW10801SFConst.TRN_KANRI_NO_01));
	}
	
}
