/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：DKW04701SFLogic
*   ソースファイル名：DKW04701SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月10日
*＜機能概要＞
*   入荷照会画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/10   FJ）植木    新規作成
*
**********************************************************************/
package eo.web.webview.DKW04701SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.web.webview.common.JDKWebCommon.appendPrefix;
import static eo.web.webview.common.JDKWebCommon.getBean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

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.util.JDKCommonUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.DKW04702SF.DKW04702SFConst;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKScreenConst;
import eo.web.webview.common.JDKWebCommon;
import eo.web.webview.mapping.DKSV0086_DKSV0086OPDBMapper;
import eo.web.webview.mapping.DKSV0087_DKSV0087OPDBMapper;

/**
 * DKW04701のビューロジック
 * <BR>
 * @author 富士通
 */
public class DKW04701SFLogic extends JCCWebBusinessLogic
{

	/** シリアルバージョン */
	private static final long serialVersionUID = 7204461040113771908L;
	/** 行カラー（奇数行） */
	private static final String ODD = "odd";
	/** 行カラー（偶数行） */
	private static final String EVEN = "even";

	/** 画面表示区分（検索条件） */
	private static final String SCREEN_DSP_DIV_SEARCH = "1";
	/** 画面表示区分（検索結果） */
	private static final String SCREEN_DSP_DIV_RESULT = "2";

	/** 入荷種別フラグ（入荷） */
	private static final String NYUKA_SBT_FLG_NYUKA = "0";

	/** ページング関連（表示ページ番号） */
	private static final String DISPLAY_PAGE_NUM = "display_page_num";
	/** 検索件数取得キー（最大検索件数） */
	private static final String DKW04701_MAX_SHOW_CNT = "DKW04701_MAX_SHOW_CNT";
	/** 検索件数取得キー（表示件数） */
	private static final String DKW04701_ROW_PER_PAGE = "DKW04701_ROW_PER_PAGE";
	/** VARB */
	private static final String L_PAG_SEARCH = "L_PAG_SEARCH";

	/** サービスID（初期表示） */
	private static final String DKSV0086 = "DKSV0086";
	/** サービスID（検索） */
	private static final String DKSV0087 = "DKSV0087";

	/** SCタイトル（検索） */
	private static final String DKSV008701SC = "DKSV008701SC";

	/** 表番号（fromの番号） */
	private static final String TABLEINDEX_0 = "0";

	/** 表示桁数（メーカー） */
	private static final int DSPLENGTH_MAKERNM = 4;
	/** 表示桁数（商品名） */
	private static final int DSPLENGTH_GOODSNM = 5;

	/** プルダウンの先頭行（空白行）のインデックス */
	private static final String PULLDOWN_EMPTY_INDEX = "0";

	/**
	 * 初期表示を処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		JCCWebCommon.getScreenInfo(this);

		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		String screenId = JCCWebCommon.getScreenId(this);

		// 運用日付を設定
		JDKWebCommon.setData(serviceFormBean, JCCWebCommon.getOpeDate(this, null), DKW04701SFConst.UNYO_YMD);

		X31SDataBeanAccess[] paramBean = {serviceFormBean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, DKSV0086);

		// マッピングクラスのインスタンスを生成
		DKSV0086_DKSV0086OPDBMapper mapper = new DKSV0086_DKSV0086OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setDKSV008601SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setDKSV008602SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setDKSV008603SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setDKSV008604SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04701, JDKScreenConst.SCREEN_NAME_DKW04701);
			return true;
		}

		JCCMessageCache.setMessageCache();

		mapper.getDKSV008601SC(paramBean, outputMap);
		mapper.getDKSV008602SC(paramBean, outputMap);
		mapper.getDKSV008603SC(paramBean, outputMap);
		mapper.getDKSV008604SC(paramBean, outputMap);

		// プルダウンの先頭に空白行を入れる
		this.pushEmptyToTopOfPulldown(DKW04701SFConst.MAKER_INFO, DKW04701SFConst.MAKER_CD_LIST_01, DKW04701SFConst.MAKER_NM_LIST_01);
		this.pushEmptyToTopOfModelNo(
				DKW04701SFConst.MODEL_NO_INFO, 
				DKW04701SFConst.MODEL_NO_LIST_02, 
				DKW04701SFConst.GOODS_NM_LIST_02, 
				DKW04701SFConst.TAKKIKI_SBT_CD_LIST_02);
		this.pushEmptyToTopOfPulldown(DKW04701SFConst.SOKO_INFO, DKW04701SFConst.SOKO_CD_LIST_03, DKW04701SFConst.SOKO_NM_LIST_03);
		this.pushEmptyToTopOfPulldown(DKW04701SFConst.SHELF_INFO, DKW04701SFConst.SHELF_CD_LIST_04, DKW04701SFConst.SHELF_NM_LIST_04);

		// 入荷詳細画面からの遷移
		if (JDKScreenConst.SCREEN_ID_DKW04702.equals(screenId))
		{
			JDKWebCommon.setData(serviceFormBean, SCREEN_DSP_DIV_RESULT, DKW04701SFConst.SCREEN_DSP_DIV);
		}
		else
		{
			JDKWebCommon.setData(serviceFormBean, SCREEN_DSP_DIV_SEARCH, DKW04701SFConst.SCREEN_DSP_DIV);
			JDKWebCommon.setData(this, NYUKA_SBT_FLG_NYUKA, DKW04701SFConst.NYUKA_SBT);
			this.setDataToArray(serviceFormBean, DKW04701SFConst.MAKER_INFO, 0, DKW04701SFConst.MAKER_CD_01, "0");
			this.setDataToArray(serviceFormBean, DKW04701SFConst.MODEL_NO_INFO, 0, DKW04701SFConst.MODEL_NO_02, "0");
			this.setDataToArray(serviceFormBean, DKW04701SFConst.SOKO_INFO, 0, DKW04701SFConst.SOKO_CD_03, "0");
			this.setDataToArray(serviceFormBean, DKW04701SFConst.SHELF_INFO, 0, DKW04701SFConst.SHELF_CD_04, "0");
		}

		// 画面遷移処理
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04701, JDKScreenConst.SCREEN_NAME_DKW04701);

		return true;
	}

	/**
	 * 検索ボタン押下処理を行います。
	 * @author 富士通
	 * @return 処理の成否
	 * @throws Exception 例外
	 */
	public boolean search() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を保存
		this.saveSearchCondition(serviceFormBean);

		// 検索実行
		boolean ret = this.execServiceSearch(serviceFormBean, true);
		if (ret == false)
		{
			return true;
		}

		return true;
	}

	/**
	 * 詳細ボタン押下処理を行います。
	 * @author 富士通
	 * @return 処理の成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showDetail() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// 選択行
		int selectRow = JDKWebCommon.getDataL(serviceFormBean, DKW04701SFConst.SELECTROW).intValue();

		// 入荷一覧リスト
		X31SDataBeanAccessArray nyukaIcrnList = serviceFormBean.getDataBeanArray(DKW04701SFConst.NYUKA_ICRN_LIST);
		// 選択された入荷データ
		X31SDataBeanAccess nyukaBean = nyukaIcrnList.getDataBean(selectRow);

		// 引き継ぎ情報を格納するMAP
		HashMap hikitsugiMap = new HashMap();

		hikitsugiMap.put(DKW04702SFConst.NYUKA_NO, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_NO_05));
		hikitsugiMap.put(DKW04702SFConst.NYUKA_YMD, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_YMD_05));
		hikitsugiMap.put(DKW04702SFConst.NYUKA_SBT_FLG, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_SBT_FLG_05));
		hikitsugiMap.put(DKW04702SFConst.NYUKA_SBT_NM, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_SBT_NM_05));
		hikitsugiMap.put(DKW04702SFConst.NYUKA_MT_MAKER_CD, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_MT_MAKER_CD_05));
		hikitsugiMap.put(DKW04702SFConst.MAKER_NM, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.MAKER_NM_05));
		hikitsugiMap.put(DKW04702SFConst.MODEL_NO, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.MODEL_NO_05));
		hikitsugiMap.put(DKW04702SFConst.GOODS_NM, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.GOODS_NM_05));
		hikitsugiMap.put(DKW04702SFConst.HATTCHU_LOT_NO, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.HATTCHU_LOT_NO_05));
		hikitsugiMap.put(DKW04702SFConst.MAKER_SHUKKA_LOT_NO, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.MAKER_SHUKKA_LOT_NO_05));
		hikitsugiMap.put(DKW04702SFConst.NYUKA_CNT, JDKWebCommon.getData(nyukaBean, DKW04701SFConst.NYUKA_CNT_05));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW04702, hikitsugiMap);

		DEBUG_LOG.debug("引継ぎ情報の内容：");
		DEBUG_LOG.debug(hikitsugiMap);

		// 戻る際に必要な情報を格納するMAP
		HashMap returnMap = new HashMap();

		returnMap.put(DKW04701SFConst.SCREEN_DSP_DIV, JDKWebCommon.getData(this, DKW04701SFConst.SCREEN_DSP_DIV));
		returnMap.put(DKW04701SFConst.NYUKA_SBT, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_SBT));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_FROM_YEAR, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_FROM_YEAR));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_FROM_MON, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_FROM_MON));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_FROM_DAY, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_FROM_DAY));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_TO_YEAR, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_TO_YEAR));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_TO_MON, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_TO_MON));
		returnMap.put(DKW04701SFConst.NYUKA_YMD_TO_DAY, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_YMD_TO_DAY));
		returnMap.put(DKW04701SFConst.NYUKA_LOT_NO, JDKWebCommon.getData(this, DKW04701SFConst.NYUKA_LOT_NO));
		returnMap.put(DKW04701SFConst.MAKER_SHKA_LOT_NO, JDKWebCommon.getData(this, DKW04701SFConst.MAKER_SHKA_LOT_NO));
		returnMap.put(DKW04701SFConst.HATTCHU_NO, JDKWebCommon.getData(this, DKW04701SFConst.HATTCHU_NO));
		returnMap.put(DKW04701SFConst.SAVE_NYUKA_SBT, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_NYUKA_SBT));
		returnMap.put(DKW04701SFConst.SAVE_NYUKA_YMD_FROM, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_NYUKA_YMD_FROM));
		returnMap.put(DKW04701SFConst.SAVE_NYUKA_YMD_TO, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_NYUKA_YMD_TO));
		returnMap.put(DKW04701SFConst.SAVE_MAKER_CD, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_MAKER_CD));
		returnMap.put(DKW04701SFConst.SAVE_NYUKA_LOT_NO, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_NYUKA_LOT_NO));
		returnMap.put(DKW04701SFConst.SAVE_MAKER_SHKA_LOT_NO, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_MAKER_SHKA_LOT_NO));
		returnMap.put(DKW04701SFConst.SAVE_HATTCHU_NO, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_HATTCHU_NO));
		returnMap.put(DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD));
		returnMap.put(DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD));
		returnMap.put(DKW04701SFConst.SAVE_SOKO_CD, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_SOKO_CD));
		returnMap.put(DKW04701SFConst.SAVE_SHELF_CD, JDKWebCommon.getData(this, DKW04701SFConst.SAVE_SHELF_CD));
		returnMap.put(DKW04701SFConst.MAKER_CD, JDKWebCommon.getData(this, DKW04701SFConst.MAKER_CD));
		returnMap.put(DKW04701SFConst.MAKER_NM, JDKWebCommon.getData(this, DKW04701SFConst.MAKER_NM));
		returnMap.put(DKW04701SFConst.MODEL_CD, JDKWebCommon.getData(this, DKW04701SFConst.MODEL_CD));
		returnMap.put(DKW04701SFConst.GOODS_NM, JDKWebCommon.getData(this, DKW04701SFConst.GOODS_NM));
		returnMap.put(DKW04701SFConst.TAKNKIKI_SBT_CD, JDKWebCommon.getData(this, DKW04701SFConst.TAKNKIKI_SBT_CD));
		returnMap.put(DKW04701SFConst.SOKO_CD, JDKWebCommon.getData(this, DKW04701SFConst.SOKO_CD));
		returnMap.put(DKW04701SFConst.SOKO_NM, JDKWebCommon.getData(this, DKW04701SFConst.SOKO_NM));
		returnMap.put(DKW04701SFConst.SHELF_CD, JDKWebCommon.getData(this, DKW04701SFConst.SHELF_CD));
		returnMap.put(DKW04701SFConst.SHELF_NM, JDKWebCommon.getData(this, DKW04701SFConst.SHELF_NM));
		returnMap.put(DKW04701SFConst.SELECTROW, JDKWebCommon.getDataL(this, DKW04701SFConst.SELECTROW));
		returnMap.put(DKW04701SFConst.DISP_PAGE_NO, JDKWebCommon.getData(this, DKW04701SFConst.DISP_PAGE_NO));
		returnMap.put(DKW04701SFConst.ICRN_DISP_CNT, JDKWebCommon.getData(this, DKW04701SFConst.ICRN_DISP_CNT));
		List returnNyukaIcrnList = new ArrayList();
		for (int i = 0; i < nyukaIcrnList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = nyukaIcrnList.getDataBean(i);
			HashMap map = new HashMap();
			map.put(DKW04701SFConst.NO_05, JDKWebCommon.getDataL(subbean, DKW04701SFConst.NO_05));
			map.put(DKW04701SFConst.LINE_COLOR_05, JDKWebCommon.getData(subbean, DKW04701SFConst.LINE_COLOR_05));
			map.put(DKW04701SFConst.NYUKA_SBT_FLG_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_SBT_FLG_05));
			map.put(DKW04701SFConst.NYUKA_SBT_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_SBT_NM_05));
			map.put(DKW04701SFConst.NYUKA_YMD_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_YMD_05));
			map.put(DKW04701SFConst.NYUKA_MT_MAKER_CD_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_MT_MAKER_CD_05));
			map.put(DKW04701SFConst.TAKNKIKI_MODEL_CD_05, JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_MODEL_CD_05));
			map.put(DKW04701SFConst.HUZOKUHIN_MODEL_CD_05, JDKWebCommon.getData(subbean, DKW04701SFConst.HUZOKUHIN_MODEL_CD_05));
			map.put(DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_CD_05, JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_CD_05));
			map.put(DKW04701SFConst.MAKER_SHUKKA_LOT_NO_05, JDKWebCommon.getData(subbean, DKW04701SFConst.MAKER_SHUKKA_LOT_NO_05));
			map.put(DKW04701SFConst.HATTCHU_LOT_NO_05, JDKWebCommon.getData(subbean, DKW04701SFConst.HATTCHU_LOT_NO_05));
			map.put(DKW04701SFConst.HATTCHU_LOT_DTL_NO_05, JDKWebCommon.getData(subbean, DKW04701SFConst.HATTCHU_LOT_DTL_NO_05));
			map.put(DKW04701SFConst.HATTCHU_CNT_05, JDKWebCommon.getData(subbean, DKW04701SFConst.HATTCHU_CNT_05));
			map.put(DKW04701SFConst.NYUKA_CNT_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_CNT_05));
			map.put(DKW04701SFConst.NYUKA_NO_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_NO_05));
			map.put(DKW04701SFConst.TAKNKIKI_MODEL_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_MODEL_NM_05));
			map.put(DKW04701SFConst.HUZOKUHIN_MODEL_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.HUZOKUHIN_MODEL_NM_05));
			map.put(DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_NM_05));
			map.put(DKW04701SFConst.MAKER_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.MAKER_NM_05));
			map.put(DKW04701SFConst.MAKER_DISP_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.MAKER_DISP_NM_05));
			map.put(DKW04701SFConst.NYUKA_STAT_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_STAT_05));
			map.put(DKW04701SFConst.NYUKA_STAT_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.NYUKA_STAT_NM_05));
			map.put(DKW04701SFConst.MODEL_NO_05, JDKWebCommon.getData(subbean, DKW04701SFConst.MODEL_NO_05));
			map.put(DKW04701SFConst.GOODS_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.GOODS_NM_05));
			map.put(DKW04701SFConst.GOODS_DISP_NM_05, JDKWebCommon.getData(subbean, DKW04701SFConst.GOODS_DISP_NM_05));

			returnNyukaIcrnList.add(map);
		}
		returnMap.put(DKW04701SFConst.NYUKA_ICRN_LIST, returnNyukaIcrnList);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW04701, returnMap);

		// 戻り先画面IDの設定
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04702, JDKScreenConst.SCREEN_ID_DKW04701);

		// 画面遷移処理
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04702, JDKScreenConst.SCREEN_NAME_DKW04702);

		return true;
	}

	/**
	 * ページングを処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean paging() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 検索条件を戻す
		this.restoreSearchCondition(serviceFormBean);

		// 検索実行
		boolean ret = this.execServiceSearch(serviceFormBean, false);
		if (ret == false)
		{
			return true;
		}

		return true;
	}

	/**
	 * クリアボタン押下時にメニューから遷移したときと同じ状態に戻します。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean clear() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		JDKWebCommon.setData(this, SCREEN_DSP_DIV_SEARCH, DKW04701SFConst.SCREEN_DSP_DIV);
		JDKWebCommon.setData(this, NYUKA_SBT_FLG_NYUKA, DKW04701SFConst.NYUKA_SBT);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_FROM_YEAR);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_FROM_MON);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_FROM_DAY);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_TO_YEAR);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_TO_MON);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_YMD_TO_DAY);
		JDKWebCommon.setData(this, "", DKW04701SFConst.NYUKA_LOT_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.MAKER_SHKA_LOT_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.HATTCHU_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_NYUKA_SBT);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_NYUKA_YMD_FROM);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_NYUKA_YMD_TO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_MAKER_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_NYUKA_LOT_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_MAKER_SHKA_LOT_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_HATTCHU_NO);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_SOKO_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SAVE_SHELF_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.MAKER_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.MAKER_NM);
		JDKWebCommon.setData(this, "", DKW04701SFConst.MODEL_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.GOODS_NM);
		JDKWebCommon.setData(this, "", DKW04701SFConst.TAKNKIKI_SBT_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SOKO_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SOKO_NM);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SHELF_CD);
		JDKWebCommon.setData(this, "", DKW04701SFConst.SHELF_NM);
		JDKWebCommon.setData(this, 0L, DKW04701SFConst.SELECTROW);
		JDKWebCommon.setData(this, "", DKW04701SFConst.DISP_PAGE_NO);
		JDKWebCommon.setData(this, "0", DKW04701SFConst.ICRN_DISP_CNT);
		X31SDataBeanAccessArray makerList = serviceFormBean.getDataBeanArray(DKW04701SFConst.MAKER_INFO);
		makerList.clearArray();
		X31SDataBeanAccessArray modelList = serviceFormBean.getDataBeanArray(DKW04701SFConst.MODEL_NO_INFO);
		modelList.clearArray();
		X31SDataBeanAccessArray sokoList = serviceFormBean.getDataBeanArray(DKW04701SFConst.SOKO_INFO);
		sokoList.clearArray();
		X31SDataBeanAccessArray shelfList = serviceFormBean.getDataBeanArray(DKW04701SFConst.SHELF_INFO);
		shelfList.clearArray();
		X31SDataBeanAccessArray nyukaIcrnList = serviceFormBean.getDataBeanArray(DKW04701SFConst.NYUKA_ICRN_LIST);
		nyukaIcrnList.clearArray();

		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04701, null);

		// 初期表示処理を実行
		init();

		return true;
	}

	/**
	 * 検索条件の保存。
	 * @param bean サービスフォームビーン
	 */
	private void saveSearchCondition(X31SDataBeanAccess bean)
	{
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_SBT), DKW04701SFConst.SAVE_NYUKA_SBT);
		String nyukaYmdFromYear = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_FROM_YEAR);
		String nyukaYmdFromMon = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_FROM_MON);
		String nyukaYmdFromDay = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_FROM_DAY);
		String nyukaYmdFrom = nyukaYmdFromYear + nyukaYmdFromMon + nyukaYmdFromDay;
		JDKWebCommon.setData(bean, nyukaYmdFrom, DKW04701SFConst.SAVE_NYUKA_YMD_FROM);
		String nyukaYmdToYear = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_TO_YEAR);
		String nyukaYmdToMon = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_TO_MON);
		String nyukaYmdToDay = JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_YMD_TO_DAY);
		String nyukaYmdTo = nyukaYmdToYear + nyukaYmdToMon + nyukaYmdToDay;
		JDKWebCommon.setData(bean, nyukaYmdTo, DKW04701SFConst.SAVE_NYUKA_YMD_TO);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.NYUKA_LOT_NO), DKW04701SFConst.SAVE_NYUKA_LOT_NO);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.MAKER_SHKA_LOT_NO), DKW04701SFConst.SAVE_MAKER_SHKA_LOT_NO);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.HATTCHU_NO), DKW04701SFConst.SAVE_HATTCHU_NO);

		// メーカー
		String makerCd = this.getDataFromArray(bean, DKW04701SFConst.MAKER_INFO, 0, DKW04701SFConst.MAKER_CD_01);
		if (JDKCommonUtil.isNull(makerCd) || PULLDOWN_EMPTY_INDEX.equals(makerCd))
		{
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_MAKER_CD);
		}
		else
		{
			int makerIndex = Integer.parseInt(makerCd, 10);
			String code = this.getCodeFromIndex(makerIndex, bean, DKW04701SFConst.MAKER_INFO, DKW04701SFConst.MAKER_CD_LIST_01);
			JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_MAKER_CD);
		}

		// 型番号
		String modelNo = this.getDataFromArray(bean, DKW04701SFConst.MODEL_NO_INFO, 0, DKW04701SFConst.MODEL_NO_02);
		if (JDKCommonUtil.isNull(modelNo) || PULLDOWN_EMPTY_INDEX.equals(modelNo))
		{
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_SETHIN_MODEL_CD);
		}
		else
		{
			int modelIndex = Integer.parseInt(modelNo, 10);
			String code = this.getCodeFromIndex(modelIndex, bean, DKW04701SFConst.MODEL_NO_INFO, DKW04701SFConst.MODEL_NO_LIST_02);
			code = JDKWebCommon.getFollowOf(code, ".");
			String taknkikiSbtCd = this.getCodeFromIndex(modelIndex, bean, DKW04701SFConst.MODEL_NO_INFO, DKW04701SFConst.TAKKIKI_SBT_CD_LIST_02);
			if (JDKStrConst.TAKNKIKI_SBT_CD_TAKNKIKI.equals(taknkikiSbtCd))
			{
				JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_SETHIN_MODEL_CD);
			}
			else if (JDKStrConst.TAKNKIKI_SBT_CD_HUZOKUHIN.equals(taknkikiSbtCd))
			{
				JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_SETHIN_MODEL_CD);
			}
			else if (JDKStrConst.TAKNKIKI_SBT_CD_SETHIN.equals(taknkikiSbtCd))
			{
				JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_TAKNKIKI_SETHIN_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
				JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
			}
		}

		// 倉庫
		String sokoCd = this.getDataFromArray(bean, DKW04701SFConst.SOKO_INFO, 0, DKW04701SFConst.SOKO_CD_03);
		if (JDKCommonUtil.isNull(sokoCd) || PULLDOWN_EMPTY_INDEX.equals(sokoCd))
		{
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_SOKO_CD);
		}
		else
		{
			int sokoIndex = Integer.parseInt(sokoCd, 10);
			String code = this.getCodeFromIndex(sokoIndex, bean, DKW04701SFConst.SOKO_INFO, DKW04701SFConst.SOKO_CD_LIST_03);
			JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_SOKO_CD);
		}

		// 棚
		String shelfCd = this.getDataFromArray(bean, DKW04701SFConst.SHELF_INFO, 0, DKW04701SFConst.SHELF_CD_04);
		if (JDKCommonUtil.isNull(shelfCd) || PULLDOWN_EMPTY_INDEX.equals(shelfCd))
		{
			JDKWebCommon.setData(bean, "", DKW04701SFConst.SAVE_SHELF_CD);
		}
		else
		{
			int shelfIndex = Integer.parseInt(shelfCd, 10);
			String code = this.getCodeFromIndex(shelfIndex, bean, DKW04701SFConst.SHELF_INFO, DKW04701SFConst.SHELF_CD_LIST_04);
			JDKWebCommon.setData(bean, code, DKW04701SFConst.SAVE_SHELF_CD);
		}
	}

	/**
	 * 検索条件の復元。
	 * @param bean サービスフォームビーン
	 */
	private void restoreSearchCondition(X31SDataBeanAccess bean)
	{
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_NYUKA_SBT), DKW04701SFConst.NYUKA_SBT);
		String nyukaYmdFrom = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_NYUKA_YMD_FROM);
		String nyukaYmdFromYear = JDKWebCommon.substr(nyukaYmdFrom, 0, 4);
		String nyukaYmdFromMon = JDKWebCommon.substr(nyukaYmdFrom, 4, 6);
		String nyukaYmdFromDay = JDKWebCommon.substr(nyukaYmdFrom, 6, 8);
		JDKWebCommon.setData(bean, nyukaYmdFromYear, DKW04701SFConst.NYUKA_YMD_FROM_YEAR);
		JDKWebCommon.setData(bean, nyukaYmdFromMon, DKW04701SFConst.NYUKA_YMD_FROM_MON);
		JDKWebCommon.setData(bean, nyukaYmdFromDay, DKW04701SFConst.NYUKA_YMD_FROM_DAY);
		String nyukaYmdTo = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_NYUKA_YMD_TO);
		String nyukaYmdToYear = JDKWebCommon.substr(nyukaYmdTo, 0, 4);
		String nyukaYmdToMon = JDKWebCommon.substr(nyukaYmdTo, 4, 6);
		String nyukaYmdToDay = JDKWebCommon.substr(nyukaYmdTo, 6, 8);
		JDKWebCommon.setData(bean, nyukaYmdToYear, DKW04701SFConst.NYUKA_YMD_TO_YEAR);
		JDKWebCommon.setData(bean, nyukaYmdToMon, DKW04701SFConst.NYUKA_YMD_TO_MON);
		JDKWebCommon.setData(bean, nyukaYmdToDay, DKW04701SFConst.NYUKA_YMD_TO_DAY);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_NYUKA_LOT_NO), DKW04701SFConst.NYUKA_LOT_NO);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_MAKER_SHKA_LOT_NO), DKW04701SFConst.MAKER_SHKA_LOT_NO);
		JDKWebCommon.setData(bean, JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_HATTCHU_NO), DKW04701SFConst.HATTCHU_NO);

		// メーカー
		String makerCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_MAKER_CD);
		if (JDKCommonUtil.isNull(makerCd))
		{
			this.setDataToArray(bean, DKW04701SFConst.MAKER_INFO, 0, DKW04701SFConst.MAKER_CD_01, "0");
		}
		else
		{
			int index = this.getIndexFromCode(makerCd, bean, DKW04701SFConst.MAKER_INFO, DKW04701SFConst.MAKER_CD_LIST_01);
			this.setDataToArray(bean, DKW04701SFConst.MAKER_INFO, 0, DKW04701SFConst.MAKER_CD_01, String.valueOf(index));
		}

		// 型番号
		String taknkikiModelCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_TAKNKIKI_MODEL_CD);
		String huzokuhinModelCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_HUZOKUHIN_MODEL_CD);
		String sethinModelCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_TAKNKIKI_SETHIN_MODEL_CD);
		String modelNo = "";
		if (!JDKCommonUtil.isNull(taknkikiModelCd))
		{
			modelNo = taknkikiModelCd;
		}
		else if (!JDKCommonUtil.isNull(huzokuhinModelCd))
		{
			modelNo = huzokuhinModelCd;
		}
		else if (!JDKCommonUtil.isNull(sethinModelCd))
		{
			modelNo = sethinModelCd;
		}
		if (JDKCommonUtil.isNull(modelNo))
		{
			this.setDataToArray(bean, DKW04701SFConst.MODEL_NO_INFO, 0, DKW04701SFConst.MODEL_NO_02, "0");
		}
		else
		{
			int index = this.getIndexFromCode(modelNo, bean, DKW04701SFConst.MODEL_NO_INFO, DKW04701SFConst.MODEL_NO_LIST_02);
			this.setDataToArray(bean, DKW04701SFConst.MODEL_NO_INFO, 0, DKW04701SFConst.MODEL_NO_02, String.valueOf(index));
		}

		// 倉庫
		String sokoCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_SOKO_CD);
		if (JDKCommonUtil.isNull(sokoCd))
		{
			this.setDataToArray(bean, DKW04701SFConst.SOKO_INFO, 0, DKW04701SFConst.SOKO_CD_03, "0");
		}
		else
		{
			int index = this.getIndexFromCode(sokoCd, bean, DKW04701SFConst.SOKO_INFO, DKW04701SFConst.SOKO_CD_LIST_03);
			this.setDataToArray(bean, DKW04701SFConst.SOKO_INFO, 0, DKW04701SFConst.SOKO_CD_03, String.valueOf(index));
		}

		// 棚
		String shelfCd = JDKWebCommon.getData(bean, DKW04701SFConst.SAVE_SHELF_CD);
		if (JDKCommonUtil.isNull(shelfCd))
		{
			this.setDataToArray(bean, DKW04701SFConst.SHELF_INFO, 0, DKW04701SFConst.SHELF_CD_04, "0");
		}
		else
		{
			int index = this.getIndexFromCode(shelfCd, bean, DKW04701SFConst.SHELF_INFO, DKW04701SFConst.SHELF_CD_LIST_04);
			this.setDataToArray(bean, DKW04701SFConst.SHELF_INFO, 0, DKW04701SFConst.SHELF_CD_04, String.valueOf(index));
		}
	}

	/**
	 * 検索処理を実行する。
	 * @param bean サービスフォームビーン
	 * @param searchFlg 検索フラグ（true：検索ボタン、false：ページング）
	 * @return true:エラーなし false:エラーあり
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	private boolean execServiceSearch(X31SDataBeanAccess bean, boolean searchFlg) throws Exception
	{
		bean.getDataBeanArray(DKW04701SFConst.NYUKA_ICRN_LIST).clearArray();

		X31SDataBeanAccess[] paramBean = {bean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, DKSV0087);

		// マッピングクラスのインスタンスを生成
		DKSV0087_DKSV0087OPDBMapper mapper = new DKSV0087_DKSV0087OPDBMapper();
		HashMap dataMap = new HashMap();

		mapper.setDKSV008701SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 選択行クリア
		JDKWebCommon.setData(bean, 0L, DKW04701SFConst.SELECTROW);

		if (searchFlg)
		{
			JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW04701);
		}

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, TABLEINDEX_0, DKSV008701SC, dataMap);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);

		JCCMessageCache.setMessageCache();

		mapper.getDKSV008701SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg(DKSV008701SC, outputMap);
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			// 画面表示区分設定
			JDKWebCommon.setData(bean, SCREEN_DSP_DIV_SEARCH, DKW04701SFConst.SCREEN_DSP_DIV);
			return false;
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			String maxSearchCnt = JCCWebCommon.getSearchConst(DKW04701_MAX_SHOW_CNT);
			// 検索結果が最大検索件数超えの場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String[] {maxSearchCnt});
			// 画面表示区分設定
			JDKWebCommon.setData(bean, SCREEN_DSP_DIV_SEARCH, DKW04701SFConst.SCREEN_DSP_DIV);
			return false;
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, TABLEINDEX_0, DKSV008701SC, outputMap);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, L_PAG_SEARCH);

		// 表示ページ番号
		String displayPageNum = (String)((HashMap)outputMap.get(DKSV008701SC)).get(DISPLAY_PAGE_NUM);
		JDKWebCommon.setData(bean, displayPageNum, DKW04701SFConst.DISP_PAGE_NO);

		// 画面表示区分の設定
		JDKWebCommon.setData(bean, SCREEN_DSP_DIV_RESULT, DKW04701SFConst.SCREEN_DSP_DIV);

		// 表示ページ番号
		int iDispPageNum = Integer.parseInt(displayPageNum, 10);
		// 表示件数
		String rowPerPage = JCCWebCommon.getSearchConst(DKW04701_ROW_PER_PAGE);
		int iRowPerPage = Integer.parseInt(rowPerPage, 10);
		// 開始行
		int start = (iDispPageNum - 1) * iRowPerPage;

		X31SDataBeanAccessArray nyukaIcrnList = bean.getDataBeanArray(DKW04701SFConst.NYUKA_ICRN_LIST);
		for (int i = 0; i < nyukaIcrnList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = nyukaIcrnList.getDataBean(i);

			// 項番
			JDKWebCommon.setData(subbean, (start + i) + 1L, DKW04701SFConst.NO_05);

			// 行カラー
			JDKWebCommon.setData(subbean, ((i + 1) % 2 == 0) ? EVEN : ODD, DKW04701SFConst.LINE_COLOR_05);

			// メーカー
			String makerNm = JDKWebCommon.getData(subbean, DKW04701SFConst.MAKER_NM_05);
			String makerDspNm = JDKWebCommon.substr(makerNm, 0, DSPLENGTH_MAKERNM);
			JDKWebCommon.setData(subbean, makerDspNm, DKW04701SFConst.MAKER_DISP_NM_05);

			// 型番号
			String taknkikiModelCd = JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_MODEL_CD_05);
			String huzokuhinModelCd = JDKWebCommon.getData(subbean, DKW04701SFConst.HUZOKUHIN_MODEL_CD_05);
			String sethinModelCd = JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_CD_05);
			String modelCd = "";
			if (!JDKCommonUtil.isNull(taknkikiModelCd))
			{
				modelCd = taknkikiModelCd;
			}
			else if (!JDKCommonUtil.isNull(huzokuhinModelCd))
			{
				modelCd = huzokuhinModelCd;
			}
			else if (!JDKCommonUtil.isNull(sethinModelCd))
			{
				modelCd = sethinModelCd;
			}
			JDKWebCommon.setData(subbean, modelCd, DKW04701SFConst.MODEL_NO_05);

			// 商品名
			String taknkikiModelNm = JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_MODEL_NM_05);
			String huzokuhinModelNm = JDKWebCommon.getData(subbean, DKW04701SFConst.HUZOKUHIN_MODEL_NM_05);
			String sethinModelNm = JDKWebCommon.getData(subbean, DKW04701SFConst.TAKNKIKI_SETHIN_MODEL_NM_05);
			String goodsNm = "";
			if (!JDKCommonUtil.isNull(taknkikiModelNm))
			{
				goodsNm = taknkikiModelNm;
			}
			else if (!JDKCommonUtil.isNull(huzokuhinModelNm))
			{
				goodsNm = huzokuhinModelNm;
			}
			else if (!JDKCommonUtil.isNull(sethinModelNm))
			{
				goodsNm = sethinModelNm;
			}
			JDKWebCommon.setData(subbean, goodsNm, DKW04701SFConst.GOODS_NM_05);
			String goodsDspNm = JDKWebCommon.substr(goodsNm, 0, DSPLENGTH_GOODSNM);
			JDKWebCommon.setData(subbean, goodsDspNm, DKW04701SFConst.GOODS_DISP_NM_05);
		}

		JDKWebCommon.setData(bean, String.valueOf(nyukaIcrnList.getCount()), DKW04701SFConst.ICRN_DISP_CNT);

		// 画面遷移処理
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04701, JDKScreenConst.SCREEN_NAME_DKW04701);

		return true;
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @param pulldown プルダウンを指す項目ID
	 * @param cdList プルダウン中でコード一覧をさす項目ID
	 * @param nmList プルダウン中で名称一覧をさす項目ID
	 */
	private void pushEmptyToTopOfPulldown(String pulldown, String cdList, String nmList)
	{
		X31SDataBeanAccess pulldownBean = super.getServiceFormBean().getDataBeanArray(pulldown).getDataBean(0);

		appendPrefix(getBean(this, pulldown), nmList);
		
		slideArrayOnDatabean(pulldownBean, cdList);
		slideArrayOnDatabean(pulldownBean, nmList);
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @param pulldown プルダウンを指す項目ID
	 * @param cdList プルダウン中で型番号一覧をさす項目ID
	 * @param nmList プルダウン中で商品名一覧をさす項目ID
	 * @param sbtList プルダウン中で宅内機器種別コード一覧をさす項目ID
	 */
	private void pushEmptyToTopOfModelNo(String pulldown, String cdList, String nmList, String sbtList)
	{
		X31SDataBeanAccess pulldownBean = super.getServiceFormBean().getDataBeanArray(pulldown).getDataBean(0);

		appendPrefix(getBean(this, pulldown), cdList);
		
		slideArrayOnDatabean(pulldownBean, cdList);
		slideArrayOnDatabean(pulldownBean, nmList);
		slideArrayOnDatabean(pulldownBean, sbtList);
	}
	
	/**
	 * データビーンの配列要素をインデックスが増加する方向に１つずらす
	 * @param bean データビーン
	 * @param listName 対象項目ID
	 */
	private void slideArrayOnDatabean(X31SDataBeanAccess bean, String listName)
	{
		int size = (Integer)(bean.sendMessage(listName, X31CWebConst.DATABEAN_GET_COUNT));
		
		bean.sendMessageString(listName, X31CWebConst.DATABEAN_ADD_VALUE, "");
		
		for (int i = size ; i > 0 ; i--)
		{
			String target = bean.sendMessageString(listName, X31CWebConst.DATABEAN_GET_VALUE, i - 1);
			bean.sendMessageString(listName, X31CWebConst.DATABEAN_SET_VALUE, i, target);
		}
		
		bean.sendMessageString(listName, X31CWebConst.DATABEAN_SET_VALUE, 0, "");
	}

	/**
	 * インデックスを引数にプルダウンからコードを取得します。
	 * @param index インデックス
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param cdValueListNm コード値リスト項目名
	 * @return 取得したコード
	 */
	private String getCodeFromIndex(int index, X31SDataBeanAccess serviceFormBean, String listNm, String cdValueListNm)
	{

		// リストを取得
		X31SDataBeanAccessArray beanArray = serviceFormBean.getDataBeanArray(listNm);
		X31SDataBeanAccess bean = beanArray.getDataBean(0);
		String retCode = bean.sendMessageString(cdValueListNm, X31CWebConst.DATABEAN_GET_VALUE, index);

		return retCode;
	}


	/**
	 * コードを引数にプルダウンからインデックスを取得します。
	 * @param code コード
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param cdValueListNm コード値リスト項目名
	 * @return 取得したインデックス
	 */
	private int getIndexFromCode(String code, X31SDataBeanAccess serviceFormBean, String listNm, String cdValueListNm)
	{
		// リストを取得
		X31SDataBeanAccessArray beanArray = serviceFormBean.getDataBeanArray(listNm);
		X31SDataBeanAccess bean = beanArray.getDataBean(0);

		int retIndex = 0;

		for (int i = 0; i < Integer.valueOf(bean.sendMessage(cdValueListNm, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
		{
			if (code.equals(bean.sendMessageString(cdValueListNm, X31CWebConst.DATABEAN_GET_VALUE, i)))
			{
				retIndex = i;
				break;
			}
		}

		return retIndex;
	}

	/**
	 * リストからデータを取得します。
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param index インデックス
	 * @param key 項目ID
	 * @return 取得したデータ
	 */
	private String getDataFromArray(X31SDataBeanAccess serviceFormBean, String listNm, int index, String key)
	{
		String retStr = "";
		// リストを取得
		X31SDataBeanAccessArray list = serviceFormBean.getDataBeanArray(listNm);
		X31SDataBeanAccess subbean = list.getDataBean(index);
		retStr = subbean.sendMessageString(key, X31CWebConst.DATABEAN_GET_VALUE);
		return retStr;
	}


	/**
	 * リストにデータをセットします。
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param index インデックス
	 * @param key 項目ID
	 * @param value 値
	 */
	private void setDataToArray(X31SDataBeanAccess serviceFormBean, String listNm, int index, String key, String value)
	{
		// リストを取得
		X31SDataBeanAccessArray list = serviceFormBean.getDataBeanArray(listNm);
		int cnt = list.getCount();
		X31SDataBeanAccess subbean = null;
		if (cnt > index)
		{
			subbean = list.getDataBean(index);
		}
		else
		{
			subbean = list.addDataBean();
		}
		subbean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * 画面遷移先を設定します。
	 * @param nextScreenId 遷移先画面ＩＤ
	 * @param nextScreenName 遷移先画面名
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
	
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

		DEBUG_LOG.debug(String.format("%s(%s)へ遷移します", nextScreenName, nextScreenId));
	}
}
