/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：KKW01201SFLogic
*   ソースファイル名：KKW01201SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年04月14日
*＜機能概要＞
*   サービス申込画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/10/04   FJ）松田    新規作成
*   v4.00.00    2012/09/04   FJ) 谷口    【TAI-2012-0000059】リストボックスの選択をインデックスからコード値に変更
*   v4.01.00    2013/03/06   FJ）谷口    【IT故障479】エリアチェック画面の住所対応２
*   v4.02.00    2013/03/06   FJ）谷口    【IT故障480】エリアチェック画面の住所対応３
*   v5.00.00    2013/04/16   FJ）薄出    【IT1-2013-0000915】子画面でコミットした場合の再審査対応
*   v7.00.00    2014/03/05   FJ）中山    【ANK-1828-00-00】地図システムのポイント表示対応
*   v40.00.00	2018/11/07	 FJ) 吉田	 【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*   v40.01.00	2018/11/07	 FJ) 吉田	 【IT1-2018-0000202】住所変更登録画面エリアチェック不備
*   v40.02.00	2018/12/04	 FJ) 吉田	 【IT1-2018-0000225】５ギガ速度コード変更
*   v56.00.00   2021/11/17   FJ) 新谷    【ANK-4154-00-00】【eo】不要資産削除対応
**********************************************************************/
package eo.web.webview.KKW01201SF;

import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.AD_KEY_PCD_1;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.AD_KEY_PCD_2;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.CCSV0006;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.CHK_SBT_CD_MAISON;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.CHK_SBT_CD_MANS;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.KKSV0433;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MAISON_AREA;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MANS_AREA;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MSG_SVC_EOADSL;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MSG_SVC_EOHNT;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MSG_SVC_EOHTL;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.MSG_SVC_HTV;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHNT_HOME;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHNT_MAISONE;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHNT_MANS;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHTL;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHTV_KCAT;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHTV_KCN;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PRC_GRP_CD_EOHTV_SAISO;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PROP_AREACHK_UPD_CUST_URL;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PROP_SIMS_MAP_SYS_ID;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_AD_CD_1;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_AD_CD_2;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_AD_CD_3;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_AD_CD_4;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_AZCHO_NM;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_CITY_NM;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_OAZTSU_NM;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_PCD_1;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_PCD_2;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.RET_STATE_NM;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.HANKAKU_NUM_1;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
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.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JKKStringUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKGetDataUtil;
import eo.web.webview.common.JKKKeiNewCmnLogicUtil;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JKKWebCommon;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.mapping.CCSV0006_CCSV0006OPDBMapper;
import eo.web.webview.mapping.KKSV0355_KKSV0355OPDBMapper;
import eo.web.webview.mapping.KKSV0433_KKSV0433OPDBMapper;
import eo.web.webview.mapping.KKSV0529_KKSV0529OPDBMapper;

/**
 * エリアチェックを行います。
 * <BR>
 * @author 富士通
 */
public class KKW01201SFLogic extends JCCWebBusinessLogic
{
	/** ADSL ON */
	private static final String ADSL_ON = "1";
	/** ADSL OFF */
	private static final String ADSL_OFF = "";
	/** 初期表示用サービスID ON */
	private static final String SERVICE_INIT_DSP = "KKSV0355";

	/**
	 * 初期表示処理
	 * 
	 * @return true固定
	 * @throws Exception 
	 */
	public boolean init() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess commonBean = getCommonInfoBean();
		X31SDataBeanAccess formBean = getServiceFormBean();

		// 親画面からの引継情報の受け取り
		HashMap<String, Object> session = JCCWebCommon.getScreenInfo(this);
		if (session != null)
		{
			formBean.sendMessageString(KKW01201SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SYSID));
			formBean.sendMessageString(
					KKW01201SFConst.MSKM_DTL_NO_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.MSKM_DTL_NO_NET));
			formBean.sendMessageString(
					KKW01201SFConst.MSKM_DTL_NO_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.MSKM_DTL_NO_TEL));
			formBean.sendMessageString(
					KKW01201SFConst.MSKM_DTL_NO_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.MSKM_DTL_NO_TV));
			formBean.sendMessageString(
					KKW01201SFConst.MSKM_DTL_NO_ADSL, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.MSKM_DTL_NO_ADSL));
			formBean.sendMessageString(KKW01201SFConst.AD_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.AD_CD));
			formBean.sendMessageString(KKW01201SFConst.PCD_BF, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.PCD_BF));
			formBean.sendMessageString(KKW01201SFConst.PCD_AF, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.PCD_AF));
			formBean.sendMessageString(KKW01201SFConst.STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.STATE_NM));
			formBean.sendMessageString(KKW01201SFConst.CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.CITY_NM));
			formBean.sendMessageString(KKW01201SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.OAZTSU_NM));
			formBean.sendMessageString(KKW01201SFConst.AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.AZCHO_NM));
			formBean.sendMessageString(KKW01201SFConst.BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.BNCHIGO));
			formBean.sendMessageString(KKW01201SFConst.TELNO, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.TELNO));
			formBean.sendMessageString(KKW01201SFConst.PROC_MODE, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.PROC_MODE));
			formBean.sendMessageString(KKW01201SFConst.SVC_KEI_KAISEN_UCWK_NO, 
					X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SVC_KEI_KAISEN_UCWK_NO));
			formBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SVC_KEI_NO_NET));
			formBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_TEL, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SVC_KEI_NO_TEL));
			formBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SVC_KEI_NO_TV));
			formBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_ADSL, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(KKW01201SFConst.SVC_KEI_NO_ADSL));
			// ▼▼▼▼▼ ANK-3412-00-00 ADD START ▼▼▼▼▼
			formBean.sendMessageString(KKW01201SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)session.get(JKKKeiNewCmnLogicUtil.HKTGI_KKW00187_SVCKEI_05));
			// ▲▲▲▲▲ ANK-3412-00-00 ADD END ▲▲▲▲▲
		}
		
		formBean.sendMessageString(KKW01201SFConst.UPD_CUST_URL, X31CWebConst.DATABEAN_SET_VALUE, "dummy");
		formBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");
		
		String telno = formBean.sendMessageString(KKW01201SFConst.TELNO, X31CWebConst.DATABEAN_GET_VALUE);
		String adslFlg = ADSL_OFF;
		if (!isNullOrEmpty(telno))
		{
			adslFlg = ADSL_ON;
		}
		formBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_SET_VALUE, adslFlg);
		
		// ユーザーIDの取得
		String userId = commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		
		String orgCd = "";
		String positionCd = "";

		X31SDataBeanAccessArray kggrpCdList = commonBean.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST);
		X31SDataBeanAccess subbean = kggrpCdList.getDataBean(0);
		if (subbean != null)
		{
			// 組織コードの取得
			orgCd = subbean.sendMessageString(CommonInfoCFConst.ORG_CD_01, X31CWebConst.DATABEAN_GET_VALUE);

			// 立場コードの取得
			positionCd = subbean.sendMessageString(CommonInfoCFConst.POSITION_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		}

		formBean.sendMessageString(KKW01201SFConst.ONE_TIME_USER_ID, X31CWebConst.DATABEAN_SET_VALUE, userId);
		formBean.sendMessageString(KKW01201SFConst.ONE_TIME_ORG_CD, X31CWebConst.DATABEAN_SET_VALUE, orgCd);
		formBean.sendMessageString(KKW01201SFConst.ONE_TIME_POSITION_CD, X31CWebConst.DATABEAN_SET_VALUE, positionCd);

		// プロパティファイルより共通(地図)システムのシステムIDを取得
		String mapSysId = JCMAPLConstMgr.getString(PROP_SIMS_MAP_SYS_ID);
		formBean.sendMessageString(KKW01201SFConst.ONE_TIME_SYS_ID, X31CWebConst.DATABEAN_SET_VALUE, mapSysId);

		// コンボボックスの値の取得
		// パラメータマップ作成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SERVICE_INIT_DSP);

		// マッピングクラスのインスタンスを生成
		KKSV0355_KKSV0355OPDBMapper mapper = new KKSV0355_KKSV0355OPDBMapper();
		HashMap dataMap = new HashMap();
		
		X31SDataBeanAccess[] paramBean = { formBean };
		String opeDate = JCCWebCommon.getOpeDate(this, null);

		// コード名称管理取得部品
		mapper.setKKSV035501CC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1, opeDate);
		// サービス契約回線内訳取得
		mapper.setKKSV035502SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);
		// 審査取得
		mapper.setKKSV035503SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException e1)
		{
			// エラーの場合は表示不可とする
			formBean.sendMessageString(KKW01201SFConst.UPD_CUST_URL, X31CWebConst.DATABEAN_SET_VALUE, "");
			// エラーの場合はシステムエラーを表示する
			String[] msg = {""};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0400_CE, msg, "");
			return true;
		}
		
		mapper.getKKSV035501CC(paramBean, outputMap);
		mapper.getKKSV035502SC(paramBean, outputMap);
		mapper.getKKSV035503SC(paramBean, outputMap);
		
		if (ADSL_OFF.equals(adslFlg))
		{
			// お客さま情報更新画面のURLを生成する
			if (!generateMapUrl())
			{
				// エラーの場合は表示不可とする
				formBean.sendMessageString(KKW01201SFConst.UPD_CUST_URL, X31CWebConst.DATABEAN_SET_VALUE, "");
				return true;
			}
		}
		// 関連チェック処理を行う
		checkKanren();
		setDefaultSelectRow();

		// 遷移先画面の設定
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW01201);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW01201);
		return true;
	}
	
	/**
	 * お客様情報更新画面用DataBean項目のクリア
	 */
	private void clearDataBean()
	{
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		//KKW01201
		// 地図システム−利用業務ID
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_SRV_ID, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−SYSID
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_SYSID, X31CWebConst.DATABEAN_SET_VALUE, "");
		
		// 地図システム−お客様位置（平面直角座標X）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_XZAHYO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−お客様位置（平面直角座標Y）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_YZAHYO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−お客様位置（緯度）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LGTD, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−お客様位置（経度）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LTTD, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−住所コード
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−郵便番号（前）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_BF, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−郵便番号（後）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_AF, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−都道府県
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−市区町村
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−大字通称名
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−字町名
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−番地・号
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−住所マッチングレベル
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_MATCH_LV, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−位置調整フラグ
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_ADJ_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（eo光ネット）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（eo光電話）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TEL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（eo光テレビ）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（ビジネス光）
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_BIZ, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（eo光ネット）詳細
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET_DTL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 地図システム−エリアチェック結果（eo光テレビ）詳細
		dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV_DTL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// お客様情報更新画面表示フラグ
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");

		// お客様情報更新画面表示URL
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_URL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 結果＿ネット
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 結果＿電話
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 結果＿テレビ
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 結果＿ADSL
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_ADSL, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サービス開始日＿ADSL
		dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_ADSL, X31CWebConst.DATABEAN_SET_VALUE, "");
	}
	
	/**
	 * お客様情報更新画面表示準備処理
	 * 
	 * @return 準備OK：true
	 */
	@SuppressWarnings("unchecked")
	private boolean generateMapUrl()
	{
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// パラメータマップを作成する。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, CCSV0006);
		
		CCSV0006_CCSV0006OPDBMapper mapper = new CCSV0006_CCSV0006OPDBMapper();
		X31SDataBeanAccess[] paramBean = { dataBean };
		HashMap dataMap = new HashMap();
		mapper.setCCSV000601SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		
		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();
		
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException e1)
		{
			// エラーの場合はシステムエラーを表示する
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0400_CE, new String[]{""}, "");
			return false;
		}

		mapper.getCCSV000601SC(paramBean, outputMap);

		// プロパティファイルより総合営業C向けエリアチェック画面のURLを取得
		String areaCheckURL = JCMAPLConstMgr.getString(PROP_AREACHK_UPD_CUST_URL);

		String encryptPw = dataBean.sendMessageString(KKW01201SFConst.ONE_TIME_PWD, X31CWebConst.DATABEAN_GET_VALUE);
		String sysId = dataBean.sendMessageString(KKW01201SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		String cnsmrLng = "";
		String cnsmrLat = "";
		if ("1".equals(dataBean.sendMessageString(KKW01201SFConst.PROC_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			cnsmrLng = dataBean.sendMessageString(KKW01201SFConst.PARAM_LGTD, X31CWebConst.DATABEAN_GET_VALUE);
			cnsmrLat = dataBean.sendMessageString(KKW01201SFConst.PARAM_LTTD, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			X31SDataBeanAccessArray dataBeanArray = dataBean.getDataBeanArray(KKW01201SFConst.SVKEI_KAISEN_UW);
			X31SDataBeanAccess subBean = dataBeanArray.getDataBean(0);
			if (null != subBean)
			{
				cnsmrLng = subBean.sendMessageString(KKW01201SFConst.LGTD_02, X31CWebConst.DATABEAN_GET_VALUE);
				cnsmrLat = subBean.sendMessageString(KKW01201SFConst.LTTD_02, X31CWebConst.DATABEAN_GET_VALUE);
			}
		}
		String postCdBf = dataBean.sendMessageString(KKW01201SFConst.PCD_BF, X31CWebConst.DATABEAN_GET_VALUE);
		String postCdAf = dataBean.sendMessageString(KKW01201SFConst.PCD_AF, X31CWebConst.DATABEAN_GET_VALUE);
		String srchPostCd = postCdBf + postCdAf;
		String srchPref = dataBean.sendMessageString(KKW01201SFConst.STATE_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String srchCity = dataBean.sendMessageString(KKW01201SFConst.CITY_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String srchOaza = dataBean.sendMessageString(KKW01201SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE);
		//字丁目名の取得
		String srchAza = getAzachoNM();
		
		String formatUrl = String.format(areaCheckURL, encryptPw, sysId, cnsmrLng, cnsmrLat, srchPostCd, 
				srchPref, srchCity, srchOaza, srchAza, "");
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_URL, X31CWebConst.DATABEAN_SET_VALUE, formatUrl);
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		
		return true;
	}
	
	/**
	 * お客様情報更新結果反映処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean refreshMap() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		boolean errFlg = false;
		
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// お客様情報更新画面からの結果を反映する
		// ネット
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_SET_VALUE,
				mapRtnCdToIdx(dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET, X31CWebConst.DATABEAN_GET_VALUE)));

		// 電話
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_SET_VALUE,
				mapRtnCdToIdx(dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TEL, X31CWebConst.DATABEAN_GET_VALUE)));

		// テレビ
		dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_SET_VALUE,
				mapRtnCdToIdx(dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV, X31CWebConst.DATABEAN_GET_VALUE)));

		// 単項目チェック処理を行う
		if (!checkTankmk())
		{
			errFlg = true;
		}
		
		// 関連チェック処理を行う
		if (!checkKanren())
		{
			errFlg = true;
		}
		setDefaultSelectRow();
		
		// 関連チェック２処理を行う
		if (!checkKanren2())
		{
			errFlg = true;
		}
		
		if (errFlg)
		{
			return true;
		}
		
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");

		return true;
	}
	
	/**
	 * 単項目関連チェック処理
	 * 
	 * @return チェック結果(true:OK false:NG)
	 */
	private boolean checkTankmk()
	{
		
		X31SDataBeanAccess dataBean = getServiceFormBean();

		// 返り値初期化
		Boolean ret = true;

		String mapSysAdCd = dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String mapSysBnchigo = dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE);

		if(!JKKGetDataUtil.isNull(mapSysAdCd) || !JKKGetDataUtil.isNull(mapSysBnchigo))
		{
			// 住所コード
			String adCd = dataBean.sendMessageString(KKW01201SFConst.AD_CD, X31CWebConst.DATABEAN_GET_VALUE);
			// 番地・号
			String bnchigo = dataBean.sendMessageString(KKW01201SFConst.BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE);
			
			if (!JKKWebCommon.isMapSys(this, adCd, bnchigo))
			{
				String[] str = {"地図で選択された場所", "表示されている住所情報"};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7860__Q, str);
				ret = false;
			}
		}

		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");

		return ret;
	}

	/**
	 * 単項目関連チェック処理2
	 * 
	 * @return チェック結果(true:OK false:NG)
	 */
	private boolean checkTankmk2()
	{
		
		X31SDataBeanAccess dataBean = getServiceFormBean();

		// 返り値初期化
		Boolean ret = true;

		// 必須入力チェック
		String svcKeiNoNet = dataBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_NET, X31CWebConst.DATABEAN_GET_VALUE);
		String svcKeiNoTel = dataBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_TEL, X31CWebConst.DATABEAN_GET_VALUE);
		String svcKeiNoTv = dataBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_TV, X31CWebConst.DATABEAN_GET_VALUE);
		String svcKeiNoAdsl = dataBean.sendMessageString(KKW01201SFConst.SVC_KEI_NO_ADSL, X31CWebConst.DATABEAN_GET_VALUE);

		// eo光ネット結果
		if (svcKeiNoNet != null && !"".equals(svcKeiNoNet))
		{
			String rsltIdxNet = dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_GET_VALUE);
			if (rsltIdxNet != null && !"".equals(rsltIdxNet) && "".equals(idxToRsltCd(rsltIdxNet)))
			{
				String[] str = {"eo光ネットのチェック結果"};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "RSLT_NET");
				ret = false;
			}
		}

		// eo光電話結果
		if (svcKeiNoTel != null && !"".equals(svcKeiNoTel))
		{
			String rsltIdxTel = dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_GET_VALUE);
			if (rsltIdxTel != null && !"".equals(rsltIdxTel) && "".equals(idxToRsltCd(rsltIdxTel)))
			{
				String[] str = {"eo光電話のチェック結果"};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "RSLT_TEL");
				ret = false;
			}
		}

		// eo光テレビ結果
		if (svcKeiNoTv != null && !"".equals(svcKeiNoTv))
		{
			String rsltIdxTv = dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_GET_VALUE);
			if (rsltIdxTv != null && !"".equals(rsltIdxTv) && "".equals(idxToRsltCd(rsltIdxTv)))
			{
				String[] str = {"eo光テレビのチェック結果"};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "RSLT_TV");
				ret = false;
			}
		}

		// eoADSL結果
		if (svcKeiNoAdsl != null && !"".equals(svcKeiNoAdsl))
		{
			String rsltIdxAdsl = dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_ADSL, X31CWebConst.DATABEAN_GET_VALUE);
			if (rsltIdxAdsl != null && !"".equals(rsltIdxAdsl) && "".equals(idxToRsltCd(rsltIdxAdsl)))
			{
				String[] str = {"eoADSLのチェック結果"};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "RSLT_ADSL");
				ret = false;
			}
		}

		if (ADSL_OFF.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// サービスエリアチェック
			int selectRow = dataBean.sendMessageLong(KKW01201SFConst.SELECT_ROW, X31CWebConst.DATABEAN_GET_VALUE).intValue();
			if (selectRow == -1)
			{
				String[] str = {"関電営業所"};
				ret = false;
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "");
				// 検索結果リスト
				X31SDataBeanAccessArray searchResultList = dataBean.getDataBeanArray(KKW01201SFConst.SVC_AREA_LIST);
				for(int i = 0; i < searchResultList.getCount(); i++)
				{
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, str, "CHOICE" + i);
				}
			}

			// 住所チェック
			if (!adCheck())
			{
				ret = false;
			}
		}
		
		return ret;
	}
	
	/**
	 * 住所部品エラーチェック。
	 * <br>
	 * @return true
	 */
	private boolean adCheck()
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess dataBean = getServiceFormBean();

		// 返り値初期化
		Boolean ret = true;

		HashMap<String, Object>  checkRsltMap = JKKWebCommon.getAdChkMap(
				dataBean.sendMessageString(KKW01201SFConst.AD_CD, X31CWebConst.DATABEAN_GET_VALUE),
				JKKStrConst.AD_MAN_INPUT_NO,
				dataBean.sendMessageString(KKW01201SFConst.STATE_NM, X31CWebConst.DATABEAN_GET_VALUE),
				dataBean.sendMessageString(KKW01201SFConst.CITY_NM, X31CWebConst.DATABEAN_GET_VALUE),
				dataBean.sendMessageString(KKW01201SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE),
				dataBean.sendMessageString(KKW01201SFConst.AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE),
				dataBean.sendMessageString(KKW01201SFConst.BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));

		// 桁数チェック
		if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.AD_DIGITNO_CKRLT))
		{
			// 都道府県名桁数チェック結果
			if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.STATE_NM_CKRLT))
			{
				// エラーの場合は、メッセージを設定
				String[] str = {KKW01201SFConst.STATE_NM, "", checkRsltMap.get(JKKKeiNewCmnLogicUtil.STATE_NM_MAX_DIGITNO).toString()};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0030_TW, str, "STATE_NM");
				ret = false;
			}
			// 市区町村名桁数チェック結果
			if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.CITY_NM_CKRLT))
			{
				// エラーの場合は、メッセージを設定
				String[] str = {KKW01201SFConst.CITY_NM, "", checkRsltMap.get(JKKKeiNewCmnLogicUtil.CITY_NM_MAX_DIGITNO).toString()};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0030_TW, str, "CITY_NM");
				ret = false;
			}
			// 大字通称名桁数チェック結果
			if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.OAZTSU_NM_CKRLT))
			{
				// エラーの場合は、メッセージを設定
				String[] str = {KKW01201SFConst.OAZTSU_NM, "", checkRsltMap.get(JKKKeiNewCmnLogicUtil.OAZTSU_NM_MAX_DIGITNO).toString()};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0030_TW, str, "OAZTSU_NM");
				ret = false;
			}
			// 字丁目名桁数チェック結果
			if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.AZCHO_NM_CKRLT))
			{
				// エラーの場合は、メッセージを設定
				String[] str = {KKW01201SFConst.AZCHO_NM, "", checkRsltMap.get(JKKKeiNewCmnLogicUtil.AZCHO_NM_MAX_DIGITNO).toString()};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0030_TW, str, "AZCHO_NM");
				ret = false;
			}
			// 番地号桁数チェック結果
			if(!(Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.BNCHIGO_CKRLT))
			{
				// エラーの場合は、メッセージを設定
				String[] str = {KKW01201SFConst.BNCHIGO, "", checkRsltMap.get(JKKKeiNewCmnLogicUtil.BNCHIGO_MAX_DIGITNO).toString()};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0030_TW, str, "BNCHIGO");
				ret = false;
			}
		}

		// 海外住所チェック(利用場所の住所は海外住所禁止)
		if((Boolean)checkRsltMap.get(JKKKeiNewCmnLogicUtil.FOREIGN_AD_CHK))
		{
			// エラーの場合は、メッセージを設定
			String[] str = {"ご住所"};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5400_KW, str, "STATE_NM");
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5400_KW, str, "CITY_NM");
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5400_KW, str, "OAZTSU_NM");
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5400_KW, str, "AZCHO_NM");
			ret = false;
		}
		
		return ret;
	}
	
	/**
	 * 関連チェック処理
	 * 
	 * @return チェック結果(true:OK false:NG)
	 */
	private boolean checkKanren()
	{
		boolean ret = true;
		
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// パラメータマップを作成する。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, KKSV0433);
		
		// マッピングクラスのインスタンスを生成
		KKSV0433_KKSV0433OPDBMapper mapper = new KKSV0433_KKSV0433OPDBMapper();
		HashMap dataMap = new HashMap();
		X31SDataBeanAccess[] paramBean = { dataBean };
		// 運用日付を取得
		String unyoDate = null;
		unyoDate = JCCWebCommon.getOpeDate(this, null);

		// 値を設定
		// 住所取得コモンコンポーネント部品
		mapper.setKKSV043301CC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		// サービス提供エリア対象外一覧照会
		mapper.setEKK0931B501(paramBean, dataMap, JPCModelConstant.FUNC_CD_1, unyoDate);
		// ＡＤＳＬエリア一覧照会
		if (ADSL_ON.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			mapper.setEFU0041B010(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		}
		// 郵便番号別関電営業所候補一覧照会
		mapper.setEKK2321B010(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		// ▼▼▼▼▼ ANK-3412-00-00 ADD START ▼▼▼▼▼
		// ▼▼▼▼▼ IT1-2018-0000202 ADD START ▼▼▼▼▼
		if (!"".equals(dataBean.sendMessageString(KKW01201SFConst.PCRS_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
		// ▲▲▲▲▲ IT1-2018-0000202 ADD END ▲▲▲▲▲
			// 料金コース一意照会
			mapper.setKKSV043306SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2, unyoDate);
		// ▼▼▼▼▼ IT1-2018-0000202 ADD START ▼▼▼▼▼
		}
		// ▲▲▲▲▲ IT1-2018-0000202 ADD END ▲▲▲▲▲
		// ▲▲▲▲▲ ANK-3412-00-00 ADD END ▲▲▲▲▲

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();
		HashMap parentMap = new HashMap();
		ArrayList childList = null;
		Boolean maisonErrFlg = false;
		Boolean mansErrFlg = false;

		// サービス呼び出し
		invokeService(paramMap, dataMap, outputMap);
		
		// ▼▼▼▼▼ ANK-3412-00-00 ADD START ▼▼▼▼▼
		// ネットのエリアチェック結果コード
		String areaChkRetCd = dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET_DTL, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金コースコードに紐づく料金コース速度コード
		String pcrsSpeedCd = "";
		// 料金コース一意照会
		if(outputMap.containsKey("KKSV043306SC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV043306SC");
		}

		childList = (ArrayList)parentMap.get("EKK0791A010CBSMsg1List");
		
		if (childList != null && childList.size() > 0)
		{
			HashMap childMap = (HashMap)childList.get(0);
			
			if (childMap != null)
			{
				pcrsSpeedCd = JKKStringUtil.nullToBlank((String)childMap.get("pcrs_speed_cd"));
			}
		}
		// 料金コース速度コードが"06"もしくは"07"
		// ▼▼▼▼▼ IT1-2018-0000225 MOD START ▼▼▼▼▼
//		if ("06".equals(pcrsSpeedCd))
		if ("06".equals(pcrsSpeedCd) || "07".equals(pcrsSpeedCd))
		// ▲▲▲▲▲ IT1-2018-0000225 MOD END ▲▲▲▲▲
		{
			// ネットのエリアチェック結果コードが空（初期表示）の場合
			if ("".equals(areaChkRetCd))
			{
				// 何も設定しない
			}
			// ネットのエリアチェック結果コードが"4"の場合
			else if ("4".equals(areaChkRetCd))
			{
				// ネットの結果コードを1(OK)に上書き
				dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_SET_VALUE,
						mapRtnCdToIdx("1"));
			}
			// ネットのエリアチェック結果コードが"4"以外の場合
			else
			{
				// ネットの結果コードを0(NG)に上書き
				dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_SET_VALUE,
						mapRtnCdToIdx("0"));
			}
		}
		// ▲▲▲▲▲ ANK-3412-00-00 ADD END ▲▲▲▲▲
		
		// ADSLの場合の処理
		if (ADSL_ON.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ADSL可能エリア一覧照会
			mapper.getFU0041B010(paramBean, outputMap);

			// DataBeanの結果リストを取得
			String svcStrDayAdsl = "";
			svcStrDayAdsl = (String)dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_ADSL, X31CWebConst.DATABEAN_GET_VALUE);
			if ("".equals(svcStrDayAdsl))
			{
				if("".equals(idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_ADSL, X31CWebConst.DATABEAN_GET_VALUE))))
				{
					String[] str = {MSG_SVC_EOADSL};
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7920__Q, str);
					ret = false;
				}
			}
			
			// ADSLの場合は処理を終了する。
			return ret;
		}

		// ANK-4154-00-00 2021/11/17 ADD START
		// エリアチェック実施権限があるかチェック
		boolean checkArea = true;
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		X31SDataBeanAccessArray reqAuthorityList = commonInfoBean.getDataBeanArray(CommonInfoCFConst.REQUEST_AUTHORITY_LIST);
		if (reqAuthorityList != null)
		{
			int listCount = reqAuthorityList.getCount();
			for (int i = 0; i < listCount; i++)
			{
				X31SDataBeanAccess authorityBean = reqAuthorityList.getDataBean(i);
				if ("KKW08601".equals(authorityBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_03, X31CWebConst.DATABEAN_GET_VALUE)) &&
						"NG".equals(authorityBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					checkArea = false;
					break;
				}
			}
		}

		if (checkArea)
		{
		// ANK-4154-00-00 2021/11/17 ADD END
			// サービス提供エリア対象外一覧照会
			parentMap = mapper.getEKK0931B501(paramBean, outputMap);

			childList = (ArrayList)parentMap.get("EKK0931B501CBSMsg1List");

			if (childList != null)
			{
				for(int i = 0; i < childList.size(); i++)
				{
					HashMap childMap = (HashMap)childList.get(i);
					String prc_grp_cd = (String)childMap.get("prc_grp_cd");

					if (PRC_GRP_CD_EOHNT_HOME.equals(prc_grp_cd)					// 料金グループコード（eo光ネットホームタイプ）
							||	PRC_GRP_CD_EOHNT_MAISONE.equals(prc_grp_cd)			// 料金グループコード（eo光ネットメゾンタイプ）
							||	PRC_GRP_CD_EOHNT_MANS.equals(prc_grp_cd))			// 料金グループコード（eo光ネットマンションタイプ）
					{
						// メゾン物件警告発生判断
						if (!maisonErrFlg)
						{
							if (CHK_SBT_CD_MAISON.equals(childMap.get("chk_sbt_cd")))
							{
								maisonErrFlg = true;
							}
						}
						// マンション物件警告発生判断
						if (!mansErrFlg)
						{
							if (CHK_SBT_CD_MANS.equals(childMap.get("chk_sbt_cd")))
							{
								mansErrFlg = true;
							}
						}
					}
					else if (PRC_GRP_CD_EOHTL.equals(prc_grp_cd))					// 料金グループコード（eo光電話）
					{
						// メゾン物件警告発生判断
						if (!maisonErrFlg)
						{
							if (CHK_SBT_CD_MAISON.equals(childMap.get("chk_sbt_cd")))
							{
								maisonErrFlg = true;
							}
						}
						// マンション物件警告発生判断
						if (!mansErrFlg)
						{
							if (CHK_SBT_CD_MANS.equals(childMap.get("chk_sbt_cd")))
							{
								mansErrFlg = true;
							}
						}
					}
					else if(PRC_GRP_CD_EOHTV_KCAT.equals(prc_grp_cd)				// 料金グループコード（eo光テレビ（Ｋ−ＣＡＴ））
							||	PRC_GRP_CD_EOHTV_KCN.equals(prc_grp_cd)				// 料金グループコード（eo光テレビ（ＫＣＮ）） 
							||	PRC_GRP_CD_EOHTV_SAISO.equals(prc_grp_cd))			// 料金グループコード（eo光テレビ再送信） 
					{
						// メゾン物件警告発生判断
						if (!maisonErrFlg)
						{
							if (CHK_SBT_CD_MAISON.equals(childMap.get("chk_sbt_cd")))
							{
								maisonErrFlg = true;
							}
						}
						// マンション物件警告発生判断
						if (!mansErrFlg)
						{
							if (CHK_SBT_CD_MANS.equals(childMap.get("chk_sbt_cd")))
							{
								mansErrFlg = true;
							}
						}
					}
				}

				// 警告が発生した場合は、メッセージを追加する。
				if (maisonErrFlg)
				{
					String[] str = {"住所指定場所", MAISON_AREA};
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5600__Q, str);
					ret = false;
				}
				if (mansErrFlg)
				{
					String[] str = {"住所指定場所", MANS_AREA};
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5600__Q, str);
					ret = false;
				}
			}
		// ANK-4154-00-00 2021/11/17 ADD START
		}
		// ANK-4154-00-00 2021/11/17 ADD END
		
		// 郵便番号別関電営業所候補一覧照会
		mapper.getEKK2321B010(paramBean, outputMap);
		
		return ret;
	}
	
	/**
	 * サービスエリアリストのデフォルトのチェック値を設定します。
	 */
	private void setDefaultSelectRow()
	{
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// DataBeanのサービスエリアリストを取得
		X31SDataBeanAccessArray svcAreaListDataBeanArray = dataBean.getDataBeanArray(KKW01201SFConst.SVC_AREA_LIST);
		
		if (svcAreaListDataBeanArray != null && svcAreaListDataBeanArray.getCount() == 1)
		{
			dataBean.sendMessageString(KKW01201SFConst.SELECT_ROW, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
		else
		{
			dataBean.sendMessageString(KKW01201SFConst.SELECT_ROW, X31CWebConst.DATABEAN_SET_VALUE, "-1");
		}
		
	}
	
	/**
	 * 関連チェック処理２
	 * 
	 * @return チェック結果(true:OK false:NG)
	 */
	private boolean checkKanren2()
	{
		boolean ret = true;
		
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// DataBeanのサービスエリアリストを取得
		X31SDataBeanAccessArray svcAreaListDataBeanArray = dataBean.getDataBeanArray(KKW01201SFConst.SVC_AREA_LIST);
		
		if (svcAreaListDataBeanArray.getCount() == 0)
		{
			// ネットが"ＯＫ"の場合
			if(JKKStrConst.CD00610_OK.equals(idxToRsltCd(
					dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_GET_VALUE))))
			{
				String[] str = {MSG_SVC_EOHNT};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7920__Q, str);
				ret = false;
			}
			// 電話が"ＯＫ"の場合
			if(JKKStrConst.CD00610_OK.equals(idxToRsltCd(
					dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_GET_VALUE))))
			{
				String[] str = {MSG_SVC_EOHTL};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7920__Q, str);
				ret = false;
			}
			// テレビが"ＯＫ"の場合
			if(JKKStrConst.CD00610_OK.equals(idxToRsltCd(
					dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_GET_VALUE))))
			{
				String[] str = {MSG_SVC_HTV};
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7920__Q, str);
				ret = false;
			}
		}

		return ret;
	}
	
	/**
	 * 決定処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean fix() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess dataBean = getServiceFormBean();

		boolean errFlg = false;
		
		// 単項目チェック処理を行う
		if (!checkTankmk())
		{
			//errFlg = true;
		}
		if (!checkTankmk2())
		{
			errFlg = true;
		}
		
		if (errFlg)
		{
			return true;
		}

		
		// 引継ぎ情報の作成
		HashMap<String, Object> inMap = new HashMap<String, Object>();
		if (ADSL_OFF.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 選択行
			int selectRow = dataBean.sendMessageLong(KKW01201SFConst.SELECT_ROW, X31CWebConst.DATABEAN_GET_VALUE).intValue();

			// 検索結果リスト
			X31SDataBeanAccessArray searchResultList = dataBean.getDataBeanArray(KKW01201SFConst.SVC_AREA_LIST);
			
			// 選択されたデータ
			X31SDataBeanAccess selectedBean = searchResultList.getDataBean(selectRow);
			
			// 選択された関電営業所コード
			String kepcoBuioffcCd = selectedBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
			dataBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD, X31CWebConst.DATABEAN_SET_VALUE, kepcoBuioffcCd);
			
			// 選択されたサービス開始日
			String svcStrDay = selectedBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_04, X31CWebConst.DATABEAN_GET_VALUE);
			dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_SET_VALUE, svcStrDay);
			
			inMap.put("xzahyo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_XZAHYO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("yzahyo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_YZAHYO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("lgtd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LGTD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("lttd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LTTD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("ad_cd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("adj_flg", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_ADJ_FLG, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_net", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tel", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TEL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tv", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_biz", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_BIZ, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_net_dtl", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET_DTL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tv_dtl", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV_DTL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_net", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_net", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_tel", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_tel", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_tv", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_tv", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_pcd_bf", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_BF, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_pcd_af", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_AF, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_state_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_city_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_oaztsu_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_azcho_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_bnchigo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("kepco_busioffice_cd", dataBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// ADSLの場合は、値を設定する。
			inMap.put("rslt_adsl", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_ADSL, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_adsl", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_ADSL, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		// 戻り先画面への引継ぎ情報の設定
		JCCWebCommon.setScreenInfo(this, JCCWebCommon.getScreenId(this), inMap);
		
		// 共有フォームBean設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_ID_CCW00105);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_NAME_CCW00105);

		return true;
	}
	
	/**
	 * 住所検索画面表示処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean searchAd() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		// 引継情報の設定
		HashMap<String, Object> map = new HashMap<String, Object>();

		// 検索条件をマップにセット
		map.put(AD_KEY_PCD_1, dataBean.sendMessageString(KKW01201SFConst.PCD_BF, X31CWebConst.DATABEAN_GET_VALUE));
		map.put(AD_KEY_PCD_2, dataBean.sendMessageString(KKW01201SFConst.PCD_AF, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JZMScreenConst.SCREEN_ID_ZMW10601, map);

		// 子画面に親画面の画面ＩＤを設定
		JCCWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW10601, JKKScreenConst.SCREEN_ID_KKW01201);

		// 遷移先画面の設定
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10601);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10601);
		
		return true;
	}

	/**
	 * 住所検索結果反映処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean refreshAd() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess dataBean = getServiceFormBean();

		// 子画面からの情報を取得
		HashMap<String, Object> map = JCCWebCommon.getScreenInfo(this);

		// 子画面からの情報を画面に反映
		// 郵便番号1（上3ケタ）
		dataBean.sendMessageString(KKW01201SFConst.PCD_BF, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_PCD_1));
		// 郵便番号2（下4ケタ）
		dataBean.sendMessageString(KKW01201SFConst.PCD_AF, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_PCD_2));
		// 都道府県名
		dataBean.sendMessageString(KKW01201SFConst.STATE_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_STATE_NM));
		// 市区町村名
		dataBean.sendMessageString(KKW01201SFConst.CITY_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_CITY_NM));
		// 大字通称名
		dataBean.sendMessageString(KKW01201SFConst.OAZTSU_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_OAZTSU_NM));
		// 字丁目名
		dataBean.sendMessageString(KKW01201SFConst.AZCHO_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(RET_AZCHO_NM));
		// 住所コード
		String adCd1 = (String)map.get(RET_AD_CD_1);
		String adCd2 = (String)map.get(RET_AD_CD_2);
		String adCd3 = (String)map.get(RET_AD_CD_3);
		String adCd4 = (String)map.get(RET_AD_CD_4);
		dataBean.sendMessageString(KKW01201SFConst.AD_CD, X31CWebConst.DATABEAN_SET_VALUE, adCd1 + adCd2 + adCd3 + adCd4);
		// 番地号
		dataBean.sendMessageString(KKW01201SFConst.BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 単項目チェック処理を行う
		checkTankmk();

		// 関連チェック処理を行う
		checkKanren();
		setDefaultSelectRow();

		// 関連チェック２処理を行う
		checkKanren2();

		return true;
	}

	/**
	 * 閉じる処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean close() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		
		String nextScreenId = JCCWebCommon.getScreenId(this);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		return true;
	}

	/**
	 * 地図画面表示処理
	 * 
	 * @return true固定
	 * @throws Exception
	 */
	public boolean displayMap() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		// DataBeanの初期化処理
		clearDataBean();
		
		// お客様情報更新画面表示処理
		generateMapUrl();
		
		return true;
	}

	/**
	 * 指定された文字列がnullか空文字列かをチェックする。
	 * 
	 * @param value 文字列
	 * @return 指定された文字列がnullまたは空文字列の場合true、それ以外の場合false
	 */
	private static boolean isNullOrEmpty(String value)
	{
		if (value == null || value.length() == 0)
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 選択コンボのインデックスを結果コードに変換する
	 * 
	 * @param idx インデックス
	 * @return 結果コード
	 */
	private String idxToRsltCd(String idx)
	{
		if (null == idx || "".equals(idx.trim()))
		{
			return "";
		}

		X31SDataBeanAccess dataBean = getServiceFormBean();

		// 結果リスト
		X31SDataBeanAccess rsltListBean = dataBean.getDataBeanArray(KKW01201SFConst.RSLT_LIST).getDataBean(0);

		int index = Integer.parseInt(idx, 10);
		return rsltListBean.sendMessageString(KKW01201SFConst.RSLT_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, index);

	}
	
	/**
	 * お客様情報更新画面の戻り値をインデックスに変換する
	 * 
	 * @param mapRtnCd お客様情報更新画面の戻り値
	 * @return インデックス
	 */
	private String mapRtnCdToIdx(String mapRtnCd)
	{
		X31SDataBeanAccess dataBean = getServiceFormBean();
		String rsltCd = "";

		// 無し のとき
		if ("0".equals(mapRtnCd))
		{
			rsltCd = JKKStrConst.CD00610_NG;
		}
		// 有り のとき
		else if ("1".equals(mapRtnCd))
		{
			rsltCd = JKKStrConst.CD00610_OK;
		}

		return JKKWebCommon.convertIndex(dataBean, rsltCd, KKW01201SFConst.RSLT_LIST, "", KKW01201SFConst.RSLT_CD_LIST_01);
	}

	/**
	 * 共有フォームBeanに自画面IDを設定します。
	 * 
	 * <br>
	 * @return true
	 * @throws Exception 業務サービス内でエラーが発生した場合
	 */
	public boolean setScreenIdKKW01201() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess dataBean = getServiceFormBean();
		dataBean.sendMessageString(KKW01201SFConst.UPD_CUST_FLG, X31CWebConst.DATABEAN_SET_VALUE, "");

		return true;
	}

	/**
	 * 確定ボタンの処理を行います。
	 * @return true
	 * @throws Exception 業務サービス内でエラーが発生した場合
	 */
	public boolean decision() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess dataBean = getServiceFormBean();

		boolean errFlg = false;

		// 単項目チェック処理を行う
		if (!checkTankmk())
		{
			//errFlg = true;
		}
		if (!checkTankmk2())
		{
			errFlg = true;
		}
		
		if (errFlg)
		{
			return true;
		}
		
		// パラメータマップを作成する。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0529");
		
		KKSV0529_KKSV0529OPDBMapper mapper = new KKSV0529_KKSV0529OPDBMapper();
		X31SDataBeanAccess[] paramBean = { dataBean };
		HashMap dataMap = new HashMap();

		if (ADSL_OFF.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 選択行
			int selectRow = dataBean.sendMessageLong(KKW01201SFConst.SELECT_ROW, X31CWebConst.DATABEAN_GET_VALUE).intValue();

			// 検索結果リスト
			X31SDataBeanAccessArray searchResultList = dataBean.getDataBeanArray(KKW01201SFConst.SVC_AREA_LIST);
			
			// 選択されたデータ
			X31SDataBeanAccess selectedBean = searchResultList.getDataBean(selectRow);
			
			if (selectedBean != null)
			{
				// 選択された関電営業所コード
				String kepcoBuioffcCd = selectedBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
				dataBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD, X31CWebConst.DATABEAN_SET_VALUE, kepcoBuioffcCd);
				
				// 選択されたサービス開始日
				String svcStrDay = selectedBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_04, X31CWebConst.DATABEAN_GET_VALUE);
				dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_SET_VALUE, svcStrDay);
			}
		}
		
		mapper.setKKSV052901SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV052904CC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1, JCCWebCommon.getOpeDate(this, null));
		mapper.setKKSV052905CC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1, JCCWebCommon.getOpeDateTimeStamp(this, null));

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// サービス呼び出し
		invokeService(paramMap, dataMap, outputMap);

		// 引継ぎ情報の作成
		HashMap<String, Object> inMap = new HashMap<String, Object>();
		
		if (ADSL_OFF.equals(dataBean.sendMessageString(KKW01201SFConst.ADSL_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			inMap.put("xzahyo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_XZAHYO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("yzahyo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_YZAHYO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("lgtd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LGTD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("lttd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_LTTD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("ad_cd", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("adj_flg", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_ADJ_FLG, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_net", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tel", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TEL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tv", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_biz", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_BIZ, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_net_dtl", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_NET_DTL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("area_tv_dtl", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AREA_TV_DTL, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_net", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_NET, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_net", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_tel", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TEL, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_tel", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("rslt_tv", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_TV, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_tv", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_pcd_bf", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_BF, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_pcd_af", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_PCD_AF, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_state_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_city_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_oaztsu_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_azcho_nm", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("map_sys_bnchigo", dataBean.sendMessageString(KKW01201SFConst.MAP_SYS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
			inMap.put("kepco_busioffice_cd", dataBean.sendMessageString(KKW01201SFConst.KEPCO_BUIOFFC_CD, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			inMap.put("rslt_adsl", idxToRsltCd(dataBean.sendMessageString(KKW01201SFConst.RSLT_IDX_ADSL, X31CWebConst.DATABEAN_GET_VALUE)));
			inMap.put("svc_str_day_adsl", dataBean.sendMessageString(KKW01201SFConst.SVC_STR_DAY_ADSL, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		// 戻り先画面への引継ぎ情報の設定
		JCCWebCommon.setScreenInfo(this, JCCWebCommon.getScreenId(this), inMap);
		
		// 共有フォームBean設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_ID_CCW00105);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_NAME_CCW00105);

		return true;
	}
	
	/**
	 * 字丁目名の取得を行う。
	 * @return azachoNm 字丁目名
	 */
	private String getAzachoNM()
	{
		X31SDataBeanAccess dataBean = getServiceFormBean();
		
		//字丁目名
		String azachoNm = dataBean.sendMessageString(KKW01201SFConst.AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE);
		//住所コード
		String adCd = dataBean.sendMessageString(KKW01201SFConst.AD_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		//住所コードが11桁でない場合、かつ住所コードの下３桁が数字の場合
		if(adCd.length() == 11 && adCd.substring(8, 11).matches(HANKAKU_NUM_1))
		{
			int ad = Integer.parseInt(adCd.substring(8, 11));
			
			//1〜99の場合
			if(0 < ad && ad < 100)
			{
				//全角変換
				azachoNm = hankakuToZenkaku(String.valueOf(ad));
			}
		}
		
		return azachoNm;
	}
	
	/**
	 * 半角英数字を全角英数字に変換する。
	 * @param convertBf 変換前文字列
	 * @return 全角英数字
	 */
	private String hankakuToZenkaku(String convertBf)
	{
		StringBuffer bf = new StringBuffer();
		
		for(int i = 0; i < convertBf.length(); i++)
		{
			bf.append((char)(convertBf.charAt(i) + 0xFEE0));
		}
		
		return bf.toString();
	}
}
