/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：顧客契約
 *	モジュール名	：KKW03201SFLogic
 *	ソースファイル名：KKW03201SFLogic.java
 *	作成者			：富士通
 *	日付			：2011年06月16日
 *＜機能概要＞
 *	０５０番号発番登録機能のビューロジッククラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/06/16	富士通		新規作成
 *	v4.00.00	2012/08/23	富士通		案件番号「KAD-2012-0000092」
 *	v20.00.00	2015/12/04	FJ)谷口		【OM-2015-0000564】番号変更後に引き継いだ転送電話OPを解約したらSIP解約・消去オーダが送信された
 **********************************************************************/
package eo.web.webview.KKW03201SF;

import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JPCModelConstant;
import eo.common.util.JPCDateChecker;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKPulldownUtil;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0099_KKSV0099OPDBMapper;
import eo.web.webview.mapping.KKSV0100_KKSV0100OPDBMapper;
import eo.web.webview.mapping.KKSV0101_KKSV0101OPDBMapper;
import eo.common.constant.JPCOnlineMessageConstant;

/**
 * <dd>クラス名：０５０番号発番登録ビューロジック <dd>クラス説明：画面上のボタン押下時の各処理を記述します。 <dd>備考：
 * 
 * @version 1.0 2011/06/16
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW03201SFLogic extends JCCWebBusinessLogic {

	/**
	 * 登録画面初期表示処理
	 * 
	 * @return
	 * @throws Exception
	 */
	public boolean actionInit() throws Exception {

		// 戻り値
		Boolean bRtn = true;
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 遷移先画面IDを取得
		String screenId = commonInfoBean.sendMessageString(
				CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_GET_VALUE);

		// 遷移先画面IDから、行う表示処理を決定する
		if (JKKScreenConst.SCREEN_ID_KKW03201.equals(screenId)) {
			bRtn = actionInitKKW03201();
		} else if (JKKScreenConst.SCREEN_ID_KKW03202.equals(screenId)) {

		} else if (JKKScreenConst.SCREEN_ID_KKW03203.equals(screenId)) {

		} else if (JKKScreenConst.SCREEN_ID_KKW02301.equals(screenId)) {

		}

		return bRtn;
	}

	/**
	 * 登録画面初期表示処理(画面ごと個別処理）
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	private boolean actionInitKKW03201() throws Exception
	{
		// HashMap定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		//TAI-2012-0000081 2012/09/29 ADD START
		// オプションサービスコードを編集する
		svcFormBean.sendMessageString(KKW03201SFConst.OP_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE,
				KKW03201SFConst.OP_SVC_CD_050);
		//TAI-2012-0000081 2012/09/29 ADD END
		X31SDataBeanAccess[] paramBean = { svcFormBean };

		// セッション情報取得
		getSessionData(svcFormBean);
		
		//運用日の設定
		svcFormBean.sendMessageString(
				KKW03201SFConst.RSV_APLY_YMD, 
				X31CWebConst.DATABEAN_SET_VALUE,
				JCCWebCommon.getOpeDate(this, null));

		// サービスの呼び出し
		paramMap = new HashMap<String, Object>(); // パラメタマップ生成
		inputMap = new HashMap<String, Object>(); // インプットマップ生成
		outputMap = new HashMap<String, Object>(); // アウトプットマップ生成

		// サービスパラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,
				JKKCommonConst.UCID_KKSV0099);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID,
				JKKCommonConst.OPID_KKSV0099OP);

		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0099_KKSV0099OPDBMapper mapper = new KKSV0099_KKSV0099OPDBMapper();
		mapper.setKKSV009901SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV009902SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV009903SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV009904SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setKKSV009905SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		//TAI-2012-0000081 2012/09/27 ADD START
		mapper.setKKSV009906SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);	//オプションサービス一意照会
		//TAI-2012-0000081 2012/09/27 ADD END

		// 050番号発番登録 初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 取得情報の下りマッピング
		JKKPulldownUtil.setPulldownList(svcFormBean, outputMap,
				KKW03201SFConst.HRADSI_SBT_LIST, "KKSV009901SC", true);
		mapper.getKKSV009901SC(paramBean, outputMap);
		mapper.getKKSV009902SC(paramBean, outputMap);
		mapper.getKKSV009903SC(paramBean, outputMap);
		mapper.getKKSV009904SC(paramBean, outputMap);
		mapper.getKKSV009905SC(paramBean, outputMap);
		//TAI-2012-0000081 2012/09/27 ADD START
		mapper.getKKSV009906SC(paramBean, outputMap);	//オプションサービス一意照会
		//TAI-2012-0000081 2012/09/27 ADD END

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);

		// 画面表示用DataBean設定
		String unyo_ymd = JCCWebCommon.getOpeDate(this, null);
		svcFormBean.sendMessageString(KKW03201SFConst.USE_STAYMD_YEAR,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(0, 4));
		svcFormBean.sendMessageString(KKW03201SFConst.USE_STAYMD_MON,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(4, 6));
		svcFormBean.sendMessageString(KKW03201SFConst.USE_STAYMD_DAY,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(6, 8));
		svcFormBean.sendMessageString(KKW03201SFConst.UNYO_YMD,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(0, 8));
		svcFormBean.sendMessageString(KKW03201SFConst.UNYO_YMD_YEAR,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(0, 4));
		svcFormBean.sendMessageString(KKW03201SFConst.UNYO_YMD_MON,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(4, 6));
		svcFormBean.sendMessageString(KKW03201SFConst.UNYO_YMD_DAY,
				X31CWebConst.DATABEAN_SET_VALUE, unyo_ymd.substring(6, 8));

		X31SDataBeanAccessArray rsv_uppl_prd_list = svcFormBean.getDataBeanArray(KKW03201SFConst.RSV_UPPL_PRD_LIST);
		X31SDataBeanAccess subbean = rsv_uppl_prd_list.getDataBean(0);

		//予約上限日数
		String rsv_uppl_prd = subbean.sendMessageString(KKW03201SFConst.WORK_PARAM_SETTE_VALUE_03, X31CWebConst.DATABEAN_GET_VALUE);
		svcFormBean.sendMessageString(KKW03201SFConst.RSV_UPPL_PRD, X31CWebConst.DATABEAN_SET_VALUE, rsv_uppl_prd);

		////	IT1-No90 故障連番32対応にて、固定値を設定
//		svcFormBean.sendMessageString(
//				KKW03201SFConst.RSV_UPPL_PRD,
//				X31CWebConst.DATABEAN_SET_VALUE, 
//				"60"
//				);

		//サービス契約世代登録年月日時分秒を移し変え
		X31SDataBeanAccessArray svcList = null;
		X31SDataBeanAccess svcElement = null;
		svcList = svcFormBean.getDataBeanArray(KKW03201SFConst.SVC_KEI_LIST);
		svcElement = svcList.getDataBean(0);
		svcFormBean.sendMessageString(
				KKW03201SFConst.SVC_KEI_GENE_ADD_DTM,
				X31CWebConst.DATABEAN_SET_VALUE,
				svcElement.sendMessageString(
						KKW03201SFConst.GENE_ADD_DTM_08, 
						X31CWebConst.DATABEAN_GET_VALUE));

		//サービス契約内訳世代登録年月日時分秒を移し変え
		X31SDataBeanAccessArray svcUcwkList = null;
		X31SDataBeanAccess svcUcwkElement = null;
		svcUcwkList = svcFormBean.getDataBeanArray(KKW03201SFConst.SVC_KEI_UCHK_LIST);
		svcUcwkElement = svcUcwkList.getDataBean(0);
		svcFormBean.sendMessageString(
				KKW03201SFConst.SVC_KEI_UCHK_GENE_ADD_DTM,
				X31CWebConst.DATABEAN_SET_VALUE,
				svcUcwkElement.sendMessageString(
						KKW03201SFConst.GENE_ADD_DTM_09, 
						X31CWebConst.DATABEAN_GET_VALUE));

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);

		getCommonInfoBean().sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW03201);

		return true;
	}

	/**
	 * 電話番号発番ボタン押下
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTelnoHtb() throws Exception {
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { svcFormBean };

		//払出種別プルダウンの選択に応じて、検索条件をセット
		setTelnoRscSbtList(paramBean, svcFormBean);
		

		// 050番号一覧検索
		searchList(paramBean,true);

		return true;
	}

	/**
	 * ページングリンク押下
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionPaging() throws Exception {
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		//払出種別プルダウンの選択に応じて、検索条件をセット
		setTelnoRscSbtList(paramBean, bean);
		
		// 050番号一覧検索
		searchList(paramBean,false);

		return true;
	}
	
	/**
	 * 払出種別プルダウンの選択情報に応じて、検索条件をセット
	 * 
	 * @return なし
	 * 
	 */
	private void setTelnoRscSbtList(X31SDataBeanAccess[] paramBean, X31SDataBeanAccess svcFormBean)
	{
		// 払戻種別プルダウンの選択を取得
		X31SDataBeanAccessArray telno_rsc_sbt_list = paramBean[0]
				.getDataBeanArray(KKW03201SFConst.HRADSI_SBT_LIST);
		X31SDataBeanAccess telno_subbean = telno_rsc_sbt_list.getDataBean(0);

		// 添え字の取得
		String index = telno_subbean.sendMessageString(
				KKW03201SFConst.INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);

		// 添え字から払戻種別を取得
//		String telno_srv_sbt = telno_subbean.sendMessageString(
//				KKW03201SFConst.CD_DIV_LIST_01,
//				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
		
//		svcFormBean.sendMessageString(
//				KKW03201SFConst.TELNO_RSV_SBT_CD, 
//				X31CWebConst.DATABEAN_SET_VALUE, 
//				telno_srv_sbt);
		
		//払戻種別により条件を設定
		X31SDataBeanAccessArray custList = svcFormBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = custList.getDataBean(0);
//		if (JKKCommonConst.HRADSI_SBT_CD_01.equals(telno_srv_sbt)) {
		if (index.equals("1")){
			//通常払出
			//電話番号予約ステータス - なし
			paramBean[0].sendMessageString(KKW03201SFConst.TELNO_RSV_STAT,
					X31CWebConst.DATABEAN_SET_VALUE, 
					JKKCommonConst.TELNO_RSV_STAT_VALUE_999);
			
			//SYSIDは指定しない
			paramBean[0].sendMessageString(KKW03201SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE,"");
			
			// 20130218 ST2-2013-0000698 ADD START
			//サービス契約番号は指定しない
			paramBean[0].sendMessageString(KKW03201SFConst.SVC_KEI_NO,
					X31CWebConst.DATABEAN_SET_VALUE,"");
			// 20130218 ST2-2013-0000698 ADD END
			
			//予約種別コード
			svcFormBean.sendMessageString(
					KKW03201SFConst.TELNO_RSV_SBT_CD, 
					X31CWebConst.DATABEAN_SET_VALUE, 
					"");
			
//		}else if (JKKCommonConst.HRADSI_SBT_CD_02.equals(telno_srv_sbt)) {
		}else if (index.equals("2")){

			//通常予約払出
			//電話番号予約ステータス - 予約
			paramBean[0].sendMessageString(KKW03201SFConst.TELNO_RSV_STAT,
					X31CWebConst.DATABEAN_SET_VALUE, 
					JKKCommonConst.TELNO_RSV_STAT_VALUE_100);
			
			//SYSIDは指定しない
			paramBean[0].sendMessageString(KKW03201SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE,"");
			
			// 20130218 ST2-2013-0000698 ADD START
			//サービス契約番号は指定しない
			paramBean[0].sendMessageString(KKW03201SFConst.SVC_KEI_NO,
					X31CWebConst.DATABEAN_SET_VALUE,"");
			// 20130218 ST2-2013-0000698 ADD END
			
			//予約種別コード
			svcFormBean.sendMessageString(
					KKW03201SFConst.TELNO_RSV_SBT_CD, 
					X31CWebConst.DATABEAN_SET_VALUE, 
					"01");
			
//		}else if (JKKCommonConst.HRADSI_SBT_CD_03.equals(telno_srv_sbt)) {
		}else if (index.equals("3")){

			//指定予約払出
			//電話番号予約ステータス - 予約
			paramBean[0].sendMessageString(KKW03201SFConst.TELNO_RSV_STAT,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKCommonConst.TELNO_RSV_STAT_VALUE_100);
			
			// SYSID
			paramBean[0].sendMessageString(KKW03201SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
							KKW03201SFConst.SYSID_04,
							X31CWebConst.DATABEAN_GET_VALUE));
			
			// 20130218 ST2-2013-0000698 ADD START
			//サービス契約番号
			paramBean[0].sendMessageString(KKW03201SFConst.SVC_KEI_NO,
					X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
							KKW03201SFConst.SVC_KEI_NO_04,
							X31CWebConst.DATABEAN_GET_VALUE));
			// 20130218 ST2-2013-0000698 ADD END
			
			//予約種別コード
			svcFormBean.sendMessageString(
					KKW03201SFConst.TELNO_RSV_SBT_CD, 
					X31CWebConst.DATABEAN_SET_VALUE, 
					"02");

//		}else if (JKKCommonConst.HRADSI_SBT_CD_04.equals(telno_srv_sbt)) {
		}else if (index.equals("4")){

			//引継予約払出
			//電話番号予約ステータス - 予約
			paramBean[0].sendMessageString(KKW03201SFConst.TELNO_RSV_STAT,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKCommonConst.TELNO_RSV_STAT_VALUE_100);
			
			// SYSID
			paramBean[0].sendMessageString(KKW03201SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
							KKW03201SFConst.SYSID_04,
							X31CWebConst.DATABEAN_GET_VALUE));
			
			// 20130218 ST2-2013-0000698 ADD START
			//サービス契約番号
			paramBean[0].sendMessageString(KKW03201SFConst.SVC_KEI_NO,
					X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
							KKW03201SFConst.SVC_KEI_NO_04,
							X31CWebConst.DATABEAN_GET_VALUE));
			// 20130218 ST2-2013-0000698 ADD END
			
			//予約種別コード
			svcFormBean.sendMessageString(
					KKW03201SFConst.TELNO_RSV_SBT_CD, 
					X31CWebConst.DATABEAN_SET_VALUE, 
					"03");

		}
	}

	/**
	 * 一覧検索サービス呼出処理
	 * 
	 * @param paramBean
	 *            DataBeanアクセスクラス
	 * @param pageReset ページ番号のリセット
	 */
	private void searchList(X31SDataBeanAccess[] paramBean,boolean pageReset) {
		// HashMap定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスの呼び出し
		paramMap = new HashMap<String, Object>(); // パラメタマップ生成
		inputMap = new HashMap<String, Object>(); // インプットマップ生成
		outputMap = new HashMap<String, Object>(); // アウトプットマップ生成

		// サービスパラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,
				JKKCommonConst.UCID_KKSV0100);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID,
				JKKCommonConst.OPID_KKSV0100OP);

		// 利用開始日の設定
		paramBean[0].sendMessageString(KKW03201SFConst.DSP_USE_STAYMD,
				X31CWebConst.DATABEAN_SET_VALUE, paramBean[0]
						.sendMessageString(KKW03201SFConst.USE_STAYMD_YEAR,
								X31CWebConst.DATABEAN_GET_VALUE)
						+ "/"
						+ paramBean[0].sendMessageString(
								KKW03201SFConst.USE_STAYMD_MON,
								X31CWebConst.DATABEAN_GET_VALUE)
						+ "/"
						+ paramBean[0].sendMessageString(
								KKW03201SFConst.USE_STAYMD_DAY,
								X31CWebConst.DATABEAN_GET_VALUE));

		// 検索タイプの設定
		paramBean[0]
				.sendMessageString(KKW03201SFConst.SEARCH_TYPE,
						X31CWebConst.DATABEAN_SET_VALUE,
						KKW03201SFConst.SEARCH_PATTERN);

		paramBean[0].sendMessageString(KKW03201SFConst.MAX_SEARCH_NUM,
				X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
						.getSearchConst("KKW03201_MAX_SHOW_CNT"));

		paramBean[0].sendMessageString(KKW03201SFConst.DISPLAY_NUM,
				X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
						.getSearchConst("KKW03201_ROW_PER_PAGE"));
		
		// 一覧クリア
		setClear();

		// 上りマッピング(サービス項目-DataBean項目マッピング)
		KKSV0100_KKSV0100OPDBMapper mapper = new KKSV0100_KKSV0100OPDBMapper();
		mapper.setKKSV010001SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		//ページ番号のリセット
		if(pageReset){
			JCCWebCommon.clearPageLinkInfo(this, "KKW03201");
		}
		
		// ページリンク情報の上りマッピング
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "KKSV010001SC", inputMap);
		
		// 電話番号情報提供サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 取得情報の下りマッピング
		mapper.getKKSV010001SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("KKSV010001SC",
				outputMap);
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg)) {
			JCCWebCommon.setMessageInfo(this, "EKB4330-KW"); // 検索結果が0件
		} else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg)) {
			String[] str = { JCCWebCommon
					.getSearchConst("KKW03201_MAX_SHOW_CNT") };
			JCCWebCommon.setMessageInfo(this, "EKB0340--I", str); // 検索結果が最大検索件数超え
		} else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg)) {
			JCCWebCommon.setMessageInfo(this, "EKB0350--I"); // 該当データなし
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "KKSV010001SC", outputMap);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "paging");

		// 画面表示設定
		X31SDataBeanAccessArray list_050_no_info = paramBean[0]
				.getDataBeanArray(KKW03201SFConst.LIST_050_NO_INFO);
		X31SDataBeanAccess subbean = null;
		int listCount = list_050_no_info.getCount();
		for (int i = 0; i < listCount; i++) {
			subbean = list_050_no_info.getDataBean(i);
			// No
			subbean.sendMessageString(KKW03201SFConst.NO_02,
					X31CWebConst.DATABEAN_SET_VALUE, Integer.toString(i + 1));

			// 行表示フラグ
			if (i % 2 == 0) {
				subbean.sendMessageString(KKW03201SFConst.GYO_DISP_FLG_02,
						X31CWebConst.DATABEAN_SET_VALUE, "1");
			} else {
				subbean.sendMessageString(KKW03201SFConst.GYO_DISP_FLG_02,
						X31CWebConst.DATABEAN_SET_VALUE, "2");
			}
			// 初期選択
			if (i == 0) {
				paramBean[0].sendMessageString(KKW03201SFConst.TELNO_SEL,
						X31CWebConst.DATABEAN_SET_VALUE, "0");
				//払出０５０番号
				paramBean[0].sendMessageString(KKW03201SFConst.HRADSI_050_NO,
						X31CWebConst.DATABEAN_SET_VALUE, subbean
								.sendMessageString(KKW03201SFConst.TELNO_02,
										X31CWebConst.DATABEAN_GET_VALUE));
				//予約削除用キー情報・電話番号予約番号
				String telno_rsv_no = subbean.sendMessageString(KKW03201SFConst.TELNO_RSV_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
				paramBean[0].sendMessageString(KKW03201SFConst.KK0181_TELNO_RSV_NO, X31CWebConst.DATABEAN_SET_VALUE, telno_rsv_no);
				//予約削除用キー情報・更新年月日時分秒
				String upd_dtm = subbean.sendMessageString(KKW03201SFConst.ZM0181_UPD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE);
				paramBean[0].sendMessageString(KKW03201SFConst.KK0181_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, upd_dtm);
			}
		}

		// 払出種別プルダウンの選択を取得
		X31SDataBeanAccessArray telno_rsv_sbt_list = paramBean[0]
				.getDataBeanArray(KKW03201SFConst.HRADSI_SBT_LIST);
		X31SDataBeanAccess subbean2 = telno_rsv_sbt_list.getDataBean(0);
		// 添え字の取得
		String index = subbean2.sendMessageString(KKW03201SFConst.INDEX_01,
				X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコード名称を取得
		String cd_div_nm = subbean2.sendMessageString(
				KKW03201SFConst.CD_DIV_NM_LIST_01,
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
		// コードと名称に分割
		// 20120510 ST2-2012-0000881 START
		//String[] cd_div_nm_array = cd_div_nm.split(". ");
		String[] cd_div_nm_array = cd_div_nm.split("\\.");
		// 20120510 ST2-2012-0000881 END
		// 名称をDataBeanに設定
		paramBean[0].sendMessageString(KKW03201SFConst.DSP_HRADSI_SBT,
				X31CWebConst.DATABEAN_SET_VALUE, cd_div_nm_array[1]);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW03201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW03201);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);
	}

	/**
	 * 一覧クリア処理
	 */
	private void setClear() {
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		X31SDataBeanAccessArray list_050_No_Info = svcFormBean
				.getDataBeanArray(KKW03201SFConst.LIST_050_NO_INFO);

		// 050番号情報一覧のクリア
		list_050_No_Info.clearArray();

		// 050番号のクリア
		svcFormBean.sendMessage(KKW03201SFConst.HRADSI_050_NO,
				X31CWebConst.DATABEAN_CLEAR);
	}

	/**
	 * 登録画面「登録確認」ボタン押下
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionCfm() throws Exception {
		
		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		//SYSID条件を元に戻す
		X31SDataBeanAccessArray custList = svcFormBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = custList.getDataBean(0);
		svcFormBean.sendMessageString(KKW03201SFConst.SYSID,
				X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
						KKW03201SFConst.SYSID_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		
		// 20130219 ST2-2013-0000698 ADD START
		//サービス契約番号条件を元に戻す
		svcFormBean.sendMessageString(KKW03201SFConst.SVC_KEI_NO,
				X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
						KKW03201SFConst.SVC_KEI_NO_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 20130219 ST2-2013-0000698 ADD END
		// 登録確認サービス実行
		boolean exeResult = createOpSvcKei(JPCModelConstant.FUNC_CD_2);
		if (exeResult) {

			// 表示用項目の設定
			// 利用開始日
			svcFormBean.sendMessageString(KKW03201SFConst.DSP_USE_STAYMD,
					X31CWebConst.DATABEAN_SET_VALUE, svcFormBean
							.sendMessageString(KKW03201SFConst.USE_STAYMD_YEAR,
									X31CWebConst.DATABEAN_GET_VALUE)
							+ "/"
							+ svcFormBean.sendMessageString(
									KKW03201SFConst.USE_STAYMD_MON,
									X31CWebConst.DATABEAN_GET_VALUE)
							+ "/"
							+ svcFormBean.sendMessageString(
									KKW03201SFConst.USE_STAYMD_DAY,
									X31CWebConst.DATABEAN_GET_VALUE));

			// 共有フォームBean設定
			X31SDataBeanAccess commonBean = super.getCommonInfoBean();
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_ID_KKW03202);
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_NAME_KKW03202);

			// メッセージ表示処理
			String[] str = { "０５０番号発番の登録" };
			JCCWebCommon.setMessageInfo(this, "EKB0370--I", str);
		}
		return true;
	}

	/**
	 * 登録確認画面「確定」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionFix() throws Exception {

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 登録確認サービス実行
		boolean exeResult = createOpSvcKei(JPCModelConstant.FUNC_CD_1);
		if (exeResult) {
			
			// 表示用項目の設定
			// 利用開始日
			svcFormBean.sendMessageString(KKW03201SFConst.DSP_USE_STAYMD,
					X31CWebConst.DATABEAN_SET_VALUE, svcFormBean
							.sendMessageString(KKW03201SFConst.USE_STAYMD_YEAR,
									X31CWebConst.DATABEAN_GET_VALUE)
							+ "/"
							+ svcFormBean.sendMessageString(
									KKW03201SFConst.USE_STAYMD_MON,
									X31CWebConst.DATABEAN_GET_VALUE)
							+ "/"
							+ svcFormBean.sendMessageString(
									KKW03201SFConst.USE_STAYMD_DAY,
									X31CWebConst.DATABEAN_GET_VALUE));
			
			
			// 共有フォームBean設定
			X31SDataBeanAccess commonBean = super.getCommonInfoBean();
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_ID_KKW03203);
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_NAME_KKW03203);

			// メッセージ表示処理
			String[] str = { "０５０番号発番の登録" };
			JCCWebCommon.setMessageInfo(this, "EKB4390--I", str);
		}
		return true;
	}

	/**
	 * ０５０番号発番登録確認処理
	 * 
	 * @param funcCode
	 *            機能コード
	 * @return 正常終了:true 異常終了:false
	 */
	private boolean createOpSvcKei(String funcCode) throws Exception
	{
		// HashMap定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { svcFormBean };

		// サービスの呼び出し
		paramMap = new HashMap<String, Object>(); // パラメタマップ生成
		inputMap = new HashMap<String, Object>(); // インプットマップ生成
		outputMap = new HashMap<String, Object>(); // アウトプットマップ生成

		// サービスフォームBean設定
		set050InfoBean(paramBean);
		
		// サービスパラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,
				JKKCommonConst.UCID_KKSV0101);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID,
				JKKCommonConst.OPID_KKSV0101OP);

		 // 上りマッピング(サービス項目-DataBean項目マッピング)
		 KKSV0101_KKSV0101OPDBMapper mapper = new KKSV0101_KKSV0101OPDBMapper();
		 mapper.setKKSV010101SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010102SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010103SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010104SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010105SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010106SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010107SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010108SC(paramBean, inputMap, funcCode);
		 mapper.setKKSV010109SC(paramBean, inputMap, funcCode);		//IT障害KK1-0113対応
		 mapper.setKKSV010110SC(paramBean, inputMap, funcCode);		//IT障害KK1-0113対応
		 mapper.setKKSV010111SC(paramBean, inputMap, funcCode);
		// KAD-2012-00000087 ADD Start
		 mapper.setKKSV010112CC(paramBean, inputMap, funcCode);
		// KAD-2012-00000087 ADD End
		// 20120423 ST2-2012-0000737 START
		 mapper.setKKSV010112SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		 // IT1-2014-0000028 2014-01-22 MOD_START
//		 mapper.setKKSV010113SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		 mapper.setKKSV010113SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		 // IT1-2014-0000028 2014-01-22 MOD_END
		// 20120423 ST2-2012-0000737 END

// ▼▼▼▼▼ 2012/08/23 ADD START ▼▼▼▼▼
		 mapper.setKKSV010114SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
// ▲▲▲▲▲ 2012/08/23 ADD E N D ▲▲▲▲▲

		 // IT1-2014-0000028 2014-01-21 ADD_START
		 mapper.setKKSV010116SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		 // IT1-2014-0000028 2014-01-21 ADD_END

		 // OM-2015-0000564 20151204 ADD START
		 mapper.setKKSV010117SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		 // OM-2015-0000564 20151204 ADD END
		 
		 // 050番号発番登録確認サービス実行
		 invokeService(paramMap, inputMap, outputMap);

		// OM-2015-0000564 20151204 ADD START
		// エラーメッセージを設定
		if (setErrorMessageInfo(outputMap))
		{
			return false;
		}
		// OM-2015-0000564 20151204 ADD END
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);

		return true;
	}

	/**
	 * 登録画面「クリア」ボタン押下
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionClear() throws Exception {
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 一覧クリア
		setClear();

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW03201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW03201);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);

		return true;
	}

	/**
	 * 登録画面「戻る」ボタン押下
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionBack() throws Exception {
		// 共有フォームBean設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean
				.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
						X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
								.getScreenId(this));

		return true;
	}

	/**
	 * 登録確認画面「修正」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionShusei() throws Exception {
		// 共有フォームBean設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW03201);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW03201);

		return true;
	}

	/**
	 * 登録完了画面「完了」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionFin() throws Exception {
		// 共有フォームBean設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean
				.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
						X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon
								.getScreenId(this));

		return true;
	}

	/**
	 * 引継情報を取得しサービスフォームBeanに設定する
	 * 
	 * @param svcFormBean
	 *            DataBeanアクセスクラス
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean getSessionData(X31SDataBeanAccess svcFormBean)
			throws Exception {
		// 前画面からの引継情報を取得
		HashMap<String, Object> dataMap = JCCWebCommon.getScreenInfo(this);
		if (dataMap == null) {
			return false;
		}

		// 顧客契約引継リスト（第二階層）から第一階層の同名項目にセット

		X31SDataBeanAccessArray custList = svcFormBean
				.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = custList.getDataBean(0);

		// SYSID
		svcFormBean.sendMessageString(KKW03201SFConst.SYSID,
				X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
						KKW03201SFConst.SYSID_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		svcFormBean.sendMessageString(KKW03201SFConst.SVC_KEI_NO,
				X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
						KKW03201SFConst.SVC_KEI_NO_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		svcFormBean.sendMessageString(KKW03201SFConst.IDO_DIV,
				X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(
						KKW03201SFConst.IDO_DIV_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		// 異動理由
		int count = (Integer) subbean.sendMessage(
				KKW03201SFConst.IDO_RSN_CD_04, X31CWebConst.DATABEAN_GET_COUNT);
		for (int i = 0; i < count; i++) {
			
			String idoRsnCd;
			// UI残65_異動理由の要否について 2012/05/14 ariyoshi strat
			String idoRsnMemo;
			X31SDataBeanAccessArray arraybean = svcFormBean.getDataBeanArray(KKW03201SFConst.IDO_RSN_LIST);
			X31SDataBeanAccess bean;

			//引継ぎ項目から異動理由コードの取得
			idoRsnCd = subbean.sendMessageString(
					KKW03201SFConst.IDO_RSN_CD_04,
					X31CWebConst.DATABEAN_GET_VALUE, i);
			
			//引継ぎ項目から異動理由メモの取得
			idoRsnMemo = subbean.sendMessageString(
					KKW03201SFConst.IDO_RSN_MEMO_04,
					X31CWebConst.DATABEAN_GET_VALUE);
			
			//根元の階層のBeanへ異動理由コードを設定
			svcFormBean.sendMessageString(KKW03201SFConst.IDO_RSN_CD,
					X31CWebConst.DATABEAN_ADD_VALUE, idoRsnCd);

			//明細に異動理由コードを追加
			bean = arraybean.addDataBean();
			bean.sendMessageString(
					KKW03201SFConst.IDO_RSN_CD_06, 
					X31CWebConst.DATABEAN_SET_VALUE,
					idoRsnCd);
			
			//明細に異動理由メモを追加
			bean.sendMessageString(
					KKW03201SFConst.IDO_RSN_MEMO_06, 
					X31CWebConst.DATABEAN_SET_VALUE,
					idoRsnMemo);
			// UI残65_異動理由の要否について 2012/05/14 ariyoshi end
		}
		
		//サービス契約内訳番号の設定
		svcFormBean.sendMessageString(
				KKW03201SFConst.SVC_KEI_UCWK_NO,
				X31CWebConst.DATABEAN_SET_VALUE,
				subbean.sendMessageString(
						KKW03201SFConst.SVC_KEI_UCWK_NO_04,
						X31CWebConst.DATABEAN_GET_VALUE));

		// 運用年月日を設定
		svcFormBean.sendMessageString(KKW03201SFConst.UNYO_YMD,
				X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getOpeDate(this,
						null));

		// KAD-2012-00000087 ADD Start
		// 電話番号順から判定 → 電話タブオプション情報制御コード
		String telno_jun = subbean.sendMessageString(KKW03201SFConst.TELNO_JUN_04, X31CWebConst.DATABEAN_GET_VALUE);
		if ("1".equals(telno_jun)) {
			svcFormBean.sendMessageString(KKW03201SFConst.TEL_1_TAB_OP_IF_CTL_CD, X31CWebConst.DATABEAN_SET_VALUE, "1");
		} else if ("2".equals(telno_jun)){
			svcFormBean.sendMessageString(KKW03201SFConst.TEL_2_TAB_OP_IF_CTL_CD, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}
		// KAD-2012-00000087 ADD End

		return true;
	}

	/**
	 * 登録画面「選択」ラジオボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionRadioClick() throws Exception {
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { svcFormBean };

		// 一覧の選択行の位置を取得
		String sel = paramBean[0].sendMessageString(KKW03201SFConst.TELNO_SEL,
				X31CWebConst.DATABEAN_GET_VALUE);

		// 選択行より、払出電話番号を取得
		X31SDataBeanAccessArray list_050_no_info = paramBean[0]
				.getDataBeanArray(KKW03201SFConst.LIST_050_NO_INFO);
		X31SDataBeanAccess subbean = list_050_no_info.getDataBean(Integer
				.parseInt(sel));
		String telno = subbean.sendMessageString(KKW03201SFConst.TELNO_02,
				X31CWebConst.DATABEAN_GET_VALUE);

		// 払出０５０番号に設定
		paramBean[0].sendMessageString(KKW03201SFConst.HRADSI_050_NO,
				X31CWebConst.DATABEAN_SET_VALUE, telno);

		//予約削除用キー情報・電話番号予約番号
		String telno_rsv_no = subbean.sendMessageString(KKW03201SFConst.TELNO_RSV_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		paramBean[0].sendMessageString(KKW03201SFConst.KK0181_TELNO_RSV_NO, X31CWebConst.DATABEAN_SET_VALUE, telno_rsv_no);
		//予約削除用キー情報・更新年月日時分秒
		String upd_dtm = subbean.sendMessageString(KKW03201SFConst.ZM0181_UPD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE);
		paramBean[0].sendMessageString(KKW03201SFConst.KK0181_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, upd_dtm);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW03201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW03201);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(),
				null, null, null);

		return true;
	}
	/**
	 * サービスコンポーネント設定情報の格納処理６６
	 * <br>
	 * @param paramBean DataBean項目の配列
	 * @exception Exceptionがスローされます。
	 */
	private void set050InfoBean(X31SDataBeanAccess[] paramBean) throws Exception
	{
		
		// 利用開始日を結合
		String use_staymd_year = paramBean[0].sendMessageString(KKW03201SFConst.USE_STAYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
		String use_staymd_mon = paramBean[0].sendMessageString(KKW03201SFConst.USE_STAYMD_MON, X31CWebConst.DATABEAN_GET_VALUE);
		String use_staymd_day = paramBean[0].sendMessageString(KKW03201SFConst.USE_STAYMD_DAY, X31CWebConst.DATABEAN_GET_VALUE);
		String use_staymd = use_staymd_year + use_staymd_mon + use_staymd_day;
		
		//利用開始日設定
		paramBean[0].sendMessageString(KKW03201SFConst.DSP_USE_STAYMD, X31CWebConst.DATABEAN_SET_VALUE, use_staymd);
		
		//料金コース
		paramBean[0].sendMessageString(KKW03201SFConst.PCRS_CD, X31CWebConst.DATABEAN_SET_VALUE, "B33");
		
		//料金プラン
		paramBean[0].sendMessageString(KKW03201SFConst.PPLAN_CD, X31CWebConst.DATABEAN_SET_VALUE, "PB3301");
		
		//請求契約番号
		String seiky_kei_no = null;
		X31SDataBeanAccessArray beanArray = paramBean[0].getDataBeanArray(KKW03201SFConst.SEIKY_KEI_LIST);
		if (0 < beanArray.getCount())
		{
			seiky_kei_no = beanArray.getDataBean(0).sendMessageString(KKW03201SFConst.SEIKY_KEI_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
		}
		paramBean[0].sendMessageString(KKW03201SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, seiky_kei_no);

		//親契約識別
		paramBean[0].sendMessageString(KKW03201SFConst.OYA_KEI_SKBT_CD, X31CWebConst.DATABEAN_SET_VALUE, "03");
		
		//異動区分判定
		String ido_div = paramBean[0].sendMessageString(KKW03201SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 00031:オプション設定の時
		if (KKW03201SFConst.IDO_DIV.equals(ido_div))
		{
			// 申込種別コード:00026（オプション設定）
			paramBean[0].sendMessageString(KKW03201SFConst.MSKM_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JKKCommonConst.MSKM_SBT_CD_VALUE_00026);
			
		}
		// 以外（新規申込）
		else 
		{
			// 申込種別コード:00001（新規契約）
			paramBean[0].sendMessageString(KKW03201SFConst.MSKM_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JKKCommonConst.MSKM_SBT_CD_VALUE_00001);
			
		}

		// 即時適用（サービス契約．サービス開始日が過去日（当日含む）　かつ　利用開始日が当日）の場合のみ実行
		if (JPCDateChecker.isEqualDate(use_staymd, JCCWebCommon.getOpeDate(this, null)))
		{
			// 進捗ステータス:5102
			paramBean[0].sendMessageString(KKW03201SFConst.PRG_STAT, X31CWebConst.DATABEAN_SET_VALUE,
					JKKCommonConst.PRG_STAT_CD_5102);
		}
		else
		{
			// 進捗ステータス:5101
			paramBean[0].sendMessageString(KKW03201SFConst.PRG_STAT, X31CWebConst.DATABEAN_SET_VALUE,
					JKKCommonConst.PRG_STAT_CD_5101);
		}

		// 運用年月日
		paramBean[0].sendMessageString(KKW03201SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, 
				JCCWebCommon.getOpeDate(this, null));
		
		// 運用年月日時分秒
		paramBean[0].sendMessageString(KKW03201SFConst.UNYO_DTM, X31CWebConst.DATABEAN_SET_VALUE, 
				JCCWebCommon.getOpeDate(this, null) + "000000000");
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

	}
	
	// OM-2015-0000564 20151204 ADD START
	/**
	 * エラーメッセージを設定します。
	 * <br>
	 * @param outputMap サービス実行結果
	 * @return エラーが存在する場合はtrue、存在しない場合はfalse
	 */
	@SuppressWarnings("unchecked")
	private boolean setErrorMessageInfo(HashMap<String, Object> outputMap)
	{
		boolean isError = false;

		// オーダ発行条件チェック
		HashMap<String, Object> kksv010117scMap = (HashMap<String, Object>)outputMap.get("KKSV010117SC");
		if (null != kksv010117scMap)
		{
			// エラーの場合
			if ("1".equals(kksv010117scMap.get("chk_kbn")))
			{
				// オーダが処理された後の操作を促すメッセージを表示
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE020_KW);
				isError = true;
			}
		}

		return isError;
	}
	// OM-2015-0000564 20151204 ADD END
}
