/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム共通（共通機能）
 *   モジュール名    ：KKW08602SFLogic.java
 *   ソースファイル名：KKW08602SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2012年09月10日
 *＜機能概要＞
 *   サービスエリア警告マスタメンテの登録画面
 *
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *
 **********************************************************************/

package eo.web.webview.KKW08602SF;

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.common.util.JKKCommonUtil;
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.KKSV0616_KKSV0616OPDBMapper;
import eo.web.webview.mapping.KKSV0619_KKSV0619OPDBMapper;
import eo.web.webview.mapping.KKSV0658_KKSV0658OPDBMapper;
import eo.web.webview.mapping.KKSV0659_KKSV0659OPDBMapper;
import eo.web.webview.KKW08601SF.KKW08601SFLogic;

/**
 * 
 * サービスエリア警告マスタメンテの登録を行います。
 * 
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW08602SFLogic extends JCCWebBusinessLogic
{
	/** ALL */
	private static final String CHAR_ALL = "ＡＬＬ";

	/**  */
	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[][] PD_KEYS_PRC_GRP = { { KKW08602SFConst.PRC_GRP_LIST }, { "prc_grp_list" } };
	/** プルダウン情報：料金グループリスト（コード） */
	private static final String[][] PD_CDS_PRC_GRP  = { { KKW08602SFConst.SVC_CD_01, KKW08602SFConst.PRC_GRP_CD_01 }, { "svc_cd", "prc_grp_cd" } };
	/** プルダウン情報：料金グループリスト（名称） */
	private static final String[][] PD_NMS_PRC_GRP  = { { KKW08602SFConst.PRC_GRP_NM_01 }, { "prc_grp_nm" } };

	/** プルダウン情報：料金プランリスト（キー） */
	private static final String[][] PD_KEYS_PPLAN = { { KKW08602SFConst.PPLAN_LIST }, { "pplan_list" } };
	/** プルダウン情報：料金プランリスト（コード） */
	private static final String[][] PD_CDS_PPLAN  = { { KKW08602SFConst.PCRS_CD_02, KKW08602SFConst.PPLAN_CD_02 }, { "pcrs_cd", "pplan_cd" } };
	/** プルダウン情報：料金プランリスト（名称） */
	private static final String[][] PD_NMS_PPLAN  = { { KKW08602SFConst.PPLAN_NM_02 }, { "pplan_nm" } };

	/** プルダウン情報：自動照査チェックリスト（キー） */
	private static final String[][] PD_KEYS_AUTO_SHOSA = { { KKW08602SFConst.AUTO_SHOSA_CHECK_LIST }, { "auto_shosa_check_list" } };
	/** プルダウン情報：自動照査チェックリスト（コード） */
	private static final String[][] PD_CDS_AUTO_SHOSA  = { { KKW08602SFConst.CD_DIV_08 }, { "cd_div" } };
	/** プルダウン情報：自動照査チェックリスト（名称） */
	private static final String[][] PD_NMS_AUTO_SHOSA  = { { KKW08602SFConst.CD_DIV_NM_08 }, { "cd_div_nm" } };

	/** プルダウン情報：チェック種別リスト（キー） */
	private static final String[][] PD_KEYS_CHECK_SBT = { { KKW08602SFConst.CHECK_SBT_LIST }, { "svc_area_ck_sbt_cd_list" } };
	/** プルダウン情報：チェック種別リスト（コード） */
	private static final String[][] PD_CDS_CHECK_SBT  = { { KKW08602SFConst.CD_DIV_03 }, { "cd_div" } };
	/** プルダウン情報：チェック種別リスト（名称） */
	private static final String[][] PD_NMS_CHECK_SBT  = { { KKW08602SFConst.CD_DIV_NM_03 }, { "cd_div_nm" } };

	/** プルダウン情報：都道府県リスト（キー） */
	private static final String[][] PD_KEYS_STATE = { { KKW08602SFConst.STATE_LIST }, { "state_list" } };
	/** プルダウン情報：都道府県リスト（名称） */
	private static final String[][] PD_NMS_STATE  = { { KKW08602SFConst.STATE_NM_04 }, { "state_nm" } };

	/** プルダウン情報：市区町村リスト（キー） */
	private static final String[][] PD_KEYS_CITY = { { KKW08602SFConst.CITY_LIST }, { "city_list" } };
	/** プルダウン情報：市区町村リスト（名称） */
	private static final String[][] PD_NMS_CITY  = { { KKW08602SFConst.CITY_NM_05 }, { "city_nm" } };

	/** プルダウン情報：大字通称リスト（キー） */
	private static final String[][] PD_KEYS_OAZTSU = { { KKW08602SFConst.OAZTSU_LIST }, { "oaztsu_list" } };
	/** プルダウン情報：大字通称リスト（名称） */
	private static final String[][] PD_NMS_OAZTSU  = { { KKW08602SFConst.OAZTSU_NM_06 }, { "oaztsu_nm" } };

	/** プルダウン情報：字丁目リスト（キー） */
	private static final String[][] PD_KEYS_AZCHO = { { KKW08602SFConst.AZCHO_LIST }, { "azcho_list" } };
	/** プルダウン情報：字丁目リスト（名称） */
	private static final String[][] PD_NMS_AZCHO  = { { KKW08602SFConst.AZCHO_NM_07 }, { "azcho_nm" } };

	/**
	 * 初期表示処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionInit() throws Exception
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 引継ぎ情報の取得
		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_2);

		// サービスエリア警告マスタ初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// ******************************************************** //
		// プルダウン生成                                           //
		// ******************************************************** //
		// +++++++++++++++++++++++++++++ //
		// 料金グループリスト            //
		// +++++++++++++++++++++++++++++ //
		setPulldown(svcFormBean, outputMap, KKSV061901CC, null, KKW08602SFConst.PRC_GRP_LIST);

		// +++++++++++++++++++++++++++++ //
		// 料金プランリスト              //
		// +++++++++++++++++++++++++++++ //
		// 初期表示では空白で表示

		// +++++++++++++++++++++++++++++ //
		// 自動照査チェックリスト        //
		// +++++++++++++++++++++++++++++ //
		setPulldown(svcFormBean, outputMap, KKSV061901CC, null, KKW08602SFConst.AUTO_SHOSA_CHECK_LIST);

		// +++++++++++++++++++++++++++++ //
		// チェック種別リスト            //
		// +++++++++++++++++++++++++++++ //
		setPulldown(svcFormBean, outputMap, KKSV061901CC, null, KKW08602SFConst.CHECK_SBT_LIST);

		// +++++++++++++++++++++++++++++ //
		// 都道府県リスト                //
		// +++++++++++++++++++++++++++++ //
		setPulldown(svcFormBean, outputMap, KKSV061901CC, null, KKW08602SFConst.STATE_LIST);

		// +++++++++++++++++++++++++++++ //
		// 市区町村リスト                //
		// +++++++++++++++++++++++++++++ //
		// 初期表示では空白で表示

		// +++++++++++++++++++++++++++++ //
		// 大字通称名リスト              //
		// +++++++++++++++++++++++++++++ //
		// 初期表示では空白で表示

		// +++++++++++++++++++++++++++++ //
		// 字丁目名リスト                //
		// +++++++++++++++++++++++++++++ //
		// 初期表示では空白で表示

		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commonBean = super.getCommonInfoBean();

		// 画面遷移
		setValue(commonBean, CommonInfoCFConst.NEXT_SCREEN_ID,   JKKScreenConst.SCREEN_ID_KKW08602);
		setValue(commonBean, CommonInfoCFConst.NEXT_SCREEN_NAME, JKKScreenConst.SCREEN_NAME_KKW08602);

		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};

		// 選択されたプルダウンを「料金グループコード」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.PRC_GRP_LIST,
				KKW08602SFConst.PRC_GRP_CD,
				KKW08602SFConst.INDEX_01,
				KKW08602SFConst.PRC_GRP_CD_01
		);

		// 「料金グループコード」取得
		String prcGrpCd = getValue(svcFormBean, KKW08602SFConst.PRC_GRP_CD);

		if (isNull(prcGrpCd))
		{
			// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
			X31SDataBeanAccessArray pplan_list = svcFormBean.getDataBeanArray(PD_KEYS_PPLAN[0][0]);
			pplan_list.clearArray();
		}
		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_KKW08602);
			// 切替サービス実行
			invokeService(paramMap, inputMap, outputMap);
			// 取得情報の下りマッピング
			mapper.getPplanChangeCC(paramBean, outputMap);

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKPplanChangeCC, null, KKW08602SFConst.PPLAN_LIST);
		}

		// 共有フォームBean設定
		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 actionAdSearch() throws Exception
	{
		// 引継ぎデータ設定
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 郵便番号
		String pcd1 = getValue(svcFormBean, KKW08602SFConst.PCD1);
		String pcd2 = getValue(svcFormBean, KKW08602SFConst.PCD2);

		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_KKW08602);

		// 遷移先の指定
		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>();

		// 郵便番号
		setValue(svcFormBean, KKW08602SFConst.PCD1, (String)xMap.get(ZMW10601SFConst.SESSION_RET_PCD_1));
		setValue(svcFormBean, KKW08602SFConst.PCD2, (String)xMap.get(ZMW10601SFConst.SESSION_RET_PCD_2));

		// 住所コード
		setValue(svcFormBean, KKW08602SFConst.AD_CD1, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_1));
		setValue(svcFormBean, KKW08602SFConst.AD_CD2, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_2));
		setValue(svcFormBean, KKW08602SFConst.AD_CD3, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_3));
		setValue(svcFormBean, KKW08602SFConst.AD_CD4, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_4));

		// 都道府県名
		svcFormBean.sendMessageString(KKW08602SFConst.STATE_NM,  X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_STATE_NM));
		// 市区町村名
		svcFormBean.sendMessageString(KKW08602SFConst.CITY_NM,   X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_CITY_NM));
		// 大字通称名
		svcFormBean.sendMessageString(KKW08602SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM));
		// 字丁目名
		svcFormBean.sendMessageString(KKW08602SFConst.AZCHO_NM,  X31CWebConst.DATABEAN_SET_VALUE, (String)xMap.get(ZMW10601SFConst.SESSION_RET_AZCHO_NM));

		// マップ作成
		resultMap.put(KKW08602SFConst.STATE_NM,  (String)xMap.get(ZMW10601SFConst.SESSION_RET_STATE_NM));
		resultMap.put(KKW08602SFConst.CITY_NM,   (String)xMap.get(ZMW10601SFConst.SESSION_RET_CITY_NM));
		resultMap.put(KKW08602SFConst.OAZTSU_NM, (String)xMap.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM));
		resultMap.put(KKW08602SFConst.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);

		// インデックスセット
		KKW08601SFLogic.selectedPulldownIndex(
				svcFormBean,
				KKW08602SFConst.STATE_LIST,
				KKW08602SFConst.STATE_NM_04,
				KKW08602SFConst.INDEX_04,
				(String)resultMap.get(KKW08602SFConst.STATE_NM)
		);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08602SFConst.CITY_LIST);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08602SFConst.OAZTSU_LIST);
		// プルダウン作成
		setPulldown(svcFormBean, outputMap, KKSV061901CC, resultMap, KKW08602SFConst.AZCHO_LIST);

		// 市区町村名ＡＬＬチェック
		svcFormBean.sendMessageBoolean(KKW08602SFConst.CITY_ALLCHECK,    X31CWebConst.DATABEAN_SET_VALUE, false);
		// 大字通称名ＡＬＬチェック
		svcFormBean.sendMessageBoolean(KKW08602SFConst.OAZTSU_ALLCHECK,  X31CWebConst.DATABEAN_SET_VALUE, false);
		// 字丁目名ＡＬＬチェック
		svcFormBean.sendMessageBoolean(KKW08602SFConst.AZCHO_ALLCHECK,   X31CWebConst.DATABEAN_SET_VALUE, false);
		// 番地号ＡＬＬチェック
		svcFormBean.sendMessageBoolean(KKW08602SFConst.BNCHIGO_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, false);

		// 遷移先の指定
		X31SDataBeanAccess cmnFormBean = super.getCommonInfoBean();
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08602);
		cmnFormBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08602);

		return true;
	}

	/**
	 * 都道府県名変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionStateChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.STATE_LIST,
				KKW08602SFConst.STATE_NM,
				KKW08602SFConst.INDEX_04,
				KKW08602SFConst.STATE_NM_04
		);

		// 「都道府県名」取得
		String stateNm = svcFormBean.sendMessageString(KKW08602SFConst.STATE_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(stateNm))
		{
			// 市区町村名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_CITY,
					null,
					PD_NMS_CITY,
					KKW08602SFConst.INDEX_05
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_2);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08602SFConst.CITY_LIST);
		}

		// 大字通称名プルダウンをクリア
		KKW08601SFLogic.clearPulldown(
				svcFormBean,
				PD_KEYS_OAZTSU,
				null,
				PD_NMS_OAZTSU,
				KKW08602SFConst.INDEX_06
		);
		// 字丁目名プルダウンをクリア
		KKW08601SFLogic.clearPulldown(
				svcFormBean,
				PD_KEYS_AZCHO,
				null,
				PD_NMS_AZCHO,
				KKW08602SFConst.INDEX_07
		);

		// 共有フォームBean設定
		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 actionCityChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.STATE_LIST,
				KKW08602SFConst.STATE_NM,
				KKW08602SFConst.INDEX_04,
				KKW08602SFConst.STATE_NM_04
		);

		// 選択されたプルダウンを「市区町村名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.CITY_LIST,
				KKW08602SFConst.CITY_NM,
				KKW08602SFConst.INDEX_05,
				KKW08602SFConst.CITY_NM_05
		);

		// 「市区町村名」取得
		String cityNm = svcFormBean.sendMessageString(KKW08602SFConst.CITY_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(cityNm))
		{
			// 大字通称名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_OAZTSU,
					null,
					PD_NMS_OAZTSU,
					KKW08602SFConst.INDEX_06
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_3);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08602SFConst.OAZTSU_LIST);
		}

		// 字丁目名プルダウンをクリア
		KKW08601SFLogic.clearPulldown(
				svcFormBean,
				PD_KEYS_AZCHO,
				null,
				PD_NMS_AZCHO,
				KKW08602SFConst.INDEX_07
		);

		// 共有フォームBean設定
		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 actionOaztsuChg() throws Exception
	{
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// 選択されたプルダウンを「都道府県名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.STATE_LIST,
				KKW08602SFConst.STATE_NM,
				KKW08602SFConst.INDEX_04,
				KKW08602SFConst.STATE_NM_04
		);

		// 選択されたプルダウンを「市区町村名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.CITY_LIST,
				KKW08602SFConst.CITY_NM,
				KKW08602SFConst.INDEX_05,
				KKW08602SFConst.CITY_NM_05
		);

		// 選択されたプルダウンを「大字通称名」に設定
		KKW08601SFLogic.setBeanPulldownCd(
				svcFormBean,
				KKW08602SFConst.OAZTSU_LIST,
				KKW08602SFConst.OAZTSU_NM,
				KKW08602SFConst.INDEX_06,
				KKW08602SFConst.OAZTSU_NM_06
		);

		// 「大字通称名」取得
		String oaztsuNm = svcFormBean.sendMessageString(KKW08602SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE);

		if (isNull(oaztsuNm))
		{
			// 字丁目名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_AZCHO,
					null,
					PD_NMS_AZCHO,
					KKW08602SFConst.INDEX_07
			);
		}
		else
		{
			// 変数の定義
			HashMap<String, Object> outputMap = executeKKSV0659(svcFormBean, JPCModelConstant.FUNC_CD_4);	// 結果格納用マップ

			// プルダウン作成
			setPulldown(svcFormBean, outputMap, JKKTrgtAdInfoSearchCC, null, KKW08602SFConst.AZCHO_LIST);
		}

		// 共有フォームBean設定
		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 actionCityAllcheckChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 市区町村名ＡＬＬチェック変更処理
		cityAllcheckChg();

		// 共有フォームBean設定
		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>
	 */
	private void cityAllcheckChg() throws Exception
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		if (svcFormBean.sendMessageBoolean(KKW08602SFConst.CITY_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// 大字通称名ＡＬＬチェックをtrue
			svcFormBean.sendMessageBoolean(KKW08602SFConst.OAZTSU_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, true);
			// 市区町村名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_CITY,
					null,
					PD_NMS_CITY,
					KKW08602SFConst.INDEX_05
			);
		}
		else
		{
			// 大字通称名ＡＬＬチェックをfalse
			svcFormBean.sendMessageBoolean(KKW08602SFConst.OAZTSU_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, false);
			// 都道府県名変更処理
			actionStateChg();
		}

		// 大字通称名ＡＬＬチェック変更処理
		oaztsuAllcheckChg();
	}

	/**
	 * 大字通称名ＡＬＬチェック変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionOaztsuAllcheckChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 大字通称名ＡＬＬチェック変更処理
		oaztsuAllcheckChg();

		// 共有フォームBean設定
		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>
	 */
	private void oaztsuAllcheckChg() throws Exception
	{
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		if (svcFormBean.sendMessageBoolean(KKW08602SFConst.OAZTSU_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// 字丁目名ＡＬＬチェックをtrue
			svcFormBean.sendMessageBoolean(KKW08602SFConst.AZCHO_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, true);
			// 大字通称名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_OAZTSU,
					null,
					PD_NMS_OAZTSU,
					KKW08602SFConst.INDEX_06
			);
		}
		else
		{
			// 字丁目名ＡＬＬチェックをfalse
			svcFormBean.sendMessageBoolean(KKW08602SFConst.AZCHO_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, false);
			// 市区町村名変更処理
			actionCityChg();
		}

		// 字丁目名ＡＬＬチェック変更処理
		azchoAllcheckChg();
	}

	/**
	 * 字丁目名ＡＬＬチェック変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionAzchoAllcheckChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 字丁目名ＡＬＬチェック変更処理
		azchoAllcheckChg();

		// 共有フォームBean設定
		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>
	 */
	private void azchoAllcheckChg() throws Exception
	{
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		if (svcFormBean.sendMessageBoolean(KKW08602SFConst.AZCHO_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE))
		{
			// 番地号ＡＬＬチェックをtrue
			svcFormBean.sendMessageBoolean(KKW08602SFConst.BNCHIGO_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, true);
			// 字丁目名プルダウンをクリア
			KKW08601SFLogic.clearPulldown(
					svcFormBean,
					PD_KEYS_AZCHO,
					null,
					PD_NMS_AZCHO,
					KKW08602SFConst.INDEX_07
			);
		}
		else
		{
			// 番地号ＡＬＬチェックをfalse
			svcFormBean.sendMessageBoolean(KKW08602SFConst.BNCHIGO_ALLCHECK, X31CWebConst.DATABEAN_SET_VALUE, false);
			// 大字通称名変更処理
			actionOaztsuChg();
		}

		// 番地号ＡＬＬチェック変更処理
		bnchigoAllcheckChg();
	}

	/**
	 * 番地号ＡＬＬチェック変更処理<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionBnchigoAllcheckChg() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 番地号ＡＬＬチェック変更処理
		bnchigoAllcheckChg();

		// 共有フォームBean設定
		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>
	 */
	private void bnchigoAllcheckChg()
	{
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		if (svcFormBean.sendMessageBoolean(KKW08602SFConst.BNCHIGO_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE))
		{
			setValue(svcFormBean, KKW08602SFConst.BNCHIGO, "");
		}
	}

	/**
	 * サービスエリア警告マスタメンテ登録確認画面に画面遷移します。<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionAddcfm() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 選択されているプルダウンの項目値を取得します
		setInputInfo(paramBean[0]);

		// 変数の定義
		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_KKSV0616);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0616OP);

		KKSV0616_KKSV0616OPDBMapper mapper = new KKSV0616_KKSV0616OPDBMapper();
		mapper.setJKKSvcAreaKkkuMstCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		// サービスエリア警告マスタ登録サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 確認画面表示項目編集処理
		setInputInfoDsp(paramBean[0]);

		// 更新確認メッセージを表示
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[] { "サービスエリア警告住所情報の登録" });

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08603);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08603);

		return true;
	}

	/**
	 * 戻るボタン<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionBack() throws Exception
	{
		// 戻り先画面情報の設定
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 遷移先情報の設定
		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);

		return true;
	}

	/**
	 * サービスエリア警告マスタメンテ登録完了画面に画面遷移します。<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionFix() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		// サービスフォームBean
		X31SDataBeanAccess svcFormBean    = super.getServiceFormBean();

		// マッピング用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_KKSV0616);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0616OP);

		KKSV0616_KKSV0616OPDBMapper mapper = new KKSV0616_KKSV0616OPDBMapper();
		mapper.setJKKSvcAreaKkkuMstCC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		// サービスエリア警告マスタ登録サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// メッセージの設定
		JCCWebCommon.setMessageInfo(this, "EKB4390--I", new String[]{"サービスエリア警告マスタ情報の登録"});

		// 遷移先情報の設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW08604);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW08604);

		return true;
	}

	/**
	 * サービスエリア警告マスタメンテ登録画面に画面遷移します。<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionShusei() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 遷移先情報の設定
		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);

		return true;
	}

	/**
	 * 一覧照会画面に画面遷移します。<br>
	 * <br>
	 * @return	正常終了:true 異常修了:false
	 * @throws	Exception 
	 */
	public boolean actionFin() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 遷移先情報の設定
		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);

		return true;
	}

	/**
	 * 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;
	}

	/**
	 * 
	 * @param	svcFormBean
	 * @param	outputMap
	 * @param	outputMapKey
	 * @param	resultMap
	 * @param	setPulldownKey
	 */
	private void setPulldown(
			X31SDataBeanAccess svcFormBean,
			HashMap<String, Object> outputMap,
			String outputMapKey,
			HashMap<String, Object> resultMap,
			String setPulldownKey
	)
	{
		// +++++++++++++++++++++++++++++ //
		// 料金グループリスト            //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.PRC_GRP_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_PRC_GRP,
					PD_CDS_PRC_GRP,
					PD_NMS_PRC_GRP
			);

			// 料金グループリスト　インデックスセット
			if (resultMap != null)
			{
				KKW08601SFLogic.selectedPulldownIndex(
						svcFormBean,
						KKW08602SFConst.PRC_GRP_LIST,
						KKW08602SFConst.PRC_GRP_CD_01,
						KKW08602SFConst.INDEX_01,
						(String)resultMap.get(KKW08602SFConst.PRC_GRP_CD)
				);
			}
			else
			{
				KKW08601SFLogic.setPulldownIndexInit(
						svcFormBean,
						KKW08602SFConst.PRC_GRP_LIST,
						KKW08602SFConst.INDEX_01
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 料金プランリスト              //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.PPLAN_LIST.equals(setPulldownKey))
		{
			// 対象の発行ステータスDataBeanを取得し、データBeanアクセスクラスリストに設定します
			X31SDataBeanAccessArray pplan_list = svcFormBean.getDataBeanArray(PD_KEYS_PPLAN[0][0]);
			pplan_list.clearArray();

			// 下り情報マップから対象の情報を取得します
			HashMap<String, Object> parentMap = (HashMap)outputMap.get(outputMapKey);

			if(parentMap == null) 
			{
				// NULLの場合処理を終了します
				return ;
			}

			// ******************************************************** //
			// コード明細情報リストがNULLか空文字かどうか判定します     //
			// ******************************************************** //
			// コード明細情報リストを取得します
			ArrayList childList = (ArrayList)parentMap.get(PD_KEYS_PPLAN[1][0]);

			if (childList == null || 0 == childList.size())
			{
				// NULL、空の場合処理を終了します
				return ;
			}

			ArrayList<String> pplanNmList    = new ArrayList<String>();
			ArrayList<String> pplanIndexList = new ArrayList<String>();

			// 添え字
			int index = 0;

			// コード明細情報リスト分コードリスト、コード名リストを取得します
			for (int i = 0; i < childList.size(); i++)
			{
				// コード明細情報リストをコード明細情報Mapに設定します
				HashMap<String, Object> childMap = (HashMap<String, Object>)childList.get(i);

				// コード名称取得
				String cdNm = (String)childMap.get(PD_NMS_PPLAN[1][0]);

				if (pplanNmList.contains(cdNm))
				{
					// インデックス取得
					String listIndex = pplanIndexList.get(pplanNmList.indexOf(cdNm));
					X31SDataBeanAccess pplan_info = pplan_list.getDataBean(Integer.parseInt(listIndex));

					// プルダウン情報Beanにコード区分を設定します
					for (int j = 0; j < PD_CDS_PPLAN[0].length; j++)
					{
						// コードを追加
						String workCd = pplan_info.sendMessageString(PD_CDS_PPLAN[0][j], X31CWebConst.DATABEAN_GET_VALUE) + "," + (String)childMap.get(PD_CDS_PPLAN[1][j]);
						pplan_info.sendMessageString(PD_CDS_PPLAN[0][j], X31CWebConst.DATABEAN_SET_VALUE, workCd);
					}
				}
				else
				{
					pplanNmList.add(cdNm);						// 料金プラン名称格納
					pplanIndexList.add(String.valueOf(index));	// インデックス格納

					X31SDataBeanAccess pplan_info = pplan_list.addDataBean();
					// プルダウン情報Beanにコード区分を設定します
					for (int j = 0; j < PD_CDS_PPLAN[0].length; j++)
					{
						pplan_info.sendMessageString(PD_CDS_PPLAN[0][j], X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(PD_CDS_PPLAN[1][j]));
					}
					// プルダウン情報Beanにコード名称を設定します
					pplan_info.sendMessageString(PD_NMS_PPLAN[0][0], X31CWebConst.DATABEAN_SET_VALUE, KKW08601SFLogic.getCdDivNm(childMap, PD_NMS_PPLAN[1][0], index, INDEX_OFF));
					// 添え字のカウントアップ
					index++;
				}
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 自動照査チェックリスト        //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.AUTO_SHOSA_CHECK_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_AUTO_SHOSA,
					PD_CDS_AUTO_SHOSA,
					PD_NMS_AUTO_SHOSA
			);

			KKW08601SFLogic.setPulldownIndexInit(
					svcFormBean,
					KKW08602SFConst.AUTO_SHOSA_CHECK_LIST,
					KKW08602SFConst.INDEX_08
			);
		}

		// +++++++++++++++++++++++++++++ //
		// チェック種別リスト            //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.CHECK_SBT_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownList(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_ON,
					PD_KEYS_CHECK_SBT,
					PD_CDS_CHECK_SBT,
					PD_NMS_CHECK_SBT
			);

			KKW08601SFLogic.setPulldownIndexInit(
					svcFormBean,
					KKW08602SFConst.CHECK_SBT_LIST,
					KKW08602SFConst.INDEX_03
			);
		}

		// +++++++++++++++++++++++++++++ //
		// 都道府県リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.STATE_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_STATE,
					PD_NMS_STATE
			);

			// 都道府県リスト　インデックスセット
			if (resultMap != null)
			{
				KKW08601SFLogic.selectedPulldownIndex(
						svcFormBean,
						KKW08602SFConst.STATE_LIST,
						KKW08602SFConst.STATE_NM_04,
						KKW08602SFConst.INDEX_04,
						(String)resultMap.get(KKW08602SFConst.STATE_NM)
				);
			}
			else
			{
				KKW08601SFLogic.setPulldownIndexInit(
						svcFormBean,
						KKW08602SFConst.STATE_LIST,
						KKW08602SFConst.INDEX_04
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 市区町村リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.CITY_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_CITY,
					PD_NMS_CITY
			);

			// 市区町村リスト　インデックスセット
			if (resultMap != null)
			{
				KKW08601SFLogic.selectedPulldownIndex(
						svcFormBean,
						KKW08602SFConst.CITY_LIST,
						KKW08602SFConst.CITY_NM_05,
						KKW08602SFConst.INDEX_05,
						(String)resultMap.get(KKW08602SFConst.CITY_NM)
				);
			}
			else
			{
				KKW08601SFLogic.setPulldownIndexInit(
						svcFormBean,
						KKW08602SFConst.CITY_LIST,
						KKW08602SFConst.INDEX_05
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 大字通称リスト                //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.OAZTSU_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_OAZTSU,
					PD_NMS_OAZTSU
			);

			// 大字通称名リスト　インデックスセット
			if (resultMap != null)
			{
				KKW08601SFLogic.selectedPulldownIndex(
						svcFormBean,
						KKW08602SFConst.OAZTSU_LIST,
						KKW08602SFConst.OAZTSU_NM_06,
						KKW08602SFConst.INDEX_06,
						(String)resultMap.get(KKW08602SFConst.OAZTSU_NM)
				);
			}
			else
			{
				KKW08601SFLogic.setPulldownIndexInit(
						svcFormBean,
						KKW08602SFConst.OAZTSU_LIST,
						KKW08602SFConst.INDEX_06
				);
			}
		}

		// +++++++++++++++++++++++++++++ //
		// 字丁目リスト                  //
		// +++++++++++++++++++++++++++++ //
		if (setPulldownKey == null || KKW08602SFConst.AZCHO_LIST.equals(setPulldownKey))
		{
			KKW08601SFLogic.setPulldownListNmOnly(
					svcFormBean,
					outputMap,
					outputMapKey,
					BLANK_ON,
					INDEX_OFF,
					PD_KEYS_AZCHO,
					PD_NMS_AZCHO
			);

			// 字丁目リスト　インデックスセット
			if (resultMap != null)
			{
				KKW08601SFLogic.selectedPulldownIndex(
						svcFormBean,
						KKW08602SFConst.AZCHO_LIST,
						KKW08602SFConst.AZCHO_NM_07,
						KKW08602SFConst.INDEX_07,
						(String)resultMap.get(KKW08602SFConst.AZCHO_NM)
				);
			}
			else
			{
				KKW08601SFLogic.setPulldownIndexInit(
						svcFormBean,
						KKW08602SFConst.AZCHO_LIST,
						KKW08602SFConst.INDEX_07
				);
			}
		}
	}

	/**
	 * データBeanから指定された項目の値を取得します。<br>
	 * <br>
	 * @param	bean		画面情報
	 * @param	itemName	項目名
	 * @return	String		項目値
	 */
	private String getValue(X31SDataBeanAccess bean, String itemName)
	{
		return bean.sendMessageString(itemName, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * データBeanに指定された項目の値を設定します。<br>
	 * <br>
	 * @param	bean		画面情報
	 * @param	itemName	項目名
	 * @param	value		設定値
	 */
	private void setValue(X31SDataBeanAccess bean, String itemName, String value)
	{
		bean.sendMessageString(itemName, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * <dd>メソッド名	：選択されているプルダウン名称取得処理
	 * <dd>メソッド説明	：選択されているコードに該当するプルダウン表示名を取得する。
	 * <dd>備考			：なし。
	 * <br>
	 * @param	bean			サービスフォームBean
	 * @param	pulldownInfName	プルダウン情報名(キー値)
	 * @param	beanIndex		インデックス名
	 * @param	beanCdDiv		コード名
	 * @param	beanCdDivNm		名称名
	 * @return 				選択されているプルダウン名称
	 */
	private String getSelectedPulldownName(
			X31SDataBeanAccess bean,
			String pulldownInfName,
			String beanIndex,
			String beanCdDiv,
			String beanCdDivNm
	)
	{
		return KKW08601SFLogic.getPulldownName(
				bean,
				pulldownInfName,
				KKW08601SFLogic.getPulldownCd(bean, pulldownInfName, beanIndex, beanCdDiv),
				beanCdDiv,
				beanCdDivNm
		);
	}

	/**
	 * オブジェクトに値が設定されているか判定します。<br>
	 * <br>
	 * @param	arg0	判定するオブジェクト
	 * @return			オブジェクトに値が設定されていない場合はtrue
	 */
	public static boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}

	/**
	 * 入力項目をセットします。<br>
	 * <br>
	 * @param	bean
	 */
	private void setInputInfo(X31SDataBeanAccess bean)
	{
		// サービスコード
		String svcCd = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.PRC_GRP_LIST, KKW08602SFConst.INDEX_01, KKW08602SFConst.SVC_CD_01);
		setValue(bean, KKW08602SFConst.SVC_CD, svcCd);

		// 料金グループコード
		String prcGrpCd = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.PRC_GRP_LIST, KKW08602SFConst.INDEX_01, KKW08602SFConst.PRC_GRP_CD_01);
		setValue(bean, KKW08602SFConst.PRC_GRP_CD, prcGrpCd);

		// 自動照査チェックコード
		String autoShosaChkCd = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.AUTO_SHOSA_CHECK_LIST, KKW08602SFConst.INDEX_08, KKW08602SFConst.CD_DIV_08);
		setValue(bean, KKW08602SFConst.AUTO_SHOSA_CHECK_CD, autoShosaChkCd);

		// チェック種別コード
		String chkSbtCd = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.CHECK_SBT_LIST, KKW08602SFConst.INDEX_03, KKW08602SFConst.CD_DIV_03);
		setValue(bean, KKW08602SFConst.CHECK_SBT_CD, chkSbtCd);

		// 都道府県名
		String stateNm = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.STATE_LIST, KKW08602SFConst.INDEX_04, KKW08602SFConst.STATE_NM_04);
		setValue(bean, KKW08602SFConst.STATE_NM, stateNm);

		// 市区町村名
		String cityNm = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.CITY_LIST, KKW08602SFConst.INDEX_05, KKW08602SFConst.CITY_NM_05);
		setValue(bean, KKW08602SFConst.CITY_NM, cityNm);

		// 大字通称名
		String oaztsuNm = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.OAZTSU_LIST, KKW08602SFConst.INDEX_06, KKW08602SFConst.OAZTSU_NM_06);
		setValue(bean, KKW08602SFConst.OAZTSU_NM, oaztsuNm);

		// 字丁目名
		String azchoNm = KKW08601SFLogic.getPulldownCd(bean, KKW08602SFConst.AZCHO_LIST, KKW08602SFConst.INDEX_07, KKW08602SFConst.AZCHO_NM_07);
		setValue(bean, KKW08602SFConst.AZCHO_NM, azchoNm);

		// 適用開始年月日
		String tstaymdYear = bean.sendMessageString(KKW08602SFConst.TSTAYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
		String tstaymdMon  = bean.sendMessageString(KKW08602SFConst.TSTAYMD_MON,  X31CWebConst.DATABEAN_GET_VALUE);
		String tstaymdDay  = bean.sendMessageString(KKW08602SFConst.TSTAYMD_DAY,  X31CWebConst.DATABEAN_GET_VALUE);
		if (
				! KKW08601SFLogic.isNull(tstaymdYear)
				&& ! KKW08601SFLogic.isNull(tstaymdMon)
				&& ! KKW08601SFLogic.isNull(tstaymdDay)
		)
		{
			setValue(bean, KKW08602SFConst.TSTSYMD, tstaymdYear + tstaymdMon + tstaymdDay);
		}

		// 適用終了年月日
		String tendymdYear = bean.sendMessageString(KKW08602SFConst.TENDYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
		String tendymdMon  = bean.sendMessageString(KKW08602SFConst.TENDYMD_MON,  X31CWebConst.DATABEAN_GET_VALUE);
		String tendymdDay  = bean.sendMessageString(KKW08602SFConst.TENDYMD_DAY,  X31CWebConst.DATABEAN_GET_VALUE);
		if (
				! KKW08601SFLogic.isNull(tendymdYear)
				&& ! KKW08601SFLogic.isNull(tendymdMon)
				&& ! KKW08601SFLogic.isNull(tendymdDay)
		)
		{
			setValue(bean, KKW08602SFConst.TENDYMD, tendymdYear + tendymdMon + tendymdDay);
		}
	}

	/**
	 * 入力項目を表示項目へセットします。<br>
	 * <br>
	 * @param	svcFormBean
	 */
	private void setInputInfoDsp(X31SDataBeanAccess svcFormBean)
	{
		// 料金グループ名＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.PRC_GRP_NM_DSP,
				getSelectedPulldownName(svcFormBean, KKW08602SFConst.PRC_GRP_LIST, KKW08602SFConst.INDEX_01, KKW08602SFConst.PRC_GRP_CD_01, KKW08602SFConst.PRC_GRP_NM_01)
		);

		// 料金プラン名＿表示
		StringBuffer pplanNm = new StringBuffer();
		X31SDataBeanAccessArray pplanList = svcFormBean.getDataBeanArray(KKW08602SFConst.PPLAN_LIST);
		for (int i = 0; i < pplanList.getCount(); i++)
		{
			X31SDataBeanAccess pplanInfo = pplanList.getDataBean(i);
			if (pplanInfo.sendMessageBoolean(KKW08602SFConst.PPLAN_SEL_02, X31CWebConst.DATABEAN_GET_VALUE))
			{
				if (! "".equals(pplanNm.toString()))
				{
					pplanNm.append(",");
				}
				pplanNm.append(getValue(pplanInfo, KKW08602SFConst.PPLAN_NM_02));
			}
		}
		setValue(svcFormBean, KKW08602SFConst.PPLAN_NM_DSP, pplanNm.toString());

		// 自動照査チェック名＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.AUTO_SHOSA_CHECK_NM_DSP,
				getSelectedPulldownName(svcFormBean, KKW08602SFConst.AUTO_SHOSA_CHECK_LIST, KKW08602SFConst.INDEX_08, KKW08602SFConst.CD_DIV_08, KKW08602SFConst.CD_DIV_NM_08)
		);

		// チェック種別名＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.CHECK_SBT_NM_DSP,
				getSelectedPulldownName(svcFormBean, KKW08602SFConst.CHECK_SBT_LIST, KKW08602SFConst.INDEX_03, KKW08602SFConst.CD_DIV_03, KKW08602SFConst.CD_DIV_NM_03)
		);

		// 都道府県名＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.STATE_NM_DSP,
				getSelectedPulldownName(svcFormBean, KKW08602SFConst.STATE_LIST, KKW08602SFConst.INDEX_04, KKW08602SFConst.STATE_NM_04, KKW08602SFConst.STATE_NM_04)
		);

		// 市区町村名＿表示
		boolean cityAllcheck = svcFormBean.sendMessageBoolean(KKW08602SFConst.CITY_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE);
		String cityNmDsp = cityAllcheck ? CHAR_ALL : getSelectedPulldownName(svcFormBean, KKW08602SFConst.CITY_LIST, KKW08602SFConst.INDEX_05, KKW08602SFConst.CITY_NM_05, KKW08602SFConst.CITY_NM_05);
		setValue(svcFormBean, KKW08602SFConst.CITY_NM_DSP, cityNmDsp);

		// 大字通称名＿表示
		boolean oaztsuAllcheck = svcFormBean.sendMessageBoolean(KKW08602SFConst.OAZTSU_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE);
		String oaztsuNmDsp = cityAllcheck || oaztsuAllcheck ? CHAR_ALL : getSelectedPulldownName(svcFormBean, KKW08602SFConst.OAZTSU_LIST, KKW08602SFConst.INDEX_06, KKW08602SFConst.OAZTSU_NM_06, KKW08602SFConst.OAZTSU_NM_06);
		setValue(svcFormBean, KKW08602SFConst.OAZTSU_NM_DSP, oaztsuNmDsp);

		// 字丁目名＿表示
		boolean azchoAllcheck = svcFormBean.sendMessageBoolean(KKW08602SFConst.AZCHO_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE);
		String azchoNmDsp = cityAllcheck || oaztsuAllcheck || azchoAllcheck ? CHAR_ALL : getSelectedPulldownName(svcFormBean, KKW08602SFConst.AZCHO_LIST, KKW08602SFConst.INDEX_07, KKW08602SFConst.AZCHO_NM_07, KKW08602SFConst.AZCHO_NM_07);
		setValue(svcFormBean, KKW08602SFConst.AZCHO_NM_DSP, azchoNmDsp);

		// 番地号
		boolean bnchigoAllcheck = svcFormBean.sendMessageBoolean(KKW08602SFConst.BNCHIGO_ALLCHECK, X31CWebConst.DATABEAN_GET_VALUE);
		String bnchigoDsp = cityAllcheck || oaztsuAllcheck || azchoAllcheck || bnchigoAllcheck? CHAR_ALL : getValue(svcFormBean, KKW08602SFConst.BNCHIGO);
		setValue(svcFormBean, KKW08602SFConst.BNCHIGO_DSP, bnchigoDsp);

		// 適用開始年月日＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.TSTAYMD_DSP,
				JKKCommonUtil.formatDate(getValue(svcFormBean, KKW08602SFConst.TSTAYMD_YEAR) + getValue(svcFormBean, KKW08602SFConst.TSTAYMD_MON) + getValue(svcFormBean, KKW08602SFConst.TSTAYMD_DAY))
		);

		// 適用終了年月日＿表示
		setValue(
				svcFormBean,
				KKW08602SFConst.TENDYMD_DSP, 
				JKKCommonUtil.formatDate(getValue(svcFormBean, KKW08602SFConst.TENDYMD_YEAR) + getValue(svcFormBean, KKW08602SFConst.TENDYMD_MON) + getValue(svcFormBean, KKW08602SFConst.TENDYMD_DAY))
		);
	}
}