/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CHW01101SFLogic
 *	ソースファイル名：CHW01101SFLogic.java
 *	作成者			：富士通
 *	日付			：2011年08月25日
 *＜機能概要＞
 *   金庫照会のビューロジック部品です。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/08/25	富士通		新規作成
 *	v5.00.00	2013/07/11	FJ) 垣内	【LT-2013-0000274】金庫情報が存在しない場合はメッセージを出力しないよう修正
 *	v5.00.01	2013/07/15	FJ) 小野	料金対応記録履歴のデフォルト表示区分を変更
 *	v5.00.02	2013/07/16	FJ) 小野	【LT-2013-0000514】料金対応記録履歴のデフォルト表示区分を変更(表示しないのが正しい仕様となった)
 *	v5.00.03	2013/07/17	FJ) 近藤	【IT1-2013-0001399】ソートタイプ初期化対応
 *	v5.00.04	2013/07/31	FJ) 伊藤	【IT1-2013-0001521】名称戻し対応
 *	v5.00.05	2013/08/01	FJ) 米谷	【IT1-2013-0001509】金庫履歴表示ボタン制御修正
 *  v23.00.00   2015/11/09  FJ）寺園    ANK-2693-00-00 オーダリング案件（ＳＴＥＰ２）
 *  v23.00.01   2016/03/14  FJ）山口    ANK-2715-00-00 料金系画面の改善
 *  v23.00.02	2016/04/07	FJ）田口    ANK-2715-00-00 料金系画面の改善
 *  v23.00.03	2016/04/13	FJ）岡田	【OM-2016-0000999】料金系画面の不備
 **********************************************************************/
package eo.web.webview.CHW01101SF;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JACStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHCommonConst;
import eo.web.webview.common.JCHCommonServiceUtil;
import eo.web.webview.common.JCHPageTransferUtil;
import eo.web.webview.common.JCHWebCommon;
import eo.web.webview.mapping.CHSV0011_CHSV0011OPDBMapper;

/**
 * 金庫照会のビューロジックを提供します。
 * <p>
 * <BR>
 * 
 * @author 富士通
 */
public class CHW01101SFLogic extends JCCWebBusinessLogic
{

	/** ユースケースID(金庫照会) */
	private static final String USECASE_ID = "CHSV0011";
	
	/** ユースケースID(ページリンクサービスID) */
	private static final String PAGE_LNK_SC_ID = "CHSV001101SC";
	
	/** ユースケースID(ページリンクサービスID) */
	private static final String PAGE_LNK_SC_ID_02 = "CHSV001102SC";

	/** ユースケースID(ページリンクサービスID) */
	private static final String PAGE_LNK_SC_ID_PRC = JACStrConst.PRCTAIOKIROKICRNSTKUCC_MAP_ID;

	/** メッセージＩＤ(請求契約番号なし) */
	private static final String MESSAGE_ID_SEIKY_KEI_NO_NONE = "EKB0740-KW";

	/** メッセージＩＤ(検索結果:最大検索件数%1%件を超えました。条件を変更して再度検索してください。) */
	private static final String MESSAGE_ID_SEARCH_ERR_OVER = "EKB0340--I";

	/** メッセージＩＤ(検索結果:対象ページに表示明細がありません。) */
	private static final String MESSAGE_ID_SEARCH_ERR_NO_PAGE = "EKB0350--I";

	/** ページング区分 */
	private static final String PAGING_KBN_ALL = "0";

	/** ページング区分 履歴なし */
	private static final String PAGING_KBN_MAIN = "1";

	/** ページング区分 履歴のみ */
	private static final String PAGING_KBN_PRC = "2";

	/** ページングテーブルインデックス */
	private static final String PAGING_TABLE_INDEX = "0";

	/** ページングテーブルインデックス */
	private static final String PAGING_TABLE_INDEX_PRC = "1";

	/** 料金対応記録ページング_最大検索件数取得キー */
	private static final String KEY_PAGING_MAX_SHOW_CNT = "CHW01101_TAIORRKI_MAX_SHOW_CNT";

	/** 料金対応記録ページング_表示件数取得キー */
	private static final String KEY_PAGING_ROW_PER_PAGE = "CHW01101_TAIORRKI_ROW_PER_PAGE";

	/** 請求先番号 */
	private static final String SEIKY_KEI_NO = "請求先番号";

	/**
	 * 金庫照会の初期表示処理を行います。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean init() throws Exception
	{
		// 共有フォームBeanのアクセサを取得する
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先画面IDを判定して画面IDに対応する初期表示処理を呼び出す
		String screenId = commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE);
		if (screenId.equals(JACScreenConst.SCREEN_ID_CHW01101))
		{
			// メニューからの遷移時は画面定数クラスの値を指定する
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_CHW01101);
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_CHW01101);

			initShokaiScreen();
		}

		return true;
	}

	/**
	 * 金庫照会の検索処理を行います。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean search() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 金庫照会サービス実行
		// 請求契約番号が設定されている時のみ実行する。
		String seikyKeiNo = paramBeans[0].sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (seikyKeiNo != null && JACStrConst.KARA_MOJI.equals(seikyKeiNo) == false)
		{
			// 入力が正常の場合、請求契約番号を退避
			String fixSeikyKeiNo = bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JACStrConst.KARA_MOJI.equals(fixSeikyKeiNo) && fixSeikyKeiNo.length() == 10)
			{
				bean.sendMessageString(CHW01101SFConst.FIX_SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, fixSeikyKeiNo);
			}

			// ページング情報の削除
			JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101);

			// 料金履歴テーブル表示制御値の初期化
			paramBeans[0].sendMessageString(CHW01101SFConst.STYLE_DISPLAY_PRC_RIREKI_TABLE, X31CWebConst.DATABEAN_SET_VALUE,
					JACStrConst.STYLE_DISPLAY_PRC_RIREKI_TABLE_NONE);
			
			// 金庫一覧選択位置情報の初期化
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_SET_VALUE, "0");

			// ソートタイプをクリア（デフォルト設定）
			bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_1);

// ANK-2715-00-00 ADD START
			// 戻るボタンを非表示にするため、料金タブ遷移元画面IDを初期化する。
			bean.sendMessageString(JCHCommonConst.PRC_TAB_SENI_MOTO_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, "");
// ANK-2715-00-00 ADD END
			
			this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_1, PAGING_KBN_ALL);
		}

		return true;
	}

	/**
	 * 金庫照会のページング処理を行います。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean paging() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 金庫照会サービス実行
		// 請求契約番号が設定されている時のみ実行する。
		String seikyKeiNo = paramBeans[0].sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (seikyKeiNo != null && JACStrConst.KARA_MOJI.equals(seikyKeiNo) == false)
		{
			// 入力が正常の場合、請求契約番号を退避
			String fixSeikyKeiNo = bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JACStrConst.KARA_MOJI.equals(fixSeikyKeiNo) && fixSeikyKeiNo.length() == 10)
			{
				bean.sendMessageString(CHW01101SFConst.FIX_SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, fixSeikyKeiNo);
			}

			// 金庫一覧選択位置情報の初期化
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_SET_VALUE, "0");

			String sortType = bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_GET_VALUE);
			
			// v5.03.00 2013/07/17 IT1-2013-0001399 ADD START
			// ソートタイプが空の場合
			if (null == sortType || "".equals(sortType))
			{
				// ソートタイプに初期値を設定
				bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_1);
				sortType = bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// v5.03.00 2013/07/17 IT1-2013-0001399 ADD END
			this.execCHSV0011(paramBeans, sortType, PAGING_KBN_MAIN);
		}

		return true;
	}
	

	/**
	 * 料金履歴のページング処理を行います。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean paging2() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 金庫照会サービス実行
		// 請求契約番号が設定されている時のみ実行する。
		String seikyKeiNo = paramBeans[0].sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (seikyKeiNo != null && JACStrConst.KARA_MOJI.equals(seikyKeiNo) == false)
		{
			// 入力が正常の場合、請求契約番号を退避
			String fixSeikyKeiNo = bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JACStrConst.KARA_MOJI.equals(fixSeikyKeiNo) && fixSeikyKeiNo.length() == 10)
			{
				bean.sendMessageString(CHW01101SFConst.FIX_SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, fixSeikyKeiNo);
			}

			this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_1, PAGING_KBN_PRC);
		}

		return true;
	}

	/**
	 * 金庫詳細照会画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean detail() throws Exception
	{
		// 金庫詳細照会画面を指定して遷移処理を呼出
		return this.screenTransfer(JACScreenConst.SCREEN_ID_CHW01101, JACScreenConst.SCREEN_ID_CHW01108, null);
	}

	/**
	 * 金庫移動登録画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean knkIdoAdd() throws Exception
	{
		// 金庫移動登録画面を指定して遷移処理を呼出
		return this.screenTransfer(JACScreenConst.SCREEN_ID_CHW01101, JACScreenConst.SCREEN_ID_CHW01104, JACScreenConst.SCREEN_ID_CHW01105);
	}

	/**
	 * 金庫統合登録画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean knkTogoAdd() throws Exception
	{
		// 金庫統合登録画面を指定して遷移処理を呼出
		return this.screenTransfer(JACScreenConst.SCREEN_ID_CHW01101, JACScreenConst.SCREEN_ID_CHW01110, JACScreenConst.SCREEN_ID_CHW01111);
	}

	/**
	 * 割賦契約情報更新画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean keiKap() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.keiKapTransfer(this, JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 請求契約更新画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean seikyKeiUpd() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.seikyKeiTransfer(this, JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 契約S画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean kei() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.keiTransfer(this, JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 対応履歴画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean taioRireki() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.taioRirekiTransfer(this, JACScreenConst.SCREEN_ID_CHW01101);
	}
// ANK-2715-00-00 ADD START

	/**
	 * 【戻るボタン押下時の処理】 料金タブ遷移元画面IDの画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean back() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// 料金タブ遷移元画面IDを取得する
		String beforeScreenId = bean.sendMessageString(JCHCommonConst.PRC_TAB_SENI_MOTO_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE);

		// 遷移先画面の設定
		X31SDataBeanAccess commoninfoBean = this.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, beforeScreenId);

		return true;
	}
// ANK-2715-00-00 ADD END

	/**
	 * 【債権管理タブ押下時の処理】 債権管理画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabSaikenKanri() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00101, JACScreenConst.SCREEN_NAME_CHW00101, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【請求一覧タブ押下時の処理】 請求一覧画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabSeikyIcrn() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00104, JACScreenConst.SCREEN_NAME_CHW00104, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【請求内訳タブ押下時の処理】 請求内訳画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabSeikyUw() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00105, JACScreenConst.SCREEN_NAME_CHW00105, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【入金一覧タブ押下時の処理】 入金一覧画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabNyukinIcrn() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00601, JACScreenConst.SCREEN_NAME_CHW00601, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【督促管理タブ押下時の処理】 督促管理画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabTokusokuKanri() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW01301, JACScreenConst.SCREEN_NAME_CHW01301, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【一時金一覧タブ押下時の処理】 一時金一覧画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabIcjknIcrn() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_ACW00101, JACScreenConst.SCREEN_NAME_ACW00101, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【料金調整タブ押下時の処理】 料金調整画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabPrcAdj() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00201, JACScreenConst.SCREEN_NAME_CHW00201, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 【料金変更タブ押下時の処理】 料金変更画面に遷移します。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean tabPrcChg() throws Exception
	{
		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		return JCHPageTransferUtil.tabTransfer(this, JACScreenConst.SCREEN_ID_CHW00301, JACScreenConst.SCREEN_NAME_CHW00301, 
							JACScreenConst.SCREEN_ID_CHW01101);
	}

	/**
	 * 金庫管理画面の初期表示処理を行います。 <br>
	 * 
	 * @throws Exception 例外が発生した場合
	 */
	private void initShokaiScreen() throws Exception
	{

		// 画面間引継情報を設定する
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 履歴表示フラグ"0"を設定
		paramBeans[0].sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_HIDDEN, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 金庫照会サービス実行
		// 請求契約番号が設定されている時のみ実行する。
		String seikyKeiNo = paramBeans[0].sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (seikyKeiNo != null && "".equals(seikyKeiNo) == false)
		{
			// 入力が正常の場合、請求契約番号を退避
			String fixSeikyKeiNo = bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JACStrConst.KARA_MOJI.equals(fixSeikyKeiNo) && fixSeikyKeiNo.length() == 10)
			{
				bean.sendMessageString(CHW01101SFConst.FIX_SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, fixSeikyKeiNo);
			}

			// ページング情報の削除
			JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101);

			// 料金履歴テーブル表示制御値の初期化
			paramBeans[0].sendMessageString(CHW01101SFConst.STYLE_DISPLAY_PRC_RIREKI_TABLE, X31CWebConst.DATABEAN_SET_VALUE,
					JACStrConst.STYLE_DISPLAY_PRC_RIREKI_TABLE_NONE);

			this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_1, PAGING_KBN_ALL);
		}
		else
		{
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_RIREKI_LABEL, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.LABEL_RIREKI_HYJ);

			// 表示用制御値
			this.setCtrlValueInknkIcrnOff(paramBeans);
		}

		return;
	}

	/**
	 * 金庫照会サービスを実行します。 <br>
	 * 
	 * @param paramBeans 金庫照会サービスフォームBean
	 * @param knoCd 機能コード
	 * @param pagingKbn ページング区分
	 */
	private void execCHSV0011(X31SDataBeanAccess[] paramBeans, String knoCd, String pagingKbn)
	{

		// サービス実行前に検索結果項目をクリアする 
		clearBeanResultItems(paramBeans, pagingKbn);

		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID);

		// サービスに渡すMapを生成する
		HashMap<String, Object> inDataMap = new HashMap<String, Object>();
		CHSV0011_CHSV0011OPDBMapper mapper = new CHSV0011_CHSV0011OPDBMapper();
		JCHCommonServiceUtil.setSeikySakiInfoStkuCC(paramBeans, inDataMap);
		mapper.setCHSV001101SC(paramBeans, inDataMap, knoCd);						// ECH0191B010：金庫照会
		mapper.setCHSV001102SC(paramBeans, inDataMap, JPCModelConstant.FUNC_CD_1);	// ECH0191B010：金庫照会
		JCHCommonServiceUtil.setPrcTaioKirokIcrnStkuCC(paramBeans, inDataMap,
				pagingKbn, KEY_PAGING_MAX_SHOW_CNT, KEY_PAGING_ROW_PER_PAGE);	// PRCTAIOKIROKICRNSTKUCC : 料金対応記録一覧取得CC
		JCHCommonServiceUtil.setGetWorkParamListForKeiKapSizeCC(paramBeans, inDataMap);		// GETWORKPARAMLISTCC：業務パラメータ管理情報取得CC

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, PAGING_TABLE_INDEX, PAGE_LNK_SC_ID, inDataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, PAGING_TABLE_INDEX, PAGE_LNK_SC_ID_02, inDataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, PAGING_TABLE_INDEX_PRC, PAGE_LNK_SC_ID_PRC, inDataMap);

		// 検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// サービスの呼び出し
		invokeService(paramMap, inDataMap, outputMap);

		// 下りマッピング
		String searchErrFlg = "";
		if (PAGING_KBN_MAIN.equals(pagingKbn))
		{
			JCHCommonServiceUtil.getSeikySakiInfoStkuCC(paramBeans, outputMap);
			mapper.getCHSV001102SC(paramBeans, outputMap);
			mapper.getCHSV001101SC(paramBeans, outputMap);
			JCHCommonServiceUtil.getGetWorkParamListForKeiKapSizeCC(paramBeans, outputMap);

			// 検索エラーフラグの取得
			searchErrFlg = JCCWebCommon.getSearchErrFlg(PAGE_LNK_SC_ID, outputMap);

			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, PAGING_TABLE_INDEX, PAGE_LNK_SC_ID, outputMap);
			
		}
		else if (PAGING_KBN_PRC.equals(pagingKbn))
		{
			JCHCommonServiceUtil.getPrcTaioKirokIcrnStkuCC(paramBeans, outputMap);

			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, PAGING_TABLE_INDEX_PRC, PAGE_LNK_SC_ID_PRC, outputMap);
			
		}
		else
		{
			JCHCommonServiceUtil.getSeikySakiInfoStkuCC(paramBeans, outputMap);
			mapper.getCHSV001102SC(paramBeans, outputMap);
			mapper.getCHSV001101SC(paramBeans, outputMap);
			JCHCommonServiceUtil.getPrcTaioKirokIcrnStkuCC(paramBeans, outputMap);
			JCHCommonServiceUtil.getGetWorkParamListForKeiKapSizeCC(paramBeans, outputMap);

			// 検索エラーフラグの取得
			searchErrFlg = JCCWebCommon.getSearchErrFlg(PAGE_LNK_SC_ID, outputMap);

			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, PAGING_TABLE_INDEX, PAGE_LNK_SC_ID, outputMap);
			JCCWebCommon.downmapperPageLinkInfo(this, PAGING_TABLE_INDEX_PRC, PAGE_LNK_SC_ID_PRC, outputMap);
			
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, PAGING_TABLE_INDEX, "paging", JACScreenConst.SCREEN_ID_CHW01101);
		JCCWebCommon.setSearchCommand(this, PAGING_TABLE_INDEX_PRC, "paging2", JACScreenConst.SCREEN_ID_CHW01101);

		// 初期表示位置
		// 金庫一覧選択
		int listCnt = paramBeans[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO).getCount();
		String knkIcrnSel = paramBeans[0].sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_GET_VALUE);
		if (knkIcrnSel == null || JACStrConst.KARA_MOJI.equals(knkIcrnSel))
		{
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
		else
		{
			if (Integer.parseInt(knkIcrnSel) > listCnt - 1) 
			{
				paramBeans[0].sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_SET_VALUE, "0");
			}
		}

		// 履歴表示ラベル
		String rirekiDataFlg = paramBeans[0].sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_HIDDEN, X31CWebConst.DATABEAN_GET_VALUE);
		if (rirekiDataFlg.equals(JACStrConst.RIREKI_DATA_FLG_ON))
		{
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_RIREKI_LABEL, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.LABEL_RIREKI_NOT_HYJ);

			// 表示用制御値
			this.setCtrlValueInknkIcrnOn(paramBeans);
		}
		else
		{
			paramBeans[0].sendMessageString(CHW01101SFConst.KNK_RIREKI_LABEL, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.LABEL_RIREKI_HYJ);

			// 表示用制御値
			this.setCtrlValueInknkIcrnOff(paramBeans);
		}

		// 制御値(ボタン)
		this.setDisabledCntrlValueOfBtn(paramBeans);
		this.setCtrlValueInPrcRirekiIcrn(paramBeans);

		// メッセージ設定
		this.setErrorMessage(paramBeans, searchErrFlg);
	}

	/**
	 * 金庫料金項目コードソート（昇順）を実行します。 <br>
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean kinkoSortAsc() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		// ページング情報の削除
		JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101, PAGING_TABLE_INDEX);

		// ソートタイプを保存
		bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_2);

		// サービス実行
		this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_2, PAGING_KBN_MAIN);

		return true;
	}

	/**
	 * 金庫料金項目コードソート（降順）を実行します。 <br>
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean kinkoSortDesc() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		// ページング情報の削除
		JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101, PAGING_TABLE_INDEX);

		// ソートタイプを保存
		bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_3);

		// サービス実行
		this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_3, PAGING_KBN_MAIN);

		return true;
	}

	/**
	 * 金庫移動年月日ソート（昇順）を実行します。 <br>
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean knkIdoYmdSortAsc() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		// ページング情報の削除
		JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101, PAGING_TABLE_INDEX);

		// ソートタイプを保存
		bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_4);

		// サービス実行
		this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_4, PAGING_KBN_MAIN);

		return true;
	}

	/**
	 * 金庫移動年月日ソート（降順）を実行します。 <br>
	 * 
	 * @return boolean
	 * @throws Exception
	 */
	public boolean knkIdoYmdSortDesc() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		// ページング情報の削除
		JCCWebCommon.clearPageLinkInfo(this, JACScreenConst.SCREEN_ID_CHW01101, PAGING_TABLE_INDEX);

		// ソートタイプを保存
		bean.sendMessageString(CHW01101SFConst.SORT_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JPCModelConstant.FUNC_CD_5);

		// サービス実行
		this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_5, PAGING_KBN_MAIN);

		return true;
	}

	/**
	 * 画面間引継情報を作成し、指定された画面へ遷移します。 <br>
	 * 
	 * @param prevScreenId
	 * @param nextScreenId
	 * @param nextCfmScreenId
	 * @return boolean
	 * @throws Exception 例外が発生した場合
	 */
	private boolean screenTransfer(String prevScreenId, String nextScreenId, String nextCfmScreenId) throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 退避請求契約番号の戻し設定処理
		this.setFixSeikyKeiNo();

		// 選択値の取得
		int idxSelValue = Integer.parseInt(bean.sendMessageString(CHW01101SFConst.KNK_ICRN_SEL, X31CWebConst.DATABEAN_GET_VALUE));
		X31SDataBeanAccess kinkoIcrnInfo = bean.getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO).getDataBean(idxSelValue);
		String kinkoNo = kinkoIcrnInfo.sendMessageString(CHW01101SFConst.KNK_NO_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 画面遷移後に使用する引継情報(入力値)を作成
		List<String> dataHikitugiList = new ArrayList<String>();
		dataHikitugiList.add(CHW01101SFConst.SEIKY_KEI_NO);

		// 画面遷移後に使用する引継情報(選択値)を作成
		HashMap<String, Object> dataHikitugiMap = new HashMap<String, Object>();
		dataHikitugiMap.put(CHW01101SFConst.KNK_NO_02, kinkoNo);

		// 自画面に戻ってくる場合に必要な検索条件(入力値)を作成
		List<String> searchConditionList = new ArrayList<String>();

		// 自画面に戻ってくる場合に必要な検索条件(選択値)を作成
		HashMap<String, Object> searchConditionMap = new HashMap<String, Object>();

		// 画面遷移情報の設定
		HashMap<String, Object> screenTransferMap = 
			JCHPageTransferUtil.createScreenTransferMap(dataHikitugiList, searchConditionList, prevScreenId, nextScreenId, nextCfmScreenId);

		// 指定した情報を基に画面遷移を行う
		return JCHPageTransferUtil.screenTransfer(this, screenTransferMap, dataHikitugiMap, searchConditionMap);
	}

	/**
	 * エラーメッセージ設定処理。 <br>
	 * 
	 * @param bean 金庫管理サービスフォームBean
	 * @param searchErrFlg
	 * @param String 検索エラーフラグ
	 */
	private void setErrorMessage(X31SDataBeanAccess[] bean, String searchErrFlg)
	{
		if (isExistSeikyInfo(bean) == false)
		{
			JCCWebCommon.setMessageInfo(this, MESSAGE_ID_SEIKY_KEI_NO_NONE, new String[] { SEIKY_KEI_NO });
		}
		
		if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			JCCWebCommon.setMessageInfo(this, MESSAGE_ID_SEARCH_ERR_OVER, 
								new String[] {JCCWebCommon.getSearchConst(JACStrConst.PAGING_MAX_SHOW_CNT_CHW01101)});
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			JCCWebCommon.setMessageInfo(this, MESSAGE_ID_SEARCH_ERR_NO_PAGE);
		}
	}

	/**
	 * 請求契約情報の存在を判定します。 <br>
	 * 
	 * @param bean 金庫管理サービスフォームBean
	 * @return isExist
	 */
	private boolean isExistSeikyInfo(X31SDataBeanAccess[] bean)
	{
		boolean isExist = false;
		// 請求契約の存在有無を請求契約ステータス(NotNull項目)で判定
		X31SDataBeanAccess seikyInfo = bean[0].getDataBeanArray(CHW01101SFConst.SEIKY_INFO).getDataBean(0);
		String keiStat = seikyInfo.sendMessageString(CHW01101SFConst.SEIKY_KEI_STAT_01, X31CWebConst.DATABEAN_GET_VALUE);

		if (keiStat != null && JACStrConst.KARA_MOJI.equals(keiStat) == false)
		{
			isExist = true;
		}

		return isExist;
	}

	/**
	 * 金庫履歴の表示処理を行います。 <br>
	 * 
	 * @return 実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public boolean knkRirekiDsp() throws Exception
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスフォームBeanのアクセサを配列化する
		X31SDataBeanAccess[] paramBeans = { bean };

		// 金庫照会サービス実行
		// 請求契約番号が設定されている時のみ実行する。
		String seikyKeiNo = paramBeans[0].sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (seikyKeiNo != null && "".equals(seikyKeiNo) == false)
		{
			// 履歴表示フラグ設定
			String rirekiDataFlg = paramBeans[0].sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_HIDDEN, X31CWebConst.DATABEAN_GET_VALUE);

			if (rirekiDataFlg.equals(JACStrConst.RIREKI_DATA_FLG_ON))
			{
				paramBeans[0].sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_HIDDEN, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.RIREKI_DATA_FLG_OFF);
			}
			else
			{
				paramBeans[0].sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_HIDDEN, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.RIREKI_DATA_FLG_ON);
			}

			this.execCHSV0011(paramBeans, JPCModelConstant.FUNC_CD_5, PAGING_KBN_MAIN);
		}

		return true;
	}

	/**
	 * 金庫一覧情報（金庫履歴非表示時）の制御値を設定します。 <br>
	 * 
	 * @param bean 金庫照会サービスフォームBean
	 */
	private void setCtrlValueInknkIcrnOff(X31SDataBeanAccess[] bean)
	{
		X31SDataBeanAccessArray knkIcrnInfo = bean[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO);
		for (int idx = 0; idx < knkIcrnInfo.getCount().intValue(); idx++)
		{
			// 表示制御値
			String dspCntrlValue = JACStrConst.DSP_BG_COLOR_EVEN;
			if (idx % 2 == 0)
			{
				dspCntrlValue = JACStrConst.DSP_BG_COLOR_ODD;
			}
			knkIcrnInfo.getDataBean(idx).sendMessageString(CHW01101SFConst.DSP_ICRN_CNTRL_VALUE_02, X31CWebConst.DATABEAN_SET_VALUE, dspCntrlValue);
		}
	}

	/**
	 * 金庫一覧情報（金庫履歴表示時）の制御値を設定します。 <br>
	 * 
	 * @param bean 金庫照会サービスフォームBean
	 */
	private void setCtrlValueInknkIcrnOn(X31SDataBeanAccess[] bean)
	{
		X31SDataBeanAccessArray knkIcrnInfo = bean[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO);
		for (int idx = 0; idx < knkIcrnInfo.getCount().intValue(); idx++)
		{
			// 表示制御値
			String dspCntrlValue = JACStrConst.DSP_BG_COLOR_ODD;

			// 履歴表示フラグ設定
			String rirekiDataFlg = knkIcrnInfo.getDataBean(idx).sendMessageString(CHW01101SFConst.RIREKI_DATA_FLG_02, X31CWebConst.DATABEAN_GET_VALUE);
			if (rirekiDataFlg.equals(JACStrConst.KNK_RIREKI_DATA_FLG_RIREKI))
			{
				dspCntrlValue = JACStrConst.DSP_BG_COLOR_RIREKI;
			}
			knkIcrnInfo.getDataBean(idx).sendMessageString(CHW01101SFConst.DSP_ICRN_CNTRL_VALUE_02, X31CWebConst.DATABEAN_SET_VALUE, dspCntrlValue);
		}
	}

	/**
	 * ボタンの制御値を設定します。 <br>
	 * 
	 * @param bean 請求照会サービスフォームBean
	 */
	private void setDisabledCntrlValueOfBtn(X31SDataBeanAccess[] bean)
	{
		String htmlDisabledCntrlValue = "disabled";
		String htmlDisabledCntrlTogoValue = "disabled";
		String jsfDisabledCntrlValue = "true";
		String otherSysHtmlDisabledCntrlValue = "disabled";
		String otherSJsfDisabledCntrlValue = "true";

		// 請求契約の存在有無を請求契約ステータス(NotNull項目)で判定して制御
		X31SDataBeanAccess seikyInfo = bean[0].getDataBeanArray(CHW01101SFConst.SEIKY_INFO).getDataBean(0);
		// v23.00.03 MOD START
		// String keiStat = seikyInfo.sendMessageString(CHW01101SFConst.KEI_STAT_01, X31CWebConst.DATABEAN_GET_VALUE);
		String keiStat = seikyInfo.sendMessageString(CHW01101SFConst.SEIKY_KEI_STAT_01, X31CWebConst.DATABEAN_GET_VALUE);
		// v23.00.03 MOD END
		
		if (keiStat != null && "".equals(keiStat) == false)
		{
			otherSysHtmlDisabledCntrlValue = "";
			otherSJsfDisabledCntrlValue = "false";
		}

		X31SDataBeanAccessArray knkIcrnInfo = bean[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO);
		if (knkIcrnInfo.getCount().intValue() > 0)
		{
			htmlDisabledCntrlValue = "";
			jsfDisabledCntrlValue = "false";
		}
		if (knkIcrnInfo.getCount().intValue() > 1)
		{
			htmlDisabledCntrlTogoValue = "";
		}

		/* ◇JSFボタン */
		// ソートボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_SORT, X31CWebConst.DATABEAN_SET_VALUE, jsfDisabledCntrlValue);
		// 契約ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_JSF_BTN_KEI, X31CWebConst.DATABEAN_SET_VALUE, otherSJsfDisabledCntrlValue);

		/* ◇HTMLボタン */
		// 詳細ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_DETAIL, X31CWebConst.DATABEAN_SET_VALUE, htmlDisabledCntrlValue);
		// 金庫移動ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_KNK_IDO_ADD, X31CWebConst.DATABEAN_SET_VALUE, htmlDisabledCntrlValue);
		// 金庫統合ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_KNK_TOGO_ADD, X31CWebConst.DATABEAN_SET_VALUE, htmlDisabledCntrlTogoValue);
		// 印刷ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_PRINT, X31CWebConst.DATABEAN_SET_VALUE, htmlDisabledCntrlValue);
		// 割賦契約ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_KEI_KAP, X31CWebConst.DATABEAN_SET_VALUE, otherSysHtmlDisabledCntrlValue);
		// 請求契約ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_SEIKY_KEI_UPD, X31CWebConst.DATABEAN_SET_VALUE, otherSysHtmlDisabledCntrlValue);
		// 対応履歴ボタン
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_TAIO_RIREKI, X31CWebConst.DATABEAN_SET_VALUE, otherSysHtmlDisabledCntrlValue);

		// 料金履歴ボタンは料金履歴情報の存在有無で制御
		htmlDisabledCntrlValue = JACStrConst.CTL_VALUE_DISABLED;
		if (JCHWebCommon.isExistPrcRirekiInfo(bean))
		{
			htmlDisabledCntrlValue = JACStrConst.KARA_MOJI;
		}
		bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_PRC_RIREKI, X31CWebConst.DATABEAN_SET_VALUE, htmlDisabledCntrlValue);

// ▼▼ ANK-2693-00-00 オーダリング案件（STEP2） ADD START ▼▼
		if (bean[0].sendMessageString(JCHCommonConst.SYSCD, X31CWebConst.DATABEAN_GET_VALUE).startsWith(JACStrConst.SYSCD_ODR))
		{
			bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_JSF_BTN_KEI, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.CTL_VALUE_TRUE);
			bean[0].sendMessageString(CHW01101SFConst.DSBL_CTL_HTML_BTN_TAIO_RIREKI, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.CTL_VALUE_DISABLED);
		}
// ▲▲ ANK-2693-00-00 オーダリング案件（STEP2） ADD  END ▲▲
// ANK-2715-00-00 ADD START
		// 料金タブ遷移元画面ＩＤが設定されている場合
		if (JCHWebCommon.isNotNullOrEmpty(bean[0].sendMessageString(JCHCommonConst.PRC_TAB_SENI_MOTO_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 戻るボタンを表示
			bean[0].sendMessageString(CHW01101SFConst.DSP_CTL_JSF_BTN_BACK, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.CTL_VALUE_TRUE);
		}
		else
		{
			// 戻るボタンを非表示
			bean[0].sendMessageString(CHW01101SFConst.DSP_CTL_JSF_BTN_BACK, X31CWebConst.DATABEAN_SET_VALUE, JACStrConst.CTL_VALUE_FALSE);
		}
// ANK-2715-00-00 ADD END
	}

	/**
	 * サービスフォームBeanの検索結果項目をクリアします。 <br>
	 * 
	 * @param bean 金庫照会サービスフォームBean
	 * @param pagingKbn ページング区分
	 */
	private void clearBeanResultItems(X31SDataBeanAccess[] bean, String pagingKbn)
	{
		if (PAGING_KBN_MAIN.equals(pagingKbn))
		{
			/* ◇金庫照会情報 */
			bean[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO).clearArray();
		}
		else if (PAGING_KBN_PRC.equals(pagingKbn))
		{
			/* ◇対応履歴情報 */
			bean[0].getDataBeanArray(CHW01101SFConst.PRC_RIREKI_INFO).clearArray();
		}
		else
		{
			/* ◇金庫照会情報 */
			bean[0].getDataBeanArray(CHW01101SFConst.KNK_ICRN_INFO).clearArray();
			/* ◇対応履歴情報 */
			bean[0].getDataBeanArray(CHW01101SFConst.PRC_RIREKI_INFO).clearArray();
		}
	}

	/**
	 * 料金履歴一覧情報の制御値を設定します。 <br>
	 * 
	 * @param bean 督促管理サービスフォームBean
	 */
	private void setCtrlValueInPrcRirekiIcrn(X31SDataBeanAccess[] bean)
	{
		X31SDataBeanAccessArray prcRirekiIcrnInfo = bean[0].getDataBeanArray(CHW01101SFConst.PRC_RIREKI_INFO);
		for (int idx = 0; idx < prcRirekiIcrnInfo.getCount().intValue(); idx++)
		{
			// 表示制御値、記事表示制御値
			String dspCntrlValue = JACStrConst.DSP_BG_COLOR_EVEN;
			String kijiDspCntrlValue = JACStrConst.CLASS_TEXT_READONLY_EVEN;
			if (idx % 2 == 0)
			{
				dspCntrlValue = JACStrConst.DSP_BG_COLOR_ODD;
				kijiDspCntrlValue = JACStrConst.CLASS_TEXT_READONLY_ODD;
			}
			prcRirekiIcrnInfo.getDataBean(idx).sendMessageString(CHW01101SFConst.DSP_CNTRL_VALUE_03, X31CWebConst.DATABEAN_SET_VALUE, dspCntrlValue);
			prcRirekiIcrnInfo.getDataBean(idx).sendMessageString(CHW01101SFConst.DSP_CNTRL_VALUE_KIJI_03, X31CWebConst.DATABEAN_SET_VALUE, kijiDspCntrlValue);
		}
	}

	/**
	 * 退避された請求契約番号を請求契約番号に設定します。 <br>
	 */
	private void setFixSeikyKeiNo()
	{
		// サービスフォームBeanのアクセサを取得する
		X31SDataBeanAccess bean = super.getServiceFormBean();

		String fixSeikyKeiNo = bean.sendMessageString(CHW01101SFConst.FIX_SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (fixSeikyKeiNo != null && !JACStrConst.KARA_MOJI.equals(fixSeikyKeiNo))
		{
			bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, fixSeikyKeiNo);
		}
		else
		{
			bean.sendMessageString(CHW01101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
	}
}
