/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：DKW06001SFLogic
*	ソースファイル名：DKW06001SFLogic.java
*	作成者			：FJ
*	日付			：2012年07月10日
*＜機能概要＞
*	TUW02401のビューロジック
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2012/07/10	FJ)大戸		新規作成
********************************************************************************/
package eo.web.webview.DKW06001SF;

import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_CD_CD_03;
import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_CD_CD_LIST_03;
import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_CD_INDEX_03;
import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_CD_NM_03;
import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_CD_NM_LIST_03;
import static eo.web.webview.DKW00101SF.DKW00101SFConst.I_SEARCH_JOKEN_KMK_CD;
import static eo.web.webview.common.JDKWebCommon.storePullDown;

import java.util.ArrayList;
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 com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JDKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JTUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKScreenConst;
import eo.web.webview.common.JDKWebCommon;
import eo.web.webview.mapping.DKSV0114_DKSV0114OPDBMapper;
import eo.web.webview.mapping.DKSV0115_DKSV0115OPDBMapper;

/**
 * DKW06001のビューロジック
 * @author FJ
 *
 */
public class DKW06001SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 初期表示ユースケースID
	 */
	private static final String INIT_USECASE_ID = "DKSV0114";
	
	/**
	 * 初期表示SCタイトル01
	 */
	private static final String INIT_SC_TITLE01 = "DKSV011401SC";
	/**
	 * 初期表示SCタイトル02
	 */
	private static final String INIT_SC_TITLE02 = "DKSV011402SC";
	/**
	 * 初期表示CCタイトル01
	 */
	private static final String INIT_CC_TITLE01 = "DKSV011401CC";
	
	/**
	 * 検索ユースケースID
	 */
	private static final String SEARCH_USECASE_ID = "DKSV0115";
	
	/**
	 * 検索SCタイトル01
	 */
	private static final String SEARCH_SC_TITLE01 = "DKSV011501SC";
	
	/**
	 * 検索処理最大検索件数
	 */
	private static final String SEARCH_MAX_SHOW_CNT = "DKW06001_MAX_SHOW_CNT";
	
	/**
	 * 検索処理ページ表示件数
	 */
	private static final String SEARCH_ROW_PER_PAGE = "DKW06001_ROW_PER_PAGE";
	
	/**  再検索フラグ */

	public static final String RESEARCH_FLG_NM = "re_search_flg";

	/**
	 * 再検索フラグ　不要
	 */
	
	private static final String RE_SEARCH_FLG_FALSE = "0";
	
	/**
	 * 再検索フラグ　要
	 */
	
	private static final String RE_SEARCH_FLG_TRUE = "1";
	/**
	 * 画面表示区分１
	 */
	private static final String SCREEN_DSP_DIV_1 = "1";	

	/**
	 * 画面表示区分２
	 */
	private static final String SCREEN_DSP_DIV_2 = "2";	

	/**
	 * 画面表示区分３
	 */
	private static final String SCREEN_DSP_DIV_3 = "3";	

	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
//		//TEST用
//		return true;
		return dkw06001_init();
	}
	
	/**
	 * 初期表示処理
	 * @return boolean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean dkw06001_init() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME
								, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW06001);


		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_1);
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		/**
		 * DataBean設定処理
		 */
		// セッション情報取得
		HashMap<String, Object> searchInfo = JCCWebCommon.getScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001);
		
		String re_search_flg = RE_SEARCH_FLG_FALSE;
		int model_idx = 0;
		int sbt_idx = 0;
		String screenId = JCCWebCommon.getScreenId(this);

		//再検索フラグ判定
		if (screenId != null)
		{
			if(screenId.equals(JDKScreenConst.SCREEN_ID_DKW06002)
					|| screenId.equals(JDKScreenConst.SCREEN_ID_DKW06004) 
					|| screenId.equals(JDKScreenConst.SCREEN_ID_DKW06005)
					|| screenId.equals(JDKScreenConst.SCREEN_ID_DKW06007)
					|| screenId.equals(JDKScreenConst.SCREEN_ID_DKW06008)
					|| screenId.equals(JDKScreenConst.SCREEN_ID_DKW06009))
			{
				re_search_flg = RE_SEARCH_FLG_TRUE;
			}	
		}
		
		if(searchInfo != null)
		{
			//再検索フラグ取得
			if(re_search_flg.equals(RE_SEARCH_FLG_TRUE))
			{
				// 倉庫コード（保存用）保持
				bean.sendMessageString(DKW06001SFConst.SOKO_CD_SAVE, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("soko_cd_save").toString());
				// 棚コード（保存用）保持
				bean.sendMessageString(DKW06001SFConst.SHELF_CD_SAVE, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("shelf_cd_save").toString());
				// 倉庫コード保持
				bean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("soko_cd_re_search").toString());
				// 棚コード保持
				bean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("shelf_cd_re_search").toString());
				// 倉庫棚適用開始年月日保持
				bean.sendMessageString(DKW06001SFConst.SOKODNA_TSTAYMD, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("sokodna_tstaymd_re_search").toString());
				// 倉庫棚適用終了年月日保持
				bean.sendMessageString(DKW06001SFConst.SOKODNA_TENDYMD, X31CWebConst.DATABEAN_SET_VALUE, searchInfo.get("sokodna_tendymd_re_search").toString());
			}
		}

		// セッション再保持
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001, searchInfo);

		/**
		 * サービス呼出処理
		 */
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, INIT_USECASE_ID);

		// マッピングクラスのインスタンスを生成
		DKSV0114_DKSV0114OPDBMapper mapper = new DKSV0114_DKSV0114OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// オペレーション日付取得
		String opeDate = JCCWebCommon.getOpeDate(this, null); 

		// 上りマッピングの呼び出し
		mapper.setDKSV011401SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		mapper.setDKSV011402SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_3);

		// 運用日付の設定
		bean.sendMessageString(DKW06001SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, opeDate);
		((HashMap<String, Object>)inputMap.get(INIT_SC_TITLE01)).put("key_unyo_ymd", opeDate);
		
		
		if(re_search_flg.equals(RE_SEARCH_FLG_TRUE))    
		{
			// 上りマッピングの呼び出し
			mapper.setDKSV011401CC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		}

		if (inputMap.containsKey(INIT_CC_TITLE01))
		{
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put(RESEARCH_FLG_NM, re_search_flg);
			//検索条件をマップにセット
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("soko_cd_save"
					, bean.sendMessageString(DKW06001SFConst.SOKO_CD_SAVE, X31CWebConst.DATABEAN_GET_VALUE));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("shelf_cd_save"
					, bean.sendMessageString(DKW06001SFConst.SHELF_CD_SAVE, X31CWebConst.DATABEAN_GET_VALUE));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("soko_cd"
					, bean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_GET_VALUE));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("shelf_cd"
					, bean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("sokodna_tstaymd"
					, bean.sendMessageString(DKW06001SFConst.SOKODNA_TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("sokodna_tendymd"
					, bean.sendMessageString(DKW06001SFConst.SOKODNA_TENDYMD, X31CWebConst.DATABEAN_GET_VALUE));
			// 一覧照会共通部設定
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("search_type", JPCModelConstant.SAERCH_TYPE_BBN);
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("max_search_num", JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT));
			((HashMap<String, Object>)inputMap.get(INIT_CC_TITLE01)).put("display_num", JCCWebCommon.getSearchConst(SEARCH_ROW_PER_PAGE));
			
			// ページリンク情報のマッピング
			JCCWebCommon.upmapperPageLinkInfo(this, INIT_CC_TITLE01, inputMap);
		}
		
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		/**
		 * サービス処理結果の取得
		 */
		// 下りマッピングの呼び出し
		mapper.getDKSV011401SC(paramBean, outputMap);
		mapper.getDKSV011402SC(paramBean, outputMap);
		if(re_search_flg.equals(RE_SEARCH_FLG_TRUE))    
		{
			mapper.getDKSV011401CC(paramBean, outputMap);
		}

		if (re_search_flg.equals(RE_SEARCH_FLG_TRUE))
		{
		
			// 保持しているコンボのインデックスをセット
			
			X31SDataBeanAccess listDataBean = bean.getDataBeanArray(DKW06001SFConst.SOKO_INFO).getDataBean(0);
			ArrayList<String> modelCdArray = new ArrayList<String>(); // 型式コード
			int modelCdCnt = (Integer)listDataBean.sendMessage(DKW06001SFConst.SOKO_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT);
			for (int i = 0; i < modelCdCnt; i++)
			{
				if (listDataBean.sendMessageString(DKW06001SFConst.SOKO_CD_LIST_01, 
						X31CWebConst.DATABEAN_GET_VALUE, i).equals(searchInfo.get("soko_cd_re_search").toString()))
				{
					listDataBean.sendMessageString(DKW06001SFConst.SOKO_CD_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
							break;	
				}
			}
			listDataBean = bean.getDataBeanArray(DKW06001SFConst.SHELF_INFO).getDataBean(0);
			modelCdArray = new ArrayList<String>(); // 種別コード
			int sbtCdCnt = (Integer)listDataBean.sendMessage(DKW06001SFConst.SHELF_CD_LIST_02, X31CWebConst.DATABEAN_GET_COUNT);
			for (int i = 0; i < sbtCdCnt; i++)
			{
				if (listDataBean.sendMessageString(DKW06001SFConst.SHELF_CD_LIST_02, 
						X31CWebConst.DATABEAN_GET_VALUE, i).equals(searchInfo.get("shelf_cd_re_search").toString()))
				{
					listDataBean.sendMessageString(DKW06001SFConst.SHELF_CD_02, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i));
							break;	
				}
			}
			

			String tstaYmd =  bean.sendMessageString(DKW06001SFConst.SOKODNA_TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE);
			if (tstaYmd != null && tstaYmd.length()  == 8)
			{
				bean.sendMessageString(DKW06001SFConst.TSTAYMD_YEAR, X31CWebConst.DATABEAN_SET_VALUE, tstaYmd.substring(0, 4));
				bean.sendMessageString(DKW06001SFConst.TSTAYMD_MON, X31CWebConst.DATABEAN_SET_VALUE, tstaYmd.substring(4, 6));
				bean.sendMessageString(DKW06001SFConst.TSTAYMD_DAY, X31CWebConst.DATABEAN_SET_VALUE, tstaYmd.substring(6, 8));
			}
			String tendYmd =  bean.sendMessageString(DKW06001SFConst.SOKODNA_TENDYMD, X31CWebConst.DATABEAN_GET_VALUE);
			if (tendYmd != null && tendYmd.length()  == 8)
			{
				bean.sendMessageString(DKW06001SFConst.TENDYMD_YEAR, X31CWebConst.DATABEAN_SET_VALUE, tendYmd.substring(0, 4));
				bean.sendMessageString(DKW06001SFConst.TENDYMD_MON, X31CWebConst.DATABEAN_SET_VALUE, tendYmd.substring(4, 6));
				bean.sendMessageString(DKW06001SFConst.TENDYMD_DAY, X31CWebConst.DATABEAN_SET_VALUE, tendYmd.substring(6, 8));
			}
			

		/**
		 * 取得データ件数チェック
		 */
		bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_3);

		HashMap<String, Object> ccMap = null;
		if(outputMap.containsKey(INIT_CC_TITLE01))
		{
			ccMap = (HashMap<String, Object>)outputMap.get(INIT_CC_TITLE01);
		}
		
		// 検索エラー取得

		String searchErrFlg = JCCWebCommon.getSearchErrFlg(INIT_CC_TITLE01, outputMap);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			//0件の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_2);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			//最大件数を超えた場合
			String[] msgRpl = new String[]{JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT)};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msgRpl);
			bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_1);
			return true;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
				//表示ページに該当するデータがない場合
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
				bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_2);
				return true;
		}
			// 行スタイル設定
		X31SDataBeanAccessArray listBean = bean.getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
		int len = listBean.getCount();
		X31SDataBeanAccess childBean = null;
		for(int i = 0; i < len; i++)
		{
			childBean = listBean.getDataBean(i);
			childBean.sendMessageString(DKW06001SFConst.ROW_STYLE_03, X31CWebConst.DATABEAN_SET_VALUE
					, (i + 1) % 2 == 0 ? JTUStrConst.ROW_STYLE_EVEN : JTUStrConst.ROW_STYLE_ODD);
		}
			// 明細のラジオボタンの初期値設定
			setDispRadio(bean);
		}
			
		return true;
	}
	
	
	/**
	 * 検索ボタン押下イベント
	 * @return boolean
	 * @throws Exception
	 */
	public boolean search() throws Exception
	{
		
		//セッション情報を削除 
		JCCWebCommon.removeScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001);
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW06001);
		// 遷移先画面IDの設定
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW06001);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW06001);
		
		return dkw06001_search();

	}
	
	
	/**
	 * ページング処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean paging() throws Exception
	{
		return dkw06001_search();
	}

	/**
	 * 検索処理
	 * @return boolean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean dkw06001_search() throws Exception
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		// 検索条件項目の編集
		setBeanSearchInfo(bean);
		
		//検索条件をセッションへ格納
		saveSessionSearchInfo();
		
		/**
		 * サービス呼出処理
		 */
		//  ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SEARCH_USECASE_ID);

		// マッピングクラスのインスタンスを生成
		DKSV0115_DKSV0115OPDBMapper mapper = new DKSV0115_DKSV0115OPDBMapper();
		// 上り格納マップ
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		// 下り格納マップ
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// 上りマッピングの呼び出し
		mapper.setDKSV011501SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		
		// 一覧照会共通部設定
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("search_type", JPCModelConstant.SAERCH_TYPE_BBN);
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("max_search_num", JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT));
		((HashMap<String, Object>)inputMap.get(SEARCH_SC_TITLE01)).put("display_num", JCCWebCommon.getSearchConst(SEARCH_ROW_PER_PAGE));
		
		// ページリンク情報のマッピング
		JCCWebCommon.upmapperPageLinkInfo(this, SEARCH_SC_TITLE01, inputMap);
		
		
		/*
		 * サービス呼出 
		 */
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);	
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		/**
		 * サービス処理結果の取得
		 */
		
		// 一覧情報のクリア
		X31SDataBeanAccessArray beanList = paramBean[0].getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
		if(beanList.getCount() != 0)
		{
			
			beanList.clearArray();
		}
		
		// 下りマッピングの呼び出し
		mapper.getDKSV011501SC(paramBean, outputMap);

		// ページリンク情報のマッピング
		JCCWebCommon.downmapperPageLinkInfo(this, SEARCH_SC_TITLE01, outputMap);
		
		/**
		 * 取得データ件数チェック
		 */
		// 検索エラー取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(SEARCH_SC_TITLE01, outputMap);
		bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_3);
		
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			//0件の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_2);
			return false;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			//最大件数を超えた場合
			String[] msgRpl = new String[]{JCCWebCommon.getSearchConst(SEARCH_MAX_SHOW_CNT)};
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, msgRpl);
			bean.sendMessageString(DKW06001SFConst.SCREEN_DSP_DIV, X31CWebConst.DATABEAN_SET_VALUE, SCREEN_DSP_DIV_1);
			return  false;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			//表示ページに該当するデータがない場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
			return  false;
		}
		else
		{
			JCCWebCommon.downmapperPageLinkInfo(this, SEARCH_SC_TITLE01, outputMap);
			
			// 行選択設定処理
			paramBean[0].sendMessageString(DKW06001SFConst.SELECTROW, X31CWebConst.DATABEAN_SET_VALUE, "0");
			
			// 行スタイル設定
			X31SDataBeanAccessArray listBean = bean.getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
			int len = listBean.getCount();
			X31SDataBeanAccess childBean = null;
			for(int i = 0; i < len; i++)
			{
				childBean = listBean.getDataBean(i);
				childBean.sendMessageString(DKW06001SFConst.ROW_STYLE_03, X31CWebConst.DATABEAN_SET_VALUE
						, (i + 1) % 2 == 0 ? JTUStrConst.ROW_STYLE_EVEN : JTUStrConst.ROW_STYLE_ODD);
			}
			
			// 検索のコマンドIDを設定する。
			JCCWebCommon.setSearchCommand(this, "L_PAG_LIST");
		}
		
		
		return true;
	}
	
	/**
	 * 新規登録遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean showNewCreate() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		/**
		 * DataBean設定処理
		 */
		
		saveSelectedInfo(JDKScreenConst.SCREEN_ID_DKW06002);
		
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW06002, JDKScreenConst.SCREEN_ID_DKW06001);
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW06002);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW06002);
		
		
		return true;
	}
	
	/**
	 * 更新遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean showUpdate() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();

		/**
		 * DataBean設定処理
		 */
		saveSelectedInfo(JDKScreenConst.SCREEN_ID_DKW06005);
		
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW06005, JDKScreenConst.SCREEN_ID_DKW06001);
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW06005);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW06005);
		
		return true;
	}
	
	/**
	 * 削除遷移処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean showDelete() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		
		/**
		 * DataBean設定処理
		 */
		
		saveSelectedInfo(JDKScreenConst.SCREEN_ID_DKW06008);
		
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW06008, JDKScreenConst.SCREEN_ID_DKW06001);
		
		// 遷移先の情報を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW06008);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_NAME_DKW06008);
		
		return true;
	}
	
	/**
	 * 検索条件を設定
	 * @param bean
	 */
	private void setBeanSearchInfo(X31SDataBeanAccess bean)
	{
		/**
		 * DataBean設定処理
		 */
		// 倉庫コード
		X31SDataBeanAccess pulldown = this.getServiceFormBean().getDataBeanArray(DKW06001SFConst.SOKO_INFO).getDataBean(0);
		String selectedCode = "";
		if ((Integer)pulldown.sendMessage(DKW06001SFConst.SOKO_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT) != 0)
		{
			selectedCode = pulldown.sendMessageString(DKW06001SFConst.SOKO_CD_LIST_01,
														X31CWebConst.DATABEAN_GET_VALUE,
														Integer.valueOf(pulldown.sendMessageString(DKW06001SFConst.SOKO_CD_01, X31CWebConst.DATABEAN_GET_VALUE)));
			
		}
		// 倉庫コード保持
		bean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_SET_VALUE, selectedCode);

		// 棚コード
		pulldown = this.getServiceFormBean().getDataBeanArray(DKW06001SFConst.SHELF_INFO).getDataBean(0);
		selectedCode = "";
		if ((Integer)pulldown.sendMessage(DKW06001SFConst.SHELF_CD_LIST_02, X31CWebConst.DATABEAN_GET_COUNT) != 0)
		{
			selectedCode = pulldown.sendMessageString(DKW06001SFConst.SHELF_CD_LIST_02,
														X31CWebConst.DATABEAN_GET_VALUE,
														Integer.valueOf(pulldown.sendMessageString(DKW06001SFConst.SHELF_CD_02, X31CWebConst.DATABEAN_GET_VALUE)));
			
		}
		// 棚コード保持
		bean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_SET_VALUE, selectedCode);

		// 倉庫棚適用開始年月日
		String tStaYmd = 
			bean.sendMessageString(DKW06001SFConst.TSTAYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE) + 
			bean.sendMessageString(DKW06001SFConst.TSTAYMD_MON, X31CWebConst.DATABEAN_GET_VALUE) + 
			bean.sendMessageString(DKW06001SFConst.TSTAYMD_DAY, X31CWebConst.DATABEAN_GET_VALUE);
		
		bean.sendMessageString(DKW06001SFConst.SOKODNA_TSTAYMD , X31CWebConst.DATABEAN_SET_VALUE, tStaYmd);
		
		// 倉庫棚適用終了年月日
		String tEndYmd = 
			bean.sendMessageString(DKW06001SFConst.TENDYMD_YEAR, X31CWebConst.DATABEAN_GET_VALUE) + 
			bean.sendMessageString(DKW06001SFConst.TENDYMD_MON, X31CWebConst.DATABEAN_GET_VALUE) + 
			bean.sendMessageString(DKW06001SFConst.TENDYMD_DAY, X31CWebConst.DATABEAN_GET_VALUE);

		bean.sendMessageString(DKW06001SFConst.SOKODNA_TENDYMD , X31CWebConst.DATABEAN_SET_VALUE, tEndYmd);

	}
	
	/**
	 * 検索条件をセッションに保持
	 */
	private void saveSessionSearchInfo()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		/**
		 * セッション設定処理
		 */
		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = new HashMap<String, Object>();
		
		// 検索済み
		hktgiMap.put(RESEARCH_FLG_NM, RE_SEARCH_FLG_TRUE);
		
		// 検索条件の保持
		hktgiMap.put("soko_cd_re_search", 
				bean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put("shelf_cd_re_search", 
				bean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put("sokodna_tstaymd_re_search", 
				bean.sendMessageString(DKW06001SFConst.SOKODNA_TSTAYMD, X31CWebConst.DATABEAN_GET_VALUE));
		hktgiMap.put("sokodna_tendymd_re_search", 
				bean.sendMessageString(DKW06001SFConst.SOKODNA_TENDYMD, X31CWebConst.DATABEAN_GET_VALUE));

		/**
		 * 引継情報の設定
		 */
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001, hktgiMap);
	}

	
	/**
	 * 選択された情報が存在すれば初期値に設定
	 * @param bean
	 */
	private void setDispRadio(X31SDataBeanAccess bean)
	{
		
		String model_cd = bean.sendMessageString(DKW06001SFConst.SOKO_CD_SAVE, X31CWebConst.DATABEAN_GET_VALUE);
		String sbt_cd = bean.sendMessageString(DKW06001SFConst.SHELF_CD_SAVE, X31CWebConst.DATABEAN_GET_VALUE);

				String choice = "0";
		
		if(model_cd == null)
		{
			bean.sendMessageString(DKW06001SFConst.SELECTROW, X31CWebConst.DATABEAN_SET_VALUE, choice);//
			return;
		}
		
		X31SDataBeanAccessArray listDataBean = bean.getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
		int len = listDataBean.getCount();
		X31SDataBeanAccess childBean = null;
		String tmp_model_cd = "";
		String tmp_sbt_cd = "";
		for(int i = 0; i < len; i++)
		{
			childBean = listDataBean.getDataBean(i);
			tmp_model_cd = childBean.sendMessageString(DKW06001SFConst.SOKO_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			tmp_sbt_cd = childBean.sendMessageString(DKW06001SFConst.SHELF_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if(model_cd.equals(tmp_model_cd) && sbt_cd.equals(tmp_sbt_cd))
			{
				choice = String.valueOf(i);
				break;
			}
		}
		
		bean.sendMessageString(DKW06001SFConst.SELECTROW, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(choice));
		return;
		
	}
	
	/**
	 * 選択された情報をセッションに保持
	 * @param screenId
	 */
	private void saveSelectedInfo(String screenId)
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray listDataBean = bean.getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
		
		int len = listDataBean.getCount();

		// 引き継ぎ情報を格納するMAP
		HashMap<String, Object> hktgiMap = JCCWebCommon.getScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001);
		
		//登録時は空のｓaveが必要
		if(JDKScreenConst.SCREEN_ID_DKW06002.equals(screenId))
		{
			// 登録時
			// コンボで選択されている値を保持
			hktgiMap.put("soko_cd_save", "");
			hktgiMap.put("shelf_cd_save", "");
		}

		// 一覧選択情報の保持
		if(len > 0)
		{
			// 検索結果一覧が表示されている場合、以下の処理を行う
			X31SDataBeanAccessArray beanList = bean.getDataBeanArray(DKW06001SFConst.SOKODNA_INFO);
			
			X31SDataBeanAccess childbean = null;
			
			Long li = bean.sendMessageLong(DKW06001SFConst.SELECTROW, X31CWebConst.DATABEAN_GET_VALUE);
						
			childbean = beanList.getDataBean(li.intValue());
			
			/**
			 * セッション設定処理
			 */
			if(JDKScreenConst.SCREEN_ID_DKW06002.equals(screenId))
			{
				// 登録時
				// コンボで選択されている値を保持
				hktgiMap.put("soko_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_GET_VALUE));
				hktgiMap.put("shelf_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
			if(JDKScreenConst.SCREEN_ID_DKW06005.equals(screenId))
			{
				// 更新時
				hktgiMap.put("soko_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_GET_VALUE));
				hktgiMap.put("shelf_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));

			}
			else if(JDKScreenConst.SCREEN_ID_DKW06008.equals(screenId))
			{
				// 削除時
				hktgiMap.put("soko_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SOKO_CD, X31CWebConst.DATABEAN_GET_VALUE));
				hktgiMap.put("shelf_cd_save"
						, childbean.sendMessageString(DKW06001SFConst.SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
			
		}
		
		/**
		 * 引継情報の設定
		 */
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW06001, hktgiMap);
		

	}
}
	
