/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：物流管理システム
*   ソースファイル名：DKW01302SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年10月05日
*＜機能概要＞
*   棚移動入荷詳細画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/10/05   FJ）        新規作成
*
**********************************************************************/
package eo.web.webview.DKW01302SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.common.constant.JPCOnlineMessageConstant.*;
import static eo.common.util.JDKCommonUtil.join;
import static eo.web.webview.DKW01302SF.DKW01302SFConst.*;
import static eo.web.webview.common.JDKScreenConst.*;
import static eo.web.webview.common.JDKWebCommon.getData;
import static eo.web.webview.common.JDKWebCommon.setData;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

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.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.DKW01405SF.DKW01405SFConst;
import eo.web.webview.DKW01406SF.DKW01406SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKWebCommon;
import eo.web.webview.common.JZMWebConst;
import eo.web.webview.mapping.DKSV0093_DKSV0093OPDBMapper;
import eo.web.webview.mapping.DKSV0105_DKSV0105OPDBMapper;
import eo.web.webview.mapping.DKSV0106_DKSV0106OPDBMapper;

/**
 * DKW01302のビューロジック
 * <BR>
 * @author 富士通
 */
public class DKW01302SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 生成シリアルバージョンID
	 */
	private static final long serialVersionUID = 1L;

	/** 棚移動入荷 */
	private static final String MSG_STOCK = "棚移動入荷処理";
	/** CSV ファイル名（先頭文字）*/
	private static final String CSV_FILE_NAME = "eo_tana4_";
	/** CSV ファイル拡張子 */
	private static final String FILE_CSV = ".csv";
	/** CSV 基本情報部 */
	private static final String RECORD_KIHON = "7G";
	/** CSV 詳細情報部 */
	private static final String RECORD_SHOSAI = "7H";
	/** CSV トレーラ部 */
	private static final String RECORD_TRAILER = "7I";
	/** CSV レコード数カウント用 */
	private int record_count = 0;
	/** VARB（詳細画面用） */
	private static final String L_PAG_DTL = "L_PAG_DTL";
	/** VARB（確認画面用） */
	private static final String L_PAG_FIX = "L_PAG_FIX";
	/** VARB（完了画面用） */
	private static final String L_PAG_FIN = "L_PAG_FIN";

	/**
	 * 初期表示処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 運用日付を設定
		serviceFormBean.sendMessageString(UNYO_YMD, X31CWebConst.DATABEAN_SET_VALUE, 
											JCCWebCommon.getOpeDate(this, null));

		// 一覧表示件数を初期化
		serviceFormBean.sendMessageString(DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// 一覧を初期化
		serviceFormBean.getDataBeanArray(SHOSAI_LIST).clearArray();
		serviceFormBean.getDataBeanArray(UPDATE_LIST).clearArray();

		boolean errFlg = false;
		String screenId = JCCWebCommon.getScreenId(this);
		// 遷移元画面が棚移動指示基本情報詳細または数量指定詳細でない場合
		if (!(SCREEN_ID_DKW01405.equals(screenId) || SCREEN_ID_DKW01406.equals(screenId)))
		{
			// ページング情報を初期化
			JCCWebCommon.clearPageLinkInfo(this, SCREEN_ID_DKW01302);

			// サービスの呼び出しを行う
			if (!putServiceDKSV0105(serviceFormBean, SCREEN_ID_DKW01302, false))
			{
				errFlg = true;
			}
		}
		else
		{
			// 上記以外
			// サービスの呼び出しを行う
			if (!putServiceDKSV0105(serviceFormBean, SCREEN_ID_DKW01302, true))
			{
				errFlg = true;
			}
		}

		// データが無かった場合、一覧画面に強制転送
		if (errFlg)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);

			setNextScreen(SCREEN_ID_DKW01301, JZMWebConst.BLANK);
			setTransferPageId(SCREEN_ID_DKW01301 + JZMWebConst.PJP);
			JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01301, SCREEN_ID_DKW01302);

			return true;
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, L_PAG_DTL);

		// 行番号を設定
		String rowNo = 
			serviceFormBean.sendMessageString(ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (JDKCommonUtil.isNull(rowNo))
		{
			serviceFormBean.sendMessageString(ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// 画面の表示設定を行う
		setGamen(serviceFormBean);

		// 遷移先画面IDの設定
		setNextScreen(SCREEN_ID_DKW01302, SCREEN_NAME_DKW01302);

		return true;
	}

	/**
	 * 基本情報表示処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean showBaseInfo() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 画面情報を設定
		HashMap dataMap = new HashMap();
		// 棚移動ロット番号
		dataMap.put(DKW01405SFConst.KEY_SHELF_MV_LOT_NO, 
					serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01405, dataMap);

		X31SWebLog.DEBUG_LOG.debug("引き継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(dataMap);

		// 戻る際に必要な情報を設定
		HashMap returnMap = new HashMap();
		// 棚移動ロット番号
		returnMap.put(KEY_SHELF_MOVE_LOT_NO, 
						serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 棚移動ロット番号（表示用）
		returnMap.put(DISP_SHELF_MOVE_LOT_NO, 
						serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 行番号
		String rowNo = serviceFormBean.sendMessageString(ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
		returnMap.put(ROW_NO, rowNo);
		// ページングキー
		int intRowNo = 0;
		if (!JDKCommonUtil.isNull(rowNo))
		{
			intRowNo = Integer.parseInt(rowNo);
		}
		X31SDataBeanAccessArray shosaiList = serviceFormBean.getDataBeanArray(SHOSAI_LIST);
		X31SDataBeanAccess subbean = shosaiList.getDataBean(intRowNo);
		returnMap.put(PAGING_KEY, subbean.sendMessageString(L_YBKIKI_HAISO_NO_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01302, returnMap);
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01405, SCREEN_ID_DKW01302);

		// 画面遷移処理
		setNextScreen(SCREEN_ID_DKW01405, SCREEN_NAME_DKW01405);

		return true;
	}

	/**
	 * 数量詳細情報表示処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean showCountDetail() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 画面情報を設定
		HashMap dataMap = new HashMap();

		// 予備機器配送番号
		String rowNo = serviceFormBean.sendMessageString(ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
		int intRowNo = 0;
		if (!JDKCommonUtil.isNull(rowNo))
		{
			intRowNo = Integer.parseInt(rowNo);
		}
		X31SDataBeanAccessArray shosaiList = serviceFormBean.getDataBeanArray(SHOSAI_LIST);
		X31SDataBeanAccess subbean = shosaiList.getDataBean(intRowNo);
		dataMap.put(DKW01406SFConst.KEY_SHELF_MV_NO, 
					subbean.sendMessageString(L_YBKIKI_HAISO_NO_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 棚移動種別区分（予備機器配送）
		dataMap.put(DKW01406SFConst.MV_SBT, "2");

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01406, dataMap);

		X31SWebLog.DEBUG_LOG.debug("引き継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(dataMap);

		// 戻る際に必要な情報を設定
		HashMap returnMap = new HashMap();
		// 棚移動ロット番号
		returnMap.put(KEY_SHELF_MOVE_LOT_NO, 
						serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 棚移動ロット番号（表示用）
		returnMap.put(DISP_SHELF_MOVE_LOT_NO, 
						serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 行番号
		returnMap.put(ROW_NO, rowNo);
		// ページングキー
		returnMap.put(PAGING_KEY, subbean.sendMessageString(L_YBKIKI_HAISO_NO_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, SCREEN_ID_DKW01302, returnMap);
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01406, SCREEN_ID_DKW01302);

		// 画面遷移処理
		setNextScreen(SCREEN_ID_DKW01406, SCREEN_NAME_DKW01406);

		return true;
	}

	/**
	 * 移動結果CSV出力処理を行います。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean outputCsv() throws Exception
	{
		record_count = 0;
		String fileData = "";
		String lotNo = "";
		StringBuffer fileName = new StringBuffer();

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 棚移動ロット番号を取得
		lotNo = serviceFormBean.sendMessageString(KEY_SHELF_MOVE_LOT_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// サービスの呼び出しを行う
		putServiceDKSV0093(serviceFormBean);

		// ファイル名の作成を行う eo_tana4_TXXXXXXXXX_yyyyMMddhhmmss.csv
		fileName.append(CSV_FILE_NAME);
		fileName.append(lotNo);
		fileName.append("_");
		fileName.append(JCCWebCommon.getSysDateTime());
		fileName.append(FILE_CSV);
		fileData = buildFile(lotNo);

		fileData = join(JDKStrConst.LINE_SEPARATOR,
						fileData,
						buildTrailerRecord());

		// ダウンロード
		JCCWebCommon.setTempDownloadFile(this, fileData.getBytes(JDKStrConst.CHAR_SET_WIN31J), fileName.toString());
		getServiceFormBean().getDataBeanArray(CSV_LIST).clearArray();

		return true;
	}

	/**
	 * ページング（詳細画面）を処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingDtl() throws Exception
	{
		pagingCommon(SCREEN_ID_DKW01302, SCREEN_NAME_DKW01302, L_PAG_DTL, false);

		// 行番号を初期化
		super.getServiceFormBean().sendMessageString(ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");

		return true;
	}

	/**
	 * ページング（確認画面）を処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingFix() throws Exception
	{
		if (!pagingCommon(SCREEN_ID_DKW01303, SCREEN_NAME_DKW01303, L_PAG_FIX, false))
		{
			return true;
		}

		// 確認メッセージ表示
		JCCWebCommon.setMessageInfo(this, EKB0370__I, new String [] {MSG_STOCK});

		return true;
	}

	/**
	 * ページング（完了画面）を処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingFin() throws Exception
	{
		if (!pagingCommon(SCREEN_ID_DKW01304, SCREEN_NAME_DKW01304, L_PAG_FIN, false))
		{
			return true;
		}

		// 完了メッセージ表示
		JCCWebCommon.setMessageInfo(this, EKB0380__I, new String [] {MSG_STOCK});

		return true;
	}

	/**
	 * 登録確認処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean confirmCreate() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// ページングキーを設定
		X31SDataBeanAccessArray shosaiList = serviceFormBean.getDataBeanArray(SHOSAI_LIST);
		int idx = Integer.parseInt(JDKWebCommon.getData(serviceFormBean, ROW_NO));
		X31SDataBeanAccess subbean = shosaiList.getDataBean(idx);
		serviceFormBean.sendMessageString(PAGING_KEY, X31CWebConst.DATABEAN_SET_VALUE, 
											subbean.sendMessageString(L_YBKIKI_HAISO_NO_01, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面の表示設定を行う ※エラー時チェックボックスのチェックが外れないように
		setGamen(serviceFormBean);

		// 完了サービスの呼び出しを行う（チェックモード）
		if (!putServiceDKSV0106(serviceFormBean, JPCModelConstant.FUNC_CD_2))
		{
			return true;
		}

		// 一覧表示件数を初期化
		serviceFormBean.sendMessageString(DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ページング情報を初期化
		JCCWebCommon.clearPageLinkInfo(this, SCREEN_ID_DKW01303);
		// 一覧を初期化
		serviceFormBean.getDataBeanArray(SHOSAI_LIST).clearArray();
		serviceFormBean.getDataBeanArray(UPDATE_LIST).clearArray();

		// サービスの呼び出しを行う
		if (!putServiceDKSV0105(serviceFormBean, SCREEN_ID_DKW01303, false))
		{
			// データが無かった場合、一覧画面に強制転送
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);

			setNextScreen(SCREEN_ID_DKW01301, JZMWebConst.BLANK);
			setTransferPageId(SCREEN_ID_DKW01301 + JZMWebConst.PJP);
			JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01301, SCREEN_ID_DKW01302);

			return true;
		}

		// 画面の表示設定を行う
		setGamen(serviceFormBean);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, L_PAG_FIX, SCREEN_ID_DKW01303);

		setNextScreen(SCREEN_ID_DKW01303, SCREEN_NAME_DKW01303);

		// 確認メッセージ表示
		JCCWebCommon.setMessageInfo(this, EKB0370__I, new String [] {MSG_STOCK});

		return true;
	}

	/**
	 * 確定処理を行います。
	 * <br>
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean fix() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 画面の表示設定を行う ※エラー時チェックボックスのチェックが外れないように
		setGamen(serviceFormBean);

		// 完了サービスの呼び出しを行う（チェック＆更新モード）
		if (!putServiceDKSV0106(serviceFormBean, JPCModelConstant.FUNC_CD_1))
		{
			return true;
		}

		// 一覧表示件数を初期化
		serviceFormBean.sendMessageString(DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ページング情報を初期化
		JCCWebCommon.clearPageLinkInfo(this, SCREEN_ID_DKW01304);
		// 一覧を初期化
		serviceFormBean.getDataBeanArray(SHOSAI_LIST).clearArray();
		serviceFormBean.getDataBeanArray(UPDATE_LIST).clearArray();

		// サービスの呼び出しを行う
		if (!putServiceDKSV0105(serviceFormBean, SCREEN_ID_DKW01304, false))
		{
			// データが無かった場合、一覧画面に強制転送
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);

			setNextScreen(SCREEN_ID_DKW01301, JZMWebConst.BLANK);
			setTransferPageId(SCREEN_ID_DKW01301 + JZMWebConst.PJP);
			JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01301, SCREEN_ID_DKW01303);

			return true;
		}

		// 画面の表示設定を行う
		setGamen(serviceFormBean);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, L_PAG_FIN, SCREEN_ID_DKW01304);

		setNextScreen(SCREEN_ID_DKW01304, SCREEN_NAME_DKW01304);

		// 完了メッセージ表示
		JCCWebCommon.setMessageInfo(this, EKB0380__I, new String [] {MSG_STOCK});

		return true;
	}

	/**
	 * 戻るボタン（詳細画面）押下処理
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean returnList() throws Exception
	{
		// 画面遷移処理
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01301, SCREEN_ID_DKW01302);
		setNextScreen(SCREEN_ID_DKW01301, SCREEN_NAME_DKW01301);

		return true;
	}

	/**
	 * 戻るボタン（確認画面）押下処理
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean returnDetail() throws Exception
	{
		// ページング（詳細画面）
		pagingCommon(SCREEN_ID_DKW01302, SCREEN_NAME_DKW01302, L_PAG_DTL, true);

		// 画面遷移処理
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01302, SCREEN_ID_DKW01303);

		return true;
	}

	/**
	 * 完了ボタン（完了画面）押下処理
	 * @return 処理の成否
	 * @throws Exception
	 */
	public boolean complete() throws Exception
	{
		// 詳細画面初期処理
		init();

		// 画面遷移処理
		JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01302, SCREEN_ID_DKW01304);

		return true;
	}

	/**
	 * ページング処理
	 * <br>
	 * @param screenId 画面ID
	 * @param screenNm 画面名
	 * @param varb VARB
	 * @param transBack 確認画面戻るボタン押下による遷移:true 以外:false
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingCommon(String screenId, String screenNm, String varb, boolean transBack) throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 初期化
		if (!transBack)
		{
			serviceFormBean.sendMessage(PAGING_KEY, X31CWebConst.DATABEAN_CLEAR);
		}
		serviceFormBean.getDataBeanArray(SHOSAI_LIST).clearArray();

		// サービスの呼び出しを行う
		if (!putServiceDKSV0105(serviceFormBean, screenId, transBack))
		{
			// データが無かった場合、一覧画面に強制転送
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0320_KW);

			setNextScreen(SCREEN_ID_DKW01301, JZMWebConst.BLANK);
			setTransferPageId(SCREEN_ID_DKW01301 + JZMWebConst.PJP);
			JCCWebCommon.setScreenId(this, SCREEN_ID_DKW01301, SCREEN_ID_DKW01302);

			return false;
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, varb, screenId);

		// 画面の表示設定を行う
		setGamen(serviceFormBean);

		// 遷移先画面IDの設定
		setNextScreen(screenId, screenNm);

		return true;
	}

	/**
	 * サービス（DKSV0105）の呼び出しを行います。
	 * <br>
	 * @param sFormBean サービスフォームビーン
	 * @param screenId 画面ID
	 * @param transBack 確認画面戻るボタン押下による遷移:true 以外:false
	 * @return 成否
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean putServiceDKSV0105(X31SDataBeanAccess sFormBean, String screenId, boolean transBack) throws Exception
	{
		X31SDataBeanAccess[] paramBean = {sFormBean};

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0105");

		// マッピングクラスのインスタンスを生成
		DKSV0105_DKSV0105OPDBMapper mapper = new DKSV0105_DKSV0105OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();

		// 棚移動基本情報 ※機能コード１固定
		mapper.setDKSV010501SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		// 棚移動入荷詳細情報 ※機能コード１固定
		mapper.setDKSV010502SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		// 棚移動入荷詳細情報（全件） ※機能コード２固定
		mapper.setDKSV010503SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_2);

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "DKSV010502SC", dataMap, screenId);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		// データ未取得時
		HashMap<String, Object> map = (HashMap<String, Object>)outputMap.get("DKSV010501SC");
		int cnt = ((ArrayList)map.get("EDK0111B028CBSMsg1List")).size();
		if (0 == cnt)
		{
			return false;
		}

		mapper.getDKSV010501SC(paramBean, outputMap);
		mapper.getDKSV010502SC(paramBean, outputMap);
		mapper.getDKSV010503SC(paramBean, outputMap);

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "DKSV010502SC", outputMap, screenId);

		// 確認画面より遷移時、一覧データに変更があった場合、行番号を再設定する
		if (transBack)
		{
			String displayNo = (String)((HashMap)outputMap.get("DKSV010502SC")).get("display_no");
			if (!JDKCommonUtil.isNull(displayNo))
			{
				X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
				serviceFormBean.sendMessageString(ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, displayNo);

				// データが存在しない場合、ページング情報をクリアしてからページ情報再設定
				String displayPageNum = (String)((HashMap)outputMap.get("DKSV010502SC")).get("display_page_num");
				if ((!JDKCommonUtil.isNull(displayPageNum) && "1".equals(displayPageNum)) && 
						"0".equals(displayNo))
				{
					JCCWebCommon.clearPageLinkInfo(this, screenId);
					JCCWebCommon.upmapperPageLinkInfo(this, "DKSV010502SC", dataMap, screenId);
					JCCWebCommon.downmapperPageLinkInfo(this, "DKSV010502SC", outputMap, screenId);
				}
			}
		}

		return true;
	}

	/**
	 * サービス（DKSV0106）の呼び出しを行います。
	 * <br>
	 * @param sFormBean サービスフォームビーン
	 * @param func_code 機能コード
	 * @return 成否
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean putServiceDKSV0106(X31SDataBeanAccess sFormBean, String func_code) throws Exception
	{
		X31SDataBeanAccess[] paramBean = {sFormBean};

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0106");

		// マッピングクラスのインスタンスを生成
		DKSV0106_DKSV0106OPDBMapper mapper = new DKSV0106_DKSV0106OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();

		// 予備機器配送配達完了
		mapper.setDKSV010601SC(paramBean, dataMap, func_code);
		// 予備機器配送結果コード 固定値：1（OK）
		setData(this, "1", YBKIKI_HAISO_RSLT_CD);
		// 予備機器配送結果メモ 固定値：ブランク
		setData(this, "", YBKIKI_HAISO_RSLT_MEMO);
		// 予備機器配送完了
		mapper.setDKSV010602SC(paramBean, dataMap, func_code);

		// 結果格納用マップ
		Map outputMap = new HashMap();

		// 処理呼出
		invokeService(paramMap, dataMap, outputMap);

		return true;
	}

	/**
	 * サービス（DKSV0093）の呼び出しを行います。
	 * <br>
	 * @param sFormBean サービスフォームビーン
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	private void putServiceDKSV0093(X31SDataBeanAccess sFormBean) throws Exception
	{
		X31SDataBeanAccess[] paramBean = {sFormBean};

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0093");

		// マッピングクラスのインスタンスを生成
		DKSV0093_DKSV0093OPDBMapper mapper = new DKSV0093_DKSV0093OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();

		// 棚移動結果情報 ※機能コード１固定
		mapper.setDKSV009301SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 検索結果格納用マップ
		HashMap<String, String> outputMap = new HashMap<String, String>();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		mapper.getDKSV009301SC(paramBean, outputMap);
	}

	/**
	 * 画面の表示設定を行います。
	 * <br>
	 * @param serviceFormBean 設定する画面のServiceFormBean
	 * @throws UnsupportedEncodingException 例外
	 */
	private void setGamen(X31SDataBeanAccess serviceFormBean) throws UnsupportedEncodingException
	{
		// 基本情報部の設定
		X31SDataBeanAccess[] paramBean = {serviceFormBean};
		X31SDataBeanAccessArray kihonList =  paramBean[0].getDataBeanArray(KIHON_LIST);
		X31SDataBeanAccess sbean = kihonList.getDataBean(0);

		// 移動元
		String mtNm = "";
		String mtSokoNm = sbean.sendMessageString(MV_MT_SOKO_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		String mtKojiNm = sbean.sendMessageString(MV_MT_KOJI_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		String mtOfcNm  = sbean.sendMessageString(MV_MT_OFFICE_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		if (!JDKCommonUtil.isNull(mtSokoNm))
		{
			mtNm = mtSokoNm;
		}
		else if (!JDKCommonUtil.isNull(mtKojiNm))
		{
			mtNm = mtKojiNm;
		}
		else if (!JDKCommonUtil.isNull(mtOfcNm))
		{
			mtNm = mtOfcNm;
		}
		sbean.sendMessageString(MV_MT_NM_02, X31CWebConst.DATABEAN_SET_VALUE, mtNm);

		// 移動先
		String skNm = "";
		String skSokoNm = sbean.sendMessageString(MV_SK_SOKO_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		String skKojiNm = sbean.sendMessageString(MV_SK_KOJI_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		String skOfcNm  = sbean.sendMessageString(MV_SK_OFFICE_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
		if (!JDKCommonUtil.isNull(skSokoNm))
		{
			skNm = skSokoNm;
		}
		else if (!JDKCommonUtil.isNull(skKojiNm))
		{
			skNm = skKojiNm;
		}
		else if (!JDKCommonUtil.isNull(skOfcNm))
		{
			skNm = skOfcNm;
		}
		sbean.sendMessageString(MV_SK_NM_02, X31CWebConst.DATABEAN_SET_VALUE, skNm);

		// 名細部の設定
		setList(paramBean[0], serviceFormBean);

		// 登録確認、数量詳細ボタンの活性・非活性設定
		String stat = sbean.sendMessageString(MV_STAT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		String stiWay = sbean.sendMessageString(SHITEI_WAY_CD_02, X31CWebConst.DATABEAN_GET_VALUE);

		// 登録確認ボタン非活性設定 ※初期設定はfalse
		if ((!JDKCommonUtil.isNull(stat)) && "005".equals(stat))
		{
			// 状態が完了済の場合
			serviceFormBean.sendMessageBoolean(B_CNFRM_CREATE_DSBL_FLG, 
												X31CWebConst.DATABEAN_SET_VALUE, true);
		}

		// 数量詳細ボタン非活性設定 ※初期設定はfalse
		if ((!JDKCommonUtil.isNull(stiWay)) && "2".equals(stiWay))
		{
			// 指定方法が製番指定の場合
			serviceFormBean.sendMessageBoolean(B_CNT_DTL_DSBL_FLG, 
												X31CWebConst.DATABEAN_SET_VALUE, true);
		}
	}

	/**
	 * リストの表示設定を行います。
	 * <br>
	 * @param paramBean 設定する一覧のBean情報
	 * @param serviceFormBean 設定する画面のServiceFormBean
	 * @throws UnsupportedEncodingException 例外
	 */
	private void setList(X31SDataBeanAccess paramBean, X31SDataBeanAccess serviceFormBean) throws UnsupportedEncodingException
	{
		X31SDataBeanAccessArray shosaiList = paramBean.getDataBeanArray(SHOSAI_LIST);

		for (int i = 0; i < shosaiList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = shosaiList.getDataBean(i);
			// 背景色の設定
			if (i % 2 == 1)
			{
				subbean.sendMessageString(L_COLOR_01, X31CWebConst.DATABEAN_SET_VALUE, "even");
			}
			else
			{
				subbean.sendMessageString(L_COLOR_01, X31CWebConst.DATABEAN_SET_VALUE, "odd");
			}

			// 項番の設定
			subbean.sendMessageString(L_NO_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i + 1));

			// 型番号、商品名の設定
			String mdlNo = "";
			String shohinNm = "";
			String takunaiCd = subbean.sendMessageString(L_TKKIKI_MDL_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			String setCd     = subbean.sendMessageString(L_TKKIKI_SETHIN_MDL_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			String huzokuCd  = subbean.sendMessageString(L_HUZOKUHIN_MDL_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JDKCommonUtil.isNull(takunaiCd))
			{
				mdlNo = takunaiCd;
				shohinNm = subbean.sendMessageString(L_TKKIKI_MDL_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(setCd))
			{
				mdlNo = setCd;
				shohinNm = subbean.sendMessageString(L_TKKIKI_SETHIN_MDL_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else if (!JDKCommonUtil.isNull(huzokuCd))
			{
				mdlNo = huzokuCd;
				shohinNm = subbean.sendMessageString(L_HUZOKUHIN_MDL_NM_01, X31CWebConst.DATABEAN_GET_VALUE);
			}
			subbean.sendMessageString(L_MDL_NO_01, X31CWebConst.DATABEAN_SET_VALUE, mdlNo);

			// 商品名 20桁
			subbean.sendMessageString(L_SHOHIN_NM_01, X31CWebConst.DATABEAN_SET_VALUE, 
										JDKWebCommon.substr(shohinNm, 0, 20));
			subbean.sendMessageString(L_SHOHIN_NM_DISP_01, 
										X31CWebConst.DATABEAN_SET_VALUE, shohinNm);

			// 製造番号、移動理由、指示数、移動対象、移動数、備考
			String shiteiCd = subbean.sendMessageString(L_SHITEI_WAY_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			String seizoNo = "";
			String riyu = "";
			String sjiCnt = "";
			String mvCnt = "";
			String biko = "";

			// 製番指定の場合
			if (!JDKCommonUtil.isNull(shiteiCd) && "2".equals(shiteiCd))
			{
				String kikiSeizoNm = subbean.sendMessageString(L_KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
				String setSeizoNm = subbean.sendMessageString(L_TKKIKI_SETHIN_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 存在する名称を設定する
				if (!JDKCommonUtil.isNull(kikiSeizoNm))
				{
					seizoNo = kikiSeizoNm;
				}
				else if (!JDKCommonUtil.isNull(setSeizoNm))
				{
					seizoNo = setSeizoNm;
				}
				riyu = subbean.sendMessageString(L_ARI_MV_RSN_01, X31CWebConst.DATABEAN_GET_VALUE);
				sjiCnt = "1";
				mvCnt = "1";
				biko = subbean.sendMessageString(L_ARI_BIKO_01, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else
			{
				// 上記以外の場合
				seizoNo = "";
				riyu = subbean.sendMessageString(L_NASI_MV_RSN_01, X31CWebConst.DATABEAN_GET_VALUE);
				sjiCnt = subbean.sendMessageString(L_SJI_CNT_01, X31CWebConst.DATABEAN_GET_VALUE);
				mvCnt = subbean.sendMessageString(L_MV_CNT_01, X31CWebConst.DATABEAN_GET_VALUE);
				// 移動数が空の場合は0を設定する
				if (JDKCommonUtil.isNull(mvCnt))
				{
					mvCnt = "0";
				}
				biko = subbean.sendMessageString(L_NASI_BIKO_01, X31CWebConst.DATABEAN_GET_VALUE);
			}
			subbean.sendMessageString(L_SEIZO_NO_01, X31CWebConst.DATABEAN_SET_VALUE, seizoNo);
			subbean.sendMessageString(L_MV_RSN_01, X31CWebConst.DATABEAN_SET_VALUE, riyu);
			subbean.sendMessageString(L_SJI_CNT_01, X31CWebConst.DATABEAN_SET_VALUE, sjiCnt);

			// 移動対象
			if (sjiCnt.equals(mvCnt))
			{
				// 指示数と移動数が同じ場合はチェック ※初期設定はfalse
				subbean.sendMessageBoolean(L_MV_TARGET_01, X31CWebConst.DATABEAN_SET_VALUE, true);
			}

			subbean.sendMessageString(L_MV_CNT_01, X31CWebConst.DATABEAN_SET_VALUE, mvCnt);

			// 備考 10桁
			subbean.sendMessageString(L_BIKO_01, X31CWebConst.DATABEAN_SET_VALUE, 
										JDKWebCommon.substr(biko, 0, 10));
			subbean.sendMessageString(L_BIKO_DISP_01, 
										X31CWebConst.DATABEAN_SET_VALUE, biko);
		}
		// 一覧表示件数を設定する
		serviceFormBean.sendMessageString(DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, 
											String.valueOf(shosaiList.getCount()));
	}

	/**
	 * 棚移動結果データファイルを生成します。
	 * @param lotNo 棚移動ロット番号
	 * @return 棚移動結果データファイル
	 */
	private String buildFile(String lotNo)
	{
		X31SDataBeanAccessArray datas = getServiceFormBean().getDataBeanArray(CSV_LIST);

		// 指定方法を取得
		String shiteicd = "";
		if (0 < datas.getCount())
		{
			shiteicd = getData(datas.getDataBean(0), SHITEI_WAY_04);
		}

		StringBuffer bodyRecords = new StringBuffer();
		String mvNo = "";
		for (int i = 0; i < datas.getCount(); i++)
		{
			// 初回
			if (i == 0)
			{
				mvNo = getData(datas.getDataBean(i), MOVE_NO_04);
			}

			if (bodyRecords.length() > 0)
			{
				bodyRecords.append(JDKStrConst.LINE_SEPARATOR);
			}

			// 製番指定の場合ヘッダ部を毎回付与
			if ("2".equals(shiteicd))
			{
				bodyRecords.append(buildHeaderRecord(lotNo, i));
				bodyRecords.append(JDKStrConst.LINE_SEPARATOR);
			}
			else
			{
				// 数量指定の場合
				// 初回の場合
				if (0 == i)
				{
					bodyRecords.append(buildHeaderRecord(lotNo, i));
					bodyRecords.append(JDKStrConst.LINE_SEPARATOR);
				}
				// 予備機器配送番号が同じでない場合ヘッダ部を付与
				if (i + 1 <= datas.getCount())
				{
					if (!mvNo.equals(getData(datas.getDataBean(i), MOVE_NO_04)))
					{
						bodyRecords.append(buildHeaderRecord(lotNo, i));
						bodyRecords.append(JDKStrConst.LINE_SEPARATOR);
					}
				}
				// 最終行は前行と予備機器配送番号が異なる場合ヘッダ部を付与
				if (1 <= i && i + 1 == datas.getCount())
				{
					if (!mvNo.equals(getData(datas.getDataBean(i - 1), MOVE_NO_04)))
					{
						bodyRecords.append(buildHeaderRecord(lotNo, i));
						bodyRecords.append(JDKStrConst.LINE_SEPARATOR);
					}
				}

				// 予備機器配送番号が異なる場合
				if (!mvNo.equals(getData(datas.getDataBean(i), MOVE_NO_04)))
				{
					mvNo = getData(datas.getDataBean(i), MOVE_NO_04);
				}

			}
			bodyRecords.append(buildDataRecord(datas.getDataBean(i), lotNo));
			record_count++;
		}

		String file = bodyRecords.toString();
		DEBUG_LOG.debug(String.format("ファイル内容：%s", file));

		return file;
	}

	/**
	 * 出力ファイルのヘッダ部を生成します。
	 * @param lotNo 棚移動ロット番号
	 * @param rowNo データ行番号
	 * @return ヘッダレコード
	 */
	private String buildHeaderRecord(String lotNo, int rowNo)
	{
		X31SDataBeanAccessArray datas = getServiceFormBean().getDataBeanArray(CSV_LIST);
		X31SDataBeanAccess resultData = datas.getDataBean(rowNo);

		// 移動元コード
		String sokoMtCd = getData(resultData, MV_MT_SOKO_CD_04);	// 移動元倉庫コード
		String kojiMtCd = getData(resultData, MV_MT_KOJI_CD_04);	// 移動元工事会社コード
		String ofcMtCd = getData(resultData, MV_MT_OFFICE_CD_04);	// 移動元預託先オフィスコード
		String mtCd = "";
		// 倉庫の場合
		if (!JDKCommonUtil.isNull(sokoMtCd))
		{
			mtCd = sokoMtCd;
		}
		// 工事会社の場合
		else if (!JDKCommonUtil.isNull(kojiMtCd))
		{
			mtCd = kojiMtCd;
		}
		// 預託先オフィスの場合
		else if (!JDKCommonUtil.isNull(ofcMtCd))
		{
			mtCd = ofcMtCd;
		}

		// 型番号
		String nmlMdlNo = getData(resultData, TKKIKI_MDL_CD_04);		// 宅内機器型式コード
		String setMdlNo = getData(resultData, TKKIKI_SETHIN_MDL_CD_04);	// 宅内機器セット品型コード
		String fzkMdlNo = getData(resultData, HUZOKUHIN_MDL_CD_04);		// 付属品型式コード
		String mdlNo = "";
		// 宅内機器の場合
		if (!JDKCommonUtil.isNull(nmlMdlNo))
		{
			mdlNo = nmlMdlNo;
		}
		// セット品の場合
		else if (!JDKCommonUtil.isNull(setMdlNo))
		{
			mdlNo = setMdlNo;
		}
		// 付属品の場合
		else if (!JDKCommonUtil.isNull(fzkMdlNo))
		{
			mdlNo = fzkMdlNo;
		}

		// 製造番号、指示数、移動数
		String seizoNo = "";
		String sjiNo = "";
		String idoNo = "";
		String shiteiCd = getData(resultData, SHITEI_WAY_04);
		// 製番指定の場合
		if (!JDKCommonUtil.isNull(shiteiCd) && "2".equals(shiteiCd))
		{
			String nmlSeizoNo = getData(resultData, KIKI_SEIZO_NO_04);
			String setSeizoNo = getData(resultData, TKKIKI_SETHIN_SEIZO_NO_04);
			if (!JDKCommonUtil.isNull(nmlSeizoNo))
			{
				seizoNo = nmlSeizoNo;
			}
			else if (!JDKCommonUtil.isNull(setSeizoNo))
			{
				seizoNo = setSeizoNo;
			}
			sjiNo = "1";
			idoNo = "1";
		}
		// 数量指定の場合
		else
		{
			seizoNo = "";
			sjiNo = getData(resultData, SJI_CNT_04);

			// 移動数計算（予備機器配送番号が同じ機器の件数）
			int idoCnt = 0;
			String mvNo = getData(resultData, MOVE_NO_04);
			for (int i = 0; i < datas.getCount(); i++)
			{
				X31SDataBeanAccess data = datas.getDataBean(i);
				
				if (mvNo.equals(getData(data, MOVE_NO_04)))
				{
					idoCnt += 1;
				}
			}
			idoNo = Integer.toString(idoCnt);
		}

		record_count++;

		// 移動先コード
		String sokoSkCd = getData(resultData, MV_SK_SOKO_CD_04);
		String kojiSkCd = getData(resultData, MV_SK_KOJI_CD_04);
		String ofcSkCd = getData(resultData, MV_SK_OFFICE_CD_04);
		String skCd = "";
		if (!JDKCommonUtil.isNull(sokoSkCd))
		{
			skCd = sokoSkCd;
		}
		else if (!JDKCommonUtil.isNull(kojiSkCd))
		{
			skCd = kojiSkCd;
		}
		else if (!JDKCommonUtil.isNull(ofcSkCd))
		{
			skCd = ofcSkCd;
		}

		return join(JDKStrConst.COMMA, 
				dqot(RECORD_KIHON), 
				dqot(getData(resultData, SJI_YMD_04)), 
				dqot(lotNo), 
				dqot(mtCd), 
				dqot(getData(resultData, MV_MT_SHELF_CD_04)), 
				dqot(mdlNo), 
				dqot(seizoNo), 
				dqot(getData(resultData, GDS_STAT_CD_04)), 
				dqot(sjiNo), 
				dqot(skCd), 
				dqot(getData(resultData, MV_SK_SHELF_CD_04)), 
				dqot(idoNo));
	}

	/**
	 * 出力ファイルのデータ部を生成します。
	 * @param data 行データ
	 * @param lotNo 棚移動ロット番号
	 * @return データレコード
	 */
	private String buildDataRecord(X31SDataBeanAccess data, String lotNo) 
	{
		// 型番号
		String nmlMdlNo = getData(data, TKKIKI_MDL_CD_04);			// 宅内機器型式コード
		String setMdlNo = getData(data, TKKIKI_SETHIN_MDL_CD_04);	// 宅内機器セット品型コード
		String fzkMdlNo = getData(data, HUZOKUHIN_MDL_CD_04);		// 付属品型式コード
		String mdlNo = "";
		// 宅内機器の場合
		if (!JDKCommonUtil.isNull(nmlMdlNo))
		{
			mdlNo = nmlMdlNo;
		}
		// セット品の場合
		else if (!JDKCommonUtil.isNull(setMdlNo))
		{
			mdlNo = setMdlNo;
		}
		// 付属品の場合
		else if (!JDKCommonUtil.isNull(fzkMdlNo))
		{
			mdlNo = fzkMdlNo;
		}

		// 製造番号
		String seizoNo = "";
		String nmlSeizoNo = getData(data, KIKI_SEIZO_NO_04);
		String setSeizoNo = getData(data, TKKIKI_SETHIN_SEIZO_NO_04);
		if (!JDKCommonUtil.isNull(nmlSeizoNo))
		{
			seizoNo = nmlSeizoNo;
		}
		else if (!JDKCommonUtil.isNull(setSeizoNo))
		{
			seizoNo = setSeizoNo;
		}

		// 移動数
		String idoNo = "1";

		return join(JDKStrConst.COMMA, 
				dqot(RECORD_SHOSAI), 
				dqot(getData(data, SJI_YMD_04)), 
				dqot(lotNo), 
				dqot(mdlNo), 
				dqot(seizoNo), 
				dqot(getData(data, GDS_STAT_CD_04)), 
				dqot(idoNo));
	}

	/**
	 * 出力ファイルのトレーラ部を生成します。
	 * @return トレーラレコード
	 */
	private String buildTrailerRecord() 
	{
		record_count++;
		String strCnt = Integer.toString(record_count);
		return join(JDKStrConst.COMMA, 
				dqot(RECORD_TRAILER), 
				dqot(strCnt));
	}

	/**
	 * 文字列をダブルクォーテッドする
	 * @param src 囲まれる文字列
	 * @return \"囲まれる文字列\"
	 */
	private String dqot(String src)
	{
		return String.format("\"%s\"", src);
	}

	/**
	 * 画面遷移先を設定します。
	 * @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("遷移先 CD：%s NM：%s", nextScreenId, nextScreenName));
	}
}
