/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNW01508SFLogic
*	ソースファイル名：CNW01508SFLogic.java
*	作成者			：EK902814
*	日付			：2011年11月16日
*＜機能概要＞
*	コンテンツ料金コード変換削除のViewロジックです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.web.webview.CNW01508SF;

import java.util.EventObject;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
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.x33.X33SException;

import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CNW01501SF.CNW01501SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCNScreenConst;
import eo.web.webview.common.JCNWebConst;
import eo.web.webview.mapping.CNSV0031_CNSV0031OPDBMapper;

/**
 * コンテンツ料金コード変換削除確認のViewロジック<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CNW01508SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 親クラス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 dataMap = new HashMap();
	    
		// 前画面の情報を取得する
		dataMap = JCCWebCommon.getScreenInfo(this);
		
		// 画面に情報をセットする。
		bean.sendMessageString(CNW01508SFConst.CONT_PRC_CD_CHG_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.CONT_PRC_CD_CHG_NO_01));
		bean.sendMessageString(CNW01508SFConst.CONT_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.CONT_SVC_CD_01));
		bean.sendMessageString(CNW01508SFConst.TAXAREA, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.TAXAREA_01));
		bean.sendMessageString(CNW01508SFConst.PRC_SVC_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.PRC_SVC_CD_01));
		bean.sendMessageString(CNW01508SFConst.PRC_KMK_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.PRC_KMK_CD_01));
		bean.sendMessageString(CNW01508SFConst.PRC_UW_NM, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.PRC_UW_NM_01));
		bean.sendMessageString(CNW01508SFConst.TSTAYMD, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.CONT_PRC_CD_CHG_TSTAYMD_01));
		bean.sendMessageString(CNW01508SFConst.TENDYMD, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.CONT_PRC_CD_CHG_TENDYMD_01));
		bean.sendMessageString(CNW01508SFConst.LAST_UPD_DTM_BF, X31CWebConst.DATABEAN_SET_VALUE, (String)dataMap.get(CNW01501SFConst.UPD_DTM_01));
	    
		
	    // 遷移先の画面IDを共有フォームBeanの項目に設定する。
	    commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
	            X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01508);
	    
	    // 遷移先の画面名を共有フォームBeanの項目に設定する。
	    commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
	            X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01508);

	    return true;

	}
	
	/**
	 * コンテンツ料金コード変換削除確認の確定ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_confirm() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		if("".equals(bean.sendMessageString(CNW01508SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			bean.sendMessageString(CNW01508SFConst.TSTAYMD, X31CWebConst.DATABEAN_SET_VALUE, JCNWebConst.DEFAULT_STA_DTM);
		}
		if("".equals(bean.sendMessageString(CNW01508SFConst.TENDYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			bean.sendMessageString(CNW01508SFConst.TENDYMD, X31CWebConst.DATABEAN_SET_VALUE, JCNWebConst.DEFAULT_END_DTM);
		}

		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0031");
		// マッピングクラスのインスタンス作成
		CNSV0031_CNSV0031OPDBMapper mapper = new CNSV0031_CNSV0031OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		mapper.setCNSV003101SC(paramBean, dataMap, "1");

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		// エラー処理 
		if(null != msgResult)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		if(JCNWebConst.DEFAULT_STA_DTM.equals(bean.sendMessageString(CNW01508SFConst.TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			bean.sendMessageString(CNW01508SFConst.TSTAYMD, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		if(JCNWebConst.DEFAULT_END_DTM.equals(bean.sendMessageString(CNW01508SFConst.TENDYMD, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			bean.sendMessageString(CNW01508SFConst.TENDYMD, X31CWebConst.DATABEAN_SET_VALUE, "");
		}

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01509);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01509);

		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[] {"コンテンツ料金コード変換の削除"});
		return true;
	}
	
	/**
	 * コンテンツ料金コード変換削除確認の戻るボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_back() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01501);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01501);

		return true;
	}
	
	/**
	 * コンテンツ料金コード変換削除完了ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_finish() throws Exception
	{
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW01501);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW01501);

		return true;
	}
}
