/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：KKW06301SFLogic
*   ソースファイル名：KKW06301SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月19日
*＜機能概要＞
*   訪問対応依頼情報の新規登録をします。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/19   FJ）川田    新規作成
*   v3.00.00    2012/04/19   FJ          ロット１対応
*   v3.01.00    2012/08/01   FJ          IT2-2012-0001437障害対応
*   v4.00.00    2012/11/08   FJ）宇野    ANK-1223-00-00 進捗対応
*   v4.00.01    2013/03/27   FJ）辛      【OT-2013-0000527】対応
*   v4.00.02    2013/09/23   FJ）稲岡	【OM-2013-0002142】対応
*   v6.00.00    2014/01/06   FJ）磯俣	【OM-2013-0005409】INIT_FLGの初期化を行う
*   v6.00.01    2014/01/17   FJ）稲岡	【OM-2014-0000162】コンファーム「キャンセル」選択時、訪問対応依頼コードプルダウン再設定
*   v7.00.00    2014/01/27   FJ）稲岡	【OM-2014-0000285】コンファーム「キャンセル」選択時、第1希望年月日オンライン運用日設定処理削除
**********************************************************************/

package eo.web.webview.KKW06301SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

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.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CKW00201SF.CKW00201SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCKCommonConst;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0376_KKSV0376OPDBMapper;
import eo.web.webview.mapping.KKSV0377_KKSV0377OPDBMapper;
import eo.web.webview.mapping.KKSV0378_KKSV0378OPDBMapper;
import eo.web.webview.mapping.KKSV0748_KKSV0748OPDBMapper;


/**
 * 訪問対応依頼情報の新規登録を行います。<p>
 * <BR>
 * @ author 富士通
 */
public class KKW06301SFLogic extends JCCWebBusinessLogic {
	
	/** 空文字 */
	private static final String EMPTY = "";
	
	/** 顧客契約引継情報項目キー */
	private static final String[] CUST_KEI_HKTGI_KEYS = {
			KKW06301SFConst.SYSID_02, 
			KKW06301SFConst.SVC_KEI_NO_02,
			KKW06301SFConst.IDO_DIV_02, 
			KKW06301SFConst.IDO_RSN_CD_02,
			KKW06301SFConst.IDO_RSN_MEMO_02,
			KKW06301SFConst.OP_SVC_KEI_NO_02, 
			KKW06301SFConst.TRAN_DIV_02,
			KKW06301SFConst.MSKM_NO_02, 
			KKW06301SFConst.MSKM_DTL_NO_02,
			KKW06301SFConst.TOKUTEI_ID_KMK_NM_02,
			KKW06301SFConst.TOKUTEI_ID_KMK_VALUE_02};

	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception{
		
		// セションデータ取得
		JCCWebCommon.getScreenInfo(this);
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanの取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// 顧客契約引継データ格納
		this.setDataKeiSuccession(beanAccess);
		
		// 共有フォームBean保持データ格納
		this.setDataCommonInfoBean(commonAccess, beanAccess);
		
		// ■サービス呼出前準備
		
		// オンライン運用日付格納
		beanAccess.sendMessageString(KKW06301SFConst.STDARDYMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));
		// オンライン運用日付格納(hidden)
		beanAccess.sendMessageString(KKW06301SFConst.UNYOYMD, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this, null));
		
		// システム日付(YYYYMMDDhhmmss形式)格納
		beanAccess.sendMessageString(KKW06301SFConst.SYSDATE_TIME, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getSysDateTime());
		
		// システム日付(YYYYMMDDhhmmssSSS形式)格納
		beanAccess.sendMessageString(KKW06301SFConst.SYSDATE_TIME_STAMP, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getSysDateTimeStamp());
		// 初期化
		beanAccess.sendMessage(KKW06301SFConst.SCRN_CTRL_FLG, X31CWebConst.DATABEAN_CLEAR);
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0376");
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// コンボ情報取得
		KKSV0376_KKSV0376OPDBMapper mapper = new KKSV0376_KKSV0376OPDBMapper();
		mapper.setKKSV037601SC(paramBean, inputMap, "1");
		mapper.setKKSV037602SC(paramBean, inputMap, "1");
		mapper.setKKSV037603SC(paramBean, inputMap, "1");
		/*---v4.00.01 修正開始----------------------*/
		mapper.setKKSV037604SC(paramBean, inputMap, JCKCommonConst.FUNC_CODE_2);
		mapper.setKKSV037605SC(paramBean, inputMap, JCKCommonConst.FUNC_CODE_1);
		/*---v4.00.01 修正終了----------------------*/
		mapper.setKKSV037606SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);// サーポート一意照会
		
		// ■サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null){
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// ■サービス結果の転記（IMRCで出力されたBP-DataBeanマッピングのソースは改造しています。）
		mapper.getKKSV037601SC(paramBean, outputMap);
		mapper.getKKSV037602SC(paramBean, outputMap);
		mapper.getKKSV037603SC(paramBean, outputMap, KKW06301SFConst.KIBO_TIME_1_TYPE);
		mapper.getKKSV037603SC(paramBean, outputMap, KKW06301SFConst.KIBO_TIME_2_TYPE);
		mapper.getKKSV037603SC(paramBean, outputMap, KKW06301SFConst.KIBO_TIME_3_TYPE);
		if (outputMap.containsKey("KKSV037605SC"))
		{
			HashMap<String, Object> supportMap = (HashMap<String, Object>) outputMap.get("KKSV037605SC");
			ArrayList supportList = (ArrayList)supportMap.get("EKK0631B001CBSMsg1List");
			if(supportList != null && supportList.size() > 0)
			{
				mapper.getKKSV037605SC(paramBean, outputMap);
				mapper.getKKSV037606SC(paramBean, outputMap);
			}
		}
		
		// 初期処理フラグ
		beanAccess.sendMessageString(KKW06301SFConst.INIT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06301);
		
		String updFlg = beanAccess.sendMessageString(KKW06301SFConst.SCRN_CTRL_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		if("".equals(updFlg))
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06301);
		}
		else
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06309);
		}
		
		return true;
	}
	
	/**
	 * コンファームで「キャンセル」を選択した場合の検索データクリア（初期化）処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public boolean clearValue() throws Exception{
		
		// セションデータ取得
		JCCWebCommon.getScreenInfo(this);
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanの取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// サポート番号
		clearValueBeanItem(beanAccess, KKW06301SFConst.SUPPORT_NO);
		// 画面遷移先フラグ
		clearValueBeanItem(beanAccess, KKW06301SFConst.SCRN_CTRL_FLG);
		// 依頼状態
		clearValueBeanItem(beanAccess, KKW06301SFConst.REQ_STAT);
		// 対応記録番号
		clearValueBeanItem(beanAccess, KKW06301SFConst.TAIO_KIROK_NO);
		// 場所番号
		clearValueBeanItem(beanAccess, KKW06301SFConst.PLACE_NO);
		
		// 訪問サポート会社コード
		clearSelectIdx(beanAccess, KKW06301SFConst.VSIT_SPRT_COMP_CD_TYPE);
		
		// 訪問サポート予定年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.VSIT_SUPPORT_RSV_YMD);
		// 訪問サポート第1希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_YEAR_1);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_MON_1);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_DAY_1);
		// 訪問サポート第2希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_YEAR_2);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_MON_2);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_DAY_2);
		// 訪問サポート第3希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_YEAR_3);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_MON_3);
		clearValueBeanItem(beanAccess, KKW06301SFConst.KIBO_DAY_3);
		
		// 訪問サポート第1希望時間コード
		clearSelectIdx(beanAccess, KKW06301SFConst.KIBO_TIME_1_TYPE);
		// 訪問サポート第2希望時間コード
		clearSelectIdx(beanAccess, KKW06301SFConst.KIBO_TIME_2_TYPE);
		// 訪問サポート第3希望時間コード
		clearSelectIdx(beanAccess, KKW06301SFConst.KIBO_TIME_3_TYPE);
		
		// サポート年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.SUPPORT_YMD);
		// サポート結果コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.SUPPORT_RSLT_CD);
		// サポート完了年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.SUPPORT_FIN_YMD);
		// 訪問サポートアポ完了年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.VSIT_SPRT_APO_FIN_YMD);
		// 訪問サポートメモ
		clearValueBeanItem(beanAccess, KKW06301SFConst.VSIT_SPRT_MEMO);
		// 更新年月日時分秒
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_DTM);
		// 依頼状態コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.REQ_STAT_CD);
		// 訪問サポート種別コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.VSIT_SUPPORT_SBT_CD);
		
		// 更新用＿訪問サポート会社コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_COMP_CD);
		// 更新用＿訪問サポート会社コード名称
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_COMP_CD_NM);
		// 更新用＿訪問サポート第1希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_KIBO_YMD_1);
		// 更新用＿訪問サポート第2希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_KIBO_YMD_2);
		// 更新用＿訪問サポート第3希望年月日
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_KIBO_YMD_3);
		// 更新用＿訪問サポート第1希望時間コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_1);
		// 更新用＿訪問サポート第1希望時間コード名称
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_1_NM);
		// 更新用＿訪問サポート第2希望時間コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_2);
		// 更新用＿訪問サポート第2希望時間コード名称
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_2_NM);
		// 更新用＿訪問サポート第3希望時間コード
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_3);
		// 更新用＿訪問サポート第3希望時間コード名称
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SPRT_KIBO_TIME_CD_3_NM);
		// 更新用＿訪問サポートメモ
		clearValueBeanItem(beanAccess, KKW06301SFConst.UPD_VSIT_SUPPORT_MEMO);
		
// ++++++++++ v6.00.01 追加開始 ++++++++++
		// 初期処理フラグ
		beanAccess.sendMessageString(KKW06301SFConst.INIT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 訪問対応依頼コードプルダウン再設定
		X31SDataBeanAccessArray listKKSV037601SC_vsit_taio_req_cd_type_EZM0171B012CBSMsg1List = beanAccess.getDataBeanArray(KKW06301SFConst.VSIT_TAIO_REQ_CD_TYPE);
		listKKSV037601SC_vsit_taio_req_cd_type_EZM0171B012CBSMsg1List.clearArray();
		
		X31SDataBeanAccess subbean = listKKSV037601SC_vsit_taio_req_cd_type_EZM0171B012CBSMsg1List.addDataBean();
		
		subbean.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");
		subbean.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "");
		subbean.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "2");
		subbean.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_ADD_VALUE, "1.追加");
// ++++++++++ v6.00.01 追加終了 ++++++++++
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06301);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06301);
		
		return true;
	}
	
	/**
	 * 振分処理
	 * 代理店を検索し取得値を訪問サポート会社コードプルダウンの選択値に設定。
	 * <br>
	 * @return boolean 検索結果
	 * @throws Exception エラーが発生した場合
	 */

	public boolean executeApportion() throws Exception{
		
		// サービスフォームBeanの取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
// ++++++++++ v6.00.00 追加開始 ++++++++++
		// 初期処理フラグ
		beanAccess.sendMessageString(KKW06301SFConst.INIT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
// ++++++++++ v6.00.00 追加終了 ++++++++++
		
		// ■サービス呼出前準備
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0378");
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// データBean・BPマッピングクラス生成
		KKSV0378_KKSV0378OPDBMapper mapper = new KKSV0378_KKSV0378OPDBMapper();
		
		// 検索処理
		mapper.setKKSV037801SC(paramBean, inputMap, "2");
		
		// ■サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null){
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// ■サービス結果の転記（IMRCで出力されたBP-DataBeanマッピングのソースは改造しています。）
		mapper.getKKSV037804SC(paramBean, outputMap);
		
		// 取得した依頼先訪問サポート会社コードを訪問サポート会社コードプルダウンの選択値に設定
		String iraiVsitSprtCompCd = beanAccess.sendMessageString(KKW06301SFConst.IRAI_VSIT_SPRT_COMP_CD, X31CWebConst.DATABEAN_GET_VALUE);
		setSelValVsitSprtCompCd(beanAccess, iraiVsitSprtCompCd);
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06301);
		
		String flg = beanAccess.sendMessageString(KKW06301SFConst.SCRN_CTRL_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		if("".equals(flg))
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06301);
		}
		else
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06309);
		}
		
		return true;
	}
	
	
	/**
	 * 訪問対応依頼登録確認画面に画面遷移します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardAddCfm() throws Exception{
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// ■サービス呼出前準備
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		
		// 画面データ(プルダウン選択値)をサービスフォームBeanに格納
		this.setSelCombValue(beanAccess);
		
		// 次画面表示用に画面入力データを加工
		this.editValueForNextScreen(beanAccess);
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0377");
		
		// DataBean - BP（訪問対応依頼登録_登録確認確定サービス) マッピングクラス
		KKSV0377_KKSV0377OPDBMapper mapper = new KKSV0377_KKSV0377OPDBMapper();
		
		mapper.setKKSV037701SC(paramBean, inputMap, "2");
		mapper.setKKSV037702SC(paramBean, inputMap, "2");
		mapper.setKKSV037703SC(paramBean, inputMap, "1");
		mapper.setKKSV037704SC(paramBean, inputMap, "2");
		mapper.setKKSV037705SC(paramBean, inputMap, "2");
		mapper.setKKSV037706SC(paramBean, inputMap, "1");
		mapper.setKKSV037707CheckData(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2);
		
		
		// ■ サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// サーバーチェックのエラーを設定します。
		// 現状サーバチェックCCからは警告メッセージのみしかない
		isServerCheckMessage(outputMap, JKKCommonConst.FUNC_CODE_2);
		
		// メッセージエリアにインフォメーションを表示する。
		// EKB0380--I：＜＜　以下の内容でＸＸＸＸＸを行います。よろしいですか？　＞＞ 
		JCCWebCommon.setMessageInfo(this, "EKB0370--I", new String[]{"訪問対応依頼の登録"});
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06302);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06302);
		
		return true;
	}
	
	/**
	 * 訪問対応依頼更新確認画面に画面遷移します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardUpdCfm() throws Exception{
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// 初期処理フラグ
		beanAccess.sendMessageString(KKW06301SFConst.INIT_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// ■サービス呼出前準備
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// サービスユースケースID格納用マップを生成・サービスユースケースID格納
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0748");
		
		// 画面データ(プルダウン選択値)をサービスフォームBeanに格納
		this.setSelCombValue(beanAccess);
		
		// 次画面表示用に画面入力データを加工
		this.editValueForNextScreen(beanAccess);
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// DataBean - BP（訪問対応依頼登録_登録確認確定サービス) マッピングクラス
		KKSV0748_KKSV0748OPDBMapper mapper = new KKSV0748_KKSV0748OPDBMapper();
		
		mapper.setKKSV074801CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_2);
		
		
		// ■ サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// サーバーチェックのエラーを設定します。
		// 現状サーバチェックCCからは警告メッセージのみしかない
		isServerCheckMessage(outputMap, "KKSV074801CC");
		
		// メッセージエリアにインフォメーションを表示する。
		JCCWebCommon.setMessageInfo(this, "EKB0370--I", new String[]{"訪問対応依頼の更新"});
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06310);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06310);
		
		return true;
	}
	
	/**
	 * 訪問対応依頼情報を登録し完了画面に遷移します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardFix() throws Exception{
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// ■サービス呼出前準備
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// ユースケースID格納用マップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0377");
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// DataBean - BP（訪問対応依頼登録_登録確認確定サービス) マッピングクラス
		KKSV0377_KKSV0377OPDBMapper mapper = new KKSV0377_KKSV0377OPDBMapper();
		
		mapper.setKKSV037701SC(paramBean, inputMap, "1");
		mapper.setKKSV037702SC(paramBean, inputMap, "1");
		mapper.setKKSV037703SC(paramBean, inputMap, "1");
		mapper.setKKSV037704SC(paramBean, inputMap, "1");
		mapper.setKKSV037705SC(paramBean, inputMap, "1");
		mapper.setKKSV037706SC(paramBean, inputMap, "1");
		mapper.setKKSV037707CheckData(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);

		// ■サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// TODO:「依頼状態」に「受付済」を固定表示する
		beanAccess.sendMessageString(KKW06301SFConst.REQ_STAT, X31CWebConst.DATABEAN_SET_VALUE, "受付済");
		
		// メッセージエリアにインフォメーションを表示する。
		// EKB4390--I：＜＜ＸＸＸＸＸが完了しました。＞＞
		JCCWebCommon.setMessageInfo(this, "EKB4390--I", new String[]{"訪問対応依頼登録"});
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06303);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06303);
		
		return true;
	}
	
	/**
	 * 訪問対応依頼情報を更新し完了画面に遷移します。
	 * <br>
	 * @return boolean 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardUpdFix() throws Exception{
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// ■サービス呼出前準備
		
		// マッピングクラスに渡すために配列にする
		X31SDataBeanAccess[] paramBean = {beanAccess};
		
		// ユースケースID格納用マップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0748");
		
		// 上り項目格納マップ生成
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り項目格納マップ生成
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		
		
		// DataBean - BP（訪問対応依頼登録_登録確認確定サービス) マッピングクラス
		KKSV0748_KKSV0748OPDBMapper mapper = new KKSV0748_KKSV0748OPDBMapper();
		
		mapper.setKKSV074801CC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		

		// ■サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		
		// メッセージエリアにインフォメーションを表示する。
		JCCWebCommon.setMessageInfo(this, "EKB4390--I", new String[]{"訪問対応依頼更新"});
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06311);
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06311);
		
		return true;
	}
	
	/**
	 * 訪問対応依頼登録画面に遷移します。
	 * <br>
	 * @return 処理結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardShusei() throws Exception{
		
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess beanAccess = super.getServiceFormBean();
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW06301);
		
		String flg = beanAccess.sendMessageString(KKW06301SFConst.SCRN_CTRL_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		if("".equals(flg))
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06301);
		}
		else
		{
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW06309);
		}
		return true;
	}
	
	/* ++++++++++ v3.01.00 追加開始 ++++++++++ */
	/**
	 * 前画面に遷移します。
	 * <br>
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean back() throws Exception
	{
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		
		return true;
	}
	/* ++++++++++ v3.01.00 追加終了 ++++++++++ */
	
	/**
	 * 遷移元画面に遷移します。
	 * <br>
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean forwardIdoKbn() throws Exception
	{
		// 共有フォームBeanのアクセスクラス取得
		X31SDataBeanAccess commonAccess = super.getCommonInfoBean();
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		/* ++++++++++ v3.01.00 修正開始 ++++++++++ */
//		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		commonAccess.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW00145);
		
		return true;
		/* ++++++++++ v3.01.00 修正終了 ++++++++++ */
	}
	
	/**
	 * コンファームで「いいえ」を選択した場合の検索データクリア（初期化）処理を行います。
	 * <br>
	 * @param	serviceBean	サービスフォームBean
	 * @param	itemNm		項目名
	 */
	private void clearValueBeanItem(X31SDataBeanAccess serviceBean, String itemNm)
	{
		serviceBean.sendMessageString(itemNm, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
	}
	
	
	/**
	 * プルダウン選択インデックスクリア
	 * <br>
	 * @param	serviceBean	サービスフォームBean
	 * @param	pullDownNm	取得対象プルダウン名
	 */
	private void clearSelectIdx(X31SDataBeanAccess serviceBean, String pullDownNm)
	{
		X31SDataBeanAccess subbean = serviceBean.getDataBeanArray(pullDownNm).getDataBean(0);
		subbean.sendMessage(CKW00201SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CKW00201SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_CLEAR);
		subbean.sendMessage(CKW00201SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_CLEAR);
	}
	
	/**
	 * 顧客契約引継データの格納
	 * <br>
	 * @param beanAccess サービスフォームBeanのアクセスクラス
	 * @throws Exception 予期せぬエラー
	 */
	private void setDataKeiSuccession(X31SDataBeanAccess beanAccess) throws Exception
	{
		
		// 顧客契約引継情報取得
		X31SDataBeanAccessArray custKeiHktgiList =  beanAccess.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		
		// サービス契約番号取得
		String svc_Kei_No = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービス契約番号格納
		beanAccess.sendMessageString(KKW06301SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svc_Kei_No);
		
		// ********** ANK-1223-00-00 進捗対応 str *********
		// 異動区分
		String idoDiv = custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		beanAccess.sendMessageString(KKW06301SFConst.IDO_DIV, X31CWebConst.DATABEAN_SET_VALUE, idoDiv);
		// 異動理由コード
		if (((Integer) custKeiHktgiInf.sendMessage(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_COUNT))> 0)
		{
			// 異動理由コード（0番目項目のみ取得）
			beanAccess.sendMessageString(KKW06301SFConst.IDO_RSN_CD,
													X31CWebConst.DATABEAN_SET_VALUE,
													custKeiHktgiInf.sendMessageString(JKKCommonConst.HKTGI_IDO_RSN_CD, X31CWebConst.DATABEAN_GET_VALUE, 0));
		}
		else
		{
			beanAccess.sendMessageString(KKW06301SFConst.IDO_RSN_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		// ********** ANK-1223-00-00 進捗対応 end *********
	}
	
	
	/**
	 * 共有フォームBean保持データの格納
	 * <br>
	 * @param commonAccess 共有フォームBeanののアクセスクラス
	 * @param beanAccess   サービスフォームBeanのアクセスクラス
	 * @throws Exception 予期せぬエラー
	 */
	private void setDataCommonInfoBean(X31SDataBeanAccess commonAccess, X31SDataBeanAccess beanAccess) throws Exception
	{
		
		// ログインユーザＩＤ格納(共有フォームBeanより取得)
		String useID = commonAccess.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		beanAccess.sendMessageString(KKW06301SFConst.USER_ID, X31CWebConst.DATABEAN_SET_VALUE, useID);
		
		// ログインユーザ名格納(共有フォームBeanより取得)
		String useNM = commonAccess.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE);
		beanAccess.sendMessageString(KKW06301SFConst.USER_NM, X31CWebConst.DATABEAN_SET_VALUE, useNM);
		
		// 権限リスト取得(共有フォームBeanより取得)
		X31SDataBeanAccessArray kggrpCdList = commonAccess.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST);
		X31SDataBeanAccess kggrpCdInfo = kggrpCdList.getDataBean(0);
		
		// 組織コード格納
		String orgCd = kggrpCdInfo.sendMessageString(CommonInfoCFConst.ORG_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		beanAccess.sendMessageString(KKW06301SFConst.ORG_CD, X31CWebConst.DATABEAN_SET_VALUE, orgCd);
		
		// 組織名格納
		String orgNm = kggrpCdInfo.sendMessageString(CommonInfoCFConst.ORG_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
		beanAccess.sendMessageString(KKW06301SFConst.ORG_NM, X31CWebConst.DATABEAN_SET_VALUE, orgNm);
		
	}
	
	
	/**
	 * 画面データ(コンボボックス選択値)をサービスフォームBeanに格納
	 * <br>
	 * @param serviceBean サービスフォームBean
	 * @return 処理結果 
	 * @throws Exception 予期せぬエラー
	 */
	private void setSelCombValue(X31SDataBeanAccess serviceBean) throws Exception
	{
		
		// 訪問対応依頼コード
		X31SDataBeanAccessArray beanAccessArrayIrai = serviceBean.getDataBeanArray(KKW06301SFConst.VSIT_TAIO_REQ_CD_TYPE);
		X31SDataBeanAccess beanAccessIrai = beanAccessArrayIrai.getDataBean(0);
		String idxIrai = beanAccessIrai.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		String cdIrai = "";
		String nmIrai = "";
		
		if(isNotBlank(idxIrai))
		{
			cdIrai = beanAccessIrai.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxIrai));
			nmIrai = beanAccessIrai.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxIrai));
		}
		
		beanAccessIrai.sendMessageString(KKW06301SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, cdIrai);
		beanAccessIrai.sendMessageString(KKW06301SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, nmIrai);
		
		
		// 訪問サポート会社コード
		X31SDataBeanAccessArray beanAccessArrayCom = serviceBean.getDataBeanArray(KKW06301SFConst.VSIT_SPRT_COMP_CD_TYPE);
		X31SDataBeanAccess beanAccessCom = beanAccessArrayCom.getDataBean(0);
		String idxCom = beanAccessCom.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		String cdCom = "";
		String nmCom = "";
		
		if(isNotBlank(idxCom))
		{
			cdCom = beanAccessCom.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxCom));
			nmCom = beanAccessCom.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxCom));
		}
		
		
		beanAccessCom.sendMessageString(KKW06301SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, cdCom);
		beanAccessCom.sendMessageString(KKW06301SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, nmCom);
		
		// 第１希望時間
		X31SDataBeanAccessArray beanAccessArrayKiboTime1 = serviceBean.getDataBeanArray(KKW06301SFConst.KIBO_TIME_1_TYPE);
		X31SDataBeanAccess beanAccessKiboTime1 = beanAccessArrayKiboTime1.getDataBean(0);
		String idxKiboTime1 = beanAccessKiboTime1.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		String cdKiboTime1 = "";
		String nmKiboTime1 = "";
		
		if(isNotBlank(idxKiboTime1))
		{
			cdKiboTime1 = beanAccessKiboTime1.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime1));
			nmKiboTime1 = beanAccessKiboTime1.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime1));
		}
		
		beanAccessKiboTime1.sendMessageString(KKW06301SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, cdKiboTime1);
		beanAccessKiboTime1.sendMessageString(KKW06301SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, nmKiboTime1);
		
		
		// 第２希望時間
		X31SDataBeanAccessArray beanAccessArrayKiboTime2 = serviceBean.getDataBeanArray(KKW06301SFConst.KIBO_TIME_2_TYPE);
		X31SDataBeanAccess beanAccessKiboTime2 = beanAccessArrayKiboTime2.getDataBean(0);
		String idxKiboTime2 = beanAccessKiboTime2.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		String cdKiboTime2 = "";
		String nmKiboTime2 = "";
		
		if(isNotBlank(idxKiboTime2))
		{
			cdKiboTime2 = beanAccessKiboTime2.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime2));
			nmKiboTime2 = beanAccessKiboTime2.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime2));
		}
		
		beanAccessKiboTime2.sendMessageString(KKW06301SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, cdKiboTime2);
		beanAccessKiboTime2.sendMessageString(KKW06301SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, nmKiboTime2);
		
		
		// 第３希望時間
		X31SDataBeanAccessArray beanAccessArrayKiboTime3 = serviceBean.getDataBeanArray(KKW06301SFConst.KIBO_TIME_3_TYPE);
		X31SDataBeanAccess beanAccessKiboTime3 = beanAccessArrayKiboTime3.getDataBean(0);
		String idxKiboTime3 = beanAccessKiboTime3.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		String cdKiboTime3 = "";
		String nmKiboTime3 = "";
		
		if(isNotBlank(idxKiboTime3))
		{
			cdKiboTime3 = beanAccessKiboTime3.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime3));
			nmKiboTime3 = beanAccessKiboTime3.sendMessageString(KKW06301SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(idxKiboTime3));
		}
		
		beanAccessKiboTime3.sendMessageString(KKW06301SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, cdKiboTime3);
		beanAccessKiboTime3.sendMessageString(KKW06301SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, nmKiboTime3);
		
	}
	
	
	/**
	 * 画面データを加工
	 * <br>
	 * @param serviceBean サービスフォームBean
	 * @throws Exception 予期せぬエラー
	 */
	private void editValueForNextScreen(X31SDataBeanAccess beanAccess) throws Exception
	{
		
		// 次画面表示値・登録値編集
		
		// 第１希望年月日
		String kibo_ymd_1_Y = beanAccess.sendMessageString(KKW06301SFConst.KIBO_YEAR_1, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_1_M = beanAccess.sendMessageString(KKW06301SFConst.KIBO_MON_1, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_1_D = beanAccess.sendMessageString(KKW06301SFConst.KIBO_DAY_1, X31CWebConst.DATABEAN_GET_VALUE);
		if(isNotBlank(kibo_ymd_1_Y) && isNotBlank(kibo_ymd_1_M) && isNotBlank(kibo_ymd_1_D))
		{
			StringBuilder builder = new StringBuilder(kibo_ymd_1_Y);
			builder.append(kibo_ymd_1_M);
			builder.append(kibo_ymd_1_D);
			
			// 表示用
			beanAccess.sendMessageString(KKW06301SFConst.DISP_KIBO_YMD_1, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.formatDate(builder.toString()));
			
			// 登録用
			beanAccess.sendMessageString(KKW06301SFConst.DB_KIBO_YMD_1, X31CWebConst.DATABEAN_SET_VALUE, builder.toString());
		}
		
		// 第２希望年月日
		String kibo_ymd_2_Y = beanAccess.sendMessageString(KKW06301SFConst.KIBO_YEAR_2, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_2_M = beanAccess.sendMessageString(KKW06301SFConst.KIBO_MON_2, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_2_D = beanAccess.sendMessageString(KKW06301SFConst.KIBO_DAY_2, X31CWebConst.DATABEAN_GET_VALUE);
		if(isNotBlank(kibo_ymd_2_Y) && isNotBlank(kibo_ymd_2_M) && isNotBlank(kibo_ymd_2_D))
		{
			StringBuilder builder = new StringBuilder(kibo_ymd_2_Y);
			builder.append(kibo_ymd_2_M);
			builder.append(kibo_ymd_2_D);
			
			// 表示用
			beanAccess.sendMessageString(KKW06301SFConst.DISP_KIBO_YMD_2, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.formatDate(builder.toString()));
			// 登録用
			beanAccess.sendMessageString(KKW06301SFConst.DB_KIBO_YMD_2, X31CWebConst.DATABEAN_SET_VALUE, builder.toString());
		}
		else
		{
			// 未入力時、表示用・登録用項目をクリアする。
			// 表示用
			beanAccess.sendMessage(KKW06301SFConst.DISP_KIBO_YMD_2, X31CWebConst.DATABEAN_CLEAR );
			// 登録用
			beanAccess.sendMessage(KKW06301SFConst.DB_KIBO_YMD_2, X31CWebConst.DATABEAN_CLEAR);
		}
		
		// 第３希望年月日
		String kibo_ymd_3_Y = beanAccess.sendMessageString(KKW06301SFConst.KIBO_YEAR_3, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_3_M = beanAccess.sendMessageString(KKW06301SFConst.KIBO_MON_3, X31CWebConst.DATABEAN_GET_VALUE);
		String kibo_ymd_3_D = beanAccess.sendMessageString(KKW06301SFConst.KIBO_DAY_3, X31CWebConst.DATABEAN_GET_VALUE);
		if(isNotBlank(kibo_ymd_3_Y) && isNotBlank(kibo_ymd_3_M) && isNotBlank(kibo_ymd_3_D))
		{
			StringBuilder builder = new StringBuilder(kibo_ymd_3_Y);
			builder.append(kibo_ymd_3_M);
			builder.append(kibo_ymd_3_D);
			
			// 表示用
			beanAccess.sendMessageString(KKW06301SFConst.DISP_KIBO_YMD_3, X31CWebConst.DATABEAN_SET_VALUE, JPCUtilCommon.formatDate(builder.toString()));
			// 登録用
			beanAccess.sendMessageString(KKW06301SFConst.DB_KIBO_YMD_3, X31CWebConst.DATABEAN_SET_VALUE, builder.toString());
		}
		else
		{
			// 未入力時、表示用・登録用項目をクリアする。
			// 表示用
			beanAccess.sendMessage(KKW06301SFConst.DISP_KIBO_YMD_3, X31CWebConst.DATABEAN_CLEAR);
			// 登録用
			beanAccess.sendMessage(KKW06301SFConst.DB_KIBO_YMD_3, X31CWebConst.DATABEAN_CLEAR);
		}
		
	}
	
	
	/**
	 * 取得した依頼先訪問サポート会社コードを訪問サポート会社コードプルダウンの選択値に設定
	 * <br>
	 * @param serviceBean
	 * @param iraiVsitSprtCompCd
	 */
	private void setSelValVsitSprtCompCd(X31SDataBeanAccess serviceBean, String iraiVsitSprtCompCd)
	{
		
		if(!isNotBlank(iraiVsitSprtCompCd)) return;
		
		// 訪問サポート会社コードプルダウン
		X31SDataBeanAccessArray array = serviceBean.getDataBeanArray(KKW06301SFConst.VSIT_SPRT_COMP_CD_TYPE);
		X31SDataBeanAccess beanAccess = array.getDataBean(0);
		
		// 訪問サポート会社コードリスト件数取得
		int cdCnt = ((Integer)(beanAccess.sendMessage(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT))).intValue();
		
		for(int i = 0; i < cdCnt - 1; i++){
			String compCd = beanAccess.sendMessageString(KKW06301SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i);
			if(iraiVsitSprtCompCd.equals(compCd)){
				beanAccess.sendMessageString(KKW06301SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
				break;
			}
		}
		
	}
	
	
	/**
	 * 引数に値が設定されているか判定します。
	 * <br>
	 * @param arg0 判定する引数
	 * @return 引数に値が設定されていない場合はtrue
	 */
	private boolean isNotBlank(String arg0)
	{
		
		if (arg0 == null || arg0.equals("")) 
		{
			return false;
		}
		
		return true;
	}
	
	/**	
	 * <dd>メソッド名：サーバーチェックエラー判定メソッド
	 * <dd>メソッド説明：
	 * <dd>備考：
	 * @param outputMap
	 * @param funcCd
	 * @return boolean
	 */
	private boolean isServerCheckMessage(HashMap<String, Object> outputMap, String funcCd)
	{
		// サーバーエラー判定
		HashMap errMap = (HashMap) outputMap.get("CHECK_MAP");
		
		ArrayList messageList = (ArrayList) errMap.get("message_list");
		
		String errFlg = (String) errMap.get("err_flg");
		String replaceChar = "";
		String errItem = "";
		
		if(messageList.size() > 0)
		{
			for (int i = 0; i < messageList.size(); i++)
			{
				HashMap messageMap = (HashMap)messageList.get(i);
				String message = (String)messageMap.get("messageId");
				replaceChar = (String)messageMap.get("replaceCha");
				errItem = (String)messageMap.get("errItem");

				if(!"".equals(replaceChar) && !"".equals(errItem))
				{
					JCCWebCommon.setMessageInfo(this, message, replaceChar.split(","), errItem);
				}
				else if(!"".equals(replaceChar))
				{
					JCCWebCommon.setMessageInfo(this, message, replaceChar.split(","));
				}
				else if(!"".equals(errItem))
				{
					JCCWebCommon.setMessageInfo(this, message, errItem);
				}
				else
				{
					JCCWebCommon.setMessageInfo(this, message);
				}
			}
		}
		
		// エラーの場合画面遷移しません。
		if("E".equals(errFlg))
		{
			return false;
		}
		
		return true;
	}
	
	/**
	 * <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;
	}
}
