/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNSV0055_CNSV0055OPDBMapper
*	ソースファイル名：CNSV0055_CNSV0055OPDBMapper.java
*	作成者			：FJ
*	日付			：2021年07月12日
*＜機能概要＞
*	コンテンツ一時申込登録画面(初期表示)へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v54.00.00	2021/07/12	FJ			新規作成
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JKKStrConst;
import eo.common.util.JZMAdOutputEdit;
import eo.web.webview.CKW02505SF.CKW02505SFConst;
import eo.web.webview.CNW01901SF.CNW01901SFConst;
import eo.web.webview.KKW00121SF.KKW00121SFConst;
import eo.web.webview.ZMW10901SF.ZMW10901SFConst;
import eo.web.webview.common.JCNWebConst;
import eo.web.webview.common.JKKKeiNewCmnLogicUtil;
import eo.web.webview.common.JKKWebCommon;
import eo.web.webview.common.JZMWebCommon;


/**
 * DataBean-BPマッピングをする。
 * 
 * <br>
 * @author 富士通
 */
public class CNSV0055_CNSV0055OPDBMapper
{

	/** コンテンツ申込情報状態コード 01：受付済*/
	private static final String CONT_MKM_INF_STCD_01 = "01";
	
	/** コンテンツ申込情報状態コード 10:利用開始依頼済*/
	private static final String CONT_MKM_INF_STCD_10 = "10";
	
	/** コンテンツ申込情報状態コード 90：取消済*/
	private static final String CONT_MKM_INF_STCD_90 = "90";
	
	/** コンテンツ申込情報状態コード 91：自動取消済*/
	private static final String CONT_MKM_INF_STCD_91 = "91";
	
	/** コンテンツ申込情報状態コード 99：利用開始済*/
	private static final String CONT_MKM_INF_STCD_99 = "99";
	
	/** サービス契約ステータス 100：サービス提供中*/
	private static final String SVC_KEI_STAT_100 = "100";
	
	/** サービス契約ステータス 910：解約済*/
	private static final String SVC_KEI_STAT_910 = "910";
	
	/** サービス契約ステータス 920：キャンセル済*/
	private static final String SVC_KEI_STAT_920 = "920";
	
	/**
	 * コンストラクタ
	 */
	public CNSV0055_CNSV0055OPDBMapper()
	{
	}

	/**
	 * 
	 * 上りマッピングをする
	 * <br>
	 * @param outputMap
	 * @param unyo_ymd 運用日
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV005501SC(HashMap outputMap, String unyo_ymd, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 運用日 → 開通前申込可能コンテンツサービス一覧照会マップ.ＫＥＹ＿ＵＮＹＯ＿ＹＭＤ
		parentMap.put("key_unyo_ymd", unyo_ymd);
		
		// 共通情報のマッピング
		outputMap.put("CNSV005501SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * <br>
	 * @param bean [0]：開通前コンテンツ対象申込情報一覧照会(SYSID)
	 * @param outputMap
	 * @param unyo_ymd 運用日
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV005502SC(X31SDataBeanAccess[] bean, HashMap outputMap, String unyo_ymd, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// SYSID → 開通前コンテンツ対象申込情報一覧照会(SYSID)マップ.ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", bean[0].sendMessageString(CNW01901SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 運用日 → 開通前コンテンツ対象申込情報一覧照会(SYSID)マップ.ＫＥＹ＿ＵＮＹＯ＿ＹＭＤ
		parentMap.put("key_unyo_ymd", unyo_ymd);
		
		// 共通情報のマッピング
		outputMap.put("CNSV005502SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ申込一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV005501_3SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMapCont = null;
		HashMap parentMapContMskm = null;
		
		if(outputMap.containsKey("CNSV005501SC")){
			parentMapCont = (HashMap)outputMap.get("CNSV005501SC");
		} 

		if(outputMap.containsKey("CNSV005503SC")){
			parentMapContMskm = (HashMap)outputMap.get("CNSV005503SC");
		} 

		// コンテンツリスト用
		X31SDataBeanAccessArray listEKK3281B010_cont_mskm_list_EKKEKK3281B010CBSMsg1List = bean[0].getDataBeanArray(CNW01901SFConst.CONT_MSKM_LIST);
		
		ArrayList childList = null;
		ArrayList childMskmList = null;
		// 画面表示用のコンテンツ情報を取得
		if(parentMapCont != null && parentMapCont.containsKey("EKK3281B010CBSMsg1List"))
		{
			childList = (ArrayList)parentMapCont.get("EKK3281B010CBSMsg1List");
			
			X31SDataBeanAccess subbean = null;
				
				for(int i = 0; i < childList.size(); i++)
				{
					subbean = listEKK3281B010_cont_mskm_list_EKKEKK3281B010CBSMsg1List.addDataBean();
					
					HashMap detailMap = (HashMap)childList.get(i);
					
					// コンテンツ申込リスト.コンテンツサービスコード
					subbean.sendMessageString(CNW01901SFConst.CONT_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_svc_cd"));
					// コンテンツ申込リスト.コンテンツサービス名
					subbean.sendMessageString(CNW01901SFConst.CONT_SVC_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_svc_nm"));
					
					if(parentMapContMskm != null && parentMapContMskm.containsKey("EKK3291B010CBSMsg1List"))
					{
						childMskmList = (ArrayList)parentMapContMskm.get("EKK3291B010CBSMsg1List");
						// コンテンツ申込情報設定フラグ
						Boolean setFlg = false;
						
						for(int j = 0; j < childMskmList.size(); j++)
						{
							HashMap detailMskmMap = (HashMap)childMskmList.get(j);
							
							if(((String)detailMap.get("cont_svc_cd")).equals((String)detailMskmMap.get("cont_svc_cd")))
							{
								// コンテンツ申込リスト.申込番号
								subbean.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMskmMap.get("mskm_no"));
								// コンテンツ申込リスト.コンテンツ申込番号
								subbean.sendMessageString(CNW01901SFConst.CONT_MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMskmMap.get("cont_mskm_no"));
								// コンテンツ申込リスト.コンテンツ申込情報状態コード
								subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STCD, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMskmMap.get("cont_mkm_inf_stcd"));
								// コンテンツ申込リスト.コンテンツ申込情報状態名称
								// 同時に変更前後コンテンツ申込状態フラグおよび個別コンテンツ非活性フラグを設定
								if(detailMskmMap.containsKey("cont_mkm_inf_stcd"))
								{
									// コンテンツ申込情報状態が以下の場合に下記より処理を実行
									// 受付済み
									if(((String)detailMskmMap.get("cont_mkm_inf_stcd")).equals(CONT_MKM_INF_STCD_01)){
										subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "受付済");
										// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←活性を設定
										subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
									} 
									// 利用開始依頼済
									else if(((String)detailMskmMap.get("cont_mkm_inf_stcd")).equals(CONT_MKM_INF_STCD_10))
									{
										subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "利用開始依頼済");
										// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←非活性を設定
										subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
									}
									// 取消済
									else if(((String)detailMskmMap.get("cont_mkm_inf_stcd")).equals(CONT_MKM_INF_STCD_90))
									{
										subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "取消済");
										// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込なしを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
										// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込なしを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
										// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←活性を設定
										subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
									}
									// 自動取消済
									else if(((String)detailMskmMap.get("cont_mkm_inf_stcd")).equals(CONT_MKM_INF_STCD_91))
									{
										subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "自動取消済");
										// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込なしを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
										// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込なしを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
										// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←活性を設定
										subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
									}
									// 利用開始済
									else if(((String)detailMskmMap.get("cont_mkm_inf_stcd")).equals(CONT_MKM_INF_STCD_99))
									{
										subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "利用開始済");
										// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込ありを設定
										subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
										// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←非活性を設定
										subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);
									}
								}
								// コンテンツ申込リスト.支払方法ID
								subbean.sendMessageString(CNW01901SFConst.PAYWAY_ID, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMskmMap.get("payway_id"));
								// コンテンツ申込リスト.コンテンツ更新年月日時分秒
								subbean.sendMessageString(CNW01901SFConst.CONT_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, (String)detailMskmMap.get("upd_dtm"));
								
								setFlg = true;
							}
						}
						// コンテンツサービスコードが一致するコンテンツ申込が存在しない場合
						if(!setFlg)
						{
							// コンテンツ申込リスト.申込番号 ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.コンテンツ申込番号 ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.CONT_MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.コンテンツ申込情報状態コード ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STCD, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.コンテンツ申込情報状態名称 ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.支払方法ID ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.PAYWAY_ID, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.コンテンツ更新年月日時分秒 ← 空を設定
							subbean.sendMessageString(CNW01901SFConst.CONT_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, "");
							// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込なしを設定
							subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
							// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込なしを設定
							subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
							// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←活性を設定
							subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
						}
					}
					// コンテンツ申込情報一覧照会が存在しない場合
					else
					{
						// コンテンツ申込リスト.申込番号 ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.コンテンツ申込番号 ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.CONT_MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.コンテンツ申込情報状態コード ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STCD, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.コンテンツ申込情報状態名称 ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.CONT_MSM_INF_STNM, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.支払方法ID ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.PAYWAY_ID, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.コンテンツ更新年月日時分秒 ← 空を設定
						subbean.sendMessageString(CNW01901SFConst.CONT_UPD_DTM, X31CWebConst.DATABEAN_SET_VALUE, "");
						// コンテンツ申込リスト.変更前コンテンツ申込状態フラグ ← 申込なしを設定
						subbean.sendMessageBoolean(CNW01901SFConst.CHG_BF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
						// コンテンツ申込リスト.変更後コンテンツ申込状態フラグ ← 申込なしを設定
						subbean.sendMessageBoolean(CNW01901SFConst.CHG_AF_CONT_MSKM_ST_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
						// コンテンツ申込リスト.個別コンテンツ非活性フラグ ←活性を設定
						subbean.sendMessageBoolean(CNW01901SFConst.CONT_KOBETU_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
					}
				}
		}

		return bean;
	}
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：申込一覧照会
	 * @param mskmMainList 申込リスト
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV005502SC(X31SDataBeanAccess[] bean, ArrayList<HashMap<String, Object>> mskmMainList, HashMap outputMap){
		
		X31SDataBeanAccessArray listEKK0011B509_uketuke_no_list_EKK0011B509CBSMsg1List = bean[0].getDataBeanArray(CNW01901SFConst.DISP_UKETUEKE_NO_LIST);
		X31SDataBeanAccessArray listEKK0011B509_svc_kei_list_EKK0011B509CBSMsg1List = bean[0].getDataBeanArray(CNW01901SFConst.SVC_KEI_LIST);
		
		HashMap parentMapContMskm = null;
		ArrayList childMskmList = null;
		
		// コンテンツ申込情報一覧照会(SYSID)の実行結果を取得
		// 表示用受付番号（利用場所情報）リストを取得
		// サービス契約リストを取得
		if(mskmMainList.size() == 0)
		{
			// 表示用受付番号（利用場所情報）リスト
			X31SDataBeanAccess pulldown_subbean = listEKK0011B509_uketuke_no_list_EKK0011B509CBSMsg1List.getDataBean(0);
			
			// 表示用受付番号（利用場所情報）.選択値 ← 空を設定
			pulldown_subbean.sendMessageString(CNW01901SFConst.SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "");
			// 表示用受付番号（利用場所情報）.表示用受付番号（利用場所情報） ← 空を設定
			pulldown_subbean.sendMessageString(CNW01901SFConst.DISP_UKETUKE_NO, X31CWebConst.DATABEAN_ADD_VALUE, "");
			// 表示用受付番号（利用場所情報）.申込番号 ← 空を設定
			pulldown_subbean.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_ADD_VALUE, "");
		}
		else
		{
			// 提供中サービス契約有無フラグ
			Boolean tkSvcKeiUmFlg = false;
			// 解約・キャンセル済みフラグ
			Boolean rsnCancelFlg = false;
			
			// 表示用受付番号（利用場所情報）リスト
			X31SDataBeanAccess pulldown_subbean = listEKK0011B509_uketuke_no_list_EKK0011B509CBSMsg1List.getDataBean(0);
			X31SDataBeanAccess subbeanSvcList = null;
			
			// ループ回数
			int roopCnt = 1;
			
			// 申込リストの数だけループを実行
			for(int i = 0; i < mskmMainList.size(); i++)
			{
				HashMap<String, Object> mskmMain = mskmMainList.get(i);
				
				// サービス契約リスト
				subbeanSvcList = listEKK0011B509_svc_kei_list_EKK0011B509CBSMsg1List.addDataBean();
				
				// 解約・キャンセル件数
				int rsnCancelCnt = 0;
				
				// 表示用受付番号（利用場所情報）リスト
				// 表示用受付番号（利用場所情報）.選択値
				pulldown_subbean.sendMessageString(CNW01901SFConst.SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(roopCnt));
				// 表示用受付番号（利用場所情報）リスト.表示用受付番号（利用場所情報）
				pulldown_subbean.sendMessageString(CNW01901SFConst.DISP_UKETUKE_NO, X31CWebConst.DATABEAN_ADD_VALUE, (String) mskmMain.get("disp_uketuke_no"));
				// 表示用受付番号（利用場所情報）リスト.申込番号
				pulldown_subbean.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_ADD_VALUE, (String) mskmMain.get("mskm_no"));
				
				// サービス契約リスト
				// サービス契約リスト.申込番号
				subbeanSvcList.sendMessageString(CNW01901SFConst.MSKM_NO, X31CWebConst.DATABEAN_SET_VALUE, (String) mskmMain.get("mskm_no"));

				X31SDataBeanAccessArray detailArray = subbeanSvcList.getDataBeanArray(CNW01901SFConst.SVC_KEI_KOBETU_LIST);
				// コンテンツ申込情報よりサービス契約情報を取得
				HashMap<String, String> svcKeiMap = (HashMap<String, String>) mskmMain.get("svc_kei_info");
				
				for(String svcKeiNo : svcKeiMap.keySet())
				{
					// サービス契約個別リスト処理
					X31SDataBeanAccess detail = detailArray.addDataBean();
					
					// サービス契約個別リスト.サービス契約番号
					detail.sendMessageString(CNW01901SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
					// サービス契約個別リスト.サービス契約ステータス
					detail.sendMessageString(CNW01901SFConst.SVC_KEI_STAT, X31CWebConst.DATABEAN_SET_VALUE, svcKeiMap.get(svcKeiNo));
					
					// 申込リスト初回ループの場合
					if(i == 0)
					{
						// 解約・キャンセルされたサービス契約の個数を保管
						if((svcKeiMap.get(svcKeiNo)).equals(SVC_KEI_STAT_910) ||
								(svcKeiMap.get(svcKeiNo)).equals(SVC_KEI_STAT_920))
						{
							rsnCancelCnt++;
						}
						
						// 提供中のサービス契約が存在する場合、提供中サービス契約有無フラグに"true"を設定
						if((svcKeiMap.get(svcKeiNo)).equals(SVC_KEI_STAT_100) && !tkSvcKeiUmFlg)
						{
							tkSvcKeiUmFlg = true;
						}
					}
				}
				// ループ完了後、対象サービス契約と解約・キャンセル済み契約の数が一致した場合、解約・キャンセル済みフラグに"true"を設定
				if(rsnCancelCnt == svcKeiMap.size())
				{
					rsnCancelFlg = true;
				}
				
				roopCnt++;
			}
			// 提供中サービス契約有無フラグ判定
			// 解約・キャンセル済みフラグ判定
			if(tkSvcKeiUmFlg || rsnCancelFlg)
			{
				// 確定ボタン制御フラグ 非表示を設定
				bean[0].sendMessageBoolean(CNW01901SFConst.FIX_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, false);
				// コンテンツリスト（全体）非活性フラグ 非活性を設定
				bean[0].sendMessageBoolean(CNW01901SFConst.CONT_LIST_HIKASEI_CTRL_FLG, X31CWebConst.DATABEAN_SET_VALUE, true);	
			}
		}

		return bean;
	}
	
}