/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：KKW02522SFLogic
*   ソースファイル名：KKW02522SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年03月27日
*＜機能概要＞
*   eo光テレビケーブルテレビガイド誌更新画面のビューロジックです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/03/27	FJ）稲岡	新規作成
*	v4.00.00	2012/08/29	FJ）稲岡	ANK-0524-00-00対応
*	v4.01.00	2012/10/25	FJ）庭山	【IT1-2012-0001572】対応
*	v4.02.00	2012/10/31	FJ）庭山	【IT1-2012-0001835】対応
*	v4.03.00	2012/11/08	FJ）庭山	【IT2-2012-0001650】対応
*	v4.04.00	2012/12/05	FJ）間瀬	【IT2-2012-0001962】対応
*	v4.05.00	2012/12/13	FJ）稲岡	【IT2-2012-0002046】対応
*	v4.06.00	2012/12/20	FJ）稲岡	【IT1-2012-0002453】対応
*	v4.07.00	2012/12/20	FJ）稲岡	【IT1-2012-0002508】対応
*	v4.08.00    2012/12/21	FJ）野口	【IT1-2012-0002486】対応
*	v4.08.01	2013/01/17	FJ）庭山	【ST2-2013-0000191】対応
*	v4.09.00	2013/02/20	FJ）間瀬	【ST3-2013-0000040】対応
*   v5.00.00	2013/01/15	FJ）稲岡	【ANK-1385-00-00】対応
*	v4.10.00	2013/03/03	FJ）稲岡	【ST1-2013-0000253】対応
*	v4.11.00	2013/03/07	FJ）稲岡	【IT1-2013-0000404】対応
*	v4.12.00	2013/06/17	FJ) 磯俣	【IT2-2013-0000547】住所の最下層チェック時のメッセージID修正
*	v6.00.00	2013/12/29	FJ）磯俣	【OM-2013-04054】clearSohusAdInfoへのパラメタtrueに変更
*	v6.00.01	2014/01/17	FJ）磯俣	【OM-2014-0000184】異動理由コードの設定修正
*	v8.00.00	2014/04/21	FJ）石橋	【OM-2014-0001530】対応
*	v8.00.01	2014/05/12	FJ）稲岡	【IT1-2014-0000109】対応
*	v18.00.00	2015/08/12	FJ) 原田	【ANK-2631-00-00】 ワンストップ案件(ＳＴＥＰ１)
*	v18.00.01	2015/08/27	FJ) 松本	【IT1-2015-0000088】 テレビガイド誌オプションが解約できない
*	v18.00.02	2015/09/30	FJ) 松本	【ST-2015-0000047】 入力項目名不正
*	v18.00.03	2015/09/30	FJ) 松本	【ST-2015-0000045】 メッセージID不正
*	v18.00.04	2015/10/21	FJ)	松本	【IT1-2015-0000114】チェック処理の順序修正
*	v19.00.00	2015/11/05	FJ）松本	【OM-2015-0002626】対応
*	v26.00.00   2016/06/03	FJ) 笠川	【ANK-2687-00-00】プレミアムサポート施策
*	v26.00.01	2016/07/28	FJ）柳		【IT1-2016-0000100】異動区分選択切替マッピング漏れ対応
**********************************************************************/

package eo.web.webview.KKA17201SF;


import static eo.web.webview.common.JKKOneStopApiCommonUtil.checkRegulationForUpdateApi;
import static eo.web.webview.common.JKKOneStopApiCommonUtil.getReceiveXml;
import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.web.webview.common.JKKOneStopApiCommonUtil.*;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.model.common.check.HalfCharCheck;
import com.fujitsu.futurity.model.common.check.LengthCheck;
import com.fujitsu.futurity.model.common.check.MixCharCheck;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31SRuntimeException;


import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JCCFrameworkException;
import eo.common.util.JPCFomatString;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKA17201SF.KKW02522SFConst;
import eo.web.webview.KKA17101SF.KKW00828SFConst;
import eo.web.webview.KKA17101SF.ZMW10601SFConst;
import eo.web.webview.KKA17201SF.KKW02301SFConst;
import eo.web.webview.commonOneStop.JCCMessageCache;
import eo.web.webview.common.JKKOneStopApiCommonUtil;
import eo.web.webview.common.OneStopDataBeanAccess;
import eo.web.webview.commonOneStop.JCCSetMessage;
import eo.web.webview.commonOneStop.JCCWebCommon;
import eo.web.webview.commonOneStop.JCRScreenConst;
import eo.web.webview.commonOneStop.JKKCommonConst;
import eo.web.webview.commonOneStop.JKKScreenConst;
import eo.web.webview.commonOneStop.JKKWebCommon;
import eo.web.webview.commonOneStop.JZMScreenConst;
import eo.web.webview.mapping.KKSV0042_KKSV0042OPDBMapper;
import eo.web.webview.mapping.KKSV0043_KKSV0043OPDBMapper;
import eo.web.webview.mapping.KKSV0061_KKSV0061OPDBMapper;
import eo.web.webview.mapping.KKSV0062_KKSV0062OPDBMapper;
import eo.web.webview.mapping.KKSV0463_KKSV0463OPDBMapper;
import eo.web.webview.mapping.KKSV0534_KKSV0534OPDBMapper;
import eo.web.webview.mapping.KKSV0535_KKSV0535OPDBMapper;
import eo.web.webview.mapping.KKSV0536_KKSV0536OPDBMapper;
import eo.web.webview.mapping.KKSV0551_KKSV0551OPDBMapper;
import eo.web.webview.mapping.KKSV0820_KKSV0820OPDBMapper;

/**
 * KKW02522のビューロジックです。
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKA17201SFLogic extends JCCWebBusinessLogic
{
	/** 顧客契約引継情報項目キー */
	private static final String[] CUST_KEI_HKTGI_KEYS = {
		JKKCommonConst.HKTGI_SYSID,
		JKKCommonConst.HKTGI_SVC_KEI_NO,
		JKKCommonConst.HKTGI_IDO_DIV,
		JKKCommonConst.HKTGI_IDO_RSN_CD,
/* ++++++++++ v4.08.00 追加開始 ++++++++++ */
		JKKCommonConst.HKTGI_IDO_RSN_MEMO,
/* ++++++++++ v4.08.00 追加終了 ++++++++++ */
		JKKCommonConst.HKTGI_OP_SVC_KEI_NO,
		JKKCommonConst.HKTGI_TRAN_DIV,
		JKKCommonConst.HKTGI_MSKM_NO,
		JKKCommonConst.HKTGI_MSKM_DTL_NO,
		JKKCommonConst.HKTGI_TOKUTEI_ID_KMK_NM,
		JKKCommonConst.HKTGI_TOKUTEI_ID_KMK_VALUE
	};
	
	/** イベントＩＤ 初期表示 */
	private static final String EVENT_ID_INIT = "init";
	
	/** イベントＩＤ 住所検索戻り時処理 */
	private static final String EVENT_ID_RTN_AD_SEARCH = "rtn_ad_search";
	
	/** イベントＩＤ コピー */
	private static final String EVENT_ID_COPY = "copy";
	
	/** 住所検索部品 戻り値 "00" */
	private static final String RTN_AD_CD_00 = "00";
	
	/** 住所検索部品 戻り値 "000" */
	private static final String RTN_AD_CD_000 = "000";
	
	/** ""：空白 */
	private static final String DATABEAN_BLANK = "";
	
	/** 処理モード 0：照会 */
	private static final String TRAN_MODE_INQUIRY = "0";
	
	/** 処理モード 1：更新 */
	private static final String TRAN_MODE_UPDATE = "1";
	
	/** 処理モード 2：解約 */
	private static final String TRAN_MODE_DISSOLUTION = "2";
	
	/** 処理モード 4：予約取消 */
	private static final String TRAN_MODE_RSV_CANCEL = "4";
	
	/** 表示制御フラグ 0：非表示 */
	private static final String DISP_CTRL_FLG_NOT_DSP = "0";
	
	/** 表示制御フラグ 1：表示 */
	private static final String DISP_CTRL_FLG_DSP = "1";
	
/* ++++++++++ v4.00.00 変更開始 ++++++++++ */
	/** 利用終了月 1:当月 */
	private static final String USE_END_YM_THIS_MONTH = "1";
	
	/** 利用終了月 2:次月 */
	private static final String USE_END_YM_NEXT_MONTH = "2";
	
	/** 変更開始月 1:即時 */
	private static final String CHG_STA_YM_REAL_TIME = "1";
	
	/** 変更開始月 2:次月より */
	private static final String CHG_STA_YM_FROM_NEXT = "2";
	
	/** 変更開始月 3:次々月より */
	private static final String CHG_STA_YM_FROM_AFTER_NEXT = "3";
/* ++++++++++ v4.00.00 変更終了 ++++++++++ */
	
/* ++++++++++ v5.00.00 追加開始 ++++++++++ */
	/** HasnKey */
	private static final String HASH_KEY_UPD_CC = "EohTvGuideUpdCC";
	/** eo光テレビガイド誌申込数「０」 */
	private static final String TV_GUIDE_MSKM_CNT_ZERO = "0";
/* ++++++++++ v5.00.00 追加終了 ++++++++++ */
	
/* ++++++++++ v4.09.00 追加開始 ++++++++++ */
	//住所チェック対応箇所
	/** 住所チェック警告値 */
	private static final String STATUS_WARNING = "WA";
	
	/** 住所チェック対象リスト */
	private static final String[] AD_CHK_LV_ERR = {"guidemg_sohus_ad_chk_lv_err"};
	
	/** 住所チェック置き換え文字リスト */
	private static final String[] AD_CHK_LV_ERR_CHG = {"ガイド誌送付先住所"};
/* ++++++++++ v4.09.00 追加終了 ++++++++++ */

// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/** ワンストップ返却用ワーニングメッセージ格納Map */
	private Map<String, String[]> warMsgMap = null;
	
	/** ワンストップ返却用単関連エラーメッセージ格納Map */
	private Map<String, String[]> tkckErrMsgMap = null;
	
	/** ワンストップ返却用エラーメッセージ格納Map */
	private Map<String, String[]> errMsgMap = null;
	
	/** ワンストップ返却用SIFエラー格納Map */
	private Map<String, String[]> sifErrMap = null;
	
	/** ワンストップ用受信パラメタ格納Map */
	private Map<String, Object> requestMap = null;
	
	/** 機能コード */
	private String funcCode = null;
	
	/** インターフェイスID */
	private static final String IF_ID = "KKIFE297";
	
	/** ワンストップ用ワーニング保持リスト */
	private List<Map<String, String>> warnList = null;
	
	/** コード区分リスト格納用Map */
	private Map<String, List<Map<String, String>>> cdDivListMap = null;
	
	/** ガイド誌送付先個別指定フラグ 1:個別指定 */
	private static final String KSITEI_FLG_1 = "1";
	
	/** ガイド誌送付先個別指定フラグ 2:利用場所と同じ */
	private static final String KSITEI_FLG_2 = "0";
	
	/** 申込種別コード 00027:変更 */
	private static final String MSKM_HNK = "00027";
	
	/** 申込種別コード 00005:解約 */
	private static final String MSKM_KY = "00005";
	
	/** サービス契約コード */
	private  String svcCd = null;
	
	/** 料金コード */
	private  String ryknCd = null;
	
	/** サービス契約ステータス*/
	private  String svcstat = null;
	
	/** 変更不可フラグ */
	private String hnkerrflg = "1";
	
	/** 変更有無フラグ*/
	private String hnkfkaflg = "1";
	
	/** オプションサービス契約番号 */
	private String opSvcKeiNo = "";
	
	/** 受取 変更開始月 01:即時 */
	private static final String UKT_HNKM_THIS_MONTH = "01";
	
	/** 受取 変更開始月 02:次月 */
	private static final String UKT_HNKM_NEXT_MONTH = "02";

	/** 受取 変更開始月 03:次々月 */
	private static final String UKT_HNKM_FROM_AFTER_NEXT  = "03";

// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
	// IT1-2016-0000100 2016/07/28 ADD START
	// サービス提供履歴フラグ
	private String svcTkRrkFlg = "0";
	// IT1-2016-0000100 2016/07/28 ADD END
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
/**
 * ワンストップ用APIコントロールメソッドです。
 * <BR>
 * @return boolean
 * @throws Exception
 */
	
	public boolean apiControl() throws Exception
	{
		try
		{
			try
			{
				//API用初期処理
				if (!this.apiInit())
				{
					//業務規制中の為処理終了
					return true;
				}
				
				//ワンストップ独自単項目チェック
				if (!this.singleChkForOneStop())
				{
					//エラー発生の為処理終了
					return true;
				}
				
				//ワンストップ独自共通関連チェック
				if (!this.commonKnrnChkForOneStop())
				{
					//エラー発生の為処理終了
					return true;
				}
				
				//初期処理用DataBean上書き処理
				this.overwriteDataBeanForInit();
				
				// ワンストップ独自先行関連チェック
				if (!this.senkoKnrnChkForOneStop())
				{
					// エラー発生の為処理確定
					return true;
				}
				
				///////////////////////////////////////////////
				//eo光テレビガイド誌更新確定画面 初期表示処理
				///////////////////////////////////////////////
				this.init();
				
				// メッセージチェック
				if (!JKKOneStopApiCommonUtil.msgChk(this, warMsgMap, tkckErrMsgMap, errMsgMap, warnList, funcCode, IF_ID))
				{
					// エラー発生の為処理終了
					return true;
				}
				
				// DataBean上書き処理
				this.overwriteDataBean();
				
				//ワンストップ独自関連チェック
				if (!this.knrnChkForOneStop())
				{
					//エラー発生の為処理終了
					return true;
				}
				
				//////////////////////////////////
				//更新確認ボタン押下処理
				//////////////////////////////////
				this.forwardUpdCfm();
				
				//メッセージチェック
				if (!JKKOneStopApiCommonUtil.msgChk(this, warMsgMap, tkckErrMsgMap, errMsgMap, warnList, funcCode, IF_ID))
				{
					//エラー発生の為処理終了
					return true;
				}
				
				//機能コード"1"の場合のみ、確定ボタン押下処理
				if (JKKCommonConst.FUNC_CODE_1.equals(funcCode))
				{
					//////////////////////////////////
					//確定ボタン押下処理
					//////////////////////////////////
					this.forwardFix();
					
					//メッセージチェック
					if (!JKKOneStopApiCommonUtil.msgChk(this, warMsgMap, tkckErrMsgMap, errMsgMap, warnList, funcCode, IF_ID))
					{
						//エラー発生の為処理終了
						return true;
					}
				}
				
				// API用終了処理(リターンコード00(正常終了))
				this.apiTerminal("00");
			}
			catch (JCCWebServiceException wse)
			{
				//サービスIFエラー処理
				JKKOneStopApiCommonUtil.msgChk(this, warMsgMap, tkckErrMsgMap, errMsgMap, warnList, funcCode, IF_ID);
				X31CMessageResult msgResult = wse.getMessageList();
				JKKOneStopApiCommonUtil.sifErrChk(this, msgResult, sifErrMap, warnList, IF_ID);
			}
		}
		catch (Exception e)
		{
			// 例外発生時はリターンコード99(システムエラー)
			JKKOneStopApiCommonUtil.printErrorLog(getSessionId(), "KKIFE297_eo光テレビガイド誌更新確定(ワンストップ)にて例外が発生しました。", e);
			this.apiTerminal("99");
		}
		return true;
	}
//ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * ワンストップ用API初期表示メソッドです。
	 * <BR>
	 * @return boolean
	 * @throws Exception
	 */
	public boolean apiInit() throws Exception
	{
		// 受信データXML⇒Map変換
		requestMap = (Map<String, Object>)getReceiveXml(getSessionId()).get(IF_ID + "_RECEIVE");
		
		// 機能コード取得(業務規制チェック用に単項目チェック前に取得)
		funcCode = (String) requestMap.get("func_code");
		
		// 機能コードが"2"以外の場合、業務規制チェック
		// ST-2015-0000045 2015/09/30 MOD START
		//if (!JKKCommonConst.FUNC_CODE_2.equals("funcCode")
		if (!JKKCommonConst.FUNC_CODE_2.equals(funcCode)
		// ST-2015-0000045 2015/09/30 MOD END		
				&& !checkRegulationForUpdateApi(this))
		{
			// エラーメッセージを設定
			// ST-2015-0000045 2015/09/30 MOD START
			//JKKOneStopApiCommonUtil.setReturnXml(this, "5001", warnList, funcCode, "KKIFE297");
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5001", warnList, funcCode, IF_ID);
			// ST-2015-0000045 2015/09/30 MOD END
			return false;
		}
		
		// エラー・ワーニングメッセージ作成
		this.createMsgMap();
		
		
		// ワーニングリスト生成
		warnList = new ArrayList<Map<String, String>>();
		
		return true;
	}
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * メッセージマップ作成処理です。
	 * 画面独自処理にて発生しうるエラーメッセージを格納する。
	 * <BR>
	 * @throws Exception
	 */
	private void createMsgMap() throws Exception
	{
		// メッセージ読み込み
		JCCMessageCache.setMessageCache();
			
		// ワーニングメッセージ格納Map組み立て
		warMsgMap = new HashMap<String, String[]>();
		warMsgMap.put(JCCMessageCache.getMessage("EKBD290--Q",new String[]{"ガイド誌送付先住所"}), new String[]{"W0001", ""});
		
		// 単関連エラーメッセージ格納Map組み立て（※なし）
		tkckErrMsgMap = new HashMap<String, String[]>();
		
		// エラーメッセージ格納Map組み立て
		errMsgMap = new HashMap<String, String[]>();
		errMsgMap.put(JCCMessageCache.getMessage("EKB2240-KW", new String[]{"オプション契約"}), new String[]{"E5012", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB1650-JW", new String[]{""}), new String[]{"E5013", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB0290-JW", new String[]{""}), new String[]{"E5014", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKBC930-KW", new String[]{"メゾンタイプ"}), new String[]{"E5016", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB2100-NW", new String[]{"eo光テレビガイド誌申込数","１〜９９"}), new String[]{"E5017", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB1280-KW", new String[]{"海外住所コード", "手動入力なし"}), new String[]{"E5018", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB4680-NW", new String[]{""}), new String[]{"E5019", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKW0030-TW", new String[]{"送付先住所-番地・号", "全角", "15"}), new String[]{"E5020", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKW0030-TW", new String[]{"送付先住所-番地・号", "全角", "27"}), new String[]{"E5020", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKW0030-TW", new String[]{"送付先住所-番地・号", "全角", "45"}), new String[]{"E5020", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKW0030-TW", new String[]{"送付先住所-番地・号", "全角", "57"}), new String[]{"E5020", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKW0030-TW", new String[]{"送付先住所-番地・号", "全角", "61"}), new String[]{"E5020", ""});
		errMsgMap.put(JCCMessageCache.getMessage("EKB8450-KW", new String[]{"ガイド誌送付先住所-郵便番号","住所コード"}), new String[]{"E5021", ""});
		
		// サービスIFエラー格納Map組み立て
		// KEY=『サービスインターフェイスID,ステータス,エラー返却項目,エラーフラグ』
		sifErrMap = new HashMap<String, String[]>();
		sifErrMap.put("EKK0381C050,1100,guidemg_sohus_ad_chk_lv,EB",  new String[]{"E5021", "ガイド誌送付先住所-郵便番号","住所コード"});
		sifErrMap.put("EKK0381D010,1100,guidemg_sohus_ad_chk_lv,EB",  new String[]{"E5021", "ガイド誌送付先住所-郵便番号","住所コード"});
		sifErrMap.put("EKK0381C050,1100,guidemg_sohus_ad_chk_lv,WA",  new String[]{"W0001", "最下層住所"});
		sifErrMap.put("EKK0381D010,1100,guidemg_sohus_ad_chk_lv,WA",  new String[]{"W0001", "最下層住所"});
		sifErrMap.put("EKK0381C050,1100,guidemg_sohus_ad_chk_lv,EA",  new String[]{"E5019", "住所テーブル"});
		sifErrMap.put("EKK0381D010,1100,guidemg_sohus_ad_chk_lv,EA",  new String[]{"E5019", "住所テーブル"});
		sifErrMap.put("EKK0381C050,1050,guidemg_sohus_bnchigo,E3",  new String[]{"E5020", "ガイド誌送付先番地号"});
		sifErrMap.put("EKK0381D010,1050,guidemg_sohus_bnchigo,E3",  new String[]{"E5020", "ガイド誌送付先番地号"});
	}
	
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 *  ワンストップ用単項目チェックメソッドです。
	 *  <BR>
	 *  @return boolean
	 *  @throws Exception
	 */
	
	private boolean singleChkForOneStop() throws Exception
	{
		List<Map<String, String>> errList = new ArrayList<Map<String, String>>();
		String itemName  = null;
		String itemValue = null;
		
		// 機能コード
		itemName = "func_code";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 1))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
			if (!JKKCommonConst.FUNC_CODE_1.equals(itemValue)
					&& !JKKCommonConst.FUNC_CODE_2.equals(itemValue))
			{
				// リファレンスチェックエラー
				errList.add(JKKOneStopApiCommonUtil.getRefErrInfMap(itemName));
			}
		}
		
		// SYSID
		itemName = "sysid";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必要チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 10))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// サービス契約番号
		itemName = "svc_kei_no";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if(!LengthCheck.isLength1Check(itemValue, 10))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// 異動理由大分類コード
		itemName = "ido_rsn_dbri_cd";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 2))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// 異動理由中分類コード
		itemName = "ido_rsn_cbri_cd";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 2))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// 異動理由メモ
		itemName = "ido_rsn_memo";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isMix1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 100))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ユーザID
		itemName = "user_id";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 6, 10))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// 申込種別コード
		itemName = "mskm_sbt_cd";
		if (!JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, itemName))
		{
			// 必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				// 形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 5))
			{
				// 桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
			if (!MSKM_HNK.equals(itemValue)
					&& !MSKM_KY.equals(itemValue))
			{
				// リファレンスチェックエラー
				errList.add(JKKOneStopApiCommonUtil.getRefErrInfMap(itemName));
			}
		}
		
		// eo光テレビガイド誌申込数
		itemName = "mskm_cnt";
		if (!JKKOneStopApiCommonUtil.checkRequireFailNullUpd(requestMap, itemName))
		{
			//必須チェックエラー
			errList.add(JKKOneStopApiCommonUtil.getReqErrInfMap(itemName));
		}
		else
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isNumber1Check(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 2))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先個別指定フラグ
		itemName = "guidemg_shs_ksitei_flg";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isNumber1Check(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 1))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
			
			if (!KSITEI_FLG_1.equals(itemValue)
					&& !KSITEI_FLG_2.equals(itemValue))
			{
				// リファレンスチェックエラー
				errList.add(JKKOneStopApiCommonUtil.getRefErrInfMap(itemName));
			}
		}
		// ガイド誌送付先郵便番号
		itemName = "guidemg_sohus_pcd";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isNumber1Check(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 7))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先住所コード
		itemName = "guidemg_sohus_ad_cd";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 11))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先都道府県名
		itemName = "guidemg_sohus_state_nm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 4))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先市区町村名
		itemName = "guidemg_sohus_city_nm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 12))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先大字通称名
		itemName = "guidemg_sohus_oaztsu_nm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 18))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先字丁目名
		itemName = "guidemg_sohus_azcho_nm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 12))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先番地号
		itemName = "guidemg_sohus_bnchigo";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 61))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先補記・建物名
		itemName = "guidemg_sohus_adrttm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 45))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		
		// ガイド誌送付先補記・部屋番号
		itemName = "guidemg_sohus_adrrm";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!MixCharCheck.isNameAddressCheck(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength2Check(itemValue, 1, 15))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
		}
		

		
		// 変更開始月
		itemName = "skj_ykgt";
		if (requestMap.containsKey(itemName))
		{
			itemValue = (String)requestMap.get(itemName);
			if (!HalfCharCheck.isEnNumber1Check(itemValue))
			{
				//形式チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
			}
			if (!LengthCheck.isLength1Check(itemValue, 2))
			{
				//桁数チェックエラー
				errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
			}
			// ST-2015-0000047 2015/09/30 MOD START 
			//if (!UKT_HNKM_THIS_MONTH.equals(itemValue)
			if (itemValue != null && !UKT_HNKM_THIS_MONTH.equals(itemValue)
			// ST-2015-0000047 2015/09/30 MOD END
					&& !UKT_HNKM_NEXT_MONTH.equals(itemValue)
						&& !UKT_HNKM_FROM_AFTER_NEXT.equals(itemValue))
			{
				// リファレンスチェックエラー
				errList.add(JKKOneStopApiCommonUtil.getRefErrInfMap(itemName));
			}
		}
		
		// 利用終了月
			// ST-2015-0000047 2015/09/30 MOD START
			//itemName = "use_endym";
			itemName = "use_end_ym";
			// ST-2015-0000047 2015/09/30 MOD END
			if (requestMap.containsKey(itemName))
			{
				itemValue = (String)requestMap.get(itemName);
				if (!HalfCharCheck.isNumber1Check(itemValue))
				{
					//形式チェックエラー
					errList.add(JKKOneStopApiCommonUtil.getFormErrInfMap(itemName));
				}
				if (!LengthCheck.isLength1Check(itemValue, 1))
				{
					//桁数チェックエラー
					errList.add(JKKOneStopApiCommonUtil.getLenErrInfMap(itemName));
				}
				// ST-2015-0000047 2015/09/30 MOD START 
				//if (!USE_END_YM_THIS_MONTH.equals(itemValue)
				if (itemValue != null && !USE_END_YM_THIS_MONTH.equals(itemValue)
				// ST-2015-0000047 2015/09/30 MOD END 
						&& !USE_END_YM_NEXT_MONTH.equals(itemValue))
				{
					// リファレンスチェックエラー
					errList.add(JKKOneStopApiCommonUtil.getRefErrInfMap(itemName));
				}
			}
			
		// エラーが存在する場合
		if (errList.size() > 0)
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
			return false;
		}
		
		return true;
	}
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/*
	 * ワンストップ用共通関連チェックメソッドです。
	 * <BR>
	 * @return boolean
	 * @throws Exception
	 */
	private boolean commonKnrnChkForOneStop() throws Exception
	{
		// dataBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};
		
		// チェック対象パラメタの退避
		String sysid = (String)requestMap.get("sysid");
		String svcKeiNo = (String)requestMap.get("svc_kei_no");
		String userId = (String)requestMap.get("user_id");
		String idoDiv = JKKCommonConst.IDO_DIV_VALUE_00031;
		String idoRsnDbriCd = (String)requestMap.get("ido_rsn_dbri_cd");
		String idoRsnCbriCd = (String)requestMap.get("ido_rsn_cbri_cd");
		
		// 取得対象コード種別（※なし）
		List<String> cdSbtList = new ArrayList<String>();
		
		// 運用日付
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
		// SYSID・サービス契約番号・ユーザIDの存在チェック＋コード種別の取得
		// ■KKSV0820
		HashMap<String, Object> kksv0820ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0820InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0820OutputMap = new HashMap<String, Object>();
		
		// パラメタ設定
		kksv0820ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0820");
		kksv0820ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "KKSV0820OP");
		
		// 上りマッピング
		KKSV0820_KKSV0820OPDBMapper kksv0820Mapper = new KKSV0820_KKSV0820OPDBMapper();
		kksv0820Mapper.setKKSV082001CC(paramBean, kksv0820InputMap, opeDate, sysid, svcKeiNo, userId, cdSbtList);
		
		invokeService(kksv0820ParamMap, kksv0820InputMap, kksv0820OutputMap);
		
		// SYSID存在チェック
		if (!JKKOneStopApiCommonUtil.checkExistSysid(kksv0820OutputMap))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5005", warnList, funcCode, IF_ID);
			return false;
		}
		
		// サービス契約番号存在チェック
		if (!JKKOneStopApiCommonUtil.checkExistSvcKeiNo(kksv0820OutputMap))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5006", warnList, funcCode, IF_ID);
			return false;
		}
		
		// ユーザID存在チェック
		if (!JKKOneStopApiCommonUtil.checkExistUserId(kksv0820OutputMap))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5007", warnList, funcCode, IF_ID);
			return false;
		}
		
		// コード区分リストの退避
		Map<String, Object> kksv082001ccMap = (Map<String, Object>) kksv0820OutputMap.get("KKSV082001CC");
		Map<String, Object> codeMeishoKanriMap = (Map)kksv082001ccMap.get("codeMeishoKanriMap");
		cdDivListMap = (Map)codeMeishoKanriMap.get("rslt_cd_sbt_map");
		
		// 異動理由の大分類・中分類の組み合わせチェック／サービス契約の異動可能チェック用のサービス呼び出し
		OneStopDataBeanAccess osBean = new OneStopDataBeanAccess();
		osBean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, sysid);
		osBean.sendMessageString("選択サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
		osBean.sendMessageString("運用日付", X31CWebConst.DATABEAN_SET_VALUE,  opeDate);
		// IT1-2016-0000100 2016/07/28 ADD START
		osBean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
		// IT1-2016-0000100 2016/07/28 ADD END
		
		OneStopDataBeanAccess[] paramOsBean = {osBean};
		
		// ■KKSV0061
		HashMap<String, Object> kksv0061ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0061InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0061OutputMap = new HashMap<String, Object>();
		
		// パラメタ設定
		kksv0061ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0061);
		kksv0061ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0061OP);
		
		// 上りマッピング
		KKSV0061_KKSV0061OPDBMapper kksv0061Mapper = new KKSV0061_KKSV0061OPDBMapper();
		kksv0061Mapper.setKKSV006101SC(paramOsBean, kksv0061InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0061Mapper.setKKSV006102SC(paramOsBean, kksv0061InputMap, JPCModelConstant.FUNC_CD_3);
		kksv0061Mapper.setKKSV006103SC(paramOsBean, kksv0061InputMap, JPCModelConstant.FUNC_CD_3);
		
		invokeService(kksv0061ParamMap, kksv0061InputMap, kksv0061OutputMap);
		
		// 取得情報の下りマッピング
		kksv0061Mapper.getKKSV006101SC(paramOsBean, kksv0061OutputMap);
		kksv0061Mapper.getKKSV006102SC(paramOsBean, kksv0061OutputMap);
		kksv0061Mapper.getKKSV006103SC(paramOsBean, kksv0061OutputMap);
		kksv0061Mapper.getKKSV006104SC(paramOsBean, kksv0061OutputMap);
		
		// ■KKSV0062
		HashMap<String, Object> kksv0062ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0062InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0062OutputMap = new HashMap<String, Object>();
		
		kksv0062ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0062);
		kksv0062ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0062OP);
		
		// 上りマッピング
		KKSV0062_KKSV0062OPDBMapper kksv0062Mapper = new KKSV0062_KKSV0062OPDBMapper();
		kksv0062Mapper.setKKSV006201SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_2);
		kksv0062Mapper.setKKSV006202SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006203SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006205SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006206SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006207SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_6);
		kksv0062Mapper.setKKSV006208SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_2);
		kksv0062Mapper.setKKSV006209SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006210SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_2);
		kksv0062Mapper.setKKSV006212SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		kksv0062Mapper.setKKSV006221SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		// 2016/06/03 ANK-2687-00-00 ADD START
		kksv0062Mapper.setKKSV006222CC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_1);
		// 2016/06/03 ANK-2687-00-00 ADD END
		// IT1-2016-0000100 2016/07/28 ADD START
		kksv0062Mapper.setKKSV006223SC(paramOsBean, kksv0062InputMap, JPCModelConstant.FUNC_CD_2);
		// IT1-2016-0000100 2016/07/28 ADD END
		invokeService(kksv0062ParamMap, kksv0062InputMap, kksv0062OutputMap);
		
		// 取得情報の下りマッピング
		kksv0062Mapper.getKKSV006201SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006205SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006207SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006209SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006210SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006211SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006208SC(paramOsBean, kksv0062OutputMap);
		kksv0062Mapper.getKKSV006221SC(paramOsBean, kksv0062OutputMap);
		Map<?, ?> kksv006201scMap = (Map<?, ?>) kksv0062OutputMap.get("KKSV006201SC");
		List<?> ekk0081a010List = (List<?>) kksv006201scMap.get("EKK0081A010CBSMsg1List");
		Map<?, ?> ekk0081a010Map = (Map<?, ?>) (null != ekk0081a010List && 0 < ekk0081a010List.size() ? ekk0081a010List.get(0) : null);
		String prcGrpCd = (String) (null != ekk0081a010Map ? ekk0081a010Map.get("prc_grp_cd") : "");
		// サービス契約コードの取得
		svcCd = (String) (null != ekk0081a010Map ? ekk0081a010Map.get("svc_cd") : "");
		// 料金コードの取得
		ryknCd = (String) (null != ekk0081a010Map ? ekk0081a010Map.get("pcrs_cd") : "");
		// サービス契約ステータスの取得
		svcstat = (String) (null != ekk0081a010Map ? ekk0081a010Map.get("svc_kei_stat") : "");
		
		//料金グループコードが、 Wi-Fi／EMobile／UQ-WiMAX の何れかの場合
//		if ("07".equals(prcGrpCd) || "08".equals(prcGrpCd) || "09".equals(prcGrpCd) || "10".equals(prcGrpCd))
//		{
//			kksv0062Mapper.getKKSV006212SC(paramOsBean, kksv0062OutputMap);
//		}
		
		// IT1-2016-0000100 2016/07/28 ADD START
		kksv0062Mapper.getKKSV006223SC(paramOsBean, kksv0062OutputMap);
		
		Map<?, ?> kksv006223scMap = (Map<?, ?>)kksv0062OutputMap.get("KKSV006223SC");
		List<?> eKK0081B024List = (List<?>)kksv006223scMap.get("EKK0081B024CBSMsg1List");
		Map<?, ?> eKK0081B024Map = null;
		String svcKeiStat = "";
		
		// サービス契約履歴一覧照会マップ.サービス契約履歴一覧照会明細がNULLでない
		// かつ サービス契約履歴一覧照会マップ.サービス契約履歴一覧照会明細のサイズが0より大きい場合
		if (eKK0081B024List != null && 0 < eKK0081B024List.size()) {
			for (int i = 0; i < eKK0081B024List.size(); i++) {
				eKK0081B024Map = (Map<?, ?>)eKK0081B024List.get(i);
				
				svcKeiStat = (String)eKK0081B024Map.get("svc_kei_stat");
				
				// サービス契約ステータス = "100"(サービス提供中)の場合、
				// サービス提供履歴フラグに"1"(サービス提供履歴あり)を設定する
				if (JKKCommonConst.SVC_KEI_STAT_100.equals(svcKeiStat)) {
					svcTkRrkFlg = "1";
					break;
				}
			}
		}
		// IT1-2016-0000100 2016/07/28 ADD END
		
		// ■KKSV0463
		HashMap<String, Object> kksv0463ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0463InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0463OutputMap = new HashMap<String, Object>();
		
		kksv0463ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0463);
		kksv0463ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0463OP);
		
		// 上りマッピング
		KKSV0463_KKSV0463OPDBMapper kksv0463Mapper = new KKSV0463_KKSV0463OPDBMapper();
		kksv0463Mapper.setKKSV046301SC(paramOsBean, kksv0463InputMap, JPCModelConstant.FUNC_CD_1, idoDiv);
		
		// 異動区分選択異動理由切替サービスを実施
		invokeService(kksv0463ParamMap, kksv0463InputMap, kksv0463OutputMap);
		
		// ■KKSV0551
		HashMap<String, Object> kksv0551ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0551InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0551OutputMap = new HashMap<String, Object>();
		
		kksv0551ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0551);
		kksv0551ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0551OP);
		
		// 上りマッピング
		KKSV0551_KKSV0551OPDBMapper kksv0551Mapper = new KKSV0551_KKSV0551OPDBMapper();
		kksv0551Mapper.setKKSV055101SC(paramOsBean, kksv0551InputMap, JPCModelConstant.FUNC_CD_1, idoRsnDbriCd);
		
		// 異動区分選択異動理由大分類切替サービスを実施
		invokeService(kksv0551ParamMap, kksv0551InputMap, kksv0551OutputMap);
		
		// 異動理由大分類・中分類組合せチェック
		if (!JKKOneStopApiCommonUtil.checkIdoRsnCdPair(kksv0463OutputMap, kksv0551OutputMap, osBean, idoRsnDbriCd, idoRsnCbriCd))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5008", warnList, funcCode, IF_ID);
			return false;
		}
		
		// サービス契約異動可能チェック
		if (!JKKOneStopApiCommonUtil.checkSvcKeiIdoPsb(kksv0062OutputMap, osBean, idoDiv))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5009", warnList, funcCode, IF_ID);
			return false;
		}
		
		return true;
	}
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * ワンストップ独自先行関連チェック処理
	 * @return boolean
	 * @throws Exception
	 */
	
	private boolean senkoKnrnChkForOneStop() throws Exception
	{
		// IT1-2015-0000114 2015/10/21 ADD START 
		// サービスの種類チェック
		if (!"03".equals(svcCd))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5010", warnList, funcCode, IF_ID);
			return false;
		}
		
		// 料金コースチェック
		if (!"A24".equals(ryknCd)
				&& !"A38".equals(ryknCd)
					&& !"A39".equals(ryknCd)
						&& !"A64".equals(ryknCd))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5011", warnList, funcCode, IF_ID);
			return false;
		}
		// IT1-2015-0000114 2015/10/21 ADD END 
		
		// エラーリスト生成
		List<Map<String, String>> errList = new ArrayList<Map<String, String>>();
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// 必要データの取得
		String guidemg_shs_ksitei_flg = (String)requestMap.get("guidemg_shs_ksitei_flg");
		String guidemg_sohus_pcd = (String)requestMap.get("guidemg_sohus_pcd");
		String guidemg_sohus_ad_cd = (String)requestMap.get("guidemg_sohus_ad_cd");
		String guidemg_sohus_state_nm = (String)requestMap.get("guidemg_sohus_state_nm");
		String guidemg_sohus_city_nm = (String)requestMap.get("guidemg_sohus_city_nm");
		String guidemg_sohus_bnchigo = (String)requestMap.get("guidemg_sohus_bnchigo");
		String mskm_sbt_cd = (String)requestMap.get("mskm_sbt_cd");
		String skj_ykgt = (String)requestMap.get("skj_ykgt");
//		String svc_kei_stat = bean.sendMessageString(KKW02522SFConst.KK0081_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
		// ST-2015-0000047 2015/09/30 MOD START 
		//String use_endym = (String)requestMap.get("use_endym");
		String use_endym = (String)requestMap.get("use_end_ym");
		// ST-2015-0000047 2015/09/30 MOD END
		// ガイド誌送付先記入チェック (必須チェック)
		if("1".equals(guidemg_shs_ksitei_flg))
		{
			if(guidemg_sohus_pcd == null || 			// ガイド誌送付先郵便番号
				guidemg_sohus_ad_cd == null ||			// ガイド誌送付先住所コード
				guidemg_sohus_state_nm == null ||		// ガイド誌送付先都道府県名
				guidemg_sohus_city_nm == null ||		// ガイド誌送付先市区町村名
				guidemg_sohus_bnchigo == null  		// ガイド誌送付先番地号
				)
			{
				errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5002","ガイド誌送付先個別指定フラグ"));
				JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
				return false;
			}
		}
		
		// 未来日チェック
		if (JKKCommonConst.SVC_KEI_STAT_210.equals(this.svcstat) && USE_END_YM_NEXT_MONTH.equals(use_endym))
		{
			errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5015",""));
			JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
			return false;
			
		}
		
		// オプションサービス契約ステータスのチェック
		if (mskm_sbt_cd.equals(MSKM_HNK) && "210".equals(this.svcstat))
		{
			errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5009",""));
			JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
			return false;
		}
		
		// 変更開始月(必須チェック)
		if (mskm_sbt_cd.equals(MSKM_HNK) && skj_ykgt==null)
		{
			errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5003","skj_ykgt"));
			JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
			return false;
		}
		
		// 利用終了月(必須チェック)
		
		if (mskm_sbt_cd.equals(MSKM_KY) && use_endym==null)
		{
			// ST-2015-0000047 2015/09/30 MOD START
			//errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5004","use_endym"));
			errList.add(JKKOneStopApiCommonUtil.getTkckErrInfMap("E5004","use_end_ym"));
			// ST-2015-0000047 2015/09/30 MOD END
			JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID);
			return false;
		}
		
		// 変更不可
		if ("1".equals(hnkerrflg))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5012", warnList, funcCode, IF_ID);
			return false;
		}
		
		// 海外住所チェック
		if ("00000000000".equals(guidemg_sohus_ad_cd))
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5018", warnList, funcCode, IF_ID);
			return false;
		}
		
		return true;
	}
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】	
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/*
	 * 初期表示処理用DataBean上書き処理です。
	 * <BR>
	 */
	private void overwriteDataBeanForInit()
	{
		// データビーンの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// オプションサービス契約一覧初期表示サービスの呼び出し 
		
		// 運用日付
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		// サービス契約番号
		String svcKeiNo = (String)requestMap.get("svc_kei_no");
		
		OneStopDataBeanAccess osBean = new OneStopDataBeanAccess();
		osBean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
		osBean.sendMessageString("運用年月日", X31CWebConst.DATABEAN_SET_VALUE,  opeDate);
		osBean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE,  JKKCommonConst.IDO_DIV_VALUE_00031);
		osBean.sendMessageString(KKW02301SFConst.SORT_ITEM, X31CWebConst.DATABEAN_SET_VALUE,  KKW02301SFConst.SORT_ITEM_OPT_SVC_CD_NM);
		osBean.sendMessageString(KKW02301SFConst.SORT_KBN, X31CWebConst.DATABEAN_SET_VALUE,  KKW02301SFConst.SORT_KBN_ASC);
		
		OneStopDataBeanAccess[] paramOsBean = {osBean};
		
		// ■KKSV0042
		HashMap<String, Object> kksv0042ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0042InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0042OutputMap = new HashMap<String, Object>();		
		
		// サービスパラメタ設定
		kksv0042ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0042);
		kksv0042ParamMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0042OP);
		
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0042_KKSV0042OPDBMapper mapper = new KKSV0042_KKSV0042OPDBMapper();
		kksv0042InputMap = mapper.setKKSV004201SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_2);		// サービス契約一意照会
		kksv0042InputMap = mapper.setKKSV004202SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// サービス契約共通情報一覧照会
		kksv0042InputMap = mapper.setKKSV004203SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_2);		// 督促一意照会
		kksv0042InputMap = mapper.setKKSV004204SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// コード名称管理一意照会：異動区分名称
		kksv0042InputMap = mapper.setKKSV004205SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// コード名称管理一意照会：サービス契約ステータス名称
		kksv0042InputMap = mapper.setKKSV004206SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// 割引サービス契約一覧照会
		kksv0042InputMap = mapper.setKKSV004207SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_4);		// サービス契約内訳<eo光電話>一覧照会
		kksv0042InputMap = mapper.setKKSV004208SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// サービス契約内訳一覧照会
		kksv0042InputMap = mapper.setKKSV004209SC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// オプションチャンネル情報一覧照会
		// 2016/06/03 ANK-2687-00-00 ADD START ワンストップではセットしているだけ
		kksv0042InputMap = mapper.setKKSV004211CC(paramOsBean, kksv0042InputMap, JPCModelConstant.FUNC_CD_1);		// お客様ランク情報一意照会
		// 2016/06/03 ANK-2687-00-00 ADD END ワンストップではセットしているだけ
		// オプションサービス契約一覧照会初期表示サービス実行
		invokeService(kksv0042ParamMap, kksv0042InputMap, kksv0042OutputMap);

		// 取得情報の下りマッピング
		mapper.getKKSV004201SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004202SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004203SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004204SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004205SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004206SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004208SC(paramOsBean, kksv0042OutputMap);
		mapper.getKKSV004209SC(paramOsBean, kksv0042OutputMap);
		
		Map<?, ?> kksv004208scMap = (Map<?, ?>) kksv0042OutputMap.get("KKSV004208SC");
		List<?> ekk0161b004List = (List<?>) kksv004208scMap.get("EKK0161B004CBSMsg1List");
		Map<?, ?> ekk0161b004Map = (Map<?, ?>) (null != ekk0161b004List && 0 < ekk0161b004List.size() ? ekk0161b004List.get(0) : null);
		String svcKeiUcwkNo = (String) (null != ekk0161b004Map ? ekk0161b004Map.get("svc_kei_ucwk_no") : "");
		paramOsBean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_SET_VALUE, "");
		
		// ■KKSV0043
		HashMap<String, Object> kksv0043ParamMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0043InputMap  = new HashMap<String, Object>();
		HashMap<String, Object> kksv0043OutputMap = new HashMap<String, Object>();	
		
		kksv0043ParamMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0043);
		
		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0043_KKSV0043OPDBMapper mapper_0043 = new KKSV0043_KKSV0043OPDBMapper();
		mapper_0043.setKKSV004301SC(paramOsBean, kksv0043InputMap, JPCModelConstant.FUNC_CD_1);
		mapper_0043.setKKSV004303CC(paramOsBean, kksv0043InputMap, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約一覧照会サービス実行
		invokeService(kksv0043ParamMap, kksv0043InputMap, kksv0043OutputMap);
		
		mapper_0043.getKKSV004301SC(paramOsBean, kksv0043OutputMap,false);
		mapper_0043.getKKSV004303CC(paramOsBean, kksv0043OutputMap);

		opSvcKeiNo = "";
		HashMap parentMap = null;
			if(kksv0043OutputMap.containsKey("KKSV004301SC"))
			{
				parentMap = (HashMap)kksv0043OutputMap.get("KKSV004301SC");
			}
			
			if(parentMap.containsKey("EKK0351B002CBSMsg1List"))
			{
				ArrayList childList = null;
				childList = (ArrayList)parentMap.get("EKK0351B002CBSMsg1List");
				
				
				for(int i=0;i<childList.size();i++)
				{
					HashMap childMap = (HashMap)childList.get(i);
					
					if ("B068".equals(childMap.get("op_svc_cd"))
							&& !"910".equals(childMap.get("op_svc_kei_stat"))
								&& !"920".equals(childMap.get("op_svc_kei_stat"))
									&& "".equals(childMap.get("opsvc_end_rsv_ymd")))
					{
						//オプションサービス契約番号
						opSvcKeiNo = (String)childMap.get("op_svc_kei_no");
//					// オプションサービス契約ステータス（オプションサービス契約） ← オプションサービス一意照会マップ.オプションサービス契約一意照会明細.オプションサービス契約ステータス
//					bean[0].sendMessageString(KKW02522SFConst.KK0351_OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("op_svc_kei_stat"));
//					// オプションサービス一意照会マップ.オプションサービス契約一意照会明細.サービス開始年月日
//					staYmd = (String)childMap.get("svc_staymd");
//					// オプションサービス一意照会マップ.オプションサービス契約一意照会明細.サービス終了年月日
//					endYmd = (String)childMap.get("svc_endymd");
						// オプションサービス契約番号が取れなかった場合、エラーフラグを立てる
						hnkerrflg = "0";
					}
				}
			}
			
		// 初期処理用の引継リスト作成
		HashMap<String, Object> inMap = new HashMap<String, Object>();
		ArrayList<HashMap<String, Object>> hktgList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> paraMap = new HashMap<String, Object>();
		
		// 異動区分(00031:オプション設定 固定)
		inMap.put(JKKCommonConst.HKTGI_IDO_DIV, JKKCommonConst.IDO_DIV_VALUE_00031);
		// 異動理由コード
		inMap.put(JKKCommonConst.HKTGI_IDO_RSN_CD, new String[]{(String)requestMap.get("ido_rsn_dbri_cd")});
		// 異動理由メモ
		inMap.put(JKKCommonConst.HKTGI_IDO_RSN_MEMO, (String)requestMap.get("ido_rsn_memo"));
		// サービス契約番号
		inMap.put(JKKCommonConst.HKTGI_SVC_KEI_NO, svcKeiNo);
		// SYSID
		inMap.put(JKKCommonConst.HKTGI_SYSID, (String)requestMap.get("sysid"));
		// オプション契約番号
		// OM-2015-0002626 2015/11/20 MOD START 
		//inMap.put(JKKCommonConst.HKTGI_OP_SVC_KEI_NO, opSvcKeiNo);
		inMap.put(JKKCommonConst.HKTGI_OP_SVC_KEI_NO, new String[]{opSvcKeiNo});
		// OM-2015-0002626 2015/11/20 MOD END 
		
		// 変更と解約の判別
		String mskm_sbt_cd = (String)requestMap.get("mskm_sbt_cd");
		
		if ("00027".equals(mskm_sbt_cd))
		{
			inMap.put(JKKCommonConst.HKTGI_TRAN_DIV, "03");
		}
		
		if ("00005".equals(mskm_sbt_cd))
		{
			inMap.put(JKKCommonConst.HKTGI_TRAN_DIV, "04");
		}
		
		hktgList.add(inMap);
		paraMap.put(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST, hktgList);
		
		JCCWebCommon.setScreenInfo(this, "KKA17201", paraMap);
		
		// 共有フォームビーンにユーザIDを設定する
		X31SDataBeanAccess  commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)requestMap.get("user_id"));
	}
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
//ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * DataBean上書き処理です。
	 * <BR>
	 */
	private void overwriteDataBean()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		String mskm_sbt_cd = (String)requestMap.get("mskm_sbt_cd");
		String skj_ykgt = (String)requestMap.get("skj_ykgt");
		// ST-2015-0000047 2015/09/30 MOD START
		//String use_endym = (String)requestMap.get("use_endym");
		String use_endym = (String)requestMap.get("use_end_ym");
		// ST-2015-0000047 2015/09/30 MOD END
		String mskm_cnt = (String)requestMap.get("mskm_cnt");
		
		String guidemg_shs_ksitei_flg = (String)requestMap.get("guidemg_shs_ksitei_flg");
		
		if (KSITEI_FLG_1.equals(guidemg_shs_ksitei_flg))
		{
			X31SDataBeanAccessArray listBean = bean.getDataBeanArray(KKW02522SFConst.AD_INFO);
			X31SDataBeanAccess subbean = listBean.getDataBean(0);
			subbean.sendMessageString(KKW02522SFConst.SELECT_INDEX_01, "0");
			//データBeanに設定するとき
			
			bean.sendMessage(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_CLEAR);					// 大字通称名
			bean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);						// 字丁目
			bean.sendMessage(KKW02522SFConst.CHG_ADRTTM, X31CWebConst.DATABEAN_CLEAR);						// 建物名
			bean.sendMessage(KKW02522SFConst.CHG_ADRRM, X31CWebConst.DATABEAN_CLEAR);

//		String guidemg_shs_ksitei_flg = (String)requestMap.get("guidemg_shs_ksitei_flg");
			String guidemg_sohus_pcd = (String)requestMap.get("guidemg_sohus_pcd");
			String guidemg_sohus_ad_cd = (String)requestMap.get("guidemg_sohus_ad_cd");
			String guidemg_sohus_state_nm = (String)requestMap.get("guidemg_sohus_state_nm");
			String guidemg_sohus_city_nm = (String)requestMap.get("guidemg_sohus_city_nm");
			String guidemg_sohus_oaztsu_nm = (String)requestMap.get("guidemg_sohus_oaztsu_nm");
			String guidemg_sohus_azcho_nm = (String)requestMap.get("guidemg_sohus_azcho_nm");
			String guidemg_sohus_bnchigo = (String)requestMap.get("guidemg_sohus_bnchigo");
			String guidemg_sohus_adrttm = (String)requestMap.get("guidemg_sohus_adrttm");
			String guidemg_sohus_adrrm = (String)requestMap.get("guidemg_sohus_adrrm");
			
//			// 郵便番号
//			 listBean = bean.getDataBeanArray(KKW02522SFConst.PCD);
//			 subbean = listBean.getDataBean(0);
//			subbean.sendMessageString(KKW00828SFConst.PCD_1_02, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_pcd.substring(0, 3));			// 郵便番号１（上３桁）
//			subbean.sendMessageString(KKW00828SFConst.PCD_2_02, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_pcd.substring(3, 7));			// 郵便番号２（下４桁）
//			subbean.sendMessageString(KKW00828SFConst.PCD_02, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_pcd);			// 郵便番号
//						
//			// 住所コード
//			listBean = bean.getDataBeanArray(KKW00828SFConst.AD_CD);
//			subbean = listBean.getDataBean(0);
//			subbean.sendMessageString(KKW00828SFConst.AD_CD1_03, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(0,2));		// 住所コード１
//			subbean.sendMessageString(KKW00828SFConst.AD_CD2_03, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(2,5));		// 住所コード２
//			subbean.sendMessageString(KKW00828SFConst.AD_CD3_03, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(5,8));		// 住所コード３
//			subbean.sendMessageString(KKW00828SFConst.AD_CD4_03, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(8,11));		// 住所コード４
//			subbean.sendMessageString(KKW00828SFConst.AD_CD_03, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd);			// 住所コード

			bean.sendMessageBoolean(KKW02522SFConst.CHG_USEPCAD_DOITSU, X31CWebConst.DATABEAN_SET_VALUE, false);						// 利用場所と同じ
			bean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_pcd.substring(0, 3));			// 郵便番号（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_pcd.substring(3, 7));
			bean.sendMessageString(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_ad_cd.substring(0,2));			// 住所コード（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_ad_cd.substring(2,5));
			bean.sendMessageString(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_ad_cd.substring(5,8));
			bean.sendMessageString(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_ad_cd.substring(8,11));
			bean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_state_nm);			// 都道府県名（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_city_nm);			// 市区町村名（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_oaztsu_nm);		// 大字通称名（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_azcho_nm);			// 字丁目名（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_bnchigo);		// 番地号（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_ADRTTM, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_adrttm);		// 建物名（更新用）
			bean.sendMessageString(KKW02522SFConst.CHG_ADRRM, X31CWebConst.DATABEAN_SET_VALUE, guidemg_sohus_adrrm);			// 部屋番号（更新用）
			
//			bean.sendMessageBoolean(KKW02522SFConst.USEPCAD_DOITSU, X31CWebConst.DATABEAN_SET_VALUE, false);						// 利用場所と同じ
//			bean.sendMessageString(KKW02522SFConst.PCD1, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_pcd.substring(0, 3));		// 郵便番号1(上3桁)
//			bean.sendMessageString(KKW02522SFConst.PCD2, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_pcd.substring(3, 7));		// 郵便番号2(下4桁)
//			bean.sendMessageString(KKW02522SFConst.AD_CD1, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(0,2));		// 住所コード1
//			bean.sendMessageString(KKW02522SFConst.AD_CD2, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(2,5));		// 住所コード2
//			bean.sendMessageString(KKW02522SFConst.AD_CD3, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(5,8));		// 住所コード3
//			bean.sendMessageString(KKW02522SFConst.AD_CD4, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_ad_cd.substring(8,11));	// 住所コード4
//			bean.sendMessageString(KKW02522SFConst.STATE, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_state_nm);					// 都道府県
//			bean.sendMessageString(KKW02522SFConst.CITY, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_city_nm);					// 市区町村
//			bean.sendMessageString(KKW02522SFConst.OAZTSU, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_oaztsu_nm);				// 大字通称名
//			bean.sendMessageString(KKW02522SFConst.AZCHO, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_azcho_nm);					// 字丁目
//			bean.sendMessageString(KKW02522SFConst.BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_bnchigo);					// 番地・号
//			bean.sendMessageString(KKW02522SFConst.ADRTTM, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_adrttm);					// 建物名
//			bean.sendMessageString(KKW02522SFConst.ADRRM, X31CWebConst.DATABEAN_SET_VALUE,guidemg_sohus_adrrm);						// 部屋番号
		}
		
		if ("0".equals(guidemg_shs_ksitei_flg))
		{
			bean.sendMessageBoolean(KKW02522SFConst.CHG_USEPCAD_DOITSU, X31CWebConst.DATABEAN_SET_VALUE, true);								// 利用場所と同じ
		}
		
		// eo光テレビガイド誌申込数がnullでないとき
		if (mskm_cnt != null)
		{
			bean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_SET_VALUE,mskm_cnt);				// eo光テレえびガイド誌申込数
		}
		
		// eo光テレビガイド誌申込数 00 の処理
		if ("00".equals(bean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			bean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_SET_VALUE,"0");
		}
		
		if (bean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.PCD1, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.PCD2, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.AD_CD1, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.AD_CD2, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.AD_CD3, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.AD_CD4, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.STATE, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.CITY, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.OAZTSU, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.AZCHO, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.ADRTTM, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_ADRRM, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.ADRRM, X31CWebConst.DATABEAN_GET_VALUE))
			&& bean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE).equals(bean.sendMessageString(KKW02522SFConst.TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE))
			)
			{
				// 変更箇所なし
				hnkfkaflg = "0";
			}
		
		
		// 解約の場合
		if (MSKM_KY.equals(mskm_sbt_cd))
		{
			bean.sendMessageString(KKW02522SFConst.USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE,use_endym);						// 利用終了月
			bean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE,"2");
		}
			
			// 変更の場合
		if (MSKM_HNK.equals(mskm_sbt_cd))
		{
			bean.sendMessageString(KKW02522SFConst.CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE,skj_ykgt.substring(1));						// 変更開始月
			bean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE,"1");
		}
	}
//ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
// ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * ワンストップ独自関連チェック
	 * @return boolean
	 * @throws Excception
	 */
	
	public boolean knrnChkForOneStop() throws Exception
	{
		// サービスの種類チェック
		// IT1-2015-0000114 2015/10/21 DEL START 
//		if (!"03".equals(svcCd))
//		{
//			JKKOneStopApiCommonUtil.setReturnXml(this, "E5010", warnList, funcCode, IF_ID);
//			return false;
//		}
//		
//		// 料金コースチェック
//		if (!"A24".equals(ryknCd)
//				&& !"A38".equals(ryknCd)
//					&& !"A39".equals(ryknCd)
//						&& !"A64".equals(ryknCd))
//		{
//			JKKOneStopApiCommonUtil.setReturnXml(this, "E5011", warnList, funcCode, IF_ID);
//			return false;
//		}
		// IT1-2015-0000114 2015/10/21 DEL END 
		
		// IT1-2015-0000088 2015/08/27 MOD START
		// mskm_sbt_cd(申込種別コード)が00027：変更の場合のみ、項目変更有無チェックを行う
		//if ("0".equals(hnkfkaflg))
		if (MSKM_HNK.equals((String)requestMap.get("mskm_sbt_cd")) && "0".equals(hnkfkaflg))
		// IT1-2015-0000088 2015/08/27 MOD END
		{
			JKKOneStopApiCommonUtil.setReturnXml(this, "E5013", warnList, funcCode, IF_ID);
			return false;
		}
		
		return true;
	}
	
// ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
//ANK-2631-00-00 2015/08/12 ADD START 【ワンストップ用】
	/**
	 * ワンストップ用API終了メソッドです。
	 * <BR>
	 * @param returnCd リターンコード
	 * @return boolean
	 * @throws Exception
	 */
	public void apiTerminal(String returnCd) throws Exception
	{
		JKKOneStopApiCommonUtil.setReturnXml(this, returnCd, null, warnList, funcCode, IF_ID);
	}
	
//ANK-2631-00-00 2015/08/12 ADD END 【ワンストップ用】
	
	
	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// JCCWebCommon.setScreenInfoメソッドで設定されている画面情報を取得し、サービスフォームBeanに設定する
		JCCWebCommon.getScreenInfo(this);
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		if (commoninfoBean == null)
		{
			return true;
		}
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 顧客契約引継リスト情報を取得
		X31SDataBeanAccessArray custKeiHktgiList =  svcFormBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		
		// ＳＹＳＩＤ
		String sysId = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysId);
		
		// サービス契約番号
		String svcKeiNo = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
		
		// 異動区分
		String idoDiv = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, idoDiv);
		
		// 異動理由コード（0番目項目のみ取得）
		svcFormBean.sendMessage(KKW02522SFConst.CUST_KEI_HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_CLEAR);
		int idoRsnCount = (Integer)custKeiHktgiInf.sendMessage(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_COUNT);
		String idoRsnCd = null;
		
// ++++++++++ v6.00.01 変更開始 ++++++++++
		if(idoRsnCount > 0)
		{
			idoRsnCd = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_VALUE, 0);
			svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_SET_VALUE, idoRsnCd);
		}
// ++++++++++ v6.00.01 変更終了 ++++++++++
		
		// オプションサービス契約番号
		int opSvcCount = (Integer)custKeiHktgiInf.sendMessage(JKKCommonConst.HKTGI_OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_COUNT);
		if (opSvcCount > 0)
		{
			String opSvcKeino = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE, 0);
			svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_OP_SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, opSvcKeino);
		}
		
		// 処理区分
		String tranDiv = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_TRAN_DIV, X31CWebConst.DATABEAN_SET_VALUE, tranDiv);
		
		// オンライン運用日付格納（YYYYMMDD形式）
		svcFormBean.sendMessageString(KKW02522SFConst.STDARDYMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));
		
		// オンライン運用日付格納（YYYYMMDDhhmmssSSS形式）
		svcFormBean.sendMessageString(KKW02522SFConst.STDARDYMD_DTM, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDateTimeStamp(this, null));
		
/* ++++++++++ v4.05.00 修正開始 ++++++++++ */
/* ++++++++++ v4.00.00 変更開始 ++++++++++ */
		// ワンストップメニューから遷移時
		if(JCRScreenConst.SCREEN_ID_CRW10601.equals(JCCWebCommon.getScreenId(this)))
		{
			// ワンストップフラグ
			svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}
/* ++++++++++ v4.00.00 変更終了 ++++++++++ */
/* ++++++++++ v4.05.00 修正終了 ++++++++++ */
		
		// ◇ 業務ロジックの記述
		HashMap<String, String> paramMap = new HashMap<String, String>();	// ユースケースID格納用マップを生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();	// 設定値格納用マップを生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();	// 検索結果格納用マップを生成
		
		KKSV0534_KKSV0534OPDBMapper mapper = new KKSV0534_KKSV0534OPDBMapper();
		
		// 上りマッピング処理
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		
/* ++++++++++ v4.06.00 修正開始 ++++++++++ */
		// 遷移元イベントが"00:照会"の場合
		String callCCFlg = "";
		if(JKKCommonConst.OP_TRAN_DIV_SHOKAI.equals(tranDiv))
		{
			mapper.setKKSV053401ShokaiCC(paramBean, inputMap);
			callCCFlg = "0";
		}
		else
		{
			mapper.setKKSV053401CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
			callCCFlg = "1";
		}
		
		// 作業項目マップ
		HashMap<String, String> workMap = new HashMap<String, String>();
		workMap.put("call_cc_flg", String.valueOf(callCCFlg));
		inputMap.put("KKSV0534WORK01", workMap);
/* ++++++++++ v4.06.00 修正終了 ++++++++++ */
		
		// サービス呼出
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0534);
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// ■ サービス結果の転記
		// 遷移元イベントが"00:照会"の場合
		if(JKKCommonConst.OP_TRAN_DIV_SHOKAI.equals(tranDiv))
		{
			mapper.getKKSV053401ShokaiCC(paramBean, outputMap);
		}
		else
		{
			mapper.getKKSV053401CC(paramBean, outputMap);
		}
		
		// 処理モード・ボタン制御フラグ設定
		setValueDispCtrlFlg(svcFormBean, tranDiv);
		
		String tranMode = svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_GET_VALUE);
		
/* ++++++++++ v4.00.00 変更開始 ++++++++++ */
		// 処理モード 4：予約取消時
		if(TRAN_MODE_RSV_CANCEL.equals(tranMode))
		{
			// 表示用に編集
			editValueForDisp(svcFormBean);
			
			// 遷移先画面情報を設定（KKW02523_eo光テレビガイド誌更新確認画面）
			comProcsForwardUpdCfm(svcFormBean);
		}
		else
		{
			// 処理モード "0：照会"
			if(TRAN_MODE_INQUIRY.equals(tranMode))
			{
				// 利用開始月編集
				editUseStaYM(svcFormBean);
				
/* ++++++++++ v4.06.00 修正開始 ++++++++++ */
				// 利用終了月としてラベル表示
				editUseEndYM(svcFormBean);
/* ++++++++++ v4.06.00 修正終了 ++++++++++ */
				
				// 変更開始月 = 非表示 = 編集なし
				
			}
			// 処理モード "1：更新"
			else if(isTranModeUpDate(svcFormBean))
			{
				// 利用開始月編集
				editUseStaYM(svcFormBean);
				
				// 利用終了月 = 非活性 = 編集なし
				// 変更開始月 初期選択値 = 「次月より」
				svcFormBean.sendMessageString(KKW02522SFConst.CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, CHG_STA_YM_FROM_NEXT);
				setDispMsg(svcFormBean, true, "2");
			}
			// 処理モード "2：解約"
			else if(isTranModeDissolution(svcFormBean))
			{
				// 利用開始月編集
				editUseStaYM(svcFormBean);
				
				// 変更開始月 = 非表示 = 編集なし
				// 利用終了月 初期選択値 = 「当月」
				svcFormBean.sendMessageString(KKW02522SFConst.USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE, USE_END_YM_THIS_MONTH);
				setDispMsg(svcFormBean, false, "3");
			}
/* ++++++++++ v4.00.00 変更終了 ++++++++++ */
			
			// イベントＩＤ格納
			svcFormBean.sendMessageString(KKW02522SFConst.EVENTID, X31CWebConst.DATABEAN_SET_VALUE, EVENT_ID_INIT);
			
			// 遷移先画面情報を設定（KKW02522_eo光テレビガイド誌更新画面）
			setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		}
		
		return true;
	}
	
	/**
	 * コピーボタン押下処理。
	 * <br>
	 * @return boolean 処理結果
	 * @exception Exception 例外が発生した場合
	 */
	public boolean copy() throws Exception
	{
		
		// ◇ 業務ロジックの記述
		HashMap< String, String > paramMap = new HashMap< String, String >();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0535);
		
		HashMap< String, Object > inputMap = new HashMap< String, Object >();
		HashMap< String, Object > outputMap = new HashMap< String, Object >();
		
		// サービスフォームBeanの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// データ初期化
		clearSohusAdInfo(svcFormBean, true);
		
		// 住所情報選択値格納
		getComboSelectIdx(svcFormBean);
		
		// イベントＩＤ格納
		svcFormBean.sendMessageString(KKW02522SFConst.EVENTID, X31CWebConst.DATABEAN_SET_VALUE, EVENT_ID_COPY);
		
		//****************************************
		// ■サービス呼出処理前準備
		//****************************************
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		KKSV0535_KKSV0535OPDBMapper mapper = new KKSV0535_KKSV0535OPDBMapper();
		
		// 上りマッピング
		mapper.setKKSV053501CC(paramBean, inputMap);
		
		//****************************************
		// ■サービス呼出処理
		//****************************************
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		//****************************************
		// ■サービス結果の転記
		//****************************************
		mapper.getKKSV053501CC(paramBean, outputMap);
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		
		return true;
	}
	
	/**
	 * 住所検索ボタン押下処理
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean openAdSch() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceBean = super.getServiceFormBean();
		
		// 住所手動入力登録フラグ 初期化
		serviceBean.sendMessage(KKW02522SFConst.AD_MAN_INPUT_ADD_FLG, X31CWebConst.DATABEAN_CLEAR);
		
		// 入力値を設定する
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		String pcdU = serviceBean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_GET_VALUE);
		String pcdL = serviceBean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_GET_VALUE);
		
		paramMap.put(ZMW10601SFConst.SESSION_KEY_PCD_1, pcdU);
		paramMap.put(ZMW10601SFConst.SESSION_KEY_PCD_2, pcdL);
		
		// 次画面IDをキーに情報設定を行う
		JCCWebCommon.setScreenInfo(this, JZMScreenConst.SCREEN_ID_ZMW10601, paramMap);
		
		JCCWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW10601, JKKScreenConst.SCREEN_ID_KKW02522);
		
		// 遷移先画面ID取得し、設定する。
		setForwardInfo(JZMScreenConst.SCREEN_ID_ZMW10601, JZMScreenConst.SCREEN_NAME_ZMW10601);
		
		return true;
	}
	
	/**
	 * 住所検索戻り処理
	 * 
	 * 住所検索画面より住所選択した場合に、画面上の住所情報をリフレッシュする。
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean closeAdSch() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		HashMap<String, Object> map = JCCWebCommon.getScreenInfo(this);
		
		// 画面情報を取得し、サービスフォームBeanに設定
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 住所情報プルダウン ⇒ 空白選択(共通仕様)
		X31SDataBeanAccessArray comboArray = svcFormBean.getDataBeanArray(KKW02522SFConst.AD_INFO);
		X31SDataBeanAccess subbean = comboArray.getDataBean(0);
		subbean.sendMessage(KKW02522SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_CLEAR);
		
		// 手動入力 ⇒ チェックなし(共通仕様)
		svcFormBean.sendMessageBoolean(KKW02522SFConst.AD_INPUT_REGAI, X31CWebConst.DATABEAN_SET_VALUE, false);
		
		// 郵便番号
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(ZMW10601SFConst.SESSION_RET_PCD_1));
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_SET_VALUE, (String)map.get(ZMW10601SFConst.SESSION_RET_PCD_2));
		
		// 住所マスタに存在しない項目について、住所コードを元に番地・号へ移動させる。
		executeMoveAdBnchigo(map, svcFormBean);
		
		// イベントＩＤ格納
		svcFormBean.sendMessageString(KKW02522SFConst.EVENTID, X31CWebConst.DATABEAN_SET_VALUE, EVENT_ID_RTN_AD_SEARCH);
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		
		return true;
	}
	
	/**
	 * 更新確認ボタン押下処理
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean forwardUpdCfm() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// 引継情報の取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 更新用に編集
		editValueForUpd(svcFormBean);
		
		// 住所情報選択インデックス
		X31SDataBeanAccessArray listBean = svcFormBean.getDataBeanArray(KKW02522SFConst.AD_INFO);
		X31SDataBeanAccess subbean = listBean.getDataBean(0);
		String adInfoSelIdx = svcFormBean.sendMessageString(KKW02522SFConst.AD_INFO_SEL_IDX, X31CWebConst.DATABEAN_GET_VALUE);
		subbean.sendMessageString(KKW02522SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, adInfoSelIdx);
		
		//**********************************************************************
		// （３）関連チェック
		//**********************************************************************
		// 処理モード 2：解約時
		if(isTranModeDissolution(svcFormBean))
		{
			// 利用終了月チェック
			if(!isRelation(svcFormBean))
			{
				return true;
			}
		}
		
		// サービス呼出処理
		if(!execInvokeService(commonBean, svcFormBean, JKKCommonConst.FUNC_CODE_2))
		{
			return true;
		}
		
		// 表示用に編集
		editValueForDisp(svcFormBean);
		
		// 更新確認画面遷移共通処理
		comProcsForwardUpdCfm(svcFormBean);
		
		return true;
	}
	
	/**
	 * 確定ボタン押下処理
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean forwardFix() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// サービスフォームBeanの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		//**********************************************************************
		// （３）関連チェック
		//**********************************************************************
		// 処理モード 2：解約時
		if(isTranModeDissolution(svcFormBean))
		{
			// 利用終了月チェック
			if(!isRelation(svcFormBean))
			{
				return true;
			}
		}
		
		// サービス呼出処理
		if(!execInvokeService(commonBean, svcFormBean, JKKCommonConst.FUNC_CODE_1))
		{
			return true;
		}
		
/* ++++++++++ v4.07.00 修正開始 ++++++++++ */
		// メッセージの設定
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, new String[]{"eo光テレビガイド誌の情報更新"});
/* ++++++++++ v4.07.00 修正終了 ++++++++++ */
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02524, JKKScreenConst.SCREEN_NAME_KKW02524);
		
		return true;
	}
	
	/**
	 * 一覧照会へボタン押下処理
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean forwardOptSvcKeiList() throws Exception
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// セッション情報の確認
		HashMap<String, Object> dataMap = JCCWebCommon.getScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW02301);
		
		if (dataMap == null)
		{
			// 顧客契約内引継ぎデータを設定します
			dataMap = getHktgiDataMap(bean, KKW02522SFConst.HKTGI_CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		}
		
		// 引継情報を設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW02301, dataMap);
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02301, JKKScreenConst.SCREEN_NAME_KKW02301);
		
		return true;
	}
	
/* ++++++++++ v4.10.00 追加開始 ++++++++++ */
	/**
	 * 「利用場所と同じ」チェックボックス変更。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean usepcadDoitsuChange() throws Exception
	{
		//サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		
		// 送付先住所情報クリア
		clearSohusAdInfo(bean, true);
		
		// 初期表示の状態
		reInitSohusAdInfo(bean);
		
		// イベントＩＤ格納
		bean.sendMessageString(KKW02522SFConst.EVENTID, X31CWebConst.DATABEAN_SET_VALUE, EVENT_ID_INIT);
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		
		return true;
	}
/* ++++++++++ v4.10.00 追加終了 ++++++++++ */
	
	/**
	 * クリアボタン押下時
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean clear() throws Exception
	{
		// クリア処理
		executeClear();
		
		// 画面遷移
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		
		return true;
	}
	
	/**
	 * 戻るボタン押下処理
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean back() throws Exception
	{
		// 遷移先画面情報を設定します
		setForwardInfo(JCCWebCommon.getScreenId(this), null);
		
		return true;
	}
	
	/**
	 * 修正ボタン押下処理
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean forwardShusei() throws Exception
	{
		// 遷移先画面情報を設定します
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02522, JKKScreenConst.SCREEN_NAME_KKW02522);
		
		return true;
	}
	
	/**
	 * サービス呼出処理
	 * <br>
	 * @param	commonBean
	 * @param	svcFormBean		設定する画面のBean
	 * @param	funcCode
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	private boolean execInvokeService(X31SDataBeanAccess commonBean, X31SDataBeanAccess svcFormBean, String funcCode) throws Exception
	{
		// コンボ選択値の設定
		getComboSelectIdx(svcFormBean);
		
		// サービスの上り項目設定
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		HashMap<String, String> paramMap = new HashMap<String, String>();
		
		// 上りマッピング処理
		KKSV0536_KKSV0536OPDBMapper mapper = new KKSV0536_KKSV0536OPDBMapper();
/* ++++++++++ v5.00.00 追加開始 ++++++++++ */
		X31SDataBeanAccess[] paramBeans = {svcFormBean, commonBean};
		String oneStopFlg = svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_GET_VALUE);
/* ++++++++++ v4.10.00 追加・変更開始 ++++++++++ */
		boolean usePcAdDoitsu = svcFormBean.sendMessageBoolean(KKW02522SFConst.CHG_USEPCAD_DOITSU, X31CWebConst.DATABEAN_GET_VALUE);
		mapper.setEohTvGuideUpdCC(paramBean, inputMap, paramBeans, oneStopFlg, usePcAdDoitsu);
/* ++++++++++ v4.10.00 追加・変更終了 ++++++++++ */
		mapper.setKKSV0536WORK01(paramBean, inputMap, funcCode);
/* ++++++++++ v5.00.00 追加終了 ++++++++++ */
		
		// サービス呼び出し
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0536");
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return false;
		}
		
/* ++++++++++ v8.00.01 変更開始 ++++++++++ */
		// 登録確認時
		if (JKKCommonConst.FUNC_CODE_2.equals(funcCode))
		{
/* ++++++++++ v4.09.00 追加開始 ++++++++++ */
			//住所チェック対応箇所
			//ワーニング判定
			warningChk(outputMap);
/* ++++++++++ v4.09.00 追加終了 ++++++++++ */
			
			// 処理モード "1：更新"
			if(isTranModeUpDate(svcFormBean))
			{
				// オプションサービス契約状態チェック判定
				if(hasErrOpSvcKeiStat(svcFormBean, outputMap))
				{
					return false;
				}
				
/* ++++++++++ v5.00.00 追加開始 ++++++++++ */
				// eo光テレビガイド誌冊数上限チェック判定
				if (hasErrTvGuideMskmCnt(svcFormBean, outputMap))
				{
					return false;
				}
/* ++++++++++ v5.00.00 追加終了 ++++++++++ */
			}
		}
/* ++++++++++ v8.00.01 変更終了 ++++++++++ */
		
		return true;
	}
	
	/**
	 * 更新確認画面遷移共通処理
	 * <br>
	 * @param	svcFormBean		設定する画面のBean
	 * @throws Exception
	 */
	private void comProcsForwardUpdCfm(X31SDataBeanAccess svcFormBean) throws Exception
	{
		// メッセージの設定
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[]{"eo光テレビガイド誌の情報更新"});
		
		// 表示項目の設定
		setPullDownValueAdInfo(svcFormBean);
		
		// 遷移先画面情報を設定します
		setForwardInfo(JKKScreenConst.SCREEN_ID_KKW02523, JKKScreenConst.SCREEN_NAME_KKW02523);
	}
	
	/**
	 * （３）関連チェック
	 * <br>
	 * @param	svcFormBean	サービスフォームBean
	 * @return	boolean		処理結果
	 * @throws	Exception	例外が発生した場合
	 */
	private boolean isRelation(X31SDataBeanAccess svcFormBean) throws Exception
	{
		// 利用終了月
		String useEndYM = svcFormBean.sendMessageString(KKW02522SFConst.USE_ENDYM, X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービス契約ステータス
		String svckeiStat = svcFormBean.sendMessageString(KKW02522SFConst.KK0081_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
		
		/** 利用終了月未来日チェック **/
		
		// サービス契約.サービス契約ステータスが「休止中」の場合
		if(JKKCommonConst.SVC_KEI_STAT_210.equals(svckeiStat))
		{
			// 「次月」選択はエラー
			if(USE_END_YM_NEXT_MONTH.equals(useEndYM))
			{
/* ++++++++++ v4.04.00 修正開始 ++++++++++ */
				// メッセージエリアにメッセージを表示する。
				// EKB0290-JW：%1%が%2%の場合は%3%できません。
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0290_JW, new String[]{"契約ステータス", "休止中", "解約"}, "use_endym2");
/* ++++++++++ v4.04.00 修正終了 ++++++++++ */
				return false;
			}
		}
		
		return true;
	}
	
	/**
	 * 住所マスタに存在しない項目について、住所コードを元に番地・号へ移動させる。
	 * <br>
	 * @param	map
	 * @param	svcFormBean
	 * @throws	Exception		例外が発生した場合
	 */
	private void executeMoveAdBnchigo(HashMap<String, Object> map, X31SDataBeanAccess svcFormBean) throws Exception
	{
		// 格納住所
		StringBuilder sbMoveAd = null;
		
		// 住所コード
		String rtnAdCd1 = (String)map.get(ZMW10601SFConst.SESSION_RET_AD_CD_1);		// 住所コード１
		String rtnAdCd2 = (String)map.get(ZMW10601SFConst.SESSION_RET_AD_CD_2);		// 住所コード２
		String rtnAdCd3 = (String)map.get(ZMW10601SFConst.SESSION_RET_AD_CD_3);		// 住所コード３
		String rtnAdCd4 = (String)map.get(ZMW10601SFConst.SESSION_RET_AD_CD_4);		// 住所コード４
		
		// 住所
		String rtnState = (String)map.get(ZMW10601SFConst.SESSION_RET_STATE_NM);	// 都道府県
		String rtnCity = (String)map.get(ZMW10601SFConst.SESSION_RET_CITY_NM);		// 市区町村
		String rtnOaztsu = (String)map.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM);	// 大字通称名
		String rtnAzcho = (String)map.get(ZMW10601SFConst.SESSION_RET_AZCHO_NM);	// 字丁目名
		
		// 画面項目に格納
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_SET_VALUE, rtnAdCd1);
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_SET_VALUE, rtnAdCd2);
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_SET_VALUE, rtnAdCd3);
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_SET_VALUE, rtnAdCd4);
		
		//****************************************
		// 住所コード
		// 99-999-999-999
		//****************************************
		
		// 上1〜2桁がすべて0
		if(RTN_AD_CD_00.equals(rtnAdCd1))
		{
			// 都道府県〜字丁目名を番地号に移動する。
			sbMoveAd = new StringBuilder();
			sbMoveAd.append(rtnState);
			sbMoveAd.append(rtnCity);
			sbMoveAd.append(rtnOaztsu);
			sbMoveAd.append(rtnAzcho);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, sbMoveAd.toString());
			
			// 移動する項目値のクリア処理
			svcFormBean.sendMessage(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);
		}
		// 上3〜5桁がすべて0
		else if(RTN_AD_CD_000.equals(rtnAdCd2))
		{
			// 都道府県 → 都道府県
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, rtnState);
			// 市区町村〜字丁目名を番地号に移動する。
			sbMoveAd = new StringBuilder();
			sbMoveAd.append(rtnCity);
			sbMoveAd.append(rtnOaztsu);
			sbMoveAd.append(rtnAzcho);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, sbMoveAd.toString());
			
			// 移動する項目値のクリア処理
			svcFormBean.sendMessage(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);
		}
		// 上6〜8桁がすべて0
		else if(RTN_AD_CD_000.equals(rtnAdCd3))
		{
			// 都道府県 → 都道府県
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, rtnState);
			// 市区町村 → 市区町村
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_SET_VALUE, rtnCity);
			// 大字通称名、字丁目名を番地号に移動する。
			sbMoveAd = new StringBuilder();
			sbMoveAd.append(rtnOaztsu);
			sbMoveAd.append(rtnAzcho);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, sbMoveAd.toString());
			
			// 移動する項目値のクリア処理
			svcFormBean.sendMessage(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_CLEAR);
			svcFormBean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);
		}
		// 上9桁〜11桁がすべて0
		else if(RTN_AD_CD_000.equals(rtnAdCd4))
		{
			// 都道府県 → 都道府県
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, rtnState);
			// 市区町村 → 市区町村
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_SET_VALUE, rtnCity);
			// 大字通称名 → 大字通称名
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_SET_VALUE, rtnOaztsu);
			// 字丁目名を番地号に移動する。
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, rtnAzcho);
			
			// 移動する項目値のクリア処理
			svcFormBean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);
		}
		else
		{
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, rtnState);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_SET_VALUE, rtnCity);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_SET_VALUE, rtnOaztsu);
			svcFormBean.sendMessageString(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_SET_VALUE, rtnAzcho);
		}
	}
	
	/**
	 * 入力された情報を更新用に編集
	 * <br>
	 * @param	svcFormBean		設定する画面のBean
	 */
	private void editValueForUpd(X31SDataBeanAccess svcFormBean)
	{
		// 郵便番号（更新用）
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_PCD, X31CWebConst.DATABEAN_SET_VALUE, editPcdDisp(svcFormBean, 2, false));
		// 住所コード（更新用）
		svcFormBean.sendMessageString(KKW02522SFConst.CHG_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, editAdCd(svcFormBean, 2, false));
	}
	
	/**
	 * 入力された情報を表示用に編集
	 * <br>
	 * @param	svcFormBean		設定する画面のBean
	 */
	private void editValueForDisp(X31SDataBeanAccess svcFormBean)
	{
/* ++++++++++ v4.10.00 追加開始 ++++++++++ */
		// 表示＿住所情報
		svcFormBean.sendMessageString(KKW02522SFConst.DISP_AD_INFO, X31CWebConst.DATABEAN_SET_VALUE, getAdInfoSelName(svcFormBean));
/* ++++++++++ v4.10.00 追加終了 ++++++++++ */
		// 表示＿郵便番号
		svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_PCD, X31CWebConst.DATABEAN_SET_VALUE, editPcdDisp(svcFormBean, 2, true));
		// 表示＿住所コード
		svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_AD_CD, X31CWebConst.DATABEAN_SET_VALUE, editAdCd(svcFormBean, 2, true));
		// 表示＿利用開始月
		editUseStaYM(svcFormBean);
		// 表示＿利用終了月・表示＿変更開始月（ラジオボタン選択値）
		editRbSelectedValue(svcFormBean);
	}
	
/* ++++++++++ v4.10.00 追加開始 ++++++++++ */
	/**
	 * コンボボックス選択表示文字列を設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.選択インデックスを取得します。<br>
	 *
	 * 2.選択インデックスの表示文字列を取得します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param srvBean 設定する画面のBean
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getAdInfoSelName(X31SDataBeanAccess srvBean)
	{
		String result = "";
		X31SDataBeanAccessArray comboArray = srvBean.getDataBeanArray(KKW02522SFConst.AD_INFO);
		X31SDataBeanAccess subbean = comboArray.getDataBean(0);
		String index = "";
		if (srvBean.sendMessageBoolean(KKW02522SFConst.USEPCAD_DOITSU, X31CWebConst.DATABEAN_GET_VALUE))
		{
			index = "1";
		}
		else
		{
			index = subbean.sendMessageString(KKW02522SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		if(null != index && index.length() > 0)
		{
			result = subbean.sendMessageString(KKW02522SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
			if (result.length() > 3) {
				return result.substring(2);
			}
			
		}
		
		return result;
	}
/* ++++++++++ v4.10.00 追加終了 ++++++++++ */
	
	/**
	 * 処理モード・更新情報・更新確認ボタン・クリアボタン表示制御フラグを設定します。
	 * <br>
	 * @param svcFormBean
	 * @param tranDiv
	 */
	private void setValueDispCtrlFlg(X31SDataBeanAccess svcFormBean, String tranDiv)
	{
		// 遷移元イベントが"00:照会"の場合
		if(JKKCommonConst.OP_TRAN_DIV_SHOKAI.equals(tranDiv))
		{
			/** "0：照会モード" **/
			// 処理モード
			svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE, TRAN_MODE_INQUIRY);
			// 更新情報表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_INFO_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
			// 更新確認ボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_CFM_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
			// クリアボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.CLR_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
		}
		// 遷移元イベントが"03:変更"の場合
		else if(JKKCommonConst.OP_TRAN_DIV_CHGE.equals(tranDiv))
		{
			/** "1：更新モード" **/
			// 処理モード
			svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE, TRAN_MODE_UPDATE);
			// 更新情報表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_INFO_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
			// 更新確認ボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_CFM_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
			// クリアボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.CLR_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
			// 修正ボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.REV_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
		}
		// 遷移元イベントが"04:解約"の場合
		else if(JKKCommonConst.OP_TRAN_DIV_DSL.equals(tranDiv))
		{
			/** "2：解約モード" **/
			// 処理モード
			svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE, TRAN_MODE_DISSOLUTION);
			// 更新情報表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_INFO_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
			// 更新確認ボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_CFM_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
			// クリアボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.CLR_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
			// 修正ボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.REV_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
		}
		// 遷移元イベントが"06:予約取消"の場合
		else if(JKKCommonConst.OP_TRAN_DIV_KAIHK.equals(tranDiv) || JKKCommonConst.OP_TRAN_DIV_RSV_CL.equals(tranDiv))
		{
			/** "4：予約取消モード" **/
			// 処理モード
			svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_SET_VALUE, TRAN_MODE_RSV_CANCEL);
			
			// 更新情報表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.UPD_INFO_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_NOT_DSP);
			// 戻るボタン表示制御フラグ
			svcFormBean.sendMessageString(KKW02522SFConst.RTN_BTN_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_CTRL_FLG_DSP);
		}
	}
	
	/**
	 * クリア処理
	 * <br>
	 */
	private void executeClear()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// クリア
		clearSohusAdInfo(bean, true);															// 郵便番号〜電話番号
		bean.sendMessage(KKW02522SFConst.CHG_SHS_NM, X31CWebConst.DATABEAN_CLEAR);				// 送付先名（更新用）
		bean.sendMessage(KKW02522SFConst.CHG_SHS_KANA, X31CWebConst.DATABEAN_CLEAR);			// 送付先カナ名（更新用）
		bean.sendMessage(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_CLEAR);	// 変更後ｅｏ光テレビガイド誌申込数
		
		// 初期表示値格納
/* ++++++++++ v4.10.00 追加開始 ++++++++++ */
		// 利用場所と同じ
		boolean usePcAdDoitsu = 
			bean.sendMessageBoolean(KKW02522SFConst.USEPCAD_DOITSU, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageBoolean(KKW02522SFConst.CHG_USEPCAD_DOITSU, X31CWebConst.DATABEAN_SET_VALUE, usePcAdDoitsu);
/* ++++++++++ v4.10.00 追加終了 ++++++++++ */
		
		// 住所情報〜送付先カナ名（更新用）
		reInitSohusAdInfo(bean);
		
		// 変更後ｅｏ光テレビガイド誌申込数
		String cnt = bean.sendMessageString(KKW02522SFConst.TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_SET_VALUE, cnt);
		
		// 変更開始月 初期選択値 = 「次月より」
		bean.sendMessageString(KKW02522SFConst.CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, CHG_STA_YM_FROM_NEXT);
		
		// イベントＩＤ
		bean.sendMessageString(KKW02522SFConst.EVENTID, X31CWebConst.DATABEAN_SET_VALUE, EVENT_ID_INIT);
	}
	
	/**
	 * 住所情報を初期化します。
	 * @param svcFormBean
	 * @param clrEvFlg
	 */
	private void clearSohusAdInfo(X31SDataBeanAccess svcFormBean, boolean clrEvFlg)
	{
		svcFormBean.sendMessage(KKW02522SFConst.CHG_PCD, X31CWebConst.DATABEAN_CLEAR);			// 郵便番号（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.DISP_CHG_PCD, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AD_CD, X31CWebConst.DATABEAN_CLEAR);		// 住所コード（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.DISP_CHG_AD_CD, X31CWebConst.DATABEAN_CLEAR);
		svcFormBean.sendMessage(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_CLEAR);		// 都道府県名（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_CLEAR);			// 市区町村名（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_CLEAR);		// 大字通称名（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_CLEAR);		// 字丁目名（更新用）
		svcFormBean.sendMessage(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_CLEAR);		// 番地号（更新用）
		
		if (clrEvFlg)
		{
			svcFormBean.sendMessage(KKW02522SFConst.CHG_ADRTTM, X31CWebConst.DATABEAN_CLEAR);	// 番地号（更新用）
			svcFormBean.sendMessage(KKW02522SFConst.CHG_ADRRM, X31CWebConst.DATABEAN_CLEAR);	// 部屋番号（更新用）
			svcFormBean.sendMessage(KKW02522SFConst.CHG_TELNO, X31CWebConst.DATABEAN_CLEAR);	// 電話番号（更新用）
		}
	}
	
/* ++++++++++ v4.10.00 追加開始 ++++++++++ */
	/**
	 * 更新情報の送付先住所を初期表示状態にします。
	 * @param bean			画面情報
	 */
	private void reInitSohusAdInfo(X31SDataBeanAccess bean)
	{
		// ■送付先住所
		X31SDataBeanAccessArray listBean = bean.getDataBeanArray(KKW02522SFConst.AD_INFO);
		X31SDataBeanAccess subbean = listBean.getDataBean(0);
		subbean.sendMessageString(KKW02522SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, "1");	// 住所情報
		
		String pcd1 = bean.sendMessageString(KKW02522SFConst.PCD1, X31CWebConst.DATABEAN_GET_VALUE);
		String pcd2 = bean.sendMessageString(KKW02522SFConst.PCD2, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_SET_VALUE, pcd1);			// 郵便番号（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_SET_VALUE, pcd2);
		
		bean.sendMessageBoolean(KKW02522SFConst.AD_INPUT_REGAI, X31CWebConst.DATABEAN_SET_VALUE, false);	// 手動入力
		
		String adCd1 = bean.sendMessageString(KKW02522SFConst.AD_CD1, X31CWebConst.DATABEAN_GET_VALUE);
		String adCd2 = bean.sendMessageString(KKW02522SFConst.AD_CD2, X31CWebConst.DATABEAN_GET_VALUE);
		String adCd3 = bean.sendMessageString(KKW02522SFConst.AD_CD3, X31CWebConst.DATABEAN_GET_VALUE);
		String adCd4 = bean.sendMessageString(KKW02522SFConst.AD_CD4, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_SET_VALUE, adCd1);			// 住所コード（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_SET_VALUE, adCd2);
		bean.sendMessageString(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_SET_VALUE, adCd3);
		bean.sendMessageString(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_SET_VALUE, adCd4);
		
		String state = bean.sendMessageString(KKW02522SFConst.STATE, X31CWebConst.DATABEAN_GET_VALUE);
		String city = bean.sendMessageString(KKW02522SFConst.CITY, X31CWebConst.DATABEAN_GET_VALUE);
		String oaztsu = bean.sendMessageString(KKW02522SFConst.OAZTSU, X31CWebConst.DATABEAN_GET_VALUE);
		String azcho = bean.sendMessageString(KKW02522SFConst.AZCHO, X31CWebConst.DATABEAN_GET_VALUE);
		String bnchigo = bean.sendMessageString(KKW02522SFConst.BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE);
		String adrttm = bean.sendMessageString(KKW02522SFConst.ADRTTM, X31CWebConst.DATABEAN_GET_VALUE);
		String adrrm = bean.sendMessageString(KKW02522SFConst.ADRRM, X31CWebConst.DATABEAN_GET_VALUE);
		String telno = bean.sendMessageString(KKW02522SFConst.TELNO, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(KKW02522SFConst.CHG_STATE, X31CWebConst.DATABEAN_SET_VALUE, state);			// 都道府県名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_CITY, X31CWebConst.DATABEAN_SET_VALUE, city);			// 市区町村名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_OAZTSU, X31CWebConst.DATABEAN_SET_VALUE, oaztsu);		// 大字通称名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_AZCHO, X31CWebConst.DATABEAN_SET_VALUE, azcho);			// 字丁目名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_BNCHIGO, X31CWebConst.DATABEAN_SET_VALUE, bnchigo);		// 番地号（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_ADRTTM, X31CWebConst.DATABEAN_SET_VALUE, adrttm);		// 建物名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_ADRRM, X31CWebConst.DATABEAN_SET_VALUE, adrrm);			// 部屋番号（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_TELNO, X31CWebConst.DATABEAN_SET_VALUE, telno);			// 電話番号（更新用）
		
		String shsNm = bean.sendMessageString(KKW02522SFConst.SHS_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String shsKana = bean.sendMessageString(KKW02522SFConst.SHS_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(KKW02522SFConst.CHG_SHS_NM, X31CWebConst.DATABEAN_SET_VALUE, shsNm);			// 送付先名（更新用）
		bean.sendMessageString(KKW02522SFConst.CHG_SHS_KANA, X31CWebConst.DATABEAN_SET_VALUE, shsKana);		// 送付先カナ名（更新用）
	}
/* ++++++++++ v4.10.00 追加終了 ++++++++++ */
	
	/**
	 * 画面遷移情報の設定をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.遷移先画面IDを共有フォームBeanの項目に設定します。<br>
	 *
	 * 2.遷移先画面名を共有フォームBeanの項目に設定します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param next_id 遷移先画面ＩＤ。
	 * @param next_nm 遷移先画面名。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setForwardInfo(String next_id, String next_nm) throws Exception
	{
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, next_id);
		
		if (next_nm != null)
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, next_nm);
		}
	}
	
	/**	
	 * <dd>メソッド名：引継情報データマップ取得
	 * <dd>メソッド説明：引数のサービスフォームBeanより引継情報データマップの生成を行う。
	 * <dd>備考：引継情報データタイプの可変項目はString[]のみ対応。
	 * @param bean サービスフォームBean
	 * @param hktgiKey 引継情報データタイプのキー
	 * @param hktgiPrmKeys 引継情報データタイプの項目キーリスト	
	 * @return HashMap<String, Object> 引継情報データマップ
	 */
	private HashMap<String, Object> getHktgiDataMap(X31SDataBeanAccess bean, String hktgiKey, String[] hktgiPrmKeys)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		List<HashMap<String, Object>> dataList = new ArrayList<HashMap<String, Object>>();
		
		X31SDataBeanAccessArray infList =  bean.getDataBeanArray(hktgiKey);
		HashMap<String, Object> inMap = null;
		for (int i = 0; i < infList.getCount(); i++)
		{
			inMap = new HashMap<String, Object>();
			X31SDataBeanAccess inf = infList.getDataBean(i);
			for (int j = 0; j < hktgiPrmKeys.length; j++)
			{
				try
				{
					inMap.put(hktgiPrmKeys[j], inf.sendMessageObject(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE));
				}
				catch (X31SRuntimeException ex)
				{
					// 可変項目の場合(String[]のみ対応)	
					int length = (Integer)inf.sendMessage(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_COUNT);
					String[] obj = new String[length];
					for (int k = 0; k < length; k++)
					{
						obj[k] = inf.sendMessageString(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE, k);
					}
					inMap.put(hktgiPrmKeys[j], obj);
				}
			}
			dataList.add(inMap);
		}
		dataMap.put(hktgiKey, dataList);
		return dataMap;	
	}
	
/* ++++++++++ v8.00.01 追加開始 ++++++++++ */
	/**
	 * オプションサービス契約状態チェック処理を行います。
	 * <br>
	 * @param serviceBean 画面情報
	 * @param outputMap サービス実行結果
	 * 
	 * @return boolean 処理結果
	 */
	@SuppressWarnings("unchecked")
	private boolean hasErrOpSvcKeiStat(X31SDataBeanAccess serviceBean, HashMap<String, Object> outputMap)
	{
		HashMap parentMap = null;
		
		if(outputMap.containsKey(HASH_KEY_UPD_CC))
		{
			parentMap = (HashMap)outputMap.get(HASH_KEY_UPD_CC);
		}
		
		if(!(Boolean)parentMap.get("opSvcKeiStatChkFlg"))
		{
			// エラーメッセージ格納
			// ＜＜　%1%できません。%2%契約状態を確認してください。＞＞
			JCCWebCommon.setMessageInfo(this, "EKB1510-KW", new String[]{"変更", "オプションサービス"}, "");
			return true;
		}
		
		return false;
	}
/* ++++++++++ v8.00.01 追加終了 ++++++++++ */
	
/* ++++++++++ v5.00.00 追加開始 ++++++++++ */
	/**
	 * eo光テレビガイド誌申込数チェック処理を行います。
	 * @eo光テレビガイド誌申込数＝０
	 * Aeo光テレビガイド誌申込数上限チェック
	 * <br>
	 * @param serviceBean 画面情報
	 * @param outputMap サービス実行結果
	 * 
	 * @return boolean 処理結果
	 */
	@SuppressWarnings("unchecked")
	private boolean hasErrTvGuideMskmCnt(X31SDataBeanAccess serviceBean, HashMap<String, Object> outputMap)
	{
		String tvGuideMskmCnt = "";
		HashMap parentMap = null;
		
		if(outputMap.containsKey(HASH_KEY_UPD_CC))
		{
			parentMap = (HashMap)outputMap.get(HASH_KEY_UPD_CC);
		}
		
		// @eo光テレビガイド誌申込数「０」チェック
		tvGuideMskmCnt = serviceBean.sendMessageString(KKW02522SFConst.CHG_TV_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE);
		if (TV_GUIDE_MSKM_CNT_ZERO.equals(tvGuideMskmCnt))
		{
			// ガイド誌申込数上限
			String tvGuideUpplno = (String)parentMap.get("tv_guide_upplno");
			// メッセージ
			StringBuilder msg = new StringBuilder();
			msg.append("１〜");
			msg.append(halfToFull(tvGuideUpplno));
			
			// エラーメッセージ格納
			// ＜＜　%1%は%2%の範囲で入力してください。＞＞
			JCCWebCommon.setMessageInfo(this, "EKB2100-NW", new String[]{"eo光テレビガイド誌申込数", msg.toString()}, "chg_tv_guide_mskm_cnt");
			return true;
		}
		
		// Aeo光テレビガイド誌申込数上限チェック
		if(parentMap.containsKey("err_msg"))
		{
			if(!isBlank(parentMap.get("err_msg")))
			{
				String errMsg = (String)parentMap.get("err_msg");
				
				// エラーメッセージ格納
				// ＜＜　%1%で登録する冊数が上限値を超えました。＞＞
				JCCWebCommon.setMessageInfo(this, "EKBC930-KW", new String[]{errMsg});
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * 半角数字を全角数字に変換します。
	 * <br>
	 * @param num
	 * <br>
	 * @return String 全角数字
	 */
	private String halfToFull(String num)
	{
		StringBuilder sb = new StringBuilder(num);
		for (int i=0; i<num.length(); i++)
		{
			char c = sb.charAt(i);
			if (c >= '0'&& c <= '9')
			{
				sb.setCharAt(i, (char)(c - '0' + '０'));
			}
		}
		
		return sb.toString();
	}
//* ++++++++++ v5.00.00 追加終了 ++++++++++ */
	
	/**
	 * コンボボックス選択コード値を設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.選択インデックスのコード値を取得します。<br>
	 *
	 * 2.コード値を設定します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param svcFormBean
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void getComboSelectIdx(X31SDataBeanAccess svcFormBean) throws Exception
	{
		// プルダウン選択値
		String value = JKKWebCommon.getPullDownCode(svcFormBean,
													KKW02522SFConst.AD_INFO,
													KKW02522SFConst.SELECT_INDEX_01,
													KKW02522SFConst.CD_DIV_CD_LIST_01);
		
		X31SDataBeanAccess subbean = svcFormBean.getDataBeanArray(KKW02522SFConst.AD_INFO).getDataBean(0);
		subbean.sendMessageString(KKW02522SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, value);
	}
	
	/**
	 * コンボボックス選択表示文字列を設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.選択インデックスの表示文字列を取得します。<br>
	 *
	 * 2.表示文字列を設定します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param svcFormBean 設定する画面のBean
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setPullDownValueAdInfo(X31SDataBeanAccess svcFormBean) throws Exception
	{
		// プルダウン選択値
		String name = JKKWebCommon.getPullDownName(svcFormBean,
													KKW02522SFConst.AD_INFO,
													KKW02522SFConst.SELECT_INDEX_01,
													KKW02522SFConst.CD_DIV_CD_LIST_01,
													KKW02522SFConst.CD_DIV_NM_LIST_01);
		
		X31SDataBeanAccess subbean = svcFormBean.getDataBeanArray(KKW02522SFConst.AD_INFO).getDataBean(0);
		subbean.sendMessageString(KKW02522SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, name);
	}
	
	/**
	 * 郵便番号を連結編集し、返却します。
	 * <br>
	 * @param bean
	 * @param pcdPtn 1:送付先住所、2:更新情報住所
	 * @param flg true:ハイフン編集有り
	 * 
	 * @return String
	 */
	private String editPcdDisp(X31SDataBeanAccess bean, int pcdPtn, boolean flg)
	{
		String value = null;
		String pcd1 = null;
		String pcd2 = null;
		
		if (1 == pcdPtn)
		{
			pcd1 = bean.sendMessageString(KKW02522SFConst.PCD1, X31CWebConst.DATABEAN_GET_VALUE);
			pcd2 = bean.sendMessageString(KKW02522SFConst.PCD2, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (2 == pcdPtn)
		{
			pcd1 = bean.sendMessageString(KKW02522SFConst.CHG_PCD1, X31CWebConst.DATABEAN_GET_VALUE);
			pcd2 = bean.sendMessageString(KKW02522SFConst.CHG_PCD2, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			return "";
		}
		
		value = JPCUtilCommon.concatPcd(pcd1, pcd2);
		if (value == null)
		{
			return "";
		}
		
		if (flg)
		{
			return "〒" + JPCUtilCommon.hyhunPcd(value);
		}
		return value;
	}
	
	/**
	 * 住所コードを連結編集し、返却します。
	 * <br>
	 * @param bean
	 * @param adCdPtn 1:送付先住所、2:更新情報住所
	 * @param flg true:ハイフン編集有り
	 * 
	 * @return String
	 */
	private String editAdCd(X31SDataBeanAccess bean, int adCdPtn, boolean flg)
	{
		StringBuilder builder = new StringBuilder();
		
		if (1 == adCdPtn)
		{
			builder.append(bean.sendMessageString(KKW02522SFConst.AD_CD1, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.AD_CD2, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.AD_CD3, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.AD_CD4, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if (2 == adCdPtn)
		{
			builder.append(bean.sendMessageString(KKW02522SFConst.CHG_AD_CD1, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.CHG_AD_CD2, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.CHG_AD_CD3, X31CWebConst.DATABEAN_GET_VALUE));
			builder.append(bean.sendMessageString(KKW02522SFConst.CHG_AD_CD4, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			return "";
		}
		
		String value = builder.toString();
		if (value == null)
		{
			return "";
		}
		
		if (flg)
		{
			return JPCUtilCommon.hyhunAdCd(value);
		}
		return value;
	}
	
	/**
	 * 利用開始月を編集します。
	 * <br>
	 * @param svcFormBean 設定する画面のBean
	 */
	private void editUseStaYM(X31SDataBeanAccess svcFormBean)
	{
		if(isBlank(svcFormBean.sendMessageString(KKW02522SFConst.USE_STAYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return;
		}
		
		// 利用開始年月日
		String useStaY = JPCUtilCommon.toYearFromYmd(svcFormBean.sendMessageString(KKW02522SFConst.USE_STAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		String useStaM = JPCUtilCommon.toMonthFromYmd(svcFormBean.sendMessageString(KKW02522SFConst.USE_STAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 表示＿利用開始月
		svcFormBean.sendMessageString(KKW02522SFConst.DISP_USE_STAYM, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.concatYm(useStaY, useStaM));
	}
	
/* ++++++++++ v4.06.00 修正開始 ++++++++++ */
	/**
	 * 利用終了月を編集します。
	 * <br>
	 * @param svcFormBean 設定する画面のBean
	 */
	private void editUseEndYM(X31SDataBeanAccess svcFormBean)
	{
		if(isBlank(svcFormBean.sendMessageString(KKW02522SFConst.USE_ENDYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return;
		}
		
		// 利用終了年月日⇒年月
		String useEndYM = svcFormBean.sendMessageString(KKW02522SFConst.USE_ENDYMD, X31CWebConst.DATABEAN_GET_VALUE).substring(0, 6);
		
		// 表示＿利用終了月
		svcFormBean.sendMessageString(KKW02522SFConst.DISP_USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE, JPCFomatString.formatYears(useEndYM));
	}
/* ++++++++++ v4.06.00 修正終了 ++++++++++ */
	
	/**
	 * ラジオボタン選択値（利用終了月・変更開始月）を設定します。
	 * <br>
	 * @param svcFormBean 設定する画面のBean
	 */
	private void editRbSelectedValue(X31SDataBeanAccess svcFormBean)
	{
		// 利用終了月
		String useEndYM = svcFormBean.sendMessageString(KKW02522SFConst.USE_ENDYM, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 表示＿利用終了月
		if(USE_END_YM_THIS_MONTH.equals(useEndYM))
		{
			// 当月
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE, "当月");
		}
		else if(USE_END_YM_NEXT_MONTH.equals(useEndYM))
		{
			// 次月
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE, "次月");
		}
		else
		{
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_USE_ENDYM, X31CWebConst.DATABEAN_SET_VALUE, DATABEAN_BLANK);
		}
		
		// 変更開始月
		String chgCngStaYM = svcFormBean.sendMessageString(KKW02522SFConst.CHG_CNGSTAYM, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 表示＿変更開始月
		if(CHG_STA_YM_REAL_TIME.equals(chgCngStaYM))
		{
			// 即時
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, "即時");
		}
		else if(CHG_STA_YM_FROM_NEXT.equals(chgCngStaYM))
		{
			// 次月より
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, "次月より");
		}
		else if(CHG_STA_YM_FROM_AFTER_NEXT.equals(chgCngStaYM))
		{
			// 次々月より
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, "次々月より");
		}
		else
		{
			svcFormBean.sendMessageString(KKW02522SFConst.DISP_CHG_CNGSTAYM, X31CWebConst.DATABEAN_SET_VALUE, DATABEAN_BLANK);
		}
	}
	
	/**
	 * 処理モードが"1：更新"か判定します。
	 * <br>
	 * @param svcFormBean 設定する画面のBean
	 * @return	boolean
	 */
	private boolean isTranModeUpDate(X31SDataBeanAccess svcFormBean)
	{
		// 処理モード 1：更新時
		if(TRAN_MODE_UPDATE.equals(svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * 処理モードが"2：解約"か判定します。
	 * <br>
	 * @param svcFormBean 設定する画面のBean
	 * @return	boolean
	 */
	private boolean isTranModeDissolution(X31SDataBeanAccess svcFormBean)
	{
		// 処理モード 2：解約時
		if(TRAN_MODE_DISSOLUTION.equals(svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param	arg0	判定する引数
	 * @return	boolean	引数に値が設定されていない場合はtrue
	 */
	private boolean isBlank(String arg0)
	{
		if (arg0 == null || arg0.length() == 0) 
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param	obj	判定する引数
	 * @return	boolean	引数に値が設定されていない場合はtrue
	 */
	private boolean isBlank(Object obj)
	{
		if (obj == null || obj.equals("")) 
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * オプション存在をチェックしメッセージ設定をします。
	 * <br>
	 * @param svcFormBean
	 * @param statFlg
	 * @param value
	 */
	private void setDispMsg(X31SDataBeanAccess svcFormBean, boolean statFlg, String value)
	{
		// ガイド誌オプションが存在しない場合
		if (isBlank(svcFormBean.sendMessageString(KKW02522SFConst.CUST_KEI_HKTGI_OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_SET_VALUE, value);
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB2240_KW, new String[]{"オプション契約"}, "");
			return;
		}
		
		String opSvcKeiStat = svcFormBean.sendMessageString(KKW02522SFConst.KK0351_OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
		// ステータス判定
		if (statFlg && JKKCommonConst.SVC_KEI_STAT_010.equals(opSvcKeiStat))
		{
			svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_SET_VALUE, value);
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1510_KW, new String[]{"変更", "オプション"}, "");
		}
		
		/* ++++++++++ v8.00.00 追加開始 ++++++++++ */
		// 処理モード 1：更新時
		if(TRAN_MODE_UPDATE.equals(svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String op_svc_kei_stat = svcFormBean.sendMessageString(KKW02522SFConst.KK0351_OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
			
			// オプションサービス契約.オプションサービス契約ステータスが「解約」の場合（既に解約されている場合）
			if(JKKCommonConst.SVC_KEI_STAT_910.equals(op_svc_kei_stat))
			{
				// メッセージエリアにメッセージを表示する。
				// EKB0290-JW：%1%が%2%の場合は%3%できません。
				svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_SET_VALUE, value);
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0290_JW, new String[]{"eo光テレビガイド誌", "解約済", "更新"}, "");
				return;
			}
		}
		
		// 処理モード 2：解約時
		if(TRAN_MODE_DISSOLUTION.equals(svcFormBean.sendMessageString(KKW02522SFConst.TRAN_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String op_svc_kei_stat = svcFormBean.sendMessageString(KKW02522SFConst.KK0351_OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
			
			// オプションサービス契約.オプションサービス契約ステータスが「解約」の場合（既に解約されている場合）
			if(JKKCommonConst.SVC_KEI_STAT_910.equals(op_svc_kei_stat))
			{
				// メッセージエリアにメッセージを表示する。
				// EKB0290-JW：%1%が%2%の場合は%3%できません。
				svcFormBean.sendMessageString(KKW02522SFConst.ONE_STOP_FLG, X31CWebConst.DATABEAN_SET_VALUE, value);
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0290_JW, new String[]{"eo光テレビガイド誌", "解約済", "解約"}, "");
				return;
			}
		}
		/* ++++++++++ v8.00.00 追加終了 ++++++++++ */
	}

/* ++++++++++ v4.09.00 追加開始 ++++++++++ */
	//住所チェック対応箇所
	/**
	 * ワーニングチェック
	 * 
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	private void warningChk(HashMap outputMap)
	{
		// 戻り値
		HashMap parentMap = null;
		
		if(outputMap.containsKey("EohTvGuideUpdCC")){
			parentMap = (HashMap)outputMap.get("EohTvGuideUpdCC");
		}
		
		if (null != parentMap)
		{
			for (int i=0;i<AD_CHK_LV_ERR.length;i++) {
			
				if (parentMap.containsKey(AD_CHK_LV_ERR[i]))
				{
					String warningStatus = (String)parentMap.get(AD_CHK_LV_ERR[i]);
					if (STATUS_WARNING.equals(warningStatus))
					{
						JCCWebCommon.setMessageInfo(this, "EKBD290--Q",new String[]{AD_CHK_LV_ERR_CHG[i]});
					}
				}
			}
		}
	}
/* ++++++++++ v4.09.00 追加開始 ++++++++++ */
}
