/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：KKW02101SFLogic
*   ソースファイル名：KKW02101SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年06月28日
*＜機能概要＞
*   eoTV機器設置補正対象一覧画面 Viewロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/28   FJ）磯俣    新規作成
*
**********************************************************************/

package eo.web.webview.KKW02101SF;

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.util.JPCEditString;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0123_KKSV0123OPDBMapper;
import eo.web.webview.mapping.KKSV0173_KKSV0173OPDBMapper;

/**
 * eoTV機器設置補正対象一覧画面のビューロジック処理を行います。
 * @author user
 *
 */
public class KKW02101SFLogic extends JCCWebBusinessLogic
{
	
	
	/**
	 * eoTV機器設置補正対象一覧画面 初期表示処理。
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean init() throws Exception
	{
		
		// 画面情報を取得する
		HashMap<String, Object> parameterMap = JCCWebCommon.getScreenInfo(this);
		
		// サービスフォームBeanのアクセスクラス取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commonBean = super.getCommonInfoBean();
		
		// 一覧表示件数を初期化する
		serviceBean.sendMessageString(KKW02101SFConst.ZENKEN_CNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		
		// 遷移元画面ID取得
		String backScreenId = JCCWebCommon.getScreenId(this);
		
		// 画面IDが取得できない場合、画面を初期表示状態にする
		if(isNull(backScreenId) || JKKScreenConst.SCREEN_ID_KKW02104.equals(backScreenId))
		{
			// プルダウン取得処理開始
			// キー値設定
			serviceBean.sendMessageString(KKW02101SFConst.STDARDYMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));
		
			//マッピングクラスに渡す配列
			X31SDataBeanAccess[] paramBean = {serviceBean};
			
			// 検索処理のユースケースID格納用マップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0123");
			
			// 共通情報の設定
			HashMap<String, HashMap<String, Object>> inputMap = new HashMap<String, HashMap<String, Object>>();
			HashMap<String, HashMap<String, Object>> outputMap = new HashMap<String, HashMap<String, Object>>();
			
			// データBeanとBPをマッピングするインスタンスを生成
			KKSV0123_KKSV0123OPDBMapper mapper = new KKSV0123_KKSV0123OPDBMapper();
			mapper.setKKSV012301SC(paramBean, inputMap, "1");
			
			// サービスの呼び出し
			X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
			
			// エラー処理 
			if(msgResult != null)
			{
				
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			}
			
			// メッセージ定義ファイルを読み込む
			JCCMessageCache.setMessageCache();
			
			// サービス結果の転記
			mapper.getKKSV012301SC(paramBean, outputMap);
			
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW02101);
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW02101);
		}
		else
		{
			
			// 共通領域の設定
			setReturnInput(serviceBean, parameterMap);
			
			// マッピングクラスに渡すために配列にする
			X31SDataBeanAccess[] paramBean = {serviceBean};
			
			// サービス呼び出し処理
			if(!callService(paramBean, "init"))
			{
				return true;
			}
		
			// 一覧背景色設定
			setColorList(paramBean[0], serviceBean);
		
			// 一覧の先頭行のラジオボタンを選択状態にする
			serviceBean.sendMessageString(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(getKeyMuchSelectNo(serviceBean)));
		
		
		}
		
		
		return true;
	}
	
	/**
	 * 検索ボタン押下処理。
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean search() throws Exception
	{
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
//		// 検索時の入力チェックを行う
//		if(inputCheck(serviceBean))
//		{
//			return false;
//		}
		
		// 一覧表示件数をクリア
		serviceBean.sendMessageString(KKW02101SFConst.ZENKEN_CNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ラジオボタン選択位置をクリア
//		serviceBean.sendMessage(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_CLEAR);
		// 一覧クリア
		serviceBean.getDataBeanArray(KKW02101SFConst.KIKI_SECCHI_TEISEI_LIST).clearArray();
		serviceBean.sendMessage(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_CLEAR);
		
		// 退避領域をクリア
		serviceBean.sendMessage(KKW02101SFConst.KOJI_ANKEN_NO_BK, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessage(KKW02101SFConst.SVC_KEI_NO_BK, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_F_BK, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_T_BK, X31CWebConst.DATABEAN_CLEAR);
		serviceBean.sendMessage(KKW02101SFConst.TEISEI_STAT_BK, X31CWebConst.DATABEAN_CLEAR);
		
		// ページング情報をクリア
		JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW02101);
		
		// 検索条件の退避を行う
		serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO_BK, X31CWebConst.DATABEAN_SET_VALUE,
				serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO, X31CWebConst.DATABEAN_GET_VALUE));
		serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO_BK, X31CWebConst.DATABEAN_SET_VALUE,
				serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		String yyFrom = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_YY, X31CWebConst.DATABEAN_GET_VALUE);
		String mmFrom = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_MM, X31CWebConst.DATABEAN_GET_VALUE);
		String ddFrom = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_DD, X31CWebConst.DATABEAN_GET_VALUE);
		String yyTo = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_YY, X31CWebConst.DATABEAN_GET_VALUE);
		String mmTo = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_MM, X31CWebConst.DATABEAN_GET_VALUE);
		String ddTo = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_DD, X31CWebConst.DATABEAN_GET_VALUE);
		
		serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_BK, X31CWebConst.DATABEAN_SET_VALUE, yyFrom + mmFrom + ddFrom);
				
		serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_BK, X31CWebConst.DATABEAN_SET_VALUE, yyTo + mmTo + ddTo);
		
		
		X31SDataBeanAccessArray comboArray = serviceBean.getDataBeanArray(KKW02101SFConst.TEISEI_STAT);
		X31SDataBeanAccess subbean = comboArray.getDataBean(0);
		String sIndex = subbean.sendMessageString(KKW02101SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		if(sIndex != null && !"".equals(sIndex))
		{
			String code = subbean.sendMessageString(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
			serviceBean.sendMessageString(KKW02101SFConst.TEISEI_STAT_BK, X31CWebConst.DATABEAN_SET_VALUE, code);
		}
		
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {serviceBean};
		
		if(!callService(paramBean, "search"))
			{
			return true;
		}
		
		// 一覧背景色設定
		setColorList(paramBean[0], serviceBean);
		
		serviceBean.sendMessageString(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 検索実行フラグ
//		serviceBean.sendMessageBoolean(KKW02101SFConst.EXECUTE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, Boolean.TRUE);
		
		return true;
	}
	
	/**
	 * ページングボタン押下処理
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean changePage() throws Exception
	{
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// ラジオボタン選択位置をクリア
//		serviceBean.sendMessage(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_CLEAR);
		
		// 一覧クリア
		serviceBean.getDataBeanArray(KKW02101SFConst.KIKI_SECCHI_TEISEI_LIST).clearArray();
		
		// マッピングクラスに渡す配列
		X31SDataBeanAccess[] paramBean = {serviceBean};
		
		if(!callService(paramBean, "paging"))
		{
			return false;
		}
	
		// 一覧背景色設定
		setColorList(paramBean[0], serviceBean);
		

		// 検索条件を反映する
		serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO, X31CWebConst.DATABEAN_SET_VALUE,
				serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO_BK, X31CWebConst.DATABEAN_GET_VALUE));
		serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE,
				serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO_BK, X31CWebConst.DATABEAN_GET_VALUE));
		String ymd_f = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_BK, X31CWebConst.DATABEAN_GET_VALUE);
		if(isNull(ymd_f))
		{
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_F_YY, X31CWebConst.DATABEAN_CLEAR);
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_F_MM, X31CWebConst.DATABEAN_CLEAR);
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_F_DD, X31CWebConst.DATABEAN_CLEAR);
		}
		else
		{
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_YY, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(ymd_f));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_MM, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(ymd_f));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_DD, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(ymd_f));
		}
		String ymd_t = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_BK, X31CWebConst.DATABEAN_GET_VALUE);
		if(isNull(ymd_t))
		{
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_T_YY, X31CWebConst.DATABEAN_CLEAR);
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_T_MM, X31CWebConst.DATABEAN_CLEAR);
			serviceBean.sendMessage(KKW02101SFConst.SETCHINFO_YMD_T_DD, X31CWebConst.DATABEAN_CLEAR);
		}
		else
		{
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_YY, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(ymd_t));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_MM, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(ymd_t));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_DD, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(ymd_t));
		}
		
		X31SDataBeanAccessArray array = serviceBean.getDataBeanArray(KKW02101SFConst.TEISEI_STAT);
		X31SDataBeanAccess bean = array.getDataBean(0);
		String state = serviceBean.sendMessageString(KKW02101SFConst.TEISEI_STAT_BK, X31CWebConst.DATABEAN_GET_VALUE);
		String index = getSelectCodeIndex(serviceBean, state, KKW02101SFConst.TEISEI_STAT);
		bean.sendMessageString(KKW02101SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, index);
		
		serviceBean.sendMessageString(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return true;
	}
	
	/**
	 * 設置情報更新ボタン押下処理
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean forwardSetchinfoUpd() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 一覧よりラジオボタンが選択されているかチェックを行う
		String selectRadio = selectRadioBtnCheck(serviceBean);
		if("".equals(selectRadio)){
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"選択"}, KKW02101SFConst.SELECT_RADIO);
			return false;
		}
		
		// 訂正対象一覧取得
		X31SDataBeanAccessArray teiseiList = serviceBean.getDataBeanArray(KKW02101SFConst.KIKI_SECCHI_TEISEI_LIST);
		
		// 次画面へ渡す訂正情報の取得
		X31SDataBeanAccess selectBean = teiseiList.getDataBean(Integer.parseInt(selectRadio));
		
		// 次画面引継ぎ用情報を格納するMAPを生成
		HashMap<String, Object> nextDataMap = new HashMap<String, Object>();
		
		// 選択された工事案件番号
		String ankenNo = selectBean.sendMessageString(KKW02101SFConst.L_KOJI_ANKEN_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 選択されたサービス契約番号
		String svcnNo = selectBean.sendMessageString(KKW02101SFConst.L_SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		nextDataMap.put(KKW02101SFConst.KOJI_ANKEN_NO, ankenNo);
		nextDataMap.put(KKW02101SFConst.SVC_KEI_NO, svcnNo);
		
		// 次画面IDをキーに情報設定を行う
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW02102, nextDataMap);
		
		// 工事案件番号＋サービス契約番号
		serviceBean.sendMessageString(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_SET_VALUE, ankenNo + svcnNo);
		
		// 自画面表示用情報を格納するMAPを生成
		HashMap<String, Object> dataMap = setScreenReturnInfo(serviceBean);
		
		// 更新画面より戻る際に必要な情報を自画面IDをキーに情報設定を行う
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW02101, dataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW02101, JKKScreenConst.SCREEN_ID_KKW02101);
		
		// 更新画面と完了画面から戻る際の遷移先を設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW02102, JKKScreenConst.SCREEN_ID_KKW02101);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW02104, JKKScreenConst.SCREEN_ID_KKW02101);
		
		
		// 遷移先画面IDを設定
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW02102);
		
		return true;
	}
	
	/**
	 * CSV出力ボタン押下処理
     * <BR>
	 * @return boolean
	 * @throws Exception 
	 */
	public boolean downloadCsvOut() throws Exception
	{
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// CSV出力用のリストを初期化する
		serviceBean.getDataBeanArray(KKW02101SFConst.CSV_DOWNLOAD_LIST).clearArray();
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {serviceBean};
		
		if(!callService(paramBean, "csv"))
			{
			return true;
		}

		// 生成データをバイトでセット
		JCCWebCommon.setTempDownloadFile(this, kikiFile(serviceBean).getBytes("Shift_JIS"), "KikiTeisei.csv");
		getServiceFormBean().getDataBeanArray(KKW02101SFConst.CSV_DOWNLOAD_LIST).clearArray();
		
		return true;
	}
	
	/**
	 * 自画面再表示用に情報をHashMapに詰め込む
     * <BR>
     * @param serviceBean アクセスクラス
     * @return HashMap セッションへセットする情報
	 * @throws Exception 
	 */
	private HashMap<String, Object> setScreenReturnInfo(X31SDataBeanAccess serviceBean) throws Exception
	{
		// 返却用 HashMap
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// アクセスクラスを使用しサービスフォームBeanの項目名をキーとしてMapに転記する
		// 検索条件
		dataMap.put(KKW02101SFConst.KOJI_ANKEN_NO_BK,
				serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO_BK, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(KKW02101SFConst.SVC_KEI_NO_BK,
				serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO_BK, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(KKW02101SFConst.SETCHINFO_YMD_F_BK,
				serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_BK, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(KKW02101SFConst.SETCHINFO_YMD_T_BK,
				serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_BK, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(KKW02101SFConst.TEISEI_STAT_BK,
				serviceBean.sendMessageString(KKW02101SFConst.TEISEI_STAT_BK, X31CWebConst.DATABEAN_GET_VALUE));
		
		dataMap.put(KKW02101SFConst.SEARCH_KEY,
				serviceBean.sendMessageString(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE));
		
		// プルダウン値を設定する
		// コードリストを取得
		ArrayList<HashMap<String, Object>> stateList = new ArrayList<HashMap<String, Object>>();
		
		X31SDataBeanAccessArray codeArray = serviceBean.getDataBeanArray(KKW02101SFConst.TEISEI_STAT);
		X31SDataBeanAccess cdBean = codeArray.getDataBean(0);
		
		int cdList = Integer.valueOf(cdBean.sendMessage(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT).toString());
		
		HashMap<String, Object> listMap = new HashMap<String, Object>();
		stateList.add(listMap);
		
		ArrayList<String> cdListArray = new ArrayList<String>();
		ArrayList<String> nmListArray = new ArrayList<String>();
		for (int i = 0; i < cdList; i++)
		{
			cdListArray.add(cdBean.sendMessageString(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i));
			nmListArray.add(cdBean.sendMessageString(KKW02101SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i));
		}
		listMap.put(KKW02101SFConst.CD_DIV_CD_01, (String[])cdListArray.toArray(new String[cdListArray.size()]));
		listMap.put(KKW02101SFConst.CD_DIV_NM_01, (String[])nmListArray.toArray(new String[nmListArray.size()]));
		dataMap.put(KKW02101SFConst.TEISEI_STAT, stateList);
		
		// 選択位置取得
		dataMap.put(KKW02101SFConst.SELECT_RADIO, serviceBean.sendMessageString(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_GET_VALUE));
		
		return dataMap;
	}
	
	/**
	 * 退避していた検索条件を画面に設定する。<BR>
	 * 退避していた検索条件を検索条件として設定する。<BR>
	 * 
     * <BR>
     * @param serviceBean
     * @param parameterMap 自画面表示用データ
     * 
	 * @throws Exception 
	 */
	private void setReturnInput(X31SDataBeanAccess serviceBean, HashMap<String, Object> parameterMap) throws Exception
	{
		// 一覧で選択されていた行
//		String select = (String)parameterMap.get(KKW10101SFConst.SELECT_ROW);
//		serviceBean.sendMessageString(KKW10101SFConst.SELECT_ROW, X31CWebConst.DATABEAN_SET_VALUE, select);
		
		
		// 一覧で選択されていたキー情報
		String strKey = (String)parameterMap.get(KKW02101SFConst.SEARCH_KEY);
		serviceBean.sendMessageString(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_SET_VALUE, strKey);
		
		// 工事案件番号From
		String ankenNo = (String)parameterMap.get(KKW02101SFConst.KOJI_ANKEN_NO_BK);
		serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO, X31CWebConst.DATABEAN_SET_VALUE, ankenNo);
		serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO_BK, X31CWebConst.DATABEAN_SET_VALUE, ankenNo);
		
		// サービス契約番号
		String svcNo = (String)parameterMap.get(KKW02101SFConst.SVC_KEI_NO_BK);
		serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcNo);
		serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO_BK, X31CWebConst.DATABEAN_SET_VALUE, svcNo);
		
		// 連携年月日FROM
		String ymdF = (String)parameterMap.get(KKW02101SFConst.SETCHINFO_YMD_F_BK);
		serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_BK, X31CWebConst.DATABEAN_SET_VALUE, ymdF);
		if(!isNull(ymdF) && ymdF.length() > 7)
		{
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_YY, X31CWebConst.DATABEAN_SET_VALUE, ymdF.substring(0, 4));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_MM, X31CWebConst.DATABEAN_SET_VALUE, ymdF.substring(4, 6));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_DD, X31CWebConst.DATABEAN_SET_VALUE, ymdF.substring(6, 8));
		}
		
		// 連携年月日TO
		String ymdT = (String)parameterMap.get(KKW02101SFConst.SETCHINFO_YMD_T_BK);
		serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_BK, X31CWebConst.DATABEAN_SET_VALUE, ymdT);
		if(!isNull(ymdT) && ymdT.length() > 7)
		{
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_YY, X31CWebConst.DATABEAN_SET_VALUE, ymdT.substring(0, 4));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_MM, X31CWebConst.DATABEAN_SET_VALUE, ymdT.substring(4, 6));
			serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_DD, X31CWebConst.DATABEAN_SET_VALUE, ymdT.substring(6, 8));
		}
		
		// 訂正状態
		String state = (String)parameterMap.get(KKW02101SFConst.TEISEI_STAT_BK);
		serviceBean.sendMessageString(KKW02101SFConst.TEISEI_STAT_BK, X31CWebConst.DATABEAN_SET_VALUE, state);
		
		
		// 訂正状態プルダウン生成
		ArrayList<HashMap<String, Object>> teiseiList = (ArrayList<HashMap<String, Object>>)parameterMap.get(KKW02101SFConst.TEISEI_STAT);
		int zice = teiseiList.size();
		HashMap<String, Object> teiseiMap = teiseiList.get(0);
		
		String[] cd = (String[])teiseiMap.get(KKW02101SFConst.CD_DIV_CD_01);
		String[] nm = (String[])teiseiMap.get(KKW02101SFConst.CD_DIV_NM_01);
		
		X31SDataBeanAccessArray stateArray = serviceBean.getDataBeanArray(KKW02101SFConst.TEISEI_STAT);
		stateArray.clearArray();
		X31SDataBeanAccess subBean = stateArray.addDataBean();
		
		for(int i = 0; i < cd.length; i++)
		{
			subBean.sendMessageString(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, cd[i]);
			subBean.sendMessageString(KKW02101SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, nm[i]);
			
			if(state.equals(cd[i]))
			{
				// 選択状態にする
				subBean.sendMessageString(KKW02101SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, i + "");
			}
		}
		
	}
	
	/**
	 * 検索ボタン押下時の入力チェックを行う。<BR>
	 * 
     * <BR>
     * @param serviceBean
     * @return boolean
	 * @throws Exception 
	 */
	private boolean inputCheck(X31SDataBeanAccess serviceBean) throws Exception
	{
		
		boolean errFlg = false;
		
		String kojiAnkenNo = serviceBean.sendMessageString(KKW02101SFConst.KOJI_ANKEN_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String svcKeiNo = serviceBean.sendMessageString(KKW02101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String fY = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_YY, X31CWebConst.DATABEAN_GET_VALUE);
		String fM = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_MM, X31CWebConst.DATABEAN_GET_VALUE);
		String fD = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_F_DD, X31CWebConst.DATABEAN_GET_VALUE);
		String tY = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_YY, X31CWebConst.DATABEAN_GET_VALUE);
		String tM = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_MM, X31CWebConst.DATABEAN_GET_VALUE);
		String tD = serviceBean.sendMessageString(KKW02101SFConst.SETCHINFO_YMD_T_DD, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccessArray comboArray = serviceBean.getDataBeanArray(KKW02101SFConst.TEISEI_STAT);
		X31SDataBeanAccess subbean = comboArray.getDataBean(0);
		String sIndex = subbean.sendMessageString(KKW02101SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		if(isNull(kojiAnkenNo) && isNull(svcKeiNo) && isNull(fY) && isNull(fM) && isNull(fD)
				&& isNull(tY) && isNull(tM) && isNull(tD) && isNull(sIndex))
		{
			// 検索条件が全て未入力の場合エラー
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0410_NW, new String[]{"検索条件"}, KKW02101SFConst.KOJI_ANKEN_NO);
			errFlg = true;
		}
		
		String fromDay = "";
		if(!isNull(fY)){
			// 桁数を揃える
			fromDay = JPCUtilCommon.fillZero(fY, 4, false);
			fromDay = fromDay + JPCUtilCommon.fillZero(fM, 2, false);
			fromDay = fromDay + JPCUtilCommon.fillZero(fD, 2, false);
		}
		
		
		String toDay = "";
		if(!isNull(tY)){
			// 桁数を揃える
			toDay = JPCUtilCommon.fillZero(tY, 4, false);
			toDay = toDay + JPCUtilCommon.fillZero(tM, 2, false);
			toDay = toDay + JPCUtilCommon.fillZero(tD, 2, false);
		}
		
		if(!isNull(fY) && !isNull(tY)){
			if(JPCUtilCommon.checkDate(fromDay, 8) && JPCUtilCommon.checkDate(toDay, 8)){
				if(Long.parseLong(fromDay) > Long.parseLong(toDay)){
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_F_YY);
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_F_MM);
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_F_DD);
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_T_YY);
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_T_MM);
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0270_NW, new String[]{"設置情報連携日(From)","設置情報連携日(To)" ,"日付"}, KKW02101SFConst.SETCHINFO_YMD_T_DD);
					errFlg = true;
				}
			}
		}
		
		return errFlg;
	}
	
	/**
	 * サービス（KKSV017301CC）の呼び出しを行います。
	 * <br>
	 * @param paramBean パラメータとなるBean情報
	 * @param event ボタンイベント
	 * @return 成否
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	private boolean callService(X31SDataBeanAccess[] paramBean, String event) throws Exception
	{
		
		//　共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// 検索処理のユースケースID格納用マップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0173");
		
		
		// データBeanとBPをマッピングするインスタンスを生成
		KKSV0173_KKSV0173OPDBMapper mapper = new KKSV0173_KKSV0173OPDBMapper();
		
		// 共通情報の設定
		HashMap<String, HashMap<String, Object>> inputMap = new HashMap<String, HashMap<String, Object>>();
		HashMap<String, HashMap<String, Object>> outputMap = new HashMap<String, HashMap<String, Object>>();
		
		if("search".equals(event) || "paging".equals(event) || "init".equals(event))
		{
			// 検索処理パターン(固定値で設定）
			mapper.setKKSV017301CC(paramBean, inputMap, "1");
			
			
			// 再検索の場合キーを渡す
			if("init".equals(event))
			{
				// 選択されていたキーを取り出す
				String sKey = paramBean[0].sendMessageString(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
				inputMap.get("KKSV017301CC").put("search_key", sKey);
			}
			else
			{
				inputMap.get("KKSV017301CC").put("search_key", "");
			}
			
			
			// ページング情報の設定
			JCCWebCommon.upmapperPageLinkInfo(this, "0", "KKSV017301CC", inputMap);
			
			
		}
		else if("csv".equals(event))
		{
//			inputMap.get("KKSV017301CC").put("search_key", "");
			
			// 検索処理パターン(固定値で設定）
			mapper.setKKSV017301CC(paramBean, inputMap, "2");
			
			/****落ちるため仮実装（本来設定なし）*********/
			JCCWebCommon.upmapperPageLinkInfo(this, "0", "KKSV017301CC", inputMap);
		}
		
		
		// サービスの呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		if(msgResult != null){
			JCCWebCommon.setMessageInfo(this, msgResult);
			return false;
		}
		
		// メッセージ定義ファイルを読み込む
		JCCMessageCache.setMessageCache();
		
		// サービス結果の転記
		mapper.getKKSV017301CC(paramBean, outputMap);
		
		
		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("KKSV017301CC", outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			
		}else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 検索結果が最大検索件数超えの場合の処理
			String[] msg = {JCCWebCommon.getSearchConst("KKW02101_MAX_SHOW_CNT")};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msg);
			
		} else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// 表示ページに該当するデータがない場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
		}
		
		if(!"csv".equals(event))
		{
			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this,  "0", "KKSV017301CC", outputMap);
			
			// 検索のコマンドIDを設定する（ページングのイベントIDを設定）
			JCCWebCommon.setSearchCommand(this, "B_CHANGE_PAGE");
		}
		
		
		// 遷移先画面IDを設定（自分自身へ）
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW02101);
		// 遷移先画面名を設定
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW02101);
		
		return true;
	}
	
	/**
	 * eoTV機器設置補正対象一覧表のバックカラー設定を行います。
	 * <br>
	 * @param paramBean 設定する一覧のBean情報
	 * @param serviceFormBean 設定する画面のServiceFormBean
	 */
	private void setColorList(X31SDataBeanAccess paramBean, X31SDataBeanAccess serviceFormBean)
	{
		X31SDataBeanAccessArray ankenList = paramBean.getDataBeanArray(KKW02101SFConst.KIKI_SECCHI_TEISEI_LIST);
		int count = ankenList.getCount();
		
		for (int i = 0; i < count; i++)	
		{
			
			X31SDataBeanAccess bean = ankenList.getDataBean(i);
			
			
			if (i % 2 == 0)
			{
				bean.sendMessageString(KKW02101SFConst.L_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE, "odd");
			}
			else
			{
				bean.sendMessageString(KKW02101SFConst.L_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE, "even");
			}
		}

		// 一覧表示件数をサービスより設定する
		serviceFormBean.sendMessageString(KKW02101SFConst.ZENKEN_CNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(count));
		
	}
	
	/**
	 * 訂正情報更新ボタン押下時の入力チェックを行う。<BR>
	 * 
     * <BR>
     * @param serviceBean
     * @return boolean
	 * @throws Exception 
	 */
	private String selectRadioBtnCheck(X31SDataBeanAccess serviceBean) throws Exception
	{
		
		// 一覧より選択されたラジオボタンのValue
		String selectRadio = serviceBean.sendMessageString(KKW02101SFConst.SELECT_RADIO, X31CWebConst.DATABEAN_GET_VALUE);
		
		if(isNull(selectRadio)){
			return "";
		}
		
		return selectRadio;
	}
	
	/**
	 * 機器設置対象のデータファイルを生成します。
	 * @return 機器設置対象データファイル
	 */
	private String kikiFile(X31SDataBeanAccess serviceBean)
	{
		X31SDataBeanAccessArray csvList = serviceBean.getDataBeanArray(KKW02101SFConst.CSV_DOWNLOAD_LIST);
		
		StringBuilder csvRecord = new StringBuilder();
		int size = csvList.getCount();
		for (int i=0; i<size; i++)
		{
			if (csvRecord.length() > 0)
			{
				csvRecord.append("\r\n");
			}
			
			csvRecord.append(dubleQuotEdit(csvList.getDataBean(i)));
		}
		
		String csvBody = separatEdit("\r\n", headerRecordSuccess(), csvRecord.toString());
		
		
		return csvBody;
	}
	
	/**
	 * 指定された文字列の配列をseparatorで結合します。
	 * @param separator 結合文字列
	 * @param strs 結合する文字列
	 * @return 結合された文字列
	 */
	private String separatEdit(String separator, String...strs)
	{
		StringBuffer sb = new StringBuffer();
		
		boolean isFirst = true;
		for (String str : strs)
		{
			if (!isFirst)
			{
				sb.append(separator);
			}
			
			sb.append(str);
			isFirst = false;
		}
		
		return sb.toString();
	}
	
	/**
	 * eoTV機器設置訂正対象.csvのヘッダ行を生成します。
	 * @return
	 */
	private String headerRecordSuccess()
	{
		String haedData = separatEdit(",",
				addDubleQ("訂正状態"),
				addDubleQ("工事案件番号"),
				addDubleQ("サービス契約番号"),
				addDubleQ("設置情報連携年月日"),
				addDubleQ("STB-ID1"),
				addDubleQ("BCAS-ID1"),
				addDubleQ("CCAS-ID1"),
				addDubleQ("STB-ID2"),
				addDubleQ("BCAS-ID2"),
				addDubleQ("CCAS-ID2"),
				addDubleQ("STB-ID3"),
				addDubleQ("BCAS-ID3"),
				addDubleQ("CCAS-ID3"),
				addDubleQ("STB-ID4"),
				addDubleQ("BCAS-ID4"),
				addDubleQ("CCAS-ID4"),
				addDubleQ("STB-ID5"),
				addDubleQ("BCAS-ID5"),
				addDubleQ("CCAS-ID5")
				);
		return haedData;
	}
	
	/**
	 * 指定された文字列の配列をseparatorで結合します。
	 * @param separator 結合文字列
	 * @param strs 結合する文字列
	 * @return 結合された文字列
	 */
	private String dubleQuotEdit(X31SDataBeanAccess dataBean)
	{
		
		String str1 = dataBean.sendMessageString(KKW02101SFConst.L_TEISEI_STAT_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str2 = dataBean.sendMessageString(KKW02101SFConst.L_KOJI_ANKEN_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str3 = dataBean.sendMessageString(KKW02101SFConst.L_SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str4 = dataBean.sendMessageString(KKW02101SFConst.L_SETCHINFO_YMD_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str5 = dataBean.sendMessageString(KKW02101SFConst.L_STB_ID1_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str6 = dataBean.sendMessageString(KKW02101SFConst.L_BCAS_ID1_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str7 = dataBean.sendMessageString(KKW02101SFConst.L_CCAS_ID1_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str8 = dataBean.sendMessageString(KKW02101SFConst.L_STB_ID2_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str9 = dataBean.sendMessageString(KKW02101SFConst.L_BCAS_ID2_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str10 = dataBean.sendMessageString(KKW02101SFConst.L_CCAS_ID2_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str11 = dataBean.sendMessageString(KKW02101SFConst.L_STB_ID3_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str12 = dataBean.sendMessageString(KKW02101SFConst.L_BCAS_ID3_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str13 = dataBean.sendMessageString(KKW02101SFConst.L_CCAS_ID3_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str14 = dataBean.sendMessageString(KKW02101SFConst.L_STB_ID4_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str15 = dataBean.sendMessageString(KKW02101SFConst.L_BCAS_ID4_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str16 = dataBean.sendMessageString(KKW02101SFConst.L_CCAS_ID4_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str17 = dataBean.sendMessageString(KKW02101SFConst.L_STB_ID5_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str18 = dataBean.sendMessageString(KKW02101SFConst.L_BCAS_ID5_02, X31CWebConst.DATABEAN_GET_VALUE);
		String str19 = dataBean.sendMessageString(KKW02101SFConst.L_CCAS_ID5_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		return separatEdit(",",
					addDubleQ(str1),
					addDubleQ(str2),
					addDubleQ(str3),
					addDubleQ(str4),
					addDubleQ(str5),
					addDubleQ(str6),
					addDubleQ(str7),
					addDubleQ(str8),
					addDubleQ(str9),
					addDubleQ(str10),
					addDubleQ(str11),
					addDubleQ(str12),
					addDubleQ(str13),
					addDubleQ(str14),
					addDubleQ(str15),
					addDubleQ(str16),
					addDubleQ(str17),
					addDubleQ(str18),
					addDubleQ(str19)
					);
				
	}
	
	/**
	 * 文字列をダブルクォーで囲む
	 * @param src 囲まれる文字列
	 * @return \"囲まれる文字列\"
	 */
	private String addDubleQ(String src)
	{
		return String.format("\"%s\"", src);
	}
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param arg0 判定する引数
	 * @return 引数に値が設定されていない場合はtrue
	 */
	private boolean isNull(String arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}
	
	/**
	 * 再検索時、選択されてたラジオボタン位置を選択する
     * <BR>
     * @param serviceBean アクセスクラス
     * @return String 案件番号
	 * @throws Exception 
	 */
	private int getKeyMuchSelectNo(X31SDataBeanAccess serviceBean)throws Exception
	{
		int selectNo = 0;
		String key = serviceBean.sendMessageString(KKW02101SFConst.SEARCH_KEY, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 物件一覧取得
		X31SDataBeanAccessArray kikiList = serviceBean.getDataBeanArray(KKW02101SFConst.KIKI_SECCHI_TEISEI_LIST);
		
		
		for(int i = 0; i < kikiList.getCount(); i++)
		{
			
			X31SDataBeanAccess kikiBean = kikiList.getDataBean(i);
			String ankenNo = kikiBean.sendMessageString(KKW02101SFConst.L_KOJI_ANKEN_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			String svcNo = kikiBean.sendMessageString(KKW02101SFConst.L_SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			
			if(key.equals(ankenNo + svcNo))
			{
				selectNo = i;
				break;
			}
		}
		
		return selectNo;
	}
	
	/**
	 * プルダウンから対応するコード値のインデックスを取得します。
	 * 
	 * @param serviceBean サービスフォームビーン
	 * @param state 訂正状態
	 * @param kindSelect コンボ種類
	 * @return 取得したインデックス
	 */
	private String getSelectCodeIndex(X31SDataBeanAccess serviceBean, String state, String kindSelect)
	{
		// コードリストを取得
		X31SDataBeanAccessArray codeArray = serviceBean.getDataBeanArray(kindSelect);
		X31SDataBeanAccess cdBean = codeArray.getDataBean(0);
		
		// インデックスの初期化（添え字を先頭にする）
		cdBean.sendMessageString(KKW02101SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		
		int cdList = Integer.valueOf(cdBean.sendMessage(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT).toString());
		
		String retIndex = "";

		for (int i = 0; i < cdList; i++)
		{
			if (state.equals(cdBean.sendMessageString(KKW02101SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i)))
			{
				retIndex = i + "";
				break;
			}
		}
		
		return retIndex;
	}
	
}
