/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：物流管理システム
*   モジュール名    ：物流管理システム
*   ソースファイル名：DKW01101SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年07月20日
*＜機能概要＞
*   棚移動出荷一覧照会画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/07/20   FJ）仁多見  新規作成
*
**********************************************************************/
package eo.web.webview.DKW01101SF;

import static eo.web.webview.DKW01102SF.DKW01102SFConst.DISP_SHELF_MOVE_LOT_NO;
import static eo.web.webview.DKW01102SF.DKW01102SFConst.KEY_SHELF_MOVE_LOT_NO;
import static eo.web.webview.DKW01102SF.DKW01102SFConst.UNYO_YMD;
import static eo.web.webview.common.JDKScreenConst.*;
import static eo.web.webview.common.JDKWebCommon.appendPrefix;
import static eo.web.webview.common.JDKWebCommon.getBean;

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 com.fujitsu.futurity.web.x31.X31SWebLog;

import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JDKCommonUtil;
import eo.common.util.JPCEditString;
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.common.JDKWebCommon;
import eo.web.webview.common.JZMWebCommon;
import eo.web.webview.mapping.DKSV0003_DKSV0003OP_03DBMapper;
import eo.web.webview.mapping.DKSV0007_DKSV0007OPDBMapper;

/**
 * 棚移動出荷一覧照会画面のビューロジック処理を行います。
 * @author 富士通
 */
public class DKW01101SFLogic extends JCCWebBusinessLogic
{
	/**
	 * シリアルバージョンＩＤ
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 検索有無フラグ：再検索あり
	 */
	private static final String SEACH_FLG_TRUE = "1";

	/**
	 * 検索有無フラグ：再検索なし
	 */
	private static final String SEACH_FLG_FALSE = "0";

	/**
	 * プルダウン取得用キー（指定方法）
	 */
	private static final String PULLDOWN_KEY_SHITEI = "CD00334";

	/**
	 * 初期表示を処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean init() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 運用日付を取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);

		// 運用日付を設定
		serviceFormBean.sendMessageString(DKW01101SFConst.UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, opeDate);

		// プルダウン取得用キーを設定
		serviceFormBean.sendMessageString(DKW01101SFConst.SHITEI_KEY, X31CWebConst.DATABEAN_SET_VALUE, PULLDOWN_KEY_SHITEI);

		// 一覧表示件数を初期化する
		serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 検索有無フラグを取得する
		String umuFlg = serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		String bkMvMt = null;
		String bkMvMtKbn = null;
		String bkSjiSta = null;
		String bkSjiEnd = null;
		String bkShiteiWay = null;
		String judgeCd = null;
		String func_code = JPCModelConstant.FUNC_CD_1;

		// 遷移元画面IDを取得
		String screenId = JCCWebCommon.getScreenId(this);
		
		// エラーで遷移してきた場合かつメニュー（null）以外から遷移してきた場合
		if (JZMWebCommon.hasMsgList(super.getCommonInfoBean()) && screenId != null)
		{
			// 検索有無フラグ：再検索あり
			umuFlg = SEACH_FLG_TRUE;
		}

		// メニュー（null）の場合
		if (JDKCommonUtil.isNull(umuFlg) || SEACH_FLG_FALSE.equals(umuFlg))
		{
			// 初期化
			// 検索有無フラグ
			serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// 移動元コード
			serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_SET_VALUE, bkMvMt);
			// 移動元建物区分
			serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// 指示開始日
			serviceFormBean.sendMessageString(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_SET_VALUE, bkSjiSta);
			// 指示終了日
			serviceFormBean.sendMessageString(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_SET_VALUE, bkSjiEnd);
			// 指定方法コード
			serviceFormBean.sendMessageString(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_SET_VALUE, bkShiteiWay);
			// 行番号
			serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
		// メニュー以外の場合
		else
		{
			// 画面表示データを設定
			// 移動元コード
			bkMvMt = serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT , X31CWebConst.DATABEAN_GET_VALUE);

			// 移動元建物区分を設定
			bkMvMtKbn = serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT_TTM_KBN , X31CWebConst.DATABEAN_GET_VALUE);
			serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, bkMvMtKbn);

			// 指示日（ＦＲＯＭ）
			X31SDataBeanAccessArray shijiYMDStaArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_STA);
			X31SDataBeanAccess shijiYMDSta = shijiYMDStaArray.getDataBean(0);
			bkSjiSta = serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_STA
									, X31CWebConst.DATABEAN_GET_VALUE);
			shijiYMDSta.sendMessageString(DKW01101SFConst.YEAR_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(bkSjiSta));
			shijiYMDSta.sendMessageString(DKW01101SFConst.MON_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(bkSjiSta));
			shijiYMDSta.sendMessageString(DKW01101SFConst.DAY_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(bkSjiSta));

			// 指示日（ＴＯ）
			X31SDataBeanAccessArray shijiYMDEndArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_END);
			X31SDataBeanAccess shijiYMDEnd = shijiYMDEndArray.getDataBean(0);
			bkSjiEnd = serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_END
									, X31CWebConst.DATABEAN_GET_VALUE);
			shijiYMDEnd.sendMessageString(DKW01101SFConst.YEAR_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(bkSjiEnd));
			shijiYMDEnd.sendMessageString(DKW01101SFConst.MON_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(bkSjiEnd));
			shijiYMDEnd.sendMessageString(DKW01101SFConst.DAY_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(bkSjiEnd));

			// 指定方法コード
			bkShiteiWay = serviceFormBean.sendMessageString(DKW01101SFConst.BK_SHITEI_WAY , X31CWebConst.DATABEAN_GET_VALUE);

			// 検索用データを設定
			// 移動元コード
			serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_SET_VALUE, bkMvMt);
			// 指示開始日
			serviceFormBean.sendMessageString(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_SET_VALUE, bkSjiSta);
			// 指示終了日
			serviceFormBean.sendMessageString(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_SET_VALUE, bkSjiEnd);
			// 指定方法コード
			serviceFormBean.sendMessageString(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_SET_VALUE, bkShiteiWay);

			X31SDataBeanAccess[] paramBean = {serviceFormBean};

			// サービスの呼び出しを行う
			putServiceDKSV0007(paramBean, func_code);

			// 行番号を設定
			String rowNo = 
				serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (JDKCommonUtil.isNull(rowNo))
			{
				serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, 
													X31CWebConst.DATABEAN_SET_VALUE, "0");
			}

			// 一覧表の表示設定を行う
			this.setList(paramBean[0], serviceFormBean);

			String flg = null;

			// 検索有無フラグを設定
			if (!"0".equals(serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				flg = "1";
			}
			else
			{
				flg = "0";
			}
			serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, flg);
		}

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		HashMap<String, String> inputMap = new HashMap<String, String>();
		HashMap<String, String> outputMap = new HashMap<String, String>();

		// ユースケースIDを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0003");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0003_DKSV0003OP_03DBMapper mapper = new DKSV0003_DKSV0003OP_03DBMapper();
		mapper.setDKSV000301SC(paramBean, inputMap, func_code);
		mapper.setDKSV000302SC(paramBean, inputMap, func_code);
		
		// 検索結果格納用マップを生成
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		JCCMessageCache.setMessageCache();

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV000301SC(paramBean, outputMap);
		mapper.getDKSV000302SC(paramBean, outputMap);

		// プルダウンの要素にインデックスを付与する
		pushEmptyToTopOfPulldown(DKW01101SFConst.I_MV_MT, DKW01101SFConst.MV_MT_CD_LIST_01, DKW01101SFConst.MV_MT_NM_LIST_01);
		pushEmptyToTopOfPulldown(DKW01101SFConst.I_SHITEI_WAY, DKW01101SFConst.SHITEI_WAY_CD_LIST_03, DKW01101SFConst.SHITEI_WAY_NM_LIST_03);

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01101, JDKScreenConst.SCREEN_NAME_DKW01101);

		// メニュー以外の場合
		if (SEACH_FLG_TRUE.equals(umuFlg))
		{
			// 移動元プルダウンの選択値を設定
			judgeCd = "0";
			int mvIndex = this.getCodeToIndexForDdl(bkMvMt, serviceFormBean, judgeCd);
			X31SDataBeanAccessArray mvArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_MV_MT);
			X31SDataBeanAccess mv = mvArray.getDataBean(0);
			mv.sendMessageString(DKW01101SFConst.MV_MT_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(mvIndex));
			// 指定方法プルダウンの選択値を設定
			judgeCd = "1";
			int shiteiIndex = this.getCodeToIndexForDdl(bkShiteiWay, serviceFormBean, judgeCd);
			X31SDataBeanAccessArray shiteiArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SHITEI_WAY);
			X31SDataBeanAccess shitei = shiteiArray.getDataBean(0);
			shitei.sendMessageString(DKW01101SFConst.SHITEI_WAY_INDEX_03, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(shiteiIndex));
		}
		return true;
	}

	/**
	 * 棚移動出荷一覧照会画面の検索ボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean search() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		String bkMvMt = null;
		String bkMvMtKbn = null;
		String bkShijiSta = null;
		String bkShijiEnd = null;
		String bkShitei = null;
		String func_code = JPCModelConstant.FUNC_CD_1;

		// 初期化
		// 一覧表示件数
		serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// 移動元コード
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_CLEAR);
		// 移動元建物区分
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_CLEAR);
		// 指示開始日
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_CLEAR);
		// 指示終了日
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_CLEAR);
		// 指定方法コード
		serviceFormBean.sendMessage(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_CLEAR);
		// 棚移動出荷一覧照会明細リスト
		serviceFormBean.getDataBeanArray(DKW01101SFConst.SHOKAI_LIST).clearArray();
		// 検索時移動元コード
		serviceFormBean.sendMessage(DKW01101SFConst.BK_MV_MT, X31CWebConst.DATABEAN_CLEAR);
		// 検索時指示開始日
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SJI_STA, X31CWebConst.DATABEAN_CLEAR);
		// 検索時指示終了日
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SJI_END, X31CWebConst.DATABEAN_CLEAR);
		// 検索時指定方法コード
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SHITEI_WAY, X31CWebConst.DATABEAN_CLEAR);
		// ページングキーを初期化
		serviceFormBean.sendMessage(DKW01101SFConst.PAGEING_KEY, X31CWebConst.DATABEAN_CLEAR);
		// 行番号を初期化
		serviceFormBean.sendMessage(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_CLEAR);

		// ページング情報の設定
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW01101);

		// 検索用移動元コードを設定
		X31SDataBeanAccessArray mvArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_MV_MT);
		String mIndex = mvArray.getDataBean(0).sendMessageString(DKW01101SFConst.MV_MT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		bkMvMt = this.getIndexToCodeForDdl(Integer.valueOf(mIndex), serviceFormBean, DKW01101SFConst.I_MV_MT, DKW01101SFConst.MV_MT_CD_LIST_01);
		serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_SET_VALUE, bkMvMt);

		// 移動元建物区分を設定
		if (!"0".equals(mIndex))
		{
			bkMvMtKbn = this.getIndexToCodeForDdl(Integer.valueOf(mIndex) -1, serviceFormBean, DKW01101SFConst.I_MV_MT, DKW01101SFConst.TTM_KBN_LIST_01);
		}
		serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, bkMvMtKbn);

		// 指示日（ＦＲＯＭ）に日付を設定する
		X31SDataBeanAccessArray shijiStaArray
						= serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_STA);
		X31SDataBeanAccess shijiSta = shijiStaArray.getDataBean(0);
		// 年を取得
		String fromYear = shijiSta.sendMessageString(DKW01101SFConst.YEAR_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 月を取得
		String fromMon = shijiSta.sendMessageString(DKW01101SFConst.MON_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 日を取得
		String fromDay = shijiSta.sendMessageString(DKW01101SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JDKCommonUtil.isNull(fromYear) || !JDKCommonUtil.isNull(fromMon) || !JDKCommonUtil.isNull(fromDay))
		{
			bkShijiSta = fromYear + fromMon + fromDay;
		}
		// 検索用指示開始日を設定
		serviceFormBean.sendMessageString(DKW01101SFConst.SJI_STA
				, X31CWebConst.DATABEAN_SET_VALUE, bkShijiSta);

		// 指示日（ＴＯ）に日付を設定する
		X31SDataBeanAccessArray shijiEndArray
						= serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_END);
		X31SDataBeanAccess shijiEnd = shijiEndArray.getDataBean(0);
		// 年を取得
		String toYear = shijiEnd.sendMessageString(DKW01101SFConst.YEAR_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 月を取得
		String toMon = shijiEnd.sendMessageString(DKW01101SFConst.MON_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 日を取得
		String toDay = shijiEnd.sendMessageString(DKW01101SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JDKCommonUtil.isNull(toYear) || !JDKCommonUtil.isNull(toMon) || !JDKCommonUtil.isNull(toDay))
		{
			bkShijiEnd = toYear + toMon + toDay;
		}
		// 検索用指示終了日を設定
		serviceFormBean.sendMessageString(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_SET_VALUE, bkShijiEnd);

		// 検索用指定方法を設定
		X31SDataBeanAccessArray shiteiArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SHITEI_WAY);
		String sIndex = shiteiArray.getDataBean(0).sendMessageString(DKW01101SFConst.SHITEI_WAY_INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		bkShitei = this.getIndexToCodeForDdl(Integer.valueOf(sIndex), serviceFormBean, DKW01101SFConst.I_SHITEI_WAY, DKW01101SFConst.SHITEI_WAY_CD_LIST_03);
		serviceFormBean.sendMessageString(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_SET_VALUE, bkShitei);

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// サービスの呼び出しを行う
		putServiceDKSV0007(paramBean, func_code);

		// 行番号を設定
		String rowNo = 
			serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (JDKCommonUtil.isNull(rowNo))
		{
			serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, 
												X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// 一覧表の表示設定を行う
		this.setList(paramBean[0], serviceFormBean);

		String flg = null;

		// 検索有無フラグを設定
		if (!"0".equals(serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			flg = "1";
		}
		else
		{
			flg = "0";
		}
		serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, flg);

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01101, JDKScreenConst.SCREEN_NAME_DKW01101);

		// 引継用項目にデータを格納
		serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT, X31CWebConst.DATABEAN_SET_VALUE, bkMvMt);
		serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, bkMvMtKbn);
		serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_STA, X31CWebConst.DATABEAN_SET_VALUE, bkShijiSta);
		serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_END, X31CWebConst.DATABEAN_SET_VALUE, bkShijiEnd);
		serviceFormBean.sendMessageString(DKW01101SFConst.BK_SHITEI_WAY, X31CWebConst.DATABEAN_SET_VALUE, bkShitei);

		return true;
	}

	/**
	 * ページングを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean paging() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 初期化
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.PAGEING_KEY, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.getDataBeanArray(DKW01101SFConst.SHOKAI_LIST).clearArray();

		// 退避データを設定
		serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT_TTM_KBN , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_STA , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_END , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01101SFConst.BK_SHITEI_WAY , X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// 機能コードを設定する
		String func_code = JPCModelConstant.FUNC_CD_1;

		// サービスの呼び出しを行う
		putServiceDKSV0007(paramBean, func_code);

		// 行番号を設定
		serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 一覧表の表示設定を行う
		this.setList(paramBean[0], serviceFormBean);

		// 検索有無フラグを設定
		if (!"0".equals(serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}
		else
		{
			serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01101, JDKScreenConst.SCREEN_NAME_DKW01101);

		return true;
	}

	/**
	 * 棚移動出荷一覧照会画面の詳細ボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showDetail() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		X31SDataBeanAccessArray shokaiList = serviceFormBean.getDataBeanArray(DKW01101SFConst.SHOKAI_LIST);
		int idx = Integer.parseInt(JDKWebCommon.getData(serviceFormBean, DKW01101SFConst.ROW_NO));
		X31SDataBeanAccess subbean = shokaiList.getDataBean(idx);

		// 画面情報を設定
		HashMap dataMap = new HashMap();
		// 棚移動ロット番号（表示用）
		dataMap.put(DISP_SHELF_MOVE_LOT_NO, subbean.sendMessageString(DKW01101SFConst.L_SDNAMV_LOT_NO_04, 
																		X31CWebConst.DATABEAN_GET_VALUE));
		// 棚移動ロット番号
		dataMap.put(KEY_SHELF_MOVE_LOT_NO, subbean.sendMessageString(DKW01101SFConst.L_SDNAMV_LOT_NO_04, 
																		X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日付
		dataMap.put(UNYO_YMD, JCCWebCommon.getOpeDate(this, null));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01102, dataMap);

		X31SWebLog.DEBUG_LOG.debug("引き継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(dataMap);

		// 戻る際に必要な情報を設定
		HashMap returnMap = new HashMap();
		// 検索有無フラグ
		returnMap.put(DKW01101SFConst.SEARCH_UM_FLG, 
						serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// ページングキー
		returnMap.put(DKW01101SFConst.PAGEING_KEY, 
						subbean.sendMessageString(DKW01101SFConst.L_SDNAMV_LOT_NO_04, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索条件
		returnMap.put(DKW01101SFConst.BK_MV_MT, 
				serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01101SFConst.BK_MV_MT_TTM_KBN, 
				serviceFormBean.sendMessageString(DKW01101SFConst.BK_MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01101SFConst.BK_SJI_STA, 
				serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_STA, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01101SFConst.BK_SJI_END, 
				serviceFormBean.sendMessageString(DKW01101SFConst.BK_SJI_END, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01101SFConst.BK_SHITEI_WAY, 
				serviceFormBean.sendMessageString(DKW01101SFConst.BK_SHITEI_WAY, X31CWebConst.DATABEAN_GET_VALUE));

		X31SWebLog.DEBUG_LOG.debug("引き継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(returnMap);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01101, returnMap);
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01102, SCREEN_ID_DKW01101);

		// 画面遷移処理
		setNextScreen(SCREEN_ID_DKW01102, SCREEN_NAME_DKW01102);

		return true;
	}

	/**
	 * 棚移動出荷一覧照会画面のクリアボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean clear() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 遷移元画面IDをクリア
		serviceFormBean.sendMessage(DKW01101SFConst.MT_SCREEN_ID, X31CWebConst.DATABEAN_CLEAR);

		// 移動元リストをクリア
		X31SDataBeanAccessArray mvArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_MV_MT);
		X31SDataBeanAccess mIndex = mvArray.getDataBean(0);
		mIndex.sendMessage(DKW01101SFConst.MV_MT_INDEX_01, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.BK_MV_MT, X31CWebConst.DATABEAN_CLEAR);

		// 移動元建物区分をクリア
		serviceFormBean.sendMessage(DKW01101SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.BK_MV_MT_TTM_KBN, X31CWebConst.DATABEAN_CLEAR);

		// 指示日（ＦＲＯＭ）をクリア
		X31SDataBeanAccessArray shijiYMDStaArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_STA);
		X31SDataBeanAccess shijiYMDSta = shijiYMDStaArray.getDataBean(0);
		shijiYMDSta.sendMessage(DKW01101SFConst.YEAR_02, X31CWebConst.DATABEAN_CLEAR);
		shijiYMDSta.sendMessage(DKW01101SFConst.MON_02, X31CWebConst.DATABEAN_CLEAR);
		shijiYMDSta.sendMessage(DKW01101SFConst.DAY_02, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_STA, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SJI_STA, X31CWebConst.DATABEAN_CLEAR);

		// 指示日（ＴＯ）をクリア
		X31SDataBeanAccessArray shijiYMDEndArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SJI_END);
		X31SDataBeanAccess shijiYMDEnd = shijiYMDEndArray.getDataBean(0);
		shijiYMDEnd.sendMessage(DKW01101SFConst.YEAR_02, X31CWebConst.DATABEAN_CLEAR);
		shijiYMDEnd.sendMessage(DKW01101SFConst.MON_02, X31CWebConst.DATABEAN_CLEAR);
		shijiYMDEnd.sendMessage(DKW01101SFConst.DAY_02, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SJI_END, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SJI_END, X31CWebConst.DATABEAN_CLEAR);

		// 指定方法リストをクリア
		X31SDataBeanAccessArray shiteiArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SHITEI_WAY);
		X31SDataBeanAccess sIndex = shiteiArray.getDataBean(0);
		sIndex.sendMessage(DKW01101SFConst.SHITEI_WAY_INDEX_03, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.SHITEI_WAY, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01101SFConst.BK_SHITEI_WAY, X31CWebConst.DATABEAN_CLEAR);

		// 棚移動出荷一覧照会明細リストをクリア
		serviceFormBean.getDataBeanArray(DKW01101SFConst.SHOKAI_LIST).clearArray();

		// 行番号をクリア
		serviceFormBean.sendMessage(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_CLEAR);

		// 一覧表示件数をクリア
		serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 遷移先画面IDを設定する
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW01101);

		// 検索有無フラグを設定
		serviceFormBean.sendMessageString(DKW01101SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");

		return true;
	}

	/**
	 * 一覧表の表示設定を行います。
	 * <br>
	 * @param paramBean 設定する一覧のBean情報
	 * @param serviceFormBean 設定する画面のServiceFormBean
	 * @throws Exception
	 */
	private void setList(X31SDataBeanAccess paramBean, X31SDataBeanAccess serviceFormBean) throws Exception
	{
		X31SDataBeanAccessArray shokaiList = paramBean.getDataBeanArray(DKW01101SFConst.SHOKAI_LIST);

		for (int i = 0; i < shokaiList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = shokaiList.getDataBean(i);

			// 指示者表示名を設定 ６桁
			String shijisha = JDKWebCommon.substr(subbean.sendMessageString(DKW01101SFConst.L_SJISHA_04, X31CWebConst.DATABEAN_GET_VALUE), 0, 6);
			subbean.sendMessageString(DKW01101SFConst.L_SJISHA_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, shijisha);

			// 移動元を設定
			String mvMt = "";

			if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_MT_SOKO_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvMt = subbean.sendMessageString(DKW01101SFConst.L_MV_MT_SOKO_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_MT_KOJI_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvMt = subbean.sendMessageString(DKW01101SFConst.L_MV_MT_KOJI_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_MT_OFFICE_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvMt = subbean.sendMessageString(DKW01101SFConst.L_MV_MT_OFFICE_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			subbean.sendMessageString(DKW01101SFConst.L_MV_MT_04, X31CWebConst.DATABEAN_SET_VALUE, mvMt);
			// 移動元表示名 ８桁
			subbean.sendMessageString(DKW01101SFConst.L_MV_MT_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, JDKWebCommon.substr(mvMt, 0, 8));

			// 移動先を設定
			String mvSk = "";

			if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_SK_SOKO_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvSk = subbean.sendMessageString(DKW01101SFConst.L_MV_SK_SOKO_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_SK_KOJI_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvSk = subbean.sendMessageString(DKW01101SFConst.L_MV_SK_KOJI_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(subbean.sendMessageString(DKW01101SFConst.L_MV_SK_OFFICE_NM_04, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				mvSk = subbean.sendMessageString(DKW01101SFConst.L_MV_SK_OFFICE_NM_04, X31CWebConst.DATABEAN_GET_VALUE);
			}
			subbean.sendMessageString(DKW01101SFConst.L_MV_SK_04, X31CWebConst.DATABEAN_SET_VALUE, mvSk);
			// 移動先表示名 ８桁
			subbean.sendMessageString(DKW01101SFConst.L_MV_SK_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, JDKWebCommon.substr(mvSk, 0, 8));

			if (i % 2 == 1)
			{
				subbean.sendMessageString(DKW01101SFConst.L_COLOR_04, X31CWebConst.DATABEAN_SET_VALUE, "even");
			}
			else
			{
				subbean.sendMessageString(DKW01101SFConst.L_COLOR_04, X31CWebConst.DATABEAN_SET_VALUE, "odd");
			}
			subbean.sendMessageString(DKW01101SFConst.L_NO_04, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i + 1));
		}
		// 一覧表示件数を設定する
		serviceFormBean.sendMessageString(DKW01101SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(shokaiList.getCount()));
	}

	/**
	 * サービス（DKSV0007）の呼び出しを行います。
	 * <br>
	 * @param paramBean パラメータとなるBean情報
	 * @param func_code 機能コード
	 * @return 成否
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean putServiceDKSV0007(X31SDataBeanAccess[] paramBean, String func_code) throws Exception
	{
		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0007");

		// マッピングクラスのインスタンスを生成
		DKSV0007_DKSV0007OPDBMapper mapper = new DKSV0007_DKSV0007OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();
		mapper.setDKSV000701SC(paramBean, dataMap, func_code);

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "DKSV000701SC", dataMap);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap<String, String>();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		((X31SDataBeanAccessArray)paramBean[0].getDataBeanArray(DKW01101SFConst.SHOKAI_LIST)).clearArray();

		mapper.getDKSV000701SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("DKSV000701SC", outputMap);

		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			return true;
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 検索結果が最大検索件数超えの場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String [] {"150"});
			return true;
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// 表示ページに該当するデータがない
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this,  "0", "DKSV000701SC", outputMap);

		// 一覧データに変更があった場合、行番号を再設定する
		String displayPageNum = (String)((HashMap)outputMap.get("DKSV000701SC")).get("display_no");
		if (!JDKCommonUtil.isNull(displayPageNum) && !"0".equals(displayPageNum))
		{
			X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
			serviceFormBean.sendMessageString(DKW01101SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, displayPageNum);
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "L_PAG_LIST");

		return true;
	}

	/**
	 * 画面遷移先を設定します。
	 * <br>
	 * @param nextScreenId 遷移先画面ID
	 * @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);
	}
	
	/**
	 * インデックスを引数にプルダウンからコードを取得します。
	 * @param index インデックス
	 * @param serviceFormBean サービスフォームビーン
	 * @param pullDownList プルダウンリスト情報
	 * @return 取得したい値のが入っているリスト
	 */
	private String getIndexToCodeForDdl(int index, X31SDataBeanAccess serviceFormBean, String pullDownList, String targetList)
	{
		String retCode = null;

		X31SDataBeanAccessArray accessArray = serviceFormBean.getDataBeanArray(pullDownList);
		X31SDataBeanAccess subbean = accessArray.getDataBean(0);
		retCode = subbean.sendMessageString(targetList, X31CWebConst.DATABEAN_GET_VALUE, index);

		return retCode;
	}

	/**
	 * コードを引数にプルダウンからインデックスを取得します。
	 * @param code 状態コード
	 * @param serviceFormBean サービスフォームビーン
	 * @param judgeCd 判定コード（"0"：移動元、"1"：指定方法）
	 * @return 取得したインデックス
	 */
	private int getCodeToIndexForDdl(String code, X31SDataBeanAccess serviceFormBean, String judgeCd)
	{
		int retIndex = 0;

		if ("0".equals(judgeCd))
		{
			// 移動元コードリストを取得
			X31SDataBeanAccessArray mvArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_MV_MT);
			X31SDataBeanAccess mv = mvArray.getDataBean(0);

			for (int i = 0; i < Integer.valueOf(mv.sendMessage(DKW01101SFConst.MV_MT_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
			{
				if (code.equals(mv.sendMessageString(DKW01101SFConst.MV_MT_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i)))
				{
					retIndex = i;
					break;
				}
			}
		}
		else
		{
			// 指定方法コードリストを取得
			X31SDataBeanAccessArray shiteiArray = serviceFormBean.getDataBeanArray(DKW01101SFConst.I_SHITEI_WAY);
			X31SDataBeanAccess shitei = shiteiArray.getDataBean(0);

			for (int i = 0; i < Integer.valueOf(shitei.sendMessage(DKW01101SFConst.SHITEI_WAY_CD_LIST_03, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
			{
				if (code.equals(shitei.sendMessageString(DKW01101SFConst.SHITEI_WAY_CD_LIST_03, X31CWebConst.DATABEAN_GET_VALUE, i)))
				{
					retIndex = i;
					break;
				}
			}
		}
		return retIndex;
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @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 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, "");
	}
}
