/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：物流管理システム
*   ソースファイル名：DKW00501SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年09月29日
*＜機能概要＞
*   棚移動指示基本設定を処理するロジッククラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/09/29   FJ）福西    新規作成
*   v3.00.00    2012/02/22   FJ）松下    工事会社確定ボタン押下処理を追加(ANK-0080-00-00)
*   v5.00.00    2013/11/13   FJ）山口    場所コード棚コードチェック追加(OM-2013-0004282)
*   v5.00.00    2013/11/16   FJ）鄭    エラーメッセージ（EKB0790-KW）の引数内容修正(OM-2013-0004453)
**********************************************************************/
package eo.web.webview.DKW00501SF;

import static eo.web.webview.common.JDKWebCommon.appendPrefix;
import static eo.web.webview.common.JDKWebCommon.getBean;
import static eo.web.webview.common.JDKWebCommon.getData;
import static eo.web.webview.common.JDKWebCommon.setData;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JDKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JZMStrConst;
import eo.common.util.JCCFrameworkException;
import eo.common.util.JDKCommonUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.DKW00508SF.DKW00508SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKScreenConst;
import eo.web.webview.common.JDKWebCommon;
import eo.web.webview.common.JZMScreenConst;
import eo.web.webview.mapping.DKSV0002_DKSV0002OPDBMapper;
import eo.web.webview.mapping.DKSV0003_DKSV0003OP_05DBMapper;
import eo.web.webview.mapping.DKSV0009_DKSV0009OPDBMapper;
import eo.web.webview.mapping.DKSV0034_DKSV0034OPDBMapper;
import eo.web.webview.mapping.DKSV0043_DKSV0043OPDBMapper;
import eo.web.webview.mapping.DKSV0111_DKSV0111OP_01DBMapper;
import eo.web.webview.mapping.DKSV0120_DKSV0120OPDBMapper;
import static eo.web.webview.DKW00501SF.DKW00501SFConst.*;
import static eo.common.constant.JPCOnlineMessageConstant.*;

/**
 * 棚移動指示基本設定を処理するロジッククラスです。
 * @author 富士通
 */
public class DKW00501SFLogic extends JCCWebBusinessLogic
{
	/** シリアル番号 */
	private static final long serialVersionUID = 1L;

	/**
	 * 初期化処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean init() throws JCCFrameworkException, Exception 
	{

		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 運用日付を取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);

		// ************************************************************************
		//  サービスフォームビーンに値を設定
		// ************************************************************************

		// 運用日付を設定
		serviceFormBean.sendMessageString(DKW00501SFConst.OPE_DATE, X31CWebConst.DATABEAN_SET_VALUE, opeDate);

		// 押下状態をなし（未押下）に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		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_05DBMapper mapper = new DKSV0003_DKSV0003OP_05DBMapper();
		mapper.setDKSV000301SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);		// 建物情報
		mapper.setDKSV000302SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);		// 棚情報
		mapper.setDKSV000303SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);		// 商品状態情報
		mapper.setDKSV000304SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);		// 移動理由情報
		mapper.setDKSV000305SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);		// 指定方法情報

		// サービス呼出
		invokeService(paramMap, inputMap, outputMap);

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV000301SC(paramBean, outputMap);	// 建物情報
		mapper.getDKSV000302SC(paramBean, outputMap);	// 棚情報
		mapper.getDKSV000303SC(paramBean, outputMap);	// 商品状態情報
		mapper.getDKSV000304SC(paramBean, outputMap);	// 移動理由情報
		mapper.getDKSV000305SC(paramBean, outputMap);	// 指定方法情報

		// プルダウンの要素にインデックスを付与する
		// 建物情報（元、先）
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_MV_TTM,
									DKW00501SFConst.MV_TTM_CD_LIST_01,
									DKW00501SFConst.MV_TTM_NM_LIST_01,
									DKW00501SFConst.MV_TTM_KBN_LIST_01);

		// 棚情報
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_MV_SHELF,
									DKW00501SFConst.MV_SHELF_CD_LIST_02,
									DKW00501SFConst.MV_SHELF_NM_LIST_02);

		// 商品状態情報
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_STAT,
									DKW00501SFConst.STAT_CD_LIST_03,
									DKW00501SFConst.STAT_NM_LIST_03);

		// 移動理由情報
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_MV_RSN,
									DKW00501SFConst.MV_RSN_CD_LIST_05,
									DKW00501SFConst.MV_RSN_NM_LIST_05);

		// 指定方法情報
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_SHITEI_WAY,
									DKW00501SFConst.SHITEI_WAY_CD_LIST_06,
									DKW00501SFConst.SHITEI_WAY_NM_LIST_06);

		// 遷移先画面ＩＤの設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		return true;
	}

	/**
	 * 棚移動指示基本設定の確定処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	@SuppressWarnings("unchecked")
	public boolean fix_kihon() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// ************************************************************************
		//  サービスフォームビーンに値を設定
		// ************************************************************************
		
		// 館内移動か館外移動かの判定。館内の場合、1。館外の場合、2。
		String idoSbtFlg = "";

		String sIndex = "";
		// 移動元建物取得
		X31SDataBeanAccessArray dbaaMvTTm = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_TTM);
		sIndex = dbaaMvTTm.getDataBean(0).sendMessageString(DKW00501SFConst.MV_MT_TTM_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMvTTm = dbaaMvTTm.getDataBean(0);
		String mvMtTtmCd = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvMtTtmNm = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvMtTtmKbn = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_KBN_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 移動元棚取得
		X31SDataBeanAccessArray dbaaMvShelf = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_SHELF);
		sIndex = dbaaMvShelf.getDataBean(0).sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMvShelf = dbaaMvShelf.getDataBean(0);
		String mvMtShelfCd = dbaMvShelf.sendMessageString(DKW00501SFConst.MV_SHELF_CD_LIST_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvMtShelfNm = dbaMvShelf.sendMessageString(DKW00501SFConst.MV_SHELF_NM_LIST_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 建物コード(移動元)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvMtTtmCd);

		// 建物区分(移動元に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN
				, X31CWebConst.DATABEAN_SET_VALUE, mvMtTtmKbn);

		// 建物名称(移動元)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.D_MV_MT
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMtTtmNm));

		// 棚コード(移動元)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvMtShelfCd);

		// 棚名称(移動元)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.D_MV_MT_SHELF
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMtShelfNm));

		// 移動先建物取得
		sIndex = dbaaMvTTm.getDataBean(0).sendMessageString(DKW00501SFConst.MV_SK_TTM_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		String mvSkTtmCd = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvSkTtmNm = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvSkTtmKbn = dbaMvTTm.sendMessageString(DKW00501SFConst.MV_TTM_KBN_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 移動先棚取得
		sIndex = dbaaMvShelf.getDataBean(0).sendMessageString(DKW00501SFConst.MV_SK_SHELF_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		String mvSkShelfCd = dbaMvShelf.sendMessageString(DKW00501SFConst.MV_SHELF_CD_LIST_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvSkShelfNm = dbaMvShelf.sendMessageString(DKW00501SFConst.MV_SHELF_NM_LIST_02, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 建物コード(移動先)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvSkTtmCd);

		// 建物区分(移動先)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_SK_TTM_KBN
				, X31CWebConst.DATABEAN_SET_VALUE, mvSkTtmKbn);

		// 建物名称(移動先)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.D_MV_SK
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvSkTtmNm));

		// 棚コード(移動先)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_SK_SHELF_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvSkShelfCd);

		// 棚名称(移動先)に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.D_MV_SK_SHELF
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvSkShelfNm));

		// 商品状態取得
		X31SDataBeanAccessArray dbaaStat = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_STAT);
		sIndex = dbaaStat.getDataBean(0).sendMessageString(DKW00501SFConst.STAT_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaStat = dbaaStat.getDataBean(0);
		String mvStatCd = dbaStat.sendMessageString(DKW00501SFConst.STAT_CD_LIST_03, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvStatNm = dbaStat.sendMessageString(DKW00501SFConst.STAT_NM_LIST_03, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 商品状態コードに設定
		serviceFormBean.sendMessageString(DKW00501SFConst.STAT_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvStatCd);

		// 商品状態が設定されている場合は名称を取得する
		if (!JDKCommonUtil.isNull(mvStatCd))
		{
			// 商品状態名称に設定
			serviceFormBean.sendMessageString(DKW00501SFConst.D_STAT
					, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvStatNm));
		}
		else
		{
			// 商品状態名称に設定
			serviceFormBean.sendMessageString(DKW00501SFConst.D_STAT
					, X31CWebConst.DATABEAN_SET_VALUE, "");
		}

		// 出荷先名１を設定する
		// 館内移動の場合
		if (!JDKCommonUtil.isNull(mvSkTtmKbn) && !JDKCommonUtil.isNull(mvMtTtmKbn) &&
				!JDKCommonUtil.isNull(mvSkTtmCd) && !JDKCommonUtil.isNull(mvMtTtmCd) &&
				mvSkTtmKbn.equals(mvMtTtmKbn) && mvSkTtmCd.equals(mvMtTtmCd))
		{
			serviceFormBean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1, 
												X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMtTtmNm));
			// 移動種別：館内移動
			idoSbtFlg = "1";
		}
		else
		{
			// 館外移動の場合
			serviceFormBean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1, 
												X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvSkTtmNm));
			// 上位工事会社コードに設定
			serviceFormBean.sendMessageString(DKW00501SFConst.JOI_KOCOMP_CD
					, X31CWebConst.DATABEAN_SET_VALUE, mvSkTtmCd);
			// 移動種別：館外移動
			idoSbtFlg = "2";
		}

		// 遷移先画面ＩＤの設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		// ************************************************************************
		//  単関連チェック
		// ************************************************************************

		// 移動元の棚区分で返品棚以外が選択かつ状態が選択されている場合
		if (!JDKStrConst.HENPIN_TANA.equals(mvMtShelfCd) && !JDKCommonUtil.isNull(mvStatCd))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0770_NW
					, new String[] {"移動元の棚区分で返品棚以外", "状態"},"I_STAT");
			return true;
		}

		// 移動元の棚区分で返品棚が選択かつ状態が選択されていない場合
		if (JDKStrConst.HENPIN_TANA.equals(mvMtShelfCd) && JDKCommonUtil.isNull(mvStatCd))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1010_NW
					, new String[] {"移動元の棚区分で返品棚", "状態"},"I_STAT");
			return true;
		}

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ユースケースＩＤを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0002");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0002_DKSV0002OPDBMapper mapper = new DKSV0002_DKSV0002OPDBMapper();
		// 移動元の建物区分が倉庫の場合
		if(mvMtTtmKbn.equals("1"))
		{
			mapper.setDKSV000201SC(paramBean, inputMap, "2");
		}
		// 移動元の建物区分が工事会社の場合
		else if(mvMtTtmKbn.equals("2"))
		{
			mapper.setDKSV000206SC(paramBean, inputMap, "1");
		}
		// 移動元の建物区分が預託先オフィスの場合
		else if(mvMtTtmKbn.equals("3"))
		{
			mapper.setDKSV000208SC(paramBean, inputMap, "1");
		}
		// 移動先の建物区分が倉庫の場合
		if(mvSkTtmKbn.equals("1"))
		{
			mapper.setDKSV000202SC(paramBean, inputMap, "2");
			mapper.setDKSV000204SC(paramBean, inputMap, "1");
		}
		// 移動先の建物区分が工事会社の場合
		else if(mvSkTtmKbn.equals("2"))
		{
			mapper.setDKSV000207SC(paramBean, inputMap, "1");
			mapper.setDKSV000210SC(paramBean, inputMap, "1");
		}
		// 移動先の建物区分が預託先オフィスの場合
		else if(mvSkTtmKbn.equals("3"))
		{
			mapper.setDKSV000209SC(paramBean, inputMap, "1");
			mapper.setDKSV000211SC(paramBean, inputMap, "1");
		}
		mapper.setDKSV000203SC(paramBean, inputMap, "2");
		
		// 移動先が工事会社で館外移動の場合、二次工事会社一覧照会を呼び出す
		if(mvSkTtmKbn.equals("2") && idoSbtFlg.equals("2"))
		{
			mapper.setDKSV000205SC(paramBean, inputMap, "1");
		}

		// 検索結果格納用マップを生成。
		// サービス呼出 
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV000203SC(paramBean, outputMap);
		
		
		// 移動元の建物区分が倉庫の場合
		if(mvMtTtmKbn.equals("1"))
		{
			mapper.getDKSV000201SC(paramBean, outputMap);
			// 移動元倉庫棚存在チェック
			HashMap<String, Object> map1 = (HashMap<String, Object>)outputMap.get("DKSV000201SC");
			int cnt1 = ((ArrayList)map1.get("EDK0101A010CBSMsg1List")).size();
			if (0 == cnt1)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[] {"移動元の建物", "棚区分"},"I_MV_MT_TTM_NM");
				return true;
			}
			else
			{
			}
		}
		// 移動元の建物区分が工事会社の場合
		else if(mvMtTtmKbn.equals("2"))
		{
			mapper.getDKSV000206SC(paramBean, outputMap);
			// 移動元倉庫棚存在チェック
			HashMap<String, Object> map6 = (HashMap<String, Object>)outputMap.get("DKSV000206SC");
			int cnt6 = ((ArrayList)map6.get("EZM0421A010CBSMsg1List")).size();
			if (0 == cnt6)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[] {"移動元の建物", "棚区分"},"I_MV_MT_TTM_NM");
				return true;
			}
			else
			{
			}
		}
		// 移動元の建物区分が預託先オフィスの場合
		else if(mvMtTtmKbn.equals("3"))
		{
			mapper.getDKSV000208SC(paramBean, outputMap);
			// 移動元倉庫棚存在チェック
			HashMap<String, Object> map8 = (HashMap<String, Object>)outputMap.get("DKSV000208SC");
			int cnt8 = ((ArrayList)map8.get("EZM0431A010CBSMsg1List")).size();
			if (0 == cnt8)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[] {"移動元の建物", "棚区分"},"I_MV_MT_TTM_NM");
				return true;
			}
			else
			{
			}
		}
		// 移動先の建物区分が倉庫の場合
		if(mvSkTtmKbn.equals("1"))
		{
			mapper.getDKSV000202SC(paramBean, outputMap);
			// 移動先倉庫棚存在チェック
			HashMap<String, Object> map2 = (HashMap<String, Object>)outputMap.get("DKSV000202SC");
			int cnt2 = ((ArrayList)map2.get("EDK0101A010CBSMsg1List")).size();
			if (0 == cnt2)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[]{"移動先の建物", "棚区分"},"I_MV_SK_TTM_NM");
				return true;
			}
			else
			{
				mapper.getDKSV000204SC(paramBean, outputMap);
			}
		}
		// 移動先の建物区分が工事会社の場合
		else if(mvSkTtmKbn.equals("2"))
		{
			mapper.getDKSV000207SC(paramBean, outputMap);
			// 移動先倉庫棚存在チェック
			HashMap<String, Object> map7 = (HashMap<String, Object>)outputMap.get("DKSV000207SC");
			int cnt7 = ((ArrayList)map7.get("EZM0421A010CBSMsg1List")).size();
			if (0 == cnt7)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[]{"移動先の建物", "棚区分"},"I_MV_SK_TTM_NM");
				return true;
			}
			else
			{
				mapper.getDKSV000210SC(paramBean, outputMap);
			}
		}
		// 移動先の建物区分が預託先オフィスの場合
		else if(mvSkTtmKbn.equals("3"))
		{
			mapper.getDKSV000209SC(paramBean, outputMap);
			// 移動先倉庫棚存在チェック
			HashMap<String, Object> map9 = (HashMap<String, Object>)outputMap.get("DKSV000209SC");
			int cnt9 = ((ArrayList)map9.get("EZM0431A010CBSMsg1List")).size();
			if (0 == cnt9)
			{
				// 検索結果が0件の場合の処理
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0300_KW
						, new String[]{"移動先の建物", "棚区分"},"I_MV_SK_TTM_NM");
				return true;
			}
			else
			{
				mapper.getDKSV000211SC(paramBean, outputMap);
			}
		}
		
		// 棚連携存在チェック
		HashMap<String, Object> map = (HashMap<String, Object>)outputMap.get("DKSV000203SC");
		int cnt = ((ArrayList)map.get("EDK03111A010CBSMsg1List")).size();
		if (0 == cnt)
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0810_NW
					, new String[]{"移動先の棚区分", "棚移動"},"I_MV_SK_SHELF");
			return true;
		}
		else
		{
		}
		
		// 移動先が工事会社で館外移動の場合、二次工事会社一覧照会の情報を取得
		if(mvSkTtmKbn.equals("2") && idoSbtFlg.equals("2"))
		{
			mapper.getDKSV000205SC(paramBean, outputMap);
		}

		X31SDataBeanAccessArray dbaaShkaSkInfo = serviceFormBean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
		X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);
		String jusyoCd = subbean.sendMessageString(DKW00501SFConst.SHKA_SK_PCD7_18, X31CWebConst.DATABEAN_GET_VALUE);
		// 郵便番号が存在する場合、上３桁・下４桁に分割し、設定する
		if (!JDKCommonUtil.isNull(jusyoCd) && 7 == jusyoCd.getBytes().length)
		{
			String ueCd = jusyoCd.substring(0, 3);
			String sitaCd = jusyoCd.substring(3, 7);

			X31SDataBeanAccessArray dbaaShkaSkPcd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_PCD);
			dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_1_04, X31CWebConst.DATABEAN_SET_VALUE, ueCd);
			dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_2_04, X31CWebConst.DATABEAN_SET_VALUE, sitaCd);
		}
		
		X31SDataBeanAccess bean = getBean(this, DKW00501SFConst.I_SHKA_SK_KOCOMP_CD);
		// 取得した二次工事会社の件数を取得
		int dataCount = (Integer)bean.sendMessage(DKW00501SFConst.KOCOMP_NM_LIST_16, X31CWebConst.DATABEAN_GET_COUNT);
		
		// 二次工事会社が存在かつ移動先建物が工事会社かつ館外移動の場合
		if(dataCount > 0 && mvSkTtmKbn.equals("2") && idoSbtFlg.equals("2"))
		{
			// 工事会社コードと工事会社名を表示するプルダウンリストを作成
			this.pushEmptyToTopOfPulldownAndCode(DKW00501SFConst.I_SHKA_SK_KOCOMP_CD,
					DKW00501SFConst.KOCOMP_CD_LIST_16,
					DKW00501SFConst.KOCOMP_NM_LIST_16);
			// 出荷先工事会社有効フラグを有効に設定
			serviceFormBean.sendMessageString(DKW00501SFConst.SHKA_SK_KOCOMP_YK_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}
		else
		{
			// 出荷先工事会社有効フラグを無効に設定
			serviceFormBean.sendMessageString(DKW00501SFConst.SHKA_SK_KOCOMP_YK_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// 押下状態を押下に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "1");
		
		return true;
	}

	/**
	 * 棚移動指示基本設定の設定処理を行います。
	 * @return 処理実行結果
	 */
	public boolean set_kihon() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// ************************************************************************
		//  サービスフォームビーンに値を設定
		// ************************************************************************

		String sIndex = "";

		// 出荷先情報
		X31SDataBeanAccessArray dbaaShkaSkInfo = serviceFormBean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
		X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);

		// 移動理由取得
		X31SDataBeanAccessArray dbaaMvRsn = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
		String mvMvRsnCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvMvRsnNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_NM_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 移動理由コードに設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_RSN_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);

		// 移動理由名称に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.MV_RSN_NM
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));

		// 指定方法取得
		X31SDataBeanAccessArray dbaaShiteiWay = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHITEI_WAY);
		sIndex = dbaaShiteiWay.getDataBean(0).sendMessageString(DKW00501SFConst.SHITEI_WAY_CD_06, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaShiteiWay = dbaaShiteiWay.getDataBean(0);
		String mvShiteiWayCd = dbaShiteiWay.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD_LIST_06, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvShiteiWayNm = dbaShiteiWay.sendMessageString(DKW00501SFConst.SHITEI_WAY_NM_LIST_06, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 指定方法コードに設定
		serviceFormBean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD
				, X31CWebConst.DATABEAN_SET_VALUE, mvShiteiWayCd);

		// 指定方法名称に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.D_SHITEI_WAY
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvShiteiWayNm));

		// 出荷先1を設定
		serviceFormBean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1
				, X31CWebConst.DATABEAN_SET_VALUE, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1_18, X31CWebConst.DATABEAN_GET_VALUE));

		// 郵便番号を取得
		X31SDataBeanAccessArray dbaaShkaSkPcd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_PCD);
		String pcd1 = dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_1_04, X31CWebConst.DATABEAN_GET_VALUE);
		String pcd2 = dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_2_04, X31CWebConst.DATABEAN_GET_VALUE);

		// 出荷先情報の郵便番号に設定
		subbean.sendMessageString(DKW00501SFConst.SHKA_SK_PCD7_18
				, X31CWebConst.DATABEAN_SET_VALUE, pcd1 + pcd2);

		// ************************************************************************
		//  次画面用の値をサービスフォームビーンに値を設定
		// ************************************************************************

		// 一覧表示件数に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.M_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// データ読み込み状態に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.M_DATA_LOAD, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 行番号に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// ページングキーに設定
		serviceFormBean.sendMessageString(DKW00501SFConst.M_PAGEING_KEY, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 遷移先画面ＩＤの設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 棚移動指示基本設定のクリア処理を行います。
	 * @return 処理実行結果
	 */
	public boolean clr_kihon()
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 押下状態を未押下に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 移動建物を初期化する
		X31SDataBeanAccessArray dbaaMvTTm = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_TTM);
		dbaaMvTTm.getDataBean(0).sendMessage(DKW00501SFConst.MV_MT_TTM_CD_01, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvTTm.getDataBean(0).sendMessage(DKW00501SFConst.MV_SK_TTM_CD_01, X31CWebConst.DATABEAN_CLEAR);

		// 移動棚を初期化する
		X31SDataBeanAccessArray dbaaMvShelf = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_SHELF);
		dbaaMvShelf.getDataBean(0).sendMessage(DKW00501SFConst.MV_MT_SHELF_CD_02, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvShelf.getDataBean(0).sendMessage(DKW00501SFConst.MV_SK_SHELF_CD_02, X31CWebConst.DATABEAN_CLEAR);

		// 商品状態を初期化する
		X31SDataBeanAccessArray dbaaStat = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_STAT);
		dbaaStat.getDataBean(0).sendMessage(DKW00501SFConst.STAT_CD_03, X31CWebConst.DATABEAN_CLEAR);

		// 郵便番号を初期化する
		X31SDataBeanAccessArray dbaaShkaSkPcd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_PCD);
		dbaaShkaSkPcd.getDataBean(0).sendMessage(DKW00501SFConst.I_SHKA_SK_PCD_1_04, X31CWebConst.DATABEAN_CLEAR);
		dbaaShkaSkPcd.getDataBean(0).sendMessage(DKW00501SFConst.I_SHKA_SK_PCD_2_04, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名1を初期化する
		serviceFormBean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_1, X31CWebConst.DATABEAN_CLEAR);

		X31SDataBeanAccessArray dbaaShkaSkInfo = serviceFormBean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
		X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);
		
		// 郵便番号７桁を初期化する
		subbean.sendMessage(DKW00501SFConst.SHKA_SK_PCD7_18, X31CWebConst.DATABEAN_CLEAR);
		
		// 出荷先住所（都道府県）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_STATE_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（市区町村）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_CITY_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（大字通称名）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（字丁目）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（番地・号）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_BNCHIGO_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（建物名）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_ADRTTM_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（部屋番号）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_ADRRM_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名1を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_1_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名2を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_2_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名3を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_3_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先電話番号を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_TLN_18, X31CWebConst.DATABEAN_CLEAR);

		// 移動理由を初期化する
		X31SDataBeanAccessArray dbaaMvRsn = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 備考を初期化する
		serviceFormBean.sendMessage(DKW00501SFConst.I_BIKO, X31CWebConst.DATABEAN_CLEAR);
		
		// 出荷先工事会社コードを初期化する
		X31SDataBeanAccessArray shkaKocompCd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_KOCOMP_CD);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_CD_16, X31CWebConst.DATABEAN_CLEAR);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_CD_LIST_16, X31CWebConst.DATABEAN_CLEAR);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_NM_LIST_16, X31CWebConst.DATABEAN_CLEAR);

		// 指定方法を初期化する
		X31SDataBeanAccessArray dbaaShiteiWay = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHITEI_WAY);
		dbaaShiteiWay.getDataBean(0).sendMessage(DKW00501SFConst.SHITEI_WAY_CD_06, X31CWebConst.DATABEAN_CLEAR);

		// 遷移先画面ＩＤの設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		return true;
	}

	/**
	 * 棚移動指示基本設定の住所検索ボタン押下処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	public boolean showSearchAddress_kihon() throws Exception
	{
		HashMap paramMap = new HashMap();

		paramMap.put(JZMStrConst.key_pcd_1, getData(this, DKW00501SFConst.I_SHKA_SK_PCD, DKW00501SFConst.I_SHKA_SK_PCD_1_04));
		paramMap.put(JZMStrConst.key_pcd_2, getData(this, DKW00501SFConst.I_SHKA_SK_PCD, DKW00501SFConst.I_SHKA_SK_PCD_2_04));
		paramMap.put(JZMStrConst.key_state_nm, getData(this, DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_STATE_18));
		paramMap.put(JZMStrConst.key_city_nm, getData(this, DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_CITY_18));
		paramMap.put(JZMStrConst.key_oaztsu_nm, getData(this, DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18));
		paramMap.put(JZMStrConst.key_azcho_nm, getData(this, DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18));

		JCCWebCommon.setScreenInfo(this, JZMScreenConst.SCREEN_ID_ZMW10601 + "0PJP", paramMap);
		JCCWebCommon.setScreenId(this, JZMScreenConst.SCREEN_ID_ZMW10601 + "0PJP", getGamenId());

		this.setNextScreen(JZMScreenConst.SCREEN_ID_ZMW10601, JZMScreenConst.SCREEN_NAME_ZMW10601);
		return true;
	}

	/**
	 * 棚移動指示基本設定の子画面の情報を反映します。
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	public boolean reflect_kihon() throws Exception
	{

		HashMap<String,Object> map = JCCWebCommon.getScreenInfo(this);
		setData(this, (String)map.get(JZMStrConst.ret_pcd_1), DKW00501SFConst.I_SHKA_SK_PCD, DKW00501SFConst.I_SHKA_SK_PCD_1_04);
		setData(this, (String)map.get(JZMStrConst.ret_pcd_2), DKW00501SFConst.I_SHKA_SK_PCD, DKW00501SFConst.I_SHKA_SK_PCD_2_04);
		setData(this, (String)map.get(JZMStrConst.ret_state_nm), DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_STATE_18);
		setData(this, (String)map.get(JZMStrConst.ret_city_nm), DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_CITY_18);
		setData(this, (String)map.get(JZMStrConst.ret_oaztsu_nm), DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18);
		setData(this, (String)map.get(JZMStrConst.ret_azcho_nm), DKW00501SFConst.SHKA_SK_ADR, DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);
		return true;
	}

	/**
	 * 棚移動指示登録の数量指定ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean showCntShitei_toroku() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 型番号を初期化
		X31SDataBeanAccessArray dbaaMdlNo = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		bean.sendMessage(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_LIST_10, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_KBN_LIST_10, X31CWebConst.DATABEAN_CLEAR);
		

		// 移動理由の選択を初期化
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		bean.sendMessage(DKW00501SFConst.S_RSN_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_RSN_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 数量指定押下状態を未押下に設定
		bean.sendMessageString(DKW00501SFConst.S_BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 数量指定画面モードを数量指定に設定
		bean.sendMessageString(DKW00501SFConst.S_GAMEN_MODE, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 移動数を初期化
		bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サブ備考を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ユースケースＩＤを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0111");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0111_DKSV0111OP_01DBMapper mapper = new DKSV0111_DKSV0111OP_01DBMapper();
		mapper.setDKSV011101SC(paramBean, inputMap, "1");

		// 検索結果格納用マップを生成。
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV011101SC(paramBean, outputMap);

		// プルダウンの要素にインデックスを付与する
		// 型番号
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_MDL_NO,
									DKW00501SFConst.MODEL_CD_LIST_10,
									DKW00501SFConst.MODEL_CD_LIST_10);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00505, JDKScreenConst.SCREEN_NAME_DKW00505);

		return true;
	}

	/**
	 * 棚移動指示登録の製番指定ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean showSeibanShitei_toroku() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 型番号を初期化
		X31SDataBeanAccessArray dbaaMdlNo = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		bean.sendMessage(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_LIST_10, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_KBN_LIST_10, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_KBN_LIST_10, X31CWebConst.DATABEAN_CLEAR);

		// 移動理由の選択を初期化
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		bean.sendMessage(DKW00501SFConst.S_RSN_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_RSN_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 製番指定一覧を初期化
		bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST).clearArray();

		// サブ製造番号を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サブ備考を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サブ一覧表示件数を０件に設定
		bean.sendMessageString(DKW00501SFConst.M_S_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ユースケースＩＤを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0111");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0111_DKSV0111OP_01DBMapper mapper = new DKSV0111_DKSV0111OP_01DBMapper();
		mapper.setDKSV011101SC(paramBean, inputMap, "1");

		// 検索結果格納用マップを生成。
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV011101SC(paramBean, outputMap);

		// プルダウンの要素にインデックスを付与する
		// 型番号
		this.pushEmptyToTopOfPulldown(DKW00501SFConst.I_MDL_NO,
									DKW00501SFConst.MODEL_CD_LIST_10,
									DKW00501SFConst.MODEL_CD_LIST_10);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00507, JDKScreenConst.SCREEN_NAME_DKW00507);

		return true;
	}

	/**
	 * 棚移動指示登録の訂正内容ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean showTeiseNaiyo_toroku() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 行番号を取得
		String mRowNo = bean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// 行番号から選択行を取得
		X31SDataBeanAccessArray dbaaMMoveShelfAddList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);
		X31SDataBeanAccess dbaMMoveShelfAddList = dbaaMMoveShelfAddList.getDataBean(Integer.parseInt(mRowNo));

		// 指定方法コードが数量指定の場合
		if ("1".equals(bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{

			// 数量指定押下状態を押下に設定
			bean.sendMessageString(DKW00501SFConst.S_BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "1");

			// 数量指定画面モードを内容訂正に設定
			bean.sendMessageString(DKW00501SFConst.S_GAMEN_MODE, X31CWebConst.DATABEAN_SET_VALUE, "1");

			// 選択型番号を設定
			bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MDL_NO_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 選択型式区分を設定
			bean.sendMessageString(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 商品名を設定
			bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_GDS_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動数を設定
			bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_SJI_CNT_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動理由コードを取得
			String mvRsnCd = dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_09, X31CWebConst.DATABEAN_GET_VALUE);

			// 移動理由の選択を初期化
			X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
			X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
			int i = 0;
			do
			{
				try
				{
					String mvRsnNmList
						= dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, i);
					if (mvRsnCd.equals(mvRsnNmList))
					{
						break;
					}
				}
				catch (Exception e)
				{
					i = 0;
					break;
				}
				i = i + 1;
			} while (true);
			dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_SET_VALUE, i + "");

			// 備考を設定
			bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_BIKO_09, X31CWebConst.DATABEAN_GET_VALUE));

			// ************************************************************************
			//  サービスの呼び出し
			// ************************************************************************
			
			// 在庫数取得
			this.getZaikoInfo(bean);

			this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00505, JDKScreenConst.SCREEN_NAME_DKW00505);
		}
		else
		{

			// 移動理由コードを取得
			String mvRsnCd = dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_09, X31CWebConst.DATABEAN_GET_VALUE);

			// 移動理由の選択を初期化
			X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
			X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
			int i = 0;
			do
			{
				try
				{
					String mvRsnNmList
						= dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, i);
					if (mvRsnCd.equals(mvRsnNmList))
					{
						break;
					}
				}
				catch (Exception e)
				{
					i = 0;
					break;
				}
				i = i + 1;
			} while (true);
			dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_SET_VALUE, i + "");

			// 備考を設定
			bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE
					, dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_BIKO_09, X31CWebConst.DATABEAN_GET_VALUE));

			this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00506, JDKScreenConst.SCREEN_NAME_DKW00506);
		}

		return true;
	}

	/**
	 * 棚移動指示登録の削除ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean del_toroku() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 行番号を取得
		String sMRowNo = bean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// 棚移動指示登録一覧を取得
		X31SDataBeanAccessArray dbaaMoveShelfAddList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);

		// 棚移動指示登録一覧から行番号のデータを表示用編集レコードとして取得
		X31SDataBeanAccess dbaMoveShelfAddList = dbaaMoveShelfAddList.getDataBean(Integer.parseInt(sMRowNo));

		// 表示用編集レコードから制御番号を取得
		String slControlNo = dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_CONTROL_NO_09, X31CWebConst.DATABEAN_GET_VALUE);

		// 登録制御情報から制御番号の該当行を制御用編集レコードとして取得
		X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);

		// 行を削除
		dbaaList.removeDataBean(Integer.parseInt(slControlNo));

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00502);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 棚移動指示登録の登録確認ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean addComferm_toroku() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ビーンの登録項目をチェック用データに設定する
		this.setUpdList(0);

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		// ◇ 業務ロジックの記述
		// ユースケース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, "DKSV0034");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0034_DKSV0034OPDBMapper mapper = new DKSV0034_DKSV0034OPDBMapper();

		// 同一倉庫内の移動の場合
		if (bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE)
				.equals(bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{

			// 倉庫棚移動登録のマッピング
			mapper.setDKSV003401SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		}

		// 異なる倉庫間の移動の場合
		else
		{

			// 予備機器配送受付のマッピング
			mapper.setDKSV003403SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_2);
		}

		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// 確認メッセージを表示する
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[]{"棚移動指示登録"});

		// ページリンクを初期化する
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00503);
		this.setAddList(1, JDKScreenConst.SCREEN_ID_DKW00503);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00503, JDKScreenConst.SCREEN_NAME_DKW00503);

		return true;
	}

	/**
	 * 棚移動指示登録のクリアボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean clr_toroku()
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 押下状態を未押下に設定
		serviceFormBean.sendMessageString(DKW00501SFConst.BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 移動建物を初期化する
		X31SDataBeanAccessArray dbaaMvTTm = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_TTM);
		dbaaMvTTm.getDataBean(0).sendMessage(DKW00501SFConst.MV_MT_TTM_CD_01, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvTTm.getDataBean(0).sendMessage(DKW00501SFConst.MV_SK_TTM_CD_01, X31CWebConst.DATABEAN_CLEAR);

		// 移動棚を初期化する
		X31SDataBeanAccessArray dbaaMvShelf = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_SHELF);
		dbaaMvShelf.getDataBean(0).sendMessage(DKW00501SFConst.MV_MT_SHELF_CD_02, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvShelf.getDataBean(0).sendMessage(DKW00501SFConst.MV_SK_SHELF_CD_02, X31CWebConst.DATABEAN_CLEAR);

		// 商品状態を初期化する
		X31SDataBeanAccessArray dbaaStat = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_STAT);
		dbaaStat.getDataBean(0).sendMessage(DKW00501SFConst.STAT_CD_03, X31CWebConst.DATABEAN_CLEAR);

		// 郵便番号を初期化する
		X31SDataBeanAccessArray dbaaShkaSkPcd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_PCD);
		dbaaShkaSkPcd.getDataBean(0).sendMessage(DKW00501SFConst.I_SHKA_SK_PCD_1_04, X31CWebConst.DATABEAN_CLEAR);
		dbaaShkaSkPcd.getDataBean(0).sendMessage(DKW00501SFConst.I_SHKA_SK_PCD_2_04, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名1を初期化する
		serviceFormBean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_1, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先情報
		X31SDataBeanAccessArray dbaaShkaSkInfo = serviceFormBean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
		X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);

		// 郵便番号７桁を初期化する
		subbean.sendMessage(DKW00501SFConst.SHKA_SK_PCD7_18, X31CWebConst.DATABEAN_CLEAR);
		
		// 出荷先住所（都道府県）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_STATE_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（市区町村）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_CITY_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（大字通称名）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（字丁目）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（番地・号）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_BNCHIGO_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（建物名）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_ADRTTM_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先住所（部屋番号）を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_AD_ADRRM_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名1を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_1_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名2を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_2_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先名3を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_NM_3_18, X31CWebConst.DATABEAN_CLEAR);

		// 出荷先電話番号を初期化する
		subbean.sendMessage(DKW00501SFConst.I_SHKA_SK_TLN_18, X31CWebConst.DATABEAN_CLEAR);

		// 移動理由を初期化する
		X31SDataBeanAccessArray dbaaMvRsn = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 備考を初期化する
		serviceFormBean.sendMessage(DKW00501SFConst.I_BIKO, X31CWebConst.DATABEAN_CLEAR);

		// 指定方法を初期化する
		X31SDataBeanAccessArray dbaaShiteiWay = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHITEI_WAY);
		dbaaShiteiWay.getDataBean(0).sendMessage(DKW00501SFConst.SHITEI_WAY_CD_06, X31CWebConst.DATABEAN_CLEAR);
		
		// 出荷先工事会社コードを初期化する
		X31SDataBeanAccessArray shkaKocompCd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_KOCOMP_CD);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_CD_16, X31CWebConst.DATABEAN_CLEAR);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_CD_LIST_16, X31CWebConst.DATABEAN_CLEAR);
		shkaKocompCd.getDataBean(0).sendMessage(DKW00501SFConst.KOCOMP_NM_LIST_16, X31CWebConst.DATABEAN_CLEAR);

		// 登録制御情報を初期化する
		serviceFormBean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST).clearArray();

		// 棚移動指示登録一覧を初期化する
		serviceFormBean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST).clearArray();
		
		serviceFormBean.getDataBeanArray(DKW00501SFConst.SJ_DATA_FILE).clearArray();

		// ページリンクを初期化する
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00502);
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00503);
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00504);

		// 遷移先画面ＩＤの設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		return true;
	}

	/**
	 * 棚移動指示登録の指示データ読込ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	@SuppressWarnings("unchecked")
	public boolean showUpLoad_toroku() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> aMap = new HashMap<String, Object>();

		// 指定方法コードを設定
		paramMap.put(DKW00508SFConst.SHITEI_WAY_CD, bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 棚移動指示登録一覧を設定
		ArrayList<HashMap> moveShelfAddList = new ArrayList<HashMap>();
		X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);
		for (int i = 0; i < dbaaList.getCount(); i++)
		{
			X31SDataBeanAccess dbaList = dbaaList.getDataBean(i);
			HashMap<String, String> moveShelf = new HashMap<String, String>();
			moveShelf.put(DKW00508SFConst.L_MDL_NO_01, dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
			moveShelf.put(DKW00508SFConst.L_SEIZO_NO_01, dbaList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
			moveShelfAddList.add(moveShelf);
		}
		paramMap.put(DKW00508SFConst.ADD_LIST, moveShelfAddList);
		paramMap.put(DKW00508SFConst.KNRI_PLC_SKBT_CD, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(DKW00508SFConst.KNRI_PLC_CD, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(DKW00508SFConst.KNRI_PLC_SLF_CD, bean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
		paramMap.put(DKW00508SFConst.GDS_STAT_CD, bean.sendMessageString(DKW00501SFConst.STAT_CD, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW00508 + "0PJP", paramMap);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW00501 + "0PJP", aMap);

		// 戻り先画面IDを設定 
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW00508, JDKScreenConst.SCREEN_ID_DKW00501);

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00508, JDKScreenConst.SCREEN_NAME_DKW00508);

		return true;
	}

	/**
	 * 棚移動指示登録の子画面の情報を反映します。
	 * @return 処理実行結果
	 */
	public boolean reflect_toroku() 
	{
		JCCWebCommon.getScreenInfo(this);

		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		X31SDataBeanAccessArray sjData = bean.getDataBeanArray(DKW00501SFConst.SJ_DATA_FILE);
		
		X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
		String mvRsnCd = bean.sendMessageString(DKW00501SFConst.MV_RSN_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String mvRsnNM = bean.sendMessageString(DKW00501SFConst.MV_RSN_NM, X31CWebConst.DATABEAN_GET_VALUE);
		String iBiko = bean.sendMessageString(DKW00501SFConst.I_BIKO, X31CWebConst.DATABEAN_GET_VALUE);

		// 上記で分割したレコード件数分以下の処理を繰り返し行う
		for(int i=0;i<sjData.getCount();i++)
		{
			X31SDataBeanAccess subbean = sjData.getDataBean(i);
			String mdl_no = subbean.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_20, X31CWebConst.DATABEAN_GET_VALUE);
			String seizo_no = subbean.sendMessageString(DKW00501SFConst.KK_SEIZO_NO_20, X31CWebConst.DATABEAN_GET_VALUE);
			String cnt = subbean.sendMessageString(DKW00501SFConst.CNT_20, X31CWebConst.DATABEAN_GET_VALUE);
			String gds_nm = subbean.sendMessageString(DKW00501SFConst.GDS_NM_20, X31CWebConst.DATABEAN_GET_VALUE);
			X31SDataBeanAccess dbaList = dbaaList.addDataBean();
			dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_SET_VALUE, mdl_no);
			dbaList.sendMessageString(DKW00501SFConst.L_GDS_NM_08, X31CWebConst.DATABEAN_SET_VALUE, gds_nm);
			dbaList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_SET_VALUE, seizo_no);
			dbaList.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_SET_VALUE, cnt);
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, mvRsnCd);
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_SET_VALUE, mvRsnNM);
			dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_SET_VALUE, "1");
			dbaList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_SET_VALUE, iBiko);
		}

		JDKWebCommon.sort(dbaaList, new Comparator<X31SDataBeanAccess>()
		{
			public int compare(X31SDataBeanAccess obj1, X31SDataBeanAccess obj2)
			{
				// 型番号の昇順でソート
				String val1 = obj1.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				String val2 = obj2.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				int kekka = val1.compareTo(val2);

				// 型番号が異なる場合
				if (0 != kekka)
				{
					return kekka;
				}

				// 製造番号の昇順でソート
				String val3 = obj1.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				String val4 = obj2.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				return val3.compareTo(val4);
			}
		});

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00502);

		// データ読み込み状態を"1"に設定する
		bean.sendMessageString(DKW00501SFConst.M_DATA_LOAD, X31CWebConst.DATABEAN_SET_VALUE, "1");

		return true;
	}

	/**
	 * 棚移動指示登録のページング処理を行います。
	 * @return 処理実行結果
	 */
	public boolean paging_toroku() 
	{

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00502);

		return true;
	}

	/**
	 * 棚移動指示登録確認の確定ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	public boolean fix_kakunin() throws JCCFrameworkException, Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ビーンの登録項目をチェック用データに設定する
		this.setUpdList(bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST).getCount());

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		// ◇ 業務ロジックの記述
		// ユースケース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, "DKSV0034");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0034_DKSV0034OPDBMapper mapper = new DKSV0034_DKSV0034OPDBMapper();

		// 同一倉庫内の移動の場合
		if (bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE)
				.equals(bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE)))
		{

			// 倉庫棚移動登録のマッピング
			mapper.setDKSV003401SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

			// 製番指定の場合
			if ("2".equals(bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE)))
			{

				// 倉庫棚移動内訳登録のマッピング
				mapper.setDKSV003402SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			}
		}
		// 異なる倉庫間の移動の場合
		else
		{

			// 予備機器配送受付のマッピング
			mapper.setDKSV003403SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

			// 製番指定の場合
			if ("2".equals(bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE)))
			{

				// 予備機器配送内訳登録のマッピング
				mapper.setDKSV003404SC(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
			}
		}

		// サービス呼出
		X31CMessageResult result = null;
		JCCWebServiceException inputException = null;
		try
		{
			invokeService(paramMap, inputMap, outputMap);
		}
		catch (JCCWebServiceException e)
		{
			inputException = e;
			result = e.getMessageList();
		}
		
		if (checkPlace(outputMap, result))
		{
			return true;
		}
		if (inputException != null)
		{
			throw inputException;
		}
		
		// 完了メッセージを表示する
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[]{"棚移動指示登録"});

		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00504);
		this.setAddList(1, JDKScreenConst.SCREEN_ID_DKW00504);

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00504, JDKScreenConst.SCREEN_NAME_DKW00504);

		return true;
	}

	/**
	 * 棚移動指示登録確認の修正ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean shusei_kakunin()
	{

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00502);

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 棚移動指示登録確認のページング処理を行います。
	 * @return 処理実行結果
	 */
	public boolean paging_kakunin() 
	{

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00503);

		// 確認メッセージを表示する
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[]{"棚移動指示登録"});

		return true;
	}

	/**
	 * 棚移動指示登録完了の完了ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean fin_kanryo() 
	{

		// 画面初期化処理を呼び出す
		this.clr_toroku();

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		return true;
	}

	/**
	 * 棚移動指示登録完了のページング処理を行います。
	 * @return 処理実行結果
	 */
	public boolean paging_kanryo() 
	{

		this.setAddList(0, JDKScreenConst.SCREEN_ID_DKW00504);

		// 完了メッセージを表示する
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[]{"棚移動指示登録"});

		return true;
	}

	/**
	 * 数量指定登録の検索ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean search_suryo() 
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 型番号取得
		X31SDataBeanAccessArray dbaaMdlNo = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		String sIndex = dbaaMdlNo.getDataBean(0).sendMessageString(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMdlNo = dbaaMdlNo.getDataBean(0);
		String mvMdlNo = dbaMdlNo.sendMessageString(DKW00501SFConst.MODEL_CD_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		// 先頭に空白行を挿入していないため、インデックス-1で値を取得する
		String mvMdlKbn = dbaMdlNo.sendMessageString(DKW00501SFConst.MODEL_KBN_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, (Integer.parseInt(sIndex) - 1));
		String gdsNm = dbaMdlNo.sendMessageString(DKW00501SFConst.MODEL_NM_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, (Integer.parseInt(sIndex) - 1));

		// 選択型番号に設定
		bean.sendMessageString(DKW00501SFConst.S_MDL_NO
				, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMdlNo));
		// 選択型番号区分に設定
		bean.sendMessageString(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_SET_VALUE, mvMdlKbn);
		// 商品名を設定
		bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_SET_VALUE, gdsNm);
		
		// 在庫数取得
		String mtZaikoCnt = this.getZaikoInfo(bean);
		
		// 検索条件に合致する該当件数が0件の場合エラー
		if(Integer.parseInt(mtZaikoCnt) < 1)
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I ,"I_MDL_NO");
			return true;
		}
		
		// 数量指定押下状態を押下に設定
		bean.sendMessageString(DKW00501SFConst.S_BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "1");
		
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00505, JDKScreenConst.SCREEN_NAME_DKW00505);
		return true;
	}

	/**
	 * 数量指定登録の指示追加ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean sjiAdd_suryo() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// *****************************************************
		// 単関連チェック
		// *****************************************************

		long mvCnt = Long.parseLong(bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_GET_VALUE));
		long mvMtZaikoCnt = Long.parseLong(bean.sendMessageString(DKW00501SFConst.D_MV_MT_ZAIKO_CNT, X31CWebConst.DATABEAN_GET_VALUE));
		// 0チェック(移動数)
		if (0 == mvCnt)
		{
			// 移動数が0の場合エラー
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB2520_NW, new String[]{"移動数", "1"});
			return true;
		}

		// 大小チェック(移動数、移動元在庫数)
		if (mvCnt > mvMtZaikoCnt)
		{
			// 移動数が移動元在庫数より多く設定されている場合エラー
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0820_NW, new String[]{"移動数", "移動元在庫数"});
			return true;
		}

		// 数量指定画面モードが数量指定の場合
		if ("0".equals(bean.sendMessageString(DKW00501SFConst.S_GAMEN_MODE, X31CWebConst.DATABEAN_GET_VALUE)))
		{

			X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);

			// *****************************************************
			// 関連チェック
			// *****************************************************

			// 重複チェック(型番号)
			String mdlNo = bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_GET_VALUE);
			for (int i = 0; i < dbaaList.getCount(); i++)
			{
				X31SDataBeanAccess dbaAddControlList = dbaaList.getDataBean(i);
				String lMdlNo = dbaAddControlList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				if (lMdlNo.equals(mdlNo))
				{
					// 入力された内容が既に登録されている場合エラー
					JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0310_KW, new String[]{"登録内容", "型番号"});
					return true;
				}
			}

			X31SDataBeanAccess dbaList = dbaaList.addDataBean();

			// 型番号を設定
			dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_GET_VALUE));

			// 商品名を設定
			dbaList.sendMessageString(DKW00501SFConst.L_GDS_NM_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_GET_VALUE));

			// 製造番号を設定
			dbaList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_SET_VALUE, "");

			// 指示数を設定
			dbaList.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動理由取得
			X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
			String sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
			X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
			String mvMvRsnCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
			String mvMvRsnNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_NM_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

			// 移動理由コードを設定
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);

			// 移動理由名称を設定
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));

			// 型番号識別区分を設定
			dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_GET_VALUE));

			// 備考を設定
			dbaList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));

			// 型番号の昇順でソート
			JDKWebCommon.sort(dbaaList, new Comparator<X31SDataBeanAccess>()
			{
				public int compare(X31SDataBeanAccess obj1, X31SDataBeanAccess obj2)
				{
					String val1 = obj1.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
					String val2 = obj2.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
					return val1.compareTo(val2);
				}
			});

			// リストを再設定
			JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00502);
			this.setAddList(1, JDKScreenConst.SCREEN_ID_DKW00502);
		}

		// 数量指定画面モードが訂正の場合
		else
		{
			// 行番号を取得
			String sMRowNo = bean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);

			// 棚移動指示登録一覧を取得
			X31SDataBeanAccessArray dbaaMoveShelfAddList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);

			// 棚移動指示登録一覧から行番号のデータを表示用編集レコードとして取得
			X31SDataBeanAccess dbaMoveShelfAddList = dbaaMoveShelfAddList.getDataBean(Integer.parseInt(sMRowNo));

			// 表示用編集レコードから制御番号を取得
			String slControlNo = dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_CONTROL_NO_09, X31CWebConst.DATABEAN_GET_VALUE);

			// 登録制御情報から制御番号の該当行を制御用編集レコードとして取得
			X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
			X31SDataBeanAccess dbaList = dbaaList.getDataBean(Integer.parseInt(slControlNo));

			// 指示数を設定
			dbaList.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_SJI_CNT_09, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_GET_VALUE));

			// 移動理由取得
			X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
			String sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
			X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
			String mvMvRsnCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
			String mvMvRsnNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_NM_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

			// 移動理由コードを設定
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);
			dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_09, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);

			// 移動理由名称を設定
			dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));
			dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_09, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));

			// 備考を設定
			dbaList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_BIKO_09, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 数量指定登録のクリアボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean clr_suryo() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 型番号を初期化
		X31SDataBeanAccessArray dbaaMdlNo = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		bean.sendMessage(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_CLEAR);

		// 移動理由の選択を初期化
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		bean.sendMessage(DKW00501SFConst.S_RSN_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_RSN_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 商品名を初期化
		bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 数量指定押下状態を未押下に設定
		bean.sendMessageString(DKW00501SFConst.S_BTN_FIX_CLS, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 数量指定画面モードを数量指定に設定
		bean.sendMessageString(DKW00501SFConst.S_GAMEN_MODE, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 移動元在庫数を初期化
		bean.sendMessageString(DKW00501SFConst.D_MV_MT_ZAIKO_CNT, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 移動数を初期化
		bean.sendMessageString(DKW00501SFConst.I_MV_CNT, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 在庫数を初期化
		bean.sendMessageString(DKW00501SFConst.D_MV_SK_ZAIKO_CNT, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 数量指定備考を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00505, JDKScreenConst.SCREEN_NAME_DKW00505);

		return true;
	}

	/**
	 * 数量指定登録の戻るボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean back_suryo() 
	{

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 訂正内容登録の登録ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean add_teisei() 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 行番号を取得
		String sMRowNo = bean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// 棚移動指示登録一覧を取得
		X31SDataBeanAccessArray dbaaMoveShelfAddList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);

		// 棚移動指示登録一覧から行番号のデータを表示用編集レコードとして取得
		X31SDataBeanAccess dbaMoveShelfAddList = dbaaMoveShelfAddList.getDataBean(Integer.parseInt(sMRowNo));

		// 表示用編集レコードから制御番号を取得
		String slControlNo = dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_CONTROL_NO_09, X31CWebConst.DATABEAN_GET_VALUE);

		// 登録制御情報から制御番号の該当行を制御用編集レコードとして取得
		X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
		X31SDataBeanAccess dbaList = dbaaList.getDataBean(Integer.parseInt(slControlNo));

		// 移動理由取得
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		String sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
		String mvMvRsnCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		String mvMvRsnNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_NM_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

		// 移動理由コードを設定
		dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);
		dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_09, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);

		// 移動理由名称を設定
		dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));
		dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_09, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));

		// 備考を設定
		dbaList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));
		dbaMoveShelfAddList.sendMessageString(DKW00501SFConst.L_BIKO_09, X31CWebConst.DATABEAN_SET_VALUE
				, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 訂正内容登録の戻るボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean back_teisei() 
	{

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}

	/**
	 * 製番指定登録の検索ボタン押下処理を行います。
	 * @return 処理実行結果
	 * @throws Exception 
	 * @throws JCCFrameworkException 
	 */
	@SuppressWarnings("unchecked")
	public boolean search_seiban() throws JCCFrameworkException, Exception
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// 型式コード、型式区分を取得
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		String sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
		String modelCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MODEL_CD_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		// 先頭に空白行を挿入していないため、インデックス-1で値を取得する
		String modelKbn = dbaMvRsn.sendMessageString(DKW00501SFConst.MODEL_KBN_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, (Integer.parseInt(sIndex) - 1));
		String gdsNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MODEL_NM_LIST_10, X31CWebConst.DATABEAN_GET_VALUE, (Integer.parseInt(sIndex) - 1));

		// 型式コードを設定
		bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(modelCd));
		
		// 商品名を設定
		bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_SET_VALUE, gdsNm);

		// 型式区分を設定
		bean.sendMessageString(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_SET_VALUE, modelKbn);

		// 製番指定一覧を初期化
		bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST).clearArray();
		bean.getDataBeanArray(DKW00501SFConst.SEIZO_NO_LIST).clearArray();
		// サブ一覧表示件数を０件に設定
		bean.sendMessageString(DKW00501SFConst.M_S_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		String mvMtTtmKbn = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);		// 建物区分（移動元）
		String mvMtTtmCd  = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE);		// 建物コード（移動元）
		String mvMtSlfCd  = bean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE);	// 棚コード（移動元）
		String gdsStaCd  = bean.sendMessageString(DKW00501SFConst.STAT_CD, X31CWebConst.DATABEAN_GET_VALUE);			// 商品状態コード
		if(gdsStaCd == null || "".equals(gdsStaCd))
		{
			gdsStaCd = "-";
		}
		String seizoNo = bean.sendMessageString(DKW00501SFConst.I_S_SEIZO_NO, X31CWebConst.DATABEAN_GET_VALUE);			// 製造番号
		
		// 検索条件を設定
		bean.sendMessageString(DKW00501SFConst.SEI_NO_KNRI_PLC_SKBT_CD, X31CWebConst.DATABEAN_SET_VALUE, mvMtTtmKbn);	// 管理場所識別コード
		bean.sendMessageString(DKW00501SFConst.SEI_NO_KNRI_PLC_CD, X31CWebConst.DATABEAN_SET_VALUE, mvMtTtmCd);							// 管理場所コード
		bean.sendMessageString(DKW00501SFConst.SEI_NO_KNRI_PLC_SLF_CD, X31CWebConst.DATABEAN_SET_VALUE, mvMtSlfCd);						// 管理場所棚コード
		bean.sendMessageString(DKW00501SFConst.SEI_NO_GDS_STAT_CD, X31CWebConst.DATABEAN_SET_VALUE, gdsStaCd);							// 商品状態コード

		// 型式区分で判定して、セット品の場合
		if ("3".equals(modelKbn))
		{
			bean.sendMessageString(DKW00501SFConst.SEI_NO_SHORI_DIV, X31CWebConst.DATABEAN_SET_VALUE, "2");	// 処理区分
			bean.sendMessageString(DKW00501SFConst.SEI_NO_TAKNKIKI_SETHIN_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(modelCd));	// 宅内機器セット品型コード
			bean.sendMessageString(DKW00501SFConst.SEI_NO_TAKNKIKI_SETHIN_NO, X31CWebConst.DATABEAN_SET_VALUE, seizoNo);		// 宅内機器セット品番号
		}
		else
		{
			bean.sendMessageString(DKW00501SFConst.SEI_NO_SHORI_DIV, X31CWebConst.DATABEAN_SET_VALUE, "1");			// 処理区分
			bean.sendMessageString(DKW00501SFConst.SEI_NO_TK_MDL_CD, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(modelCd));		// 宅内機器型式コード
			bean.sendMessageString(DKW00501SFConst.SEI_NO_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, seizoNo);	// 機器製造番号
		}
		
/*
		// 型式区分で判定して、セット品の場合
		if ("3".equals(modelKbn))
		{
			bean.sendMessageString(DKW00501SFConst.S_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
			bean.sendMessageString(DKW00501SFConst.S_SETHIN_NO, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_S_SEIZO_NO, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			bean.sendMessageString(DKW00501SFConst.S_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.I_S_SEIZO_NO, X31CWebConst.DATABEAN_GET_VALUE));
			bean.sendMessageString(DKW00501SFConst.S_SETHIN_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
*/
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();
		
		// ユースケースＩＤを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0009");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0009_DKSV0009OPDBMapper mapper = new DKSV0009_DKSV0009OPDBMapper();
		mapper.setDKSV000901SC(paramBean, inputMap, "1");
		
		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "DKSV000901SC", inputMap);
		
		// 検索結果格納用マップを生成。
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV000901SC(paramBean, outputMap);
		X31SDataBeanAccessArray seibanListSv = bean.getDataBeanArray("製造番号一覧情報");
		int resultCnt = seibanListSv.getCount();
		if (resultCnt == 0)
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
		}
		else if (resultCnt > 200)
		{
			// 検索結果が最大検索件数超えの場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String [] {"200"});
		}
		else
		{

			X31SDataBeanAccessArray seibanList = bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST);
			
			
			for (int i = 0; i < seibanListSv.getCount(); i++)
			{
				X31SDataBeanAccess subbean = null;
				X31SDataBeanAccess subbean1 = null;
				if(seibanList.getCount() -1 >= i){
					subbean = seibanList.getDataBean(i);
				}else{
					subbean = seibanList.addDataBean();
				}
				subbean1 = seibanListSv.getDataBean(i);
				subbean.sendMessageString(DKW00501SFConst.L_SEIZO_NO_11, X31CWebConst.DATABEAN_SET_VALUE, subbean1.sendMessageString("機器製造番号", X31CWebConst.DATABEAN_GET_VALUE));
			}
			
			for (int i = 0; i < seibanList.getCount(); i++)
			{
				X31SDataBeanAccess subbean = seibanList.getDataBean(i);
				if (i % 2 == 1)
				{
					subbean.sendMessageString(DKW00501SFConst.L_COLOR_11, X31CWebConst.DATABEAN_SET_VALUE, "even");
				}
				else
				{
					subbean.sendMessageString(DKW00501SFConst.L_COLOR_11, X31CWebConst.DATABEAN_SET_VALUE, "odd");
				}

				subbean.sendMessageBoolean(DKW00501SFConst.L_CHOICE_11, X31CWebConst.DATABEAN_SET_VALUE, false);
				subbean.sendMessageString(DKW00501SFConst.L_NO_11, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i + 1));
			}

			bean.sendMessageString(DKW00501SFConst.M_S_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, seibanList.getCount() + "");
		}

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00507, JDKScreenConst.SCREEN_NAME_DKW00507);
		
		// ページング情報の設定で使用する情報を設定する
		HashMap parentMap = null;
		parentMap = (HashMap)outputMap.get("DKSV000901SC");
		parentMap.put("total_page_num", 1);
		X31SDataBeanAccessArray seibanList = bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST);
		parentMap.put("total_search_num", seibanList.getCount());
		
		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "DKSV000901SC", outputMap);
		
		return true;
	}

	/**
	 * 製番指定登録の指示登録ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean sijiAdd_seiban()
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		X31SDataBeanAccessArray seibanList = bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST);
		X31SDataBeanAccessArray dbaaList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);

		// *****************************************************
		// 単関連チェック
		// *****************************************************

		// 追加するデータの選択チェック
		boolean chekFlag = false;
		for (int i = 0; i < seibanList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = seibanList.getDataBean(i);
			boolean lChoice = subbean.sendMessageBoolean(DKW00501SFConst.L_CHOICE_11, X31CWebConst.DATABEAN_GET_VALUE);
			if (lChoice)
			{
				chekFlag = true;
				break;
			}
		}
		if (!chekFlag)
		{
			// 追加するデータが選択されていない場合エラー
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0800_NW, new String[]{"指示登録"});
			return true;
		}

		// *****************************************************
		// 関連チェック
		// *****************************************************

		// 重複チェック(製造番号)
		for (int i = 0; i < seibanList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = seibanList.getDataBean(i);

			boolean lChoice = subbean.sendMessageBoolean(DKW00501SFConst.L_CHOICE_11, X31CWebConst.DATABEAN_GET_VALUE);

			if (lChoice)
			{
				String seizoNo = subbean.sendMessageString(DKW00501SFConst.L_SEIZO_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
				String modelCd = bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_GET_VALUE);
				for (int j = 0; j < dbaaList.getCount(); j++)
				{
					X31SDataBeanAccess dbaAddControlList = dbaaList.getDataBean(j);
					String lModelNo = dbaAddControlList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
					String lSeizoNo = dbaAddControlList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
					if (lModelNo.equals(modelCd) && lSeizoNo.equals(seizoNo))
					{
						// 入力された内容が既に登録されている場合エラー
						JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0310_KW, new String[]{"登録内容", "製造番号"});
						return true;
					}
				}
			}
		}

		// *****************************************************
		// データ反映処理
		// *****************************************************

		for (int i = 0; i < seibanList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = seibanList.getDataBean(i);

			boolean lChoice = subbean.sendMessageBoolean(DKW00501SFConst.L_CHOICE_11, X31CWebConst.DATABEAN_GET_VALUE);

			if (lChoice)
			{
				X31SDataBeanAccess dbaList = dbaaList.addDataBean();

				// 型番号を設定
				dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_GET_VALUE));

				// 商品名を設定
				dbaList.sendMessageString(DKW00501SFConst.L_GDS_NM_08, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.D_GDS_NM, X31CWebConst.DATABEAN_GET_VALUE));

				// 製造番号を設定
				dbaList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_SET_VALUE
						, subbean.sendMessageString(DKW00501SFConst.L_SEIZO_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

				// 指示数を設定
				dbaList.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_SET_VALUE, 1 + "");

				// 移動理由取得
				X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
				String sIndex = dbaaMvRsn.getDataBean(0).sendMessageString(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
				X31SDataBeanAccess dbaMvRsn = dbaaMvRsn.getDataBean(0);
				String mvMvRsnCd = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_CD_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
				String mvMvRsnNm = dbaMvRsn.sendMessageString(DKW00501SFConst.MV_RSN_NM_LIST_05, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));

				// 移動理由コードを設定
				dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_SET_VALUE, mvMvRsnCd);

				// 移動理由名称を設定
				dbaList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_SET_VALUE, this.getNameForPullDown(mvMvRsnNm));

				// 型番号識別区分を設定
				dbaList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_GET_VALUE));

				// 備考を設定
				dbaList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_GET_VALUE));
			}
		}

		JDKWebCommon.sort(dbaaList, new Comparator<X31SDataBeanAccess>()
		{
			public int compare(X31SDataBeanAccess obj1, X31SDataBeanAccess obj2)
			{
				// 型番号の昇順でソート
				String val1 = obj1.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				String val2 = obj2.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				int kekka = val1.compareTo(val2);

				// 型番号が異なる場合
				if (0 != kekka)
				{
					return kekka;
				}

				// 製造番号の昇順でソート
				String val3 = obj1.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				String val4 = obj2.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				return val3.compareTo(val4);
			}
		});

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		// リストを再設定
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW00502);
		this.setAddList(1, JDKScreenConst.SCREEN_ID_DKW00502);

		return true;
	}

	/**
	 * 製番指定登録のクリアボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean clear_seiban()
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 型番号を初期化
		X31SDataBeanAccessArray dbaaMdlNo = bean.getDataBeanArray(DKW00501SFConst.I_MDL_NO);
		bean.sendMessage(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_MDL_KBN, X31CWebConst.DATABEAN_CLEAR);
		dbaaMdlNo.getDataBean(0).sendMessage(DKW00501SFConst.MODEL_CD_10, X31CWebConst.DATABEAN_CLEAR);

		// 移動理由の選択を初期化
		X31SDataBeanAccessArray dbaaMvRsn = bean.getDataBeanArray(DKW00501SFConst.I_MV_RSN);
		bean.sendMessage(DKW00501SFConst.S_RSN_CD, X31CWebConst.DATABEAN_CLEAR);
		bean.sendMessage(DKW00501SFConst.S_RSN_NM, X31CWebConst.DATABEAN_CLEAR);
		dbaaMvRsn.getDataBean(0).sendMessage(DKW00501SFConst.MV_RSN_CD_05, X31CWebConst.DATABEAN_CLEAR);

		// 製番指定一覧を初期化
		bean.getDataBeanArray(DKW00501SFConst.M_SEIBAN_LIST).clearArray();

		// サブ製造番号を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サブ備考を初期化
		bean.sendMessageString(DKW00501SFConst.I_S_BIKO, X31CWebConst.DATABEAN_SET_VALUE, "");

		// サブ一覧表示件数を０件に設定
		bean.sendMessageString(DKW00501SFConst.M_S_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00507, JDKScreenConst.SCREEN_NAME_DKW00507);

		return true;
	}

	/**
	 * 製番指定登録の戻るボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	public boolean back_seiban()
	{

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00502, JDKScreenConst.SCREEN_NAME_DKW00502);

		return true;
	}
	
	/**
	 * 棚移動指示基本設定画面で工事会社確定ボタン押下処理を行います。
	 * @return 処理実行結果
	 */
	@SuppressWarnings("unchecked")
	public boolean fixKocomp()
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// ************************************************************************
		//  サービスフォームビーンに値を設定
		// ************************************************************************

		String sIndex = "";
		// 出荷先工事会社コード取得
		X31SDataBeanAccessArray dbaaShkaKocomp = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_KOCOMP_CD);
		sIndex = dbaaShkaKocomp.getDataBean(0).sendMessageString(DKW00501SFConst.KOCOMP_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		X31SDataBeanAccess dbaShkaKocomp = dbaaShkaKocomp.getDataBean(0);
		String shkaKocompCd = dbaShkaKocomp.sendMessageString(DKW00501SFConst.KOCOMP_CD_LIST_16, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(sIndex));
		
		// 出荷先工事会社コードが選択されていない場合、処理終了
		if(shkaKocompCd == null || shkaKocompCd.equals(""))
		{
			return true;
		}
		
		// 下位工事会社コードに設定
		serviceFormBean.sendMessageString(DKW00501SFConst.KAI_KOCOMP_CD
				, X31CWebConst.DATABEAN_SET_VALUE, shkaKocompCd);

		// ************************************************************************
		//  サービスの呼び出し
		// ************************************************************************

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		HashMap<String, Object> inputMap = new HashMap<String, Object>();
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ユースケースＩＤを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0120");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0120_DKSV0120OPDBMapper mapper = new DKSV0120_DKSV0120OPDBMapper();
		mapper.setDKSV012001SC(paramBean, inputMap, "1");

		// 検索結果格納用マップを生成。
		// サービス呼出 
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV012001SC(paramBean, outputMap);
		
		// 住所情報を設定する
		ArrayList jusyolist = new ArrayList();
		HashMap<String, Object> map = (HashMap<String, Object>)outputMap.get("DKSV012001SC");
		jusyolist = (ArrayList)map.get("EZM0381A010CBSMsg1List");
		HashMap jusyoMap = (HashMap)jusyolist.get(0);
		String jusyoCd = (String)jusyoMap.get("koji_comp_pcd");
		// 郵便番号が存在する場合、上３桁・下４桁に分割し、設定する
		if (!JDKCommonUtil.isNull(jusyoCd) && 7 == jusyoCd.getBytes().length)
		{
			String ueCd = jusyoCd.substring(0, 3);
			String sitaCd = jusyoCd.substring(3, 7);

			X31SDataBeanAccessArray dbaaShkaSkPcd = serviceFormBean.getDataBeanArray(DKW00501SFConst.I_SHKA_SK_PCD);
			dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_1_04, X31CWebConst.DATABEAN_SET_VALUE, ueCd);
			dbaaShkaSkPcd.getDataBean(0).sendMessageString(DKW00501SFConst.I_SHKA_SK_PCD_2_04, X31CWebConst.DATABEAN_SET_VALUE, sitaCd);
		}

		// 出荷先名１
		serviceFormBean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_nm"));

		// 出荷先情報
		X31SDataBeanAccessArray dbaaShkaSkInfo = serviceFormBean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
		X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);

		// 出荷先住所（都道府県）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_STATE_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_state_nm"));
		// 出荷先住所（市区町村）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_CITY_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_city_nm"));
		// 出荷先住所（大字通称名）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_oaztsu_nm"));
		// 出荷先住所（字丁目）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_azcho_nm"));
		// 出荷先住所（番地・号）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_BNCHIGO_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_bnchigo"));
		// 出荷先住所（建物名）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRTTM_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_adrttm"));
		// 出荷先住所（部屋番号）
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRRM_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_adrrm"));
		// 出荷先電話番号
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_TLN_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_tln"));
		// 出荷先名１
		subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1_18
				, X31CWebConst.DATABEAN_SET_VALUE, (String)jusyoMap.get("koji_comp_nm"));

		// 次画面を設定
		this.setNextScreen(JDKScreenConst.SCREEN_ID_DKW00501, JDKScreenConst.SCREEN_NAME_DKW00501);

		return true;
	}

	private void setUpdList(int index)
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 初期化
		bean.getDataBeanArray(DKW00501SFConst.MOVE_UPD_LIST).clearArray();
		bean.getDataBeanArray(DKW00501SFConst.UCWK_UPD_LIST).clearArray();

		// １件だけ登録処理に引き渡してチェックを行う
		if (index == 0)
		{
			X31SDataBeanAccessArray seigyoList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
			X31SDataBeanAccess seigyoData = seigyoList.getDataBean(0);

			X31SDataBeanAccessArray addList = bean.getDataBeanArray(DKW00501SFConst.MOVE_UPD_LIST);
			X31SDataBeanAccess addData = addList.addDataBean();

			// 倉庫棚移動番号 採番
			// 商品状態コードを設定
			addData.sendMessageString(DKW00501SFConst.GDS_STAT_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.STAT_CD, X31CWebConst.DATABEAN_GET_VALUE));
			// 棚移動ロット番号 採番
			// 指示数量を設定
			addData.sendMessageString(DKW00501SFConst.SJI_CNT_13, X31CWebConst.DATABEAN_SET_VALUE
					, seigyoData.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_GET_VALUE));

			if ("1".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 宅内機器
				// 宅内機器型式コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
						, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 付属品型式コードを設定
				addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 宅内機器セット品型コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else if ("2".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 付属品
				// 宅内機器型式コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 付属品型式コードを設定
				addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
						, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 宅内機器セット品型コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else
			{
				// セット品
				// 宅内機器型式コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 付属品型式コードを設定
				addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 宅内機器セット品型コードを設定
				addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
						, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
			}
			// 移動予定年月日を設定
			addData.sendMessageString(DKW00501SFConst.SOKODNA_MOVE_RSV_YMD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
			// 備考を設定
			addData.sendMessageString(DKW00501SFConst.SKDN_MV_BIKO_13, X31CWebConst.DATABEAN_SET_VALUE
					, seigyoData.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 移動理由コードを設定
			addData.sendMessageString(DKW00501SFConst.MOVE_RSN_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, seigyoData.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 移動理由メモを設定
			addData.sendMessageString(DKW00501SFConst.MOVE_RSN_MEMO_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			// 指定方法コードを設定
			addData.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE));
			// ヤマト連携有無を設定
			addData.sendMessageString(DKW00501SFConst.YAMATO_RENKEI_UM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			String mvMtTtmKbn = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);

			if("1".equals(mvMtTtmKbn))
			{
				// 移動元倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
				// 移動元工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動元預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else if("2".equals(mvMtTtmKbn))
			{
				// 移動元倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動元工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
				// 移動元預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else if("3".equals(mvMtTtmKbn))
			{
				// 移動元倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動元工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動元預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}

			// 移動元棚コードを設定
			addData.sendMessageString(DKW00501SFConst.MOVE_MOTO_SHELF_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
			
			String mvSkTtmKbn = bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);

			if("1".equals(mvSkTtmKbn))
			{
				// 移動先倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE
						, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
				// 移動先工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動先預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else if("2".equals(mvSkTtmKbn))
			{
				// 移動先倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動先工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
				// 移動先預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			else if("3".equals(mvSkTtmKbn))
			{
				// 移動先倉庫コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動先工事会社コードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
				// 移動先預託先オフィスコードを設定
				addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
			

			// 移動先棚コードを設定
			addData.sendMessageString(DKW00501SFConst.MOVE_SAKI_SHELF_CD_13, X31CWebConst.DATABEAN_SET_VALUE
					, bean.sendMessageString(DKW00501SFConst.MV_SK_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先個別指定フラグを設定
			addData.sendMessageString(DKW00501SFConst.HISOS_KSITEI_FLG_13, X31CWebConst.DATABEAN_SET_VALUE, "1");
			
			// 配送先住所の設定
			X31SDataBeanAccessArray dbaaShkaSkInfo = bean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
			X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);
			
			// 配送先名1を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_NM_1_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先名2を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_NM_2_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_2_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先名3を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_NM_3_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_3_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先住所コードを設定
			addData.sendMessageString(DKW00501SFConst.HISOS_AD_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
			// 配送先郵便番号を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_PCD_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.SHKA_SK_PCD7_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先都道府県名を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_STATE_NM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_STATE_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先市区町村名を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_CITY_NM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_CITY_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先大字通称名を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_OAZTSU_NM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先字丁目名を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_AZCHO_NM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先番地号を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_BNCHIGO_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_BNCHIGO_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先住所補記・建物名を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_ADRTTM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRTTM_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先住所補記・部屋番号を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_ADRRM_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRRM_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 配送先電話番号を設定
			addData.sendMessageString(DKW00501SFConst.HISOS_TELNO_13, X31CWebConst.DATABEAN_SET_VALUE
					, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_TLN_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 住所未確定フラグを設定
			addData.sendMessageString(DKW00501SFConst.AD_MI_FIX_FLG_13, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		else
		{
			// 複数件
			X31SDataBeanAccessArray seigyoList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
			X31SDataBeanAccessArray addList = bean.getDataBeanArray(DKW00501SFConst.MOVE_UPD_LIST);

			// 型番号
			String mdlNo = "";

			for (int i = 0; i < seigyoList.getCount(); i++)
			{
				X31SDataBeanAccess seigyoData = seigyoList.getDataBean(i);

				// 型番号
				String target = seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				// 指示数
				String sjiNo = getSjiNo(seigyoList, target);

				if (0 == i || (!mdlNo.equals(target)))
				{
					// 型番号を保持
					mdlNo = target;

					X31SDataBeanAccess addData = addList.addDataBean();

					// 商品状態コードを設定
					addData.sendMessageString(DKW00501SFConst.GDS_STAT_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.STAT_CD, X31CWebConst.DATABEAN_GET_VALUE));
					// 指示数量を設定
					addData.sendMessageString(DKW00501SFConst.SJI_CNT_13, X31CWebConst.DATABEAN_SET_VALUE, sjiNo);

					if ("1".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// 宅内機器
						// 宅内機器型式コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
								, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
						// 付属品型式コードを設定
						addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 宅内機器セット品型コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if ("2".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// 付属品
						// 宅内機器型式コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 付属品型式コードを設定
						addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
								, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
						// 宅内機器セット品型コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else
					{
						// セット品
						// 宅内機器型式コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 付属品型式コードを設定
						addData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 宅内機器セット品型コードを設定
						addData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_13, X31CWebConst.DATABEAN_SET_VALUE
								, seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
					}
					// 移動予定年月日を設定
					addData.sendMessageString(DKW00501SFConst.SOKODNA_MOVE_RSV_YMD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
					// 備考を設定
					addData.sendMessageString(DKW00501SFConst.SKDN_MV_BIKO_13, X31CWebConst.DATABEAN_SET_VALUE
							, seigyoData.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 移動理由コードを設定
					addData.sendMessageString(DKW00501SFConst.MOVE_RSN_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, seigyoData.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 移動理由メモを設定
					addData.sendMessageString(DKW00501SFConst.MOVE_RSN_MEMO_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					// 指定方法コードを設定
					addData.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE));
					// ヤマト連携有無を設定
					addData.sendMessageString(DKW00501SFConst.YAMATO_RENKEI_UM_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					String mvMtTtmKbn = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);

					if("1".equals(mvMtTtmKbn))
					{
						// 移動元倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE
								, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
						// 移動元工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動元預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if("2".equals(mvMtTtmKbn))
					{
						// 移動元倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動元工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
						// 移動元預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if("3".equals(mvMtTtmKbn))
					{
						// 移動元倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動元工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動元預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.MOTO_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
					}

					// 移動元棚コードを設定
					addData.sendMessageString(DKW00501SFConst.MOVE_MOTO_SHELF_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
					String mvSkTtmKbn = bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);

					if("1".equals(mvSkTtmKbn))
					{
						// 移動先倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE
								, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
						// 移動先工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動先預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if("2".equals(mvSkTtmKbn))
					{
						// 移動先倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動先工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
						// 移動先預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if("3".equals(mvSkTtmKbn))
					{
						// 移動先倉庫コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_SOKO_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動先工事会社コードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_KOJI_COMP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 移動先預託先オフィスコードを設定
						addData.sendMessageString(DKW00501SFConst.SAKI_YOTAKU_SAKI_OFFC_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
					}

					// 移動先棚コードを設定
					addData.sendMessageString(DKW00501SFConst.MOVE_SAKI_SHELF_CD_13, X31CWebConst.DATABEAN_SET_VALUE
							, bean.sendMessageString(DKW00501SFConst.MV_SK_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先個別指定フラグを設定
					addData.sendMessageString(DKW00501SFConst.HISOS_KSITEI_FLG_13, X31CWebConst.DATABEAN_SET_VALUE, "1");
					
					X31SDataBeanAccessArray dbaaShkaSkInfo = bean.getDataBeanArray(DKW00501SFConst.SHKA_SK_ADR);
					X31SDataBeanAccess subbean = dbaaShkaSkInfo.getDataBean(0);
					
					// 配送先名1を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_NM_1_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_1_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先名2を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_NM_2_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_2_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先名3を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_NM_3_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_NM_3_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先住所コードを設定
					addData.sendMessageString(DKW00501SFConst.HISOS_AD_CD_13, X31CWebConst.DATABEAN_SET_VALUE, "");
					// 配送先郵便番号を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_PCD_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.SHKA_SK_PCD7_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先都道府県名を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_STATE_NM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_STATE_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先市区町村名を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_CITY_NM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_CITY_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先大字通称名を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_OAZTSU_NM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_OAZTSU_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先字丁目名を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_AZCHO_NM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_AZCHO_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先番地号を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_BNCHIGO_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_BNCHIGO_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先住所補記・建物名を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_ADRTTM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRTTM_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先住所補記・部屋番号を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_ADRRM_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_AD_ADRRM_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 配送先電話番号を設定
					addData.sendMessageString(DKW00501SFConst.HISOS_TELNO_13, X31CWebConst.DATABEAN_SET_VALUE
							, subbean.sendMessageString(DKW00501SFConst.I_SHKA_SK_TLN_18, X31CWebConst.DATABEAN_GET_VALUE));
					// 住所未確定フラグを設定
					addData.sendMessageString(DKW00501SFConst.AD_MI_FIX_FLG_13, X31CWebConst.DATABEAN_SET_VALUE, "");

					// 製番指定の場合
					if ("2".equals(bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						X31SDataBeanAccessArray ucwkList = bean.getDataBeanArray(DKW00501SFConst.UCWK_UPD_LIST);
						X31SDataBeanAccess ucwkData = ucwkList.addDataBean();

						// 内訳の情報を設定
						// 棚移動数量
						ucwkData.sendMessageString(DKW00501SFConst.MOVE_CNT_14, X31CWebConst.DATABEAN_SET_VALUE, "0");
					}
				}

				// 製番指定の場合
				if ("2".equals(bean.sendMessageString(DKW00501SFConst.SHITEI_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					X31SDataBeanAccessArray ucwkList = bean.getDataBeanArray(DKW00501SFConst.UCWK_UPD_LIST);
					X31SDataBeanAccess ucwkData = ucwkList.getDataBean(ucwkList.getCount() - 1);
					X31SDataBeanAccessArray ucwkMeisaiList = ucwkData.getDataBeanArray(DKW00501SFConst.UCWK_UPD_MSI_LIST);
					X31SDataBeanAccess ucwkMeisaiData = ucwkMeisaiList.addDataBean();

					// 内訳の明細情報を設定
					// 備考
					ucwkMeisaiData.sendMessageString(DKW00501SFConst.BIKO_15, X31CWebConst.DATABEAN_SET_VALUE, 
														seigyoData.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 移動理由コード
					ucwkMeisaiData.sendMessageString(DKW00501SFConst.MOVE_RSN_CD_15, X31CWebConst.DATABEAN_SET_VALUE, 
														seigyoData.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_GET_VALUE));
					if ("1".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// 宅内機器
						// 宅内機器型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, 
															seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
						// 付属品型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 宅内機器セット品型コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else if ("2".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// 付属品
						// 宅内機器型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 付属品型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, 
															seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
						// 宅内機器セット品型コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
					else
					{
						// セット品
						// 宅内機器型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 付属品型式コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.HUZOKUHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 宅内機器セット品型コードを設定
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_MODEL_CD_15, X31CWebConst.DATABEAN_SET_VALUE, 
															seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
					}

					// セット品の場合
					if ("3".equals(seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE)))
					{
						// 機器製造番号
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.KIKI_SEIZO_NO_15, X31CWebConst.DATABEAN_SET_VALUE, "");
						// 宅内機器セット品番号
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_NO_15, X31CWebConst.DATABEAN_SET_VALUE, 
															seigyoData.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
					}
					else
					{
						// 上記以外の場合
						// 機器製造番号
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.KIKI_SEIZO_NO_15, X31CWebConst.DATABEAN_SET_VALUE, 
															seigyoData.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
						// 宅内機器セット品番号
						ucwkMeisaiData.sendMessageString(DKW00501SFConst.TAKNKIKI_SETHIN_NO_15, X31CWebConst.DATABEAN_SET_VALUE, "");
					}
				}
			}
		}
	}

	private String getSjiNo(X31SDataBeanAccessArray seigyoList, String mdlNo)
	{
		// 指示数
		long sjiNo = 0;

		for (int i = 0; i < seigyoList.getCount(); i++)
		{
			X31SDataBeanAccess seigyoData = seigyoList.getDataBean(i);

			// 型番号
			String target = seigyoData.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE);

			if (mdlNo.equals(target))
			{
				sjiNo += Long.parseLong(seigyoData.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_GET_VALUE));
			}
		}
		return Long.toString(sjiNo);
	}

	private void setAddList(int pageNo, String screenId)
	{

		X31SDataBeanAccess bean = super.getServiceFormBean();
		bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST).clearArray();
		X31SDataBeanAccessArray dbaaAddControlList = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
		X31SDataBeanAccessArray dbaaMMoveShelfAddList = bean.getDataBeanArray(DKW00501SFConst.M_MOVE_SHELF_ADD_LIST);
		int rowPerPage = Integer.parseInt(JCCWebCommon.getSearchConst("DKW00502_ROW_PER_PAGE"));

		HashMap<String, HashMap<String, Object>> pageMap = new HashMap<String, HashMap<String, Object>>();
		HashMap<String, Object> pageKoMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		pageKoMap.put("func_code", "1");
		pageKoMap.put("search_type", "1");
		pageKoMap.put("max_search_num", JCCWebCommon.getSearchConst("DKW00502_MAX_SHOW_CNT"));
		pageKoMap.put("display_num", JCCWebCommon.getSearchConst("DKW00502_ROW_PER_PAGE"));
		pageMap.put("dammy", pageKoMap);

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this,  "0", "dammy", pageMap, screenId);

		if (pageNo == 0)
		{
			pageNo = Integer.parseInt((String)(pageMap.get("dammy").get("display_page_num")));
		}

		int dispPageNo = (pageNo - 1) * rowPerPage;

		for (int i = dispPageNo; i < dbaaAddControlList.getCount(); i++)
		{

			if (i >= pageNo * rowPerPage)
			{
				break;
			}
			X31SDataBeanAccess dbaAddControlList = dbaaAddControlList.getDataBean(i);
			X31SDataBeanAccess dbaMMoveShelfAddList = dbaaMMoveShelfAddList.addDataBean();

			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_NO_09, X31CWebConst.DATABEAN_SET_VALUE, (i + 1) + "");
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MDL_NO_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_MDL_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_GDS_NM_DISP_09, X31CWebConst.DATABEAN_SET_VALUE, "");
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_GDS_NM_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_GDS_NM_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_SJI_CNT_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_SJI_CNT_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_MV_RSN_CD_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MV_RSN_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_MV_RSN_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_MDL_NO_KBN_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_BIKO_09, X31CWebConst.DATABEAN_SET_VALUE
					, dbaAddControlList.sendMessageString(DKW00501SFConst.L_BIKO_08, X31CWebConst.DATABEAN_GET_VALUE));
			dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_CONTROL_NO_09, X31CWebConst.DATABEAN_SET_VALUE, i + "");
			if (i % 2 == 1)
			{
				dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_COLOR_09, X31CWebConst.DATABEAN_SET_VALUE, "even");
			}
			else
			{
				dbaMMoveShelfAddList.sendMessageString(DKW00501SFConst.L_COLOR_09, X31CWebConst.DATABEAN_SET_VALUE, "odd");
			}
		}

		bean.sendMessageString(DKW00501SFConst.M_DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, dbaaMMoveShelfAddList.getCount() + "");
		bean.sendMessageString(DKW00501SFConst.M_ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");

		String totalSearchNum = String.valueOf(dbaaAddControlList.getCount());
		String totalPageNum = "";
		if (dbaaAddControlList.getCount() % rowPerPage == 0)
		{
			totalPageNum = String.valueOf(dbaaAddControlList.getCount() / rowPerPage);
		}
		else
		{
			totalPageNum = String.valueOf(((dbaaAddControlList.getCount() / rowPerPage) + 1));
		}

		pageMap = new HashMap<String, HashMap<String, Object>>();
		pageKoMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		pageKoMap.put("func_code", "1");
		pageKoMap.put("search_type", "1");
		pageKoMap.put("max_search_num", JCCWebCommon.getSearchConst("DKW00502_MAX_SHOW_CNT"));
		pageKoMap.put("display_num", JCCWebCommon.getSearchConst("DKW00502_ROW_PER_PAGE"));
		pageKoMap.put("total_search_num", totalSearchNum);
		pageKoMap.put("total_page_num", totalPageNum);

		pageMap.put("dammy", pageKoMap);

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this,  "0", "dammy", pageMap, screenId);

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "L_PAG_LIST", screenId);

		return;
	}

	/**
	/**
	 * プルダウンから取得した名称より表示名称のみを取得します。
	 * @param value プルダウンから取得した名称
	 * @return 取得した表示名称
	 */
	private String getNameForPullDown(String value)
	{
		int index = value.indexOf(".");

		return value.substring(index + 1);
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @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);
		if (!cdList.equals(nmList))
		{
			slideArrayOnDatabean(pulldownBean, nmList);
		}
	}
	
	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @param pulldown プルダウンを指す項目ID
	 * @param cdList プルダウン中でコード一覧をさす項目ID
	 * @param kbnList プルダウン中で区分一覧をさす項目ID
	 */
	private void pushEmptyToTopOfPulldown(String pulldown, String cdList, String nmList, String kbnList)
	{
		X31SDataBeanAccess pulldownBean = 
			super.getServiceFormBean().getDataBeanArray(pulldown).getDataBean(0);

		appendPrefix(getBean(this, pulldown), nmList);

		slideArrayOnDatabean(pulldownBean, cdList);
		if (!cdList.equals(nmList))
		{
			slideArrayOnDatabean(pulldownBean, nmList);
			slideArrayOnDatabean(pulldownBean, kbnList);
		}
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @param pulldown プルダウンを指す項目ID
	 * @param cdList プルダウン中でコード一覧をさす項目ID
	 * @param nmList プルダウン中で名称一覧をさす項目ID
	 */
	private void pushEmptyToTopOfPulldownAndCode(String pulldown, String cdList, String nmList)
	{
		X31SDataBeanAccess pulldownBean = 
			super.getServiceFormBean().getDataBeanArray(pulldown).getDataBean(0);

		X31SDataBeanAccess bean = getBean(this, pulldown);
		
		int dataCount = (Integer)bean.sendMessage(nmList, X31CWebConst.DATABEAN_GET_COUNT);

		for (int i = 0;i < dataCount;i++) 
		{
			String value = bean.sendMessageString(nmList, X31CWebConst.DATABEAN_GET_VALUE, i);
			String code = bean.sendMessageString(cdList, X31CWebConst.DATABEAN_GET_VALUE, i);

			bean.sendMessageString(nmList, X31CWebConst.DATABEAN_SET_VALUE, i, String.format("%s %s", code, value));
		}

		slideArrayOnDatabean(pulldownBean, cdList);
		if (!cdList.equals(nmList))
		{
			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, "");
	}

	/**
	 * 画面遷移先を設定します。
	 * <br>
	 * @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);
	}
	
	/**
	 * 在庫情報の取得を行います。
	 * <br>
	 * @param bean 棚移動基本設定情報
	 * @return 移動元在庫数
	 */
	private String getZaikoInfo(X31SDataBeanAccess bean)
	{
		
		// 選択型番号を設定
		String tkkkMdlCd = bean.sendMessageString(DKW00501SFConst.S_MDL_NO, X31CWebConst.DATABEAN_GET_VALUE);
		
		String mtKnrBsSkbtCd = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);
		String mtKnrBsCd = bean.sendMessageString(DKW00501SFConst.MV_MT_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String mtKnrBsTnCd = bean.sendMessageString(DKW00501SFConst.MV_MT_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String gdsStCd = bean.sendMessageString(DKW00501SFConst.STAT_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String skKnrBsSkbtCd = bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE);
		String skKnrBsCd = bean.sendMessageString(DKW00501SFConst.MV_SK_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE);
		String skKnrBsTnCd = bean.sendMessageString(DKW00501SFConst.MV_SK_SHELF_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		
		// 移動在庫情報を取得
		X31SDataBeanAccessArray reqList = bean.getDataBeanArray(DKW00501SFConst.MV_ZAIKO);

		reqList.addDataBean();	//移動元
		reqList.addDataBean();	//移動先
		
		// 移動元在庫情報
		X31SDataBeanAccess mtBean = reqList.getDataBean(0);
		// 検索条件を設定
		mtBean.sendMessageString(DKW00501SFConst.KNRI_PLC_SKBT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, mtKnrBsSkbtCd);
		mtBean.sendMessageString(DKW00501SFConst.KNRI_PLC_CD_19, X31CWebConst.DATABEAN_SET_VALUE, mtKnrBsCd);
		mtBean.sendMessageString(DKW00501SFConst.KNRI_PLC_SLF_CD_19, X31CWebConst.DATABEAN_SET_VALUE, mtKnrBsTnCd);
		mtBean.sendMessageString(DKW00501SFConst.TK_MDL_CD_19, X31CWebConst.DATABEAN_SET_VALUE, tkkkMdlCd);
		mtBean.sendMessageString(DKW00501SFConst.GDS_STAT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, gdsStCd);
		
		// 移動先在庫情報
		X31SDataBeanAccess skBean = reqList.getDataBean(1);
		// 検索条件を設定
		skBean.sendMessageString(DKW00501SFConst.KNRI_PLC_SKBT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, skKnrBsSkbtCd);
		skBean.sendMessageString(DKW00501SFConst.KNRI_PLC_CD_19, X31CWebConst.DATABEAN_SET_VALUE, skKnrBsCd);
		skBean.sendMessageString(DKW00501SFConst.KNRI_PLC_SLF_CD_19, X31CWebConst.DATABEAN_SET_VALUE, skKnrBsTnCd);
		skBean.sendMessageString(DKW00501SFConst.TK_MDL_CD_19, X31CWebConst.DATABEAN_SET_VALUE, tkkkMdlCd);
		skBean.sendMessageString(DKW00501SFConst.GDS_STAT_CD_19, X31CWebConst.DATABEAN_SET_VALUE, "-");

		//在庫情報を取得
		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0043");

		X31SDataBeanAccess[] paramBean = {bean};
		
		// マッピングクラスのインスタンスを生成
		DKSV0043_DKSV0043OPDBMapper mapper = new DKSV0043_DKSV0043OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();
		mapper.setDKSV004301SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 検索結果格納用マップ
		HashMap<String, String> outputMap = new HashMap<String, String>();

		// 検索処理呼出
		invokeService(paramMap, dataMap, outputMap);

		mapper.getDKSV004301SC(paramBean, outputMap);
		
		X31SDataBeanAccessArray resultList = paramBean[0].getDataBeanArray(DKW00501SFConst.MV_ZAIKO);
		
		X31SDataBeanAccess mtBeanRst = resultList.getDataBean(0);	// 移動元在庫情報
		X31SDataBeanAccess skBeanRst = resultList.getDataBean(1);	// 移動先在庫情報
		// 在庫数（引当可能数）の算出
		String mtZaikoCnt = this.getZaikoCnt(mtBeanRst);
		String skZaikoCnt = this.getZaikoCnt(skBeanRst);
		
		reqList.clearArray();
		
		// 商品情報と同時に在庫数を取得
		bean.sendMessageString(DKW00501SFConst.D_MV_MT_ZAIKO_CNT, X31CWebConst.DATABEAN_SET_VALUE, mtZaikoCnt);
		bean.sendMessageString(DKW00501SFConst.D_MV_SK_ZAIKO_CNT, X31CWebConst.DATABEAN_SET_VALUE, skZaikoCnt);
		
		return mtZaikoCnt;
	}
	
	/**
	 * 「在庫数」(引当可能数)を算出します。
	 * <br>
	 * @param bean 移動在庫情報
	 * @return 「在庫数」(引当可能数)
	 */
	private String getZaikoCnt(X31SDataBeanAccess bean)
	{
		long zikCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.JZAIKO_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long hsUkCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.HAISO_UK_JUCHU_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long hsShkCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.HAISO_SHKA_SJI_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long ybkkSjCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.YBKIKI_HAISO_SJI_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long tnSjCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.SHELF_MV_SJI_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long ybkkChCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.YBKIKI_HAISO_CHU_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long ybkkShkCnt = this.getStringToLong(bean.sendMessageString(DKW00501SFConst.YBKIKI_SHKA_FIN_CNT_19, X31CWebConst.DATABEAN_GET_VALUE));
		long zaikoCnt = zikCnt - hsUkCnt - hsShkCnt - ybkkSjCnt - tnSjCnt - ybkkChCnt - ybkkShkCnt;
		
		return Long.toString(zaikoCnt);
	}
	
	/**
	 * StringからIntへ変換し数値でない場合は0を返します。
	 * <br>
	 * @param str Stringの数値
	 * @return intの数値
	 */
	private long getStringToLong(String str)
	{
		long retLong = 0;
		if(str != null && !str.equals(""))
		{
			retLong = Long.parseLong(str);
		}
		
		return retLong;
	}
	
	
	@SuppressWarnings("unchecked")
	private boolean checkPlace(HashMap outputMap, X31CMessageResult receivedErrors)
	{
		List<String> errors = getErrorSeizoNos(outputMap, "seizoNo");
		
		if (JDKCommonUtil.isNull(errors))
		{
			return false;
		}
		if (errors.isEmpty())
		{
			return false;
		}
		
		for (String error : errors)
		{
			int index = getIndexOfSeizoNo(error, L_SEIZO_NO_09);
			String rowPerPage = JCCWebCommon.getSearchConst("DKW00502_ROW_PER_PAGE");
			// ページ数
			String pageNum = "";
			// 行数
			String rowNum = "";

			if (index % Integer.parseInt(rowPerPage) == 0)
			{
				pageNum = String.valueOf(index / Integer.parseInt(rowPerPage));
				rowNum = rowPerPage;
			}
			else
			{
				pageNum = String.valueOf(index / Integer.parseInt(rowPerPage) + 1);
				rowNum = String.valueOf(index % Integer.parseInt(rowPerPage));
			}
			JCCWebCommon.setMessageInfo(this, EKB0790_KW, new String [] { "宅内機器", "製造番号の機器", pageNum + "ページ" + rowNum });
		}
		return true;
	}


	/**
	 * エラーとなった製造番号を取得します。
	 * @param outputMap 出力データ
	 * @return 製造番号一覧
	 */
	@SuppressWarnings("unchecked")
	public List<String> getErrorSeizoNos(HashMap outputMap, String key)
	{
		HashMap parentMap = null;
		if(outputMap.containsKey("DKSV003400CC"))
		{
			parentMap = (HashMap)outputMap.get("DKSV003400CC");
		}
		
		if (!parentMap.containsKey("seizoNo_err_list"))
		{
			return new ArrayList<String>();
		}
		
		List<String> errors = new ArrayList<String>();
		for (Map<String, Object> error : (ArrayList<Map<String, Object>>)parentMap.get("seizoNo_err_list"))
		{
			if (!error.containsKey(key))
			{
				continue;
			}
			errors.add(error.get(key).toString());
		}
		
		return errors;
	}


	/**
	 * 製造番号の項番を取得します。
	 */
	private int getIndexOfSeizoNo(String seizoNo, String key)
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray list = bean.getDataBeanArray(DKW00501SFConst.ADD_CONTROL_LIST);
		int size = list.getCount();
		for (int i = 0 ; i < size ; i++ )
		{
			X31SDataBeanAccess data = list.getDataBean(i);
			if (seizoNo.equals(getData(data, key)))
			{
				return i + 1;
			}
		}
		return 0;
	}
}
