/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：契約管理
 *   モジュール名    ：マンション契約情報照会
 *   ソースファイル名：KKW12504SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2011年12月22日
 *＜機能概要＞
 *   マンション契約情報照会ビューロジックです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/12/22   FJ）富士通  新規作成
 *   v5.00.00    2013/7/2     FJ）大山    IT1-2013-0001305
 *   v9.00.00    2014/06/13   FJ）森脇    ANK-2092-00-00
 *  v14.00.00    2015/04/09   FJ) 鯵坂    ANK-2434-00-00
 *  v22.00.00    2016/01/16   FJ) 木庭    ANK-2603-00-00  機能コード変更
 *  v23.00.00    2016/04/27   FJ) 鯵坂    ANK-2395-00-00  対応履歴関連画面の各種仕様見直し
 *  v35.00.00    2017/12/20   FJ) 澤田    ANK-3275-00-00  【随時機能化案件】イーサ⇒ギガイーサ切り替え対応
 *  v66.00.00    2023/03/30   FJ) 北村    ANK-4340-00-00  【eo】 eSM再構築対応
 *  v73.00.00    2024/10/29  GDC)JN.Franco				【ANK-4493-00-00：【eo定期】 光配線マンションのコースアップ対応】
 *
 **********************************************************************/
package eo.web.webview.KKW12504SF;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW12502SF.KKW12502SFConst;
import eo.web.webview.KKW12503SF.KKW12503SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHCommonConst;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKKeiNewCmnLogicUtil;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.mapping.KKSV0284_KKSV0284OPDBMapper;
import eo.web.webview.mapping.KKSV0475_KKSV0475OPDBMapper;
import eo.web.webview.mapping.KKSV0481_KKSV0481OPDBMapper;

public class KKW12504SFLogic extends JCCWebBusinessLogic {

	/** ページング表示モード:表示 */
	private static final String DISP_PAGING_ON = "on";
	
	/** ページング表示モード:非表示 */
	private static final String DISP_PAGING_OFF = "off";

	/** 検索タイプ:初回検索ボタン押下 */
	private static final int SEARCH_TYPE_INIT  = 0;
	
	/** 検索タイプ:検索ボタン押下 */
	private static final int SEARCH_TYPE_SEARCH  = 1;

	/** 検索タイプ:ページング押下 */
	private static final int SEARCH_TYPE_PAGING  = 2;

	/** 検索タイプ:マンションオーナー情報照会からの戻り時 */
	private static final int SEARCH_TYPE_BACK  = 3;

	/** 空文字 */
	private static final String ENPTY = "";

// ANK-4340-00-00 DEL START KKW12506へ遷移した後画面表示するように対応する為
//	// ▼▼ ANK-2434-00-00  2015.04.09  ADD START ▼▼
//	/** マンション営業支援システム（参照機能）URL取得用キー */
//	private static final String ESM_URL_KEY = "KK_OTHER_SYS_004";
//	/** マンション営業支援システム（参照機能） randStr取得用キー */
//	private static final String ESM_RANDSTR_KEY = "KK_ESM_RANDSTR";
//	/**クエリ文字URLエンコーディング用の文字コード取得用キー*/
//	private static final String URLENCODE_ENCTYPE_KEY = "KK_URLENCODE_ENCTYPE";
//	/** ユーザーID置換え文字 */
//	private static final String USER_ID_EXCHANGE_WORD = "%USER_ID%";
//	/** P-ID置換え文字 */
//	private static final String P_ID_EXCHANGE_WORD = "%P_ID%";
//	/** マンションID置換え文字 */
//	private static final String MANSION_ID_EXCHANGE_WORD = "%M_ID%";
//	/** CAT-ID置換え文字 */
//	private static final String CAT_ID_EXCHANGE_WORD = "%CAT_ID%";
//	/** randStr置換え文字 */
//	private static final String ESM_RANDSTR_EXCHANGE_WORD = "%randStr%";
// ▲▲ ANK-2434-00-00  2015.04.09  ADD  END ▲▲
// ANK-4340-00-00 DEL END

	/**
	 * 照会画面初期表示処理
	 * @return 正常終了:true 異常修了:false
	 * @throws Exception 
	 */
	public boolean actionInit() throws Exception
	{
		
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		
		// セッションから検索条件を取得
		HashMap sessionParam = JCCWebCommon.getScreenInfo(this);
		int searchType = SEARCH_TYPE_BACK;

		// 引継ぎ情報取得
		ArrayList dataArray = (ArrayList) sessionParam.get(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		if (dataArray != null) {
			// パラメータの取得
			setInitParamToBean(paramBean,  (HashMap<String, Object>) dataArray.get(0));
			searchType = SEARCH_TYPE_INIT;
		}

		// 変数の定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		paramMap = new HashMap<String, Object>();		//パラメタ設定用マップ
		inputMap = new HashMap<String, Object>();		//データマップ
		outputMap = new HashMap<String, Object>();		//結果格納用マップ
		
		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0284);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0284OP);

		// 上りマッピング
		KKSV0284_KKSV0284OPDBMapper mapper = new KKSV0284_KKSV0284OPDBMapper();
		mapper.setKKSV028401SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV028404SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
// ANK-2603-00-00 MOD START
//		mapper.setKKSV028405SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV028405SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);
// ANK-2603-00-00 MOD END
		mapper.setKKSV028406SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV028407SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV028409SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// マンションオーナー照会初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 取得情報の下りマッピング
		mapper.getKKSV028401SC(paramBean, outputMap);
		mapper.getKKSV028404SC(paramBean, outputMap);
		mapper.getKKSV028405SC(paramBean, outputMap);
		mapper.getKKSV028406SC(paramBean, outputMap);
		mapper.getKKSV028407SC(paramBean, outputMap);
		mapper.getKKSV028409SC(paramBean, outputMap);

		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0481);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0481OP);

		// 上りマッピング
		KKSV0481_KKSV0481OPDBMapper mapper2 = new KKSV0481_KKSV0481OPDBMapper();
		mapper2.setKKSV048101SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper2.setKKSV048102SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		// マンションオーナー照会初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);

		// 取得情報の下りマッピング
		mapper2.getKKSV048101SC(paramBean, outputMap);
		mapper2.getKKSV048102SC(paramBean, outputMap);

//▼▼▼  IT1-2012-0002060 2012.10.03 H.TAKANO START ▼▼▼
		//  月額料金の制御
		setSeikyAmnt(paramBean);
//▲▲▲  IT1-2012-0002060 2012.10.03 H.TAKANO END   ▲▲▲
		
//		//ページ番号のリセット
//		JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW12504);
		if (SEARCH_TYPE_INIT == searchType) {
			// ページ番号のリセット
			JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW12504);
		}

		// ページング表示制御（非表示）
		paramBean[0].sendMessageString(KKW12504SFConst.PAGE_LINK_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_PAGING_OFF);

		// マンション子契約一覧検索共通処理を呼び出す。
//		searchKokeiyakuItiran(svcFormBean, JCCWebCommon.getScreenInfo(this), SEARCH_TYPE_INIT);
		searchKokeiyakuItiran(svcFormBean, JCCWebCommon.getScreenInfo(this), searchType);
		
		// 遷移元画面IDを取得
		String baseScreenId = JCCWebCommon.getScreenId(this, JKKScreenConst.SCREEN_ID_KKW12504);
		// 遷移元がマンション契約一覧照会画面の場合
		if(JKKScreenConst.SCREEN_ID_KKW12503.equals(baseScreenId))
		{
			paramBean[0].sendMessageString(KKW12504SFConst.DISP_MODE, X31CWebConst.DATABEAN_SET_VALUE, "1");

// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
		// 遷移元が債権管理画面の場合
// IT2-2013-0000456  対応 2013.05.24 Kurata Start ▼▼▼
//		} else if(JKKScreenConst.SCREEN_ID_CHW00101.equals(baseScreenId))
	} else if(JKKScreenConst.SCREEN_ID_ACW00101.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00101.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00104.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00105.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00201.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00301.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW00601.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW01101.equals(baseScreenId)
			|| JKKScreenConst.SCREEN_ID_CHW01301.equals(baseScreenId)
			)
// IT2-2013-0000456  対応 2013.05.24 Kurata End ▼▼▼
		{
			paramBean[0].sendMessageString(KKW12504SFConst.DISP_MODE, X31CWebConst.DATABEAN_SET_VALUE, "2");
		// 上記以外の遷移元の場合
		} else {

			paramBean[0].sendMessageString(KKW12504SFConst.DISP_MODE, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲		
		
// ANK-4340-00-00 DEL START KKW12506へ遷移しポップアップ表示するように対応する為
//		// ▼▼▼ ANK-2434-00-00  2015.04.09  ADD START ▼▼▼
//		//eSM画面ＵＲＬの取得
//		String esmUrl = JCCWebCommon.getApplicationConst(ESM_URL_KEY);
//		//ユーザIDの取得
//		String userID = commonInfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
//		
//		// 特定項目置換用の文字コード取得
//		String encType = JCCWebCommon.getApplicationConst(URLENCODE_ENCTYPE_KEY);
//		// 特定項目置換処理
//		esmUrl = esmUrl.replaceAll(USER_ID_EXCHANGE_WORD, encode(userID, encType))												// ユーザーID
//					   .replaceAll(P_ID_EXCHANGE_WORD, encode(svcFormBean.sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_GET_VALUE), encType))	// P-ID
//					   .replaceAll(MANSION_ID_EXCHANGE_WORD, encode(svcFormBean.sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_GET_VALUE), encType))		// マンションID
//					   .replaceAll(CAT_ID_EXCHANGE_WORD, encode(svcFormBean.sendMessageString(KKW12504SFConst.MANS_BKN_INF_CAT_ID, X31CWebConst.DATABEAN_GET_VALUE), encType))			// CAT-ID
//					   .replaceAll(ESM_RANDSTR_EXCHANGE_WORD, encode(getPassword(ESM_RANDSTR_KEY), encType));					// randStr（複合化した値）
//		
//		//値の設定
//		svcFormBean.sendMessageString(KKW12504SFConst.ESM_URL, X31CWebConst.DATABEAN_SET_VALUE, esmUrl);
//		// ▲▲▲ ANK-2434-00-00  2015.04.09  ADD  END  ▲▲▲
// ANK-4340-00-00 DEL END

		//共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW12504);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW12504);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;

	}

	/**
	 * 照会画面戻る処理
	 * @return 正常終了:true 異常修了:false
	 * @throws Exception 
	 */
	public boolean actionBack() throws Exception
	{
		
		// 遷移先情報の設定　
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.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;
	}

	
	/**
	 * 照会画面検索処理
	 * @return 正常終了:true 異常修了:false
	 * @throws Exception 
	 */
	public boolean actionSearch() throws Exception
	{
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マンション子契約一覧検索共通処理を呼び出す。
		searchKokeiyakuItiran(svcFormBean, JCCWebCommon.getScreenInfo(this), SEARCH_TYPE_SEARCH);
		
		//共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW12504);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW12504);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * ページングリンク処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionPaging() throws Exception
	{
		
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マンション一覧検索共通処理を呼び出す。
		searchKokeiyakuItiran(svcFormBean, JCCWebCommon.getScreenInfo(this), SEARCH_TYPE_PAGING);
		
		//共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW12504);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW12504);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}

	/**
	 * マンション子契約一覧検索処理共通処理。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public void searchKokeiyakuItiran(X31SDataBeanAccess svcFormBean, HashMap<String, Object> searchConditionMap, int search_type) throws Exception {

		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		
		// マンションオーナー一覧初期化
		paramBean[0].getDataBeanArray(KKW12504SFConst.MANS_KO_KEI_LIST).clearArray();

		if (search_type == SEARCH_TYPE_SEARCH) {
			
			// 再表示用最新検索データ保持データ設定
			backupParam(paramBean);
			
			//ページ番号のリセット
			JCCWebCommon.clearPageLinkInfo(this, JKKScreenConst.SCREEN_ID_KKW12504);
			
		} else if (search_type == SEARCH_TYPE_PAGING) {

		} else if (search_type == SEARCH_TYPE_BACK) {
			backupParam(paramBean);
		}
		
		// 変数の定義
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		paramMap = new HashMap<String, Object>();		//パラメタ設定用マップ
		inputMap = new HashMap<String, Object>();		//データマップ
		outputMap = new HashMap<String, Object>();		//結果格納用マップ
		
		// パラメタ設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0475);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0475OP);

		// マンション一覧検索パラメータ各種設定
		KKSV0475_KKSV0475OPDBMapper mapper = new KKSV0475_KKSV0475OPDBMapper();
// ANK-2092-00-00 20140613 UPDATE START
//		mapper.setKKSV047501SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		mapper.setKKSV047501SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
// ANK-2092-00-00 20140613 UPDATE END

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "KKSV047501SC", inputMap);

		// マンションオーナー初期表示サービス実行
		invokeService(paramMap, inputMap, outputMap);	
		
		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("KKSV047501SC", outputMap);

		// 検索結果が0件の場合の処理
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			
			if (search_type != SEARCH_TYPE_INIT
// IT2-2013-0000764対応 20131124 星野 ADD START
				&& search_type != SEARCH_TYPE_BACK
// IT2-2013-0000764対応 20131124 星野 ADD END
			) {

				// メッセージ設定
				JCCWebCommon.setMessageInfo(this, "EKB0330--I");

			}

			// ページング表示制御（非表示）
			paramBean[0].sendMessageString(KKW12504SFConst.PAGE_LINK_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_PAGING_OFF);

			return;
			
		// 検索結果が最大検索件数超えの場合の処理
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// メッセージ設定
			String[] msg = {JCCWebCommon.getSearchConst("KKW12504_MAX_SHOW_CNT")};
			JCCWebCommon.setMessageInfo(this, "EKB0340--I", msg);

			// ページング表示制御（非表示）
			paramBean[0].sendMessageString(KKW12504SFConst.PAGE_LINK_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_PAGING_OFF);

			return;

		// 表示ページに該当するデータがない場合の処理
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// メッセージ設定
			JCCWebCommon.setMessageInfo(this, "EKB0350--I");

			// ページング表示制御（表示）
			paramBean[0].sendMessageString(KKW12504SFConst.PAGE_LINK_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_PAGING_OFF);

		}
		else{

			// ページング表示制御（表示）
			paramBean[0].sendMessageString(KKW12504SFConst.PAGE_LINK_FLG, X31CWebConst.DATABEAN_SET_VALUE, DISP_PAGING_ON);

		}

		// 取得情報の下りマッピング
		mapper.getKKSV047501SC(paramBean, outputMap);
		
		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this,  "0", "KKSV047501SC", outputMap);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "paging");

		return;
	}
	
	/**
	 * 再表示データの設定処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 */
	private void backupParam(X31SDataBeanAccess[] paramBean)
	{

		String str = null;
		
		// 退避情報の初期化
		clearBackupParam(paramBean);
		
		// 検索条件を退避
		str = paramBean[0].sendMessageString(KKW12504SFConst.JOKEN_KAISEN_BASYO_ZYUSYO_HOKI_HEYABANGOU, X31CWebConst.DATABEAN_GET_VALUE);
		paramBean[0].sendMessageString(KKW12504SFConst.BK_KAISEN_BASYO_ZYUSYO_HOKI_HEYABANGOU, X31CWebConst.DATABEAN_SET_VALUE, str);

	}
	
	/**
	 * 退避領域を初期化します。
	 * <br>
	 */
	private void clearBackupParam(X31SDataBeanAccess[] paramBean)
	{
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.BK_KAISEN_BASYO_ZYUSYO_HOKI_HEYABANGOU, X31CWebConst.DATABEAN_SET_VALUE, ENPTY);

	}

	/**
	 * 画面パラメータの取得処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 */
	private void setInitParamToBean(X31SDataBeanAccess[] paramBean, HashMap hikiParam)
	{
// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
		// 遷移元画面IDを取得
		String baseScreenId = JCCWebCommon.getScreenId(this, JKKScreenConst.SCREEN_ID_KKW12504);
		
		// 遷移元がマンション契約一覧照会画面の場合
// IT2-2013-0000456  対応 2013.05.24 Kurata Start ▼▼▼
//		if (JKKScreenConst.SCREEN_ID_CHW00101.equals(baseScreenId) )
		if(JKKScreenConst.SCREEN_ID_ACW00101.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00101.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00104.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00105.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00201.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00301.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW00601.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW01101.equals(baseScreenId)
				|| JKKScreenConst.SCREEN_ID_CHW01301.equals(baseScreenId)
				)
	// IT2-2013-0000456  対応 2013.05.24 Kurata End ▼▼▼
		{
			
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(JKKCommonConst.HKTGI_PID));
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(JKKCommonConst.HKTGI_MANS_ID));
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_CAT_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(JKKCommonConst.HKTGI_CATID));
		} else 
		{
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(KKW12503SFConst.HIKI_PID));
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(KKW12503SFConst.HIKI_MANSION_ID));
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_CAT_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(KKW12503SFConst.HIKI_CATID));
		}
	
// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_NET, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(JKKCommonConst.HKTGI_SEIKY_KEI_NO_NET));
		// 退避項目の初期化
		paramBean[0].sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_TV, X31CWebConst.DATABEAN_SET_VALUE, (String)hikiParam.get(JKKCommonConst.HKTGI_SEIKY_KEI_NO_TV));
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲

	}
	
	/**
	 * 詳細ボタン押下処理を行います。
	 * <br>
	 * @return true:正常
	 * @exception Exceptionがスローされます。
	 */
	public boolean actionOwnerInfo() throws Exception
	{
		
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		//サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		//  セッションから検索条件を取得
		JCCWebCommon.getScreenInfo(this);
		
		// マッピング用paramBeanセット
		X31SDataBeanAccess[] paramBean = {svcFormBean};
		
		// マンションオーナー詳細画面に渡す情報をHashMapに設定
		// 引継ぎ情報の設定 
		HashMap<String, Object> hikiMap = new HashMap<String, Object>();

		// サービス選択画面への引継ぎ 
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// マンションオーナーＩＤ
		dataMap.put(KKW12502SFConst.HIKI_MANSION_ID, paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_OWNR_ID, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<HashMap<String, Object>> dataArray = new ArrayList<HashMap<String, Object>>();
		dataArray.add( dataMap );
		
		//顧客契約引継リストとしてdataMapに設定
		hikiMap.put(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST, dataArray);

		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW12502, hikiMap);

		// 画面戻り時の表示データを保持
		HashMap<String, Object> returnMap = setReSearchData(paramBean);
		
		// 戻り先画面ＩＤ設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW12504, returnMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW12502, JKKScreenConst.SCREEN_ID_KKW12504);
	
		// 遷移先情報の設定
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, 
				JKKScreenConst.SCREEN_ID_KKW12502);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, 
				JKKScreenConst.SCREEN_NAME_KKW12502);
		
		return true;
	}
	
	/**
	 * バックアップデータから画面データを復元する処理
	 * <br>
	 * @param paramBean DataBean項目の配列
	 */
	private HashMap<String, Object> setReSearchData(X31SDataBeanAccess[] paramBean)
	{
		// 次画面から戻ってくる際の引継情報(引継Map)を作成する。
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 検索条件を設定
		dataMap.put(KKW12504SFConst.JOKEN_KAISEN_BASYO_ZYUSYO_HOKI_HEYABANGOU, paramBean[0].sendMessageString(
				KKW12504SFConst.BK_KAISEN_BASYO_ZYUSYO_HOKI_HEYABANGOU, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択行データから引継ぎ情報を取得
		String pid = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String mansion_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String catid = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_CAT_ID, X31CWebConst.DATABEAN_GET_VALUE);

// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
		String isSeikyNoNet = paramBean[0].sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_NET, X31CWebConst.DATABEAN_GET_VALUE);
		String isSeikyNoTV = paramBean[0].sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_TV, X31CWebConst.DATABEAN_GET_VALUE);
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲
		
		// 情報取得キー項目設定
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_P_ID, pid);
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_MANS_ID, mansion_id);
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_CAT_ID, catid);
		
// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
		dataMap.put(KKW12504SFConst.SEIKY_KEI_NO_NET, isSeikyNoNet);
		dataMap.put(KKW12504SFConst.SEIKY_KEI_NO_TV, isSeikyNoTV);
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲
		
		return dataMap;
	}
	
// ▼▼▼  IT1-2012-0001610 2012.10.29 H.TAKANO START ▼▼▼

	/**
	 * [料金へ]ボタン押下処理
	 * @return true
	 * @throws Exception 業務サービス内でエラーが発生した場合
	 */
	public boolean actionPrche() throws Exception
	{
		//共有Bean アクセスクラスの取得
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();

		//画面IDの取得
		String currentScreenId = JKKKeiNewCmnLogicUtil.getScreenId(this);

		//顧客契約引継リストの作成
		ArrayList<HashMap> dataList = new ArrayList<HashMap>();

		HashMap<String, Object> map = new HashMap<String, Object>();

		// 画面情報を取得する
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// マッピング用paramBean
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// テレビ請求のチェックボックスが活性ならばtrue、非活性ならばfalse
		boolean isTvSky = svcFormBean.sendMessageBoolean(KKW12504SFConst.TV_SKY_FLG, X31CWebConst.DATABEAN_GET_VALUE);
// ▼▼▼  IT1-2012-0001859 2012.11.07 H.TAKANO START ▼▼▼
		String isSeikyNo = null;
// ▲▲▲  IT1-2012-0001859 2012.11.07 H.TAKANO END   ▲▲▲

// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼

		
//		
//		//サービス契約番号リストを設定 
//		X31SDataBeanAccessArray svckeinoList = svcFormBean.getDataBeanArray(KKW12504SFConst.SVC_KEI_DAMMY_LIST);
//
//// ▼▼▼  IT1-2012-0001610 2012.10.29 H.TAKANO START ▼▼▼
//		boolean resultFlag = setSvckeino(paramBean , svckeinoList , isTvSky);
//		if (!resultFlag) {
//			return false;
//		}
////		// サービス契約番号リストのカレントデータを設定
////		X31SDataBeanAccess curDt = svckeinoList.getDataBean(0);
////		
////		// サービス契約番号を取得
////		String no = curDt.sendMessageString(KKW12504SFConst.SVC_KEI_DAMMY_LIST_SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
////		paramBean[0].sendMessageString(KKW12504SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, no);
//// ▲▲▲  IT1-2012-0001610 2012.10.29 H.TAKANO END   ▲▲▲		
//		
//		// HashMap定義
//		HashMap<String, Object> paramMap = null;
//		HashMap<String, Object> inputMap = null;
//		HashMap<String, Object> outputMap = null;
//		
//		//初期表示サービスパラメタ生成
//		paramMap = new HashMap<String, Object>();		// パラメタ設定用マップ
//		inputMap = new HashMap<String, Object>();		// 入力用マップ
//		outputMap = new HashMap<String, Object>();		// 結果格納用マップ
//		
//		// パラメタ設定
//		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0727);
//		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0727OP);
//		
//		// --------------------------------
//		// 上りマッピング
//		// --------------------------------
//		// 上りマッピング(サービス項目-DataBean項目マッピング)
//		KKSV0727_KKSV0727OPDBMapper mapper = new KKSV0727_KKSV0727OPDBMapper();
//		// 課金先一覧照会（サービス契約番号）SC
//		mapper.setKKSV072701SC(paramBean, inputMap, JKKCommonConst.FUNC_CODE_1);
//		
//		// --------------------------------
//		// サービスの実施
//		// --------------------------------
//		// マンション契約一覧照会初期表示サービス
//		invokeService(paramMap, inputMap, outputMap);
//
//		// 下りマッピング処理(サービス項目-DataBean項目マッピング )
//		mapper.getKKSV072701SC(paramBean, outputMap);
//		
//		//請求契約番号リストを設定 
//		X31SDataBeanAccessArray seikykeinoList = svcFormBean.getDataBeanArray(KKW12504SFConst.SEIKY_KEI_NO_LIST);
//
//		// 請求契約番号リストのカレントデータを設定
//		X31SDataBeanAccess curDt2 = seikykeinoList.getDataBean(0);
		
// ▼▼▼  IT1-2012-0001859 2012.11.07 H.TAKANO START ▼▼▼
//	if( curDt2 != null ) {
//			
//			isSeikyNo = curDt2.sendMessageString(KKW12503SFConst.SEIKY_KEI_NO_LIST_SEIKY_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
//			}
		if( isTvSky == true ) {
			
			isSeikyNo = svcFormBean.sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_TV, X31CWebConst.DATABEAN_GET_VALUE);
			} else {
			
			isSeikyNo = svcFormBean.sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_NET, X31CWebConst.DATABEAN_GET_VALUE);
			}
		
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲

		
		// 請求契約番号がnull又は、空文字の場合true
		if( isSeikyNo == null || "".equals(isSeikyNo.trim()) ) {
			JCCWebCommon.setMessageInfo(this, "EKB0740-KW", new String[]{"選択されたマンションは、請求先"});
			return false;
		}
		
		// カレントから請求契約番号を設定
//		map.put(JCHCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, curDt2.sendMessageString(KKW12504SFConst.SEIKY_KEI_NO_LIST_SEIKY_KEI_NO_06, X31CWebConst.DATABEAN_GET_VALUE));
		map.put(JCHCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, isSeikyNo);
// ▲▲▲  IT1-2012-0001859 2012.11.07 H.TAKANO END   ▲▲▲
		
		// 画面戻り時の表示データを保持
		HashMap<String, Object> returnMap = setReSearchData(paramBean);

		// 戻り先画面ＩＤ設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW12504, returnMap);

		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_CHW00101, map);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_CHW00101 , currentScreenId);
		
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_CHW00101);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_CHW00101);

		return true;
	}
	
	
// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
//  不要メソッド
//	/**
//	 * サービス契約番号を設定します。<br>
//	 * @param paramBean サービス契約番号をセットするBean
//	 * @param svckeinoList サービス契約番号リスト
//	 * @param isTvSky テレビ請求チェックボックスの値
//	 */
//	private boolean setSvckeino( X31SDataBeanAccess[] paramBean , X31SDataBeanAccessArray svckeinoList, boolean isTvSky)
//	{
//		
//		// サービス契約番号リストの数を取得
//		if (svckeinoList != null) {
//
//			boolean hasCatId = false;
//			boolean hasMansId = false;
//
//			
//			for(int i = 0; i < svckeinoList.getCount(); i++)
//			 {
//				X31SDataBeanAccess subBean = null;
//				subBean = svckeinoList.getDataBean(i);
//
//				// サービス契約番号をセット
//				String svcKeiNo = null;	
//				svcKeiNo = subBean.sendMessageString(KKW12504SFConst.SVC_KEI_DAMMY_LIST_SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
//
//				// テレビ請求チェックボックスのチェックがあればtrue、チェックが無ければfalse
//				if (isTvSky)
//				{
//					
//					String catId = null;
//					catId = subBean.sendMessageString(KKW12504SFConst.SVC_KEI_DAMMY_LIST_CAT_ID_05, X31CWebConst.DATABEAN_GET_VALUE);
//					
//					// CAT-IDがnullではない、かつ空文字でもない場合true
//					if (!(catId == null || "".equals(catId.trim())))
//						{
//						
//						// サービス契約番号がnullではない、かつ空文字でもない場合true
//						if(!(svcKeiNo == null || "".equals(svcKeiNo.trim())))
//						{
//							// 引継ぎBeanにサービス契約番号をセット
//							paramBean[0].sendMessageString(KKW12504SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo );
//						}
//						hasCatId = true;
//					}
//				}
//				else
//				{
//					
//					String mansId = null;
//					mansId = subBean.sendMessageString(KKW12504SFConst.SVC_KEI_DAMMY_LIST_MANS_ID_05, X31CWebConst.DATABEAN_GET_VALUE);
//					
//					// マンションIDがnullではない、かつ空文字でもない場合true
//					if (!(mansId == null || "".equals(mansId.trim())))
//						{
//						
//						// サービス契約番号がnullではない、かつ空文字でもない場合true
//						if(!(svcKeiNo == null || "".equals(svcKeiNo.trim())))
//						{
//							// 引継ぎBeanにサービス契約番号をセット
//							paramBean[0].sendMessageString(KKW12504SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo );
//						}
//						
//						hasMansId = true;
//					}
//				}
//			 }
//			// テレビのチェックボックスが活性状態でＣＡＴ−ＩＤが取得できない場合
//			if (isTvSky && !hasCatId) {
//				JCCWebCommon.setMessageInfo(this, "EKB0740-KW", new String[]{"選択されたマンションは、請求先"});
//				return false;
//			}
//			// テレビのチェックボックスが活性状態でマンション−ＩＤが取得できない場合
//			if (!isTvSky && !hasMansId) {
//				JCCWebCommon.setMessageInfo(this, "EKB0740-KW", new String[]{"選択されたマンションは、請求先"});
//				return false;
//			}
//		}
//
//		return true;
//	}
//// ▲▲▲  IT1-2012-0001610 2012.10.29 H.TAKANO END   ▲▲▲
	
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲	


//▼▼▼  IT1-2012-0002060 2012.10.03 H.TAKANO START ▼▼▼
	/**
	 * 同じ提供方式契約番号で月額料金が複数件存在する場合、
	 * 1行にまとめて出力する処理を行う。
	 * @param paramBean KKSV048101SC下りマッピングの結果
	 * @throws Exception 例外
	 */
	private void setSeikyAmnt(X31SDataBeanAccess[] paramBean) throws Exception 
	{
		//  下りマッピングからリストを取得
		X31SDataBeanAccessArray isTkHosikiKeiList = paramBean[0].getDataBeanArray(KKW12504SFConst.TK_HOSHIKI_KEI_LIST);
		
		//  リストの個数分繰り返す
		for (int i = 0; i < isTkHosikiKeiList.getCount(); i++)
		{
			// 
			X31SDataBeanAccess subbean = null;
			if(isTkHosikiKeiList.getCount() -1 >= i){
				subbean = isTkHosikiKeiList.getDataBean(i);
			}else{
				subbean = isTkHosikiKeiList.addDataBean();
			}

			// 提供方式契約番号を設定
			String isTkHosikiKeiNo = null;
			isTkHosikiKeiNo = subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_TK_HOSHIKI_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			//  リストのコピー分繰り返す
			for (int j = 0; j < isTkHosikiKeiList.getCount(); j++)
			{
					
				//  コピーリストの作成
				X31SDataBeanAccess copy = isTkHosikiKeiList.getDataBean(j);
				
				String isTkHosikiKeiNoCopy = null;
				String isPrcSkbtCdCopy = null;
				// 提供方式契約番号を設定
				isTkHosikiKeiNoCopy = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_TK_HOSHIKI_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
				// マンション料金識別コードを設定
				isPrcSkbtCdCopy = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_MANS_PRC_SKBT_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
				
				//  コピーと同じリストではないか判定
				if (! (i == j) ) 
				 {
					//  提供方式契約番号が同じか判定
				 	if ( isTkHosikiKeiNoCopy.equals(isTkHosikiKeiNo) )
				 	{
				 		//  マンション料金識別コードが001(="基本料金")か判定
				 		if ( isPrcSkbtCdCopy.equals("001") )
				 		{
				 		
							String is100M = null;
							String is1G = null;
							String is100MLight = null;
							String isOya = null;
							// ANK-4493-00-00 ADD START
							String is10G = null;
							// ANK-4493-00-00 ADD END
				 		
		 					// 月額料金（子）（１００Ｍ）を設定
							is100M = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_100M_01, X31CWebConst.DATABEAN_GET_VALUE);
							
							if ( !(is100M == null || "".equals(is100M.trim())) )
							{
								subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_100M_01, X31CWebConst.DATABEAN_SET_VALUE, is100M );
							}
							
							// 月額料金（子）（１Ｇ）を設定
							is1G = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_1G_01, X31CWebConst.DATABEAN_GET_VALUE);
							if ( !(is1G == null || "".equals(is1G.trim())) )
							{
								subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_1G_01, X31CWebConst.DATABEAN_SET_VALUE, is1G );
							}
							
							// 月額料金（子）（１００Ｍライト）を設定
							is100MLight = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_100M_LIGHT_01, X31CWebConst.DATABEAN_GET_VALUE);
							if ( !(is100MLight == null || "".equals(is100MLight.trim())) )
							{
								subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_100M_LIGHT_01, X31CWebConst.DATABEAN_SET_VALUE, is100MLight );
							}
							// 月額料金（親）を設定
							isOya = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_OYA_01, X31CWebConst.DATABEAN_GET_VALUE);
							if ( !(isOya == null || "".equals(isOya.trim())) )
							{
									subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_OYA_01, X31CWebConst.DATABEAN_SET_VALUE, isOya );
							}
							// ANK-4493-00-00 ADD START
							is10G = copy.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_10G_01, X31CWebConst.DATABEAN_GET_VALUE);
							
							if ( !(is10G == null || "".equals(is10G.trim())) )
							{
								subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_KO_10G_01, X31CWebConst.DATABEAN_SET_VALUE, is10G );
							}
							// ANK-4493-00-00 ADD END
							
							//  コピーからデータを設定した際、コピーを行ったbeanのリストを削除する
							isTkHosikiKeiList.removeDataBean(j);
							//  削除後リストが一つずれる為修正
							j = j-1;
						}
				 	
					}
				}
			}
		}

		//  下りマッピングからリストを取得
	// 2013/7/2 IT1-2013-00001305 ADD START
		X31SDataBeanAccessArray isTkHosikiKeiListScr = paramBean[0].getDataBeanArray(KKW12504SFConst.TK_HOSHIKI_KEI_LIST);
		
		//  リストの個数分繰り返す
		for (int i = 0; i < isTkHosikiKeiListScr.getCount(); i++)
		{
			X31SDataBeanAccess subbean = isTkHosikiKeiListScr.getDataBean(i);
			
			String prcSkbtCd = subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_MANS_PRC_SKBT_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			
	 		//  マンション料金識別コードが001(="基本料金")か判定
	 		if ("001".equals(prcSkbtCd) )
	 		{
				// 月額料金（親）を設定
				String isOya = subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_OYA_01, X31CWebConst.DATABEAN_GET_VALUE);
				if ( !(isOya == null || "".equals(isOya.trim())) )
				{
					// 2013/7/2 IT1-2013-00001305 ADD START
					
					// 加入契約支払い方式コード
					String kanyuuPayCd = subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_KANYU_KEI_PAY_HOSHIKI_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
					// 総戸数
					String ttlKosu = subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_TTL_KOSU_01, X31CWebConst.DATABEAN_GET_VALUE);
					JSYwebLog.println(JSYwebLog.DEBUG, getClass(), "総戸数" + ttlKosu  , null, null, null);
					JSYwebLog.println(JSYwebLog.DEBUG, getClass(),  "加入契約支払い方式コード" + kanyuuPayCd   , null, null, null);
	 			
					if(kanyuuPayCd != null && JKKStrConst.KANYUKEI_PAY_HOSHIKI_ZENKO.equals(kanyuuPayCd))
					{
						if(ttlKosu != null && !"".equals(ttlKosu))
						{
							long iTtlKosu = Long.parseLong(ttlKosu);
							
							if(iTtlKosu != 0) 
							{
								long iIsOya = Long.parseLong(isOya);
								long iOyaTanka = iIsOya / iTtlKosu;
								
								JSYwebLog.println(JSYwebLog.DEBUG, getClass(),  "親単価" + Long.toString(iOyaTanka)   , null, null, null);
								
								subbean.sendMessageString(KKW12504SFConst.TK_HOSI_KEI_INF_GTGK_PRC_OYA_01, X31CWebConst.DATABEAN_SET_VALUE, Long.toString(iOyaTanka));

							}
						}
					}
				}
	 		}
		}
		// 2013/7/2 IT1-2013-00001305 ADD START
	}
//▲▲▲  IT1-2012-0002060 2012.10.03 H.TAKANO END   ▲▲▲

// ▼▼▼  ANK-1294-00-00 対応 2012.11.28 H.TAKANO START ▼▼▼
	/**
	 * 照会画面戻る処理
	 * @return 正常終了:true 異常修了:false
	 * @throws Exception 
	 */
	public boolean actionIcrn() throws Exception
	{
		
		// 遷移先情報の設定　
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW12503);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW12503);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
// ▲▲▲  ANK-1294-00-00 対応 2012.11.28 H.TAKANO END   ▲▲▲		
	
// ▽▽▽ ANK-2395-00-00 ADD START ▽▽▽
	/**
	 * 「対応履歴」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTaiorrki() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// 選択されたお客さまIDの取得
		X31SDataBeanAccessArray custList = svcFormBean.getDataBeanArray(KKW12504SFConst.MANS_KO_KEI_LIST);
		String index = svcFormBean.sendMessageString(KKW12504SFConst.CUST_CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		String selectedSvcKeiNo =  custList.getDataBean(Integer.parseInt(index)).sendMessageString(KKW12504SFConst.MANS_KO_KEI_INF_SVC_KEI_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 引継ぎ情報を設定
		dataMap.put("svcKeiNo", selectedSvcKeiNo);

		// 画面情報を設定（問合せ対応メイン画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_CRW01201, dataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_CRW01201, JKKScreenConst.SCREEN_ID_KKW12504);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_CRW01201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_CRW01201);

		return true;
	}
// △△△ ANK-2395-00-00  ADD  END △△△

// ▼▼▼ ANK-2434-00-00  2015.04.09  ADD START ▼▼▼
	// プロパティファイルからパスワードを取得→復号化して返す
	private String getPassword(String key)
	{
		return JCCWebCommon.getDecryptResultPassword(JCCWebCommon.getApplicationConst(key));
	}
	
	// URLエンコーダ
	private String encode(String endVal, String encType) throws UnsupportedEncodingException
	{
		return URLEncoder.encode(endVal, encType);
	}
// ▲▲▲ ANK-2434-00-00  2015.04.09  ADD  END  ▲▲▲
	// ANK-3275-00-00 ADD START
	/**
	 * 「ギガイーサ更新」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionGeupd() throws Exception
	{
		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// マッピング用paramBean
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 引継ぎ情報の設定 
		HashMap<String, Object> hikiMap = new HashMap<String, Object>();
		// 詳細画面への引継ぎ 
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		String mansion_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String p_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_GET_VALUE);

		dataMap.put(KKW12504SFConst.MANS_BKN_INF_MANS_ID, mansion_id);
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_P_ID, p_id);
		dataMap.put(JKKCommonConst.HKTGI_POPUP_MODE, "1");
		ArrayList<HashMap<String, Object>> dataArray = new ArrayList<HashMap<String, Object>>();
		dataArray.add( dataMap );
		
		//顧客契約引継リストとしてdataMapに設定
		hikiMap.put(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST, dataArray);
		
		// 引継情報の設定
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW22001, hikiMap);
		
		// 遷移元画面の設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW22001, JKKScreenConst.SCREEN_ID_KKW12504);
		
		// 共有フォームBeanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		
		// 遷移先画面の設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW22001);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW22001);
		
		return true;
	}
	// ANK-3275-00-00 ADD END
// ANK-4340-00-00 ADD START

	/**
	 * 「マンション営業支援システム（参照機能）」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTransferMarco() throws Exception
	{

		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// マッピング用paramBean
		X31SDataBeanAccess[] paramBean = {svcFormBean};

		// 引継ぎ情報を設定（MaRCoシステム起動画面）
		HashMap<String, Object> hktgiDataMap = new HashMap<String, Object>();
		
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		String p_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_P_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String mansion_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_MANS_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String cat_id = paramBean[0].sendMessageString(KKW12504SFConst.MANS_BKN_INF_CAT_ID, X31CWebConst.DATABEAN_GET_VALUE);

		dataMap.put(KKW12504SFConst.MANS_BKN_INF_P_ID, p_id);
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_MANS_ID, mansion_id);
		dataMap.put(KKW12504SFConst.MANS_BKN_INF_CAT_ID, cat_id);
		dataMap.put(JKKCommonConst.HKTGI_POPUP_MODE, "1");

		ArrayList<HashMap<String, Object>> dataArray = new ArrayList<HashMap<String, Object>>();
		dataArray.add( dataMap );
		
		//顧客契約引継リストとしてdataMapに設定
		hktgiDataMap.put(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST, dataArray);
		
		// 引継ぎ情報を設定(MaRCoシステム起動画面)
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW12506, hktgiDataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW12506, JKKScreenConst.SCREEN_ID_KKW12504);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW12506);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW12506);

		return true;
	}
// ANK-4340-00-00 ADD END
}
