/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNW01101SFLogic
*	ソースファイル名：CNW01101SFLogic.java
*	作成者			：EK908988
*	日付			：2011年08月03日
*＜機能概要＞
*	コンテンツ契約一覧照会のViewロジックです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*	ｖ4.00.00	2012/12/05	富士通)味岡	ST1-2012-0001018:SYSDATE使用箇所を運用日付使用に置き換え
*	v65.00.00	2023/08/01	FJ）吉田	【ANK-4346-00-00】【eo定期】CCMG再構築対応
********************************************************************************/

package eo.web.webview.CNW01101SF;

import java.util.EventObject;
import java.util.HashMap;

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.X33SException;

import eo.common.constant.JCNStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCNStringUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHCommonConst;
import eo.web.webview.common.JCNScreenConst;
import eo.web.webview.common.JCNWebCommon;
import eo.web.webview.common.JCNWebConst;
import eo.web.webview.mapping.CNSV0020_CNSV0020OPDBMapper;
import eo.web.webview.mapping.CNSV0021_CNSV0021OPDBMapper;

/**
 * コンテンツ請求照会のViewロジック<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CNW01101SFLogic extends JCCWebBusinessLogic
{

	// ANK-4346-00-00 ADD START
	/** データ取得フラグ 0件*/
	private static final String DATA_FLG_0 = "0";
	/** データ取得フラグ 1件以上100件以下*/
	private static final String DATA_FLG_1 = "1";
	/** データ取得フラグ 101件以上*/
	private static final String DATA_FLG_2 = "2";
	// ANK-4346-00-00 ADD END
	
	/**
	 * 親クラス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
	{

		return false;
	}

	/**
	 * コンテンツ請求の初期表示を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_init() throws Exception
	{

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面の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(CNW01101SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, sysid);
		}
		else
		{
			bean.sendMessageString(CNW01101SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, (String)param.get(CNW01101SFConst.SYSID));
		}
		// 検索用世代登録年月日自分秒設定
		// ST1-2012-0001018 2012/12/05 n.ajioka START
//		String gene_ymd = JCCWebCommon.getSysDate();
		String gene_ymd = JCCWebCommon.getOpeDate(this, null);
		// ST1-2012-0001018 2012/12/05 n.ajioka END
		bean.sendMessageString(CNW01101SFConst.GENE_ADD_DTM, X31CWebConst.DATABEAN_SET_VALUE, gene_ymd);
		// 対象年月には当月を設定
		// ST1-2012-0001018 2012/12/05 n.ajioka START
//		String targetYm = JCCWebCommon.getSysDate().substring(0, 6);
		String targetYm = JCCWebCommon.getOpeDate(this, null).substring(0, 6);
		// ST1-2012-0001018 2012/12/05 n.ajioka END
		bean.sendMessageString(CNW01101SFConst.CHRG_TRGT_YM_SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, targetYm);


		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap paramMap = new HashMap();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0020");

		// ST1-2012-0001018 2012/12/06 n.ajioka START
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
		// マッピングクラスのインスタンス作成
		CNSV0020_CNSV0020OPDBMapper mapper = new CNSV0020_CNSV0020OPDBMapper();
		HashMap dataMap = new HashMap();
//		mapper.setCNSV002001SC(paramBean, dataMap, "2");
		mapper.setCNSV002001SC(paramBean, dataMap, "2", opeDate);
		// ANK-4346-00-00 MOD START
//		mapper.setCNSV002002SC(paramBean, dataMap, "1");
		mapper.setCNSV002003CC(paramBean, dataMap, "2");
		// ANK-4346-00-00 MOD END
		// ST1-2012-0001018 2012/12/06 n.ajioka END

		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
//		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV002002SC");
		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV002003CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_IKT);
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT"));

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// 権限
		boolean authFlg = JCNWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
		// ANK-4346-00-00 ADD START
		bean.sendMessageString(CNW01101SFConst.GOKEI,  X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-4346-00-00 ADD END
		
		// 検索結果の取り出し
		mapper.getCNSV002001SC(paramBean, outputMap);
		// ANK-4346-00-00 MOD START
//		mapper.getCNSV002002SC(paramBean, outputMap, authFlg, gene_ymd);
		mapper.getCNSV002003CC(paramBean, outputMap, authFlg, gene_ymd);
		// ANK-4346-00-00 MOD END

		// ANK-4346-00-00 MOD START
//		// 検索エラーフラグの取得
//		String searchError = JCCWebCommon.getSearchErrFlg("CNSV002002SC", 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("CNW01101_MAX_SHOW_CNT")});
//		}
		HashMap templateMap = (HashMap)outputMap.get("CNSV002003CC");
		String returnCode = (String)templateMap.get("return_code");
		String searchError = (String)templateMap.get("search_err_flg");
		String errSkbtCode = (String)templateMap.get("err_skbt_code");
		
		// ANK-4346-00-01 ADD START
		if(returnCode == null||"".equals(returnCode) )
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// 遷移先の画面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;
		}
		else
		{
		// ANK-4346-00-01 ADD END
			
			if(!"00000".equals(returnCode))
			{
				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
			

		// セレクトリストを取り出す
		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW01101SFConst.CHRG_TRGT_YM_LIST);
		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
		// SQLの検索結果から対象月のリストを取り出す。
		for(int i = 0; i < JCNWebConst.CHRG_TARGET_MONTH_NM; i++)
		{
			// 対象の年月と取得結果の年月を比較
			if (targetBean.sendMessageString(CNW01101SFConst.CHRG_TRGT_YM_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE, i).equals(targetYm))
			{
				// 選択値にインデックスを設定
				targetBean.sendMessageString(CNW01101SFConst.SELECT_VAKUE_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
				break;
			}
		}
		

		// 遷移先の画面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_search() throws Exception
	{

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// サービスIFに渡すパラメータ情報取得
		// コンテンツ契約番号はBean設定されているものを使用するので取得はしない。
		// 対象年月の選択された値を取得
		X31SDataBeanAccessArray targetInfo = bean.getDataBeanArray(CNW01101SFConst.CHRG_TRGT_YM_LIST);
		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
		String selectValue = targetBean.sendMessageString(CNW01101SFConst.SELECT_VAKUE_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択された値から対象年月を取得して、検索条件に追加
		String selectYm = targetBean.sendMessageString(CNW01101SFConst.CHRG_TRGT_YM_VALUE_02,
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
		bean.sendMessageString(CNW01101SFConst.CHRG_TRGT_YM_SELECT_VALUE, X31CWebConst.DATABEAN_SET_VALUE, selectYm);

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0021");

		// マッピングクラスのインスタンス作成
		CNSV0021_CNSV0021OPDBMapper mapper = new CNSV0021_CNSV0021OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// ANK-4346-00-00 MOD START
//		mapper.setCNSV002101SC(paramBean, dataMap, "1");
		mapper.setCNSV002102CC(paramBean, dataMap, "2");
		// ANK-4346-00-00 MOD END

		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
//		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV002101SC");
		HashMap<String, Object> pagingMap = (HashMap)dataMap.get("CNSV002102CC");
		// ANK-4346-00-00 MOD END
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_IKT);
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon.getSearchConst("CNW01101_MAX_SHOW_CNT"));

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// beanのクリア
		bean.getDataBeanArray(CNW01101SFConst.CONT_SEI_KBT).clearArray();
		// ANK-4346-00-00 ADD START
		bean.sendMessageString(CNW01101SFConst.GOKEI,  X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-4346-00-00 ADD END
		
		// 権限
		boolean authFlg = JCNWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
		
		// 検索結果の取り出し
		// ANK-4346-00-00 MOD START
//		mapper.getCNSV002101SC(paramBean, outputMap, authFlg);
		mapper.getCNSV002102CC(paramBean, outputMap, authFlg);
		// ANK-4346-00-00 MOD END

		// ANK-4346-00-00 MOD START
//		// 検索エラーフラグの取得
//		String searchError = JCCWebCommon.getSearchErrFlg("CNSV002101SC", 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("CNW01101_MAX_SHOW_CNT")});
//		}
		HashMap templateMap = (HashMap)outputMap.get("CNSV002102CC");
		String returnCode = (String)templateMap.get("return_code");
		String searchError = (String)templateMap.get("search_err_flg");
		String errSkbtCode = (String)templateMap.get("err_skbt_code");
		// ANK-4346-00-01 ADD START
		if(returnCode == null||"".equals(returnCode) )
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// 遷移先の画面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;
		}
		else
		{
		// ANK-4346-00-01 ADD END
			if(!"00000".equals(returnCode))
			{
				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-01 ADD START
		}
		// ANK-4346-00-01 ADD END
		// ANK-4346-00-00 MOD END

		// 遷移先の画面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_keiList() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW01101SFConst.SYSID, bean.sendMessageString(CNW01101SFConst.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(CNW01101SFConst.SYSID, bean.sendMessageString(CNW01101SFConst.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(CNW01101SFConst.SYSID, bean.sendMessageString(CNW01101SFConst.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(CNW01101SFConst.SYSID, bean.sendMessageString(CNW01101SFConst.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(CNW01101SFConst.SYSID, bean.sendMessageString(CNW01101SFConst.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(JCHCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, bean.sendMessageString(CNW01101SFConst.SEKYU_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(JCHCommonConst.SCREEN_HKTGI_SEIKY_YM, bean.sendMessageString(CNW01101SFConst.CHRG_TRGT_YM_SELECT_VALUE, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JACScreenConst.SCREEN_ID_CHW00105, dataMap);
		JCCWebCommon.setScreenId(this, JACScreenConst.SCREEN_ID_CHW00105, JCNScreenConst.SCREEN_ID_CNW01101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_CHW00105);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_CHW00105);

		return true;
	}
}
