/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：CKW00904SFLogic
*   ソースファイル名：CKW00904SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年02月07日
*＜機能概要＞
*   不良顧客情報更新を表示します。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/02/07   FJ）        新規作成
*   v4.00.00    2012/11/30   FJ)野口    【IT1-2012-0002285】対応
*   v4.01.00    2013/02/16   FJ)野口    【ST3-2013-0000040】対応
*   v4.02.00    2013/07/02   FJ)鳩本    【IT1-2013-0001311】障害対応
*
**********************************************************************/

package eo.web.webview.CKW00904SF;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.model.base.jcc.util.JCCCalendarException;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CKW00301SF.CKW00301SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.ZMW10601SF.ZMW10601SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCKCommonConst;
import eo.web.webview.common.JCKScreenConst;
import eo.web.webview.common.JCKWebCommon;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.mapping.CKSV0028_CKSV0028OPDBMapper;
import eo.web.webview.mapping.CKSV0029_CKSV0029OPDBMapper;
import eo.web.webview.mapping.CKSV0035_CKSV0035OPDBMapper;
import eo.web.webview.mapping.CKSV0036_CKSV0036OPDBMapper;
import eo.web.webview.mapping.CKSV0045_CKSV0045OPDBMapper;

/**
 * 不良顧客情報更新を行います。<p>
 * <BR>
 * @author 富士通
 */
public class CKW00904SFLogic extends JCCWebBusinessLogic
{

	/** ユースケースID(CKSV0028) 不良顧客更新初期表示サービス */
	private static final String USECASE_ID_CKSV0028 = "CKSV0028";

	/** ユースケースID(CKSV0029) 不良顧客更新サービス */
	private static final String USECASE_ID_CKSV0029 = "CKSV0029";

	/** ユースケースID(CKSV0035) 不良顧客削除初期表示サービス */
	private static final String USECASE_ID_CKSV0035 = "CKSV0035";

	/** ユースケースID(CKSV0036) 不良顧客削除サービス */
	private static final String USECASE_ID_CKSV0036 = "CKSV0036";

	/** ユースケースID(CKSV0045) 多重申込グループコード一覧取得サービス */
	private static final String USECASE_ID_CKSV0045 = "CKSV0045";

	/** メッセージID(EKB0370--I) 確認用メッセージ */
	private static final String MESSAGE_ID_COMFIRM = "EKB0370--I";

	//TODO
	/** メッセージID(EKB9360--I) 完了用メッセージ */
	private static final String MESSAGE_ID_FIX = "EKB9360--I";

	/** メッセージ置換文字列(更新用) */
	private static final String MESSAGE_WORD_UPD = "不良顧客情報の更新";

	/** メッセージ置換文字列(削除用) */
	private static final String MESSAGE_WORD_DEL = "不良顧客情報の削除";

	/** 多重申込グループコード 初期採番値 */
	private static final String TMGC_SHK_NO = "070000001";
	
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
	//住所チェック対応箇所
	/** 住所チェック警告値 */
	private static final String STATUS_WARNING = "WA";
	
	/** 住所チェック対象リスト */
	private static final String[] AD_CHK_LV_ERR = {"hrycst_ad_chk_lv_err"};
	
	/** 住所チェック置き換え文字リスト */
	private static final String[] AD_CHK_LV_ERR_CHG = {"不良顧客住所"};
	
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */

	/**
	 * 不良顧客情報更新画面の初期表示処理を行います。
	 * （更新ルートの初期表示処理）
	 * <br>
	 * @return boolean:処理結果
	 * @exception Exception：例外が発生した場合。
	 */
	public boolean init() throws Exception
	{

		// 引継ぎ情報の取得
		HashMap<String, Object> hktgMap = JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanの取得
		X31SDataBeanAccess srvBean = super.getServiceFormBean();

		// 運用日付の設定
		setValue(srvBean, CKW00904SFConst.STDARDYMD, JCCWebCommon.getOpeDate(this, null));
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_NO, (String)hktgMap.get(CKW00301SFConst.HURYO_CUST_NO_02));

		// ■ サービス呼び出し準備
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0028);

		X31SDataBeanAccess[] bean = {srvBean};

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		CKSV0028_CKSV0028OPDBMapper mapper = new CKSV0028_CKSV0028OPDBMapper();
		mapper.setCKSV002801SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		mapper.setCKSV002803SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		mapper.setCKSV002804SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		mapper.setCKSV002805SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);

		// ■ サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// ■ サービス結果の転記
		mapper.getCKSV002801SC(bean, outputMap);
		mapper.getCKSV002802SC(bean, outputMap);
		mapper.getCKSV002803SC(bean, outputMap);
		mapper.getCKSV002804SC(bean, outputMap);
		mapper.getCKSV002805SC(bean, outputMap);

		// 表示用項目などのデータ編集
		setInitData(srvBean);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00904);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00904);
		return true;

	}

	/**
	 * 住所検索画面を表示します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean searchAd() throws Exception
	{

		//サービスフォームBean
		X31SDataBeanAccess srvBean = getServiceFormBean();
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// パラメータの設定
		// 郵便番号
		paramMap.put(ZMW10601SFConst.SESSION_KEY_PCD_1, srvBean.sendMessageString(CKW00904SFConst.HURYO_CUST_PCD_1, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(ZMW10601SFConst.SESSION_KEY_PCD_2, srvBean.sendMessageString(CKW00904SFConst.HURYO_CUST_PCD_2, X31CWebConst.DATABEAN_GET_VALUE));

		// セッションへセット
		JCCWebCommon.setScreenInfo(this, JZMScreenConst.SCREEN_ID_ZMW10601 + "0PJP", paramMap);
		JCCWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW10601 + "0PJP", JCKScreenConst.SCREEN_ID_CKW00904 + "0PJP");

		//共有フォームBean
		X31SDataBeanAccess commonBean = getCommonInfoBean();

		//画面遷移
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_ID_ZMW10601);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JZMScreenConst.SCREEN_NAME_ZMW10601);

		return true;
	}

	/**
	 * 住所検索結果を設定します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean retSearchAd() throws Exception
	{
		//共有フォームBean
		X31SDataBeanAccess commonBean = getCommonInfoBean();
		//サービスフォームBean
		X31SDataBeanAccess srvBean = getServiceFormBean();

		// 返却値の設定
		setRtnData(srvBean);
		
		// 手動入力チェックをオフにする
		srvBean.sendMessageBoolean(CKW00904SFConst.REIGAI, X31CWebConst.DATABEAN_SET_VALUE, false);
		// javascript制御のために住所検索戻りフラグを設定
		srvBean.sendMessageString(CKW00904SFConst.AD_RETURN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");

		//画面遷移
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00904);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00904);

		return true;
	}

	/**
	 * 新規発番押下時の処理を行います。
	 * <br>
	 *  @return boolean 処理結果
	 */
	public boolean getNewNo()
	{
		//サービスフォームBean
		X31SDataBeanAccess srvBean = getServiceFormBean();

		// ■ サービス呼び出し準備
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0045);

		X31SDataBeanAccess[] bean = {srvBean};

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ■ サービスの上り項目の転記

		// ■ サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// ■ サービス結果の転記
		CKSV0045_CKSV0045OPDBMapper mapper = new CKSV0045_CKSV0045OPDBMapper();
		mapper.getCKSV004501SC(bean, outputMap);

		X31SDataBeanAccess comboBean = null;
		comboBean = srvBean.getDataBeanArray(CKW00904SFConst.TAJU_MSKM_GRP_CD).getDataBean(0);

		// 採番値の取得＆設定
		setNo(comboBean);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00904);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00904);
		return true;
	}

	/**
	 * 更新確認押下時の処理を行います。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean comfirm() throws Exception
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess srvBean = super.getServiceFormBean();

		// 入力項目の編集処理
		setData(srvBean);
		
		Boolean errFlg = false;
		
		// エラーが存在する場合は次画面に遷移しない。
		if (errFlg)
		{
			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00904);

			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00904);
			return true;
		}

		// 不良顧客変更の呼出
		// ■ サービス呼び出し準備呼出実装
		HashMap< String, String > paramMap = new HashMap< String, String >();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0029);
		
		X31SDataBeanAccess[] bean = {srvBean};
		
		HashMap< String, Object > inputMap = new HashMap< String, Object >();
		HashMap< String, Object > outputMap = new HashMap< String, Object >();
		
		CKSV0029_CKSV0029OPDBMapper mapper = new CKSV0029_CKSV0029OPDBMapper();
		mapper.setCKSV002901SC(bean, inputMap, JCKCommonConst.FUNC_CODE_2);
		
		// ■ サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
		//住所チェック対応箇所
		//ワーニング判定
		warningChk(outputMap);
		
/* ++++++++++ v4.01.00 追加終了 ++++++++++ */
		
		// ■ サービス結果の転記
		// 画面に返却する項目なし
		
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// メッセージエリアの設定
		JCCWebCommon.setMessageInfo(this, MESSAGE_ID_COMFIRM, new String[]{MESSAGE_WORD_UPD},"");

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00905);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00905);
		return true;

	}

	/**
	 * 戻る押下時の処理を行います。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean back() throws Exception
	{
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * 不良顧客情報更新確認画面の初期表示処理を行います。
	 * （削除ルートの初期表示処理）
	 * <br>
	 * @return boolean:処理結果
	 * @exception Exception：例外が発生した場合。
	 */
	public boolean initCkw00905() throws Exception
	{
		// 引継ぎ情報の取得
		HashMap<String, Object> hktgMap = JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanの取得
		X31SDataBeanAccess srvBean = super.getServiceFormBean();

		// 不良顧客番号の設定
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_NO, (String)hktgMap.get(CKW00301SFConst.HURYO_CUST_NO_02));
		srvBean.sendMessageBoolean(CKW00904SFConst.DELFLG, X31CWebConst.DATABEAN_SET_VALUE, true);

		// ■ サービス呼び出し準備
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0035);

		X31SDataBeanAccess[] bean = {srvBean};

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		CKSV0035_CKSV0035OPDBMapper mapper = new CKSV0035_CKSV0035OPDBMapper();
		mapper.setCKSV003501SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		// ■ サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// ■ サービス結果の転記
		mapper.getCKSV003501SC(bean, outputMap);

		// 表示用項目などのデータ編集
		setInitDataDel(srvBean);

		// メッセージエリアの設定
		JCCWebCommon.setMessageInfo(this, MESSAGE_ID_COMFIRM, new String[]{MESSAGE_WORD_DEL});

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00905);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00905);
		return true;

	}

	/**
	 * 修正押下時の処理を行います。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean returnUpd() throws Exception
	{
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00904);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00904);
		return true;
	}

	/**
	 * 確定押下時の処理を行います。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean updFix() throws Exception
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess srvBean = super.getServiceFormBean();
		
		Boolean errFlg = false;
		//住所情報のチェックを行う。
		//errFlg = chkAdInfo(srvBean);
		
		// エラーが存在する場合は次画面に遷移しない。
		if (errFlg)
		{
			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00905);

			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean
					.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00905);
			return true;
		}

		boolean delFlg = srvBean.sendMessageBoolean(CKW00904SFConst.DELFLG, X31CWebConst.DATABEAN_GET_VALUE);

		String msgWord = "";

		// ■ サービス呼び出し準備
		HashMap<String, String> paramMap = new HashMap<String, String>();

		X31SDataBeanAccess[] bean = {srvBean};

		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// 更新か削除か判定する
		if (delFlg)
		{
			// 削除の場合
			msgWord = MESSAGE_WORD_DEL;

			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0036);

			CKSV0036_CKSV0036OPDBMapper mapper = new CKSV0036_CKSV0036OPDBMapper();
			mapper.setCKSV003601SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		}
		else
		{
			// 更新の場合
			msgWord = MESSAGE_WORD_UPD;

			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CKSV0029);

			CKSV0029_CKSV0029OPDBMapper mapper = new CKSV0029_CKSV0029OPDBMapper();
			mapper.setCKSV002901SC(bean, inputMap, JCKCommonConst.FUNC_CODE_1);
		}

		// ■ サービス呼び出し
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// ■ サービス結果の転記
		// 画面に返却する項目なし

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// メッセージエリアの設定
		JCCWebCommon.setMessageInfo(this, MESSAGE_ID_FIX, new String[]{msgWord});

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_ID_CKW00906);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCKScreenConst.SCREEN_NAME_CKW00906);
		return true;
	}

	/**
	 * 戻る押下時の処理を行います。(削除ルート)
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean cancel() throws Exception
	{
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * 一覧照会へ押下時の処理を行います。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean updFin() throws Exception
	{
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		return true;
	}

	/**
	 * 初期表示時の入力項目の編集処理を行います。
	 * <br>
	 * @param srvBean 画面情報
	 * <br>
	 */
	private void setInitData(X31SDataBeanAccess srvBean)
	{

		// コンボボックスの選択値の設定
		setSelectComboData(CKW00904SFConst.HURYO_CUST_ADD_CD);
		setSelectComboData(CKW00904SFConst.TAJU_MSKM_GRP_CD);
		setSelectComboData(CKW00904SFConst.JIGYOSHA_CD);

		// 制御用項目
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_1, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_1));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_2, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_2));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_3, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_3));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_4, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_4));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_STATE, getValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_CITY, getValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_OAZTSU, getValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AZCHO, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO));

		// 不良顧客登録コード(更新前)
		String huryoCustAddCd = JCKWebCommon.convertCode(srvBean, CKW00904SFConst.HURYO_CUST_ADD_CD, CKW00904SFConst.SELECT_INDEX_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_ADD_CD, huryoCustAddCd);
		
		/* ++++++++++ v4.02.00 追加開始 ++++++++++ */
		// 不良顧客登録コード(表示用)	disp_cust_add_cd
		String cdNm1 = JCKWebCommon.getPullDownName(srvBean, CKW00904SFConst.HURYO_CUST_ADD_CD, CKW00904SFConst.SELECT_INDEX_01,
		CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);
		setValue(srvBean, CKW00904SFConst.DISP_CUST_ADD_CD, cdNm1);
		/* ++++++++++ v4.02.00 追加完了 ++++++++++ */
		
	}

	/**
	 * 削除の場合の初期表示時の入力項目の編集処理を行います。
	 * <br>
	 * @param srvBean 画面情報
	 * <br>
	 */
	private void setInitDataDel(X31SDataBeanAccess srvBean)
	{
		// 不良顧客生年月日
		String year = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_YEAR);
		String month = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_MON);
		String day = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_DAY);

		// 不良顧客郵便番号
		String pcd1 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_1);
		String pcd2 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_2);

		// 不良顧客住所コード
		String adcd1 = getValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_1);
		String adcd2 = getValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_2);
		String adcd3 = getValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_3);
		String adcd4 = getValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_4);

		String opeDate =  JCCWebCommon.getOpeDate(this, null);
		// 表示用項目
		setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_BIRTHDAY, getDispBirthDay(year + month + day, opeDate));
		
		if(pcd1.length() != 0 && pcd2.length() != 0)
		{
			setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_PCD, "〒" + pcd1 + "-" + pcd2);
		}
		if(adcd1.length() != 0 && adcd2.length() != 0 && adcd3.length() != 0 && adcd4.length() != 0)
		{
			setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_AD_CD, adcd1 + "-" + adcd2 + "-" + adcd3 + "-" + adcd4);
		}

	}

	/**
	 * 入力項目の編集処理を行います。
	 * <br>
	 * @param srvBean 画面情報
	 * <br>
	 */
	private void setData(X31SDataBeanAccess srvBean)
	{
		String disp_huryo_cust_birthday = "";
		String disp_huryo_cust_pcd = "";
		String disp_huryo_cust_ad_cd = "";
		String huryo_cust_birthday = "";
		String huryo_cust_pcd = "";
		String huryo_cust_ad_cd = "";

		String nego = JCKWebCommon.getPullDownName(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_NENGO, CKW00904SFConst.SELECT_INDEX_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);
		String negoCd = JCKWebCommon.convertCode(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_NENGO, CKW00904SFConst.SELECT_INDEX_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01);
		String year = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_YEAR);
		String month = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_MON);
		String day = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHD_DAY);

		String pcd1 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_1);
		String pcd2 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_2);

		String adcd1 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_1);
		String adcd2 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_2);
		String adcd3 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_3);
		String adcd4 = getValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_4);
		
		String opeDate = getValue(srvBean, CKW00904SFConst.STDARDYMD);

		if(pcd1.length() != 0 && pcd2.length() != 0)
		{
			disp_huryo_cust_pcd = "〒" + pcd1 + "-" + pcd2;
		}
		if(adcd1.length() != 0 && adcd2.length() != 0 && adcd3.length() != 0 && adcd4.length() != 0)
		{
			disp_huryo_cust_ad_cd = adcd1 + "-" + adcd2 + "-" + adcd3 + "-" + adcd4;
		}

		if (!"".equals(nego))
		{
			String[] workNego = nego.split("\\.");
			nego = workNego[1];
		}

		if (null != negoCd && !"".equals(negoCd) && null != year && !"".equals(year))
		{
			// 年号コードの変換
			String setCd = chgNego(negoCd);
			if (setCd == null)
			{
				// 西暦なので変換不要
				huryo_cust_birthday = year + month + day;
			}
			else
			{
				huryo_cust_birthday = JCKWebCommon.getAdCalendar(setCd, year, month, day);
			}
			disp_huryo_cust_birthday = getDispBirthDay(huryo_cust_birthday ,opeDate);
		}
		huryo_cust_pcd = pcd1 + pcd2;
		huryo_cust_ad_cd = adcd1 + adcd2 + adcd3 + adcd4;

		// 表示用項目
		setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_BIRTHDAY, disp_huryo_cust_birthday);
		setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_PCD, disp_huryo_cust_pcd);
		setValue(srvBean, CKW00904SFConst.DISP_HURYO_CUST_AD_CD, disp_huryo_cust_ad_cd);

		// DB登録用項目
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_BIRTHDAY, huryo_cust_birthday);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD, huryo_cust_pcd);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD, huryo_cust_ad_cd);

		// 制御用項目
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_1, adcd1);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_2, adcd2);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_3, adcd3);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_4, adcd4);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_STATE, getValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_CITY, getValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_OAZTSU, getValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AZCHO, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO));

		// コンボボックスの選択値の設定
		setSelectComboData(CKW00904SFConst.HURYO_CUST_ADD_CD);
		setSelectComboData(CKW00904SFConst.TAJU_MSKM_GRP_CD);
		setSelectComboData(CKW00904SFConst.JIGYOSHA_CD);

		// コンボボックスの選択値を表示用項目に設定
		// 不良顧客登録コード
		/* ++++++++++ v4.02.00 削除開始 ++++++++++ */
//		String cdNm1 = JCKWebCommon.getPullDownName(srvBean, CKW00904SFConst.HURYO_CUST_ADD_CD, CKW00904SFConst.SELECT_INDEX_01,
//				CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);
//		setValue(srvBean, CKW00904SFConst.DISP_CUST_ADD_CD, cdNm1);
		/* ++++++++++ v4.02.00 削除完了 ++++++++++ */

		// 多重申込グループコード
		String cdNm2 = JCKWebCommon.getPullDownName(srvBean, CKW00904SFConst.TAJU_MSKM_GRP_CD, CKW00904SFConst.SELECT_INDEX_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);
		if (null == cdNm2)
		{
			cdNm2 = "";
		}
		setValue(srvBean, CKW00904SFConst.DISP_TAJU_MSKM_GRP_CD, cdNm2);

		// 事業者コード
		String cdNm3 = JCKWebCommon.getPullDownName(srvBean, CKW00904SFConst.JIGYOSHA_CD, CKW00904SFConst.SELECT_INDEX_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);
		if (null == cdNm3)
		{
			cdNm3 = "";
		}
		setValue(srvBean, CKW00904SFConst.DISP_JIGYOSHA_CD, cdNm3);
	}

	/**
	 * コードタイプ コンボボックスの選択情報を転記する。
	 * 
	 * @param comboItemId 対象とするコンボボックスの項目ID
	 */
	private void setSelectComboData(String comboItemId)
	{

		setSelectComboData(comboItemId, CKW00904SFConst.SELECT_INDEX_01, CKW00904SFConst.CD_DIV_CD_01, CKW00904SFConst.CD_DIV_NM_01,
				CKW00904SFConst.CD_DIV_CD_LIST_01, CKW00904SFConst.CD_DIV_NM_LIST_01);

	}

	/**
	 * コンボボックスの選択情報を転記する。
	 * 
	 * @param comboItemId 対象とするコンボボックスの項目ID
	 * @param selIdxId 選択行インデックスが格納されている項目ID
	 * @param selCodeId 選択されたコードを格納する項目ID
	 * @param selNameId 選択された名称を格納する項目ID
	 * @param cdListId  コードの選択候補リストを格納している項目ID
	 * @param nmListId  名称の選択候補リストを格納している項目ID
	 */
	private void setSelectComboData(String comboItemId, String selIdxId, String selCodeId, String selNameId, String cdListId, String nmListId)
	{
		// サービスフォームBeanの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess subbean = null;

		// コンボボックスのデータタイプを取得する。
		subbean = bean.getDataBeanArray(comboItemId).getDataBean(0);
		String selectedIndex = subbean.sendMessageString(selIdxId, X31CWebConst.DATABEAN_GET_VALUE);
		if (selectedIndex == null || "".equals(selectedIndex))
		{
			subbean.sendMessageString(selCodeId, X31CWebConst.DATABEAN_SET_VALUE, "");
			subbean.sendMessageString(selNameId, X31CWebConst.DATABEAN_SET_VALUE, "");
			return;
		}

		int selIdx = Integer.valueOf(selectedIndex);
		subbean.sendMessageString(selCodeId, X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(cdListId, X31CWebConst.DATABEAN_GET_VALUE,
				selIdx));

		subbean.sendMessageString(selNameId, X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(nmListId, X31CWebConst.DATABEAN_GET_VALUE,
				selIdx));

	}

	/**
	 * 住所検索画面の戻り値の設定を行います。
	 * <br>
	 * @param srvBean 画面情報
	 * <br>
	 */
	private void setRtnData(X31SDataBeanAccess srvBean)
	{
		HashMap<String, Object> resultMap = JCCWebCommon.getScreenInfo(this);

		// 住所コード
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_1, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_1));
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_2, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_2));
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_3, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_3));
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_4, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_4));

		// 住所コード(制御用)
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_1, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_1));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_2, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_2));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_3, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_3));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_4, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_4));

		// 郵便番号
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_1, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_PCD_1));
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_PCD_2, (String)resultMap.get(ZMW10601SFConst.SESSION_RET_PCD_2));
		
		// 選択された住所情報の設定を行う
		setRetAddMsg(srvBean, resultMap);

	}

	/**
	 * 共通部品を呼び出すためのコード値の変換処理を行います。
	 * <br>
	 * @param negoCd 年号コード
	 * @return 変換後年号コード
	 * <br>
	 */
	private String chgNego(String negoCd)
	{
		String retCd = "";

		if ("2".equals(negoCd))
		{
			// 昭和の場合
			retCd = "1";
		}
		else if ("3".equals(negoCd))
		{
			// 平成の場合
			retCd = "2";
		}
		else if ("4".equals(negoCd))
		{
			// 大正の場合
			retCd = "3";
		}
		else if ("5".equals(negoCd))
		{
			// 明治の場合
			retCd = "4";
		}
		else
		{
			// 西暦の場合
			retCd = null;
		}

		return retCd;
	}

	/**
	 * 多重申込グループコードの新規採番とコンボボックスへの設定処理を行います。
	 * <br>
	 * @param comboBean 多重申込グループコードのBean
	 */
	private void setNo(X31SDataBeanAccess comboBean)
	{
		ArrayList<String> cdDivCdList = null;
		int cdDivCdListSize = 0;

		// 要素数取得
		cdDivCdListSize = ((Integer)(comboBean.sendMessage(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT))).intValue();

		cdDivCdList = getListVal(comboBean, cdDivCdListSize, CKW00904SFConst.CD_DIV_CD_LIST_01);

		// 1より大きい場合最大値＋１の番号を追加
		if (cdDivCdListSize > 1)
		{
			// 追加前最大値取得
			String maxValBf = cdDivCdList.get(1);

			// 数値型に変換し新規の採番を行う
			int intval = Integer.parseInt(maxValBf);
			intval = intval + 1;
			String addval = String.format("%09d", intval);

			// 値の追加
			addlist(comboBean, cdDivCdList, addval);

		}
		// 1以下の場合、初期採番値を追加
		else
		{

			comboBean.sendMessageString(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, TMGC_SHK_NO);
			comboBean.sendMessageString(CKW00904SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, TMGC_SHK_NO);
		}
	}

	/**
	 * データBeanから指定された項目の値のリストを取得します。
	 * <br>
	 * @param bean 画面情報
	 * @param size 要素数
	 * @param listKey 項目名
	 * <br>
	 * @return ArrayList<String> 指定された項目の値のリスト
	 */
	private ArrayList<String> getListVal(X31SDataBeanAccess bean, int size, String listKey)
	{
		ArrayList<String> retList = new ArrayList<String>();
		if (size > 0)
		{
			for (int i = 0; i < size; i++)
			{
				retList.add(bean.sendMessageString(listKey, X31CWebConst.DATABEAN_GET_VALUE, i));
			}
		}

		return retList;
	}

	/**
	 * データBeanに指定された項目の値を先頭に追加します。
	 * <br>
	 * @param bean 画面情報
	 * @param tgtList 追加対象のリスト
	 * @param addVal 追加する値
	 * <br>
	 * @return String 選択されているコード値
	 */
	private void addlist(X31SDataBeanAccess bean, ArrayList<String> tgtList, String addVal)
	{
		// 要素追加
		bean.sendMessageString(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");
		bean.sendMessageString(CKW00904SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");

		int index = 0;

		// 0番目(空白値)
		bean.sendMessageString(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, tgtList.get(0));
		bean.sendMessageString(CKW00904SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, tgtList.get(0));
		index++;

		// 1番目(追加する値)
		bean.sendMessageString(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, addVal);
		bean.sendMessageString(CKW00904SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, addVal);
		index++;

		// 2番目以降
		for (int i = 1; i < tgtList.size(); i++)
		{
			bean.sendMessageString(CKW00904SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, tgtList.get(i));
			bean.sendMessageString(CKW00904SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, index, tgtList.get(i));
			index++;
		}
	}

	/**
	 * データBeanから指定された項目の値を取得します。
	 * <br>
	 * @param bean 画面情報
	 * @param itemName 項目名
	 * <br>
	 * @return String 選択されているコード値
	 */
	private String getValue(X31SDataBeanAccess bean, String itemName)
	{
		return bean.sendMessageString(itemName, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * データBeanに指定された項目の値を設定します。
	 * <br>
	 * @param bean 画面情報
	 * @param itemName 項目名
	 * @param value 設定値
	 */
	private void setValue(X31SDataBeanAccess bean, String itemName, String value)
	{
		bean.sendMessageString(itemName, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * 生年月日欄の表示用文字列を作成します。
	 * @param birthDay 生年月日(yyyymmdd)
	 * @param opeDate 運用日
	 * @return 表示用文字列(例：(昭和45年) 1970 年 1 月 1 日  年齢 41 歳
	 */
	private String getDispBirthDay(String birthDay, String opeDate)
	{
		String ret = "";
		
		if(birthDay == null || birthDay.length() < 8)
		{
			return ret;
		}
		
		if(opeDate == null || opeDate.length() < 8)
		{
			return ret;
		}
		
		long birthY = Long.parseLong(birthDay.substring(0, 4));
		long birthM = Long.parseLong(birthDay.substring(4, 6));
		long birthD = Long.parseLong(birthDay.substring(6, 8));
		long opeY = Long.parseLong(opeDate.substring(0, 4));
		long opeM = Long.parseLong(opeDate.substring(4, 6));
		long opeD = Long.parseLong(opeDate.substring(6, 8));
		long age = opeY - birthY;
		if(opeM < birthM) age= age-1;
		else if(opeM == birthM){
			if(opeD < birthD) age= age-1;
		}
		String wareki = "";
		try {
			wareki = JCKWebCommon.getJapaneseCalendar(birthDay); // 昭和45年1月1日
		} catch (JCCCalendarException e) {

		}
		String warekiYY = wareki.substring(0, wareki.indexOf("年"));
		
		ret = "(" + warekiYY +"年) " + birthY + " 年 " + birthM +  "月 " + birthD + " 日  年齢 " + age + " 歳";
		return ret;
	}
	
	/**
	 * 住所検索画面からの戻り時の住所情報設定処理を行います。
	 * @param srvBean DataBann
	 * @param resultMap 住所検索画面からの返却値
	 */
	private void setRetAddMsg(X31SDataBeanAccess srvBean, HashMap<String, Object> resultMap)
	{
		String adCd1 = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_1);
		String adCd2 = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_2);
		String adCd3 = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_3);
		String adCd4 = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AD_CD_4);
		
		String state = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_STATE_NM);
		String city = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_CITY_NM);
		String oaztsu = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_OAZTSU_NM);
		String azcho = (String)resultMap.get(ZMW10601SFConst.SESSION_RET_AZCHO_NM);
		//String bnchigo = getValue(srvBean, CKW00904SFConst.HURYO_CUST_BNCHIGO);
		
		if("00".equals(adCd1))
		{
			// 住所
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_BNCHIGO, state + city + oaztsu + azcho );
		}
		else if("000".equals(adCd2))
		{
			// 住所
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE, state);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_BNCHIGO, city + oaztsu + azcho );
		}
		else if("000".equals(adCd3))
		{
			// 住所
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE, state);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY, city);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_BNCHIGO, oaztsu + azcho );
		}
		else if("000".equals(adCd4))
		{
			// 住所
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE, state);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY, city);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU, oaztsu);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO, "");
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_BNCHIGO, azcho );
		}
		else
		{
			// 住所
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE, state);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY, city);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU, oaztsu);
			setValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO, azcho);
		}
		
		// 制御用の項目に同内容を設定
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_1, adCd1);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_2, adCd2);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_3, adCd3);
		setValue(srvBean, CKW00904SFConst.HURYO_CUST_AD_CD_4, adCd4);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_1, adCd1);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_2, adCd2);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_3, adCd3);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AD_CD_4, adCd4);
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_STATE, getValue(srvBean, CKW00904SFConst.HURYO_CUST_STATE));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_CITY, getValue(srvBean, CKW00904SFConst.HURYO_CUST_CITY));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_OAZTSU, getValue(srvBean, CKW00904SFConst.HURYO_CUST_OAZTSU));
		setValue(srvBean, CKW00904SFConst.CTR_HURYO_CUST_AZCHO, getValue(srvBean, CKW00904SFConst.HURYO_CUST_AZCHO));
	}
	
/* ++++++++++ v4.01.00 追加開始 ++++++++++ */
	/**
	 * ワーニングチェック
	 * 
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	private void warningChk(HashMap outputMap)
	{
		// 戻り値
		HashMap parentMap = null;
		
		if(outputMap.containsKey("CKSV002901SC")){
			parentMap = (HashMap)outputMap.get("CKSV002901SC");
		}
		
		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.01.00 追加終了 ++++++++++ */
	
}
