/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：DKW04004SFLogic
*   ソースファイル名：DKW04004SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月10日
*＜機能概要＞
*   出荷指図情報詳細画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/10   FJ）植木    新規作成
*
**********************************************************************/
package eo.web.webview.DKW04004SF;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKScreenConst;
import eo.web.webview.mapping.DKSV0083_DKSV0083OPDBMapper;

/**
 * DKW04004のビューロジック
 * <BR>
 * @author 富士通
 */
public class DKW04004SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 生成シリアルバージョンID
	 */
	private static final long serialVersionUID = 2359597643670509385L;

	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		JCCWebCommon.getScreenInfo(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		X31SDataBeanAccess[] paramBean = {serviceFormBean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0083");

		// マッピングクラスのインスタンスを生成
		DKSV0083_DKSV0083OPDBMapper mapper = new DKSV0083_DKSV0083OPDBMapper();
		HashMap dataMap = new HashMap();
		mapper.setDKSV008301SC(paramBean, dataMap, "1");

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		JCCMessageCache.setMessageCache();

		mapper.getDKSV008301SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("DKSV008301SC", outputMap);

		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
		}

		// 画面遷移処理
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW04004);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW04004);

		return true;
	}

	/**
	 * 戻るボタン押下処理
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean returnCreate() throws Exception
	{
		// 画面遷移処理
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04001, JDKScreenConst.SCREEN_ID_DKW04004);
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW04001);
		
		return true;
	}
}
