/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理
 *   モジュール名    ：サービスエリア警告マスタメンテ一覧照会
 *   ソースファイル名：KKW08601SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2012年09月07日
 *＜機能概要＞
 *   サービスエリア警告マスタ一覧ビューロジックです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *
 **********************************************************************/
package eo.web.webview.KKW08601SF;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
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.ZMW10601SF.ZMW10601SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.mapping.KKSV0615_KKSV0615OPDBMapper;
import eo.web.webview.mapping.KKSV0619_KKSV0619OPDBMapper;
import eo.web.webview.mapping.KKSV0658_KKSV0658OPDBMapper;
import eo.web.webview.mapping.KKSV0659_KKSV0659OPDBMapper;

/**
 * <dd>クラス名：サービスエリア警告マスタ削除確認ビューロジック
 * 
 * @version 1.0 2012/09/12
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW08601SFLogic extends JCCWebBusinessLogic {

	/** 添え字とラベルの区切り文字 */
	private static final String IDX_SEP = ".";

	/** 検索タイプ：初期検索ボタン押下 */
	private static final int SEARCH_TYPE_INIT    = 0;
	/** 検索タイプ：検索ボタン押下 */
	private static final int SEARCH_TYPE_SEARCH  = 1;
	/** 検索タイプ：ページング押下 */
	private static final int SEARCH_TYPE_PAGING  = 2;

	/**  */
	private static final String KKSV061501CC          = "KKSV061501CC";
	private static final String KKSV061901CC          = "KKSV061901CC";
	private static final String JKKPplanChangeCC      = "JKKPplanChangeCC";
	private static final String JKKTrgtAdInfoSearchCC = "JKKTrgtAdInfoSearchCC";

	/** ブランク付与フラグ */
	private static final boolean BLANK_ON  = true;
	/** インデックス付与フラグ */
	private static final boolean INDEX_ON  = true;
	private static final boolean INDEX_OFF = false;

	/** 画面表示フラグ */
	private static final String GAMEN_NONDSP = "0";
	private static final String GAMEN_DSP    = "1";

	/** 再検索フラグ */
	private static final String RE_SEARCH_ON  = "1";
	private static final String RE_SEARCH_OFF = "0";

	/** プルダウン情報：料金グループリスト（キー） */
	private static final String[][] PD_KEYS_PRC_GRP = { { KKW08601SFConst.SEARCH_PRC_GRP_LIST }, { "prc_grp_list" } };
	/** プルダウン情報：料金グループリスト（コード） */
	private static final String[][] PD_CDS_PRC_GRP  = { { KKW08601SFConst.SVC_CD_02, KKW08601SFConst.PRC_GRP_CD_02 }, { "svc_cd", "prc_grp_cd" } };
	/** プルダウン情報：料金グループリスト（名称） */
	private static final String[][] PD_NMS_PRC_GRP  = { { KKW08601SFConst.PRC_GRP_NM_02 }, { "prc_grp_nm" } };

	/** プルダウン情報：料金プランリスト（キー） */
	private static final String[][] PD_KEYS_PPLAN = { { KKW08601SFConst.SEARCH_PPLAN_LIST }, { "pplan_list" } };
	/** プルダウン情報：料金プランリスト（コード） */
	private static final String[][] PD_CDS_PPLAN  = { { KKW08601SFConst.PCRS_CD_03, KKW08601SFConst.PPLAN_CD_03 }, { "pcrs_cd", "pplan_cd" } };
	/** プルダウン情報：料金プランリスト（名称） */
	private static final String[][] PD_NMS_PPLAN  = { { KKW08601SFConst.PPLAN_NM_03 }, { "pplan_nm" } };

	/** プルダウン情報：自動照査チェックリスト（キー） */
	private static final String[][] PD_KEYS_AUTO_SHOSA = { { KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST }, { "auto_shosa_check_list" } };
	/** プルダウン情報：自動照査チェックリスト（コード） */
	private static final String[][] PD_CDS_AUTO_SHOSA  = { { KKW08601SFConst.CD_DIV_05 }, { "cd_div" } };
	/** プルダウン情報：自動照査チェックリスト（名称） */
	private static final String[][] PD_NMS_AUTO_SHOSA  = { { KKW08601SFConst.CD_DIV_NM_05 }, { "cd_div_nm" } };

	/** プルダウン情報：チェック種別リスト（キー） */
	private static final String[][] PD_KEYS_CHECK_SBT = { { KKW08601SFConst.SEARCH_CHECK_SBT_LIST }, { "svc_area_ck_sbt_cd_list" } };
	/** プルダウン情報：チェック種別リスト（コード） */
	private static final String[][] PD_CDS_CHECK_SBT  = { { KKW08601SFConst.CD_DIV_04 }, { "cd_div" } };
	/** プルダウン情報：チェック種別リスト（名称） */
	private static final String[][] PD_NMS_CHECK_SBT  = { { KKW08601SFConst.CD_DIV_NM_04 }, { "cd_div_nm" } };

	/** プルダウン情報：都道府県リスト（キー） */
	private static final String[][] PD_KEYS_STATE = { { KKW08601SFConst.SEARCH_STATE_LIST }, { "state_list" } };
	/** プルダウン情報：都道府県リスト（名称） */
	private static final String[][] PD_NMS_STATE  = { { KKW08601SFConst.STATE_NM_06 }, { "state_nm" } };

	/** プルダウン情報：市区町村リスト（キー） */
	private static final String[][] PD_KEYS_CITY = { { KKW08601SFConst.SEARCH_CITY_LIST }, { "city_list" } };
	/** プルダウン情報：市区町村リスト（名称） */
	private static final String[][] PD_NMS_CITY  = { { KKW08601SFConst.CITY_NM_07 }, { "city_nm" } };

	/** プルダウン情報：大字通称リスト（キー） */
	private static final String[][] PD_KEYS_OAZTSU = { { KKW08601SFConst.SEARCH_OAZTSU_LIST }, { "oaztsu_list" } };
	/** プルダウン情報：大字通称リスト（名称） */
	private static final String[][] PD_NMS_OAZTSU  = { { KKW08601SFConst.OAZTSU_NM_08 }, { "oaztsu_nm" } };

	/** プルダウン情報：字丁目リスト（キー） */
	private static final String[][] PD_KEYS_AZCHO = { { KKW08601SFConst.SEARCH_AZCHO_LIST }, { "azcho_list" } };
	/** プルダウン情報：字丁目リスト（名称） */
	private static final String[][] PD_NMS_AZCHO  = { { KKW08601SFConst.AZCHO_NM_09 }, { "azcho_nm" } };

	/**
	 * 照会画面初期表示処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionInit() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// セッションから検索条件を取得
		HashMap<String, Object> resultMap = JCCWebCommon.getScreenInfo(this);

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0619);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0619OP);

		KKSV0619_KKSV0619OPDBMapper mapper = new KKSV0619_KKSV0619OPDBMapper();
		mapper.setKKSV061901CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// サービスエリア警告マスタ初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// ******************************************************** //
		// プルダウン生成                                           //
		// ******************************************************** //
		setPulldownInit(svcFormBean, outputMap, resultMap);

		// 画面モードセット（非表示）
		svcFormBean.sendMessageString(KKW08601SFConst.MODE_FLG, X31CWebConst.DATABEAN_SET_VALUE, GAMEN_NONDSP);

		// 再検索フラグ
		String reSearchFlg = svcFormBean.sendMessageString(KKW08601SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		// 再検索＝ＯＮの場合
		if (RE_SEARCH_ON.equals(reSearchFlg))
		{
			// 再検索を行う
			// サービスエリア警告マスタ一覧検索共通処理を呼び出す。
			searchList(svcFormBean, SEARCH_TYPE_INIT);

			// 選択行確認
			setListIndex(svcFormBean, resultMap);
		}

		// ▼▼▼▼▼ 2012/10/24 IT1-2012-0001588 ADD START ▼▼▼▼▼
		// 戻るボタン・閉じるボタン表示設定
		String preScreenId = JCCWebCommon.getScreenId(this);
		if (preScreenId == null || "".equals(preScreenId))
		{
			// 戻るボタン非表示
			svcFormBean.sendMessageString(KKW08601SFConst.BACK_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "2");
			// 閉じるボタン表示
			svcFormBean.sendMessageString(KKW08601SFConst.CL_BTN_FLG,   X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
		else
		{
			// 戻るボタン非表示
			svcFormBean.sendMessageString(KKW08601SFConst.BACK_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// 閉じるボタン表示
			svcFormBean.sendMessageString(KKW08601SFConst.CL_BTN_FLG,   X31CWebConst.DATABEAN_SET_VALUE, "2");
		}
		// ▲▲▲▲▲ 2012/10/24 IT1-2012-0001588 ADD E N D ▲▲▲▲▲

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * （料金グループ選択時）料金プラン変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean selectPrcGrp() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 選択されたプルダウンを「検索条件＿料金グループコード」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_PRC_GRP_LIST,
				KKW08601SFConst.SEARCH_PRC_GRP_CD,
				KKW08601SFConst.INDEX_02,
				KKW08601SFConst.PRC_GRP_CD_02
		);

		// 「検索条件＿料金グループコード」取得
		String prcGrpCd = getString(svcFormBean, KKW08601SFConst.SEARCH_PRC_GRP_CD);

		if (isNull(prcGrpCd))
		{
			// プルダウンクリア
			clearPulldown(
					svcFormBean,
					PD_KEYS_PPLAN,
					PD_CDS_PPLAN,
					PD_NMS_PPLAN,
					KKW08601SFConst.INDEX_03
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
			HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
			HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0658);
			paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0658OP);

			KKSV0658_KKSV0658OPDBMapper mapper = new KKSV0658_KKSV0658OPDBMapper();
			mapper.setPplanChangeCC(paramBean, inputMap, null, JKKScreenConst.SCREEN_ID_KKW08601);
			// 切替サービス実行
			invokeService(paramMap, inputMap, outputMap);
			// 取得情報の下りマッピング
			mapper.getPplanChangeCC(paramBean, outputMap);

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKPplanChangeCC, null, KKW08601SFConst.SEARCH_PPLAN_LIST);
		}

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 住所検索ボタン押下処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionAdSearch() throws Exception
	{
		// 引継ぎデータ設定
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 郵便番号
		String pcd1 = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD1, X31CWebConst.DATABEAN_GET_VALUE);
		String pcd2 = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD2, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap<String, Object> xMap = new HashMap<String, Object>();

		// 値がNULLの場合は設定しない
		if (!isNull(pcd1) && !isNull(pcd2))
		{
			xMap.put(ZMW10601SFConst.SESSION_KEY_PCD_1, pcd1);
			xMap.put(ZMW10601SFConst.SESSION_KEY_PCD_2, pcd2);
		}

		// 遷移先情報設定
		JCCWebCommon.setScreenInfo(this, JZMScreenConst.SCREEN_ID_ZMW10601, xMap);
		JCCWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW10601, JKKScreenConst.SCREEN_ID_KKW08601);

		// 遷移先の指定
		X31SDataBeanAccess cmnFormBean = super.getCommonInfoBean();
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10601);
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10601);

		return true;
	}

	/**
	 * 住所検索からの復帰処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionRetAdSearch() throws Exception
	{
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 引継ぎデータの取得
		HashMap<String, Object> xMap = JCCWebCommon.getScreenInfo(this);
		HashMap<String, Object> resultMap = new HashMap<String, Object>();

		// 郵便番号
		String ad_pcd1 = (String)xMap.get(ZMW10601SFConst.SESSION_RET_PCD_1);
		String ad_pcd2 = (String)xMap.get(ZMW10601SFConst.SESSION_RET_PCD_2);
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD1, X31CWebConst.DATABEAN_SET_VALUE, ad_pcd1);
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD2, X31CWebConst.DATABEAN_SET_VALUE, ad_pcd2);

		// 住所コード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD1, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_1));
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD2, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_2));
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD3, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_3));
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD4, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_4));

		// 都道府県名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_STATE_NM,  X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_STATE_NM));
		// 市区町村名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_CITY_NM,   X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_CITY_NM));
		// 大字通称名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM));
		// 字丁目名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AZCHO_NM,  X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AZCHO_NM));

		// マップ作成
		resultMap.put(KKW08601SFConst.SEARCH_STATE_NM,  (String)xMap.get(ZMW10601SFConst.SESSION_RET_STATE_NM));
		resultMap.put(KKW08601SFConst.SEARCH_CITY_NM,   (String)xMap.get(ZMW10601SFConst.SESSION_RET_CITY_NM));
		resultMap.put(KKW08601SFConst.SEARCH_OAZTSU_NM, (String)xMap.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM));
		resultMap.put(KKW08601SFConst.SEARCH_AZCHO_NM,  (String)xMap.get(ZMW10601SFConst.SESSION_RET_AZCHO_NM));

		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0619);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0619OP);

		KKSV0619_KKSV0619OPDBMapper mapper = new KKSV0619_KKSV0619OPDBMapper();
		mapper.setKKSV061901CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_5);

		// サービスエリア警告マスタ初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// インデックスセット
		selectedPulldownIndex(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.STATE_NM_06,
				KKW08601SFConst.INDEX_06,
				(String)resultMap.get(KKW08601SFConst.SEARCH_STATE_NM)
		);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08601SFConst.SEARCH_CITY_LIST);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08601SFConst.SEARCH_OAZTSU_LIST);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08601SFConst.SEARCH_AZCHO_LIST);

		// 遷移先の指定
		X31SDataBeanAccess cmnFormBean = super.getCommonInfoBean();
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		return true;
	}

	/**
	 * 都道府県名変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionStateChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.SEARCH_STATE_NM,
				KKW08601SFConst.INDEX_06,
				KKW08601SFConst.STATE_NM_06
		);

		// 「都道府県名」取得
		String stateNm = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(stateNm))
		{
			// 市区町村名プルダウンをクリア
			clearPulldown(
					svcFormBean,
					PD_KEYS_CITY,
					null,
					PD_NMS_CITY,
					KKW08601SFConst.INDEX_07
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_2);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08601SFConst.SEARCH_CITY_LIST);
		}

		// 大字通称名プルダウンをクリア
		clearPulldown(
				svcFormBean,
				PD_KEYS_OAZTSU,
				null,
				PD_NMS_OAZTSU,
				KKW08601SFConst.INDEX_08
		);
		// 字丁目名プルダウンをクリア
		clearPulldown(
				svcFormBean,
				PD_KEYS_AZCHO,
				null,
				PD_NMS_AZCHO,
				KKW08601SFConst.INDEX_09
		);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 市区町村名変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionCityChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.SEARCH_STATE_NM,
				KKW08601SFConst.INDEX_06,
				KKW08601SFConst.STATE_NM_06
		);

		// 選択されたプルダウンを「市区町村名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_CITY_LIST,
				KKW08601SFConst.SEARCH_CITY_NM,
				KKW08601SFConst.INDEX_07,
				KKW08601SFConst.CITY_NM_07
		);

		// 「市区町村名」取得
		String cityNm = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(cityNm))
		{
			// 大字通称名プルダウンをクリア
			clearPulldown(
					svcFormBean,
					PD_KEYS_OAZTSU,
					null,
					PD_NMS_OAZTSU,
					KKW08601SFConst.INDEX_08
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_3);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08601SFConst.SEARCH_OAZTSU_LIST);
		}

		// 字丁目名プルダウンをクリア
		clearPulldown(
				svcFormBean,
				PD_KEYS_AZCHO,
				null,
				PD_NMS_AZCHO,
				KKW08601SFConst.INDEX_09
		);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 大字通称名変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionOaztsuChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.SEARCH_STATE_NM,
				KKW08601SFConst.INDEX_06,
				KKW08601SFConst.STATE_NM_06
		);

		// 選択されたプルダウンを「市区町村名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_CITY_LIST,
				KKW08601SFConst.SEARCH_CITY_NM,
				KKW08601SFConst.INDEX_07,
				KKW08601SFConst.CITY_NM_07
		);

		// 選択されたプルダウンを「大字通称名」に設定
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_OAZTSU_LIST,
				KKW08601SFConst.SEARCH_OAZTSU_NM,
				KKW08601SFConst.INDEX_08,
				KKW08601SFConst.OAZTSU_NM_08
		);

		// 「大字通称名」取得
		String oaztsuNm = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(oaztsuNm))
		{
			// 字丁目名プルダウンをクリア
			clearPulldown(
					svcFormBean,
					PD_KEYS_AZCHO,
					null,
					PD_NMS_AZCHO,
					KKW08601SFConst.INDEX_09
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_4);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08601SFConst.SEARCH_AZCHO_LIST);
		}

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 照会画面初期表示処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionSearch() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// サービスエリア警告マスタ一覧検索共通処理を呼び出す。
		searchList(svcFormBean, SEARCH_TYPE_SEARCH);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 検索処理<br>
	 * <br>
	 * @param		svcFormBean
	 * @param		search_type
	 * @exception	Exception
	 */
	private void searchList(
			X31SDataBeanAccess svcFormBean,
			int search_type
	) throws Exception
	{
		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		// 検索条件→DataBean
		setSearchInfo(svcFormBean);

		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0615);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0615OP);

		// 一覧検索パラメータ各種設定
		KKSV0615_KKSV0615OPDBMapper mapper = new KKSV0615_KKSV0615OPDBMapper();
		mapper.setKKSV061501CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", KKSV061501CC, inputMap);

		// サービスエリア警告マスタ初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);	

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(KKSV061501CC, outputMap);

		// 取得情報の下りマッピング
		mapper.getKKSV061501CC(paramBean, outputMap);

		// 一覧表示フラグ
		boolean list_disp_flg = true;

		// 検索結果が0件の場合の処理
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			list_disp_flg = false;
		}
		// 検索結果が最大検索件数超えの場合の処理
		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			String[] msg = { JCCWebCommon.getSearchConst("KKW08601_MAX_SHOW_CNT") };
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msg);
			list_disp_flg = false;
		}
		// 表示ページに該当するデータがない場合の処理
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			if(search_type == SEARCH_TYPE_SEARCH)
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			}
			else
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
			}
			list_disp_flg = false;
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "0", KKSV061501CC, outputMap);

		if (list_disp_flg)
		{
			// 画面モードセット（表示）
			svcFormBean.sendMessageString(KKW08601SFConst.MODE_FLG, X31CWebConst.DATABEAN_SET_VALUE, GAMEN_DSP);
			// 一覧選択 一番目
			svcFormBean.sendMessageString(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT, X31CWebConst.DATABEAN_SET_VALUE, "0");

			// 検索のコマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, "paging");
		}
		else
		{
			// 画面モードセット（非表示）
			svcFormBean.sendMessageString(KKW08601SFConst.MODE_FLG, X31CWebConst.DATABEAN_SET_VALUE, GAMEN_NONDSP);
			// 一覧選択 なし
			svcFormBean.sendMessageString(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT, X31CWebConst.DATABEAN_SET_VALUE, "");
		}

		// 再検索フラグＯＮ
		svcFormBean.sendMessageString(KKW08601SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, RE_SEARCH_ON);

		return;
	}

	/**
	 * 検索条件セット処理<br>
	 * <br>
	 * @param	svcFormBean
	 */
	private void setSearchInfo(X31SDataBeanAccess svcFormBean)
	{
		// 検索条件＿郵便番号
		String pcd1 = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD1,  X31CWebConst.DATABEAN_GET_VALUE);
		String pcd2 = svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD2,  X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD, X31CWebConst.DATABEAN_SET_VALUE, pcd1 == null ? "" : pcd1 + pcd2);

		// 検索条件＿サービスコード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_PRC_GRP_LIST,
				KKW08601SFConst.SEARCH_SVC_CD,
				KKW08601SFConst.INDEX_02,
				KKW08601SFConst.SVC_CD_02
		);

		// 検索条件＿料金グループコード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_PRC_GRP_LIST,
				KKW08601SFConst.SEARCH_PRC_GRP_CD,
				KKW08601SFConst.INDEX_02,
				KKW08601SFConst.PRC_GRP_CD_02
		);

		// 検索条件＿料金コースコード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_PPLAN_LIST,
				KKW08601SFConst.SEARCH_PCRS_CD,
				KKW08601SFConst.INDEX_03,
				KKW08601SFConst.PCRS_CD_03
		);

		// 検索条件＿料金プランコード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_PPLAN_LIST,
				KKW08601SFConst.SEARCH_PPLAN_CD,
				KKW08601SFConst.INDEX_03,
				KKW08601SFConst.PPLAN_CD_03
		);

		// 検索条件＿チェック種別コード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_CHECK_SBT_LIST,
				KKW08601SFConst.SEARCH_CHECK_SBT_CD,
				KKW08601SFConst.INDEX_04,
				KKW08601SFConst.CD_DIV_04
		);

		// 検索条件＿自動照査チェックコード
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST,
				KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_CD,
				KKW08601SFConst.INDEX_05,
				KKW08601SFConst.CD_DIV_05
		);

		// 検索条件＿住所コード
		setString(
				svcFormBean,
				KKW08601SFConst.SEARCH_AD_CD,
				getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD1) +
				getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD2) +
				getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD3) +
				getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD4)
		);

		// 検索条件＿都道府県名
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.SEARCH_STATE_NM,
				KKW08601SFConst.INDEX_06,
				KKW08601SFConst.STATE_NM_06
		);

		// 検索条件＿市区町村名
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_CITY_LIST,
				KKW08601SFConst.SEARCH_CITY_NM,
				KKW08601SFConst.INDEX_07,
				KKW08601SFConst.CITY_NM_07
		);

		// 検索条件＿大字通称名
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_OAZTSU_LIST,
				KKW08601SFConst.SEARCH_OAZTSU_NM,
				KKW08601SFConst.INDEX_08,
				KKW08601SFConst.OAZTSU_NM_08
		);

		// 検索条件＿字丁目名
		setBeanPulldownCd(
				svcFormBean,
				KKW08601SFConst.SEARCH_AZCHO_LIST,
				KKW08601SFConst.SEARCH_AZCHO_NM,
				KKW08601SFConst.INDEX_09,
				KKW08601SFConst.AZCHO_NM_09
		);

		// 検索条件＿適用開始年月日
		setString(
				svcFormBean,
				KKW08601SFConst.SEARCH_TSTAYMD,
				getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_YEAR) +
				getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_MON)  +
				getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_DAY)
		);

		// 検索条件＿適用終了年月日
		setString(
				svcFormBean,
				KKW08601SFConst.SEARCH_TENDYMD,
				getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_YEAR) +
				getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_MON)  +
				getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_DAY)
		);
	}

	/**
	 * 画面項目のクリア処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionClear() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// セッションから検索条件を取得
		JCCWebCommon.getScreenInfo(this);

		// 検索条件＿サービスコード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_SVC_CD,              X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿料金グループコード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PRC_GRP_CD,          X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿料金プランリスト
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PPLAN_LIST,          X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿料金コースコード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCRS_CD,             X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿料金プランコード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PPLAN_CD,            X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿チェック種別コード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_CHECK_SBT_CD,        X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿自動照査チェックコード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_CD, X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿郵便番号１
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD1,                X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿郵便番号２
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD2,                X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿郵便番号
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_PCD,                 X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿住所コード１
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD1,              X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿住所コード２
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD2,              X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿住所コード３
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD3,              X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿住所コード４
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD4,              X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿住所コード
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AD_CD,               X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿都道府県名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_STATE_NM,            X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿市区町村名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_CITY_NM,             X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿大字通称名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_OAZTSU_NM,           X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿字丁目名
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_AZCHO_NM,            X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿番地号（前方一致）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_BNCHIGO,             X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿部分一致
		svcFormBean.sendMessageBoolean(KKW08601SFConst.SEARCH_BNCHIGO_PART_MATCH, X31CWebConst.DATABEAN_SET_VALUE, false);
		// 検索条件＿適用開始年月日（年）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TSTAYMD_YEAR,        X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用開始年月日（月）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TSTAYMD_MON,         X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用開始年月日（日）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TSTAYMD_DAY,         X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用開始年月日
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TSTAYMD,             X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用終了年月日（年）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TENDYMD_YEAR,        X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用終了年月日（月）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TENDYMD_MON,         X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用終了年月日（日）
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TENDYMD_DAY,         X31CWebConst.DATABEAN_SET_VALUE, new String());
		// 検索条件＿適用終了年月日
		svcFormBean.sendMessageString(KKW08601SFConst.SEARCH_TENDYMD,             X31CWebConst.DATABEAN_SET_VALUE, new String());

		// プルダウン＿料金グループ
		setPulldownIndexInit(
				svcFormBean,
				KKW08601SFConst.SEARCH_PRC_GRP_LIST,
				KKW08601SFConst.INDEX_02
		);

		// プルダウン＿料金プラン
		clearPulldown(
				svcFormBean,
				PD_KEYS_PPLAN,
				null,
				PD_NMS_PPLAN,
				KKW08601SFConst.INDEX_03
		);

		// プルダウン＿チェック種別
		setPulldownIndexInit(
				svcFormBean,
				KKW08601SFConst.SEARCH_CHECK_SBT_LIST,
				KKW08601SFConst.INDEX_04
		);

		// プルダウン＿自動照査チェック
		setPulldownIndexInit(
				svcFormBean,
				KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST,
				KKW08601SFConst.INDEX_05
		);

		// プルダウン＿都道府県名
		setPulldownIndexInit(
				svcFormBean,
				KKW08601SFConst.SEARCH_STATE_LIST,
				KKW08601SFConst.INDEX_06
		);

		// プルダウン＿市区町村名
		clearPulldown(
				svcFormBean,
				PD_KEYS_CITY,
				null,
				PD_NMS_CITY,
				KKW08601SFConst.INDEX_07
		);

		// プルダウン＿大字通称名
		clearPulldown(
				svcFormBean,
				PD_KEYS_OAZTSU,
				null,
				PD_NMS_OAZTSU,
				KKW08601SFConst.INDEX_08
		);

		// プルダウン＿字丁目名
		clearPulldown(
				svcFormBean,
				PD_KEYS_AZCHO,
				null,
				PD_NMS_AZCHO,
				KKW08601SFConst.INDEX_09
		);

		// 再検索フラグＯＦＦ
		svcFormBean.sendMessageString(KKW08601SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, RE_SEARCH_OFF);

		// ページ番号のリセット
		JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW08601);
		// 画面モード（非表示）
		svcFormBean.sendMessageString(KKW08601SFConst.MODE_FLG, X31CWebConst.DATABEAN_SET_VALUE, GAMEN_NONDSP);

		// マンションオーナーリストの初期化
		svcFormBean.getDataBeanArray(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST).clearArray();
		// 一覧選択なし
		svcFormBean.sendMessageString(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * ページングリンク処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean changePage() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 一覧検索共通処理を呼び出す。
		searchList(svcFormBean, SEARCH_TYPE_PAGING);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 新規登録ボタン押下処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionAdd() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 一覧情報選択値と同値を持つ情報を取得し、画面へ受け渡す制御項目の設定を行う。
		String sel = getString(svcFormBean, KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT);

		HashMap<String, Object> returnMap;
		if (!"".equals(sel))
		{
			// 画面戻り時の表示データを保持
			returnMap = setReSearchData(svcFormBean, true);
		}
		else
		{
			// 画面戻り時の表示データを保持
			returnMap = setReSearchData(svcFormBean, false);
		}

		// 戻り先画面ＩＤ設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08601, returnMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW08602, JKKScreenConst.SCREEN_ID_KKW08601);

		// 遷移先情報の設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08602);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08602);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 更新ボタン押下処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionUpdate() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 一覧情報選択値と同値を持つ情報を取得し、画面へ受け渡す制御項目の設定を行う。
		String sel = getString(svcFormBean, KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT);

		if (!"".equals(sel))
		{
			// 顧客契約引継リストとしてdataMapに設定
			HashMap<String, Object> hikiMap = getHitgDataMap(svcFormBean, sel);

			// 引継情報の設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08605, hikiMap);

			// 画面戻り時の表示データを保持
			HashMap<String, Object> returnMap = setReSearchData(svcFormBean, true);

			// 戻り先画面ＩＤ設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08601, returnMap);
			JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW08605, JKKScreenConst.SCREEN_ID_KKW08601);

			// 遷移先情報の設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08605);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08605);
		}
		else
		{
			// 共有フォームBean設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);
		}

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 削除ボタン押下処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionDelete() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 一覧情報選択値と同値を持つ情報を取得し、画面へ受け渡す制御項目の設定を行う。
		String sel = getString(svcFormBean, KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT);

		if (!"".equals(sel))
		{
			// 顧客契約引継リストとしてdataMapに設定
			HashMap<String, Object> hikiMap = getHitgDataMap(svcFormBean, sel);

			// 引継情報の設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08608, hikiMap);

			// メッセージ表示処理
			String[] str =
			{
					"サービスエリア警告住所情報の削除"
			};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, str);

			// 画面戻り時の表示データを保持
			HashMap<String, Object> returnMap = setReSearchData(svcFormBean, true);

			// 戻り先画面ＩＤ設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08601, returnMap);
			JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW08608, JKKScreenConst.SCREEN_ID_KKW08601);

			// 遷移先情報の設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08608);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08608);

		}
		else
		{
			// 共有フォームBean設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);
		}

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 詳細ボタン押下処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionDetail() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// セッションから検索条件を取得
		JCCWebCommon.getScreenInfo(this);

		// 一覧情報選択値と同値を持つ情報を取得し、画面へ受け渡す制御項目の設定を行う。
		String sel = getString(svcFormBean, KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT);

		if (!"".equals(sel))
		{
			// 選択あり

			// 選択値より、行のデータを取得
			X31SDataBeanAccessArray list = svcFormBean.getDataBeanArray(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST);
			X31SDataBeanAccess subbean   = list.getDataBean(Integer.parseInt(sel));

			// 詳細画面に渡す情報をHashMapに設定
			// 引継ぎ情報の設定 
			HashMap<String, Object> hikiMap = new HashMap<String, Object>();

			// サービス選択画面への引継ぎ 
			HashMap<String, Object> dataMap = new HashMap<String, Object>();

			dataMap.put(KKW08601SFConst.HKTG_SVC_CD_10,                  getString(subbean, KKW08601SFConst.SVC_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_PRC_GRP_CD_10,              getString(subbean, KKW08601SFConst.PRC_GRP_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_PRC_GRP_CD_NM_10,           getString(subbean, KKW08601SFConst.PRC_GRP_CD_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_PCRS_CD_10,                 getString(subbean, KKW08601SFConst.PCRS_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_PPLAN_CD_10,                getString(subbean, KKW08601SFConst.PPLAN_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_PPLAN_CD_NM_10,             getString(subbean, KKW08601SFConst.PPLAN_CD_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_CHK_SBT_CD_10,              getString(subbean, KKW08601SFConst.CHK_SBT_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_CHK_SBT_CD_NM_10,           getString(subbean, KKW08601SFConst.CHK_SBT_CD_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_AUTO_SHOSA_CHK_TG_CD_10,    getString(subbean, KKW08601SFConst.AUTO_SHOSA_CHK_TG_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_AUTO_SHOSA_CHK_TG_CD_NM_10, getString(subbean, KKW08601SFConst.AUTO_SHOSA_CHK_TG_CD_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_PCD_10,        getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_PCD_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_CD_10,      getString(subbean, KKW08601SFConst.SVTA_KKKU_TAIAD_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_STATE_NM_10,   getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_STATE_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_CITY_NM_10,    getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_CITY_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_OAZTSU_NM_10,  getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_OAZTSU_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_AZCHO_NM_10,   getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_AZCHO_NM_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TG_BNCHIGO_10,    getString(subbean, KKW08601SFConst.SVTA_KKKU_TG_BNCHIGO_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_WDASTISCP_CD_10,  getString(subbean, KKW08601SFConst.SVTA_KKKU_WDASTISCP_CD_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_TSTAYMD_10, getString(subbean, KKW08601SFConst.SVTA_KKKU_TAIAD_TSTAYMD_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_TENDYMD_10, getString(subbean, KKW08601SFConst.SVTA_KKKU_TAIAD_TENDYMD_01));
			dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_RSN_MEMO_10,      getString(subbean, KKW08601SFConst.SVTA_KKKU_RSN_MEMO_01));

			ArrayList<HashMap<String, Object>> dataArray = new ArrayList<HashMap<String, Object>>();
			dataArray.add( dataMap );

			// 顧客契約引継リストとしてdataMapに設定
			hikiMap.put(KKW08601SFConst.SVC_AREA_KKKU_HKTG_LIST, dataArray);

			// 引継情報の設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08610, hikiMap);

			// 画面戻り時の表示データを保持
			HashMap<String, Object> returnMap = setReSearchData(svcFormBean, true);

			// 戻り先画面ＩＤ設定
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW08601, returnMap);
			JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW08610, JKKScreenConst.SCREEN_ID_KKW08601);

			// 遷移先情報の設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08610);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08610);

		}
		else
		{
			// 共有フォームBean設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08601);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08601);
		}

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 戻るボタン処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionBack() throws Exception
	{
		// 戻り先画面情報の設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}


	/**
	 * バックアップデータから画面データを復元する処理<br>
	 * <br>
	 * @param	svcFormBean
	 * @param	listSelectedFlg
	 */
	private HashMap<String, Object> setReSearchData(X31SDataBeanAccess svcFormBean, boolean listSelectedFlg)
	{

		// 次画面から戻ってくる際の引継情報(引継Map)を作成する。
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 検索条件を退避

		if(listSelectedFlg)
		{
			// インデックス取得
			String selIndex = svcFormBean.sendMessageString(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
			// 選択情報取得
			X31SDataBeanAccessArray svcAreaKkkuMstList = svcFormBean.getDataBeanArray(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST);
			X31SDataBeanAccess svcAreaKkkuMstInfo = svcAreaKkkuMstList.getDataBean(Integer.parseInt(selIndex));

			dataMap.put(KKW08601SFConst.SVTA_KKKU_TAIAD_NO_01, getString(svcAreaKkkuMstInfo, KKW08601SFConst.SVTA_KKKU_TAIAD_NO_01));
		}

		setSearchInfo(svcFormBean);

		// 検索条件＿サービスコード
		dataMap.put(KKW08601SFConst.SEARCH_SVC_CD,              getString(svcFormBean, KKW08601SFConst.SEARCH_SVC_CD));
		// 検索条件＿料金グループコード
		dataMap.put(KKW08601SFConst.SEARCH_PRC_GRP_CD,          getString(svcFormBean, KKW08601SFConst.SEARCH_PRC_GRP_CD));
		// 検索条件＿料金コースコード
		dataMap.put(KKW08601SFConst.SEARCH_PCRS_CD,             getString(svcFormBean, KKW08601SFConst.SEARCH_PCRS_CD));
		// 検索条件＿料金プランコード
		dataMap.put(KKW08601SFConst.SEARCH_PPLAN_CD,            getString(svcFormBean, KKW08601SFConst.SEARCH_PPLAN_CD));
		// 検索条件＿チェック種別コード
		dataMap.put(KKW08601SFConst.SEARCH_CHECK_SBT_CD,        getString(svcFormBean, KKW08601SFConst.SEARCH_CHECK_SBT_CD));
		// 検索条件＿自動照査チェックコード
		dataMap.put(KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_CD, getString(svcFormBean, KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_CD));
		// 検索条件＿郵便番号１
		dataMap.put(KKW08601SFConst.SEARCH_PCD1,                getString(svcFormBean, KKW08601SFConst.SEARCH_PCD1));
		// 検索条件＿郵便番号２
		dataMap.put(KKW08601SFConst.SEARCH_PCD2,                getString(svcFormBean, KKW08601SFConst.SEARCH_PCD2));
		// 検索条件＿郵便番号
		dataMap.put(KKW08601SFConst.SEARCH_PCD,                 getString(svcFormBean, KKW08601SFConst.SEARCH_PCD));
		// 検索条件＿住所コード１
		dataMap.put(KKW08601SFConst.SEARCH_AD_CD1,              getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD1));
		// 検索条件＿住所コード２
		dataMap.put(KKW08601SFConst.SEARCH_AD_CD2,              getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD2));
		// 検索条件＿住所コード３
		dataMap.put(KKW08601SFConst.SEARCH_AD_CD3,              getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD3));
		// 検索条件＿住所コード４
		dataMap.put(KKW08601SFConst.SEARCH_AD_CD4,              getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD4));
		// 検索条件＿住所コード
		dataMap.put(KKW08601SFConst.SEARCH_AD_CD,               getString(svcFormBean, KKW08601SFConst.SEARCH_AD_CD));
		// 検索条件＿都道府県名
		dataMap.put(KKW08601SFConst.SEARCH_STATE_NM,            getString(svcFormBean, KKW08601SFConst.SEARCH_STATE_NM));
		// 検索条件＿市区町村名
		dataMap.put(KKW08601SFConst.SEARCH_CITY_NM,             getString(svcFormBean, KKW08601SFConst.SEARCH_CITY_NM));
		// 検索条件＿大字通称名
		dataMap.put(KKW08601SFConst.SEARCH_OAZTSU_NM,           getString(svcFormBean, KKW08601SFConst.SEARCH_OAZTSU_NM));
		// 検索条件＿字丁目名
		dataMap.put(KKW08601SFConst.SEARCH_AZCHO_NM,            getString(svcFormBean, KKW08601SFConst.SEARCH_AZCHO_NM));
		// 検索条件＿番地号（前方一致）
		dataMap.put(KKW08601SFConst.SEARCH_BNCHIGO,             getString(svcFormBean, KKW08601SFConst.SEARCH_BNCHIGO));
		// 検索条件＿部分一致
		dataMap.put(KKW08601SFConst.SEARCH_BNCHIGO_PART_MATCH,  svcFormBean.sendMessageBoolean(KKW08601SFConst.SEARCH_BNCHIGO_PART_MATCH, X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件＿適用開始年月日（年）
		dataMap.put(KKW08601SFConst.SEARCH_TSTAYMD_YEAR,        getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_YEAR));
		// 検索条件＿適用開始年月日（月）
		dataMap.put(KKW08601SFConst.SEARCH_TSTAYMD_MON,         getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_MON));
		// 検索条件＿適用開始年月日（日）
		dataMap.put(KKW08601SFConst.SEARCH_TSTAYMD_DAY,         getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD_DAY));
		// 検索条件＿適用開始年月日
		dataMap.put(KKW08601SFConst.SEARCH_TSTAYMD,             getString(svcFormBean, KKW08601SFConst.SEARCH_TSTAYMD));
		// 検索条件＿適用終了年月日（年）
		dataMap.put(KKW08601SFConst.SEARCH_TENDYMD_YEAR,        getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_YEAR));
		// 検索条件＿適用終了年月日（月）
		dataMap.put(KKW08601SFConst.SEARCH_TENDYMD_MON,         getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_MON));
		// 検索条件＿適用終了年月日（日）
		dataMap.put(KKW08601SFConst.SEARCH_TENDYMD_DAY,         getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD_DAY));
		// 検索条件＿適用終了年月日
		dataMap.put(KKW08601SFConst.SEARCH_TENDYMD,             getString(svcFormBean, KKW08601SFConst.SEARCH_TENDYMD));
		// 再検索フラグ
		dataMap.put(KKW08601SFConst.RE_SEARCH_FLG,              getString(svcFormBean, KKW08601SFConst.RE_SEARCH_FLG));

		return dataMap;
	}

	/**
	 * KKSV0659実行処理<br>
	 * <br>
	 * @param	svcFormBean
	 * @param	funcCd
	 * @return	
	 */
	private HashMap<String, Object> executeKKSV0659(X31SDataBeanAccess svcFormBean, String funcCd)
	{
		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0659);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0659OP);

		KKSV0659_KKSV0659OPDBMapper mapper = new KKSV0659_KKSV0659OPDBMapper();
		mapper.setTrgtAdInfoSearchCC(paramBean, inputMap, funcCd);
		// 切替サービス実行
		invokeService(paramMap, inputMap, outputMap);
		// 取得情報の下りマッピング
		mapper.getTrgtAdInfoSearchCC(paramBean, outputMap);

		return outputMap;
	}

	/**
	 * 引継データ作成処理<br>
	 * <br>
	 * @param	svcFormBean
	 * @param	selectedIndex
	 * @return	
	 */
	private HashMap<String, Object> getHitgDataMap(X31SDataBeanAccess svcFormBean, String selectedIndex)
	{
		// 引継ぎ情報の設定 
		HashMap<String, Object> hikiMap = new HashMap<String, Object>();

		ArrayList<HashMap<String, Object>> dataArray = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// サービスエリア警告マスタ一覧取得
		X31SDataBeanAccessArray svcAreaKkkuMstList = svcFormBean.getDataBeanArray(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST);

		// 選択されているサービスエリア警告マスタ情報取得
		X31SDataBeanAccess svcAreaKkkuMstInfo = svcAreaKkkuMstList.getDataBean(Integer.parseInt(selectedIndex));

		// サービス提供エリア警告対象住所番号
		String svtaKkkuTaiadNo = svcAreaKkkuMstInfo.sendMessageString(KKW08601SFConst.SVTA_KKKU_TAIAD_NO_01, X31CWebConst.DATABEAN_GET_VALUE);

		// 引継情報セット
		dataMap.put(KKW08601SFConst.HKTG_SVTA_KKKU_TAIAD_NO_10, svtaKkkuTaiadNo);
		dataArray.add( dataMap );

		// 顧客契約引継リストとしてdataMapに設定
		hikiMap.put(KKW08601SFConst.SVC_AREA_KKKU_HKTG_LIST, dataArray);

		return hikiMap;
	}

	/**
	 * リスト選択行取得処理<br>
	 * <br>
	 * @param	svcFormBean
	 * @param	resultMap
	 */
	private void setListIndex(X31SDataBeanAccess svcFormBean, HashMap<String, Object> resultMap)
	{
		// サービスエリア警告マスタ一覧情報
		X31SDataBeanAccessArray svcAreaKkkuMstList = svcFormBean.getDataBeanArray(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST);

		// インデックス
		String index = "";

		if (svcAreaKkkuMstList != null && svcAreaKkkuMstList.getCount() > 0)
		{
			// indexで選択されていた行（SVTA_KKKU_TAIAD_NO_01）と一致する行が存在する場合選択
			String trgtSvtaKkkuTaiadNo = (String)resultMap.get(KKW08601SFConst.SVTA_KKKU_TAIAD_NO_01);

			index = "0";

			if(trgtSvtaKkkuTaiadNo != null && !"".equals(trgtSvtaKkkuTaiadNo)){

				for(int rdoindex = 0 ; rdoindex < svcAreaKkkuMstList.getCount() ; rdoindex++)
				{
					X31SDataBeanAccess svcAreaKkkuMstInfo = svcAreaKkkuMstList.getDataBean(rdoindex);

					// サービス提供エリア警告対象住所番号取得
					String svtaKkkuTaiadNo = svcAreaKkkuMstInfo.sendMessageString(KKW08601SFConst.SVTA_KKKU_TAIAD_NO_01, X31CWebConst.DATABEAN_GET_VALUE);

					if(trgtSvtaKkkuTaiadNo.equals(svtaKkkuTaiadNo))
					{
						// 一覧選択
						index = String.valueOf(rdoindex);
						break;
					}
				}
			}
		}

		svcFormBean.sendMessageString(KKW08601SFConst.SVC_AREA_KKKU_MST_LIST_SELECT, X31CWebConst.DATABEAN_SET_VALUE, index);
	}

	/**************************************************************************/
	/** プルダウン操作　処理領域                                             **/
	/**************************************************************************/
	/**
	 * 画面初期表示時　プルダウンセット処理<br>
	 * <br>
	 * <pre>
	 * @param	svcFormBean
	 * @param	outputMap
	 * @param	resultMap		セッション情報
	 * </pre>
	 */
	private void setPulldownInit(
			X31SDataBeanAccess svcFormBean,
			HashMap<String, Object> outputMap,
			HashMap<String, Object> resultMap
	)
	{
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, null);
	}

	/**
	 * プルダウンセット共通処理<br>
	 * <br>
	 * <pre>
	 * @param	svcFormBean
	 * @param	outputMap
	 * @param	resultMap		セッション情報
	 * 							※「null」の場合は、セットするプルダウンの
	 * 							　インデックスを「0」（初期値）にします。
	 * @param	setPulldownKey	セットするプルダウンのキー
	 * 							※「null」の場合は、全プルダウンをセットします。
	 * </pre>
	 */
	private void setPulldown(
			X31SDataBeanAccess svcFormBean,
			HashMap<String, Object> outputMap,
			String outputMapKey,
			HashMap<String, Object> resultMap,
			String setPulldownKey
	)
	{
		// +++++++++++++++++++++++++++++ //
		// 料金グループリスト            //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_PRC_GRP_LIST.equals(setPulldownKey))
		{
			setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_PRC_GRP,
					PD_CDS_PRC_GRP,
					PD_NMS_PRC_GRP
			);

			// 料金グループリスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_PRC_GRP_LIST,
						KKW08601SFConst.PRC_GRP_CD_02,
						KKW08601SFConst.INDEX_02,
						(String)resultMap.get(KKW08601SFConst.SEARCH_PRC_GRP_CD)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_PRC_GRP_LIST,
						KKW08601SFConst.INDEX_02
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 料金プランリスト              //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_PPLAN_LIST.equals(setPulldownKey))
		{
			// 料金プラン名称で、グループ化します
			outputMap = execPplanGrp(
					outputMap,
					outputMapKey,
					PD_KEYS_PPLAN,
					PD_CDS_PPLAN,
					PD_NMS_PPLAN
			);

			setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_PPLAN,
					PD_CDS_PPLAN,
					PD_NMS_PPLAN
			);

			// 料金プランリスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_PPLAN_LIST,
						KKW08601SFConst.PPLAN_CD_03,
						KKW08601SFConst.INDEX_03,
						(String)resultMap.get(KKW08601SFConst.SEARCH_PPLAN_CD)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_PPLAN_LIST,
						KKW08601SFConst.INDEX_03
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 自動照査チェックリスト        //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST.equals(setPulldownKey))
		{
			setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_AUTO_SHOSA,
					PD_CDS_AUTO_SHOSA,
					PD_NMS_AUTO_SHOSA
			);

			// 自動照査チェックリスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST,
						KKW08601SFConst.CD_DIV_05,
						KKW08601SFConst.INDEX_05,
						(String)resultMap.get(KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_CD)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_AUTO_SHOSA_CHECK_LIST,
						KKW08601SFConst.INDEX_05
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// チェック種別リスト            //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_CHECK_SBT_LIST.equals(setPulldownKey))
		{
			setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_CHECK_SBT,
					PD_CDS_CHECK_SBT,
					PD_NMS_CHECK_SBT
			);

			// チェック種別リスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_CHECK_SBT_LIST,
						KKW08601SFConst.CD_DIV_04,
						KKW08601SFConst.INDEX_04,
						(String)resultMap.get(KKW08601SFConst.SEARCH_CHECK_SBT_CD)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_CHECK_SBT_LIST,
						KKW08601SFConst.INDEX_04
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 都道府県リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_STATE_LIST.equals(setPulldownKey))
		{
			setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_STATE,
					PD_NMS_STATE
			);

			// 都道府県リスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_STATE_LIST,
						KKW08601SFConst.STATE_NM_06,
						KKW08601SFConst.INDEX_06,
						(String)resultMap.get(KKW08601SFConst.SEARCH_STATE_NM)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_STATE_LIST,
						KKW08601SFConst.INDEX_06
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 市区町村リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_CITY_LIST.equals(setPulldownKey))
		{
			setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_CITY,
					PD_NMS_CITY
			);

			// 市区町村リスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_CITY_LIST,
						KKW08601SFConst.CITY_NM_07,
						KKW08601SFConst.INDEX_07,
						(String)resultMap.get(KKW08601SFConst.SEARCH_CITY_NM)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_CITY_LIST,
						KKW08601SFConst.INDEX_07
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 大字通称リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_OAZTSU_LIST.equals(setPulldownKey))
		{
			setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_OAZTSU,
					PD_NMS_OAZTSU
			);

			// 大字通称名リスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_OAZTSU_LIST,
						KKW08601SFConst.OAZTSU_NM_08,
						KKW08601SFConst.INDEX_08,
						(String)resultMap.get(KKW08601SFConst.SEARCH_OAZTSU_NM)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_OAZTSU_LIST,
						KKW08601SFConst.INDEX_08
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 字丁目リスト                  //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08601SFConst.SEARCH_AZCHO_LIST.equals(setPulldownKey))
		{
			setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_AZCHO,
					PD_NMS_AZCHO
			);

			// 字丁目リスト　インデックスセット
			if (resultMap != null)
			{
				selectedPulldownIndex(
						svcFormBean,
						KKW08601SFConst.SEARCH_AZCHO_LIST,
						KKW08601SFConst.AZCHO_NM_09,
						KKW08601SFConst.INDEX_09,
						(String)resultMap.get(KKW08601SFConst.SEARCH_AZCHO_NM)
				);
			}
			else
			{
				setPulldownIndexInit(
						svcFormBean,
						KKW08601SFConst.SEARCH_AZCHO_LIST,
						KKW08601SFConst.INDEX_09
				);
			}
		}
	}

	/**
	 * <dd>メソッド名	：setPulldownList
	 * <dd>メソッド説明	：下り情報Mapから取得したコードリスト、コード名リストを
	 *                    プルダウン情報Beanに設定します。
	 * <br>
	 * <pre>
	 * @param	bean			データBeanアクセスクラス
	 * @param	outputMap		下り情報Map
	 * @param	outMapKey		下り情報Map取得キー
	 * @param	blankFlag		１行目ブランク付与フラグ（TRUE:付与する FALSE:付与しない）
	 * @param	indexFlag		インデックス付与フラグ（TRUE:付与する FALSE:付与しない）
	 * @param	pulldownKeys	[0] プルダウンキー
	 * 							[1] プルダウン情報保有マップキー
	 * @param	beanCdDivs		[0] コードリストキー配列
	 * 							[1] コードリスト情報保有マップキー配列
	 * @param	beanCdDivNm		[0] コードリスト名称キー
	 * 							[1] コードリスト名称情報保有マップキー
	 * </pre>
	 */
	@SuppressWarnings("unchecked")
	public static void setPulldownList(
			X31SDataBeanAccess bean,
			HashMap<String, Object> outputMap,
			String outMapKey,
			boolean blankFlag,
			boolean indexFlag,
			String[][] pulldownKeys,
			String[][] pulldownCds,
			String[][] pulldownNms
	)
	{
		// ******************************************************** //
		// データBeanアクセスクラスがNULLかどうか判定します         //
		// ******************************************************** //
		if (bean == null)
		{
			// NULLの場合処理を終了します
			return ;
		}
		// ******************************************************** //
		// 下り情報MapがNULLか判定します                            //
		// ******************************************************** //
		if(outputMap == null)
		{
			// NULLの場合処理を終了します
			return ;
		}
		// ******************************************************** //
		// プルダウンキーがNULLか空文字かどうか判定します           //
		// ******************************************************** //
		if (pulldownKeys[0][0] == null || "".equals(pulldownKeys[0][0]))
		{
			// NULL、空文字の場合処理を終了します
			return ;
		}
		// ******************************************************** //
		// 下り情報Map取得キーがNULLか空文字かどうか判定します      //
		// ******************************************************** //
		if (outMapKey == null || "".equals(outMapKey))
		{
			// NULL、空文字の場合処理を終了します
			return ;
		}

		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldown_list = bean.getDataBeanArray(pulldownKeys[0][0]);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldown_subbean   = pulldown_list.getDataBean(0);

		// ******************************************************** //
		// プルダウン情報Beanのコードリスト領域のクリアを行います   //
		// ******************************************************** //
		if (pulldownCds != null)
		{
			for (int i = 0; i < pulldownCds[0].length; i++)
			{
				pulldown_subbean.sendMessage(pulldownCds[0][i], X31CWebConst.DATABEAN_CLEAR);
			}
		}
		// プルダウン情報Beanのコードリスト名領域のクリアを行います
		pulldown_subbean.sendMessage(pulldownNms[0][0], X31CWebConst.DATABEAN_CLEAR);

		// ******************************************************** //
		// ******************************************************** //
		// 下り情報マップから対象の情報を取得します
		HashMap<String, Object> parentMap = (HashMap)outputMap.get(outMapKey);

		if(parentMap == null) 
		{
			// NULLの場合処理を終了します
			return ;
		}

		// ******************************************************** //
		// コード明細情報リストがNULLか空文字かどうか判定します     //
		// ******************************************************** //
		// コード明細情報リストを取得します
		ArrayList childList = (ArrayList)parentMap.get(pulldownKeys[1][0]);

		if (childList == null || 0 == childList.size())
		{
			// NULL、空の場合処理を終了します
			return ;
		}

		// ******************************************************** //
		// 先頭に空文字を設定するか判定します                       //
		// ******************************************************** //
		if(blankFlag)
		{
			// 先頭に空文字を設定します
			if (pulldownCds != null)
			{
				for (int i = 0; i < pulldownCds[0].length; i++)
				{
					pulldown_subbean.sendMessageString(pulldownCds[0][i], X31CWebConst.DATABEAN_ADD_VALUE, "");
				}
			}
			pulldown_subbean.sendMessageString(pulldownNms[0][0], X31CWebConst.DATABEAN_ADD_VALUE, "");
		}

		// 添え字
		int index = 1;

		// コード明細情報リスト分コードリスト、コード名リストを取得します
		for (int i = 0; i < childList.size(); i++)
		{
			// コード明細情報リストをコード明細情報Mapに設定します
			HashMap<String, Object> childMap = (HashMap<String, Object>)childList.get(i);
			if (pulldownCds != null)
			{
				// プルダウン情報Beanにコード区分を設定します
				for (int j = 0; j < pulldownCds[0].length; j++)
				{
					pulldown_subbean.sendMessageString(pulldownCds[0][j], X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get(pulldownCds[1][j]));
				}
			}
			// プルダウン情報Beanにコード名称を設定します
			pulldown_subbean.sendMessageString(pulldownNms[0][0], X31CWebConst.DATABEAN_ADD_VALUE, getCdDivNm(childMap, pulldownNms[1][0], index, indexFlag));
			// 添え字のカウントアップ
			index++;
		}
	}

	/**
	 * <dd>メソッド名	：setPulldownListNmOnly
	 * <dd>メソッド説明	：下り情報Mapから取得したコード名リストを
	 *                    プルダウン情報Beanに設定します。
	 * <br>
	 * <pre>
	 * @param	bean			データBeanアクセスクラス
	 * @param	outputMap		下り情報Map
	 * @param	outMapKey		下り情報Map取得キー
	 * @param	blankFlag		１行目ブランク付与フラグ（TRUE:付与する FALSE:付与しない）
	 * @param	indexFlag		インデックス付与フラグ（TRUE:付与する FALSE:付与しない）
	 * @param	pulldownKeys	[0] プルダウンキー
	 * 							[1] プルダウン情報保有マップキー
	 * @param	beanCdDivNm		[0] コードリスト名称キー
	 * 							[1] コードリスト名称情報保有マップキー
	 * </pre>
	 */
	@SuppressWarnings("unchecked")
	public static void setPulldownListNmOnly(
			X31SDataBeanAccess bean,
			HashMap<String, Object> outputMap,
			String outMapKey,
			boolean blankFlag,
			boolean indexFlag,
			String[][] pulldownKeys,
			String[][] pulldownNms
	)
	{
		setPulldownList(
				bean,
				outputMap,
				outMapKey,
				blankFlag,
				indexFlag,
				pulldownKeys,
				null,
				pulldownNms
		);
	}

	/**
	 * <dd>メソッド名	：プルダウン選択処理
	 * <dd>メソッド説明	：指定のコードでプルダウンを選択状態にします。
	 * <dd>備考			：なし。
	 * <br>
	 * <pre>
	 * @param	bean			データBeanアクセスクラス
	 * @param	pulldownKey		プルダウンキー
	 * @param	pulldownCd		コードリストキー
	 * @param	pulldownIndex	インデックスキー
	 * @param	targetCd		指定コード
	 * </pre>
	 */
	public static void selectedPulldownIndex(
			X31SDataBeanAccess bean,
			String pulldownKey,
			String pulldownCd,
			String pulldownIndex,
			String targetCd
	)
	{
		String index = "0";

		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldownInfList = bean.getDataBeanArray(pulldownKey);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldownInf          = pulldownInfList.getDataBean(0);

		if (! isNull(targetCd))
		{
			// プルダウン行数取得
			int count = (Integer)pulldownInf.sendMessage(pulldownCd, X31CWebConst.DATABEAN_GET_COUNT);
			for (int i = 0 ; i < count ; i++)
			{
				// コード取得
				String cd = pulldownInf.sendMessageString(pulldownCd, X31CWebConst.DATABEAN_GET_VALUE, i);
				if (cd.equals(targetCd))
				{
					// コードが一致する場合、インデックスを取得
					index = String.valueOf(i);
					break;
				}
			}
		}

		// インデックスセット
		pulldownInf.sendMessageString(pulldownIndex, X31CWebConst.DATABEAN_SET_VALUE, index);
	}

	/**
	 * プルダウンの選択位置を初期化します<br>
	 * <br>
	 * @param	bean
	 * @param	pulldownKey
	 * @param	pulldownIndex
	 */
	public static void setPulldownIndexInit(
			X31SDataBeanAccess bean,
			String pulldownKey,
			String pulldownIndex
	)
	{
		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldownInfList = bean.getDataBeanArray(pulldownKey);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldownInf          = pulldownInfList.getDataBean(0);

		// インデックスセット
		pulldownInf.sendMessageString(pulldownIndex, X31CWebConst.DATABEAN_SET_VALUE, "0");
	}

	/**
	 * プルダウンで取得したコードを対象のBEANに設定する<br>
	 * <br>
	 * @param	bean
	 * @param	pulldownNm
	 * @param	trgtBeanKey
	 * @param	beanIndex
	 * @param	beanCdDiv
	 */
	public static void setBeanPulldownCd(
			X31SDataBeanAccess bean,
			String pulldownNm,
			String trgtBeanKey,
			String beanIndex,
			String beanCdDiv
	)
	{
		setString(bean, trgtBeanKey, getPulldownCd(bean, pulldownNm, beanIndex, beanCdDiv));
	}

	/**
	 * プルダウンの選択値より、コードを取得する<br>
	 * <br>
	 * @param	bean
	 * @param	pulldownNm
	 * @param	beanIndex
	 * @param	beanCdDiv
	 * @return
	 */
	public static String getPulldownCd(
			X31SDataBeanAccess bean,
			String pulldownNm,
			String beanIndex,
			String beanCdDiv
	)
	{
		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldownList = bean.getDataBeanArray(pulldownNm);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldownInfo = pulldownList.getDataBean(0);

		String selIndex = getString(pulldownInfo, beanIndex);
		String ret = "";

		if (!isNull(selIndex) && !"0".equals(selIndex))
		{
			ret = pulldownInfo.sendMessageString(beanCdDiv, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selIndex));
		}

		return ret;
	}

	/**
	 * <dd>メソッド名	：プルダウン名称取得処理
	 * <dd>メソッド説明	：指定のコードに該当するプルダウン表示名を取得する。
	 * <dd>備考			：なし。
	 * @param	bean			サービスフォームBean
	 * @param	pulldownInfName	プルダウン情報名(キー値)
	 * @param	targetCd		指定コード
	 * @param	beanCdDiv		コード名
	 * @param	beanCdDivNm		名称名
	 * @return	String			プルダウン名称
	 */
	public static String getPulldownName(
			X31SDataBeanAccess bean,
			String pulldownInfName,
			String targetCd,
			String beanCdDiv,
			String beanCdDivNm
	)
	{
		String name = "";

		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldownInfList = bean.getDataBeanArray(pulldownInfName);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldownInf          = pulldownInfList.getDataBean(0);

		if (!isNull(targetCd))
		{
			// プルダウン行数取得
			int count = (Integer)pulldownInf.sendMessage(beanCdDiv, X31CWebConst.DATABEAN_GET_COUNT);
			for (int i = 0 ; i < count ; i++)
			{
				// コード取得
				String cd = pulldownInf.sendMessageString(beanCdDiv, X31CWebConst.DATABEAN_GET_VALUE, i);
				if (cd.equals(targetCd))
				{
					String values = pulldownInf.sendMessageString(beanCdDivNm, X31CWebConst.DATABEAN_GET_VALUE, i);

					// プルダウンに表示している値から添え字部分を除いた文字列を名称として取得する
					int pos = values.indexOf(IDX_SEP);	// 最初のドットを探す

					if (pos >= 0)
					{
						name = values.substring(pos+1).trim();
					}
					else
					{
						name = values;
					}
					break;
				}
			}
		}

		return name;
	}

	/**
	 * <dd>メソッド名	：プルダウン情報クリア処理
	 * <dd>メソッド説明	：プルダウン情報に設定されている値をクリアする。
	 * <dd>備考			：なし。
	 * <br>
	 * @param	bean			サービスフォームBean
	 * @param	pulldownKeys
	 * @param	pulldownCds
	 * @param	pulldownNms
	 * @param	pulldownIndex
	 */
	public static void clearPulldown(
			X31SDataBeanAccess bean,
			String[][] pulldownKeys,
			String[][] pulldownCds,
			String[][] pulldownNms,
			String pulldownIndex
	)
	{
		// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
		X31SDataBeanAccessArray pulldownInfList = bean.getDataBeanArray(pulldownKeys[0][0]);
		// データBeanアクセスクラスに対象のプルダウン情報Beanを設定します
		X31SDataBeanAccess pulldownInf          = pulldownInfList.getDataBean(0);

		if (pulldownCds != null)
		{
			// プルダウン情報Beanのリスト領域のクリア
			for (int i = 0; i < pulldownCds[0].length; i++)
			{
				pulldownInf.sendMessage(pulldownCds[0][i], X31CWebConst.DATABEAN_CLEAR);
			}
		}
		pulldownInf.sendMessage(pulldownNms[0][0], X31CWebConst.DATABEAN_CLEAR);

		if (pulldownIndex != null)
		{
			// 添え字には"0"を設定
			pulldownInf.sendMessageString(pulldownIndex, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
	}

	/**
	 * <dd>メソッド名	：プルダウン情報クリア処理
	 * <dd>メソッド説明	：プルダウン情報に設定されている値をクリアする。
	 * <dd>備考			：なし。
	 * <br>
	 * @param	bean
	 * @param	pulldownKeys
	 * @param	pulldownCds
	 * @param	pulldownNms
	 */
	public static void clearPulldown(
			X31SDataBeanAccess bean,
			String[][] pulldownKeys,
			String[][] pulldownCds,
			String[][] pulldownNms
	)
	{
		clearPulldown(bean, pulldownKeys, pulldownCds, pulldownNms, null);
	}

	/**
	 * 
	 * @param	bean
	 * @param	key
	 * @return
	 */
	private static String getString(X31SDataBeanAccess bean, String key)
	{
		return bean.sendMessageString(key, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * 
	 * @param	bean
	 * @param	key
	 * @param	val
	 */
	private static void setString(X31SDataBeanAccess bean, String key, String val)
	{
		bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, val);
	}

	/**
	 * オブジェクトに値が設定されているか判定します。<br>
	 * <br>
	 * @param	arg0	判定するオブジェクト
	 * @return			オブジェクトに値が設定されていない場合はtrue
	 */
	public static boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}

	/**
	 * 
	 * @param	childMap
	 * @param	cdDivNmKey
	 * @param	index
	 * @param	indexFlag
	 * @return
	 */
	public static String getCdDivNm(HashMap<String, Object> childMap, String cdDivNmKey, int index, boolean indexFlag)
	{
		// 対象のBeanにコード区分名を設定します
		String cdDivNm = (String)childMap.get(cdDivNmKey);

		if (indexFlag)
		{
			cdDivNm = index + IDX_SEP + cdDivNm;
		}

		return cdDivNm;
	}

	private static HashMap<String, Object> execPplanGrp(
			HashMap<String, Object> outputMap,
			String outMapKey,
			String[][] pulldownKeys,
			String[][] pulldownCds,
			String[][] pulldownNms
	)
	{
		// ******************************************************** //
		// 下り情報MapがNULLか判定します                            //
		// ******************************************************** //
		if(outputMap == null)
		{
			// NULLの場合処理を終了します
			return outputMap;
		}
		// ******************************************************** //
		// プルダウンキーがNULLか空文字かどうか判定します           //
		// ******************************************************** //
		if (pulldownKeys[0][0] == null || "".equals(pulldownKeys[0][0]))
		{
			// NULL、空文字の場合処理を終了します
			return outputMap;
		}
		// ******************************************************** //
		// 下り情報Map取得キーがNULLか空文字かどうか判定します      //
		// ******************************************************** //
		if (outMapKey == null || "".equals(outMapKey))
		{
			// NULL、空文字の場合処理を終了します
			return outputMap;
		}

		// ******************************************************** //
		// ******************************************************** //
		// 下り情報マップから対象の情報を取得します
		HashMap<String, Object> parentMap = (HashMap)outputMap.get(outMapKey);

		if(parentMap == null) 
		{
			// NULLの場合処理を終了します
			return outputMap;
		}

		// ******************************************************** //
		// コード明細情報リストがNULLか空文字かどうか判定します     //
		// ******************************************************** //
		// コード明細情報リストを取得します
		ArrayList childList = (ArrayList)parentMap.get(pulldownKeys[1][0]);

		if (childList == null || 0 == childList.size())
		{
			// NULL、空の場合処理を終了します
			return outputMap;
		}

		ArrayList<String> pplanNmList = new ArrayList<String>();
		ArrayList<HashMap<String, Object>> pplanInfoList = new ArrayList<HashMap<String, Object>>();

		// コード明細情報リスト分コードリスト、コード名リストを取得します
		for (int i = 0; i < childList.size(); i++)
		{
			// コード明細情報リストをコード明細情報Mapに設定します
			HashMap<String, Object> childMap = (HashMap<String, Object>)childList.get(i);

			// コード名称取得
			String cdNm = (String)childMap.get(pulldownNms[1][0]);

			// 対象のコード名称がすでに登録済みか判断します
			if (pplanNmList.contains(cdNm))
			{
				// すでに登録している場合
				HashMap<String, Object> workMap = pplanInfoList.get(pplanNmList.indexOf(cdNm));
				// 登録しているマップに、コードを追加します
				for (int j = 0; j < pulldownCds[0].length; j++)
				{
					// コードを追加
					String workCd = workMap.get(pulldownCds[1][j]) + "," + childMap.get(pulldownCds[1][j]);
					workMap.put(pulldownCds[1][j], workCd);
				}
			}
			else
			{
				// まだ登録していない場合
				pplanNmList.add(cdNm);
				pplanInfoList.add(childMap);
			}
		}

		// 格納
		parentMap.put(pulldownKeys[1][0], pplanInfoList);

		return outputMap;
	}
}
