/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：契約管理システム
*   モジュール名    ：同番移転情報一覧
*   ソースファイル名：KKW13801SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年08月10日
*＜機能概要＞
*   同番移転情報一覧の表示を行う。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v4.00.00    2012/08/10   FJ）大木    新規作成
*   v4.00.01    2012/10/03   FJ）大木    画面組換え対応
*   v4.00.02    2013/04/05   FJ）坂本    「TAI-2013-0000012」画面設計規約の実装チェック
**********************************************************************/
package eo.web.webview.KKW13801SF;

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 com.fujitsu.futurity.web.x33.beans.X33VDataTypeList;

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.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0628_KKSV0628OPDBMapper;
import eo.web.webview.mapping.KKSV0629_KKSV0629OPDBMapper;

/**
 * 同番移転情報一覧の表示を行う。
 * <p>
 * <BR>
 * 
 * @author 富士通
 */
@SuppressWarnings("serial")
public class KKW13801SFLogic extends JCCWebBusinessLogic
{

	/** サービスコンポーネント名 */
	private static final String SC_NAME_KKSV062901SC = "KKSV062901SC";

	/** 日付デフォルト値 */
	private static final String DEFAULT_DATE = "2099/12/31";

	/** 検索結果：同番移転ステータス（未連携） */
	private static final String DOBANITEN_STAT_999_NM = "未連携";

	/** 同番移転ステータス 999:未連携*/
	private static final String DOBANITEN_STAT_999 = "999";

	/** 同番移転ステータス 021:NTT送信待ち */
	private static final String DOBANITEN_STAT_021 = "021";
	/** 同番移転ステータス 050:同番移転完了 */
	private static final String DOBANITEN_STAT_050 = "050";
	/** 同番移転ステータス 090:同番移転取消 */
	private static final String DOBANITEN_STAT_090 = "090";

	/** 同番移転依頼制御コード 保留 */
	private static final String DOBANITEN_IRAI_CTRL_0 = "0";
	/** 同番移転依頼制御コード 連携不要 */
	private static final String DOBANITEN_IRAI_CTRL_2 = "2";

	/** ボタン制御（活性） */
	private static final String BTN_FLG_ENABLED  = "0";
	/** ボタン制御（非活性） */
	private static final String BTN_FLG_DISABLED = "1";
	/** ボタン制御（非表示） */
	private static final String BTN_FLG_NOTDISP  = "2";

	/**
	 * 初期表示処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionInit() throws Exception
	{
		// 変数の定義
		boolean reSearchFlg = false;

		// 引継情報MAPの取得
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// ボタン活性／非活性／非表示設定
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		String preScreenId = JCCWebCommon.getScreenId(this);
		if (preScreenId == null || "".equals(preScreenId))
		{
			// 閉じるボタン活性
			paramBean[0].sendMessageString(KKW13801SFConst.CL_BTN_FLG,   X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_ENABLED);
			// 戻るボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.BACK_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
		}
		else
		{
			// 閉じるボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.CL_BTN_FLG,   X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
			// 戻るボタン活性
			paramBean[0].sendMessageString(KKW13801SFConst.BACK_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_ENABLED);
		}
		// 変更ボタン非表示
		paramBean[0].sendMessageString(KKW13801SFConst.CHG_BTN_FLG,    X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
		// 取消ボタン非表示
		paramBean[0].sendMessageString(KKW13801SFConst.CANCEL_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);

		// 同番移転情報一覧初期表示サービス実行処理
		executeInitSvc(paramBean);

		// 再検索フラグの取得
		reSearchFlg = paramBean[0].sendMessageBoolean(KKW13801SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		if (reSearchFlg)
		{
			// ---------------------------------
			// 別画面からの戻り
			// ---------------------------------
			// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			// サービスフォームBeanの入力項目値の復元
			// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			// 世代登録年月日時分秒（年）
			paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_GET_VALUE));
			// 世代登録年月日時分秒（月）
			paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_GET_VALUE));
			// 世代登録年月日時分秒（日）
			paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約番号
			paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SVC_KEI_NO,      X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_SVC_KEI_NO,      X31CWebConst.DATABEAN_GET_VALUE));
			// 同番移転電話番号
			paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_DOBANITEN_TEL,   X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_TEL,   X31CWebConst.DATABEAN_GET_VALUE));

			// プルダウンの初期表示値設定（当画面戻り用）処理
			setPulldownReSearch(paramBean);

			// 同番移転情報リスト取得サービス実行処理
			executeSearchSvc(paramBean);
		}
		else
		{
			// ---------------------------------
			// メニューからの遷移
			// ---------------------------------
			// プルダウンの初期表示値設定処理
			setPulldownInit(paramBean);

			// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			// サービスフォームBeanの制御項目の初期値設定
			// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			// ソート項目ｂﾌ設定
			paramBean[0].sendMessageString(KKW13801SFConst.SORT_ITEM_NO, X31CWebConst.DATABEAN_SET_VALUE, "1");
			// ソート区分の設定
			paramBean[0].sendMessageString(KKW13801SFConst.SORT_KBN,     X31CWebConst.DATABEAN_SET_VALUE, "1");
			// 選択状態の設定
			paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_SET_VALUE, "");
		}

		// 再検索フラグ
		paramBean[0].sendMessageBoolean(KKW13801SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);

		// 自画面情報の設定
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW13801);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW13801);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 検索ボタン処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return 	boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionSearch() throws Exception
	{
		// 変数の定義
		String geneAddDtm;

		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanの入力項目値の保存
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 検索条件_世代登録年月日時分秒（年）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_世代登録年月日時分秒（月）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_世代登録年月日時分秒（日）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_サービス契約番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_SVC_KEI_NO,      X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SVC_KEI_NO,      X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_同番移転電話番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_TEL,   X31CWebConst.DATABEAN_SET_VALUE, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_DOBANITEN_TEL,   X31CWebConst.DATABEAN_GET_VALUE));

		// 世代登録年月日時分秒
		geneAddDtm = paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_GET_VALUE)
			+ paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_GET_VALUE)
			+ paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_GET_VALUE);
		// 検索条件_世代登録年月日時分秒
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_YMD,  X31CWebConst.DATABEAN_SET_VALUE, geneAddDtm);

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanのプルダウンの保存
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		setPulldownSelCdAll(paramBean);

		// ページ情報のクリア
		JCCWebCommon.clearPageLinkInfo(this, "KKW138010PJP");

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanの制御項目のクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// ソート項目ｂﾌ設定
		paramBean[0].sendMessageString(KKW13801SFConst.SORT_ITEM_NO, X31CWebConst.DATABEAN_SET_VALUE, "1");
		// ソート区分の設定
		paramBean[0].sendMessageString(KKW13801SFConst.SORT_KBN,     X31CWebConst.DATABEAN_SET_VALUE, "1");
		// 2013/04/03 TAI-2013-0000012_画面設計規約の実装チェック START 
		// 選択状態の設定
		//paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_SET_VALUE, "");
		paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_SET_VALUE, "0");
		// 2013/04/03 TAI-2013-0000012_画面設計規約の実装チェック END

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 同番移転選択情報のクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		X31SDataBeanAccessArray selectList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		if (selectList != null){ selectList.clearArray(); }

		// 同番移転情報リスト取得サービス実行処理
		executeSearchSvc(paramBean);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * クリアボタン処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionClear() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanの入力項目値のクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 世代登録年月日時分秒（年）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_SET_VALUE, "");
		// 世代登録年月日時分秒（月）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_SET_VALUE, "");
		// 世代登録年月日時分秒（日）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_SET_VALUE, "");
		// サービス契約番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SVC_KEI_NO,      X31CWebConst.DATABEAN_SET_VALUE, "");
		// 同番移転電話番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_DOBANITEN_TEL,   X31CWebConst.DATABEAN_SET_VALUE, "");

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanのプルダウンのクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// プルダウンの初期表示値設定処理
		setPulldownInit(paramBean);

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// サービスフォームBeanの制御項目のクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 検索条件_世代登録年月日時分秒（年）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,        X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_世代登録年月日時分秒（月）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M,       X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_世代登録年月日時分秒（日）
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,        X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_サービス契約番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_SVC_KEI_NO,            X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_同番移転電話番号
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_TEL,         X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_同番移転ステータス
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_STAT,        X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_同番移転依頼制御コード
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_REQ_CTRL_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_同番移転判定コード
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_JDG_CD,      X31CWebConst.DATABEAN_SET_VALUE, "");
		// 検索条件_世代登録年月日時分秒
		paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_YMD,          X31CWebConst.DATABEAN_SET_VALUE, "");

		// ソート項目
		paramBean[0].sendMessageString(KKW13801SFConst.SORT_ITEM_NO, X31CWebConst.DATABEAN_SET_VALUE, "1");
		// ソート区分
		paramBean[0].sendMessageString(KKW13801SFConst.SORT_KBN,     X31CWebConst.DATABEAN_SET_VALUE, "1");
		// 選択状態
		paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_SET_VALUE, "");
		// 同番移転情報リスト表示フラグ
		paramBean[0].sendMessageBoolean(KKW13801SFConst.DOBANITEN_LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 同番移転情報リストのクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		X31SDataBeanAccessArray dobanitenList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_INFO_LIST);
		if (dobanitenList != null){ dobanitenList.clearArray(); }

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 同番移転選択情報のクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		X31SDataBeanAccessArray selectList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		if (selectList != null){ selectList.clearArray(); }

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// ボタン活性／非活性／非表示設定
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 変更ボタン非表示
		paramBean[0].sendMessageString(KKW13801SFConst.CHG_BTN_FLG,    X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
		// 取消ボタン非表示
		paramBean[0].sendMessageString(KKW13801SFConst.CANCEL_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * ページングリンク処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionPaging() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// 同番移転選択情報保存処理
		setDobanitenSelectInfo(paramBean);

		// 同番移転情報リスト取得サービス実行処理
		executeSearchSvc(paramBean);
		
		// 2013/04/03 TAI-2013-0000012_画面設計規約の実装チェック START 
		// 選択状態の設定
		paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_SET_VALUE, "0");
		// 2013/04/03 TAI-2013-0000012_画面設計規約の実装チェック END

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * ソート処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionSort() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// 同番移転選択情報保存処理
		setDobanitenSelectInfo(paramBean);

		// 同番移転情報リスト取得サービス実行処理
		executeSearchSvc(paramBean);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 変更ボタン処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionUpdate() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// 同番移転選択情報保存処理
		setDobanitenSelectInfo(paramBean);

		// チェック処理
		if (! checkActionUpdate(paramBean))
		{
			// チェックエラーの場合
			return false;
		}

		// 再検索フラグ
		paramBean[0].sendMessageBoolean(KKW13801SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

		// 引継情報MAP作成処理
		setTransferData(paramBean, JKKScreenConst.SCREEN_ID_KKW13802);

		// 引継情報MAP（当画面戻り用）作成処理
		setSearchData(paramBean);

		// 戻り先画面IDの設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW13802, JKKScreenConst.SCREEN_ID_KKW13801);

		// 遷移先情報の設定 発行取消確認画面
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW13802);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 取消ボタン処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionDelete() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスの取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = { bean };

		// 同番移転選択情報保存処理
		setDobanitenSelectInfo(paramBean);

		// チェック処理
		if (! checkActionDelete(paramBean))
		{
			// チェックエラーの場合
			return false;
		}

		// 再検索フラグ
		paramBean[0].sendMessageBoolean(KKW13801SFConst.RE_SEARCH_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

		// 引継情報MAP作成処理
		setTransferData(paramBean, JKKScreenConst.SCREEN_ID_KKW13803);

		// 引継情報MAP（当画面戻り用）作成処理
		setSearchData(paramBean);

		// 戻り先画面IDの設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW13803, JKKScreenConst.SCREEN_ID_KKW13801);

		// 遷移先情報の設定 発行取消確認画面
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,   X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW13803);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 戻るボタン処理を行います。 <br>
	 * 
	 * @param		なし
	 * @return		boolean		true[正常]
	 * @exception	Exceptionがスローされます。
	 */
	public boolean actionBack() throws Exception
	{
		// 戻り先画面情報の設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * 同番移転情報一覧初期表示サービス実行処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 * @exception	Exceptionがスローされます。
	 */
	private void executeInitSvc(X31SDataBeanAccess[] paramBean) throws Exception
	{
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		//
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0628);
		// オペレーションID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0628OP);

		// マッピングインスタンス生成
		KKSV0628_KKSV0628OPDBMapper mapper = new KKSV0628_KKSV0628OPDBMapper();

		// 上りマッピング「コード名称管理一覧照会SC（同番移転ステータス）」
		mapper.setKKSV062801SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		// 上りマッピング「コード名称管理一覧照会SC（同番移転依頼制御コード）」
		mapper.setKKSV062802SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
		// 上りマッピング「コード名称管理一覧照会SC（同番移転判定コード）」
		mapper.setKKSV062803SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);

		// 同番移転情報一覧初期表示サービス
		invokeService(paramMap, inputMap, outputMap);

		// 下りマッピング「コード名称管理一覧照会SC（同番移転ステータス）」
		mapper.getKKSV062801SC(paramBean, outputMap);
		// 下りマッピング「コード名称管理一覧照会SC（同番移転依頼制御コード）」
		mapper.getKKSV062802SC(paramBean, outputMap);
		// 下りマッピング「コード名称管理一覧照会SC（同番移転判定コード）」
		mapper.getKKSV062803SC(paramBean, outputMap);
	}

	/**
	 * 同番移転情報リスト取得サービス実行処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void executeSearchSvc(X31SDataBeanAccess[] paramBean)
	{
		// 変数の定義
		HashMap<String, Object> paramMap  = new HashMap<String, Object>();		// パラメタ設定用マップ
		HashMap<String, Object> inputMap  = new HashMap<String, Object>();		// データマップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();		// 結果格納用マップ

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		// 同番移転情報リストのクリア
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		X31SDataBeanAccessArray dobanitenList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_INFO_LIST);
		if (dobanitenList != null){ dobanitenList.clearArray(); }

		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID,   JKKCommonConst.UCID_KKSV0629);
		// オペレーションID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0629OP);

		// マッピングインスタンス生成
		KKSV0629_KKSV0629OPDBMapper mapper = new KKSV0629_KKSV0629OPDBMapper();

		// 上りマッピング「同番移転情報リスト取得SC」
		mapper.setKKSV062901SC(paramBean, inputMap, getKKSV062901SCFuncCode(paramBean));

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", SC_NAME_KKSV062901SC, inputMap);

		// 同番移転情報リスト取得サービス
		invokeService(paramMap, inputMap, outputMap);

		// 下りマッピング「同番移転情報リスト取得SC」
		mapper.getKKSV062901SC(paramBean, outputMap);

		// 同番移転情報リスト項目値整備処理
		setDobanitenListFormat(paramBean);

		// 選択行取得処理
		compareDobanitenSelectInfo(paramBean);

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "0", SC_NAME_KKSV062901SC, outputMap);

		// ページングのコマンドIDの設定
		JCCWebCommon.setSearchCommand(this, "paging");

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(SC_NAME_KKSV062901SC, outputMap);

		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// ---------------------------------
			// 検索結果が0件の場合の処理
			// ---------------------------------
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);

			// 同番移転情報リスト表示フラグ
			paramBean[0].sendMessageBoolean(KKW13801SFConst.DOBANITEN_LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);

			// 変更ボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.CHG_BTN_FLG,    X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
			// 取消ボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.CANCEL_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// ---------------------------------
			// 表示ページに該当するデータがない場合の処理
			// ---------------------------------
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);

			// 同番移転情報リスト表示フラグ
			paramBean[0].sendMessageBoolean(KKW13801SFConst.DOBANITEN_LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);

			// 変更ボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.CHG_BTN_FLG,    X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
			// 取消ボタン非表示
			paramBean[0].sendMessageString(KKW13801SFConst.CANCEL_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_NOTDISP);
		}
		else
		{
			// ---------------------------------
			// 検索が正常に完了した場合の処理
			// ---------------------------------
			// 同番移転情報リスト表示フラグ
			paramBean[0].sendMessageBoolean(KKW13801SFConst.DOBANITEN_LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);

			// 変更ボタン活性
			paramBean[0].sendMessageString(KKW13801SFConst.CHG_BTN_FLG,    X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_ENABLED);
			// 取消ボタン活性
			paramBean[0].sendMessageString(KKW13801SFConst.CANCEL_BTN_FLG, X31CWebConst.DATABEAN_SET_VALUE, BTN_FLG_ENABLED);
		}
	}

	/**
	 * 同番移転情報リスト項目値整備処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void setDobanitenListFormat(X31SDataBeanAccess[] paramBean)
	{
		// 同番移転情報リストの取得
		X31SDataBeanAccessArray dobanitenList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_INFO_LIST);

		for (int cnt = 0; cnt < dobanitenList.getCount(); cnt++)
		{
			// 選択行データの取得
			X31SDataBeanAccess listDataBean = dobanitenList.getDataBean(cnt);

			// 同番移転情報リスト.詳細_同番移転登録日
			String strDispGeneAddDtm = listDataBean.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_02, X31CWebConst.DATABEAN_GET_VALUE);
			// 空ではない場合
			if (! "".equals(strDispGeneAddDtm))
			{
				// 「YYYY/MM/DD」形式に変換
				strDispGeneAddDtm = strDispGeneAddDtm.substring(0, 4) + "/" + strDispGeneAddDtm.substring(4, 6) + "/" + strDispGeneAddDtm.substring(6, 8);

				if (DEFAULT_DATE.equals(strDispGeneAddDtm))
				{
					// 同番移転登録日が「2099/12/31」の場合、空文字に変更
					listDataBean.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, "");
				} 
				else
				{
					listDataBean.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_02, X31CWebConst.DATABEAN_SET_VALUE, strDispGeneAddDtm);
				}
			}

			// 同番移転情報リスト.詳細_同番移転ステータス
			String strDobanitenState = listDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_02, X31CWebConst.DATABEAN_GET_VALUE);
			// 空の場合
			if ("".equals(strDobanitenState))
			{
				// 「未連携」をセット
				listDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_NM_02, X31CWebConst.DATABEAN_SET_VALUE, DOBANITEN_STAT_999_NM);
			}
		}
	}

	/**
	 * プルダウン初期表示値設定処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void setPulldownInit(X31SDataBeanAccess[] paramBean)
	{
		// 初期値設定「同番移転ステータスプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_STAT,        "");

		// 初期値設定「同番移転依頼制御コードプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_REQ_CTRL_CD, "");

		// 初期値設定「同番移転判定コードプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_JDG_CD,      "");
	}

	/**
	 * プルダウン初期表示値設定（当画面戻り用）処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void setPulldownReSearch(X31SDataBeanAccess[] paramBean)
	{
		// 初期値設定「同番移転ステータスプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_STAT,        paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_STAT,        X31CWebConst.DATABEAN_GET_VALUE));

		// 初期値設定「同番移転依頼制御コードプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_REQ_CTRL_CD, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_REQ_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 初期値設定「同番移転判定コードプルダウン」
		setPulldownIndex(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_JDG_CD,      paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_JDG_CD,      X31CWebConst.DATABEAN_GET_VALUE));
	}

	/**
	 * コード値を元にプルダウンの添え字を設定します。 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @param		pullDownName		プルダウン項目名
	 * @param		selectCd			選択中のコード値
	 * @return		なし
	 */
	private void setPulldownIndex(X31SDataBeanAccess[] paramBean, String pullDownName, String selectCd)
	{
		// プルダウンリストの取得
		X31SDataBeanAccessArray pulldownInfoList = paramBean[0].getDataBeanArray(pullDownName);
		X31SDataBeanAccess pulldownInfoBean = pulldownInfoList.getDataBean(0);

		// コードリストの要素数の取得
		int maxCnt = (Integer)pulldownInfoBean.sendMessage(KKW13801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_COUNT);

		// 《繰返条件》
		// コードリストの要素数分繰り返す
		for (int cnt = 0; cnt < maxCnt; cnt++)
		{
			// コードリストの要素取得
			String pulldownCode = pulldownInfoBean.sendMessageString(KKW13801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, cnt);
			// コードが一致した場合
			if (selectCd.equals(pulldownCode))
			{
				// コードの格納されている要素のindexを添え字に設定
				pulldownInfoBean.sendMessageString(KKW13801SFConst.INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(cnt));
				break;
			}
		}

		return;
	}

	/**
	 * プルダウン選択値保存処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void setPulldownSelCdAll(X31SDataBeanAccess[] paramBean)
	{
		// 選択値保存「同番移転ステータス」
		setPulldownSelCd(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_STAT,        KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_STAT);

		// 選択値保存「同番移転依頼制御コード」
		setPulldownSelCd(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_REQ_CTRL_CD, KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_REQ_CTRL_CD);

		// 選択値保存「同番移転判定コード」
		setPulldownSelCd(paramBean, KKW13801SFConst.SEARCH_DOBANITEN_JDG_CD,      KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_JDG_CD);
	}

	/**
	 * 選択されているプルダウンのコード値を保存します。 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @param		pullDownName		プルダウン項目名
	 * @param		saveCdName			保存先の項目名
	 * @return		なし
	 */
	private void setPulldownSelCd(X31SDataBeanAccess[] paramBean, String pullDownName, String saveCdName)
	{
		// プルダウンリストの取得
		X31SDataBeanAccessArray pulldownInfoList = paramBean[0].getDataBeanArray(pullDownName);
		X31SDataBeanAccess pulldownInfoBean = pulldownInfoList.getDataBean(0);

		// 添え字の取得
		String pulldownInfoBeanIndex = pulldownInfoBean.sendMessageString(KKW13801SFConst.INDEX_01,       X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String pulldownInfoBeanValue = pulldownInfoBean.sendMessageString(KKW13801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(pulldownInfoBeanIndex));
		// コードの保存
		paramBean[0].sendMessageString(saveCdName, X31CWebConst.DATABEAN_SET_VALUE, pulldownInfoBeanValue);
	}

	/**
	 * 選択されている同番移転ステータスが"未連携"かそれ以外かを判断します。 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		String				1[未連携以外] 2[未連携]
	 */
	private String getKKSV062901SCFuncCode(X31SDataBeanAccess[] paramBean)
	{
		// 変数の定義
		String retStr;

		// プルダウンリストの取得
		X31SDataBeanAccessArray pulldownInfoList = paramBean[0].getDataBeanArray(KKW13801SFConst.SEARCH_DOBANITEN_STAT);
		X31SDataBeanAccess pulldownInfoBean = pulldownInfoList.getDataBean(0);

		// 添え字の取得
		String dobanitenStateIndex = pulldownInfoBean.sendMessageString(KKW13801SFConst.INDEX_01,       X31CWebConst.DATABEAN_GET_VALUE);
		// 添え字からコードを取得
		String dobanitenStateValue = pulldownInfoBean.sendMessageString(KKW13801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(dobanitenStateIndex));
		
		// 	OT-2013-0000311 2013/03/26 START
		if (DOBANITEN_STAT_999.equals(dobanitenStateValue))
		{
			// ---------------------------------
			// 未連携の場合
			// ---------------------------------
			//retStr = JKKCommonConst.FUNC_CODE_2;
			retStr = JKKCommonConst.FUNC_CODE_4;
		} else {
			// ---------------------------------
			// 未連携以外の場合
			// ---------------------------------
			//retStr = JKKCommonConst.FUNC_CODE_1;
			retStr = JKKCommonConst.FUNC_CODE_3;
		}
		// OT-2013-0000311 2013/03/26 END

		return retStr;
	}

	/**
	 * 同番移転選択情報保存処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void setDobanitenSelectInfo(X31SDataBeanAccess[] paramBean)
	{
		// 同番移転情報リストの取得
		X31SDataBeanAccessArray dobanitenList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_INFO_LIST);
		// 同番移転選択情報の取得
		X31SDataBeanAccessArray selectList    = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);

		// 選択行が存在しない場合は、何もしない
		if ("".equals(paramBean[0].sendMessageString(KKW13801SFConst.SLT, X31CWebConst.DATABEAN_GET_VALUE))){ return; }

		// 同番移転選択情報のクリア
		selectList.clearArray();

		// 選択行データの取得
		X31SDataBeanAccess selDataBean = dobanitenList.getDataBean(Integer.parseInt(paramBean[0].sendMessageString(KKW13801SFConst.SLT, X31CWebConst.DATABEAN_GET_VALUE)));

		// 同番移転選択情報の行追加
		X31SDataBeanAccess newBean = selectList.addDataBean();

		// 同番移転登録日
		newBean.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_03,             X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_02,             X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査依頼（コード）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_03,    X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_02,    X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査依頼（コード名称）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_NM_03, X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_NM_02, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様ID
		newBean.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_NO_03,               X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_NO_02,               X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者名
		newBean.sendMessageString(KKW13801SFConst.DETAIL_KEISHA_NM_03,                X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_KEISHA_NM_02,                X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ有無（コード）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_BMP_UM_03,                   X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_BMP_UM_02,                   X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ有無（コード名称）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_BMP_UM_NM_03,                X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_BMP_UM_NM_02,                X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転電話番号
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_TEL_03,            X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_TEL_02,            X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転ステータス（コード）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_03,           X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_02,           X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転ステータス（コード名称）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_NM_03,        X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_NM_02,        X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査結果登録（コード）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_JDG_CD_03,         X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_JDG_CD_02,         X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査結果登録（コード名称）
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_JDG_CD_NM_03,      X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_JDG_CD_NM_02,      X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転番号
		newBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_NO_03,             X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_NO_02,             X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		newBean.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_UCWK_NO_03,          X31CWebConst.DATABEAN_SET_VALUE, selDataBean.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_UCWK_NO_02,          X31CWebConst.DATABEAN_GET_VALUE));
	}

	/**
	 * 選択行取得処理 <br>
	 * 
	 * @param		paramBean			DataBean項目の配列
	 * @return		なし
	 */
	private void compareDobanitenSelectInfo(X31SDataBeanAccess[] paramBean)
	{
		// 同番移転情報リストの取得
		X31SDataBeanAccessArray dobanitenList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_INFO_LIST);
		// 同番移転選択情報の取得
		X31SDataBeanAccessArray selectList    = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		X31SDataBeanAccess selectInfo = selectList.getDataBean(0);

		// 同番移転選択情報が存在しない場合、何もしない
		if (selectInfo == null){ return; }

		// 現在行の同番移転番号
		String nowDobanitenNo;
		// 現在行のサービス契約内訳番号
		String nowSvcKeiUcwkNo;
		// 選択行の同番移転番号
		String selDobanitenNo  = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_NO_03,    X31CWebConst.DATABEAN_GET_VALUE);
		// 選択行のサービス契約内訳番号
		String selSvcKeiUcwkNo = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_UCWK_NO_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 一旦、選択行をクリアする
		paramBean[0].sendMessageString(KKW13801SFConst.SLT, X31CWebConst.DATABEAN_SET_VALUE, "");

		for (int cnt = 0; cnt < dobanitenList.getCount(); cnt++)
		{
			// 同番移転情報リストの行データの取得
			X31SDataBeanAccess dataBean = dobanitenList.getDataBean(cnt);

			// 現在行の同番移転番号
			nowDobanitenNo  = dataBean.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_NO_02,    X31CWebConst.DATABEAN_GET_VALUE);
			// 現在行のサービス契約内訳番号
			nowSvcKeiUcwkNo = dataBean.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_UCWK_NO_02, X31CWebConst.DATABEAN_GET_VALUE);

			if (selDobanitenNo.equals(nowDobanitenNo) && selSvcKeiUcwkNo.equals(nowSvcKeiUcwkNo))
			{
				// 同番移転番号とサービス契約内訳番号が一致する場合、選択行であると認識
				paramBean[0].sendMessageString(KKW13801SFConst.SLT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(cnt));
				break;
			}
		}
	}

	/**
	 * 引継情報MAP作成処理 <br>
	 * 
	 * @param		paramBean	DataBean項目の配列
	 * @return		なし
	 */
	private void setTransferData(X31SDataBeanAccess[] paramBean, String screenId)
	{
		// 引継情報MAP作成
		HashMap<String, Object> dataMap     = new HashMap<String, Object>();

		// 引継同番移転選択情報MAP作成
		X33VDataTypeList transferInfo       = new X33VDataTypeList();
		HashMap<String, Object> transferMap = new HashMap<String, Object>();

		// 同番移転選択情報の取得
		X31SDataBeanAccessArray selectList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		X31SDataBeanAccess selectInfo = selectList.getDataBean(0);

		// 同番移転登録日
		transferMap.put("同番移転登録日",       selectInfo.sendMessageString(KKW13801SFConst.DETAIL_GENE_ADD_DTM_03,          X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査依頼
		transferMap.put("可否調査依頼",         selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様ID
		transferMap.put("お客様ＩＤ",           selectInfo.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_NO_03,            X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者名
		transferMap.put("契約者名",             selectInfo.sendMessageString(KKW13801SFConst.DETAIL_KEISHA_NM_03,             X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ有無
		transferMap.put("番ポ有無",             selectInfo.sendMessageString(KKW13801SFConst.DETAIL_BMP_UM_03,                X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転電話番号
		transferMap.put("同番移転電話番号",     selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_TEL_03,         X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転ステータス
		transferMap.put("同番移転ステータス",   selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_03,        X31CWebConst.DATABEAN_GET_VALUE));
		// 可否調査結果登録
		transferMap.put("可否調査結果登録",     selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_JDG_CD_03,      X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転番号
		transferMap.put("同番移転番号",         selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_NO_03,          X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		transferMap.put("サービス契約内訳番号", selectInfo.sendMessageString(KKW13801SFConst.DETAIL_SVC_KEI_UCWK_NO_03,       X31CWebConst.DATABEAN_GET_VALUE));

		// 引継同番移転選択情報の格納
		transferInfo.add(transferMap);
		dataMap.put("顧客契約引継リスト", transferInfo);

		// 引継情報MAP生成
		JCCWebCommon.setScreenInfo(this, screenId, dataMap);
	}

	/**
	 * 引継情報MAP作成処理（当画面戻り用） <br>
	 * 
	 * @param		paramBean	DataBean項目の配列
	 * @return		なし
	 */
	private void setSearchData(X31SDataBeanAccess[] paramBean)
	{
		// 変数の定義
		String geneAddDtm;

		// 引継情報MAP作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 検索条件_世代登録年月日時分秒（年）
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,        paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,        X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_世代登録年月日時分秒（月）
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M,       paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M,       X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_世代登録年月日時分秒（日）
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,        paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,        X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_サービス契約番号
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_SVC_KEI_NO,            paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_SVC_KEI_NO,            X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_同番移転電話番号
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_TEL,         paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_TEL,         X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_同番移転ステータス
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_STAT,        paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_STAT,        X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_同番移転依頼制御コード
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_REQ_CTRL_CD, paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_REQ_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 検索条件_同番移転判定コード
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_JDG_CD,      paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_DOBANITEN_JDG_CD,      X31CWebConst.DATABEAN_GET_VALUE));

		// 再検索フラグ
		dataMap.put(KKW13801SFConst.RE_SEARCH_FLG,                       paramBean[0].sendMessageBoolean(KKW13801SFConst.RE_SEARCH_FLG,                      X31CWebConst.DATABEAN_GET_VALUE));

		// 世代登録年月日時分秒
		geneAddDtm = paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_Y,  X31CWebConst.DATABEAN_GET_VALUE)
			+ paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTMD_M, X31CWebConst.DATABEAN_GET_VALUE)
			+ paramBean[0].sendMessageString(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_DTM_D,  X31CWebConst.DATABEAN_GET_VALUE);
		// 検索条件_世代登録年月日時分秒
		dataMap.put(KKW13801SFConst.SEARCH_SEARCH_GENE_ADD_YMD, geneAddDtm);

		// ソート項目ｂﾌ設定
		dataMap.put(KKW13801SFConst.SORT_ITEM_NO, paramBean[0].sendMessageString(KKW13801SFConst.SORT_ITEM_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// ソート区分の設定
		dataMap.put(KKW13801SFConst.SORT_KBN,     paramBean[0].sendMessageString(KKW13801SFConst.SORT_KBN,     X31CWebConst.DATABEAN_GET_VALUE));

		// 2013/04/05 TAI-2013-0000012_画面設計規約の実装チェック START 
		// 選択状態の設定
		dataMap.put(KKW13801SFConst.SLT,          paramBean[0].sendMessageString(KKW13801SFConst.SLT,          X31CWebConst.DATABEAN_GET_VALUE));
		// 2013/04/05 TAI-2013-0000012_画面設計規約の実装チェック END 
		
		// 引継情報MAP生成
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW13801, dataMap);
	}

	/**
	 * 変更ボタン押下時チェック処理 <br>
	 * 
	 * @param		paramBean	DataBean項目の配列
	 * @return		boolean		false[チェックエラー] true[チェックＯＫ]
	 */
	private boolean checkActionUpdate(X31SDataBeanAccess[] paramBean)
	{
		// 同番移転選択情報の取得
		X31SDataBeanAccessArray selectList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		X31SDataBeanAccess selectInfo = selectList.getDataBean(0);

		// 同番移転選択情報が存在しない場合、エラー
		if (selectInfo == null)
		{
			return false;
		}

		// 同番移転ステータス
		String selDobanitenState = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_03,        X31CWebConst.DATABEAN_GET_VALUE);
		// 同番移転依頼制御コード
		String selDobanitenReqCd = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 同番移転ステータスが「同番移転完了」、「同番移転取消」の場合、エラー
		if (DOBANITEN_STAT_050.equals(selDobanitenState) || DOBANITEN_STAT_090.equals(selDobanitenState))
		{
			JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[] { "変更", "同番移転ステータス" });
			return false;
		}

		// 同番移転依頼制御コードが「保留」の場合、エラー
		if (DOBANITEN_IRAI_CTRL_0.equals(selDobanitenReqCd))
		{
			JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[] { "変更", "同番移転ステータス" });
			return false;
		}
		// OM-2013-0004608 同番移転ステータスが「未連携」の場合、エラーにする。 ADD START
		if (selDobanitenState == null || "".equals(selDobanitenState))
		{
			JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[] { "変更", "同番移転ステータス" });
			return false;
		}
		// OM-2013-0004608 同番移転ステータスが「未連携」の場合、エラーにする。 ADD END

		// 上記以外の場合は、ＯＫ
		return true;
	}

	/**
	 * 取消ボタン押下時チェック処理 <br>
	 * 
	 * @param		paramBean	DataBean項目の配列
	 * @return		boolean		false[チェックエラー] true[チェックＯＫ]
	 */
	private boolean checkActionDelete(X31SDataBeanAccess[] paramBean)
	{
		// 同番移転選択情報の取得
		X31SDataBeanAccessArray selectList = paramBean[0].getDataBeanArray(KKW13801SFConst.DOBANITEN_SLT_INFO);
		X31SDataBeanAccess selectInfo = selectList.getDataBean(0);

		// 同番移転選択情報が存在しない場合、エラー
		if (selectInfo == null)
		{
			return false;
		}

		// 同番移転ステータス
		String selDobanitenState = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_STAT_03,        X31CWebConst.DATABEAN_GET_VALUE);
		// 同番移転依頼制御コード
		String selDobanitenReqCd = selectInfo.sendMessageString(KKW13801SFConst.DETAIL_DOBANITEN_REQ_CTRL_CD_03, X31CWebConst.DATABEAN_GET_VALUE);

		// 同番移転依頼制御コードが「保留」「連携不要」の場合、エラー
		if (DOBANITEN_IRAI_CTRL_0.equals(selDobanitenReqCd) || DOBANITEN_IRAI_CTRL_2.equals(selDobanitenReqCd))
		{
			JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[] { "取消", "可否調査依頼" });
			return false;
		}

		// 同番移転ステータスが「NTT送信待ち」以外の場合、エラー
		if (! DOBANITEN_STAT_021.equals(selDobanitenState))
		{
			JCCWebCommon.setMessageInfo(this, "EKBB940-JW", new String[] { "取消", "同番移転ステータス" });
			return false;
		}

		// 上記以外の場合は、ＯＫ
		return true;
	}
}
