/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：契約管理システム
*   ソースファイル名：KKW12701SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年11月18日
*＜機能概要＞
*   申込情報検索を処理するロジッククラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/11/18   FJ          新規作成
*   v3.00.00    2012/04/10   FJ）長野    【ANK-0240-00-00】タイプを追加
*   v3.00.00    2012/04/10   FJ）長野    【ANK-0243-00-00】グループをチェックボックスに変更
*   v4.00.00    2012/11/13   FJ）松田    【ANK-1350-00-00】権限パターンQR対応
*   v4.01.00    2012/11/29   FJ）三浦    【IT1-2012-0002234】選択値の特定に申込状態を追加
*   v4.02.00    2012/12/18   FJ) 多田    【ST4-2012-0000132】申込情報検索レスポンス対応
*   v4.03.00    2012/12/19   FJ) 川西    【ST4-2012-0000132】申込情報検索レスポンス対応
*   v4.04.00    2012/12/25   FJ) 川西    【ST1-2012-0002484】保留検索不備対応
*   v5.00.00    2013/02/05   FJ) 中山    【IT1-2013-0000210】不要な共有フォームBean参照条件判定を削除
*   v7.00.00    2014/01/14   FJ) 北浦    【ANK-1873-00-00】KC社追加対応
*   v10.00.00   2014/07/04   FJ) 中山    【ANK-2137-00-00】提携住宅会社用WEB受付画面配置
*   v19.00.00   2015/10/01   FJ) 中山    【OM-2015-0002202】性能改善
*   v37.00.00   2018/02/09   FJ) 黒田(耕)【ANK-3366-00-00】eo光設備卸対応
*   v46.00.00   2019/07/08   FJ) 岡井    【ANK-3665-00-00】携帯電話番号の取得率向上対応
*   v71.00.00   2024/01/03   GDC) J.Zabala    【ANK-4468-00-00】eo光ネット「シンプルプラン」追加対応
*   v73.00.00	2024/08/20	 GDC) JN.Franco		【ANK-4427-00-00：NTT卸対応】
**********************************************************************/
package eo.web.webview.KKW12701SF;

import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.*;

import java.util.ArrayList;
import java.util.HashMap;

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.X31SWebLog;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCAuthorityCtrlStatus;
import eo.web.webview.common.JKKGetDataUtil;
import eo.web.webview.common.JKKKeiNewCmnLogicUtil;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JKKWebCommon;
import eo.web.webview.mapping.KKSV0422_KKSV0422OPDBMapper;
import eo.web.webview.mapping.KKSV0423_KKSV0423OPDBMapper;
import eo.web.webview.mapping.KKSV0424_KKSV0424OPDBMapper;
import eo.web.webview.mapping.KKSV0608_KKSV0608OPDBMapper;

/**
 * 申込情報検索を処理するロジッククラスです。
 * @author 富士通
 *
 */
@SuppressWarnings("serial")
public class KKW12701SFLogic extends JCCWebBusinessLogic
{

	/** 行カラー（奇数行） */
	private static final String ODD = "odd";
	/** 行カラー（偶数行） */
	private static final String EVEN = "even";

	/** 表示・非表示、活性・非活性制御　非表示 */
	private static final String ENABLE_CTRL_NONDISP = "0";
	/** 表示・非表示、活性・非活性制御　活性 */
	private static final String ENABLE_CTRL_ENABLE = "1";
	/** 表示・非表示、活性・非活性制御　非活性 */
	private static final String ENABLE_CTRL_DISABLE = "2";

	/** 検索件数取得キー（最大検索件数） */
	private static final String KKW12701_MAX_SHOW_CNT = "KKW12701_MAX_SHOW_CNT";
	/** VARB */
	private static final String L_PAG_SEARCH = "paging";

	/** SCタイトル（申込情報検索申込一覧取得） */
	private static final String KKSV042201SC = "KKSV042201SC";
	/** SCタイトル（申込情報検索申込取得） */
	private static final String KKSV042301SC = "KKSV042301SC";
	/** SCタイトル（申込情報検索保留存在チェック） */
	private static final String KKSV060801SC = "KKSV060801SC";
	/** 申込保留内容一時保存一意照会明細 */
	private static final String EKK2081A010CBSMSG1LIST = "EKK2081A010CBSMsg1List";
	
	/** フラグ（オン） */
	private static final String FLG_ON = "1";
	/** フラグ（オフ） */
	private static final String FLG_OFF = "0";

	/** ソート番号（申込日、降順） */
	private static final String SORT_NO_MSKM_YMD_DESC = "1";
	/** ソート番号（申込日、昇順） */
	private static final String SORT_NO_MSKM_YMD_ASC = "2";
	/** ソート番号（申込番号、降順） */
	private static final String SORT_NO_MSKM_NO_DESC = "3";
	/** ソート番号（申込番号、昇順） */
	private static final String SORT_NO_MSKM_NO_ASC = "4";

	/** ソート項目No（デフォルト） */
	private static final String SORT_ITEM_NO_DEFAULT = "0";
	/** ソート項目No（申込日） */
	private static final String SORT_ITEM_NO_MSKM_YMD = "1";
	/** ソート項目No（申込番号） */
	private static final String SORT_ITEM_NO_MSKM_NO = "2";

	/** ソート区分（昇順） */
	private static final String SORT_DIV_ASC = "1";
	/** ソート区分（降順） */
	private static final String SORT_DIV_DESC = "2";

	/** 表示文字数（お客様名） */
	private static final int DSP_SIZE_CUST_NM = 7;
	/** 表示文字数（お客様カナ名） */
	private static final int DSP_SIZE_CUST_KANA = 7;

	/** 申込ステータス：保留 */
	private static final String MSKM_PDING = "999";

	/** 受付担当グループ指定: 指定なし  */
	private static final String SHITEI_NON = "0";

	/** 受付担当グループ指定: 指定あり  */
	private static final String SHITEI_ARI = "1";

	/** 受付担当グループ: Ｍ社他社権限あり  */
	private static final String UKE_TANTO_GRP_M_CORP_AUTH_ARI = "2";

	/** 受付担当グループ: Ｉ社他社権限あり  */
	private static final String UKE_TANTO_GRP_I_CORP_AUTH_ARI = "3";
	
	/** 受付担当グループ: Ｔ社他社権限あり  */
	private static final String UKE_TANTO_GRP_T_CORP_AUTH_ARI = "4";
	
	/** 受付担当グループ: Ｂ社他社権限あり  */
	private static final String UKE_TANTO_GRP_B_CORP_AUTH_ARI = "5";
	
	/** 受付担当グループ: Ｋ社他社権限あり  */
	private static final String UKE_TANTO_GRP_K_CORP_AUTH_ARI = "10";
	
	/** 受付担当グループ: ＫＣ社他社権限あり  */
	private static final String UKE_TANTO_GRP_KC_CORP_AUTH_ARI = "13";
	
	/** 受付担当グループ: Ｍ社他社権限なし  */
	private static final String UKE_TANTO_GRP_M_CORP_AUTH_NASI = "6";

	/** 受付担当グループ: Ｉ社他社権限なし  */
	private static final String UKE_TANTO_GRP_I_CORP_AUTH_NASI = "7";
	
	/** 受付担当グループ: Ｔ社他社権限なし  */
	private static final String UKE_TANTO_GRP_T_CORP_AUTH_NASI = "8";
	
	/** 受付担当グループ: Ｂ社他社権限なし  */
	private static final String UKE_TANTO_GRP_B_CORP_AUTH_NASI = "9";
	
	/** 受付担当グループ: Ｋ社他社権限なし  */
	private static final String UKE_TANTO_GRP_K_CORP_AUTH_NASI = "11";
	
	/** 受付担当グループ: ＫＣ社他社権限なし  */
	private static final String UKE_TANTO_GRP_KC_CORP_AUTH_NASI = "14";
	
	/** 受付担当グループ: 全社権限あり */
	private static final String UKE_TANTO_GRP_ALL_CORP_AUTH = "12";
	
	/** 申込形態: 地プロ権限あり  */
	private static final String MSKM_FORM_JYSWEB_AUTH_ARI = "15";

	/** 申込パターン: 本申込 */
	private static final String MSKM_PATTERN_HON_MSKM = "1";
	
	/**
	 * 初期表示を処理します。
	 * <br>
	 * @return true固定
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);
		
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		X31SWebLog.DEBUG_LOG.debug("遷移時のDataBeanの内容：");
		X31SWebLog.DEBUG_LOG.debug(dumpDatabean());

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 画面情報を取得し、サービスフォームBeanに設定
		HashMap screenInfoMap = JCCWebCommon.getScreenInfo(this);

		// メニューから遷移
		if (null == screenInfoMap)
		{
			/*
			 * 電話申込/書面申込の判断（権限リスト取得から、申込形態コードを判断）
			 */
			JCCAuthorityCtrlStatus.setAuthorityCtrl(this);

			X31SDataBeanAccessArray authList = commoninfoBean.getDataBeanArray(CommonInfoCFConst.REQUEST_AUTHORITY_LIST);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA, false);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA, false);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA, false);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA, false);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA, false);
			this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA, false);
			
			for(int i = 0; i <= authList.getCount() - 1; i++)
			{
				X31SDataBeanAccess authBean  = authList.getDataBean(i);
				String auth_cd = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_03, X31CWebConst.DATABEAN_GET_VALUE);
				String auth_flg = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE);
				if (JKKStrConst.UKE_TANTO.equals(auth_cd) && !"NG".equals(auth_flg))
				{
					// 受付担当グループ
					if (UKE_TANTO_GRP_M_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA, true);
					}
					else if (UKE_TANTO_GRP_I_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA, true);
					}
					else if (UKE_TANTO_GRP_KC_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA, true);
					}
					else if (UKE_TANTO_GRP_T_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA, true);
					}
					else if (UKE_TANTO_GRP_B_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA, true);
					}
					else if (UKE_TANTO_GRP_K_CORP_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA, true);
					}
				}
				
				if (JKKStrConst.MSKM_FORM.equals(auth_cd) && !"NG".equals(auth_flg))
				{
					if (MSKM_FORM_JYSWEB_AUTH_ARI.equals(auth_flg))
					{
						this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB, true);
					}
				}
			}

			// 申込形態コードに、電話申込権限を設定する
			serviceFormBean.sendMessageString(KKW12701SFConst.MSKM_FORM_CD, X31CWebConst.DATABEAN_SET_VALUE, MSKM_FORM_CD_TEL);

			// 一覧表示件数
			this.setData(serviceFormBean, KKW12701SFConst.ICRN_DISP_CNT, "0");
			this.setData(serviceFormBean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_NONDISP);
			
//OM-2015-0002202 ADD START
			// 申込日（ＦＲＯＭ）に初期値:運用日付を設定する
			String opeDate = JCCWebCommon.getOpeDate(this, null);
			this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_YEAR, opeDate.substring(0, 4));
			this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_MON, opeDate.substring(4, 6));
			this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_DAY, opeDate.substring(6, 8));
//OM-2015-0002202 ADD END

			// 画面遷移処理
			setNextScreen(JKKScreenConst.SCREEN_ID_KKW12701, JKKScreenConst.SCREEN_NAME_KKW12701);
		}
		// メニュー以外から遷移
		else
		{
			// 再検索処理を実行する
			otherScResearch();
		}

		return true;
	}

	/**
	 * 検索ボタン押下処理を行います。
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 例外
	 */
	public boolean search() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		this.setData(serviceFormBean, KKW12701SFConst.SORT_NO, "");
		this.setData(serviceFormBean, KKW12701SFConst.SORT_ITEM_NO, SORT_ITEM_NO_DEFAULT);
		this.setData(serviceFormBean, KKW12701SFConst.SORT_DIV, SORT_DIV_ASC);

		// 検索条件を保存
		this.saveSearchCondition(serviceFormBean);

		// 検索実行
		this.execServiceSearch(serviceFormBean, true);

		return true;
	}

	/**
	 * 遷移先から戻った時の検索を行います。
	 * @throws Exception 
	 */
	private void otherScResearch() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を保存
		this.saveSearchCondition(serviceFormBean);

		// 検索実行
		this.execServiceSearch(serviceFormBean, false);
	}
	
	/**
	 * 詳細ボタン押下処理を行います。
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showDetail() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// 選択行
		int selectRow = this.getDataL(serviceFormBean, KKW12701SFConst.SELECT_ROW).intValue();

		// 検索結果リスト
		X31SDataBeanAccessArray searchResultList = serviceFormBean.getDataBeanArray(KKW12701SFConst.SEARCH_RESULT_LIST);
		
		// 選択されたデータ
		X31SDataBeanAccess selectedBean = searchResultList.getDataBean(selectRow);
		
		// 選択された申込番号
		String mskmNo = this.getData(selectedBean, KKW12701SFConst.MSKM_NO_03);
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_NO, mskmNo);
		
		// 選択された申込状態
		String mskmStat = this.getData(selectedBean, KKW12701SFConst.MSKM_STAT_03);
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_STAT, mskmStat);
		
		// 選択されたコンシューマ営業用申込状態識別コード
		String consmbsnMskmStatSkbtCd = this.getData(selectedBean, KKW12701SFConst.CONSMBSN_MSKM_STAT_SKBT_CD_03);

		boolean checkResult = false;
		
		if (MSKM_PDING.equals(mskmStat))
		{
			// 保留の場合
			checkResult = checkPding(selectedBean);
		} 
		else 
		{	
			// 保留以外の場合
			checkResult = checkMskmStat(mskmStat);
		}
	
		if (!checkResult)
		{
			return true;
		}
		
		// 遷移先の決定
		String nextScreenId = "";
		String nextScreenNm = "";
		if (JKKStrConst.CD00760_01.equals(consmbsnMskmStatSkbtCd) || JKKStrConst.CD00760_02.equals(consmbsnMskmStatSkbtCd))
		{
			// 申込書種別コード
			String mskmshoSbtCd = this.getData(selectedBean, KKW12701SFConst.MSKMSHO_SBT_CD_03);

			// モバイル単独の場合
			if (JKKStrConst.MSKM_KIND_MOBILE.equals(mskmshoSbtCd))
			{
				nextScreenId = JKKScreenConst.SCREEN_ID_KKW00105;
				nextScreenNm = JKKScreenConst.SCREEN_NAME_KKW00105;
			}
			else
			{
				// ANK-3665-00-00 MOD START
				//nextScreenId = JKKScreenConst.SCREEN_ID_KKW00104;
				//nextScreenNm = JKKScreenConst.SCREEN_NAME_KKW00104;
				nextScreenId = JKKScreenConst.SCREEN_ID_KKW00105;
				nextScreenNm = JKKScreenConst.SCREEN_NAME_KKW00105;
				// ANK-3665-00-00 MOD END
			}
		}
		else
		{
			nextScreenId = JKKScreenConst.SCREEN_ID_KKW00115;
			nextScreenNm = JKKScreenConst.SCREEN_NAME_KKW00115;
		}

		// 引き継ぎ情報を格納するMAP
		HashMap hikitsugiMap = new HashMap();

		if (MSKM_PDING.equals(mskmStat))
		{
			// 保留
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_NO, "");
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_PNY_TPPV_NO, mskmNo);
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_STAT, "");

		}
		else
		{
			// 保留以外
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_NO, mskmNo);
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_PNY_TPPV_NO, "");
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KKW12701_KEY_MSKM_STAT, mskmStat);
			hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KEY_MSKMSHO_NO, this.getData(selectedBean, KKW12701SFConst.MSKMSHO_NO_02));
		}
		
		hikitsugiMap.put(JKKKeiNewCmnLogicUtil.KEY_K_GAMEN_FLG, JKKKeiNewCmnLogicUtil.K_GAMEN_FLG_MSKM_KENSAKU);
		
		
		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, nextScreenId, hikitsugiMap);

		X31SWebLog.DEBUG_LOG.debug("引継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(hikitsugiMap);

		// 検索条件の保存を行う
		saveSearchConditionToSession();
		
		// 戻り先画面IDの設定
		JCCWebCommon.setScreenId(this, nextScreenId, JKKScreenConst.SCREEN_ID_KKW12701);

		// 画面遷移処理
		setNextScreen(nextScreenId, nextScreenNm);

		X31SWebLog.DEBUG_LOG.debug("遷移前のDataBeanの内容：");
		X31SWebLog.DEBUG_LOG.debug(dumpDatabean());

		return true;
	}

	/**
	 * ＤＢを検索して、申込状態が変更されていないかチェックします。
	 * @param mskmStat 申込ステータス
	 * @return 変更されていない場合true
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private boolean checkMskmStat(String mskmStat)  throws Exception
	{
		if (mskmStat == null)
		{
			return false;
		}
		
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {serviceFormBean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKKeiNewCmnLogicUtil.UCID_KKSV0423);

		// マッピングクラスのインスタンスを生成
		KKSV0423_KKSV0423OPDBMapper mapper = new KKSV0423_KKSV0423OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setKKSV042301SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		JCCMessageCache.setMessageCache();

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(KKSV042301SC, outputMap);
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			//JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);
			return false;
		}
		
		if(!outputMap.containsKey(KKSV042301SC))
		{
			return false;
		}
		
		HashMap parentMap = (HashMap)outputMap.get(KKSV042301SC);
		if (!parentMap.containsKey("EKK0011A010CBSMsg1List"))
		{
			return false;
		}
		
		ArrayList childList = (ArrayList)parentMap.get("EKK0011A010CBSMsg1List");
		if (childList.size() == 0)
		{
			return false;
		}
		
		HashMap childMap = (HashMap)childList.get(0);
		String newMskmStat = (String)childMap.get("mskm_stat");
		
		if (!mskmStat.equals(newMskmStat))
		{
			return false;
		}

		mapper.getKKSV042301SC(paramBean, outputMap);
		return true;
	}
	
	/**
	 * ＤＢを検索して、レコードが存在するかチェックします。
	 * @param subBean 選択行情報
	 * @return レコードが存在する場合true
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private boolean checkPding(X31SDataBeanAccess subBean) throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// 運用日付
		String opeDate = JCCWebCommon.getOpeDate(this, null);

		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKKeiNewCmnLogicUtil.UCID_KKSV0608);
		
		// マッピングクラスのインスタンスを生成
		KKSV0608_KKSV0608OPDBMapper mapper = new KKSV0608_KKSV0608OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setKKSV060801SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV060802SC(subBean, dataMap, JPCModelConstant.FUNC_CD_2, opeDate);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		if(!outputMap.containsKey(KKSV060801SC))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);
			return false;
		}

		HashMap parentMap = (HashMap)outputMap.get(KKSV060801SC);
		ArrayList childList = (ArrayList)parentMap.get(EKK2081A010CBSMSG1LIST);
		if (null == childList || 0 == childList.size())
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);
			return false;
		}

		if (USE_KAISEN_CD_SAME.equals(subBean.sendMessageString(
				KKW12701SFConst.USE_KISN_CD_03, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			if (mapper.getKKSV060802SC(outputMap))
			{
				String[] args = { KKW12701_REP_MSG_02, KKW12701_REP_MSG_03 };
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB5440_JW, args);
				return false;
			}
		}

		return true;
	}
	
	/**
	 * 一括承認ボタン押下処理を行います。
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean shoninIkt() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		
		// 運用日付（YYYYMMDDhhmmssSSS）
		String opeDateTimeStamp = JCCWebCommon.getOpeDateTimeStamp(this, null);

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// 検索結果リスト
		X31SDataBeanAccessArray searchResultList = serviceFormBean.getDataBeanArray(KKW12701SFConst.SEARCH_RESULT_LIST);

		// 申込一括承認リスト
		X31SDataBeanAccessArray iktShoninList = serviceFormBean.getDataBeanArray(KKW12701SFConst.MSKM_IKT_SHONIN_LIST);
		iktShoninList.clearArray();

		// 検索結果一覧に表示されている件数分DataBeanの設定を行う
		int size = searchResultList.getCount();
		for (int i = 0; i < size; i++)
		{
			X31SDataBeanAccess icrnBean = searchResultList.getDataBean(i);
			String mskmNo = new String(this.getData(icrnBean, KKW12701SFConst.MSKM_NO_03));
			String updDtmBf = new String(this.getData(icrnBean, KKW12701SFConst.MSKM_UPD_DTM_03));

			String mskmStat = getData(icrnBean, KKW12701SFConst.MSKM_STAT_03);
			if (MSKM_PDING.equals(mskmStat))
			{
				continue;
			}
			
			X31SDataBeanAccess shoninBean = iktShoninList.addDataBean();
			this.setData(shoninBean, KKW12701SFConst.MSKM_NO_05, mskmNo);
			this.setData(shoninBean, KKW12701SFConst.UPD_DTM_BF_05, updDtmBf);
		}

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKKeiNewCmnLogicUtil.UCID_KKSV0424);

		// マッピングクラスのインスタンスを生成
		KKSV0424_KKSV0424OPDBMapper mapper = new KKSV0424_KKSV0424OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setKKSV042401CC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1, opeDateTimeStamp);

		// 実行結果格納用マップ
		HashMap outputMap = new HashMap();

		// サービス実行処理呼出
		invokeService(paramMap, dataMap, outputMap);

		JCCMessageCache.setMessageCache();

		// 検索実行
		boolean ret = this.execServiceSearch(serviceFormBean, false);
		if (ret == false)
		{
			getCommonInfoBean().getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST).clearArray();
		}

		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[] {KKW12701_REP_MSG_01});

		// 画面遷移処理
		setNextScreen(JKKScreenConst.SCREEN_ID_KKW12701, JKKScreenConst.SCREEN_NAME_KKW12701);

		return true;
	}

	/**
	 * クリアボタン押下時にメニューから遷移したときと同じ状態に戻します。
	 * <br>
	 * @return true固定
	 * @throws Exception
	 */
	public boolean clear() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		this.setData(serviceFormBean, KKW12701SFConst.GRP_SHITEI, SHITEI_ARI);
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_PATTERN, MSKM_PATTERN_HON_MSKM);

		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA, false);

		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_WEB, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_RYO, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_HOU, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_TEL, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB, false);
// ANK-3366-00-00 ADD START
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS, false);
// ANK-3366-00-00 ADD END
		
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_NO_BF, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_NO_AF, "");
		this.setData(serviceFormBean, KKW12701SFConst.TRAT_CD, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKMSHO_NO, "");
		this.setData(serviceFormBean, KKW12701SFConst.UK_TNT_USER_ID, "");
		this.setData(serviceFormBean, KKW12701SFConst.TELNO, "");
		this.setData(serviceFormBean, KKW12701SFConst.KEISHA_KANA, "");

		this.setDataB(serviceFormBean, KKW12701SFConst.INP_IDO_DIV_NEW, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_IDO_DIV_ADD, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_STAT_PDING, true);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_STAT_RTRN, true);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_STAT_SHINSEI, true);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_STAT_SHONIN, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_STAT_ABDMNT, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_SVC_NET, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_SVC_TEL, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_SVC_TV, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_SVC_MOBILE, false);

		this.setDataB(serviceFormBean, KKW12701SFConst.INP_TYPE_HOME, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_TYPE_MEZON, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_TYPE_MANSION, false);
		this.setDataB(serviceFormBean, KKW12701SFConst.INP_TYPE_MOBILE, false);
		
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_YEAR, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_MON, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_STA_DAY, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_END_YEAR, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_END_MON, "");
		this.setData(serviceFormBean, KKW12701SFConst.MSKM_YMD_END_DAY, "");

		this.setData(serviceFormBean, KKW12701SFConst.SORT_NO, "");
		this.setData(serviceFormBean, KKW12701SFConst.SORT_ITEM_NO, SORT_ITEM_NO_DEFAULT);
		this.setData(serviceFormBean, KKW12701SFConst.SORT_DIV, SORT_DIV_ASC);
		this.setData(serviceFormBean, KKW12701SFConst.ICRN_DISP_CNT, "0");
		this.setData(serviceFormBean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_NONDISP);

		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW12701, null);

		// 初期表示処理を実行
		init();

		return true;
	}

	/**
	 * ページングを処理します。
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 例外
	 */
	public boolean paging() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// 検索実行
		this.execServiceSearch(serviceFormBean, false);

		return true;
	}

	/**
	 * ソートリンク押下処理を行います。
	 * @author 富士通
	 * @return true固定
	 * @throws Exception 例外
	 */
	public boolean sort() throws Exception
	{
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// ソート番号
		String sortNo = this.getData(serviceFormBean, KKW12701SFConst.SORT_NO);
		String sortItemNo = "";
		String sortDiv = "";
		if (SORT_NO_MSKM_YMD_DESC.equals(sortNo))
		{
			sortItemNo = SORT_ITEM_NO_MSKM_YMD;
			sortDiv = SORT_DIV_DESC;
		}
		else if (SORT_NO_MSKM_YMD_ASC.equals(sortNo))
		{
			sortItemNo = SORT_ITEM_NO_MSKM_YMD;
			sortDiv = SORT_DIV_ASC;
		}
		else if (SORT_NO_MSKM_NO_DESC.equals(sortNo))
		{
			sortItemNo = SORT_ITEM_NO_MSKM_NO;
			sortDiv = SORT_DIV_DESC;
		}
		else if (SORT_NO_MSKM_NO_ASC.equals(sortNo))
		{
			sortItemNo = SORT_ITEM_NO_MSKM_NO;
			sortDiv = SORT_DIV_ASC;
		}
		this.setData(serviceFormBean, KKW12701SFConst.SORT_ITEM_NO, sortItemNo);
		this.setData(serviceFormBean, KKW12701SFConst.SORT_DIV, sortDiv);

		// 検索実行
		this.execServiceSearch(serviceFormBean, false);

		return true;
	}

	/**
	 * 検索処理を実行する。
	 * @param bean サービスフォームビーン
	 * @param searchFlg 検索フラグ（true：検索ボタン、false：ページング）
	 * @return true:エラーなし false:エラーあり
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	private boolean execServiceSearch(X31SDataBeanAccess bean, boolean searchFlg) throws Exception
	{
		// チェックボックスの値設定
		
		// グループ
		/*
		 * 電話申込/書面申込の判断（権限リスト取得から、申込形態コードを判断）
		 */
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		JCCAuthorityCtrlStatus.setAuthorityCtrl(this);

		X31SDataBeanAccessArray authList = commoninfoBean.getDataBeanArray(CommonInfoCFConst.REQUEST_AUTHORITY_LIST);

		boolean isAgntSbtMSha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_M_SHA);
		boolean isAgntSbtISha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_I_SHA);
		boolean isAgntSbtKCSha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA);
		boolean isAgntSbtTSha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_T_SHA);
		boolean isAgntSbtBSha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_B_SHA);
		boolean isAgntSbtKSha = this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_K_SHA);

		this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_OFF);
		this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_OFF);
		this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_OFF);
		this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_OFF);
		this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_OFF);
		this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_OFF);
		
		boolean kengen2Flag = false;
		boolean kengen3Flag = false;
		boolean kengen4Flag = false;
		boolean kengen5Flag = false;
		boolean kengenFlagKshaAri = false;
		boolean kengenFlagKCshaAri = false;
		boolean kengenAllFlag = false;
		
		for(int i = 0; i <= authList.getCount() - 1; i++)
		{
			X31SDataBeanAccess authBean  = authList.getDataBean(i);
			String authCd = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_03, X31CWebConst.DATABEAN_GET_VALUE);
			String authFlg = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (JKKStrConst.UKE_TANTO.equals(authCd) && !"NG".equals(authFlg))
			{
				// 受付担当グループ
				if (UKE_TANTO_GRP_M_CORP_AUTH_ARI.equals(authFlg))
				{
					kengen2Flag = true;
				}
				else if (UKE_TANTO_GRP_I_CORP_AUTH_ARI.equals(authFlg))
				{
					kengen3Flag = true;
				}
				else if (UKE_TANTO_GRP_KC_CORP_AUTH_ARI.equals(authFlg))
				{
					kengenFlagKCshaAri = true;
				}
				else if (UKE_TANTO_GRP_T_CORP_AUTH_ARI.equals(authFlg))
				{
					kengen4Flag = true;
				}
				else if (UKE_TANTO_GRP_B_CORP_AUTH_ARI.equals(authFlg))
				{
					kengen5Flag = true;
				}
				else if (UKE_TANTO_GRP_K_CORP_AUTH_ARI.equals(authFlg))
				{
					kengenFlagKshaAri = true;
				}
				else if (UKE_TANTO_GRP_M_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_I_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_KC_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_T_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_B_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_K_CORP_AUTH_NASI.equals(authFlg))
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_ON);
				}
				else if (UKE_TANTO_GRP_ALL_CORP_AUTH.equals(authFlg))
				{
					kengenAllFlag = true;
				}
			}
		}
		
		if (!this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_WEB) && !this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_TEL))
		{
			this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_OFF);
		}
		else if (kengenAllFlag && SHITEI_NON.equals(this.getData(bean, KKW12701SFConst.GRP_SHITEI)))
		{
			this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_OFF);
			this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_OFF);
		}
		else
		{
			boolean authFlag = ((kengen2Flag || kengen3Flag || kengenFlagKCshaAri) && (kengen4Flag || kengen5Flag || kengenFlagKshaAri))
			|| kengenAllFlag;
			
			if (authFlag)
			{
				boolean noChkAgntSbt = !isAgntSbtMSha && !isAgntSbtISha && !isAgntSbtKCSha && !isAgntSbtTSha && !isAgntSbtBSha && !isAgntSbtKSha;
				if (noChkAgntSbt)
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_ON);
				}
				else
				{
					if (isAgntSbtMSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_ON);
					}
					if (isAgntSbtISha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_ON);
					}
					if(isAgntSbtKCSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_ON);
					}
					if (isAgntSbtTSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_ON);
					}
					if (isAgntSbtBSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_ON);
					}
					if (isAgntSbtKSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_ON);
					}
				}
			}
			else if (kengen2Flag || kengen3Flag || kengenFlagKCshaAri)
			{
				if (!isAgntSbtMSha && !isAgntSbtISha && !isAgntSbtKCSha)
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_ON);
				}
				else
				{
					if (isAgntSbtMSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_M_SHA, FLG_ON);
					}
					if (isAgntSbtISha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_I_SHA, FLG_ON);
					}
					if (isAgntSbtKCSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_KC_SHA, FLG_ON);
					}
				}
			}
			else if (kengen4Flag || kengen5Flag || kengenFlagKshaAri)
			{
				if (!isAgntSbtTSha && !isAgntSbtBSha && !isAgntSbtKSha)
				{
					this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_ON);
					this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_ON);
				}
				else
				{
					if (isAgntSbtTSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_T_SHA, FLG_ON);
					}
					if (isAgntSbtBSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_B_SHA, FLG_ON);
					}
					if (isAgntSbtKSha)
					{
						this.setData(bean, KKW12701SFConst.AGNT_SBT_K_SHA, FLG_ON);
					}
				}
			}
		}
		
		// グループ
		boolean isMskmKeitWeb = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_WEB);
		boolean isMskmKeitRyo = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_RYO);
		boolean isMskmKeitHou = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_HOU);
		boolean isMskmKeitTel = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_TEL);
		boolean isMskmKeitJsyweb = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB);
// ANK-3366-00-00 MOD START
//		boolean isMskmKeitChk = (isMskmKeitWeb || isMskmKeitRyo || isMskmKeitHou || isMskmKeitTel || isMskmKeitJsyweb);
		boolean isMskmKeitEohors = this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS);
		boolean isMskmKeitChk = (isMskmKeitWeb || isMskmKeitRyo || isMskmKeitHou || isMskmKeitTel || isMskmKeitJsyweb
				|| isMskmKeitEohors);
// ANK-3366-00-00 MOD END
		
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_WEB, (!isMskmKeitChk || isMskmKeitWeb ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_RYO, (!isMskmKeitChk || isMskmKeitRyo ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_HOU, (!isMskmKeitChk || isMskmKeitHou ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_TEL, (!isMskmKeitChk || isMskmKeitTel ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_JSYWEB, (isMskmKeitJsyweb ? FLG_ON : FLG_OFF));
// ANK-3366-00-00 ADD START
		this.setData(bean, KKW12701SFConst.MSKM_KEIT_EOHORS, (!isMskmKeitChk || isMskmKeitEohors ? FLG_ON : FLG_OFF));
// ANK-3366-00-00 ADD END
		
		// 異動区分
		boolean isIdoDivNew = this.getDataB(bean, KKW12701SFConst.INP_IDO_DIV_NEW);
		boolean isIdoDivAdd = this.getDataB(bean, KKW12701SFConst.INP_IDO_DIV_ADD);
		boolean isIdoDivChk = (isIdoDivNew || isIdoDivAdd);
		this.setData(bean, KKW12701SFConst.IDO_DIV_NEW, (!isIdoDivChk || isIdoDivNew ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.IDO_DIV_ADD, (!isIdoDivChk || isIdoDivAdd ? FLG_ON : FLG_OFF));
		
		// 状態
		boolean isStatPding = this.getDataB(bean, KKW12701SFConst.INP_STAT_PDING);
		boolean isStatRtrn = this.getDataB(bean, KKW12701SFConst.INP_STAT_RTRN);
		boolean isStatShinsei = this.getDataB(bean, KKW12701SFConst.INP_STAT_SHINSEI);
		boolean isStatShonin = this.getDataB(bean, KKW12701SFConst.INP_STAT_SHONIN);
		boolean isStatAbdmnt = this.getDataB(bean, KKW12701SFConst.INP_STAT_ABDMNT);
		boolean isStatChk = (isStatPding || isStatRtrn || isStatShinsei || isStatShonin || isStatAbdmnt);
		
		String ukNo = this.getData(bean, KKW12701SFConst.MSKMSHO_NO);
		
		// 状態「保留」が非活性で、状態がすべて未選択の場合、保留以外の状態はすべてチェックされたとみなす。
		if (!((ukNo == null || "".equals(ukNo)) && isMskmKeitTel) && !isStatChk)
		{
			this.setData(bean, KKW12701SFConst.STAT_PDING, FLG_OFF);
			this.setData(bean, KKW12701SFConst.STAT_RTRN, FLG_ON);
			this.setData(bean, KKW12701SFConst.STAT_SHINSEI, FLG_ON);
			this.setData(bean, KKW12701SFConst.STAT_SHONIN, FLG_ON);
			this.setData(bean, KKW12701SFConst.STAT_ABDMNT, FLG_ON);
		}
		else 
		{
			this.setData(bean, KKW12701SFConst.STAT_PDING, (!isStatChk || isStatPding ? FLG_ON : FLG_OFF));
			this.setData(bean, KKW12701SFConst.STAT_RTRN, (!isStatChk || isStatRtrn ? FLG_ON : FLG_OFF));
			this.setData(bean, KKW12701SFConst.STAT_SHINSEI, (!isStatChk || isStatShinsei ? FLG_ON : FLG_OFF));
			this.setData(bean, KKW12701SFConst.STAT_SHONIN, (!isStatChk || isStatShonin ? FLG_ON : FLG_OFF));
			this.setData(bean, KKW12701SFConst.STAT_ABDMNT, (!isStatChk || isStatAbdmnt ? FLG_ON : FLG_OFF));
		}
		
		// サービス
		boolean isSvcNet = this.getDataB(bean, KKW12701SFConst.INP_SVC_NET);
		boolean isSvcTel = this.getDataB(bean, KKW12701SFConst.INP_SVC_TEL);
		boolean isSvcTv = this.getDataB(bean, KKW12701SFConst.INP_SVC_TV);
		boolean isSvcMobile = this.getDataB(bean, KKW12701SFConst.INP_SVC_MOBILE);
		boolean isSvcChk = (isSvcNet || isSvcTel || isSvcTv || isSvcMobile);
		this.setData(bean, KKW12701SFConst.SVC_NET, (!isSvcChk || isSvcNet ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.SVC_TEL, (!isSvcChk || isSvcTel ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.SVC_TV, (!isSvcChk || isSvcTv ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.SVC_MOBILE, (!isSvcChk || isSvcMobile ? FLG_ON : FLG_OFF));

		// タイプ
		boolean isTypeHome = this.getDataB(bean, KKW12701SFConst.INP_TYPE_HOME);
		boolean isTypeMezon = this.getDataB(bean, KKW12701SFConst.INP_TYPE_MEZON);
		boolean isTypeMansion = this.getDataB(bean, KKW12701SFConst.INP_TYPE_MANSION);
		boolean isTypeMobile = this.getDataB(bean, KKW12701SFConst.INP_TYPE_MOBILE);
		boolean isTypeChk = (isTypeHome || isTypeMezon || isTypeMansion || isTypeMobile);
		this.setData(bean, KKW12701SFConst.TYPE_HOME, (!isTypeChk || isTypeHome ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.TYPE_MEZON, (!isTypeChk || isTypeMezon ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.TYPE_MANSION, (!isTypeChk || isTypeMansion ? FLG_ON : FLG_OFF));
		this.setData(bean, KKW12701SFConst.TYPE_MOBILE, (!isTypeChk || isTypeMobile ? FLG_ON : FLG_OFF));
		
		// 検索結果リストクリア
		bean.getDataBeanArray(KKW12701SFConst.SEARCH_RESULT_LIST).clearArray();

		// 一覧表示件数設定
		this.setData(bean, KKW12701SFConst.ICRN_DISP_CNT, "0");

		this.setDataL(bean, KKW12701SFConst.SELECT_ROW, 0L);

		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKKeiNewCmnLogicUtil.UCID_KKSV0422);

		// マッピングクラスのインスタンスを生成
		KKSV0422_KKSV0422OPDBMapper mapper = new KKSV0422_KKSV0422OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setKKSV042201SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		if (searchFlg)
		{
			JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW12701);
		}

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", KKSV042201SC, dataMap);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		JCCMessageCache.setMessageCache();

		mapper.getKKSV042201SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(KKSV042201SC, outputMap);
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			// 一覧表示件数設定
			this.setData(bean, KKW12701SFConst.ICRN_DISP_CNT, "0");
			
			// 一括承認ボタンを非表示に設定
			this.setData(bean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_NONDISP);
			
			return false;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			String maxSearchCnt = JCCWebCommon.getSearchConst(KKW12701_MAX_SHOW_CNT);
			// 検索結果が最大検索件数超えの場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String[] {maxSearchCnt});
			// 一覧表示件数設定
			this.setData(bean, KKW12701SFConst.ICRN_DISP_CNT, "0");
			return false;
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			JCCWebCommon.setMessageInfo(this, "EKB0350--I");
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "0", KKSV042201SC, outputMap);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, L_PAG_SEARCH);

		X31SDataBeanAccessArray searchResultList = bean.getDataBeanArray(KKW12701SFConst.SEARCH_RESULT_LIST);

		// 一覧表示件数の設定
		this.setData(bean, KKW12701SFConst.ICRN_DISP_CNT, searchResultList.getCount().toString());

		// 遷移前に選択された申込番号があったかどうかのフラグ
		boolean mskmNoflg = false;

		for (int i = 0; i < searchResultList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = searchResultList.getDataBean(i);

			// 行カラー
			this.setData(subbean, KKW12701SFConst.LINE_COLOR_03, (0 == (i + 1) % 2) ? EVEN : ODD);

			// 申込状態名称
			String mskmStat = this.getData(subbean, KKW12701SFConst.MSKM_STAT_03);
			String mskmCancelRsnCd = this.getData(subbean, KKW12701SFConst.MSKM_CANCEL_RSN_CD_03);
			String mskmStatNm = "";
			if (JKKStrConst.CD00060_130.equals(mskmStat))
			{
				mskmStatNm = this.getData(subbean, KKW12701SFConst.MSKM_STAT_NM_03);
			}
			else if (JKKStrConst.CD00060_920.equals(mskmStat) && JKKStrConst.CD01254_10.equals(mskmCancelRsnCd))
			{
				mskmStatNm = JKKKeiNewCmnLogicUtil.CANCEL_RSN_CD_NM_SCREEN_ABDMNT;
			}
			else
			{
				mskmStatNm = this.getData(subbean, KKW12701SFConst.CONSMBSN_MSKM_STAT_SKBT_CD_NM_03);
			}
			this.setData(subbean, KKW12701SFConst.MSKM_JOTAI_NM_03, mskmStatNm);

			
			// 申込区分名称
			String idoDiv = this.getData(subbean, KKW12701SFConst.IDO_DIV_03);
			String idoDivNm = JKKStrConst.IDO_DIV_NM_SCREEN_ADD;
			if (JKKStrConst.CD00576_00001.equals(idoDiv))
			{
				idoDivNm = JKKStrConst.IDO_DIV_NM_SCREEN_NEW;
			}
			this.setData(subbean, KKW12701SFConst.MSKM_DIV_NM_03, idoDivNm);

			// サービス
			String mskmshoSbtCd = this.getData(subbean, KKW12701SFConst.MSKMSHO_SBT_CD_03);
			String orderingSvcChoiceCd = this.getData(subbean, KKW12701SFConst.ORDERING_SVC_CHOICE_CD_03);
			// ANK-4468-00-00 ADD START
			String pcrsCd = this.getData(subbean, KKW12701SFConst.PCRS_CD_03);
			// ANK-4468-00-00 ADD END
			// ANK-4427-00-00 ADD START
			String nttorsDiv = this.getData(subbean, KKW12701SFConst.NTT_WHOLESALE);
			// ANK-4427-00-00 ADD START
			String svcNm = "";

			// 申込ステータスが保留の場合
			if (MSKM_PDING.equals(mskmStat))
			{
				if(JKKGetDataUtil.isNull(orderingSvcChoiceCd))
				{
					svcNm = JKKKeiNewCmnLogicUtil.SVC_NM_SCREEN_HORYU;
				}
				else
				{
					// ANK-4427-00-00 MOD START
					// ANK-4468-00-00 MOD START
//					svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd);
					//svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd, pcrsCd);
					// ANK-4468-00-00 MOD END
					svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd, pcrsCd, nttorsDiv);
					// ANK-4427-00-00 MOD END
				}
			}
			else
			{
				// ANK-4427-00-00 MOD START
				// ANK-4468-00-00 MOD START
//				svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd);
				//svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd, pcrsCd);
				// ANK-4468-00-00 MOD END
				svcNm = JKKWebCommon.getSvcDspInfo(mskmshoSbtCd, orderingSvcChoiceCd, pcrsCd, nttorsDiv);
				// ANK-4427-00-00 MOD END
			}

			this.setData(subbean, KKW12701SFConst.SVC_03, svcNm);

			// お客様表示名
			String custNm = this.getData(subbean, KKW12701SFConst.CUST_NM_03);
			String custDspNm = this.substr(custNm, 0, DSP_SIZE_CUST_NM);
			this.setData(subbean, KKW12701SFConst.CUST_DISP_NM_03, custDspNm);

			// お客様カナ表示名
			String custKana = this.getData(subbean, KKW12701SFConst.CUST_KANA_03);
			String custkanaDspNm = this.substr(custKana, 0, DSP_SIZE_CUST_KANA);
			this.setData(subbean, KKW12701SFConst.CUST_KANA_DISP_03, custkanaDspNm);

			// 遷移前に選択された申込番号
			String selectMskmNo = bean.sendMessageString(KKW12701SFConst.MSKM_NO, X31CWebConst.DATABEAN_GET_VALUE);
			// 遷移前に選択された申込状態
			String selectMskmStat = bean.sendMessageString(KKW12701SFConst.MSKM_STAT, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 処理中の申込番号
			String procMskmNo = this.getData(subbean, KKW12701SFConst.MSKM_NO_03);
			
			if (procMskmNo.equals(selectMskmNo) && mskmStatCheck(mskmStat, selectMskmStat))
			{
				this.setDataL(bean, KKW12701SFConst.SELECT_ROW, new Long(i));
				mskmNoflg = true;
			}
		}

		if (!mskmNoflg)
		{
			this.setDataL(bean, KKW12701SFConst.SELECT_ROW, 0L);
		}
		
		// 項目表示活性制御情報
		// 一括承認
		if (this.hasShoninAuth())			// 承認権限がある場合
		{
			boolean chk = isStatShinsei && !isStatPding && !isStatRtrn && !isStatShonin && !isStatAbdmnt;
			// 「申請中」のみがチェックされていたら活性
			if (chk)
			{
				this.setData(bean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_ENABLE);
			}
			// 上記以外は非活性
			else
			{
				this.setData(bean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_DISABLE);
			}
		}
		else
		{
			this.setData(bean, KKW12701SFConst.IKT_SHONIN, ENABLE_CTRL_NONDISP);
		}

		X31SWebLog.DEBUG_LOG.debug("検索後のDataBeanの内容");
		X31SWebLog.DEBUG_LOG.debug(dumpDatabean());

		// 画面遷移処理
		setNextScreen(JKKScreenConst.SCREEN_ID_KKW12701, JKKScreenConst.SCREEN_NAME_KKW12701);

		return true;
	}

	/**
	 * 他画面から戻った時に検索状態を復元するため、検索条件をセッションに保存します。
	 * 
	 */
	@SuppressWarnings("unchecked")
	private void saveSearchConditionToSession()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		HashMap backupDataMap = new HashMap();
		
		// 保存用検索条件データタイプ
		X31SDataBeanAccess saveBean = bean.getDataBeanArray(KKW12701SFConst.SAVE_SEARCH_INFO).getDataBean(0);
		
		//  検索条件情報 受付担当グループ指定
		backupDataMap.put(KKW12701SFConst.GRP_SHITEI, this.getData(saveBean, KKW12701SFConst.GRP_SHITEI_02));
		
		//  検索条件情報 申込パターン
		backupDataMap.put(KKW12701SFConst.MSKM_PATTERN, this.getData(saveBean, KKW12701SFConst.MSKM_PATTERN_02));
		
		//  検索条件情報 入力用受付担当グループ＿Ｍ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_M_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA_02));
		//  検索条件情報 入力用受付担当グループ＿Ｉ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_I_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA_02));
		//  検索条件情報 入力用受付担当グループ＿ＫＣ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_KC_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA_02));
		//  検索条件情報 入力用受付担当グループ＿Ｔ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_T_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA_02));
		//  検索条件情報 入力用受付担当グループ＿Ｂ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_B_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA_02));
		//  検索条件情報 入力用受付担当グループ＿Ｋ社
		backupDataMap.put(KKW12701SFConst.INP_AGNT_SBT_K_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA_02));
		
		//  検索条件情報 入力用申込形態＿ＷＥＢ
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_WEB, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_WEB_02));
		//  検索条件情報 入力用申込形態＿量販店
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_RYO, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_RYO_02));
		//  検索条件情報 入力用申込形態＿訪販
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_HOU, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_HOU_02));
		//  検索条件情報 入力用申込形態＿訪販
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_TEL, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_TEL_02));
		//  検索条件情報 入力用申込形態＿住所専用ＷＥＢ
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_JSYWEB, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB_02));
// ANK-3366-00-00 ADD START
		//  検索条件情報 入力用申込形態＿ｅｏ光卸
		backupDataMap.put(KKW12701SFConst.INP_MSKM_KEIT_EOHORS, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS_02));
// ANK-3366-00-00 ADD END
		
		//  検索条件情報 申込番号（前）
		backupDataMap.put(KKW12701SFConst.MSKM_NO_BF, this.getData(saveBean, KKW12701SFConst.MSKM_NO_BF_02));
		//  検索条件情報 申込番号（後）
		backupDataMap.put(KKW12701SFConst.MSKM_NO_AF, this.getData(saveBean, KKW12701SFConst.MSKM_NO_AF_02));
		//  検索条件情報 取扱コード
		backupDataMap.put(KKW12701SFConst.TRAT_CD, this.getData(saveBean, KKW12701SFConst.TRAT_CD_02));
		//  検索条件情報 申込書番号
		backupDataMap.put(KKW12701SFConst.MSKMSHO_NO, this.getData(saveBean, KKW12701SFConst.MSKMSHO_NO_02));
		//  検索条件情報 受付担当者ＩＤ
		backupDataMap.put(KKW12701SFConst.UK_TNT_USER_ID, this.getData(saveBean, KKW12701SFConst.UK_TNT_USER_ID_02));
		//  検索条件情報 電話番号
		backupDataMap.put(KKW12701SFConst.TELNO, this.getData(saveBean, KKW12701SFConst.TELNO_02));
		//  検索条件情報  契約者氏名／法人名（カナ）
		backupDataMap.put(KKW12701SFConst.KEISHA_KANA, this.getData(saveBean, KKW12701SFConst.KEISHA_KANA_02));

		//  検索条件情報  入力用異動区分＿新規
		backupDataMap.put(KKW12701SFConst.INP_IDO_DIV_NEW, this.getDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_NEW_02));
		//  検索条件情報  入力用異動区分＿追加
		backupDataMap.put(KKW12701SFConst.INP_IDO_DIV_ADD, this.getDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_ADD_02));
		//  検索条件情報  入力用異動区分＿保留
		backupDataMap.put(KKW12701SFConst.INP_STAT_PDING, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_PDING_02));
		//  検索条件情報  入力用異動区分＿差戻中
		backupDataMap.put(KKW12701SFConst.INP_STAT_RTRN, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_RTRN_02));
		//  検索条件情報  入力用異動区分＿申請中
		backupDataMap.put(KKW12701SFConst.INP_STAT_SHINSEI, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_SHINSEI_02));
		//  検索条件情報  入力用異動区分＿承認済
		backupDataMap.put(KKW12701SFConst.INP_STAT_SHONIN, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_SHONIN_02));
		//  検索条件情報  入力用異動区分＿破棄済
		backupDataMap.put(KKW12701SFConst.INP_STAT_ABDMNT, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_ABDMNT_02));
		//  検索条件情報  入力用サービス＿ネット
		backupDataMap.put(KKW12701SFConst.INP_SVC_NET, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_NET_02));
		//  検索条件情報  入力用サービス＿電話
		backupDataMap.put(KKW12701SFConst.INP_SVC_TEL, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_TEL_02));
		//  検索条件情報  入力用サービス＿テレビ
		backupDataMap.put(KKW12701SFConst.INP_SVC_TV, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_TV_02));
		//  検索条件情報  入力用サービス＿モバイル
		backupDataMap.put(KKW12701SFConst.INP_SVC_MOBILE, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_MOBILE_02));
		
		//  検索条件情報  入力用タイプ＿ホーム
		backupDataMap.put(KKW12701SFConst.INP_TYPE_HOME, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_HOME_02));
		//  検索条件情報  入力用タイプ＿メゾン
		backupDataMap.put(KKW12701SFConst.INP_TYPE_MEZON, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MEZON_02));
		//  検索条件情報  入力用タイプ＿マンション
		backupDataMap.put(KKW12701SFConst.INP_TYPE_MANSION, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MANSION_02));
		//  検索条件情報  入力用タイプ＿モバイル
		backupDataMap.put(KKW12701SFConst.INP_TYPE_MOBILE, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MOBILE_02));
		
		//  検索条件情報  申込日（ＦＲＯＭ）（年）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_STA_YEAR, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_YEAR_02));
		//  検索条件情報  申込日（ＦＲＯＭ）（月）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_STA_MON, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_MON_02));
		//  検索条件情報  申込日（ＦＲＯＭ）（日）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_STA_DAY, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_DAY_02));
		//  検索条件情報  申込日（ＴＯ）（年）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_END_YEAR, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_YEAR_02));
		//  検索条件情報  申込日（ＴＯ）（月）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_END_MON, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_MON_02));
		//  検索条件情報  申込日（ＴＯ）（月）
		backupDataMap.put(KKW12701SFConst.MSKM_YMD_END_DAY, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_DAY_02));

		// 選択された申込番号
		String selectMskmNo = bean.sendMessageString(KKW12701SFConst.MSKM_NO, X31CWebConst.DATABEAN_GET_VALUE);
		backupDataMap.put(KKW12701SFConst.MSKM_NO, selectMskmNo);
		
		// 選択された申込状態
		String selectMskmStat = bean.sendMessageString(KKW12701SFConst.MSKM_STAT, X31CWebConst.DATABEAN_GET_VALUE);
		backupDataMap.put(KKW12701SFConst.MSKM_STAT, selectMskmStat);
		
		// ソート項目Noを設定
		String sortItem = bean.sendMessageString(KKW12701SFConst.SORT_ITEM_NO, X31CWebConst.DATABEAN_GET_VALUE);
		backupDataMap.put(KKW12701SFConst.SORT_ITEM_NO, sortItem);

		// ソート区分を設定
		String sortDiv = bean.sendMessageString(KKW12701SFConst.SORT_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		backupDataMap.put(KKW12701SFConst.SORT_DIV, sortDiv);
		
		// 画面情報の設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW12701, backupDataMap);
	}

	/**
	 * 検索条件の保存。
	 * @param bean サービスフォームビーン
	 */
	private void saveSearchCondition(X31SDataBeanAccess bean)
	{
		X31SDataBeanAccess saveBean = bean.getDataBeanArray(KKW12701SFConst.SAVE_SEARCH_INFO).getDataBean(0);

		this.setData(saveBean, KKW12701SFConst.GRP_SHITEI_02, this.getData(bean, KKW12701SFConst.GRP_SHITEI));
		this.setData(saveBean, KKW12701SFConst.MSKM_PATTERN_02, this.getData(bean, KKW12701SFConst.MSKM_PATTERN));

		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_M_SHA));
		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_I_SHA));
		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA));
		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_T_SHA));
		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_B_SHA));
		this.setDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA_02, this.getDataB(bean, KKW12701SFConst.INP_AGNT_SBT_K_SHA));

		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_WEB_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_WEB));
		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_RYO_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_RYO));
		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_HOU_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_HOU));
		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_TEL_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_TEL));
		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB));
// ANK-3366-00-00 ADD START
		this.setDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS_02, this.getDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS));
// ANK-3366-00-00 ADD END

		this.setData(saveBean, KKW12701SFConst.MSKM_NO_BF_02, this.getData(bean, KKW12701SFConst.MSKM_NO_BF));
		this.setData(saveBean, KKW12701SFConst.MSKM_NO_AF_02, this.getData(bean, KKW12701SFConst.MSKM_NO_AF));
		this.setData(saveBean, KKW12701SFConst.TRAT_CD_02, this.getData(bean, KKW12701SFConst.TRAT_CD));
		this.setData(saveBean, KKW12701SFConst.MSKMSHO_NO_02, this.getData(bean, KKW12701SFConst.MSKMSHO_NO));
		this.setData(saveBean, KKW12701SFConst.UK_TNT_USER_ID_02, this.getData(bean, KKW12701SFConst.UK_TNT_USER_ID));
		this.setData(saveBean, KKW12701SFConst.TELNO_02, this.getData(bean, KKW12701SFConst.TELNO));
		this.setData(saveBean, KKW12701SFConst.KEISHA_KANA_02, this.getData(bean, KKW12701SFConst.KEISHA_KANA));

		this.setDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_NEW_02, this.getDataB(bean, KKW12701SFConst.INP_IDO_DIV_NEW));
		this.setDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_ADD_02, this.getDataB(bean, KKW12701SFConst.INP_IDO_DIV_ADD));
		this.setDataB(saveBean, KKW12701SFConst.INP_STAT_PDING_02, this.getDataB(bean, KKW12701SFConst.INP_STAT_PDING));
		this.setDataB(saveBean, KKW12701SFConst.INP_STAT_RTRN_02, this.getDataB(bean, KKW12701SFConst.INP_STAT_RTRN));
		this.setDataB(saveBean, KKW12701SFConst.INP_STAT_SHINSEI_02, this.getDataB(bean, KKW12701SFConst.INP_STAT_SHINSEI));
		this.setDataB(saveBean, KKW12701SFConst.INP_STAT_SHONIN_02, this.getDataB(bean, KKW12701SFConst.INP_STAT_SHONIN));
		this.setDataB(saveBean, KKW12701SFConst.INP_STAT_ABDMNT_02, this.getDataB(bean, KKW12701SFConst.INP_STAT_ABDMNT));
		this.setDataB(saveBean, KKW12701SFConst.INP_SVC_NET_02, this.getDataB(bean, KKW12701SFConst.INP_SVC_NET));
		this.setDataB(saveBean, KKW12701SFConst.INP_SVC_TEL_02, this.getDataB(bean, KKW12701SFConst.INP_SVC_TEL));
		this.setDataB(saveBean, KKW12701SFConst.INP_SVC_TV_02, this.getDataB(bean, KKW12701SFConst.INP_SVC_TV));
		this.setDataB(saveBean, KKW12701SFConst.INP_SVC_MOBILE_02, this.getDataB(bean, KKW12701SFConst.INP_SVC_MOBILE));

		this.setDataB(saveBean, KKW12701SFConst.INP_TYPE_HOME_02, this.getDataB(bean, KKW12701SFConst.INP_TYPE_HOME));
		this.setDataB(saveBean, KKW12701SFConst.INP_TYPE_MEZON_02, this.getDataB(bean, KKW12701SFConst.INP_TYPE_MEZON));
		this.setDataB(saveBean, KKW12701SFConst.INP_TYPE_MANSION_02, this.getDataB(bean, KKW12701SFConst.INP_TYPE_MANSION));
		this.setDataB(saveBean, KKW12701SFConst.INP_TYPE_MOBILE_02, this.getDataB(bean, KKW12701SFConst.INP_TYPE_MOBILE));

		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_STA_YEAR_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_STA_YEAR));
		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_STA_MON_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_STA_MON));
		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_STA_DAY_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_STA_DAY));
		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_END_YEAR_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_END_YEAR));
		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_END_MON_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_END_MON));
		this.setData(saveBean, KKW12701SFConst.MSKM_YMD_END_DAY_02, this.getData(bean, KKW12701SFConst.MSKM_YMD_END_DAY));
	}

	/**
	 * 検索条件の復元。
	 * @param bean サービスフォームビーン
	 */
	private void restoreSearchCondition(X31SDataBeanAccess bean)
	{
		// 保存用検索条件Bean
		X31SDataBeanAccess saveBean = bean.getDataBeanArray(KKW12701SFConst.SAVE_SEARCH_INFO).getDataBean(0);

		this.setData(bean, KKW12701SFConst.GRP_SHITEI, this.getData(saveBean, KKW12701SFConst.GRP_SHITEI_02));
		this.setData(bean, KKW12701SFConst.MSKM_PATTERN, this.getData(saveBean, KKW12701SFConst.MSKM_PATTERN_02));

		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_M_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_M_SHA_02));
		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_I_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_I_SHA_02));
		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_KC_SHA_02));
		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_T_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_T_SHA_02));
		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_B_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_B_SHA_02));
		this.setDataB(bean, KKW12701SFConst.INP_AGNT_SBT_K_SHA, this.getDataB(saveBean, KKW12701SFConst.INP_AGNT_SBT_K_SHA_02));

		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_WEB, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_WEB_02));
		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_RYO, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_RYO_02));
		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_HOU, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_HOU_02));
		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_TEL, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_TEL_02));
		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_JSYWEB_02));
// ANK-3366-00-00 ADD START
		this.setDataB(bean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS, this.getDataB(saveBean, KKW12701SFConst.INP_MSKM_KEIT_EOHORS_02));
// ANK-3366-00-00 ADD END

		this.setData(bean, KKW12701SFConst.MSKM_NO_BF, this.getData(saveBean, KKW12701SFConst.MSKM_NO_BF_02));
		this.setData(bean, KKW12701SFConst.MSKM_NO_AF, this.getData(saveBean, KKW12701SFConst.MSKM_NO_AF_02));
		this.setData(bean, KKW12701SFConst.TRAT_CD, this.getData(saveBean, KKW12701SFConst.TRAT_CD_02));
		this.setData(bean, KKW12701SFConst.MSKMSHO_NO, this.getData(saveBean, KKW12701SFConst.MSKMSHO_NO_02));
		this.setData(bean, KKW12701SFConst.UK_TNT_USER_ID, this.getData(saveBean, KKW12701SFConst.UK_TNT_USER_ID_02));
		this.setData(bean, KKW12701SFConst.TELNO, this.getData(saveBean, KKW12701SFConst.TELNO_02));
		this.setData(bean, KKW12701SFConst.KEISHA_KANA, this.getData(saveBean, KKW12701SFConst.KEISHA_KANA_02));

		this.setDataB(bean, KKW12701SFConst.INP_IDO_DIV_NEW, this.getDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_NEW_02));
		this.setDataB(bean, KKW12701SFConst.INP_IDO_DIV_ADD, this.getDataB(saveBean, KKW12701SFConst.INP_IDO_DIV_ADD_02));
		this.setDataB(bean, KKW12701SFConst.INP_STAT_PDING, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_PDING_02));
		this.setDataB(bean, KKW12701SFConst.INP_STAT_RTRN, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_RTRN_02));
		this.setDataB(bean, KKW12701SFConst.INP_STAT_SHINSEI, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_SHINSEI_02));
		this.setDataB(bean, KKW12701SFConst.INP_STAT_SHONIN, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_SHONIN_02));
		this.setDataB(bean, KKW12701SFConst.INP_STAT_ABDMNT, this.getDataB(saveBean, KKW12701SFConst.INP_STAT_ABDMNT_02));
		this.setDataB(bean, KKW12701SFConst.INP_SVC_NET, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_NET_02));
		this.setDataB(bean, KKW12701SFConst.INP_SVC_TEL, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_TEL_02));
		this.setDataB(bean, KKW12701SFConst.INP_SVC_TV, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_TV_02));
		this.setDataB(bean, KKW12701SFConst.INP_SVC_MOBILE, this.getDataB(saveBean, KKW12701SFConst.INP_SVC_MOBILE_02));

		this.setDataB(bean, KKW12701SFConst.INP_TYPE_HOME, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_HOME_02));
		this.setDataB(bean, KKW12701SFConst.INP_TYPE_MEZON, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MEZON_02));
		this.setDataB(bean, KKW12701SFConst.INP_TYPE_MANSION, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MANSION_02));
		this.setDataB(bean, KKW12701SFConst.INP_TYPE_MOBILE, this.getDataB(saveBean, KKW12701SFConst.INP_TYPE_MOBILE_02));
		
		this.setData(bean, KKW12701SFConst.MSKM_YMD_STA_YEAR, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_YEAR_02));
		this.setData(bean, KKW12701SFConst.MSKM_YMD_STA_MON, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_MON_02));
		this.setData(bean, KKW12701SFConst.MSKM_YMD_STA_DAY, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_STA_DAY_02));
		this.setData(bean, KKW12701SFConst.MSKM_YMD_END_YEAR, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_YEAR_02));
		this.setData(bean, KKW12701SFConst.MSKM_YMD_END_MON, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_MON_02));
		this.setData(bean, KKW12701SFConst.MSKM_YMD_END_DAY, this.getData(saveBean, KKW12701SFConst.MSKM_YMD_END_DAY_02));
	}

	/**
	 * サービスフォームビーンからkeyで指定されたデータを取得します。
	 * @param bean データビーン
	 * @param key キー
	 * @return 設定されているデータ
	 */
	private String getData(X31SDataBeanAccess bean, String key)
	{
		return bean.sendMessageString(key, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * サービスフォームビーンからkeyで指定されたデータを取得します。
	 * @param bean データビーン
	 * @param key キー
	 * @return 設定されているデータ
	 */
	private Boolean getDataB(X31SDataBeanAccess bean, String key)
	{
		return bean.sendMessageBoolean(key, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * サービスフォームビーンからkeyで指定されたデータを取得します。
	 * @param bean データビーン
	 * @param key キー
	 * @return 設定されているデータ
	 */
	private Long getDataL(X31SDataBeanAccess bean, String key)
	{
		return bean.sendMessageLong(key, X31CWebConst.DATABEAN_GET_VALUE);
	}

	/**
	 * beanのkeyの値をvalueに設定する。
	 * @param bean データビーン
	 * @param key キー
	 * @param value 設定する値
	 */
	private void setData(X31SDataBeanAccess bean, String key, String value)
	{
		bean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * beanのkeyの値をvalueに設定する。
	 * @param bean データビーン
	 * @param key キー
	 * @param value 設定する値
	 */
	private void setDataB(X31SDataBeanAccess bean, String key, Boolean value)
	{
		bean.sendMessageBoolean(key, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * beanのkeyの値をvalueに設定する。
	 * @param bean データビーン
	 * @param key キー
	 * @param value 設定する値
	 */
	private void setDataL(X31SDataBeanAccess bean, String key, Long value)
	{
		bean.sendMessageLong(key, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * 承認権限有無を返します。
	 * @return true: 承認権限あり、false: 承認権限なし
	 */
	private boolean hasShoninAuth()
	{
		// 2012/04/06 追加 -->
		// グループ
		/*
		 * 電話申込/書面申込の判断（権限リスト取得から、申込形態コードを判断）
		 */
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		JCCAuthorityCtrlStatus.setAuthorityCtrl(this);
		String shoninAuth = JKKStrConst.SHONIN_KENGEN_NASHI; 

		X31SDataBeanAccessArray authList = commoninfoBean.getDataBeanArray(CommonInfoCFConst.REQUEST_AUTHORITY_LIST);

		for(int i = 0; i <= authList.getCount() - 1; i++)
		{
			X31SDataBeanAccess authBean  = authList.getDataBean(i);
			String auth_cd = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_03, X31CWebConst.DATABEAN_GET_VALUE);
			String auth_flg = authBean.sendMessageString(CommonInfoCFConst.REQUEST_AUTHORITY_FLG_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (JKKStrConst.MSKM_SHONIN.equals(auth_cd) && !"NG".equals(auth_flg))
			{
				// 申込承認権限 あり
				if ("0".equals(auth_flg))
				{
					shoninAuth = JKKStrConst.SHONIN_KENGEN_ARI;
				}
				// 申込承認権限 なし
				else if ("1".equals(auth_flg))
				{
					shoninAuth = JKKStrConst.SHONIN_KENGEN_NASHI;
				}
			}
		}

		return ("0".equals(shoninAuth) ? true: false);
	}

	/**
	 * 画面遷移先を設定します。
	 * @param nextScreenId 遷移先画面ＩＤ
	 * @param nextScreenName 遷移先画面名
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
	
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

		X31SWebLog.DEBUG_LOG.debug(String.format("%s(%s)へ遷移します", nextScreenName, nextScreenId));
	}

	/**
	 * 文字列からサブ文字列を切り出します。指定のインデックスが不正だった場合でも例外を発生させません。
	 * @param org 元の文字列
	 * @param start 切り出し開始インデックス
	 * @param end 切り出し終了インデックス
	 * @return 切り出された文字列
	 */
	private String substr(String org, int start, int end)
	{
		if (org == null)
		{
			return "";
		}
		
		int length = org.length();
		int iStart = start;
		int iEnd = end;
		
		if (length < iEnd)
		{
			iEnd = length;
		}
		
		if (iEnd < iStart)
		{
			return "";
		}
		
		if (iStart < 0)
		{
			iStart = 0;
		}
		
		return org.substring(iStart, iEnd);
	}
	
	/**
	 * ステータスの判定
	 * @param mskmStat
	 * @param selectMskmStat
	 * @return true(OK)/false(NG)
	 */
	private boolean mskmStatCheck(String mskmStat, String selectMskmStat)
	{
		//保留の場合
		if(MSKM_PDING.equals(selectMskmStat))
		{
			//遷移前の申込ステータスと処理中の申込ステータス
			if(mskmStat.equals(selectMskmStat))
			{
				return true;
			}
		}
		else
		{
			//処理中のステータスが保留以外の場合
			if(!MSKM_PDING.equals(mskmStat))
			{
				return true;
			}
		}
		return false;
	}
}
