/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：DKW04602SFLogic
*   ソースファイル名：DKW04602SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年05月10日
*＜機能概要＞
*   入荷登録画面のビューロジックです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/05/10   FJ）植木    新規作成
*   v39.00.00   2018/09/14   FJ)黒田(耕)【ANK-3488-00-00】４KSTB（ACASチップ）導入対応
*   v50.00.00   2020/08/25   FJ)謝      【ANK-3738-00-00】【eo】機器の製造年月日・ロット番号管理対応
*
**********************************************************************/
package eo.web.webview.DKW04602SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.web.webview.DKW04602SF.DKW04602SFConst.EFILE;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.web.x31.X31SWebLog;

import eo.common.constant.JDKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.util.JDKCommonUtil;
import eo.common.util.JPCDateUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.DKW04605SF.DKW04605SFConst;
import eo.web.webview.DKW04606SF.DKW04606SFConst;
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.DKSV0047_DKSV0047OPDBMapper;
import eo.web.webview.mapping.DKSV0054_DKSV0054OPDBMapper;
import eo.web.webview.mapping.DKSV0059_DKSV0059OPDBMapper;

/**
 * DKW04602のビューロジック
 * <BR>
 * @author 富士通
 */
public class DKW04602SFLogic extends JCCWebBusinessLogic
{
	/** 生成シリアルバージョン */
	private static final long serialVersionUID = -7052321225357719971L;

	/**
	 * ポップアップフラグ（なし）
	 */
	private static final String POPUP_FLG_NON = "0";
	/**
	 * ポップアップフラグ（ポップアップ）
	 */
	private static final String POPUP_FLG_POPUP = "1";
	/**
	 * イベント区分（追加）
	 */
	private static final String EVENT_DIV_ADD = "1";
	/**
	 * イベント区分（訂正）
	 */
	private static final String EVENT_DIV_TEISE = "2";
	/**
	 * イベント区分（削除）
	 */
	private static final String EVENT_DIV_DEL = "3";
	/**
	 * 項目活性制御（活性化）
	 */
	private static final String KMK_ENABLE_CTRL_ENABLE = "false";
	/**
	 * 項目活性制御（非活性）
	 */
	private static final String KMK_ENABLE_CTRL_DISABLE = "true";
	/**
	 * 行カラー（奇数行）
	 */
	private static final String ODD = "odd";
	/**
	 * 行カラー（偶数行）
	 */
	private static final String EVEN = "even";
	/**
	 * 入荷種別フラグ（発注外入荷）
	 */
	private static final String NYUKA_SBT_FLG_HATTCHUGAI = "1";

	/** ページング関連（総ページ数） */
	private static final String TOTAL_PAGE_NUM = "total_page_num";
	/** ページング関連（検索エラーフラグ） */
	private static final String SEARCH_ERR_FLG = "search_err_flg";
	/** ページング関連（総検索件数） */
	private static final String TOTAL_SEARCH_NUM = "total_search_num";
	/** ページング関連（表示件数） */
	private static final String DISPLAY_NUM = "display_num";
	/** ページング関連（最大検索件数） */
	private static final String MAX_SEARCH_NUM = "max_search_num";
	/** ページング関連（検索パターン） */
	private static final String SEARCH_TYPE = "search_type";
	/** ページング関連（表示ページ番号） */
	private static final String DISPLAY_PAGE_NUM = "display_page_num";
	/** ページング関連（検索パターン：部分検索） */
	private static final String PAGING_SEARCH_TYPE = "1";
	/** 検索件数取得キー（最大検索件数） */
	private static final String DKW04602_MAX_SHOW_CNT = "DKW04602_MAX_SHOW_CNT";
	/** 検索件数取得キー（表示件数） */
	private static final String DKW04602_ROW_PER_PAGE = "DKW04602_ROW_PER_PAGE";
	/** VARB（完了画面用） */
	private static final String L_PAG_COMPLETE = "L_PAG_COMPLETE";
	/** VARB（確認画面用） */
	private static final String L_PAG_FIX = "L_PAG_FIX";
	/** VARB（登録画面用） */
	private static final String L_PAG_CREATE = "L_PAG_CREATE";
	/** テンプレートID */
	private static final String PAGING_TEMPLATE_ID = JDKScreenConst.SCREEN_ID_DKW04602;
	/** レコード種別（ヘッダ） */
	private static final String RECORD_HEADER = "51";
	/** レコード種別（明細） */
	private static final String RECORD_DETAIL = "52";
	/** レコード種別（トレーラ） */
	private static final String RECORD_TRAILER = "53";
	/** レコード種別（製造番号なし） */
	private static final String RECORD_SEIZO_NO_NASHI = "54";


	/** ファイルレイアウト（レコード種別：51） */
	private static final String[] RECORD_LAYOUT_HEADER = {
		DKW04602SFConst.REC_SBT_02
		, DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02
		, DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02
		, DKW04602SFConst.HATTCHU_MOTO_02
		, DKW04602SFConst.MAKER_CD_02
		, DKW04602SFConst.SHUKKA_LOT_NO_02
		, DKW04602SFConst.HATTCHU_NO_02
		, DKW04602SFConst.MODEL_CD_02
		, DKW04602SFConst.SHUKKA_CNT_02
		, DKW04602SFConst.MAKER_SHUKKA_YMD_02
		, DKW04602SFConst.NYUKA_YMD_02
		, DKW04602SFConst.RCV_RNKI_MT_CD_02
		, DKW04602SFConst.BIKO_02
	};
	/** ファイルレイアウト（レコード種別：52） */
	private static final String[] RECORD_LAYOUT_DETAIL = {
		DKW04602SFConst.REC_SBT_03
		, DKW04602SFConst.MODEL_CD_03
		, DKW04602SFConst.SEIZO_NO_03
		, DKW04602SFConst.TAKNKIKI_SETHIN_CD_03
		, DKW04602SFConst.TAKNKIKI_SETHIN_NO_03
		, DKW04602SFConst.UQ_NINSHO_ID_03
		, DKW04602SFConst.UQ_PWD_03
		, DKW04602SFConst.STB_ID_03
		, DKW04602SFConst.ICC_ID_03
		, DKW04602SFConst.MACAD_03
		, DKW04602SFConst.MAC_NINSHO_ID_03
		, DKW04602SFConst.MSISDN_03
		, DKW04602SFConst.EM_KEISHA_CD_03
// ANK-3488-00-00 ADD START
		, DKW04602SFConst.ACAS_NO_03
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
		, DKW04602SFConst.SEIZO_YM_03
// ANK-3738-00-00 ADD END
	};
	/** ファイルレイアウト（レコード種別：53） */
	private static final String[] RECORD_LAYOUT_TRAILER = {
		DKW04602SFConst.REC_SBT_04
		, DKW04602SFConst.REC_CNT_04
	};
	/** ファイルレイアウト（レコード種別：54） */
	private static final String[] RECORD_LAYOUT_SEIZO_NO_NASHI = {
		DKW04602SFConst.REC_SBT_02
		, DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02
		, DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02
		, DKW04602SFConst.HATTCHU_MOTO_02
		, DKW04602SFConst.MAKER_CD_02
		, DKW04602SFConst.SHUKKA_LOT_NO_02
		, DKW04602SFConst.HATTCHU_NO_02
		, DKW04602SFConst.MODEL_CD_02
		, DKW04602SFConst.SHUKKA_CNT_02
		, DKW04602SFConst.MAKER_SHUKKA_YMD_02
		, DKW04602SFConst.CNT_02
		, DKW04602SFConst.NYUKA_YMD_02
		, DKW04602SFConst.RCV_RNKI_MT_CD_02
		, DKW04602SFConst.BIKO_02
	};

	/** 項目桁数（出荷数量） */
	private static final int KMKLENGTH_SHUKKA_CNT = 9;

	/** 表示桁数（メーカー名） */
	private static final int DISPLENGTH_MAKER_NM = 10;
	/** 表示桁数（商品名） */
	private static final int DISPLENGTH_GOODS_NM = 10;

	/** サービスID */
	private static final String DKSV0059 = "DKSV0059";

	/** メッセージ：入荷情報の登録 */
	private static final String MSG_NYUKA_INFO_ENTRY = "入荷情報の登録";
	/** メッセージ：登録内容データが存在しない */
	private static final String MSG_NO_DATA_ENTRYLIST = "登録内容データが存在しない";
	/** メッセージ：登録 */
	private static final String MSG_ENTRY = "登録";
	/** メッセージ：明細行 */
	private static final String MSG_DETAIL_LINE = "明細行";
	/** メッセージ：入荷数 */
	private static final String MSG_NYUKA_CNT = "入荷数";
	/** メッセージ：発注数 */
	private static final String MSG_HATTCHU_CNT = "発注数";
	/** メッセージ：型番号 */
	private static final String MSG_MODEL_NO = "型番号";
	/** メッセージ：製造番号管理されている */
	private static final String MSG_SEIZONO_UM_ARI = "製造番号管理されている";
	/** メッセージ：設定 */
	private static final String MSG_SETTE = "設定";
	/** メッセージ：訂正 */
	private static final String MSG_TEISEI = "訂正";
	
	/** 製造番号管理有無（無） */
	private static final String SEIZONO_UM_NASHI = "0";
	/** 製造番号管理有無（有） */
	private static final String SEIZONO_UM_ARI = "1";

	/** 処理方式フラグ（ディレイド） */
	private static final String TRN_HOSHIKI_FLG_DLYD = "1";
	/** 処理管理番号（入荷依頼） */
	private static final String TRN_KANRI_NO_NYUKA_REQ = "000000000044";

	/**
	 * 初期表示を処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean init() throws Exception
	{
		// 画面情報を取得し、サービスフォームBeanに設定
		JCCWebCommon.getScreenInfo(this);

		String screenId = JCCWebCommon.getScreenId(this);

		// 詳細画面からの遷移
		if (JDKScreenConst.SCREEN_ID_DKW04606.equals(screenId))
		{
			paging();
		}
		else
		{
			JDKWebCommon.setData(this, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);
			JDKWebCommon.setData(this, "0", DKW04602SFConst.ICRN_DISP_CNT);
		}

		return true;
	}

	/**
	 * 入荷登録画面のデータ読込ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showDataLoad() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		bean.sendMessageString(DKW04602SFConst.POPUP_FLG, X31CWebConst.DATABEAN_SET_VALUE, POPUP_FLG_POPUP);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		DEBUG_LOG.debug("ポップアップフラグ：" + JDKWebCommon.getData(this, DKW04602SFConst.POPUP_FLG));

		return true;
	}

	/**
	 * ポップアップ画面に入荷読込画面を表示します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showChild() throws Exception
	{
		// 引き継ぎ情報を格納するMAP
		HashMap paramMap = new HashMap();

		paramMap.put(DKW04605SFConst.MAKER_CD, JDKWebCommon.getData(this, DKW04602SFConst.MAKER_CD));

		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW04605, paramMap);
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04605 + "0PJP", JDKScreenConst.SCREEN_ID_DKW04602 + "0PJP");

		X31SWebLog.DEBUG_LOG.debug("引き継ぎ情報Mapの内容：");
		X31SWebLog.DEBUG_LOG.debug(paramMap);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04605, JDKScreenConst.SCREEN_NAME_DKW04605);
		
		return true;
	}

	/**
	 * 入荷登録画面の詳細ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean showDetail() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		JDKWebCommon.setData(bean, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);
		X31SDataBeanAccessArray headerInfoList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);

		int cnt = Integer.valueOf(JDKWebCommon.getData(this, DKW04602SFConst.ICRN_DISP_CNT));

		// リストのデータが0件の場合
		if (cnt <= 0)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[] {MSG_DETAIL_LINE});
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);
			return true;
		}

		// 選択行取得
		int selectedIndex = getSelectedIndex();

		// 引き継ぎ情報を格納するMAP
		HashMap detailDataMap = new HashMap();

		detailDataMap.put(DKW04606SFConst.NYUKA_YMD, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_YMD));
		detailDataMap.put(DKW04606SFConst.NYUKA_ADD_YMD, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_ADD_YMD));
		detailDataMap.put(DKW04606SFConst.NYUKA_SBT_NM, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_SBT_NM));
		detailDataMap.put(DKW04606SFConst.SOKO_NM, JDKWebCommon.getData(this, DKW04602SFConst.SOKO_NM));
		detailDataMap.put(DKW04606SFConst.SHELF_NM, JDKWebCommon.getData(this, DKW04602SFConst.SHELF_NM));
		detailDataMap.put(DKW04606SFConst.MAKER_NM, JDKWebCommon.getData(this, DKW04602SFConst.MAKER_NM));
		detailDataMap.put(DKW04606SFConst.BIKO, JDKWebCommon.getData(this, DKW04602SFConst.BIKO));
		detailDataMap.put(DKW04606SFConst.SHUKKA_LOT_NO, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.SHUKKA_LOT_NO_02));
		detailDataMap.put(DKW04606SFConst.HATTCHU_NO, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.HATTCHU_NO_02));
		detailDataMap.put(DKW04606SFConst.MODEL_CD, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.MODEL_CD_02));
		detailDataMap.put(DKW04606SFConst.SHUKKA_CNT, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.SHUKKA_CNT_02));
		detailDataMap.put(DKW04606SFConst.MAKER_SHUKKA_YMD, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.MAKER_SHUKKA_YMD_02));
		detailDataMap.put(DKW04606SFConst.GOODS_NM, this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.GOODS_NM_02));
		detailDataMap.put(DKW04606SFConst.FILE_RENBAN, JDKWebCommon.getData(this, DKW04602SFConst.FILE_RENBAN));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW04606, detailDataMap);

		DEBUG_LOG.debug("引継ぎ情報の内容：");
		DEBUG_LOG.debug(detailDataMap);

		// 戻る際に必要な情報を格納するMAP
		HashMap returnMap = new HashMap();

		returnMap.put(DKW04602SFConst.REFERID, JDKWebCommon.getData(this, DKW04602SFConst.REFERID));
		returnMap.put(DKW04602SFConst.SCREENID, JDKWebCommon.getData(this, DKW04602SFConst.SCREENID));
		returnMap.put(DKW04602SFConst.UNYO_UMD, JDKWebCommon.getData(this, DKW04602SFConst.UNYO_UMD));
		returnMap.put(DKW04602SFConst.POPUP_FLG, JDKWebCommon.getData(this, DKW04602SFConst.POPUP_FLG));
		returnMap.put(DKW04602SFConst.SELECTROW, JDKWebCommon.getData(this, DKW04602SFConst.SELECTROW));
		returnMap.put(DKW04602SFConst.NYUKA_YMD, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_YMD));
		returnMap.put(DKW04602SFConst.NYUKA_ADD_YMD, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_ADD_YMD));
		returnMap.put(DKW04602SFConst.NYUKA_SBT_FLG, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_SBT_FLG));
		returnMap.put(DKW04602SFConst.NYUKA_SBT_NM, JDKWebCommon.getData(this, DKW04602SFConst.NYUKA_SBT_NM));
		returnMap.put(DKW04602SFConst.MAKER_CD, JDKWebCommon.getData(this, DKW04602SFConst.MAKER_CD));
		returnMap.put(DKW04602SFConst.MAKER_NM, JDKWebCommon.getData(this, DKW04602SFConst.MAKER_NM));
		returnMap.put(DKW04602SFConst.SOKO_CD, JDKWebCommon.getData(this, DKW04602SFConst.SOKO_CD));
		returnMap.put(DKW04602SFConst.SOKO_NM, JDKWebCommon.getData(this, DKW04602SFConst.SOKO_NM));
		returnMap.put(DKW04602SFConst.SHELF_CD, JDKWebCommon.getData(this, DKW04602SFConst.SHELF_CD));
		returnMap.put(DKW04602SFConst.SHELF_NM, JDKWebCommon.getData(this, DKW04602SFConst.SHELF_NM));
		returnMap.put(DKW04602SFConst.BIKO, JDKWebCommon.getData(this, DKW04602SFConst.BIKO));
		returnMap.put(DKW04602SFConst.FILE_RENBAN, JDKWebCommon.getData(this, DKW04602SFConst.FILE_RENBAN));
		X31SDataBeanAccessArray returnNyukaFinHeaderList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		List returnAllHeaderList = new ArrayList();
		for (int i = 0; i < returnNyukaFinHeaderList.getCount(); i++)
		{
			X31SDataBeanAccess subbean = returnNyukaFinHeaderList.getDataBean(i);
			HashMap map = new HashMap();
			map.put(DKW04602SFConst.HEADER_NO_02, JDKWebCommon.getDataL(subbean, DKW04602SFConst.HEADER_NO_02));
			map.put(DKW04602SFConst.SELECT_02, JDKWebCommon.getData(subbean, DKW04602SFConst.SELECT_02));
			map.put(DKW04602SFConst.NO_02, JDKWebCommon.getDataL(subbean, DKW04602SFConst.NO_02));
			map.put(DKW04602SFConst.LINE_COLOR_02, JDKWebCommon.getData(subbean, DKW04602SFConst.LINE_COLOR_02));
			map.put(DKW04602SFConst.REC_SBT_02, JDKWebCommon.getData(subbean, DKW04602SFConst.REC_SBT_02));
			map.put(DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02));
			map.put(DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02));
			map.put(DKW04602SFConst.HATTCHU_MOTO_02, JDKWebCommon.getData(subbean, DKW04602SFConst.HATTCHU_MOTO_02));
			map.put(DKW04602SFConst.MAKER_CD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.MAKER_CD_02));
			map.put(DKW04602SFConst.SHUKKA_LOT_NO_02, JDKWebCommon.getData(subbean, DKW04602SFConst.SHUKKA_LOT_NO_02));
			map.put(DKW04602SFConst.HATTCHU_NO_02, JDKWebCommon.getData(subbean, DKW04602SFConst.HATTCHU_NO_02));
			map.put(DKW04602SFConst.MODEL_CD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.MODEL_CD_02));
			map.put(DKW04602SFConst.SHUKKA_CNT_02, JDKWebCommon.getData(subbean, DKW04602SFConst.SHUKKA_CNT_02));
			map.put(DKW04602SFConst.MAKER_SHUKKA_YMD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.MAKER_SHUKKA_YMD_02));
			map.put(DKW04602SFConst.CNT_02, JDKWebCommon.getData(subbean, DKW04602SFConst.CNT_02));
			map.put(DKW04602SFConst.NYUKA_YMD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.NYUKA_YMD_02));
			map.put(DKW04602SFConst.RCV_RNKI_MT_CD_02, JDKWebCommon.getData(subbean, DKW04602SFConst.RCV_RNKI_MT_CD_02));
			map.put(DKW04602SFConst.BIKO_02, JDKWebCommon.getData(subbean, DKW04602SFConst.BIKO_02));
			map.put(DKW04602SFConst.MAKER_NM_02, JDKWebCommon.getData(subbean, DKW04602SFConst.MAKER_NM_02));
			map.put(DKW04602SFConst.MAKER_DISP_NM_02, JDKWebCommon.getData(subbean, DKW04602SFConst.MAKER_DISP_NM_02));
			map.put(DKW04602SFConst.GOODS_NM_02, JDKWebCommon.getData(subbean, DKW04602SFConst.GOODS_NM_02));
			map.put(DKW04602SFConst.GOODS_DISP_NM_02, JDKWebCommon.getData(subbean, DKW04602SFConst.GOODS_DISP_NM_02));

			returnAllHeaderList.add(map);
		}
		returnMap.put(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST, returnAllHeaderList);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JDKScreenConst.SCREEN_ID_DKW04602, returnMap);

		// 画面遷移処理

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04606, JDKScreenConst.SCREEN_NAME_DKW04606);

		return true;
	}

	/**
	 * 入荷登録画面の追加ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean showAdd() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		JDKWebCommon.setData(bean, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);

		this.execServiceModelCd();

		JDKWebCommon.setData(this, EVENT_DIV_ADD, DKW04602SFConst.EVENTDIV);
		X31SDataBeanAccessArray enableCtrlInfoList = bean.getDataBeanArray(DKW04602SFConst.ENABLE_CTRL_INFO);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.MODEL_CD_ENABLE_CTRL_07, KMK_ENABLE_CTRL_ENABLE);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.CNT_ENABLE_CTRL_07, KMK_ENABLE_CTRL_ENABLE);
		X31SDataBeanAccessArray modelInfoList = bean.getDataBeanArray(DKW04602SFConst.MODEL_CD_INFO);
		this.setDataToArray(modelInfoList, 0, DKW04602SFConst.MODEL_CD_06, "0");
		JDKWebCommon.setData(this, "", DKW04602SFConst.GOODS_NM);
		JDKWebCommon.setData(this, "", DKW04602SFConst.SHUKKA_CNT);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04607, JDKScreenConst.SCREEN_NAME_DKW04607);

		return true;
	}

	/**
	 * 入荷登録画面の訂正ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean showModify() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		JDKWebCommon.setData(bean, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);

		this.execServiceModelCd();

		X31SDataBeanAccessArray headerInfoList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		X31SDataBeanAccessArray modelInfoList = bean.getDataBeanArray(DKW04602SFConst.MODEL_CD_INFO);

		int cnt = Integer.valueOf(JDKWebCommon.getData(this, DKW04602SFConst.ICRN_DISP_CNT));

		// リストのデータが0件の場合
		if (cnt <= 0)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[] {MSG_DETAIL_LINE});
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);
			return true;
		}

		// 選択行取得
		int selectedIndex = getSelectedIndex();

		// 製造番号管理されてればエラー
		String modelNo = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.MODEL_CD_02);

		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0054");

		// KEYの設定
		JDKWebCommon.setData(this, modelNo, DKW04602SFConst.KEY_TAKNKIKI_MODEL_CD);

		// マッピングクラスのインスタンスを生成
		DKSV0054_DKSV0054OPDBMapper mapper = new DKSV0054_DKSV0054OPDBMapper();
		HashMap dataMap = new HashMap();
		mapper.setDKSV005401SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		
		HashMap outputMap = new HashMap();
		invokeService(paramMap, dataMap, outputMap);

		mapper.getDKSV005401SC(paramBean, outputMap);

		String seizoNoUm = JDKWebCommon.getData(this, DKW04602SFConst.TAKNKIKI_MODEL_LIST, DKW04602SFConst.SEIZO_NO_KNRI_TYPE_UM_05);
		if (JDKStrConst.UM_FLG_U.equals(seizoNoUm))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0930_NW, new String[] {MSG_SEIZONO_UM_ARI, MSG_TEISEI});
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);
			return false;
		}
		
		
		// 引き継ぎ情報を設定
		JDKWebCommon.setData(this, EVENT_DIV_TEISE, DKW04602SFConst.EVENTDIV);
		X31SDataBeanAccessArray enableCtrlInfoList = bean.getDataBeanArray(DKW04602SFConst.ENABLE_CTRL_INFO);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.MODEL_CD_ENABLE_CTRL_07, KMK_ENABLE_CTRL_DISABLE);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.CNT_ENABLE_CTRL_07, KMK_ENABLE_CTRL_ENABLE);
		JDKWebCommon.setData(this, modelNo, DKW04602SFConst.MODEL_CD);
		int modelNoIndex = this.getIndexFromName(modelNo, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.MODEL_CD_LIST_06);
		this.setDataToArray(modelInfoList, 0, DKW04602SFConst.MODEL_CD_06, String.valueOf(modelNoIndex));
		String goodsNm = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.GOODS_NM_02);
		JDKWebCommon.setData(this, goodsNm, DKW04602SFConst.GOODS_NM);
		String shukkaCnt = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.SHUKKA_CNT_02);
		JDKWebCommon.setData(this, shukkaCnt, DKW04602SFConst.SHUKKA_CNT);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04607, JDKScreenConst.SCREEN_NAME_DKW04607);

		return true;
	}

	/**
	 * 入荷登録画面の削除ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean showDelete() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		JDKWebCommon.setData(bean, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);

		this.execServiceModelCd();

		X31SDataBeanAccessArray headerInfoList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		X31SDataBeanAccessArray modelInfoList = bean.getDataBeanArray(DKW04602SFConst.MODEL_CD_INFO);

		int cnt = Integer.valueOf(JDKWebCommon.getData(this, DKW04602SFConst.ICRN_DISP_CNT));

		// リストのデータが0件の場合
		if (cnt <= 0)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB1320_NW, new String[] {MSG_DETAIL_LINE});
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);
			return true;
		}

		// 選択行取得
		int selectedIndex = getSelectedIndex();

		// 製造番号管理されてればエラー
		String modelNo = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.MODEL_CD_02);

		// 引き継ぎ情報を設定
		JDKWebCommon.setData(this, EVENT_DIV_DEL, DKW04602SFConst.EVENTDIV);
		X31SDataBeanAccessArray enableCtrlInfoList = bean.getDataBeanArray(DKW04602SFConst.ENABLE_CTRL_INFO);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.MODEL_CD_ENABLE_CTRL_07, KMK_ENABLE_CTRL_DISABLE);
		this.setDataToArray(enableCtrlInfoList, 0, DKW04602SFConst.CNT_ENABLE_CTRL_07, KMK_ENABLE_CTRL_DISABLE);
		JDKWebCommon.setData(this, modelNo, DKW04602SFConst.MODEL_CD);
		int modelNoIndex = this.getIndexFromName(modelNo, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.MODEL_CD_LIST_06);
		this.setDataToArray(modelInfoList, 0, DKW04602SFConst.MODEL_CD_06, String.valueOf(modelNoIndex));
		String goodsNm = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.GOODS_NM_02);
		JDKWebCommon.setData(this, goodsNm, DKW04602SFConst.GOODS_NM);
		String shukkaCnt = this.getDataFromArray(headerInfoList, selectedIndex, DKW04602SFConst.SHUKKA_CNT_02);
		JDKWebCommon.setData(this, shukkaCnt, DKW04602SFConst.SHUKKA_CNT);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04607, JDKScreenConst.SCREEN_NAME_DKW04607);

		return true;
	}

	/**
	 * 入荷登録画面の登録確認ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean confirmCreate() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		JDKWebCommon.setData(bean, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);

		int cnt = Integer.valueOf(JDKWebCommon.getData(this, DKW04602SFConst.ICRN_DISP_CNT));

		// リストのデータが0件の場合
		if (cnt <= 0)
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0930_NW, new String[] {MSG_NO_DATA_ENTRYLIST, MSG_ENTRY});
			setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);
			return true;
		}

		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0370__I, new String[] {MSG_NYUKA_INFO_ENTRY});

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04603, JDKScreenConst.SCREEN_NAME_DKW04603);

		// 入荷登録確認画面のページング情報を設定
		pagingFix();

		return true;
	}

	/**
	 * 入荷登録画面の戻るボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean returnSetup() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray headerInfoList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		headerInfoList.clearArray();
		JDKWebCommon.setData(this, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);
		JDKWebCommon.setData(this, "0", DKW04602SFConst.ICRN_DISP_CNT);
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04601, JDKScreenConst.SCREEN_ID_DKW04602);
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04601, JDKScreenConst.SCREEN_NAME_DKW04601);

		return true;
	}

	/**
	 * 入荷登録画面のページングを処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean paging() throws Exception
	{
		JDKWebCommon.setData(this, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);
		pickFromLines(getDisplayPageNumber(JDKScreenConst.SCREEN_ID_DKW04602, L_PAG_CREATE));

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		return true;
	}

	/**
	 * 入荷登録画面の反映を処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public boolean reflect() throws Exception
	{
		HashMap map = JCCWebCommon.getScreenInfo(this);
		String fileRenban = map.get(DKW04602SFConst.FILE_RENBAN).toString();

		// ファイル連番をもとにファイル内容を取得
		byte[] fileByte = JCCWebCommon.getFile(this, fileRenban);
		String str = new String(fileByte);

		initLines(str, map);

		pickFromLines(0);
		initializePageInformation(getAllDataCount(), JDKScreenConst.SCREEN_ID_DKW04602, L_PAG_CREATE);

		JDKWebCommon.setData(this, POPUP_FLG_NON, DKW04602SFConst.POPUP_FLG);
		JDKWebCommon.setData(this, fileRenban, DKW04602SFConst.FILE_RENBAN);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		return true;
	}

	/**
	 * 入荷登録確認画面の確定ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean fix() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray headerList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);

		String nyukaSbt = JDKWebCommon.getData(bean, DKW04602SFConst.NYUKA_SBT_FLG);
		String makerCd = JDKWebCommon.getData(bean, DKW04602SFConst.MAKER_CD);
		String sokoCd = JDKWebCommon.getData(bean, DKW04602SFConst.SOKO_CD);
		String shelfCd = JDKWebCommon.getData(bean, DKW04602SFConst.SHELF_CD);
		String nyukaYmd = JDKWebCommon.getData(bean, DKW04602SFConst.NYUKA_YMD);
		String biko = JDKWebCommon.getData(bean, DKW04602SFConst.BIKO);

		// ファイル連番
		String fileRenban = JDKWebCommon.getData(this, DKW04602SFConst.FILE_RENBAN);

		int headerCount = headerList.getCount();
		for (int i = 0; i < headerCount; i++)
		{
			X31SDataBeanAccess headerBean = headerList.getDataBean(i);

			JDKWebCommon.setData(headerBean, makerCd, DKW04602SFConst.MAKER_CD_02);
			JDKWebCommon.setData(headerBean, nyukaYmd, DKW04602SFConst.NYUKA_YMD_02);
			if (NYUKA_SBT_FLG_HATTCHUGAI.equals(nyukaSbt))
			{
				JDKWebCommon.setData(headerBean, sokoCd, DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02);
				JDKWebCommon.setData(headerBean, shelfCd, DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02);
				JDKWebCommon.setData(headerBean, biko, DKW04602SFConst.BIKO_02);
			}
			String cnt = JDKWebCommon.getData(headerBean, DKW04602SFConst.SHUKKA_CNT_02);
			JDKWebCommon.setData(headerBean, cnt, DKW04602SFConst.CNT_02);

			String hattchuLotNo = JDKWebCommon.getData(headerBean, DKW04602SFConst.HATTCHU_NO_02);
			JDKWebCommon.setData(bean, hattchuLotNo, DKW04602SFConst.KEY_HATTCHU_LOT_NO);
			JDKWebCommon.setData(bean, cnt, DKW04602SFConst.CNT);

			String recordSbt = JDKWebCommon.getData(headerBean, DKW04602SFConst.REC_SBT_02);

			// ファイル連番をもとにファイル内容を取得
			StringBuffer outputData = new StringBuffer();

			// 製造番号ありレコードの編集
			if (RECORD_HEADER.equals(recordSbt))
			{
				String loadData =  new String(JCCWebCommon.getFile(this, fileRenban));

				// ヘッダレコードの編集
				outputData.append( editHeader(headerBean) );

				// 明細レコードの編集
				outputData.append( editDetail(loadData) );

				// トレーラの編集
				outputData.append( editTrailer(loadData) );

			}
			// 製造番号なしレコードの編集
			else if (RECORD_SEIZO_NO_NASHI.equals(recordSbt))
			{
				// ヘッダの編集
				outputData.append( editSeizoNoNashi(headerBean) );

				// トレーラの編集
				outputData.append( editTrailer() );
			}

			// ファイル内容を設定
			if ( outputData.length() != 0)
			{
				JDKWebCommon.setData(bean, outputData.toString(), DKW04602SFConst.EFILE);

				// ディレード処理依頼
				boolean ret = execDlydTrnReq(bean);
				if (ret == false)
				{
					return true;
				}
			}			
			
		}
		JCCWebCommon.deleteFile(this, fileRenban);

		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0380__I, new String[] {MSG_NYUKA_INFO_ENTRY});

		JDKWebCommon.setData(this, JDKScreenConst.SCREEN_ID_DKW04603, DKW04602SFConst.REFERID);
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04604, JDKScreenConst.SCREEN_NAME_DKW04604);

		// 入荷登録完了画面のページング情報を設定
		pagingComplete();

		return true;
	}

	/**
	 * 入荷登録確認画面の修正ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean modify() throws Exception
	{
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_ID_DKW04603);
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		// 入荷登録画面のページング情報を設定
		paging();

		return true;
	}

	/**
	 * 入荷登録確認画面のページングを処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingFix() throws Exception
	{
		pickFromLines(getDisplayPageNumber(JDKScreenConst.SCREEN_ID_DKW04603, L_PAG_FIX));

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04603, JDKScreenConst.SCREEN_NAME_DKW04603);

		return true;
	}

	/**
	 * 入荷登録完了画面の修正ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean complete() throws Exception
	{
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04601, JDKScreenConst.SCREEN_ID_DKW04604);
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04601, JDKScreenConst.SCREEN_NAME_DKW04601);

		return true;
	}

	/**
	 * 入荷登録完了画面のページングを処理します。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean pagingComplete() throws Exception
	{
		pickFromLines(getDisplayPageNumber(JDKScreenConst.SCREEN_ID_DKW04604, L_PAG_COMPLETE));

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04604, JDKScreenConst.SCREEN_NAME_DKW04604);

		return true;
	}

	/**
	 * 入荷登録設定画面の確定ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean fixGoods() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray modelList = bean.getDataBeanArray(DKW04602SFConst.MODEL_CD_INFO);
		String sModelNoIndex = this.getDataFromArray(modelList, 0, DKW04602SFConst.MODEL_CD_06);
		int modelNoIndex = Integer.valueOf(sModelNoIndex);
		String goodsNm = this.getNameFromIndex(modelNoIndex, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.GOODS_NM_LIST_06);
		JDKWebCommon.setData(bean, goodsNm, DKW04602SFConst.GOODS_NM);

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04607, JDKScreenConst.SCREEN_NAME_DKW04607);

		return true;
	}

	/**
	 * 入荷登録設定画面の設定ボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean setUp() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		String eventDiv = JDKWebCommon.getData(bean, DKW04602SFConst.EVENTDIV);

		// 追加の場合
		if (EVENT_DIV_ADD.equals(eventDiv))
		{
			X31SDataBeanAccessArray modelList = bean.getDataBeanArray(DKW04602SFConst.MODEL_CD_INFO);
			String sModelNoIndex = this.getDataFromArray(modelList, 0, DKW04602SFConst.MODEL_CD_06);
			int modelNoIndex = Integer.valueOf(sModelNoIndex);
			String modelNo = this.getNameFromIndex(modelNoIndex, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.MODEL_CD_LIST_06);
			String goodsNm = this.getNameFromIndex(modelNoIndex, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.GOODS_NM_LIST_06);
			String shukkaCnt = JDKWebCommon.getData(bean, DKW04602SFConst.SHUKKA_CNT);

			//商品名を設定
			JDKWebCommon.setData(bean, goodsNm, DKW04602SFConst.GOODS_NM);

			// 製造番号管理されてればエラー
			String seizoNoUm = this.getNameFromIndex(modelNoIndex, bean, DKW04602SFConst.MODEL_CD_INFO, DKW04602SFConst.SEIZO_NO_KNRI_UM_LIST_06);
			if (!JDKCommonUtil.isNull(seizoNoUm) && SEIZONO_UM_ARI.equals(seizoNoUm))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0780_KW, new String[] {MSG_MODEL_NO, MSG_SEIZONO_UM_ARI, MSG_SETTE});
				setNextScreen(JDKScreenConst.SCREEN_ID_DKW04607, JDKScreenConst.SCREEN_NAME_DKW04607);
				return true;
			}
			
			// 入荷完了情報ヘッダリストに設定
			X31SDataBeanAccessArray headerList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);

			long headerNo = 1;
			int headerCount = headerList.getCount();
			if (headerCount > 0)
			{
				headerNo = this.getDataLongFromArray(headerList, headerCount - 1, DKW04602SFConst.HEADER_NO_02) + 1;
			}
			X31SDataBeanAccess subbean = headerList.addDataBean();
			JDKWebCommon.setData(subbean, headerNo, DKW04602SFConst.HEADER_NO_02);
			JDKWebCommon.setData(subbean, RECORD_SEIZO_NO_NASHI, DKW04602SFConst.REC_SBT_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getFollowOf(modelNo, "."), DKW04602SFConst.MODEL_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(bean, DKW04602SFConst.MAKER_CD), DKW04602SFConst.MAKER_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(bean, DKW04602SFConst.MAKER_NM), DKW04602SFConst.MAKER_NM_02);
			String makerDispNm = this.getDispName(JDKWebCommon.getData(bean, DKW04602SFConst.MAKER_NM), DISPLENGTH_MAKER_NM);
			JDKWebCommon.setData(subbean, makerDispNm, DKW04602SFConst.MAKER_DISP_NM_02);
			JDKWebCommon.setData(subbean, goodsNm, DKW04602SFConst.GOODS_NM_02);
			String goodsDispNm = this.getDispName(goodsNm, DISPLENGTH_GOODS_NM);
			JDKWebCommon.setData(subbean, goodsDispNm, DKW04602SFConst.GOODS_DISP_NM_02);
			JDKWebCommon.setData(subbean, shukkaCnt, DKW04602SFConst.SHUKKA_CNT_02);
			JDKWebCommon.setData(subbean, shukkaCnt, DKW04602SFConst.CNT_02);
		}
		// 訂正の場合
		else if (EVENT_DIV_TEISE.equals(eventDiv))
		{
			String shukkaCnt = JDKWebCommon.getData(bean, DKW04602SFConst.SHUKKA_CNT);

			// 選択行取得
			int selectedIndex = getSelectedIndex();

			// 入荷完了情報ヘッダリストに設定
			X31SDataBeanAccessArray headerList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);

			X31SDataBeanAccess subbean = headerList.getDataBean(selectedIndex);
			JDKWebCommon.setData(subbean, shukkaCnt, DKW04602SFConst.SHUKKA_CNT_02);
			JDKWebCommon.setData(subbean, shukkaCnt, DKW04602SFConst.CNT_02);
		}
		// 削除の場合
		else if (EVENT_DIV_DEL.equals(eventDiv))
		{
			// 選択行取得
			int selectedIndex = getSelectedIndex();

			// 入荷完了情報ヘッダリストから削除
			X31SDataBeanAccessArray headerList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);

			headerList.removeDataBean(selectedIndex);
		}

		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		// 選択行を保存
		int selectRow = JDKWebCommon.getDataL(this, DKW04602SFConst.SELECTROW).intValue();

		// 入荷登録画面のページングを実行
		paging();

		// 訂正の場合
		if (EVENT_DIV_TEISE.equals(eventDiv))
		{
			// 保存しておいた選択行を設定
			JDKWebCommon.setData(this, selectRow + 0L, DKW04602SFConst.SELECTROW);
		}

		return true;
	}

	/**
	 * 入荷登録設定画面の戻るボタン押下処理を行います。
	 * @author 富士通
	 * @return 成否
	 * @throws Exception 例外
	 */
	public boolean returnCreate() throws Exception
	{
		JCCWebCommon.setScreenId(this, JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_ID_DKW04607);
		setNextScreen(JDKScreenConst.SCREEN_ID_DKW04602, JDKScreenConst.SCREEN_NAME_DKW04602);

		// 入荷登録画面のページング情報を設定
		paging();

		return true;
	}

	/**
	 * ヘッダレコードを編集して返す。
	 * @param bean データビーン
	 * @return 編集後のヘッダレコード（ダブルクォート囲み、カンマ区切り、改行コード）
	 */
	private StringBuffer editHeader(X31SDataBeanAccess bean)
	{
		StringBuffer retStr = new StringBuffer();
		for (int i = 0; i < RECORD_LAYOUT_HEADER.length; i++)
		{
			if (i > 0)
			{
				retStr.append(JDKStrConst.COMMA);
			}
			retStr.append(JDKStrConst.DOUBLE_QUAT);
			retStr.append(JDKWebCommon.getData(bean, RECORD_LAYOUT_HEADER[i]));
			retStr.append(JDKStrConst.DOUBLE_QUAT);
		}
		// 最後に改行コード
		retStr.append(JDKStrConst.LINE_SEPARATOR);

		return retStr;
	}

	/**
	 * 製造番号なしレコードを編集して返す。
	 * @param bean データビーン
	 * @return 編集後の製造番号なしレコード（ダブルクォート囲み、カンマ区切り、改行コード）
	 */
	private StringBuffer editSeizoNoNashi(X31SDataBeanAccess bean)
	{
		StringBuffer retStr = new StringBuffer();
		for (int i = 0; i < RECORD_LAYOUT_SEIZO_NO_NASHI.length; i++)
		{
			if (i > 0)
			{
				retStr.append(JDKStrConst.COMMA);
			}
			retStr.append(JDKStrConst.DOUBLE_QUAT);
			if (DKW04602SFConst.SHUKKA_CNT_02.equals(RECORD_LAYOUT_SEIZO_NO_NASHI[i]))
			{
				retStr.append("0");
			}
			else
			{
				retStr.append(JDKWebCommon.getData(bean, RECORD_LAYOUT_SEIZO_NO_NASHI[i]));
			}
			retStr.append(JDKStrConst.DOUBLE_QUAT);
		}
		// 最後に改行コード
		retStr.append(JDKStrConst.LINE_SEPARATOR);

		return retStr;
	}

	/**
	 * 明細レコードを編集して返す。
	 * @param loadData ファイル内容（ヘッダ、明細、トレーラ）
	 * @return 編集後の明細レコード（ダブルクォート囲み、カンマ区切り、改行コード）（複数件あり）
	 */
	private StringBuffer editDetail(String loadData)
	{
		StringBuffer retStr = new StringBuffer();
		String[] lines = loadData.split(JDKStrConst.LINE_SEPARATOR);
		int dataCount = lines.length;
		for (int i = 0; i < dataCount; i++)
		{
			String line = lines[i];
			String[] columns = JDKCommonUtil.splitAnycase(line, JDKStrConst.COMMA);
			String recSbt = this.trimMoji(columns[0], JDKStrConst.DOUBLE_QUAT);
			if (RECORD_DETAIL.equals(recSbt))
			{
				StringBuffer dataBuf = new StringBuffer();
				for (int j = 0; j < RECORD_LAYOUT_DETAIL.length; j++)
				{
					if (j > 0)
					{
						dataBuf.append(JDKStrConst.COMMA);
					}
					dataBuf.append(JDKStrConst.DOUBLE_QUAT);
					dataBuf.append(this.trimMoji(columns[j], JDKStrConst.DOUBLE_QUAT));
					dataBuf.append(JDKStrConst.DOUBLE_QUAT);
				}
				// 最後に改行コード
				dataBuf.append(JDKStrConst.LINE_SEPARATOR);

				retStr.append(dataBuf.toString());
			}
		}
		return retStr;
	}

	/**
	 * トレーラレコードを編集して返す。
	 * @param loadData ファイル内容
	 * @return 編集後のトレーラレコード（ダブルクォート囲み、カンマ区切り、改行コード）
	 */
	private StringBuffer editTrailer(String loadData)
	{
		StringBuffer retStr = new StringBuffer();
		String[] lines = loadData.split(JDKStrConst.LINE_SEPARATOR);
		String lastLine = lines[lines.length - 1];
		String[] columns = JDKCommonUtil.splitAnycase(lastLine, JDKStrConst.COMMA);
		StringBuffer dataBuf = new StringBuffer();
		for (int j = 0; j < RECORD_LAYOUT_TRAILER.length; j++)
		{
			if (j > 0)
			{
				dataBuf.append(JDKStrConst.COMMA);
			}
			dataBuf.append(JDKStrConst.DOUBLE_QUAT);
			dataBuf.append(this.trimMoji(columns[j], JDKStrConst.DOUBLE_QUAT));
			dataBuf.append(JDKStrConst.DOUBLE_QUAT);
		}
		// 最後に改行コード
		dataBuf.append(JDKStrConst.LINE_SEPARATOR);

		retStr.append(dataBuf.toString());
		return retStr;
	}

	private StringBuffer editTrailer()
	{
		StringBuffer dataBuf = new StringBuffer();

		// ヘッダーとトレーラの２行しかない
		dataBuf.append(JDKStrConst.DOUBLE_QUAT).append(RECORD_TRAILER).append(JDKStrConst.DOUBLE_QUAT);
		dataBuf.append(JDKStrConst.DOUBLE_QUAT).append(2).append(JDKStrConst.DOUBLE_QUAT);

		// 最後に改行コード
		dataBuf.append(JDKStrConst.LINE_SEPARATOR);

		return dataBuf;
	}
	
	
	/**
	 * 入荷情報一覧リストから指定のページデータを切り出します。
	 * @author 富士通
	 * @param page ページ
	 */
	private void pickFromLines(int page)
	{
		DEBUG_LOG.debug(String.format("%dページ目のデータを準備します。", page + 1));
		
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray list = bean.getDataBeanArray(DKW04602SFConst.HEADER_LIST);
		list.clearArray();

		X31SDataBeanAccessArray allList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		int dataCount = allList.getCount();
		String rowsPerPage = JCCWebCommon.getSearchConst(DKW04602_ROW_PER_PAGE);
		int iRowsPerPage = Integer.parseInt(rowsPerPage, 10);
		int start = page * iRowsPerPage;
		int end = (page + 1) * iRowsPerPage;
		if (dataCount < end)
		{
			end = dataCount;
		}

		DEBUG_LOG.debug(String.format("出力データ：全%d件中 %d〜%d", dataCount, start + 1, end));
		for (int i = start ; i < end ; i++)
		{
			X31SDataBeanAccess lineBean = allList.getDataBean(i);

			X31SDataBeanAccess subbean = list.addDataBean();
			JDKWebCommon.setData(subbean, JDKWebCommon.getDataL(lineBean, DKW04602SFConst.HEADER_NO_02), DKW04602SFConst.HEADER_NO_02);
			JDKWebCommon.setData(subbean, i + 1L, DKW04602SFConst.NO_02);
			JDKWebCommon.setData(subbean, ((i + 1) % 2 == 0) ? EVEN : ODD, DKW04602SFConst.LINE_COLOR_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.REC_SBT_02), DKW04602SFConst.REC_SBT_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02), DKW04602SFConst.NYUKA_SAKI_SOKO_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02), DKW04602SFConst.NYUKA_SAKI_SHELF_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.HATTCHU_MOTO_02), DKW04602SFConst.HATTCHU_MOTO_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.MAKER_CD_02), DKW04602SFConst.MAKER_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.SHUKKA_LOT_NO_02), DKW04602SFConst.SHUKKA_LOT_NO_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.HATTCHU_NO_02), DKW04602SFConst.HATTCHU_NO_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.MODEL_CD_02), DKW04602SFConst.MODEL_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.SHUKKA_CNT_02), DKW04602SFConst.SHUKKA_CNT_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.MAKER_SHUKKA_YMD_02), DKW04602SFConst.MAKER_SHUKKA_YMD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.CNT_02), DKW04602SFConst.CNT_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.NYUKA_YMD_02), DKW04602SFConst.NYUKA_YMD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.RCV_RNKI_MT_CD_02), DKW04602SFConst.RCV_RNKI_MT_CD_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.BIKO_02), DKW04602SFConst.BIKO_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.MAKER_NM_02), DKW04602SFConst.MAKER_NM_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.MAKER_DISP_NM_02), DKW04602SFConst.MAKER_DISP_NM_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.GOODS_NM_02), DKW04602SFConst.GOODS_NM_02);
			JDKWebCommon.setData(subbean, JDKWebCommon.getData(lineBean, DKW04602SFConst.GOODS_DISP_NM_02), DKW04602SFConst.GOODS_DISP_NM_02);
		}

		JDKWebCommon.setData(this, 0L, DKW04602SFConst.SELECTROW);
		JDKWebCommon.setData(this, String.valueOf(end - start), DKW04602SFConst.ICRN_DISP_CNT);
	}

	/**
	 * 現在表示すべきページ番号を返します。
	 * @author 富士通
	 * @param screenId 画面ＩＤ
	 * @param command ページングにレンダリングするコマンド名
	 * @return ページ番号
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	private int getDisplayPageNumber(String screenId, String command) throws Exception
	{
		HashMap pageMap = initializePageInformation(getAllDataCount(), screenId, command);

		String displayPageNum = (String)((HashMap)pageMap.get(PAGING_TEMPLATE_ID)).get(DISPLAY_PAGE_NUM);
		return Integer.parseInt(displayPageNum) - 1;
	}

	/**
	 * ページング情報を初期化します。
	 * @author 富士通
	 * @param allDataCount 総件数
	 * @param screenId 画面ＩＤ
	 * @param command ページングにレンダリングするコマンド名
	 * @return 初期化されたページング情報
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	private HashMap initializePageInformation(int allDataCount, String screenId, String command) throws Exception
	{
		HashMap pageMap = new HashMap();
		HashMap pageInfo = new HashMap();
		pageMap.put(PAGING_TEMPLATE_ID, pageInfo);

		pageInfo.put(SEARCH_TYPE, PAGING_SEARCH_TYPE);
		String maxSearchCnt = JCCWebCommon.getSearchConst(DKW04602_MAX_SHOW_CNT);
		pageInfo.put(MAX_SEARCH_NUM, maxSearchCnt);
		String rowsPerPage = JCCWebCommon.getSearchConst(DKW04602_ROW_PER_PAGE);
		int iRowsPerPage = Integer.parseInt(rowsPerPage, 10);
		pageInfo.put(DISPLAY_NUM, rowsPerPage);

		JCCWebCommon.upmapperPageLinkInfo(this, PAGING_TEMPLATE_ID, pageMap, screenId);
		
		pageInfo.put(TOTAL_SEARCH_NUM, Integer.toString(allDataCount));
		pageInfo.put(TOTAL_PAGE_NUM, Integer.toString(allDataCount / iRowsPerPage + (allDataCount % iRowsPerPage == 0 ? 0 : 1)));
		pageInfo.put(SEARCH_ERR_FLG, "");
		
		JCCWebCommon.downmapperPageLinkInfo(this, PAGING_TEMPLATE_ID, pageMap, screenId);
		JCCWebCommon.setSearchCommand(this, command, screenId);
		
		return pageMap;
	}

	/**
	 * 画面で保持している入荷情報（ヘッダ）の件数を取得します。
	 * @author 富士通
	 * @return 入荷情報（ヘッダ）の件数
	 */
	private int getAllDataCount()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();

		X31SDataBeanAccessArray allList = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		return (Integer)allList.getCount();
	}

	/**
	 * 入荷登録画面で選択されている行のインデックスを取得します。
	 * @return 取得したインデックス
	 * @throws Exception 例外発生時
	 */
	private int getSelectedIndex() throws Exception
	{
		int selectRow = JDKWebCommon.getDataL(this, DKW04602SFConst.SELECTROW).intValue();
		int displayPageNum = getDisplayPageNumber(JDKScreenConst.SCREEN_ID_DKW04602, L_PAG_CREATE);
		String rowsPerPage = JCCWebCommon.getSearchConst(DKW04602_ROW_PER_PAGE);
		int iRowsPerPage = Integer.parseInt(rowsPerPage, 10);
		int selectedIndex = displayPageNum * iRowsPerPage + selectRow;
		return selectedIndex;
	}

	/**
	 * ディレード処理依頼実行
	 * @param serviceFormBean データビーン
	 * @return false: エラーあり、true: エラーなし
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	private boolean execDlydTrnReq(X31SDataBeanAccess serviceFormBean) throws Exception
	{
		// ファイル削除年月日を算出する
		String unyoYmd = JCCWebCommon.getOpeDate(this, null);
		String fileDeleteYmd = JPCDateUtil.addDay(unyoYmd, 90);

		// システム日時取得
		String sysDateTimeStamp = JCCWebCommon.getSysDateTimeStamp();
		// 運用日時取得
		String opeDateTime = unyoYmd + sysDateTimeStamp.substring(8);

		// サービスフォームBeanの編集を行う
		JDKWebCommon.setData(serviceFormBean, fileDeleteYmd, DKW04602SFConst.FILE_DEL_YMD);
		JDKWebCommon.setData(serviceFormBean, opeDateTime, DKW04602SFConst.DLYD_TRN_JSSI_UNYO_DTM);
		JDKWebCommon.setData(serviceFormBean, "", DKW04602SFConst.TRN_REQ_NO);
		JDKWebCommon.setData(serviceFormBean, "", DKW04602SFConst.EFILE_KANRI_NO);
		JDKWebCommon.setData(serviceFormBean, "", DKW04602SFConst.GANE_ADD_DTM);
		JDKWebCommon.setData(serviceFormBean, "", DKW04602SFConst.BTRY_EFILE_KNRI_NO);
		JDKWebCommon.setData(serviceFormBean, JDKWebCommon.substr(opeDateTime, 0, 12), DKW04602SFConst.TRN_REQ_DTM);
		JDKWebCommon.setData(serviceFormBean, TRN_HOSHIKI_FLG_DLYD, DKW04602SFConst.TRN_HOSHIKI_FLG);
		JDKWebCommon.setData(serviceFormBean, TRN_KANRI_NO_NYUKA_REQ, DKW04602SFConst.TRN_KANRI_NO);
		String userId = super.getCommonInfoBean().sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		JDKWebCommon.setData(serviceFormBean, userId, DKW04602SFConst.TRN_IRAISHA_OPEACNT);
		JDKWebCommon.setData(serviceFormBean, "", DKW04602SFConst.DATAIKTTRK_KNRI_NO);

		X31SDataBeanAccess[] paramBean = {serviceFormBean};

		
		HashMap paramMap = new HashMap();
		HashMap dataMap = new HashMap();
		HashMap outputMap = new HashMap();
		HashMap attachMap = new HashMap();
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, DKSV0059);

		// マッピングクラスのインスタンスを生成
		DKSV0059_DKSV0059OPDBMapper mapper = new DKSV0059_DKSV0059OPDBMapper();
		mapper.setDKSV005901SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setDKSV005902SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		mapper.setDKSV005904SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		JDKWebCommon.setByteArrayMapping(attachMap, EFILE, this);
		
		// サービス呼出
		X31CMessageResult msgResult = invokeService(paramMap, dataMap, outputMap, attachMap);

		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return false;
		}

		JCCMessageCache.setMessageCache();

		mapper.getDKSV005901SC(paramBean, outputMap);
		mapper.getDKSV005902SC(paramBean, outputMap);
		mapper.getDKSV005903SC(paramBean, outputMap);
		mapper.getDKSV005904SC(paramBean, outputMap);

		String efileKanriNo = JDKWebCommon.getData(serviceFormBean, DKW04602SFConst.EFILE_KANRI_NO);
		String btryEfileKanriNo = JDKWebCommon.getData(serviceFormBean, DKW04602SFConst.BTRY_EFILE_KNRI_NO);
		String dataIktTrkKnriNo = JDKWebCommon.getData(serviceFormBean, DKW04602SFConst.DATAIKTTRK_KNRI_NO);
		if (JDKCommonUtil.isNull(efileKanriNo) || JDKCommonUtil.isNull(btryEfileKanriNo) || JDKCommonUtil.isNull(dataIktTrkKnriNo))
		{
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0640_KW,
					new String[] {MSG_NYUKA_CNT, MSG_HATTCHU_CNT});
			return false;
		}

		return true;
	}


	/**
	 * 入荷完了情報受信データを入荷登録情報一覧リストへ格納します。
	 * @author 富士通
	 * @param linesStr アップロードされた入荷完了情報受信
	 * @return false: エラーあり、true: エラーなし
	 */
	private boolean initLines(String linesStr, HashMap map)
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccessArray headerData = bean.getDataBeanArray(DKW04602SFConst.NYUKA_FIN_INFO_HEADER_LIST);
		headerData.clearArray();

		int dataCounts = 0;
		long headerNo = 0;
		String [] lines = linesStr.split(JDKStrConst.LINE_SEPARATOR);
		for (String line : lines) {
			String [] columns = JDKCommonUtil.splitAnycase(line, JDKStrConst.COMMA);
			dataCounts++;
			String recSbt = this.trimMoji(columns[0], JDKStrConst.DOUBLE_QUAT);
			// ヘッダレコード
			if (RECORD_HEADER.equals(recSbt))
			{
				X31SDataBeanAccess subbean = headerData.addDataBean();
				DEBUG_LOG.debug(String.format("ヘッダを読み込みました。"));
				headerNo++;
				JDKWebCommon.setData(subbean, headerNo, DKW04602SFConst.HEADER_NO_02);
				for (int i = 0; i < RECORD_LAYOUT_HEADER.length; i++)
				{
					String str = this.trimMoji(columns[i], JDKStrConst.DOUBLE_QUAT);
					if (DKW04602SFConst.MAKER_CD_02.equals(RECORD_LAYOUT_HEADER[i]))
					{
						str = str.substring(0, (str.length() > DISPLENGTH_MAKER_NM ? DISPLENGTH_MAKER_NM : str.length()));
					}
					else if (DKW04602SFConst.GOODS_NM_02.equals(RECORD_LAYOUT_HEADER[i]))
					{
						str = str.substring(0, (str.length() > DISPLENGTH_GOODS_NM ? DISPLENGTH_GOODS_NM : str.length()));
					}
					JDKWebCommon.setData(subbean, str, RECORD_LAYOUT_HEADER[i]);
				}
			}
			// 明細レコード
			else if (RECORD_DETAIL.equals(recSbt))
			{
				// 何もしない
			}
			// トレーラーレコード
			else if (RECORD_TRAILER.equals(recSbt))
			{
				// 何もしない
			}
			// 製造番号なしレコード
			else if (RECORD_SEIZO_NO_NASHI.equals(recSbt))
			{
				X31SDataBeanAccess subbean = headerData.addDataBean();
				DEBUG_LOG.debug(String.format("製造番号なしレコードを読み込みました。"));
				headerNo++;
				JDKWebCommon.setData(subbean, headerNo, DKW04602SFConst.HEADER_NO_02);
				String cnt = "0";
				for (int i = 0; i < RECORD_LAYOUT_SEIZO_NO_NASHI.length; i++)
				{
					String str = this.trimMoji(columns[i], JDKStrConst.DOUBLE_QUAT);
					if (DKW04602SFConst.MAKER_CD_02.equals(RECORD_LAYOUT_SEIZO_NO_NASHI[i]))
					{
						str = this.getDispName(str, DISPLENGTH_MAKER_NM);
					}
					else if (DKW04602SFConst.GOODS_NM_02.equals(RECORD_LAYOUT_SEIZO_NO_NASHI[i]))
					{
						str = this.getDispName(str, DISPLENGTH_GOODS_NM);
					}
					else if (DKW04602SFConst.CNT_02.equals(RECORD_LAYOUT_SEIZO_NO_NASHI[i]))
					{
						cnt = str;
					}
					JDKWebCommon.setData(subbean, str, RECORD_LAYOUT_SEIZO_NO_NASHI[i]);
				}
				JDKWebCommon.setData(subbean, cnt, DKW04602SFConst.SHUKKA_CNT_02);
			}
			else
			{
				DEBUG_LOG.debug(String.format("不明なレコード種別です。[%s]", recSbt));
			}
		}
		
		// メーカー名と商品名を設定
		X31SDataBeanAccess subbean = headerData.getDataBean(0);
		String buff = "";

		buff = (String)map.get(DKW04602SFConst.MAKER_NM_02);
		if (!JDKCommonUtil.isNull(buff))
		{
			JDKWebCommon.setData(subbean, buff, DKW04602SFConst.MAKER_NM_02);
			JDKWebCommon.setData(subbean, this.getDispName(buff, DISPLENGTH_MAKER_NM), DKW04602SFConst.MAKER_DISP_NM_02);
		}

		buff = (String)map.get(DKW04602SFConst.GOODS_NM_02);
		if (!JDKCommonUtil.isNull(buff))
		{
			JDKWebCommon.setData(subbean, buff, DKW04602SFConst.GOODS_NM_02);
			JDKWebCommon.setData(subbean, this.getDispName(buff, DISPLENGTH_GOODS_NM), DKW04602SFConst.GOODS_DISP_NM_02);
		}

		
		DEBUG_LOG.debug(String.format("ファイルデータを%d件読み込みました。", dataCounts));
		return true;
	}

	
	/**
	 * リストからデータを取得します。
	 * @param list リストオブジェクト
	 * @param index インデックス
	 * @param key 項目ID
	 * @return 取得したデータ
	 */
	private String getDataFromArray(X31SDataBeanAccessArray list, int index, String key)
	{
		String retStr = "";
		X31SDataBeanAccess subbean = list.getDataBean(index);
		retStr = subbean.sendMessageString(key, X31CWebConst.DATABEAN_GET_VALUE);
		return retStr;
	}

	/**
	 * リストからデータを取得します。
	 * @param list リストオブジェクト
	 * @param index インデックス
	 * @param key 項目ID
	 * @return 取得したデータ
	 */
	private Long getDataLongFromArray(X31SDataBeanAccessArray list, int index, String key)
	{
		long retStr = -1;
		X31SDataBeanAccess subbean = list.getDataBean(index);
		retStr = subbean.sendMessageLong(key, X31CWebConst.DATABEAN_GET_VALUE);
		return retStr;
	}

	/**
	 * リストにデータをセットします。
	 * @param list リストオブジェクト
	 * @param index インデックス
	 * @param key 項目ID
	 * @param value 値
	 */
	private void setDataToArray(X31SDataBeanAccessArray list, int index, String key, String value)
	{
		int cnt = list.getCount();
		X31SDataBeanAccess subbean = null;
		if (cnt > index)
		{
			subbean = list.getDataBean(index);
		}
		else
		{
			subbean = list.addDataBean();
		}
		subbean.sendMessageString(key, X31CWebConst.DATABEAN_SET_VALUE, value);
	}

	/**
	 * インデックスを引数にプルダウンから名称を取得します。
	 * @param index インデックス
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param cdNameListNm コード名リスト項目名
	 * @return 取得した名称
	 */
	private String getNameFromIndex(int index, X31SDataBeanAccess serviceFormBean, String listNm, String cdNameListNm)
	{
		// リストを取得
		X31SDataBeanAccessArray beanArray = serviceFormBean.getDataBeanArray(listNm);
		X31SDataBeanAccess bean = beanArray.getDataBean(0);
		String retName = bean.sendMessageString(cdNameListNm, X31CWebConst.DATABEAN_GET_VALUE, index);

		return retName;
	}

	/**
	 * 名称を引数にプルダウンからインデックスを取得します。
	 * @param name 名称
	 * @param serviceFormBean サービスフォームビーン
	 * @param listNm リスト項目名
	 * @param cdValueListNm コード値リスト項目名
	 * @return 取得したインデックス
	 */
	private int getIndexFromName(String name, X31SDataBeanAccess serviceFormBean, String listNm, String cdValueListNm)
	{
		// リストを取得
		X31SDataBeanAccessArray beanArray = serviceFormBean.getDataBeanArray(listNm);
		X31SDataBeanAccess bean = beanArray.getDataBean(0);

		int retIndex = 0;

		for (int i = 0; i < Integer.valueOf(bean.sendMessage(cdValueListNm, X31CWebConst.DATABEAN_GET_COUNT).toString()); i++)
		{
			String nm = bean.sendMessageString(cdValueListNm, X31CWebConst.DATABEAN_GET_VALUE, i);
			nm = JDKWebCommon.getFollowOf(nm, ".");
			if (name.equals(nm))
			{
				retIndex = i;
				break;
			}
		}

		return retIndex;
	}

	/**
	 * 表示桁数で切り取った文字列を返します。
	 * @param value 編集前データ
	 * @param dispLength 表示桁数
	 * @return 編集後データ
	 */
	private String getDispName(String value, int dispLength)
	{
		if (JDKCommonUtil.isNull(value))
		{
			return "";
		}
		String str = value.substring(0, (value.length() > dispLength ? dispLength : value.length()));
		return str;
	}

	/**
	 * メーカーを検索する
	 */
	@SuppressWarnings("unchecked")
	private void execServiceModelCd()
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "DKSV0047");

		// マッピングクラスのインスタンスを生成
		DKSV0047_DKSV0047OPDBMapper mapper = new DKSV0047_DKSV0047OPDBMapper();
		HashMap dataMap = new HashMap();
		mapper.setDKSV004701SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		HashMap outputMap = new HashMap();
		invokeService(paramMap, dataMap, outputMap);

		mapper.getDKSV004701SC(paramBean, outputMap);
	}

	/**
	 * 画面遷移先を設定します。
	 * @param nextScreenId 遷移先画面ＩＤ
	 * @param nextScreenName 遷移先画面名
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
	
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

		DEBUG_LOG.debug(nextScreenName + "へ遷移する");
	}

	/**
	 * 文字列前後のmojiのTrimを行います。
	 * <br>
	 * @param value 編集を行う文字列
	 * @param moji Trimしたい文字
	 * @return String 編集された文字列
	 */
	private String trimMoji(String value, String moji)
	{
		if (JDKCommonUtil.isNull(value))
		{
			return "";
		}

		StringBuffer arg0 = new StringBuffer(value);

		// 前方の空白（半角・全角）の削除
		while (arg0.substring(0, 1).equals(moji))
		{
			arg0.deleteCharAt(0);

			if (arg0.length() <= 0)
			{
				break;
			}
		}

		while (arg0.length() > 0 && arg0.substring(arg0.length() - 1, arg0.length()).equals(moji))
		{
			arg0.deleteCharAt(arg0.length() - 1);

			if(JDKCommonUtil.isNull(arg0))
			{
				break;
			}
		}

		return arg0.toString();
	}

}
