/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：物流管理システム
*   モジュール名    ：DKW01501SFLogic
*   ソースファイル名：DKW01501SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月27日
*＜機能概要＞
*   在庫出荷完了一覧照会画面です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/27   FJ）仁多見  新規作成
*
**********************************************************************/
package eo.web.webview.DKW01501SF;

import static eo.web.webview.common.JDKScreenConst.SCREEN_ID_DKW01504;
import static eo.web.webview.common.JDKWebCommon.appendPrefix;
import static eo.web.webview.common.JDKWebCommon.getBean;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JDKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JDKCommonUtil;
import eo.common.util.JPCEditString;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.DKW01502SF.DKW01502SFConst;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JDKScreenConst;
import eo.web.webview.common.JDKWebCommon;
import eo.web.webview.mapping.DKSV0072_DKSV0072OPDBMapper;
import eo.web.webview.mapping.DKSV0073_DKSV0073OPDBMapper;

/**
 * 在庫出荷完了一覧照会画面のビューロジック処理を行います。
 * @author user
 */
public class DKW01501SFLogic extends JCCWebBusinessLogic
{
	/**
	 * シリアルバージョンＩＤ
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 検索有無フラグ：再検索あり
	 */
	private static final String SEACH_FLG_TRUE = "1";

	/**
	 * 検索有無フラグ：再検索なし
	 */
	private static final String SEACH_FLG_FALSE = "0";

	/**
	 * プルダウン判定コード：建物名
	 */
	private static final String JUDGECD_TTMCD = "0";
	private static final String JUDGECD_TTMKBN = "2";

	/**
	 * プルダウン判定コード：契約サービス
	 */
	private static final String JUDGECD_KEISVC = "1";

	/**
	 * 初期表示を処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean init() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 運用日付を取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);

		// 基準日を設定
		serviceFormBean.sendMessageString(DKW01501SFConst.KJN_YMD, X31CWebConst.DATABEAN_SET_VALUE, opeDate);

		// 一覧表示件数を初期化する
		serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 検索有無フラグを取得する
		String umuFlg = serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		String bkTtmCd = null;
		String bkTtmKbn = null;
		String bkHaisoReqYMDSta = null;
		String bkHaisoReqYMDEnd = null;
		String bkSvkeiNo = null;
		String bkAnkenNo = null;
		String bkSysId = null;
		String bkKeiSvc = null;
		String judgeCd = null;
		String func_code = null;

		// メニュー（null）の場合
		if (JDKCommonUtil.isNull(umuFlg) || SEACH_FLG_FALSE.equals(umuFlg))
		{
			// 初期化
			// 検索有無フラグ
			serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// 検索用建物コード
			serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_SET_VALUE, bkTtmCd);
			serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, bkTtmKbn);
			// 検索用配送依頼開始日
			serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqYMDSta);
			// 検索用配送依頼終了日
			serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqYMDEnd);
			// サービス契約番号
			serviceFormBean.sendMessageString(DKW01501SFConst.I_SVKEI_NO, X31CWebConst.DATABEAN_SET_VALUE, bkSvkeiNo);
			// 案件番号
			serviceFormBean.sendMessageString(DKW01501SFConst.I_ANKEN_NO, X31CWebConst.DATABEAN_SET_VALUE, bkAnkenNo);
			// ＳＹＳＩＤ
			serviceFormBean.sendMessageString(DKW01501SFConst.I_SYSID, X31CWebConst.DATABEAN_SET_VALUE, bkSysId);
			// 検索用契約サービス
			serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_SET_VALUE, bkKeiSvc);
			// 行番号
			serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");
			// 機能コードを設定
			func_code = JPCModelConstant.FUNC_CD_1;
		}
		// メニュー以外の場合
		else
		{
			// 画面表示データを設定
			// 建物コード
			bkTtmCd = serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_CD , X31CWebConst.DATABEAN_GET_VALUE);
			bkTtmKbn = serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_KBN , X31CWebConst.DATABEAN_GET_VALUE);

			// 配送依頼日（ＦＲＯＭ）
			X31SDataBeanAccessArray haisoReqYMDStaArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_STA);
			X31SDataBeanAccess haisoReqYMDSta = haisoReqYMDStaArray.getDataBean(0);
			bkHaisoReqYMDSta = serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD
									, X31CWebConst.DATABEAN_GET_VALUE);
			haisoReqYMDSta.sendMessageString(DKW01501SFConst.YEAR_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(bkHaisoReqYMDSta));
			haisoReqYMDSta.sendMessageString(DKW01501SFConst.MON_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(bkHaisoReqYMDSta));
			haisoReqYMDSta.sendMessageString(DKW01501SFConst.DAY_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(bkHaisoReqYMDSta));

			// 配送依頼日（ＴＯ）
			X31SDataBeanAccessArray haisoReqYMDEndArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_END);
			X31SDataBeanAccess haisoReqYMDEnd = haisoReqYMDEndArray.getDataBean(0);
			bkHaisoReqYMDEnd = serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD
									, X31CWebConst.DATABEAN_GET_VALUE);
			haisoReqYMDEnd.sendMessageString(DKW01501SFConst.YEAR_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toYearFromYmd(bkHaisoReqYMDEnd));
			haisoReqYMDEnd.sendMessageString(DKW01501SFConst.MON_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toMonthFromYmd(bkHaisoReqYMDEnd));
			haisoReqYMDEnd.sendMessageString(DKW01501SFConst.DAY_02
					, X31CWebConst.DATABEAN_SET_VALUE, JPCEditString.toDayFromYmd(bkHaisoReqYMDEnd));

			// サービス契約番号
			bkSvkeiNo = serviceFormBean.sendMessageString(DKW01501SFConst.H_SVKEI_NO , X31CWebConst.DATABEAN_GET_VALUE);

			// 案件番号
			bkAnkenNo = serviceFormBean.sendMessageString(DKW01501SFConst.H_ANKEN_NO , X31CWebConst.DATABEAN_GET_VALUE);

			// ＳＹＳＩＤ
			bkSysId = serviceFormBean.sendMessageString(DKW01501SFConst.H_SYSID , X31CWebConst.DATABEAN_GET_VALUE);

			// 契約サービス
			bkKeiSvc = serviceFormBean.sendMessageString(DKW01501SFConst.H_KEI_SVC , X31CWebConst.DATABEAN_GET_VALUE);

			// 検索用データを設定
			// 建物コード
			serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_SET_VALUE, bkTtmCd);
			serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, bkTtmKbn);
			// 配送依頼開始日
			serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqYMDSta);
			// 配送依頼終了日
			serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqYMDEnd);
			// サービス契約番号
			serviceFormBean.sendMessageString(DKW01501SFConst.I_SVKEI_NO, X31CWebConst.DATABEAN_SET_VALUE, bkSvkeiNo);
			// 案件番号
			serviceFormBean.sendMessageString(DKW01501SFConst.I_ANKEN_NO, X31CWebConst.DATABEAN_SET_VALUE, bkAnkenNo);
			// ＳＹＳＩＤ
			serviceFormBean.sendMessageString(DKW01501SFConst.I_SYSID, X31CWebConst.DATABEAN_SET_VALUE, bkSysId);
			// 契約サービス
			serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_SET_VALUE, bkKeiSvc);

			// 機能コードを設定
			// サービス契約番号より検索の場合：２
			if (bkSvkeiNo != null && !"".equals(bkSvkeiNo))
			{
				func_code = JPCModelConstant.FUNC_CD_2;
			}
			// 案件番号より検索の場合：３
			else if (bkAnkenNo != null && !"".equals(bkAnkenNo))
			{
				func_code = JPCModelConstant.FUNC_CD_3;
			}
			// ＳＹＳＩＤ／契約サービスより検索の場合：４
			else if ((bkSysId != null && !"".equals(bkSysId))
					|| (bkKeiSvc != null && !"".equals(bkKeiSvc)))
			{
				func_code = JPCModelConstant.FUNC_CD_4;
			}
			// 検索条件の選択なしの場合：１
			else
			{
				func_code = JPCModelConstant.FUNC_CD_1;
			}

			X31SDataBeanAccess[] paramBean = {serviceFormBean};

			// サービスの呼び出しを行う
			putServiceDKSV0073(paramBean, func_code);

			// 行番号を設定
			String rowNo = 
				serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
			if (JDKCommonUtil.isNull(rowNo))
			{
				serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, 
													X31CWebConst.DATABEAN_SET_VALUE, "0");
			}

			// 一覧表の表示設定を行う
			this.setList(paramBean[0], serviceFormBean);

			String flg = null;

			// 検索有無フラグを設定
			if (!"0".equals(serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				flg = SEACH_FLG_TRUE;
			}
			else
			{
				flg = SEACH_FLG_FALSE;
			}
			serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, flg);
		}

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		HashMap<String, String> inputMap = new HashMap<String, String>();
		HashMap<String, String> outputMap = new HashMap<String, String>();

		// ユースケースIDを設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0072");

		// DataBean⇔BPの上りマッピングを行う
		DKSV0072_DKSV0072OPDBMapper mapper = new DKSV0072_DKSV0072OPDBMapper();
		mapper.setDKSV007201SC(paramBean, inputMap, func_code);
		mapper.setDKSV007202SC(paramBean, inputMap, func_code);

		// 検索結果格納用マップを生成
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		JCCMessageCache.setMessageCache();

		// DataBean⇔BPの下りマッピングを行う
		mapper.getDKSV007201SC(paramBean, outputMap);
		mapper.getDKSV007202SC(paramBean, outputMap);

		// プルダウンの要素にインデックスを付与する
		appendPrefix(getBean(this, DKW01501SFConst.TTM_LIST), DKW01501SFConst.SOKO_NM_LIST_01);
		pushEmptyToTopOfPulldown(DKW01501SFConst.I_KEI_SVC_LIST, DKW01501SFConst.CD_DIV_CD_LIST_03, DKW01501SFConst.CD_DIV_NM_LIST_03);

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01501, JDKScreenConst.SCREEN_NAME_DKW01501);

		// メニュー以外の場合
		if (SEACH_FLG_TRUE.equals(umuFlg))
		{
			// 建物名プルダウンの選択値を設定
			judgeCd = JUDGECD_TTMCD;
			int ttmIndex = this.getCodeToIndexForDdl(bkTtmCd, serviceFormBean, judgeCd);
			X31SDataBeanAccessArray ttmArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.TTM_LIST);
			X31SDataBeanAccess ttm = ttmArray.getDataBean(0);
			ttm.sendMessageString(DKW01501SFConst.I_TTM_INDEX_01, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(ttmIndex));
			// 契約サービスプルダウンの選択値を設定
			judgeCd = JUDGECD_KEISVC;
			int keiSvcIndex = this.getCodeToIndexForDdl(bkKeiSvc, serviceFormBean, judgeCd);
			X31SDataBeanAccessArray iKeiSvcArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_KEI_SVC_LIST);
			X31SDataBeanAccess iKeiSvc = iKeiSvcArray.getDataBean(0);
			iKeiSvc.sendMessageString(DKW01501SFConst.I_KEI_SVC_INDEX_03, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(keiSvcIndex));
		}

		return true;
	}

	/**
	 * 在庫出荷完了一覧照会画面の検索ボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean search() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		String judgeCd = null;
		String sTtmCd = null;
		String sTtmKbn = null;
		String bkHaisoReqSta = null;
		String bkHaisoReqEnd = null;
		String sKeiSvcCd = null;

		// 初期化
		// 一覧表示件数
		serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// 検索用建物コード
		serviceFormBean.sendMessage(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_CLEAR);
		// 検索用配送依頼開始日
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_CLEAR);
		// 検索用配送依頼終了日
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_CLEAR);
		// 検索用契約サービス
		serviceFormBean.sendMessage(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_CLEAR);
		// 在庫出荷完了一覧照会明細リスト
		serviceFormBean.getDataBeanArray(DKW01501SFConst.SHOKAI_LIST).clearArray();
		// 引継用建物コード
		serviceFormBean.sendMessage(DKW01501SFConst.H_TTM_CD, X31CWebConst.DATABEAN_CLEAR);
		// 引継用配送依頼開始日
		serviceFormBean.sendMessage(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_CLEAR);
		// 引継用配送依頼終了日
		serviceFormBean.sendMessage(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_CLEAR);
		// 引継用サービス契約番号
		serviceFormBean.sendMessage(DKW01501SFConst.H_SVKEI_NO, X31CWebConst.DATABEAN_CLEAR);
		// 引継用案件番号
		serviceFormBean.sendMessage(DKW01501SFConst.H_ANKEN_NO, X31CWebConst.DATABEAN_CLEAR);
		// 引継用ＳＹＳＩＤ
		serviceFormBean.sendMessage(DKW01501SFConst.H_SYSID, X31CWebConst.DATABEAN_CLEAR);
		// 引継用契約サービス
		serviceFormBean.sendMessage(DKW01501SFConst.H_KEI_SVC, X31CWebConst.DATABEAN_CLEAR);

		// ページング情報の設定
		JCCWebCommon.clearPageLinkInfo(this, JDKScreenConst.SCREEN_ID_DKW01501);

		// 検索用建物コードを設定
		judgeCd = JUDGECD_TTMCD;
		X31SDataBeanAccessArray ttmArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.TTM_LIST);
		String tIndex = ttmArray.getDataBean(0).sendMessageString(DKW01501SFConst.I_TTM_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		sTtmCd = this.getIndexToCodeForDdl(Integer.valueOf(tIndex), serviceFormBean, judgeCd);
		serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_SET_VALUE, sTtmCd);
		sTtmKbn = this.getIndexToCodeForDdl(Integer.valueOf(tIndex), serviceFormBean, JUDGECD_TTMKBN);
		serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, sTtmKbn);

		// 配送依頼日（ＦＲＯＭ）に日付を設定する
		X31SDataBeanAccessArray haisoReqStaArray
						= serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_STA);
		X31SDataBeanAccess haisoReqSta = haisoReqStaArray.getDataBean(0);
		// 年を取得
		String fromYear = haisoReqSta.sendMessageString(DKW01501SFConst.YEAR_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 月を取得
		String fromMon = haisoReqSta.sendMessageString(DKW01501SFConst.MON_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 日を取得
		String fromDay = haisoReqSta.sendMessageString(DKW01501SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JDKCommonUtil.isNull(fromYear) || !JDKCommonUtil.isNull(fromMon) || !JDKCommonUtil.isNull(fromDay))
		{
			bkHaisoReqSta = fromYear + fromMon + fromDay;
		}
		// 検索用配送依頼開始日を設定
		serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD
				, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqSta);

		// 配送依頼日（ＴＯ）に日付を設定する
		X31SDataBeanAccessArray haisoReqEndArray
						= serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_END);
		X31SDataBeanAccess haisoReqEnd = haisoReqEndArray.getDataBean(0);
		// 年を取得
		String toYear = haisoReqEnd.sendMessageString(DKW01501SFConst.YEAR_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 月を取得
		String toMon = haisoReqEnd.sendMessageString(DKW01501SFConst.MON_02, X31CWebConst.DATABEAN_GET_VALUE);
		// 日を取得
		String toDay = haisoReqEnd.sendMessageString(DKW01501SFConst.DAY_02, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JDKCommonUtil.isNull(toYear) || !JDKCommonUtil.isNull(toMon) || !JDKCommonUtil.isNull(toDay))
		{
			bkHaisoReqEnd = toYear + toMon + toDay;
		}
		// 検索用配送依頼終了日を設定
		serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqEnd);

		// 検索用契約サービスを設定
		judgeCd = JUDGECD_KEISVC;
		X31SDataBeanAccessArray iKeiSvcArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_KEI_SVC_LIST);
		String kIndex = iKeiSvcArray.getDataBean(0).sendMessageString(DKW01501SFConst.I_KEI_SVC_INDEX_03, X31CWebConst.DATABEAN_GET_VALUE);
		sKeiSvcCd = this.getIndexToCodeForDdl(Integer.valueOf(kIndex), serviceFormBean, judgeCd);
		serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_SET_VALUE, sKeiSvcCd);

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		String iSvkeiNo = serviceFormBean.sendMessageString(DKW01501SFConst.I_SVKEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String iAnkenNo = serviceFormBean.sendMessageString(DKW01501SFConst.I_ANKEN_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String iSysid = serviceFormBean.sendMessageString(DKW01501SFConst.I_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		String sKeiSvc = serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_GET_VALUE);

		// 機能コードを設定する
		String func_code = null;
		// サービス契約番号より検索の場合：２
		if (iSvkeiNo != null && !"".equals(iSvkeiNo))
		{
			func_code = JPCModelConstant.FUNC_CD_2;
		}
		// 案件番号より検索の場合：３
		else if (iAnkenNo != null && !"".equals(iAnkenNo))
		{
			func_code = JPCModelConstant.FUNC_CD_3;
		}
		// ＳＹＳＩＤ／契約サービスより検索の場合：４
		else if ((iSysid != null && !"".equals(iSysid))
					|| (sKeiSvc != null && !"".equals(sKeiSvc)))
		{
			func_code = JPCModelConstant.FUNC_CD_4;
		}
		// 検索条件の選択なしの場合：１
		else
		{
			func_code = JPCModelConstant.FUNC_CD_1;
		}

		// 引継用項目にデータを格納
		serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_CD, X31CWebConst.DATABEAN_SET_VALUE, sTtmCd);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_KBN, X31CWebConst.DATABEAN_SET_VALUE, sTtmKbn);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqSta);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_SET_VALUE, bkHaisoReqEnd);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_SVKEI_NO, X31CWebConst.DATABEAN_SET_VALUE, iSvkeiNo);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_ANKEN_NO, X31CWebConst.DATABEAN_SET_VALUE, iAnkenNo);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_SYSID, X31CWebConst.DATABEAN_SET_VALUE, iSysid);
		serviceFormBean.sendMessageString(DKW01501SFConst.H_KEI_SVC, X31CWebConst.DATABEAN_SET_VALUE, sKeiSvcCd);

		// サービスの呼び出しを行う
		putServiceDKSV0073(paramBean, func_code);

		// 行番号を設定
		String rowNo = 
			serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_GET_VALUE);
		if (JDKCommonUtil.isNull(rowNo))
		{
			serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, 
												X31CWebConst.DATABEAN_SET_VALUE, "0");
		}

		// 一覧表の表示設定を行う
		this.setList(paramBean[0], serviceFormBean);

		String flg = null;

		// 検索有無フラグを設定
		if (!"0".equals(serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			flg = SEACH_FLG_TRUE;
		}
		else
		{
			flg = SEACH_FLG_FALSE;
		}
		serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, flg);

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01501, JDKScreenConst.SCREEN_NAME_DKW01501);

		return true;
	}

	/**
	 * ページングを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean paging() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 初期化
		serviceFormBean.sendMessage(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.PAGING_KEY, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.getDataBeanArray(DKW01501SFConst.SHOKAI_LIST).clearArray();

		// 退避データを設定
		serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_CD , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD , X31CWebConst.DATABEAN_GET_VALUE));
		serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_SET_VALUE
				, serviceFormBean.sendMessageString(DKW01501SFConst.H_KEI_SVC , X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		String iSvkeiNo = serviceFormBean.sendMessageString(DKW01501SFConst.H_SVKEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String iAnkenNo = serviceFormBean.sendMessageString(DKW01501SFConst.H_ANKEN_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String iSysid = serviceFormBean.sendMessageString(DKW01501SFConst.H_SYSID, X31CWebConst.DATABEAN_GET_VALUE);
		String sKeiSvc = serviceFormBean.sendMessageString(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_GET_VALUE);

		// 機能コードを設定する
		String func_code = null;
		// サービス契約番号より検索の場合：２
		if (iSvkeiNo != null && !"".equals(iSvkeiNo))
		{
			func_code = JPCModelConstant.FUNC_CD_2;
		}
		// 案件番号より検索の場合：３
		else if (iAnkenNo != null && !"".equals(iAnkenNo))
		{
			func_code = JPCModelConstant.FUNC_CD_3;
		}
		// ＳＹＳＩＤ／契約サービスより検索の場合：４
		else if ((iSysid != null && !"".equals(iSysid))
					|| (sKeiSvc != null && !"".equals(sKeiSvc)))
		{
			func_code = JPCModelConstant.FUNC_CD_4;
		}
		// 検索条件の選択なしの場合：１
		else
		{
			func_code = JPCModelConstant.FUNC_CD_1;
		}

		// サービスの呼び出しを行う
		putServiceDKSV0073(paramBean, func_code);

		// 行番号を設定
		serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 一覧表の表示設定を行う
		this.setList(paramBean[0], serviceFormBean);

		// 検索有無フラグを設定
		if (!"0".equals(serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, 
					X31CWebConst.DATABEAN_SET_VALUE, SEACH_FLG_TRUE);
		}
		else
		{
			serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, 
					X31CWebConst.DATABEAN_SET_VALUE, SEACH_FLG_FALSE);
		}

		// 遷移先画面IDの設定
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01501, JDKScreenConst.SCREEN_NAME_DKW01501);

		return true;
	}

	/**
	 * 在庫出荷完了一覧照会画面の選択ボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean select() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		X31SDataBeanAccessArray shokaiList = serviceFormBean.getDataBeanArray(DKW01501SFConst.SHOKAI_LIST);
		int strRowNo = Integer.parseInt(JDKWebCommon.getData(serviceFormBean, DKW01501SFConst.ROW_NO));
		X31SDataBeanAccess subbean = shokaiList.getDataBean(strRowNo);

		// 画面情報を設定
		HashMap dataMap = new HashMap();

		// 建物コード
		dataMap.put(DKW01502SFConst.I_TTM_CD, serviceFormBean.sendMessageString(DKW01501SFConst.S_TTM_CD , X31CWebConst.DATABEAN_GET_VALUE));
		// 建物名
		dataMap.put(DKW01502SFConst.D_TTM_NM, subbean.sendMessageString(DKW01501SFConst.L_TTM_NM_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 配送番号
		dataMap.put(DKW01502SFConst.HAISO_NO, subbean.sendMessageString(DKW01501SFConst.HAISO_NO_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 配送依頼日
		dataMap.put(DKW01502SFConst.D_HAISO_REQ_YMD, subbean.sendMessageString(DKW01501SFConst.L_HAISO_REQ_YMD_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		dataMap.put(DKW01502SFConst.D_SVKEI_NO, subbean.sendMessageString(DKW01501SFConst.L_SVKEI_NO_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 案件番号
		dataMap.put(DKW01502SFConst.D_ANKEN_NO, subbean.sendMessageString(DKW01501SFConst.L_ANKEN_NO_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// SYSID
		dataMap.put(DKW01502SFConst.D_SYSID, subbean.sendMessageString(DKW01501SFConst.L_SYSID_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 契約サービス
		dataMap.put(DKW01502SFConst.D_KEI_SVC, subbean.sendMessageString(DKW01501SFConst.L_KEI_SVC_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 出荷先
		dataMap.put(DKW01502SFConst.D_SHKA_SAKI, subbean.sendMessageString(DKW01501SFConst.L_SHKA_SAKI_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 住所
		dataMap.put(DKW01502SFConst.D_AD, subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_04 , X31CWebConst.DATABEAN_GET_VALUE));
		// 連絡先電話番号
		dataMap.put(DKW01502SFConst.D_RRKS_TLN, subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_TELNO_04 , X31CWebConst.DATABEAN_GET_VALUE));
		
		// 料金グループコードを取得
		String prcGrpCd = subbean.sendMessageString(DKW01501SFConst.PRC_GRP_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービス契約回線内訳番号
		if (JDKStrConst.EO_NET_HOME.equals(prcGrpCd) || JDKStrConst.EO_NET_MAISON.equals(prcGrpCd)|| JDKStrConst.EO_NET_MANSION.equals(prcGrpCd)|| JDKStrConst.EO_ADSL_EACCESS.equals(prcGrpCd)
				|| JDKStrConst.EO_ADSL_FLETS.equals(prcGrpCd)|| JDKStrConst.EO_TEL.equals(prcGrpCd))
		{
			// 料金グループコードが以下の場合のみサービス契約回線内訳番号を設定する
			// "02"(eo光ネットホームタイプ)、"03"(eo光ネットメゾンタイプ)、"04"(eo光ネットマンションタイプ)、"05"(eoＡＤＳＬ（eAccess）)
			// "06"(eoＡＤＳＬ（フレッツ）)、"10"(eo光電話)
			dataMap.put(DKW01502SFConst.SVC_KEI_KAISEN_UCWK_NO, subbean.sendMessageString(DKW01501SFConst.SVC_KEI_KAISEN_UCWK_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			dataMap.put(DKW01502SFConst.SVC_KEI_KAISEN_UCWK_NO, "");
		}
		
		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW01502, dataMap);

		// 戻る際に必要な情報を設定
		HashMap returnMap = new HashMap();
		// 検索有無フラグ
		returnMap.put(DKW01501SFConst.SEARCH_UM_FLG, 
						serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// ページングキー
		returnMap.put(DKW01501SFConst.PAGING_KEY, 
				subbean.sendMessageString(DKW01501SFConst.HAISO_NO_04, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索条件
		returnMap.put(DKW01501SFConst.H_TTM_CD, serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_CD, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_TTM_KBN, serviceFormBean.sendMessageString(DKW01501SFConst.H_TTM_KBN, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD, 
				serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD, 
				serviceFormBean.sendMessageString(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_SVKEI_NO, serviceFormBean.sendMessageString(DKW01501SFConst.H_SVKEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_ANKEN_NO, serviceFormBean.sendMessageString(DKW01501SFConst.H_ANKEN_NO, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_SYSID, serviceFormBean.sendMessageString(DKW01501SFConst.H_SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		returnMap.put(DKW01501SFConst.H_KEI_SVC, serviceFormBean.sendMessageString(DKW01501SFConst.H_KEI_SVC, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW01501, returnMap);

		// 戻り先画面IDを設定 
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW01502, JDKScreenConst.SCREEN_ID_DKW01501);

		// 画面遷移処理
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW01502, JDKScreenConst.SCREEN_NAME_DKW01502);

		return true;
	}

	/**
	 * 在庫出荷完了一覧照会画面のクリアボタンを処理します。
	 * <br>
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean clear() throws Exception
	{
		// 共有フォームBeanのアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// サービスフォームBeanのアクセスクラスを取得
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		// 遷移元画面IDをクリア
		serviceFormBean.sendMessage(DKW01501SFConst.MT_SCREEN_ID, X31CWebConst.DATABEAN_CLEAR);

		// 建物名リストをクリア
		X31SDataBeanAccessArray ttmListArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.TTM_LIST);
		X31SDataBeanAccess iTtmIndex = ttmListArray.getDataBean(0);
		iTtmIndex.sendMessage(DKW01501SFConst.I_TTM_INDEX_01, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_TTM_CD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_TTM_CD, X31CWebConst.DATABEAN_CLEAR);

		// 配送依頼日（ＦＲＯＭ）をクリア
		X31SDataBeanAccessArray iHaisoReqYMDStaArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_STA);
		X31SDataBeanAccess iHaisoReqYMDSta = iHaisoReqYMDStaArray.getDataBean(0);
		iHaisoReqYMDSta.sendMessage(DKW01501SFConst.YEAR_02, X31CWebConst.DATABEAN_CLEAR);
		iHaisoReqYMDSta.sendMessage(DKW01501SFConst.MON_02, X31CWebConst.DATABEAN_CLEAR);
		iHaisoReqYMDSta.sendMessage(DKW01501SFConst.DAY_02, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_HAISO_REQ_YMD_STA_YMD, X31CWebConst.DATABEAN_CLEAR);

		// 配送依頼日（ＴＯ）をクリア
		X31SDataBeanAccessArray iHaisoReqYMDEndArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_HAISO_REQ_YMD_END);
		X31SDataBeanAccess iHaisoReqYMDEnd = iHaisoReqYMDEndArray.getDataBean(0);
		iHaisoReqYMDEnd.sendMessage(DKW01501SFConst.YEAR_02, X31CWebConst.DATABEAN_CLEAR);
		iHaisoReqYMDEnd.sendMessage(DKW01501SFConst.MON_02, X31CWebConst.DATABEAN_CLEAR);
		iHaisoReqYMDEnd.sendMessage(DKW01501SFConst.DAY_02, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_HAISO_REQ_YMD_END_YMD, X31CWebConst.DATABEAN_CLEAR);

		// サービス契約番号をクリア
		serviceFormBean.sendMessage(DKW01501SFConst.I_SVKEI_NO, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_SVKEI_NO, X31CWebConst.DATABEAN_CLEAR);

		// 案件番号をクリア
		serviceFormBean.sendMessage(DKW01501SFConst.I_ANKEN_NO, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_ANKEN_NO, X31CWebConst.DATABEAN_CLEAR);

		// ＳＹＳＩＤをクリア
		serviceFormBean.sendMessage(DKW01501SFConst.I_SYSID, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_SYSID, X31CWebConst.DATABEAN_CLEAR);

		// 契約サービスリストをクリア
		X31SDataBeanAccessArray iKeiSvcListArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_KEI_SVC_LIST);
		X31SDataBeanAccess iKeiSvcList = iKeiSvcListArray.getDataBean(0);
		iKeiSvcList.sendMessage(DKW01501SFConst.I_KEI_SVC_INDEX_03, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.S_KEI_SVC, X31CWebConst.DATABEAN_CLEAR);
		serviceFormBean.sendMessage(DKW01501SFConst.H_KEI_SVC, X31CWebConst.DATABEAN_CLEAR);

		// 在庫出荷完了一覧照会明細リストをクリア
		serviceFormBean.getDataBeanArray(DKW01501SFConst.SHOKAI_LIST).clearArray();

		// 行番号をクリア
		serviceFormBean.sendMessage(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_CLEAR);

		// 一覧表示件数をクリア
		serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 遷移先画面IDを設定する
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JDKScreenConst.SCREEN_ID_DKW01501);

		// 検索有無フラグを設定
		serviceFormBean.sendMessageString(DKW01501SFConst.SEARCH_UM_FLG, X31CWebConst.DATABEAN_SET_VALUE, SEACH_FLG_FALSE);

		return true;
	}

	/**
	 * 一覧表の表示設定を行います。
	 * <br>
	 * @param paramBean 設定する一覧のBean情報
	 * @param serviceFormBean 設定する画面のServiceFormBean
	 * @throws Exception
	 */
	private void setList(X31SDataBeanAccess paramBean, X31SDataBeanAccess serviceFormBean) throws Exception
	{
		X31SDataBeanAccessArray shokaiList = paramBean.getDataBeanArray(DKW01501SFConst.SHOKAI_LIST);

		for (int i = 0; i < shokaiList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = shokaiList.getDataBean(i);

			// 建物表示名を設定 ７桁
			String ttm = JDKWebCommon.substr(subbean.sendMessageString(DKW01501SFConst.L_TTM_NM_04, X31CWebConst.DATABEAN_GET_VALUE), 0, 7);
			subbean.sendMessageString(DKW01501SFConst.L_TTM_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, ttm);

			// 契約サービス表示名を設定
			String keiSvc = JDKWebCommon.substr(subbean.sendMessageString(DKW01501SFConst.L_KEI_SVC_04, X31CWebConst.DATABEAN_GET_VALUE), 0, 10);
			subbean.sendMessageString(DKW01501SFConst.L_KEI_SVC_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, keiSvc);
			
			// 出荷先表示名を設定 ７桁
			String shkaSaki = JDKWebCommon.substr(subbean.sendMessageString(DKW01501SFConst.L_SHKA_SAKI_04, X31CWebConst.DATABEAN_GET_VALUE), 0, 7);
			subbean.sendMessageString(DKW01501SFConst.L_SHKA_SAKI_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, shkaSaki);

			if (i % 2 == 1)
			{
				subbean.sendMessageString(DKW01501SFConst.L_COLOR_04, X31CWebConst.DATABEAN_SET_VALUE, "even");
			}
			else
			{
				subbean.sendMessageString(DKW01501SFConst.L_COLOR_04, X31CWebConst.DATABEAN_SET_VALUE, "odd");
			}
			subbean.sendMessageString(DKW01501SFConst.L_NO_04, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(i + 1));
			subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_04, X31CWebConst.DATABEAN_SET_VALUE, 
					subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_STATE_NM_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_CITY_NM_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_OAZTSU_NM_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_AZCHO_NM_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_BNCHIGO_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_ADRTTM_04, X31CWebConst.DATABEAN_GET_VALUE)
					+ subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_ADRRM_04, X31CWebConst.DATABEAN_GET_VALUE));

			// 機器送付先表示名を設定 ７桁
			String kikiSohus = JDKWebCommon.substr(subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_04, X31CWebConst.DATABEAN_GET_VALUE), 0, 7);
			subbean.sendMessageString(DKW01501SFConst.KIKI_SOHUS_DISP_NM_04, X31CWebConst.DATABEAN_SET_VALUE, kikiSohus);
		}
		// 一覧表示件数を設定する
		serviceFormBean.sendMessageString(DKW01501SFConst.DISP_COUNT, X31CWebConst.DATABEAN_SET_VALUE, String.valueOf(shokaiList.getCount()));
	}

	/**
	 * サービス（DKSV0073）の呼び出しを行います。
	 * <br>
	 * @param paramBean パラメータとなるBean情報
	 * @param func_code 機能コード
	 * @return 成否
	 * @throws Exception データベースアクセスエラーが発生した場合
	 */
	@SuppressWarnings("unchecked")
	private boolean putServiceDKSV0073(X31SDataBeanAccess[] paramBean, String func_code) throws Exception
	{
		// 遷移元画面IDを取得
		String screenId = JCCWebCommon.getScreenId(this);

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0073");

		// マッピングクラスのインスタンスを生成
		DKSV0073_DKSV0073OPDBMapper mapper = new DKSV0073_DKSV0073OPDBMapper();

		HashMap<String, String> dataMap = new HashMap<String, String>();
		mapper.setDKSV007301SC(paramBean, dataMap, func_code);

		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "DKSV007301SC", dataMap);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap<String, String>();

		// 検索処理呼出
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap);
		if (msgResult != null)
		{
			return false;
		}

		((X31SDataBeanAccessArray)paramBean[0].getDataBeanArray(DKW01501SFConst.SHOKAI_LIST)).clearArray();

		mapper.getDKSV007301SC(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("DKSV007301SC", outputMap);

		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I);
			return false;
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 検索結果が最大検索件数超えの場合の処理
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, new String [] {"100"});
			return false;
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// 遷移元画面が在庫出荷機器引当完了でない場合
			if (!SCREEN_ID_DKW01504.equals(screenId))
			{
				// 表示ページに該当するデータがない
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I);
			}
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this,  "0", "DKSV007301SC", outputMap);

		// 一覧データに変更があった場合、行番号を再設定する
		String displayPageNum = (String)((HashMap)outputMap.get("DKSV007301SC")).get("display_no");
		if (!JDKCommonUtil.isNull(displayPageNum))
		{
			X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
			serviceFormBean.sendMessageString(DKW01501SFConst.ROW_NO, X31CWebConst.DATABEAN_SET_VALUE, displayPageNum);
		}

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "L_PAG_LIST");

		return true;
	}

	/**
	 * 画面遷移先を設定します。
	 * <br>
	 * @param nextScreenId 遷移先画面ID
	 * @param nextScreenName 遷移先画面名
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
	}

	/**
	 * インデックスを引数にプルダウンからコードを取得します。
	 * @param index インデックス
	 * @param serviceFormBean サービスフォームビーン
	 * @param judgeCd 判定コード（"0"：建物名、"1"：契約サービス）
	 * @return 取得したコード
	 */
	private String getIndexToCodeForDdl(int index, X31SDataBeanAccess serviceFormBean, String judgeCd)
	{
		String listKey = null;
		String cdKey = null;
		if (JUDGECD_TTMCD.equals(judgeCd))
		{
			listKey = DKW01501SFConst.TTM_LIST;
			cdKey = DKW01501SFConst.SOKO_CD_LIST_01;
		}
		else if (JUDGECD_TTMKBN.equals(judgeCd))
		{
			listKey = DKW01501SFConst.TTM_LIST;
			cdKey = DKW01501SFConst.TTM_KBN_LIST_01;
		}
		else
		{
			listKey = DKW01501SFConst.I_KEI_SVC_LIST;
			cdKey = DKW01501SFConst.CD_DIV_CD_LIST_03;
		}

		X31SDataBeanAccessArray list = serviceFormBean.getDataBeanArray(listKey);
		X31SDataBeanAccess cd = list.getDataBean(0);
		return cd.sendMessageString(cdKey, X31CWebConst.DATABEAN_GET_VALUE, index);
	}

	/**
	 * コードを引数にプルダウンからインデックスを取得します。
	 * @param code 状態コード
	 * @param serviceFormBean サービスフォームビーン
	 * @param judgeCd 判定コード（"0"：建物名、"1"：契約サービス）
	 * @return 取得したインデックス
	 */
	private int getCodeToIndexForDdl(String code, X31SDataBeanAccess serviceFormBean, String judgeCd)
	{
		int retIndex = 0;

		if (JUDGECD_TTMCD.equals(judgeCd))
		{
			// 建物名コードリストを取得
			X31SDataBeanAccessArray ttmArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.TTM_LIST);
			X31SDataBeanAccess ttm = ttmArray.getDataBean(0);

			for (int i = 0; i < Integer.valueOf(ttm.sendMessage(DKW01501SFConst.SOKO_CD_LIST_01, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
			{
				if (code.equals(ttm.sendMessageString(DKW01501SFConst.SOKO_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, i)))
				{
					retIndex = i;
					break;
				}
			}
		}
		else
		{
			// 契約サービスコードリストを取得
			X31SDataBeanAccessArray iKeiSvcArray = serviceFormBean.getDataBeanArray(DKW01501SFConst.I_KEI_SVC_LIST);
			X31SDataBeanAccess iKeiSvc = iKeiSvcArray.getDataBean(0);

			for (int i = 0; i < Integer.valueOf(iKeiSvc.sendMessage(DKW01501SFConst.CD_DIV_CD_LIST_03, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
			{
				if (code.equals(iKeiSvc.sendMessageString(DKW01501SFConst.CD_DIV_CD_LIST_03, X31CWebConst.DATABEAN_GET_VALUE, i)))
				{
					retIndex = i;
					break;
				}
			}
		}
		return retIndex;
	}

	/**
	 * プルダウンの０番目の項目に空白を挿入します。
	 * @param pulldown プルダウンを指す項目ID
	 * @param cdList プルダウン中でコード一覧をさす項目ID
	 * @param nmList プルダウン中で名称一覧をさす項目ID
	 */
	private void pushEmptyToTopOfPulldown(String pulldown, String cdList, String nmList)
	{
		X31SDataBeanAccess pulldownBean = super.getServiceFormBean().getDataBeanArray(pulldown).getDataBean(0);

		appendPrefix(getBean(this, pulldown), nmList);
		
		slideArrayOnDatabean(pulldownBean, cdList);
		slideArrayOnDatabean(pulldownBean, nmList);
	}

	/**
	 * データビーンの配列要素をインデックスが増加する方向に１つずらす
	 * @param bean データビーン
	 * @param listName 対象項目ID
	 */
	private void slideArrayOnDatabean(X31SDataBeanAccess bean, String listName)
	{
		int size = (Integer)(bean.sendMessage(listName, X31CWebConst.DATABEAN_GET_COUNT));
		
		bean.sendMessageString(listName, X31CWebConst.DATABEAN_ADD_VALUE, "");
		
		for (int i = size ; i > 0 ; i--)
		{
			String target = bean.sendMessageString(listName, X31CWebConst.DATABEAN_GET_VALUE, i - 1);
			bean.sendMessageString(listName, X31CWebConst.DATABEAN_SET_VALUE, i, target);
		}
		
		bean.sendMessageString(listName, X31CWebConst.DATABEAN_SET_VALUE, 0, "");
	}
}
