/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNW00301SFLogic
*	ソースファイル名：CNW00301SFLogic.java
*	作成者			：EK908988
*	日付			：2011年08月03日
*＜機能概要＞
*	コンテンツ料金調整登録のViewロジックです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*	ｖ4.00.00	2012/12/04	富士通)味岡	ST1-2012-0001018:SYSDATE使用箇所を運用日付使用に置き換え
*	ｖ4.00.01	2013/02/15	富士通)味岡	ST1-2013-0000332:登録ボタンが表示されない対応
*	ｖ5.00.00	2013/02/21  FJ)小林		【ST1-2013-0000372】AxM連携機能部分水平展開みなおし
*	ｖ5.00.01	2013/06/14	FJ)味岡		【IKK-2013-0001180】050オプション設定照会の出力メッセージ修正対応(水平展開対応)
*	ｖ28.00.00	2016/09/20	FJ)清原		【ANK-3032-00-00】AxM再構築対応
*	ｖ65.00.00	2023/10/17	FJ)渋谷		【ANK-4346-00-00】【eo定期】CCMG再構築対応
*	ｖ65.00.01	2024/02/07	FJ 渋谷		【ST-2024-0000002】エラーハンドリング対応
*	v65.00.01	2024/03/15	FJ 渋谷		【#84105】SIFエラーがＣＣＭＧエラーとして表示される
********************************************************************************/

package eo.web.webview.CNW00301SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.EventObject;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CID;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x33.X33CUtil;
import com.fujitsu.futurity.web.x33.X33SException;
import com.fujitsu.futurity.web.x33.beans.X33VViewJSPBean;
import com.sun.enterprise.connectors.util.SetMethodAction;

import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CNW00501SF.CNW00501SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCNScreenConst;
import eo.web.webview.common.JCNWebCommon;
import eo.web.webview.common.JCNWebConst;
import eo.web.webview.common.JCRScreenConst;
import eo.web.webview.mapping.CNSV0004_CNSV0004OPDBMapper;
import eo.web.webview.mapping.CNSV0005_CNSV0005OPDBMapper;
import eo.web.webview.mapping.CNSV0006_CNSV0006OPDBMapper;
import eo.common.constant.JCNStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JCCFrameworkException;
import eo.common.util.JCNStringUtil;
import eo.common.util.JKKStringUtil;

/**
 * コンテンツ料金調整登録のViewロジック<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CNW00301SFLogic extends JCCWebBusinessLogic
{

	private static final String[] REPLACE_MSG_AUTHORITY_RESULT = {"与信判定で承認されなかった", "課金訂正"}; 
	
	private static final String BLANK_STRING = "";
	
	/** AxM会員情報更新依頼サービスID */
	private static final String axmRequestService = "CKSV9001";
	
	/**
	 * 親クラスX31BWebBusinessLogicのreceiveMessageWebを
	 * オーバーライドして自動生成されたメソッドです。
	 * @param arg0 (I) イベント情報
	 * @param arg1 (I) WebFWでは使用しません
	 * @param arg2 (I) WebFWでは使用しません
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws X33SException X33SException
	 */
	@Override
	protected boolean receiveMessageWeb(X31CID arg0, Object arg1,
			EventObject arg2) throws X33SException
	{
		// TODO 自動生成されたメソッドスタブ
		return false;
	}

	/**
	 * コンテンツ料金調整登録の初期表示を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_init() throws Exception
	{

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		if ("".equals(commoninfoBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			commoninfoBean.sendMessageString(CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_SET_VALUE, "ＰＴテストユーザ");
			commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_SET_VALUE, "TESTUSER");
		}
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ情報を取得する
		HashMap param = JCCWebCommon.getScreenInfo(this);
		if (param == null)
		{
			// TODO：TIまでプロパティよりSYSIDを取得する
			String sysid = JCCWebCommon.getApplicationConst("CN_DEBUG_SYSID");
			bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysid);
		}
		else
		{
			bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)param.get(CNW00301SFConst.SYSID));
		}
		// ANK-4346-00-00 DEL START
//		//検索用コンテンツ契約ステータス（初期値は「契約中（強制解約予告含む）」）
//		bean.sendMessageString(CNW00301SFConst.CONT_KEI_ON_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		bean.sendMessageString(CNW00301SFConst.CONT_KEI_END_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		bean.sendMessageString(CNW00301SFConst.CONT_KEI_OUT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-4346-00-00 DEL END

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap paramMap = new HashMap();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0004");

		// ST1-2012-0001018 2012/12/04 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		String opeDateDtm = JCCWebCommon.getOpeDateTime(this, null);
		
		// ANK-4346-00-00 ADD START
		// セッションID取得
		HttpSession session = getSession(this);
		HashMap pageLinkInfoBaseMap = (HashMap)session.getAttribute( "pageLinkInfo");
		// キー：画面ID_表番号で紐付くページリンク情報オブジェクト
		HashMap targetPageLinkInfoMap = null;
		String nowPageNum = "1";
		if (pageLinkInfoBaseMap == null || pageLinkInfoBaseMap.isEmpty())
		{
			nowPageNum = "1";
		}
		else {
			// キー：画面ID_表番号
			String screenKeyId = createPageInfoKey(JCNScreenConst.SCREEN_ID_CNW00301 + "0PJP","0");
			// メニューIDを取得
			String menuid = getMenuId(this);
			// メニューIDMAPを取得する。
			HashMap menuIdMap = (HashMap) pageLinkInfoBaseMap.get(menuid);
			// キー：画面ID_表番号で紐付くページリンク情報オブジェクトを取得する。
			targetPageLinkInfoMap = (HashMap) menuIdMap.get( screenKeyId );
			// 現在のページング情報
			if (targetPageLinkInfoMap == null)
			{
				nowPageNum = "1";
			}
			else
			{
				targetPageLinkInfoMap = (HashMap) menuIdMap.get( screenKeyId );
				nowPageNum = (String)targetPageLinkInfoMap.get("display_page_num");
			}

		}
		// ANK-4346-00-00 ADD END
		// マッピングクラスのインスタンス作成
		CNSV0004_CNSV0004OPDBMapper mapper = new CNSV0004_CNSV0004OPDBMapper();
		HashMap dataMap = new HashMap();
//		mapper.setCNSV000401SC(paramBean, dataMap, "2");
		mapper.setCNSV000401SC(paramBean, dataMap, "2", opeDate);
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000402SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL END
//		mapper.setCNSV000403SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000403SC(paramBean, dataMap, "1", opeDateDtm);
		// ANK-4346-00-00 DEL END
//		mapper.setCNSV000404SC(paramBean, dataMap, "1");
		mapper.setCNSV000404SC(paramBean, dataMap, "1", opeDate);
//		mapper.setCNSV000405SC(paramBean, dataMap, "1");
		mapper.setCNSV000405SC(paramBean, dataMap, "1", opeDate);
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000406SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL END
		// ST1-2012-0001018 2012/12/04 n.ajioka END
		// ANK-4346-00-00 ADD START
		mapper.setCNSV000407CC(paramBean, dataMap, "1", opeDate, nowPageNum);
		// ANK-4346-00-00 ADD END

		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
//		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000403SC");
		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000407CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon.getSearchConst("CNW00301_ROW_PER_PAGE"));
		// ページング初期設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000403SC", dataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000407CC", dataMap);
//		// ページング用マップ取得
//		HashMap<String, Object> pagingMap02 = (HashMap)dataMap.get("CNSV000406SC");
		// ページング用マップ取得
		HashMap<String, Object> pagingMap02 = (HashMap)dataMap.get("CNSV000407CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap02.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);
		// 最大検索件数設定
		pagingMap02.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap02.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon.getSearchConst("CNW00301_ROW_PER_PAGE"));
		// ページング初期設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000406SC", dataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000407CC", dataMap);
		// ANK-4346-00-00 MOD END
		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// beanのクリア
		bean.getDataBeanArray(CNW00301SFConst.CUST_KOBET).clearArray();
		bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST).clearArray();
		bean.sendMessageString(CNW00301SFConst.SELECT_NO, X31CWebConst.DATABEAN_SET_VALUE, null);
		bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_ON, X31CWebConst.DATABEAN_SET_VALUE, true);
		bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_END, X31CWebConst.DATABEAN_SET_VALUE, false);
		bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_OUT, X31CWebConst.DATABEAN_SET_VALUE, false);

		// 検索結果の取り出し
		mapper.getCNSV000401SC(paramBean, outputMap);
		mapper.getCNSV000402SC(paramBean, outputMap);
		mapper.getCNSV000403SC(paramBean, outputMap);
		mapper.getCNSV000406SC(paramBean, outputMap);
		
		// 画面ボタン表示フラグの初期化
		bean.sendMessageBoolean(CNW00301SFConst.ADD_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);
		bean.sendMessageBoolean(CNW00301SFConst.DETAIL_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);
		bean.sendMessageBoolean(CNW00301SFConst.TAIORRKI_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);

		// 検索エラーフラグの取得
		// ANK-4346-00-00 MOD START
//		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000403CC", outputMap);
		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000407CC", outputMap);
		// ANK-4346-00-00 MODEND
		// ANk-4346-00-00 ADD START
		HashMap templateMap = (HashMap)outputMap.get("CNSV000407CC");
		String returnCode = (String)templateMap.get("return_code");
		String errSkbtCode = (String)templateMap.get("err_skbt_code");
		// ANk-4346-00-00 ADD END
		// ANK-4346-00-00 MOD START
//		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//		{
//			// 検索結果０件
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//			// ボタン非表示
//			bean.sendMessageBoolean(CNW00301SFConst.ADD_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//			bean.sendMessageBoolean(CNW00301SFConst.DETAIL_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//			bean.sendMessageBoolean(CNW00301SFConst.TAIORRKI_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//		{
//			// 検索最大件数オーバー
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT")});
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError))
//		{
//			// 表示ページに該当するデータなし
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
//		}
		// ST-2024-0000002 MOD START
//		if(!"00000".equals(returnCode))
//		{
//			if(JCNStringUtil.isNullBlank(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
//			}
//			else if("1".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
//			}
//			else if("2".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
//			}
//		}
//		else
//		{
//			if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//			{
//				// 検索結果０件
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//			}
//			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//			{
//				// 検索最大件数オーバー
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
//			}
//		}
		// ANK-4346-00-00 MOD END
		if(returnCode == null||"".equals(returnCode) )
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000407CC", outputMap);
			// 検索のコマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, "PAGING");

			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
			
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);
			return true;
		}
		else
		{
			if(!"00000".equals(returnCode))
			{
				if(JCNStringUtil.isNullBlank(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
				}
				else if("1".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
				}
				else if("2".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
				}
			}
			else
			{
				if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
				{
					// 検索結果０件
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
				}
				else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
				{
					// 検索最大件数オーバー
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
				}
			}
		}
		// ST-2024-0000002 MOD END
		// ページング情報の設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000403CC", outputMap);
		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000407CC", outputMap);
		// ANK-4346-00-00 MOD END
		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "PAGING");
		


		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}
	
	/**
	 * マップから指定されたキーの値を取得する。
	 * (使用例）<BR/>
	 *     getParamFromXml("LKA11020_RECEIVE", "PROCESS_DIV");<BR/>
	 * 
	 * @param map マップ
	 * @param allKeys キー名
	 * @return 値
	 */
	@SuppressWarnings("unchecked")
	private static Object getParamFromMap(Map map, String...allKeys)
	{

		Map nowMap = map;
		Object returnVal = null;
		for (int i = 0; i < allKeys.length; i++)
		{
			String key = allKeys[i];
			int idx = -1;
			if (key.matches("[a-zA-Z0-9_\\-]+\\[[0-9]+\\]"))
			{
				idx = new Integer(key.replaceFirst("^[a-zA-Z0-9_\\-]+\\[", "").replace("]", ""));
				key = key.replaceFirst("\\[[0-9]+\\]", "");
			}
			if (nowMap.containsKey(key))
			{
				Object val = nowMap.get(key);
				if ((val instanceof List) && (idx >= 0))
				{
					List nowList = (List)val;
					val = nowList.get(idx);
				}
				if (val instanceof Map)
				{
					nowMap = (Map)val;
				}
				if (i == allKeys.length - 1)
				{
					returnVal = val;
				}
			}
			else
			{
				return null;
			}
		}

		return returnVal;
	}
	
	/**
	 * コンテンツ料金調整登録の検索ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_search() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ANK-4346-00-00 DEL START
//		// コンテンツサービスコードの選択値取得
//		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_NM_LIST);
//		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
//		String selectValue = targetBean.sendMessageString(CNW00301SFConst.SELECT_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE);
//		// 選択された値からコンテンツサービスコードを取得して、検索条件に追加
//		String selectCd = targetBean.sendMessageString(CNW00301SFConst.CONT_SVC_CD_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
//		bean.sendMessageString(CNW00301SFConst.CONT_SVC_CD_SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, selectCd);
//		// コンテンツ契約ステータスの取得
//		boolean select = false;
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_ON, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_ON_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_ON_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_END, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_END_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_END_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_OUT, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_OUT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_OUT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
		// ANK-4346-00-00 DEL END

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0005");
		
		// ST1-2012-0001018 2012/12/05 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		String opeDateDtm = JCCWebCommon.getOpeDateTime(this, null);
		// ANK-4346-00-00 ADD START
		// パラメータ情報を取得する
		HashMap param = JCCWebCommon.getScreenInfo(this);
		if (param == null)
		{
			// TODO：TIまでプロパティよりSYSIDを取得する
			String sysid = JCCWebCommon.getApplicationConst("CN_DEBUG_SYSID");
			bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysid);
		}
		else
		{
			bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)param.get(CNW00301SFConst.SYSID));
		}
		// ANK-4346-00-00 ADD END
		// マッピングクラスのインスタンス作成
		CNSV0005_CNSV0005OPDBMapper mapper = new CNSV0005_CNSV0005OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
//		mapper.setCNSV000501SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000501SC(paramBean, dataMap, "1", opeDateDtm);
		// ANK-4346-00-00 DEL END
//		mapper.setCNSV000502SC(paramBean, dataMap, "1");
		mapper.setCNSV000502SC(paramBean, dataMap, "1", opeDate);
//		mapper.setCNSV000503SC(paramBean, dataMap, "1");
		mapper.setCNSV000503SC(paramBean, dataMap, "1", opeDate);
		// ST1-2012-0001018 2012/12/05 n.ajioka END
		// ANK-4346-00-00 ADD START
		mapper.setCNSV000504SC(paramBean, dataMap, "2", opeDate);
		mapper.setCNSV000505CC(paramBean, dataMap, "1", opeDate, "1");
		// ANK-4346-00-00 ADD END

		// ページング情報の初期化
		JCCWebCommon.clearPageLinkInfo(this, this.getGamenId());
		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
//		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000501SC");
		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000505CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon.getSearchConst("CNW00301_ROW_PER_PAGE"));
		// ページング初期設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000501SC", dataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000505CC", dataMap);
		// ANK-4346-00-00 MOD END
		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// beanのクリア
		bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST).clearArray();

		// 検索結果の取り出し
		// ANK-4346-00-00 DEL START
//		mapper.getCNSV000501SC(paramBean, outputMap);
		// ANK-4346-00-00 DEL END
		// ANK-4346-00-00 ADD START
		mapper.getCNSV000504SC(paramBean, outputMap);
		mapper.getCNSV000505CC(paramBean, outputMap);
		// ANK-4346-00-00 ADD END
		
		// 画面ボタン表示フラグの初期化
		bean.sendMessageBoolean(CNW00301SFConst.ADD_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);
		bean.sendMessageBoolean(CNW00301SFConst.DETAIL_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);
		bean.sendMessageBoolean(CNW00301SFConst.TAIORRKI_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, true);

		// 検索エラーフラグの取得
		// ANK-4346-00-00 MOD START
//		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000501SC", outputMap);
		
//		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//		{
//			// 検索結果０件
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//			// ボタン非表示
//			bean.sendMessageBoolean(CNW00301SFConst.ADD_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//			bean.sendMessageBoolean(CNW00301SFConst.DETAIL_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//			bean.sendMessageBoolean(CNW00301SFConst.TAIORRKI_BUTTON_DSP, X31CWebConst.DATABEAN_SET_VALUE, false);
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//		{
//			// 検索最大件数オーバー
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT")});
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError))
//		{
//			// 表示ページに該当するデータなし
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
//		}
		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000505CC", outputMap);
		HashMap templateMap = (HashMap)outputMap.get("CNSV000505CC");
		String returnCode = (String)templateMap.get("return_code");
		String errSkbtCode = (String)templateMap.get("err_skbt_code");
		 
		// ST-2024-0000002 MOD START
//		if(!"00000".equals(returnCode))
//		{
//			if(JCNStringUtil.isNullBlank(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
//			}
//			else if("1".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
//			}
//			else if("2".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
//			}
//		}
//		else
//		{
//
//			if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//			{
//				// 検索結果０件
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//			}
//			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//			{
//				// 検索最大件数オーバー
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
//			}
//			
//
//		}		
		// ANK-4346-00-00 MOD END
		if(returnCode == null||"".equals(returnCode) )
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000505CC", outputMap);
			// 検索のコマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, "PAGING");

			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
			
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);
			return true;
		}
		else
		{
			if(!"00000".equals(returnCode))
			{
				if(JCNStringUtil.isNullBlank(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
				}
				else if("1".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
				}
				else if("2".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
				}
			}
			else
			{
				if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
				{
					// 検索結果０件
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
				}
				else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
				{
					// 検索最大件数オーバー
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
				}
			}
		}
		// ST-2024-0000002 MOD END
		
		// ページング情報の設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000501SC", outputMap);
		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000505CC", outputMap);
		// ANK-4346-00-00 MOD END
		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "PAGING");

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}

	/**
	 * ページングリンク押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_paging() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ANK-4364-00-00 DEL START
//		// コンテンツサービスコードの選択値取得
//		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_NM_LIST);
//		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
//		String selectValue = targetBean.sendMessageString(CNW00301SFConst.SELECT_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE);
//		// 選択された値からコンテンツサービスコードを取得して、検索条件に追加
//		String selectCd = targetBean.sendMessageString(CNW00301SFConst.CONT_SVC_CD_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
//		bean.sendMessageString(CNW00301SFConst.CONT_SVC_CD_SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, selectCd);
//		// コンテンツ契約ステータスの取得
//		boolean select = false;
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_ON, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_ON_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_ON_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_END, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_END_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_END_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00301SFConst.CONT_KEI_OUT, X31CWebConst.DATABEAN_GET_VALUE);
//		if (select)
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_OUT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "1");
//		}
//		else
//		{
//			bean.sendMessageString(CNW00301SFConst.CONT_KEI_OUT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
		// ANK-4346-00-00 DEL END

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0005");
		
		// ST1-2012-0001018 2012/12/05 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		String opeDateDtm = JCCWebCommon.getOpeDateTime(this, null);
		
		// ANK-4346-00-00 ADD START
		// セッションID取得
		HttpSession session = getSession(this);
		HashMap pageLinkInfoBaseMap = (HashMap)session.getAttribute( "pageLinkInfo");
		// キー：画面ID_表番号で紐付くページリンク情報オブジェクト
		HashMap targetPageLinkInfoMap = null;
		String nowPageNum = "1";
		if (pageLinkInfoBaseMap == null || pageLinkInfoBaseMap.isEmpty())
		{
			nowPageNum = "1";
		}
		else {
			// キー：画面ID_表番号
			String screenKeyId = createPageInfoKey(JCNScreenConst.SCREEN_ID_CNW00301 + "0PJP","0");
			// メニューIDを取得
			String menuid = getMenuId(this);
			// メニューIDMAPを取得する。
			HashMap menuIdMap = (HashMap) pageLinkInfoBaseMap.get(menuid);
			// キー：画面ID_表番号で紐付くページリンク情報オブジェクトを取得する。
			targetPageLinkInfoMap = (HashMap) menuIdMap.get( screenKeyId );
			// 現在のページング情報
			if (targetPageLinkInfoMap == null)
			{
				nowPageNum = "1";
			}
			else
			{
				targetPageLinkInfoMap = (HashMap) menuIdMap.get( screenKeyId );
				nowPageNum = (String)targetPageLinkInfoMap.get("display_page_num");
			}

		}
		// ANK-4346-00-00 ADD END
		// マッピングクラスのインスタンス作成
		CNSV0005_CNSV0005OPDBMapper mapper = new CNSV0005_CNSV0005OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
//		mapper.setCNSV000501SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000501SC(paramBean, dataMap, "1", opeDateDtm);
		// ANK-4346-00-00 DEL END
//		mapper.setCNSV000502SC(paramBean, dataMap, "1");
		mapper.setCNSV000502SC(paramBean, dataMap, "1", opeDate);
//		mapper.setCNSV000503SC(paramBean, dataMap, "1");
		mapper.setCNSV000503SC(paramBean, dataMap, "1", opeDate);
		// ST1-2012-0001018 2012/12/05 n.ajioka END
		// ANK-4346-00-00 ADD START
		mapper.setCNSV000504SC(paramBean, dataMap, "2", opeDate);
		mapper.setCNSV000505CC(paramBean, dataMap, "1", opeDate, nowPageNum);
		// ANK-4346-00-00 ADD END

		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
//		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000501SC");
		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV000505CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon.getSearchConst("CNW00301_ROW_PER_PAGE"));
		// ページング初期設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000501SC", dataMap);
		JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000505CC", dataMap);
		// ANK-4346-00-00 MOD END

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// beanのクリア
		bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST).clearArray();

		// 検索結果の取り出し
		// ANK-4346-00-00 MOD START
//		mapper.getCNSV000501SC(paramBean, outputMap);
		mapper.getCNSV000504SC(paramBean, outputMap);
		mapper.getCNSV000505CC(paramBean, outputMap);
		// ANK-4346-00-00 MOD END

		// 検索エラーフラグの取得
		// ANK-4346-00-00 MOD START
//		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000501SC", outputMap);
		
//		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//		{
//			// 検索結果０件
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//		{
//			// 検索最大件数オーバー
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW00301_MAX_SHOW_CNT")});
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError))
//		{
//			// 表示ページに該当するデータなし
//			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
//		}
		String searchError = JCCWebCommon.getSearchErrFlg("CNSV000505CC", outputMap);
		HashMap templateMap = (HashMap)outputMap.get("CNSV000505CC");
		String returnCode = (String)templateMap.get("return_code");
		String errSkbtCode = (String)templateMap.get("err_skbt_code");
		 
		
		// ST-2024-0000002 MOD START
//		if(!"00000".equals(returnCode))
//		{
//			if(JCNStringUtil.isNullBlank(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
//			}
//			else if("1".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
//			}
//			else if("2".equals(errSkbtCode))
//			{
//				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//						new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
//			}
//		}
//		else
//		{
//			if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//			{
//				// 検索結果０件
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//			}
//			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//			{
//				// 検索最大件数オーバー
//				JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
//			}
//
//		}		
		// ANK-4346-00-00 MOD END
		if(returnCode == null||"".equals(returnCode) )
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// ページング情報の設定
			JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000505CC", outputMap);
			// 検索のコマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, "PAGING");

			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
			
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);
			return true;
		}
		else
		{
			if(!"00000".equals(returnCode))
			{
				if(JCNStringUtil.isNullBlank(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
				}
				else if("1".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（課金参照）", "CCMGエラーコード:" + returnCode });
				}
				else if("2".equals(errSkbtCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
				}
			}
			else
			{
				if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
				{
					// 検索結果０件
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
				}
				else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
				{
					// 検索最大件数オーバー
					JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER, new String[] {JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT")});
				}
	
			}
		}
		// ST-2024-0000002 MOD END
		// ページング情報の設定
		// ANK-4346-00-00 MOD START
//		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000501SC", outputMap);
		JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000505CC", outputMap);
		// ANK-4346-00-00 MOD END
		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "PAGING");

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}
	
	/**
	 * 登録ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_submit() throws Exception
	{
		// 解約確認画面のメッセージエリアの背景色を黄色で設定
		JCNWebCommon.setMessageAreaBackColor(this, "1");
		
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		/**
		 * 画面で選択されたラジオボタンのValue
		 */
		String radio_chk = bean.sendMessageString(CNW00301SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE);
		
//----- JavaScript制御に変更 -----
//		// ラジオボタン選択チェック
//		if (radio_chk.equals(""))
//		{
//			// 「料金調整」する明細が選択されていません
//			JCCWebCommon.setMessageInfo(this, "EKB0800-NW", new String[] {"料金調整"});
//			return true;
//		}
		// 選択された列のDataBeanを取り出す
		// サービスのBean取得
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(radio_chk);
		int row_cnt = 0;
		for(int i = 0; i < targetInfo.getCount(); i++)
		{
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean.getDataBeanArray(CNW00301SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount())
			{
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			}
			else
			{
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}
		
		// 対象列のチェック
		// 課金対象区分
		String selectKubun = targetBean.sendMessageString(CNW00301SFConst.CHRG_TESEI_DIV_SELECT_VALUE, X31CWebConst.DATABEAN_GET_VALUE);
//----- JavaScript制御に変更 -----
//		String selectRiyuu = targetBean.sendMessageString(CNW00301SFConst.CHRG_TESEI_RSN_SELECT_VALUE, X31CWebConst.DATABEAN_GET_VALUE);
//		if (selectKubun.equals("0"))
//		{
//			// 「訂正区分」が選択されていません
//			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[] {"訂正区分"}, "ID017" + row_cnt);
//			return true;
//		}
//		else
//		{
//			// 課金訂正理由
//			if (selectRiyuu.equals("0"))
//			{
//				// 「訂正理由」が選択されていません
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[] {"訂正理由"}, "ID024" + row_cnt);
//				return true;
//			}
//		}
		int selectKubunValue = Integer.parseInt(selectKubun);
		switch(selectKubunValue)
		{
		case 1:
			// 売上減
			// 課金停止中の場合
			if (!targetBean.sendMessageString(CNW00301SFConst.CHRG_STAT_CD_04, X31CWebConst.DATABEAN_GET_VALUE).equals("0"))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0930_NW, new String[] {"課金停止中の", "取消以外"}, "ID017" + row_cnt);
				return true;
			}
			// 値引値入力チェック
			String workValue1 = targetBean.sendMessageString(CNW00301SFConst.INPUT_DISCOUNT_VALUE_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (workValue1.equals(""))
			{
				// 入力なし
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0710_NW, new String[] {"売上減", "値引値"}, "ID019" + row_cnt);
				return true;
			}
			else
			{
				// 妥当性チェック
				if (workValue1.length() > JCNWebConst.RK_LENGTH)
				{
					// 入力桁数オーバー
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0020_TW, new String[] {"値引値", String.valueOf(JCNWebConst.RK_LENGTH)}, "ID019" + row_cnt);
					return true;
				}
				if (!workValue1.matches(JCNWebConst.REG_STRING))
				{
					// 半角英数字以外
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW, new String[] {"値引値"}, "ID019" + row_cnt);
					return true;
				}
				// 前回と同じ金額か
				if (targetBean.sendMessageString(CNW00301SFConst.CONTCHRGTESEI_DIV_04, X31CWebConst.DATABEAN_GET_VALUE).equals(JCNWebConst.SALES_GEN_KBN)
						&& targetBean.sendMessageString(CNW00301SFConst.SALES_GEN_AMNT_04, X31CWebConst.DATABEAN_GET_VALUE).equals(workValue1))
				{
					// TODO:メッセージＩＤ決める
					JCCWebCommon.setMessageInfo(this, /*JPCOnlineMessageConstant.EKB9950_NW*/"EKB9950-NW", new String[] {"売上減"}, "ID019"+row_cnt);
					return true;
				}
				// 値引値＞税込価格−補償費の場合エラー
				String kakaku = targetBean.sendMessageString(CNW00301SFConst.TAX_KOMI_GK_04, X31CWebConst.DATABEAN_GET_VALUE);
				// ANK-4346-00-00 MOD START
//				String hosyou = targetBean.sendMessageString(CNW00301SFConst.COMPENSATION_04, X31CWebConst.DATABEAN_GET_VALUE);
//				if (Double.parseDouble(workValue1) > (Double.parseDouble(kakaku) - Double.parseDouble(hosyou)))
//				{
//					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0820_NW, new String[] {"売上減額", "料金（税込合計）−補償費"}, "ID019" + row_cnt);
				if (Double.parseDouble(workValue1) > (Double.parseDouble(kakaku)))
				{
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0820_NW, new String[] {"売上減額", "料金（税込合計）"}, "ID019" + row_cnt);
				// ANK-4346-00-00 MOD END
					return true;
				}
			}
			break;

		// ANK-4346-00-00 DEL START
//		case 2:
//			// 補償費
//			// 課金停止中の場合
//			if (!targetBean.sendMessageString(CNW00301SFConst.CHRG_STAT_CD_04, X31CWebConst.DATABEAN_GET_VALUE).equals("0"))
//			{
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0930_NW, new String[] {"課金停止中の", "取消以外"}, "ID017" + row_cnt);
//				return true;
//			}
//			// 値引値入力チェック
//			String workValue2 = targetBean.sendMessageString(CNW00301SFConst.INPUT_DISCOUNT_VALUE_04, X31CWebConst.DATABEAN_GET_VALUE);
//			if (workValue2.equals(""))
//			{
//				// 入力なし
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0710_NW, new String[] {"補償費", "値引値"}, "ID019" + row_cnt);
//				return true;
//			}
//			else
//			{
//				// 妥当性チェック
//				if (workValue2.length() > JCNWebConst.RK_LENGTH)
//				{
//					// 入力桁数オーバー
//					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0020_TW, new String[] {"値引値", String.valueOf(JCNWebConst.RK_LENGTH)}, "ID019" + row_cnt);
//					return true;
//				}
//				if (!workValue2.matches(JCNWebConst.REG_STRING))
//				{
//					// 半角英数字以外
//					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0140_TW, new String[] {"値引値"}, "ID019" + row_cnt);
//					return true;
//				}
//				// 前回と同じ金額か
//				if (targetBean.sendMessageString(CNW00301SFConst.CONTCHRGTESEI_DIV_04, X31CWebConst.DATABEAN_GET_VALUE).equals(JCNWebConst.COMPENSATION_KBN)
//						&& targetBean.sendMessageString(CNW00301SFConst.COMPENSATION_04, X31CWebConst.DATABEAN_GET_VALUE).equals(workValue2))
//				{
//					// TODO:メッセージＩＤ決める
//					JCCWebCommon.setMessageInfo(this, /*JPCOnlineMessageConstant.EKB9950_NW*/"EKB9950-NW", new String[] {"補償費"}, "ID019"+row_cnt);
//					return true;
//				}
//				// 値引値＞税込価格−売上減額の場合エラー
//				String kakaku = targetBean.sendMessageString(CNW00301SFConst.TAX_KOMI_GK_04, X31CWebConst.DATABEAN_GET_VALUE);
//				String gengaku = targetBean.sendMessageString(CNW00301SFConst.SALES_GEN_AMNT_04, X31CWebConst.DATABEAN_GET_VALUE);
//				if (Double.parseDouble(workValue2) > (Double.parseDouble(kakaku) - Double.parseDouble(gengaku)))
//				{
//					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0820_NW, new String[] {"補償費", "料金（税込合計）−売上減額"}, "ID019" + row_cnt);
//					return true;
//				}
//			}
//			break;
			// ANK-4346-00-00 DEL END
		// ANK-4346-00-00 MOD START 
//		case 3:
		case 2:
		// ANK-4346-00-00 MOD END 
			// 取消
			// 値引値入力チェック
			String workValue3 = targetBean.sendMessageString(CNW00301SFConst.INPUT_DISCOUNT_VALUE_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!workValue3.equals(""))
			{
				// 入力あり
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0970_NW, new String[] {"取消", "値引値"}, "ID019" + row_cnt);
				return true;
			}
			// 前回が取消の場合エラー
			if (targetBean.sendMessageString(CNW00301SFConst.CONTCHRGTESEI_DIV_04, X31CWebConst.DATABEAN_GET_VALUE).equals(JCNWebConst.CHRG_CANSEL_KBN))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0900_TW, new String[] {"前回の課金訂正", "取消"}, "ID019" + row_cnt);
				return true;
			}
			break;

		default:
			// 処理なし
			break;
		}
		
		// 選択列のCSSクラス名セット
		targetBean.sendMessageString(CNW00301SFConst.CSS_CLASS_NM_04, X31CWebConst.DATABEAN_SET_VALUE, "sel");
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00302);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00302);

		// TODO メッセージクラスリリース後、コメント中のロジックを有効にする
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[] {"料金調整"});
		return true;
	}

	/**
	 * 確定ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_confirm() throws Exception
	{

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ラジオボタンの値を抜き出す
		String radio_chk = bean.sendMessageString(CNW00301SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択された列のDataBeanを取り出す
		// サービスのBean取得
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(radio_chk);
		for(int i = 0; i < targetInfo.getCount(); i++)
		{
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean.getDataBeanArray(CNW00301SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount())
			{
				targetBean = subArray.getDataBean(targetCnt);
				break;
			}
			else
			{
				targetCnt = targetCnt - subArray.getCount();
			}
		}
		// 顧客のDataBeanを取り出す
		X31SDataBeanAccess custBean = null;
		X31SDataBeanAccessArray custInfo = bean.getDataBeanArray(CNW00301SFConst.CUST_KOBET);
		custBean = custInfo.getDataBean(0);
		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean, commoninfoBean};
		
		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0006");
		// マッピングクラスのインスタンス作成
		CNSV0006_CNSV0006OPDBMapper mapper = new CNSV0006_CNSV0006OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// ANK-4346-00-00 DEL START
//		// 20120703 排他チェックCCのマッピングを追加
//		mapper.setCNSV000610CC(bean, dataMap, "1", targetBean);
//		// 20120911 クレジット会社一意照会のマッピングを追加
//		mapper.setCNSV000610SC(dataMap, "2", targetBean, this);
//		// ANK-4346-00-00 DEL END
		// ST1-2012-0001018 2012/12/05 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
//v28.00.00 ANK-3032-00-00 Del Start
//		mapper.setCNSV000601SC(paramBean, dataMap, "1", targetBean);
//v28.00.00 ANK-3032-00-00 Del End
//		mapper.setCNSV000602SC(paramBean, dataMap, "1", targetBean);
		// ANK-4346-00-00 DEL START
//		mapper.setCNSV000602SC(paramBean, dataMap, "1", targetBean, opeDate);
//		mapper.setCNSV000603SC(paramBean, dataMap, "1", targetBean);
////		mapper.setCNSV000604SC(paramBean, dataMap, "1", targetBean, custBean);
//		mapper.setCNSV000604SC(paramBean, dataMap, "1", targetBean, custBean, opeDate);
////		mapper.setCNSV000605SC(paramBean, dataMap, "1", targetBean);
//		mapper.setCNSV000605SC(paramBean, dataMap, "1", targetBean, opeDate);
//		mapper.setCNSV000606SC(paramBean, dataMap, "1", targetBean);
////		mapper.setCNSV000607SC(paramBean, dataMap, "1", targetBean, custBean);
//		mapper.setCNSV000607SC(paramBean, dataMap, "1", targetBean, custBean, opeDate);
//		mapper.setCNSV000608SC(paramBean, dataMap, "1", targetBean, custBean);
		// ANK-4346-00-00 DEL END
//		mapper.setCNSV000609SC(paramBean, dataMap, "1", targetBean);
//v28.00.00 ANK-3032-00-00 Del Start
//		mapper.setCNSV000609SC(paramBean, dataMap, "1", targetBean, opeDate);
//v28.00.00 ANK-3032-00-00 Del End
		// ST1-2012-0001018 2012/12/05 n.ajioka END
		// ANK-4346-00-00 ADD START
		
		mapper.setCNSV000610CC(paramBean, dataMap, "1", targetBean, opeDate);
		// ANK-4346-00-00 ADD END
		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();
		
		try
		{
			// SQL呼出し
			X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

			// ANK-4346-00-00 DEL START
//			// エラー処理 
//			if(msgResult != null)
//			{
//				JCCWebCommon.setMessageInfo(this, msgResult);
//				return true;
//			}
			// ANK-4346-00-00 DEL END
			
			// ANK-4346-00-00 ADD START
			HashMap templateMap = (HashMap)outputMap.get("CNSV000610CC");
			String returnCode = (String)templateMap.get("return_code");
			String errSkbtCode = (String)templateMap.get("err_skbt_code");
			// #84105 ADD START
			String ccmgErrFlg = (String)templateMap.get("CCMG_ERR_FLG");
			// #84105 ADD END
			// ST-2024-0000002 MOD START
//			if(!"00000".equals(returnCode))
//			{
//				if(JCNStringUtil.isNullBlank(errSkbtCode))
//				{
//					// 処理番号発行 に失敗した場合
//					JCCWebCommon.setMessageInfo(this, "EKB9930-CE",
//							new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
//				}
//				else if("1".equals(errSkbtCode))
//				{
//					// 処理番号発行に失敗した場合
//					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//							new String[] { "CCMG連携（処理番号発行）", "CCMGエラーコード:" + returnCode });
//				}
//				else if("2".equals(errSkbtCode))
//				{
//					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//							new String[] { "CCMG連携（料金訂正登録・変更）", "CCMGエラーコード:" + returnCode });
//				}
//				// 選択列のCSSクラス名セット
//				targetBean.sendMessageString(CNW00301SFConst.CSS_CLASS_NM_04, X31CWebConst.DATABEAN_SET_VALUE, "sel");
//				
//				// 遷移先の画面IDを共有フォームBeanの項目に設定する。
//				commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
//						X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00302);
//				
//				// 遷移先の画面名を共有フォームBeanの項目に設定する。
//				commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
//						X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00302);
//
//				// TODO メッセージクラスリリース後、コメント中のロジックを有効にする
//				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[] {"料金調整"});
//				return true;
//			}
			// #84105 MOD START
//			String status = (String)templateMap.get("status");
//			if("1100".equals(status))
			if("1".equals(ccmgErrFlg) && JKKStringUtil.isNullEmpty(returnCode))
			// #84105 MOD END
			{
				// CCMG連携に失敗した場合
				JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
						new String[] {"CCMG連携"});
				// 遷移先の画面IDを共有フォームBeanの項目に設定する。
				commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
						X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00302);
				
				// 遷移先の画面名を共有フォームBeanの項目に設定する。
				commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
						X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00302);
				return true;
			}
			else
			{

				if(!"00000".equals(returnCode))
				{
					if(JCNStringUtil.isNullBlank(errSkbtCode))
					{
						// 処理番号発行 に失敗した場合
						JCCWebCommon.setMessageInfo(this, "EKB9930-CE",
								new String[] { "CCMG連携", "CCMGエラーコード:" + returnCode });
					}
					else if("1".equals(errSkbtCode))
					{
						// 処理番号発行に失敗した場合
						JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
								new String[] { "CCMG連携（処理番号発行）", "CCMGエラーコード:" + returnCode });
					}
					else if("2".equals(errSkbtCode))
					{
						// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
						JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
								new String[] { "CCMG連携（料金訂正登録・変更）", "CCMGエラーコード:" + returnCode });
					}
					// 選択列のCSSクラス名セット
					targetBean.sendMessageString(CNW00301SFConst.CSS_CLASS_NM_04, X31CWebConst.DATABEAN_SET_VALUE, "sel");
					
					// 遷移先の画面IDを共有フォームBeanの項目に設定する。
					commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
							X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00302);
					
					// 遷移先の画面名を共有フォームBeanの項目に設定する。
					commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
							X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00302);

					// TODO メッセージクラスリリース後、コメント中のロジックを有効にする
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[] {"料金調整"});
					return true;
				}
			// ST-2024-0000002 MOD END
			}
			// ANK-4346-00-00 ADD END
		}
		
		catch (Exception e)
		{
			throw e;
		}
		// ANK-4346-00-00 DEL START
//		// 排他制御の結果チェック
//		if (!checkJCNCheckExclusionCNPrcCCResult(outputMap))
//		{
//			// エラーメッセージを設定
//			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKF0320_KW);
//			return true;
//		}
		// ANK-4346-00-00 DEL END

//ｖ28.00.00 ANK-3032-00-00 Del Start
//		// 20120704 与信判定APIの結果チェック
//		if (!checkAuthorityResult(outputMap)) 
//		{
//			// エラーメッセージを設定
//			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0930_NW, REPLACE_MSG_AUTHORITY_RESULT);
//			return true;
//		}
//		/************************
//		 * AxM会員情報連携
//		 ************************/
//
//		HashMap paramMap4AxmReq = new HashMap();
//		HashMap inputMap4AxmReq = new HashMap();
//		HashMap outputMap4AxmReq = new HashMap();
//
//		// サービスへのデータセット
//		paramMap4AxmReq.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, axmRequestService);
//		paramMap4AxmReq.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, axmRequestService + "OP");
//		
//		HashMap<String, Object> mapAxmCc = new HashMap<String, Object>();
//		mapAxmCc.put("upd_trgt_sysid", bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
//		inputMap4AxmReq.put("CKSV900101CC", mapAxmCc);
//		
//		// サービスの呼出
//		X31CMessageResult msgResult4AxmReq = invokeService(paramMap4AxmReq, inputMap4AxmReq, outputMap4AxmReq);
//
//		// エラー処理
//		String errFlgAxm = (String)getParamFromMap(outputMap4AxmReq, "CKSV900101CC", "err_flg");
//		if ((msgResult4AxmReq != null)||(!"0".equals(errFlgAxm)))
//		{
//			JCCWebCommon.setMessageInfo(this, "AxM会員情報連携サービスにてエラーが発生しました。");
//			
//			DEBUG_LOG.info("AxM会員情報連携サービスにてエラーが発生しました。");
//		}
//		
//ｖ28.00.00 ANK-3032-00-00 Del End
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00303);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00303);

		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[] {"コンテンツ料金調整の登録"});

		return true;
	}
	
	// ANK-4346-00-00 DEL START
//	/**
//	 * 排他チェックCCの結果からエラー判定を行う。
//	 * @param outputMap CNSV0006サービス呼出後の結果を格納したMAP
//	 * @return 判定結果
//	 */
//	private boolean checkJCNCheckExclusionCNPrcCCResult(HashMap outputMap)
//	{
//		if (outputMap == null)
//		{
//			return false;
//		}
//		
//		if (!outputMap.containsKey("CNSV000610CC"))
//		{
//			return false;
//		}
//		
//		HashMap ccMap = (HashMap) outputMap.get("CNSV000610CC");
//		
//		String errLevel = (String) ccMap.get("errLevel");
//		
//		if (!"000".equals(errLevel))
//		{
//			return false;
//		}
//		
//		return true;
//	}
	// ANK-4346-00-00 DEL END
//v28.00.00 ANK-3032-00-00 Del Start
//	/**
//	 * 与信判定APIの結果からエラー判定を行う。
//	 * @param outputMap CNSV0006サービス呼出後の結果を格納したMAP
//	 * @return 判定結果
//	 */
//	private boolean checkAuthorityResult(HashMap outputMap)
//	{
//		if (outputMap == null) {
//			return false;
//		}
//		
//		if (!outputMap.containsKey("CNSV000601SC"))
//		{
//			return false;
//		}
//		
//		// クレカの時のみ判定を行う。
//		HashMap ccMap = (HashMap) outputMap.get("CNSV000610CC");
//		HashMap contentsMap = (HashMap) ccMap.get("contentsMap");
//		if (!contentsMap.containsKey("ECN0071B001"))
//		{
//			return true;
//		}
//		
//		HashMap resultMap = (HashMap) outputMap.get("CNSV000601SC");
//		
//		// returnCode
//		String returnCode = (String) resultMap.get("returnCode");
//		
//		// authorityResult
//		String authorityResult = (String) resultMap.get("authorityResult");
//		
//		// returnCode"00"以外、または、authorityResult"0"以外の場合
//		if (!"00".equals(returnCode) || !"0".equals(authorityResult))
//		{
//			return false;
//		}
//		
//		return true;
//	}
//v28.00.00 ANK-3032-00-00 Del End

	/**
	 * 戻るボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_back() throws Exception
	{

		// 画面情報の取得
//		JCCWebCommon.getScreenInfo(this);

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}

	/**
	 * 完了ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_end() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00301, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00301, JCNScreenConst.SCREEN_ID_CNW00301);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}


	/**
	 * コンテンツ契約一覧タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_keiList() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00101, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00101);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00101);

		return true;
	}
	
	/**
	 * コンテンツ料金調整タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_prcAdj() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00301, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00301, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00301);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}

	/**
	 * コンテンツ支払方法変更タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_payChg() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00401, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00401, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00401);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00401);

		return true;
	}

	/**
	 * コンテンツ請求照会タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_seiky() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01101, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01101, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01101);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01101);

		return true;
	}

	/**
	 * コンテンツ契約変更履歴タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_keiHist() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SYSID, bean.sendMessageString(CNW00301SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01201, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01201, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01201);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01201);

		return true;
	}
	
	/**
	 * 対応履歴ボタン押下時の処理押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_taiorrki() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00301SFConst.SVC_KEI_NO, bean.sendMessageString(CNW00301SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCRScreenConst.SCREEN_ID_CRW01201, dataMap);
		JCCWebCommon.setScreenId(this, JCRScreenConst.SCREEN_ID_CRW01201, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_ID_CRW01201);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCRScreenConst.SCREEN_NAME_CRW01201);

		return true;
	}

	
	/**
	 * 詳細ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_detail() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 選択されたラジオボタンの値を取得
		String chkValue = bean.sendMessageString(CNW00301SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (BLANK_STRING.equals(chkValue))
		{
			// 「料金調整」する明細が選択されていません
			JCCWebCommon.setMessageInfo(this, "EKB0800-NW", new String[] {"詳細表示"});
			return true;
		}
		// 選択された列のDataBeanを取り出す
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW00301SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(chkValue);
		int row_cnt = 0;
		for(int i = 0; i < targetInfo.getCount(); i++)
		{
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean.getDataBeanArray(CNW00301SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount())
			{
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			}
			else
			{
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}
		
		// 選択されたコンテンツ契約番号を取得する
		String contKeiNo = targetBean.sendMessageString(CNW00301SFConst.CONT_KEI_NO_04, X31CWebConst.DATABEAN_GET_VALUE);
		// お客様情報よりeoIDを取得
		X31SDataBeanAccessArray custInfo = bean.getDataBeanArray(CNW00301SFConst.CUST_KOBET);
		X31SDataBeanAccess custBean = custInfo.getDataBean(0);
		String eoId = custBean.sendMessageString(CNW00301SFConst.EOID_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// パラメータを設定
		dataMap.put(CNW00501SFConst.CONT_KEI_NO, contKeiNo);
		dataMap.put(CNW00501SFConst.EOID, eoId);
		dataMap.put(CNW00501SFConst.CUST_KANA_NM, "");

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00501, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00501, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00501);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00501);

		return true;
	}
	// ANK-4346-00-00 ADD START
	/**
	 * セッションを取得します。
	 * 
	 * @param arg0 VIEWロジックインスタンス
	 */
	private static HttpSession getSession(JCCWebBusinessLogic arg0) throws Exception
	{
		// セッションID取得
		String sessionId = arg0.getSession().getViewParamId().getSessionID();
		// セッションを取得して返却
		return X33CUtil.getSession(sessionId).getSession();
	}
	private static String createPageInfoKey(String screenId, String tableIndex) {
		if (screenId == null || tableIndex == null) 
		{
			return null;
		}
		return getScreenIdWith0PJP(screenId) + "_" + tableIndex;
	}
	/**
	 * 指定された画面IDが"0PJP"で終わっていない場合、"0PJP"を付与して返却します。
	 * "0PJP"で終わっている場合、処理を行わず画面IDを返却します。
	 * @param screenId 画面ID
	 * @return 画面ID + "0PJP"
	 */
	private static String getScreenIdWith0PJP(String screenId) {
		if ( screenId == null ) {
			return null;
		}
		
		int ret = screenId.lastIndexOf("0PJP");
		if (ret == -1) {
			return screenId + "0PJP";
		} else {
			return screenId;
		}
	}
	/**
	 * メニューIDを取得する。
	 * @param arg0 VIEWロジックインスタンス
	 * @return メニューID
	 */
	private static String getMenuId( JCCWebBusinessLogic arg0 ) {
		try {
			X33VViewJSPBean jspBean = (X33VViewJSPBean) X33CUtil.getSession( arg0.getSession().getViewParamId().getSessionID() ).getContext().getRequestBean();
			String eventPageId = jspBean.getEventPageId();
			
			// アプリケーションプロパティファイルのメニュー画面ID定義を取得
			String menuScreenId = JCMAPLConstMgr.getString("MENU_SCREEN_ID");
			
			HashMap map = arg0.getRequestParams();
			if ( eventPageId != null && menuScreenId != null && eventPageId.equals(menuScreenId) ) {
				// 20121220 メニューIDの取得先変更（戻るボタンが効かない障害の対応） fst)yanagihara start
				return (String) map.get(JCCWebCommon.MENUID_PARAM_NAME);
				//return (String) map.get("uji.verb");
				// 20121220 メニューIDの取得先変更（戻るボタンが効かない障害の対応） fst)yanagihara end
			} else {
				return (String) map.get("menuid_system");
			}
		} catch(Throwable th)
		{
			throw makeJCCFrameworkException(th);
		}
	}
	
	/**
	 * オブジェクト生成処理です。
	 * Throwableオブジェクトをオブジェクトに保持して返却します。
	 * Throwableオブジェクトがオブジェクトの場合は、そのまま返却します。
	 * @param th Throwableオブジェクト
	 * @return JCCFrameworkExceptionオブジェクト
	 */
	private static JCCFrameworkException makeJCCFrameworkException(Throwable th)
	{	
		if (th instanceof JCCFrameworkException)
		{	
			return (JCCFrameworkException)th;
		}
		JCCFrameworkException fwe = new JCCFrameworkException();
		fwe.initCause(th);
		return fwe;
	}
	// ANK-4346-00-00 ADD END
	
}
