/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatDKNyukaFinAdd
*	ソースファイル名	：JBSbatDKNyukaFinAdd.java
*	作成者				：富士通　
*	作成日				：2011年09月27日
*＜機能概要＞
*　入荷完了情報登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/27   富士通		新規作成
*	v3.00.00	2012/05/15   FJ)田中	【ANK-0315-00-00】機器入荷情報登録バッチ送信ファイル連携
*	v7.00.00	2014/03/11   FJ)窪田	OM-2014-0000812対応
*	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.business.service;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JCCbatDenshiFileUtil;
import eo.business.common.JDKBatOutputFileUtil;
import eo.business.util.file.JBSbatDKIFM002;
import eo.business.util.file.JBSbatDKIFM083;
import eo.common.constant.JDKStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JCCFileUtil;
import eo.common.util.JDKCommonUtil;
import eo.common.util.JPCDateUtil;
import eo.common.util.JPCUtilCommon;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatDefFileUtil;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;import eo.framework.log.JBSbatLogPrintControl;
import eo.framework.util.JBSbatAplConst;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatDKNyukaFinAdd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(ディレイド処理依頼)*/
	private static final String D_TBL_NAME_CC_T_DLYD_TRN_REQ = "CC_T_DLYD_TRN_REQ";

	/** テーブル(電子ファイル管理)*/
	private static final String D_TBL_NAME_CC_T_EFILE_KANRI = "CC_T_EFILE_KANRI";

	/** テーブル(入荷)*/
	private static final String D_TBL_NAME_DK_T_NYUKA = "DK_T_NYUKA";

	/** テーブル(発注)*/
	private static final String D_TBL_NAME_DK_T_HATTCHU = "DK_T_HATTCHU";

	/** テーブル(発注明細)*/
	private static final String D_TBL_NAME_DK_T_HATTCHU_DTL = "DK_T_HATTCHU_DTL";

	/** テーブル(バッチ用宅内機器ワーク)*/
	private static final String D_TBL_NAME_DK_T_BAT_TKKIKI_WK = "DK_T_BAT_TKKIKI_WK";

	/** テーブル(宅内機器型式)*/
	private static final String D_TBL_NAME_ZM_M_TAKNKIKI_MODEL = "ZM_M_TAKNKIKI_MODEL";

	/** テーブル(倉庫)*/
	private static final String D_TBL_NAME_DK_M_SOKO = "DK_M_SOKO";

	/** テーブル(倉庫棚)*/
	private static final String D_TBL_NAME_DK_M_SOKODNA = "DK_M_SOKODNA";

	/** テーブル(入荷明細)*/
	private static final String D_TBL_NAME_DK_T_NYUKA_DTL = "DK_T_NYUKA_DTL";

	/** テーブル(宅内機器セット品)*/
	private static final String D_TBL_NAME_DK_T_TAKNKIKI_SETHIN = "DK_T_TAKNKIKI_SETHIN";

	/** テーブル(セット品構成)*/
	private static final String D_TBL_NAME_ZM_M_SETHN_KOSE = "ZM_M_SETHN_KOSE";

	/** テーブル(コード名称管理)*/
	private static final String D_TBL_NAME_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";

	/** テーブル(ダウンロードファイル管理)*/
	private static final String D_TBL_NAME_ZM_T_DL_FILE_KANRI = "ZM_T_DL_FILE_KANRI";

	/** テーブル(メーカー)*/
	private static final String D_TBL_NAME_ZM_M_MAKER = "ZM_M_MAKER";

	/** テーブル(物流電子ファイル管理)*/
	private static final String D_TBL_NAME_DK_T_BTRY_EFILE_KNRI = "DK_T_BTRY_EFILE_KNRI";

	/** テーブル(宅内機器セット品型)*/
	private static final String D_TBL_NAME_DK_M_TKKIKI_SETHNMDL = "DK_M_TKKIKI_SETHNMDL";

// ANK-3488-00-00 ADD START
	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";
// ANK-3488-00-00 ADD END

	/** SQL定義キー(DK_SELECT_002)*/
	private static final String DK_T_NYUKA_DK_SELECT_002 = "DK_SELECT_002";

	/** SQL定義キー(DK_SELECT_002)*/
	private static final String DK_T_HATTCHU_DK_SELECT_002 = "DK_SELECT_002";

	/** SQL定義キー(DK_SELECT_002)*/
	private static final String DK_T_HATTCHU_DTL_DK_SELECT_002 = "DK_SELECT_002";

	/** SQL定義キー(DK_SELECT_004)*/
	private static final String DK_T_BAT_TKKIKI_WK_DK_SELECT_004 = "DK_SELECT_004";

	/** SQL定義キー(DK_SELECT_003)*/
	private static final String ZM_M_TAKNKIKI_MODEL_DK_SELECT_003 = "DK_SELECT_003";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String DK_M_SOKO_DK_SELECT_001 = "DK_SELECT_001";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String DK_M_SOKODNA_DK_SELECT_001 = "DK_SELECT_001";

	/** SQL定義キー(DK_SELECT_002)*/
	private static final String ZM_M_SETHN_KOSE_DK_SELECT_002 = "DK_SELECT_002";

	/** SQL定義キー(DK_SELECT_002)*/
	private static final String ZM_M_CD_NM_KANRI_DK_SELECT_002 = "DK_SELECT_002";

	/** SQL定義キー(DK_INSERT_002)*/
	private static final String ZM_T_DL_FILE_KANRI_DK_INSERT_002 = "DK_INSERT_002";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String DK_M_TKKIKI_SETHNMDL_DK_SELECT_001 = "DK_SELECT_001";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String ZM_M_MAKER_DK_SELECT_001 = "DK_SELECT_001";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String DK_T_BTRY_EFILE_KNRI_DK_SELECT_001 = "DK_SELECT_001";

	/** SQL定義キー(DK_SELECT_001)*/
	private static final String CC_T_DLYD_TRN_REQ_DK_SELECT_001 = "DK_SELECT_001";

// ANK-3488-00-00 ADD START
	/** SQL定義キー(DK_SELECT_001)*/
	private static final String ZM_M_WORK_PARAM_KNRI_DK_SELECT_001 = "DK_SELECT_001";
// ANK-3488-00-00 ADD END

	/** テーブルアクセスクラス(ディレイド処理依頼)*/
	private JBSbatSQLAccess db_CC_T_DLYD_TRN_REQ = null;

	/** テーブルアクセスクラス(電子ファイル管理)*/
	private JBSbatSQLAccess db_CC_T_EFILE_KANRI = null;

	/** テーブルアクセスクラス(入荷)*/
	private JBSbatSQLAccess db_DK_T_NYUKA = null;

	/** テーブルアクセスクラス(発注)*/
	private JBSbatSQLAccess db_DK_T_HATTCHU = null;

	/** テーブルアクセスクラス(発注明細)*/
	private JBSbatSQLAccess db_DK_T_HATTCHU_DTL = null;

	/** テーブルアクセスクラス(バッチ用宅内機器ワーク)*/
	private JBSbatSQLAccess db_DK_T_BAT_TKKIKI_WK = null;

	/** テーブルアクセスクラス(宅内機器型式)*/
	private JBSbatSQLAccess db_ZM_M_TAKNKIKI_MODEL = null;

	/** テーブルアクセスクラス(倉庫)*/
	private JBSbatSQLAccess db_DK_M_SOKO = null;

	/** テーブルアクセスクラス(倉庫棚)*/
	private JBSbatSQLAccess db_DK_M_SOKODNA = null;

	/** テーブルアクセスクラス(入荷明細)*/
	private JBSbatSQLAccess db_DK_T_NYUKA_DTL = null;

	/** テーブルアクセスクラス(宅内機器セット品)*/
	private JBSbatSQLAccess db_DK_T_TAKNKIKI_SETHIN = null;

	/** テーブルアクセスクラス(セット品構成)*/
	private JBSbatSQLAccess db_ZM_M_SETHN_KOSE = null;

	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;

	/** テーブルアクセスクラス(ダウンロードファイル管理)*/
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;

	/** テーブルアクセスクラス(宅内機器セット品型)*/
	private JBSbatSQLAccess db_DK_M_TKKIKI_SETHNMDL = null;

	/** テーブルアクセスクラス(メーカー)*/
	private JBSbatSQLAccess db_ZM_M_MAKER = null;

	/** テーブルアクセスクラス(物流電子ファイル管理)*/
	private JBSbatSQLAccess db_DK_T_BTRY_EFILE_KNRI = null;

// ANK-3488-00-00 ADD START
	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
// ANK-3488-00-00 ADD END
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
	/** 機器種別（個別機器） */
	private static final String KIKISBT_KOBET = "1";

	/** 機器種別（セット品機器） */
	private static final String KIKISBT_SETHIN = "3";

	/** 使用不可文字配列（「/」） */
	private static final String[] USE_FAIL_MOJI_ARRAY = { "/" };

	/** 入荷番号のシーケンス定義名 */
	private static final String SEQ_NYUKA_NO = "SEQ_NYUKA_NO";

	/** 入荷明細番号のシーケンス定義名 */
	private static final String SEQ_NYUKA_DTL_NO = "SEQ_NYUKA_DTL_NO";

	/** 宅内機器種別コード（UQ機器） */
	private static final String TAKNKIKI_SBT_CD_UQ = "J0";

	/** 宅内機器種別コード（STB機器） */
	private static final String TAKNKIKI_SBT_CD_STB = "A0";

	/** 宅内機器種別コード（イー・モバイル機器） */
	private static final String TAKNKIKI_SBT_CD_EMOBILE = "H0";

	/** MAC情報有無（有） */
	private static final String MAC_IF_UM_ARI = "1";
	
	/** 入荷完了情報受信ファイル名　プレフィックス */
	private static final String EO_NINPUT = "eo_ninput_";
	
	/** 外部ＩＦＩＤ 機器入荷情報登録バッチ送信 */
	private static final String GAI_IF_ID_KIKI_NYUKA_INS_FILE = "DKIFE029";
	
	/** 機器入荷情報登録バッチ送信ファイル定義 */
	private static final String DEF_KIKI_NYUKA_INS = "DKIFM083.def";

	/** 入荷時ROM状態コード 黒ロム */
	private static final String NYUKA_JI_ROM_STAT_CD_B = "B";

	/** 入荷時ROM状態コード 白ロム */
	private static final String NYUKA_JI_ROM_STAT_CD_W = "W";
	
	/**
	 * ディレイド処理依頼番号
	 */
	private String dlydTrnReqNo = null;

	/**
	 * 電子ファイル管理番号
	 */
	private String efileKanriNo = null;

	/**
	 * 入荷情報（入荷完了情報受信ファイルの内容）
	 */
	private String[] nyukaJohoList = null;

	/**
	 * 入荷エラーリスト
	 */
	private ArrayList<String[]> nyukaErrList = null;

	/**
	 * 発注情報
	 */
	private JBSbatCommonDBInterface dkTHattchuMap = null;

	/**
	 * 発注明細情報
	 */
	private JBSbatCommonDBInterface dkTHattchuDtlMap = null;

	/**
	 * 宅内機器型式情報
	 */
	private JBSbatCommonDBInterface tnMTaknkikiMdlMap = null;
	
// ANK-3488-00-00 ADD START
	/**
	 * 業務パラメータ管理情報
	 */
	private JBSbatCommonDBInterface zmMWorkParamKnriMap = null;
// ANK-3488-00-00 ADD END

	/**
	 * 入荷種別
	 */
	private String nyukaSbt = null;

	/**
	 * 機器種別
	 */
	private String kikiSbt = null;

	/**
	 * 入荷番号
	 */
	private String nyukaNo = null;

	/**
	 * セット品構成チェック用マップ
	 */
	private HashMap<String, Integer> sethinKoseCheckMap = new HashMap<String, Integer>();

	/**
	 * 機器入荷情報登録バッチ送信ファイル登録用リスト
	 */
	private ArrayList<JBSbatServiceInterfaceMap> dkife029List = new ArrayList<JBSbatServiceInterfaceMap>();
	/* ++++++++++ v1.00.00 追加終了 ++++++++++ */

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
		db_CC_T_EFILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_EFILE_KANRI);
		db_DK_T_NYUKA = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_NYUKA);
		db_DK_T_HATTCHU = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_HATTCHU);
		db_DK_T_HATTCHU_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_HATTCHU_DTL);
		db_DK_T_BAT_TKKIKI_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_BAT_TKKIKI_WK);
		db_ZM_M_TAKNKIKI_MODEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_TAKNKIKI_MODEL);
		db_DK_M_SOKO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_M_SOKO);
		db_DK_M_SOKODNA = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_M_SOKODNA);
		db_DK_T_NYUKA_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_NYUKA_DTL);
		db_DK_T_TAKNKIKI_SETHIN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_TAKNKIKI_SETHIN);
		db_ZM_M_SETHN_KOSE = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_SETHN_KOSE);
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_CD_NM_KANRI);
		db_ZM_T_DL_FILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_DL_FILE_KANRI);
		db_DK_M_TKKIKI_SETHNMDL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_M_TKKIKI_SETHNMDL);
		db_ZM_M_MAKER = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_MAKER);
		db_DK_T_BTRY_EFILE_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_BTRY_EFILE_KNRI);
// ANK-3488-00-00 ADD START
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
// ANK-3488-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		/* ++++++++++ v1.00.00 追加開始 ++++++++++ */

		this.executeMain();

		/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CC_T_DLYD_TRN_REQ.close();
		db_CC_T_EFILE_KANRI.close();
		db_DK_T_NYUKA.close();
		db_DK_T_HATTCHU.close();
		db_DK_T_HATTCHU_DTL.close();
		db_DK_T_BAT_TKKIKI_WK.close();
		db_ZM_M_TAKNKIKI_MODEL.close();
		db_DK_M_SOKO.close();
		db_DK_M_SOKODNA.close();
		db_DK_T_NYUKA_DTL.close();
		db_DK_T_TAKNKIKI_SETHIN.close();
		db_ZM_M_SETHN_KOSE.close();
		db_ZM_M_CD_NM_KANRI.close();
		db_ZM_T_DL_FILE_KANRI.close();
		db_DK_M_TKKIKI_SETHNMDL.close();
		db_ZM_M_MAKER.close();
		db_DK_T_BTRY_EFILE_KNRI.close();
// ANK-3488-00-00 ADD START
		db_ZM_M_WORK_PARAM_KNRI.close();
// ANK-3488-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(DK_SELECT_002)でDBアクセスを行います。<br>
	 * <p> 
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	発注ロット番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_NYUKA_DK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_T_NYUKA.selectBySqlDefine(paramList, DK_T_NYUKA_DK_SELECT_002);
	}

	/**
	 * SQLKEY(DK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	発注ロット番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_HATTCHU_DK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_T_HATTCHU.selectBySqlDefine(paramList, DK_T_HATTCHU_DK_SELECT_002);
	}

	/**
	 * SQLKEY(DK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	発注ロット番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_HATTCHU_DTL_DK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_T_HATTCHU_DTL.selectBySqlDefine(paramList, DK_T_HATTCHU_DTL_DK_SELECT_002);
	}

	/**
	 * SQLKEY(DK_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	ジョブＩＤ
	 *		 	宅内機器型式コード
	 *		 	機器製造番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_BAT_TKKIKI_WK_DK_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_DK_T_BAT_TKKIKI_WK.selectBySqlDefine(paramList, DK_T_BAT_TKKIKI_WK_DK_SELECT_004);
	}

	/**
	 * SQLKEY(DK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	宅内機器型式コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_TAKNKIKI_MODEL_DK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_M_TAKNKIKI_MODEL.selectBySqlDefine(paramList, ZM_M_TAKNKIKI_MODEL_DK_SELECT_003);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	倉庫コード
	 *		 	基準日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_M_SOKO_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_DK_M_SOKO.selectBySqlDefine(paramList, DK_M_SOKO_DK_SELECT_001);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	倉庫コード
	 *		 	倉庫棚コード
	 *		 	基準日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_M_SOKODNA_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_DK_M_SOKODNA.selectBySqlDefine(paramList, DK_M_SOKODNA_DK_SELECT_001);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	入荷番号				NYUKA_NO
	 *		 	入荷ステータス				NYUKA_STAT
	 *		 	発注ロット番号				HATTCHU_LOT_NO
	 *		 	発注ロット明細番号				HATTCHU_LOT_DTL_NO
	 *		 	宅内機器型式コード				TAKNKIKI_MODEL_CD
	 *		 	付属品型式コード				HUZOKUHIN_MODEL_CD
	 *		 	宅内機器セット品型コード				TAKNKIKI_SETHIN_MODEL_CD
	 *		 	倉庫コード				SOKO_CD
	 *		 	棚コード				SHELF_CD
	 *		 	入荷種別フラグ				NYUKA_SBT_FLG
	 *		 	入荷数量				NYUKA_CNT
	 *		 	入荷先担当ユーザーＩＤ				NYUKA_SAKI_TNT_USER_ID
	 *		 	入荷元メーカーコード				NYUKA_MT_MAKER_CD
	 *		 	入荷元備考				NYUKA_MT_BIKO
	 *		 	メーカー出荷年月日				MAKER_SHUKKA_YMD
	 *		 	メーカー出荷ロット番号				MAKER_SHUKKA_LOT_NO
	 *		 	入荷年月日				NYUKA_YMD
	 *		 	入荷取消年月日				NYUKA_CL_YMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_NYUKA_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("NYUKA_NO", setParam[0]);
		setMap.setValue("NYUKA_STAT", setParam[1]);
		setMap.setValue("HATTCHU_LOT_NO", setParam[2]);
		setMap.setValue("HATTCHU_LOT_DTL_NO", setParam[3]);
		setMap.setValue("TAKNKIKI_MODEL_CD", setParam[4]);
		setMap.setValue("HUZOKUHIN_MODEL_CD", setParam[5]);
		setMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", setParam[6]);
		setMap.setValue("SOKO_CD", setParam[7]);
		setMap.setValue("SHELF_CD", setParam[8]);
		setMap.setValue("NYUKA_SBT_FLG", setParam[9]);
		setMap.setValue("NYUKA_CNT", setParam[10]);
		setMap.setValue("NYUKA_SAKI_TNT_USER_ID", setParam[11]);
		setMap.setValue("NYUKA_MT_MAKER_CD", setParam[12]);
		setMap.setValue("NYUKA_MT_BIKO", setParam[13]);
		setMap.setValue("MAKER_SHUKKA_YMD", setParam[14]);
		setMap.setValue("MAKER_SHUKKA_LOT_NO", setParam[15]);
		setMap.setValue("NYUKA_YMD", setParam[16]);
		setMap.setValue("NYUKA_CL_YMD", setParam[17]);
		setMap.setValue("ADD_DTM", setParam[18]);
		setMap.setValue("ADD_OPEACNT", setParam[19]);
		setMap.setValue("UPD_DTM", setParam[20]);
		setMap.setValue("UPD_OPEACNT", setParam[21]);
		setMap.setValue("DEL_DTM", setParam[22]);
		setMap.setValue("DEL_OPEACNT", setParam[23]);
		setMap.setValue("MK_FLG", setParam[24]);
	
		// DBアクセスを実行します
		db_DK_T_NYUKA.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	入荷番号				NYUKA_NO
	 *		 	入荷明細番号				NYUKA_DTL_NO
	 *		 	入荷ロット番号				NYUKA_LOT_NO
	 *		 	宅内機器型式コード				TAKNKIKI_MODEL_CD
	 *		 	機器製造番号				KIKI_SEIZO_NO
	 *		 	宅内機器セット品型コード				TAKNKIKI_SETHIN_MODEL_CD
	 *		 	宅内機器セット品番号				TAKNKIKI_SETHIN_NO
	 *		 	付属品型式コード				HUZOKUHIN_MODEL_CD
	 *		 	ＵＱ認証ＩＤ				UQ_NINSHO_ID
	 *		 	ＵＱパスワード				UQ_PWD
	 *		 	ＳＴＢＩＤ				STB_ID
	 *		 	ＩＣＣＩＤ				ICC_ID
	 *		 	ＭＡＣアドレス				MACAD
	 *		 	ＭＡＣ認証ＩＤ				MAC_NINSHO_ID
	 *		 	ＭＳＩＳＤＮ				MSISDN
	 *		 	ＥＭ契約者コード				EM_KEISHA_CD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	ＡＣＡＳチップ番号				ACAS_CHIP_NO
	 *		 	製造年月				SEIZO_YM
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_NYUKA_DTL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("NYUKA_NO", setParam[0]);
		setMap.setValue("NYUKA_DTL_NO", setParam[1]);
		setMap.setValue("NYUKA_LOT_NO", setParam[2]);
		setMap.setValue("TAKNKIKI_MODEL_CD", setParam[3]);
		setMap.setValue("KIKI_SEIZO_NO", setParam[4]);
		setMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", setParam[5]);
		setMap.setValue("TAKNKIKI_SETHIN_NO", setParam[6]);
		setMap.setValue("HUZOKUHIN_MODEL_CD", setParam[7]);
		setMap.setValue("UQ_NINSHO_ID", setParam[8]);
		setMap.setValue("UQ_PWD", setParam[9]);
		setMap.setValue("STB_ID", setParam[10]);
		setMap.setValue("ICC_ID", setParam[11]);
		setMap.setValue("MACAD", setParam[12]);
		setMap.setValue("MAC_NINSHO_ID", setParam[13]);
		setMap.setValue("MSISDN", setParam[14]);
		setMap.setValue("EM_KEISHA_CD", setParam[15]);
		setMap.setValue("ADD_DTM", setParam[16]);
		setMap.setValue("ADD_OPEACNT", setParam[17]);
		setMap.setValue("UPD_DTM", setParam[18]);
		setMap.setValue("UPD_OPEACNT", setParam[19]);
		setMap.setValue("DEL_DTM", setParam[20]);
		setMap.setValue("DEL_OPEACNT", setParam[21]);
		setMap.setValue("MK_FLG", setParam[22]);
// ANK-3488-00-00 ADD START
		setMap.setValue("ACAS_CHIP_NO", setParam[23]);
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
		setMap.setValue("SEIZO_YM", setParam[24]);
// ANK-3738-00-00 ADD END
	
		// DBアクセスを実行します
		db_DK_T_NYUKA_DTL.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	宅内機器セット品型コード				TAKNKIKI_SETHIN_MODEL_CD
	 *		 	宅内機器セット品番号				TAKNKIKI_SETHIN_NO
	 *		 	宅内機器セット品登録年月日				TAKNKIKI_SETHIN_ADD_YMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_TAKNKIKI_SETHIN_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", setParam[0]);
		setMap.setValue("TAKNKIKI_SETHIN_NO", setParam[1]);
		setMap.setValue("TAKNKIKI_SETHIN_ADD_YMD", setParam[2]);
		setMap.setValue("ADD_DTM", setParam[3]);
		setMap.setValue("ADD_OPEACNT", setParam[4]);
		setMap.setValue("UPD_DTM", setParam[5]);
		setMap.setValue("UPD_OPEACNT", setParam[6]);
		setMap.setValue("DEL_DTM", setParam[7]);
		setMap.setValue("DEL_OPEACNT", setParam[8]);
		setMap.setValue("MK_FLG", setParam[9]);
	
		// DBアクセスを実行します
		db_DK_T_TAKNKIKI_SETHIN.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(DK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_SETHN_KOSE_DK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_ZM_M_SETHN_KOSE.selectBySqlDefine(paramList, ZM_M_SETHN_KOSE_DK_SELECT_002);
	}

	/**
	 * SQLKEY(DK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	コード種別
	 *		 	コード区分
	 *		 	基準日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_CD_NM_KANRI_DK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_DK_SELECT_002);
	}

	/**
	 * SQLKEY(DK_INSERT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	処理管理番号
	 *		 	ファイル名
	 *		 	ファイル登録年月日時分秒
	 *		 	登録年月日時分秒
	 *		 	登録オペレータアカウント
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	電子ファイル管理番号
	 *		 	ファイルサイズ
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_T_DL_FILE_KANRI_DK_INSERT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());

		// DBアクセスを実行します
		db_ZM_T_DL_FILE_KANRI.executeBySqlDefine(paramList, ZM_T_DL_FILE_KANRI_DK_INSERT_002);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	宅内機器セット品型コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_M_TKKIKI_SETHNMDL_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_M_TKKIKI_SETHNMDL.selectBySqlDefine(paramList, DK_M_TKKIKI_SETHNMDL_DK_SELECT_001);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	TAKNKIKI_SETHIN_MODEL_CD
	 *		 	TAKNKIKI_SETHIN_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeDK_T_TAKNKIKI_SETHIN_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", whereParam[0]);
		whereMap.setValue("TAKNKIKI_SETHIN_NO", whereParam[1]);

		// DBアクセスを実行します
		return db_DK_T_TAKNKIKI_SETHIN.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	メーカーコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_MAKER_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_M_MAKER.selectBySqlDefine(paramList, ZM_M_MAKER_DK_SELECT_001);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	電子ファイル管理番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_BTRY_EFILE_KNRI_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_T_BTRY_EFILE_KNRI.selectBySqlDefine(paramList, DK_T_BTRY_EFILE_KNRI_DK_SELECT_001);
	}

	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	ディレイド処理依頼番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCC_T_DLYD_TRN_REQ_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CC_T_DLYD_TRN_REQ.selectBySqlDefine(paramList, CC_T_DLYD_TRN_REQ_DK_SELECT_001);
	}

// ANK-3488-00-00 ADD START
	/**
	 * SQLKEY(DK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	業務パラメータID
	 *		 	業務パラメータ適用開始年月日
	 *		 	業務パラメータ適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_WORK_PARAM_KNRI_DK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_ZM_M_WORK_PARAM_KNRI.selectBySqlDefine(paramList, ZM_M_WORK_PARAM_KNRI_DK_SELECT_001);
	}
// ANK-3488-00-00 ADD END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	/* ++++++++++ v1.00.00 追加開始 ++++++++++ */

	/**
	 * 入荷完了情報登録メイン処理
	 *
	 * @throws Exception
	 */
	private void executeMain() throws Exception
	{

		// パラメータ取得
		String[] freeItem = commonItem.getFreeItem().split(JDKStrConst.FREE_DLMT);

		// ディレイド処理依頼番号
		String reqNo = freeItem[0];

		nyukaErrList = new ArrayList<String[]>();
		dkTHattchuDtlMap = null;
		dkTHattchuMap = null;
		tnMTaknkikiMdlMap = null;
		nyukaSbt = "";
		kikiSbt = KIKISBT_KOBET;
		nyukaNo = "";

		// ディレイド処理依頼と電子ファイル管理より入荷完了情報受信ファイルを取得
		nyukaJohoList = getNyukaFileInfo(reqNo);				

		// 戻り値がnullの場合は処理を終了する
		if (JDKCommonUtil.isNull(nyukaJohoList))
		{
			return;
		}

		// 入荷完了情報受信ファイルの内容チェック・更新
		// 入荷情報のレコード数分、以下の繰り返し処理を行う。
		// システム日付
		String sysdate = getOpeDateTime();
		
// ANK-3488-00-00 ADD START
		// B-CAS不要HDD容量コードの取得
		// パラメタ設定
		JBSbatCommonDBInterface dbList = new JBSbatCommonDBInterface();
		
		dbList.setValue(JDKStrConst.KK_HDD_CAPA_BCASNONE);				// 業務パラメータID
		dbList.setValue(super.opeDate);									// 業務パラメータ適用開始年月日
		dbList.setValue(super.opeDate);									// 業務パラメータ適用終了年月日
		
		// SQL実行
		executeZM_M_WORK_PARAM_KNRI_DK_SELECT_001(dbList.getList().toArray());
		
		// 結果を取得
		 zmMWorkParamKnriMap = db_ZM_M_WORK_PARAM_KNRI.selectNext();
// ANK-3488-00-00 ADD END

		for (int i = 0; i < nyukaJohoList.length; i++)
		{
			// チェック用配列データの生成
			// 入荷情報の該当データから、カンマ（","）を区切り文字として文字配列を取得し、
			// 入荷配列として保持する。
			String[] nyukaJoho = this.split(nyukaJohoList[i]);

			// 行番号を生成する
			String rowNo = String.valueOf(i + 1);

			// フォーマットチェック
			// 項目数チェック
			// 入荷情報の該当データが先頭レコード、かつ、入荷配列の最初の要素の値が"51"、
			// かつ、入荷配列の要素数が13ではない場合、
			// または、入荷情報の該当データが先頭レコード、かつ、入荷配列の最初の要素の値が"54"、
			// かつ、入荷配列の要素数が14ではない場合、
			// または、入荷情報の該当データが2件目以降、かつ、最終レコードではない、
			// かつ、入荷配列の要素数が15ではない場合、
			// または、入荷情報の該当データが最終レコード、かつ、入荷配列の要素数が2ではない場合、
			// フォーマットチェックエラーとして以下の処理を行う。
			boolean isFormatErr = false;
			boolean isTrailerErr = false;
			if (i == 0)
			{
				if (nyukaJoho.length > 0 && JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(nyukaJoho[0]))
				{
					if (13 != nyukaJoho.length)
					{
						isFormatErr = true;
					}
				}
				else if (nyukaJoho.length > 0 && JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(nyukaJoho[0]))
				{
					if (14 != nyukaJoho.length)
					{
						isFormatErr = true;
					}
					// 2行以外はエラーとする
					if ( nyukaJohoList.length != 2)
					{
						isTrailerErr = true;
						isFormatErr = true;
					}
					
				}
				else if (13 != nyukaJoho.length && 14 != nyukaJoho.length)
				{
					isFormatErr = true;
				}
			}
			
// ANK-3488-00-00 MOD START
//			if (JDKStrConst.RECORD_SBT_DKIFE01502_DATA.equals(nyukaJoho[0]) && 13 != nyukaJoho.length)
// ANK-3738-00-00 MOD START
//			if (JDKStrConst.RECORD_SBT_DKIFE01502_DATA.equals(nyukaJoho[0]) && 14 != nyukaJoho.length)
			if (JDKStrConst.RECORD_SBT_DKIFE01502_DATA.equals(nyukaJoho[0]) && 15 != nyukaJoho.length)
// ANK-3738-00-00 MOD END
// ANK-3488-00-00 MOD END
			{
				isFormatErr = true;
			}
			
			if (JDKStrConst.RECORD_SBT_DKIFE01503_TRAILER.equals(nyukaJoho[0]) && 2 != nyukaJoho.length)
			{
				isFormatErr = true;
			}

			if (isFormatErr)
			{
				nyukaErrList = new ArrayList<String[]>();

				// エラーメッセージの取得
				String errMsg = "";
				if (isTrailerErr) 
				{
					errMsg = JBSbatLogPrintControl.getMessage(
							JPCBatchMessageConstant.EDKB0350KW, new String[]{"レコード種別"});
				} else {
					errMsg = JBSbatLogPrintControl.getMessage(
							JPCBatchMessageConstant.EDKB0330KW, new String[]{"項目数"});
				}
				
				nyukaErrList.add(new String[]{rowNo, errMsg, nyukaJohoList[i]});

				// コネクションのロールバック
				commonItem.getConnection().rollback();

				// 入荷エラーファイルの作成
				this.putErrorFile();

				// コネクションのコミット
				commonItem.getConnection().commit();

				// システムエラーログの出力
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EDKB0680CE, new String[] {"項目数"});
			}

			// データチェック
			this.executeCheckData(nyukaJoho, i);

			// エラーが存在しない、かつ、入荷情報の該当データがトレーラレコードでない場合、以下の処理を行う。
			if (nyukaErrList.size() == 0 && !JDKStrConst.RECORD_SBT_DKIFE01503_TRAILER.equals(nyukaJoho[0]))
			{
				// データ更新
				this.executeUpdate(nyukaJoho, sysdate);
			}
		}

		if (KIKISBT_SETHIN.equals(kikiSbt))
		{
			// セット品構成チェック
			this.executeCheckSethinKose();
		}

		// 終了処理----------

		// 入荷エラーリストにデータが存在する場合、以下の処理を行う
		if (nyukaErrList.size() > 0)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();

			// 入荷エラーファイルの作成
			this.putErrorFile();

// TAI-2014-0000008 対応 以下コメント
//			// マイナーエラー処理
//			commonItem.addErrorCount(1);
		}
		else
		{
			// ディレイド処理依頼結果更新
			JCCBatCommon.updateShoriIraiResult(commonItem, dlydTrnReqNo, JDKStrConst.SHORI_IRAI_RESULT_FIN, null);

			// 機器入荷情報登録バッチ送信ファイル作成
			if (dkife029List.size() != 0)
			{
				this.putDKIFE015File(sysdate);
				// 機器入荷情報登録宅内連携中間ファイル完了フラグを作成
				this.putDKIFM076File(sysdate);
			}
		}

		// コネクションのコミット
		commonItem.getConnection().commit();

		commonItem.getLogPrint().printDebugLog("終了しました。");
	}

	/**
	 * データチェックを行います。
	 * @param nyukaJoho 入荷配列
	 * @param index 入荷情報の処理レコードインデックス
	 * @return エラー件数
	 * @exception Exception
	 */
	private int executeCheckData(String[] nyukaJoho, int index) throws Exception
	{
		String colName = null;
		int colNo = 0;
		int retCount = 0;
		String recSbt = null;
		String hattchuNo = null;

		String nyukaJohoNaiyo = nyukaJohoList[index];

		// 行番号を生成する
		String rowNo = String.valueOf(index + 1);

		// ********************************************************************
		// レコード種別
		// ********************************************************************
		colName = "レコード種別";
		colNo = 0;
		String chkRecSbt = null;
		recSbt = this.getData(nyukaJoho, colNo);

		chkRecSbt = recSbt;
		
		// 2件目、かつ、最終レコードの場合
		if (index == 1 && index == nyukaJohoList.length - 1)
		{
			chkRecSbt = JDKStrConst.RECORD_SBT_DKIFE01503_TRAILER;
		}
		// 2件目以降、かつ、最終レコードの手前までの場合
		if (index >= 1 && index < nyukaJohoList.length - 1)
		{
			chkRecSbt = JDKStrConst.RECORD_SBT_DKIFE01502_DATA;
		}
		// ファイルに複数件ある、かつ、最終レコードの場合
		if (nyukaJohoList.length >= 2 && index == nyukaJohoList.length - 1)
		{
			chkRecSbt = JDKStrConst.RECORD_SBT_DKIFE01503_TRAILER;
		}

//		// 必須入力チェック
//		retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

//		// 入力チェック
//		retCount += this.checkInput(
//				new String[]{chkRecSbt}, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

		// 入荷情報の該当データが先頭レコードの場合
		if (index == 0)
		{
			// 発注番号を保持しておく
			hattchuNo = this.getData(nyukaJoho, 6);

			// 入荷種別の保持
			if (JDKCommonUtil.isNull(hattchuNo))
			{
				nyukaSbt = JDKStrConst.NYUKA_SBT_FLG_HATTCHUGAI;
			}
			else
			{
				nyukaSbt = JDKStrConst.NYUKA_SBT_FLG_NYUKA;
			}

			// ********************************************************************
			// 入荷先倉庫コード
			// ********************************************************************
			colName = "入荷先倉庫コード";
			colNo = 1;

			// 必須入力チェック
			retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数チェック
			retCount += this.checkLength(6, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 存在チェック
			retCount += this.checkSokoCd(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 発注情報取得
			retCount += this.getHattchu(hattchuNo, rowNo);

			// 発注情報とのチェック
			retCount += this.checkCdToHattchuJoho(
					this.getData(nyukaJoho, colNo), colName, rowNo, "SOKO_CD", nyukaJohoNaiyo);

			// ********************************************************************
			// 入荷先棚コード
			// ********************************************************************
			colName = "入荷先棚コード";
			colNo = 2;

			// 必須入力チェック
			retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数チェック
			retCount += this.checkLength(3, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 存在チェック
			retCount += this.checkShelfCd(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 発注情報とのチェック
			retCount += this.checkCdToHattchuJoho(
					this.getData(nyukaJoho, colNo), colName, rowNo, "SHELF_CD", nyukaJohoNaiyo);

			// ********************************************************************
			// 発注元
			// ********************************************************************
			colName = "発注元";
			colNo = 3;

			// 通常入荷（発注番号に値が存在する）の場合、必須入力チェックを行う
			if (JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt))
			{
				retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
			}

			// 桁数オーバーチェック
			retCount += this.checkLengthOver(16, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// ********************************************************************
			// メーカー
			// ********************************************************************
			colName = "メーカー";
			colNo = 4;

			// 通常入荷（発注番号に値が存在する）の場合、必須入力チェックを行う
			if (JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt))
			{
				retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
			}

			// 桁数チェック
			retCount += this.checkLength(2, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 存在チェック
			retCount += this.checkMakerCd(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// ********************************************************************
			// 出荷ロット番号
			// ********************************************************************
			colName = "出荷ロット番号";
			colNo = 5;

			// 通常入荷（発注番号に値が存在する）の場合、必須入力チェックを行う
			if (JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt))
			{
				retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
			}

			// 桁数オーバーチェック
			retCount += this.checkLengthOver(10, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
//			// 桁数チェック
//			retCount += this.checkLength(10, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// ********************************************************************
			// 発注番号
			// ********************************************************************
			colName = "発注番号";
			colNo = 6;

			// 桁数チェック
			retCount += this.checkLength(10, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 使用不可文字チェック
			retCount += this.checkUseFailMoji(
					USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 取消済チェック
			if (dkTHattchuMap != null)
			{
				String hattchuStat = dkTHattchuMap.getString("HATTCHU_STAT");
				if (JDKStrConst.HATTCHU_STAT_CANCEL.equals(hattchuStat))
				{
					// エラーメッセージの取得
					String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0650KW
							, new String[]{"発注ステータス", "取消済"});

					// 入荷エラーリストの生成・追加
					nyukaErrList.add(new String[]{rowNo, errMsg, this.getData(nyukaJoho, colNo)});
				}
			}

			// ********************************************************************
			// 型番号		51,52,54
			// ********************************************************************
			colName = "型番号";
			colNo = 7;

			// 必須入力チェック
			retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数オーバーチェック
			retCount += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 機器種別の判定
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt))
			{
				kikiSbt = this.getKikiSbt(this.getData(nyukaJoho, colNo));
			}

			// 発注明細情報取得
			retCount += this.getHattchuDtl(hattchuNo, rowNo);

			// 個別機器の場合
			if (KIKISBT_KOBET.equals(kikiSbt))
			{
				// 発注明細情報とのチェック
				retCount += this.checkCdToHattchuDtlJoho(
						this.getData(nyukaJoho, colNo), colName, rowNo, "TAKNKIKI_MODEL_CD", nyukaJohoNaiyo);

				// 不一致チェック
				if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt))
				{
					retCount += this.checkUnmatchMdlNo(this.getData(nyukaJoho, colNo), colName, rowNo);
				}
			}

			// セット品機器の場合
			if (KIKISBT_SETHIN.equals(kikiSbt))
			{
				// 存在チェック
				retCount += this.checkSethinMdl(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 発注明細情報とのチェック
				retCount += this.checkCdToHattchuDtlJoho(
						this.getData(nyukaJoho, colNo), colName, rowNo, "TAKNKIKI_SETHIN_MODEL_CD", nyukaJohoNaiyo);
			}

			// ********************************************************************
			// 出荷数量
			// ********************************************************************
			colName = "出荷数量";
			colNo = 8;

			int shukkaCntChkRet = 0;

			// 必須入力チェック
			shukkaCntChkRet += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数オーバーチェック
			shukkaCntChkRet += this.checkLengthOver(9, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 数値チェック
			shukkaCntChkRet += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			retCount += shukkaCntChkRet;

			// 状態チェック
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt)
					&& JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt)
					&&  shukkaCntChkRet == 0)
			{
				retCount += this.checkNyukaJotai(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
			}

			// 個別機器件数チェック
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt) && KIKISBT_KOBET.equals(kikiSbt) && shukkaCntChkRet == 0)
			{
				retCount += this.checkCountKobet(this.getData(nyukaJoho, colNo), colName, rowNo);
			}

			// セット品機器件数チェック
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt) && KIKISBT_SETHIN.equals(kikiSbt) && shukkaCntChkRet == 0)
			{
				retCount += this.checkCountSethin(this.getData(nyukaJoho, colNo), colName, rowNo);
			}

			// ********************************************************************
			// 数量
			// ********************************************************************
			colName = "数量";
			colNo = 10;

			if (JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
			{
				int cntChkRet = 0;

				// 必須入力チェック
				cntChkRet += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 桁数オーバーチェック
				cntChkRet += this.checkLengthOver(9, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 数値チェック
				cntChkRet += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				retCount += cntChkRet;

				// 状態チェック
				if (JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt) && cntChkRet == 0)
				{
					retCount += this.checkNyukaJotai(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}
			}

			// ********************************************************************
			// メーカー出荷日
			// ********************************************************************
			colName = "メーカー出荷日";
			colNo = 9;

			if (JDKStrConst.NYUKA_SBT_FLG_NYUKA.equals(nyukaSbt))
			{
				// 必須入力チェック
				retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
			}

			// 桁数オーバーチェック
			retCount += this.checkLengthOver(8, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 数値チェック
			retCount += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 暦日チェック
			retCount += this.checkDate(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// ********************************************************************
			// 入荷日
			// ********************************************************************
			colName = "入荷日";
			colNo = 10;
			if (JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
			{
				colNo = 11;
			}

			int nyukaYmdChkRet = 0;

			// 必須入力チェック
			nyukaYmdChkRet += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数オーバーチェック
			nyukaYmdChkRet += this.checkLengthOver(8, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 数値チェック
			nyukaYmdChkRet += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 暦日チェック
			nyukaYmdChkRet += this.checkDate(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			retCount += nyukaYmdChkRet;

			if (nyukaYmdChkRet == 0)
			{
				// 未来日チェック
				retCount += this.checkFutureDate(this.getData(nyukaJoho, colNo), colName, rowNo, "0", nyukaJohoNaiyo);
			}

			// ********************************************************************
			// 受信連携元コード
			// ********************************************************************
			colName = "受信連携元コード";
			colNo = 11;
			if (JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
			{
				colNo = 12;
			}

			// 必須入力チェック
			retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 桁数チェック
			retCount += this.checkLength(1, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// 存在チェック
			retCount += this.checkCdNmKanri(JZM0171Constant.CD00459, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

			// ********************************************************************
			// 入荷元備考
			// ********************************************************************
			colName = "入荷元備考";
			colNo = 12;
			if (JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
			{
				colNo = 13;
			}

			// 桁数オーバーチェック
			retCount += this.checkLengthOver(240, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

		}

		// 入荷情報の該当データが2件目以降の場合
		if (index > 0)
		{
			// レコード種別が52の場合
			if (JDKStrConst.RECORD_SBT_DKIFE01502_DATA.equals(recSbt))
			{
				// ********************************************************************
				// 型番号		51,52,54
				// ********************************************************************
				colName = "型番号";
				colNo = 1;

				/* **********↓障害対応(IT1-2012-0000130)********** */
//				// 必須入力チェック
//				retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
//
//				// 桁数オーバーチェック
//				retCount += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				int mdlNoRet = 0;
				// 必須入力チェック
				mdlNoRet += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 桁数オーバーチェック
				mdlNoRet += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				retCount += mdlNoRet;

				tnMTaknkikiMdlMap = null;
				if (mdlNoRet == 0)
				{
					tnMTaknkikiMdlMap = this.getTaknkikiModel(this.getData(nyukaJoho, colNo));
				}
				/* **********↑障害対応(IT1-2012-0000130)********** */

				// ********************************************************************
				// 製造番号
				// ********************************************************************
				colName = "製造番号";
				colNo = 2;

				// 必須入力チェック
				int retNull = this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				retCount += retNull;

				// 桁数オーバーチェック
				retCount += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 存在チェック
				retCount += this.checkTaknkiki(
						this.getData(nyukaJoho, 1), this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 重複チェック
				retCount += this.checkDuplicateSeizoNo(this.getData(nyukaJoho, colNo), colName, rowNo);

				// 入力チェック
				if (tnMTaknkikiMdlMap != null)
				{
					String seibanUm = tnMTaknkikiMdlMap.getString("SEIZO_NO_UM");
					// 製造番号管理されてない機器で、製造番号が入力されている場合はエラーとする
					if ("0".equals(seibanUm) && retNull == 0)
					{
						// エラーメッセージの取得
						String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0630KW
								, new String[]{"製造番号管理されていない機器で製造番号"});

						// 入荷エラーリストの生成・追加
						nyukaErrList.add(new String[]{rowNo, errMsg, this.getData(nyukaJoho, colNo)});

						retCount++;
					}
				}

				// ********************************************************************
				// 宅内機器セット品型コード
				// ********************************************************************
				colName = "宅内機器セット品型コード";
				colNo = 3;

				int sethinMdlChkRet = 0;

				// 入力チェック
				if (KIKISBT_KOBET.equals(kikiSbt))
				{
					sethinMdlChkRet += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "個別機器で、", nyukaJohoNaiyo);
				}

				// 桁数オーバーチェック
				sethinMdlChkRet += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				sethinMdlChkRet += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				retCount += sethinMdlChkRet;

				// 不一致チェック
				if (KIKISBT_SETHIN.equals(kikiSbt))
				{
					String[] nyukaTopRec = this.split(nyukaJohoList[0]);
					String mdlNo = this.getData(nyukaTopRec, 7);
					// 先頭レコードの型番号と同じでなければエラー
					if (!mdlNo.equals(this.getData(nyukaJoho, colNo)))
					{
						// エラーメッセージの取得
						String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0330KW
								, new String[]{"セット品機器で型番号"});

						// 入荷エラーリストの生成・追加
						nyukaErrList.add(new String[]{rowNo, errMsg, this.getData(nyukaJoho, colNo)});

						retCount++;
					}
				}

				// 入力値があれば、セット品構成チェック用マップにデータを追加
				if (KIKISBT_SETHIN.equals(kikiSbt) && !JDKCommonUtil.isNull(this.getData(nyukaJoho, colNo)))
				{
					String sethinMdlCd = this.fillHalfSpaceByte(this.getData(nyukaJoho, 3), 20, true);
					String mdlNo = this.fillHalfSpaceByte(this.getData(nyukaJoho, 1), 20, true);
					String key = sethinMdlCd + mdlNo;
					int cnt = 1;
					if (sethinKoseCheckMap.containsKey(key))
					{
						cnt = sethinKoseCheckMap.get(key);
						cnt++;
						sethinKoseCheckMap.remove(key);
					}
					sethinKoseCheckMap.put(key, cnt);
				}

				// ********************************************************************
				// 宅内機器セット品番号
				// ********************************************************************
				colName = "宅内機器セット品番号";
				colNo = 4;

				// 入力チェック
				if (KIKISBT_KOBET.equals(kikiSbt))
				{
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "個別機器で、", nyukaJohoNaiyo);
				}

				// 桁数オーバーチェック
				retCount += this.checkLengthOver(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// ********************************************************************
				// UQ認証ID
				// ********************************************************************
				colName = "UQ認証ID";
				colNo = 5;

				// UQ機器の黒ロムの場合
				if (this.isUqKiki() && NYUKA_JI_ROM_STAT_CD_B.equals(tnMTaknkikiMdlMap.getString("NYUKA_JI_ROM_STAT_CD")))
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}
				// UQ機器の白ロムの場合
				if (this.isUqKiki() && NYUKA_JI_ROM_STAT_CD_W.equals(tnMTaknkikiMdlMap.getString("NYUKA_JI_ROM_STAT_CD")))
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "UQ白ロム機器で、", nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(30, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// UQ機器以外の場合
				if (!this.isUqKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "UQ機器以外の場合で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// UQパスワード
				// ********************************************************************
				colName = "UQパスワード";
				colNo = 6;

				// UQ機器黒ロムの場合
				if (this.isUqKiki() && NYUKA_JI_ROM_STAT_CD_B.equals(tnMTaknkikiMdlMap.getString("NYUKA_JI_ROM_STAT_CD")))
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}
				// UQ機器白ロムの場合
				if (this.isUqKiki() && NYUKA_JI_ROM_STAT_CD_W.equals(tnMTaknkikiMdlMap.getString("NYUKA_JI_ROM_STAT_CD")))
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "UQ白ロム機器で、", nyukaJohoNaiyo);
				}

				// 桁数オーバーチェック
				retCount += this.checkLengthOver(16, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// UQ機器以外の場合
				if (!this.isUqKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "UQ機器以外の場合で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// STBID
				// ********************************************************************
				colName = "STBID";
				colNo = 7;

				// STB機器の場合
				if (this.isStbKiki())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(12, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// STB機器以外の場合
				if (!this.isStbKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "STB機器以外の場合で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// ICCID
				// ********************************************************************
				colName = "ICCID";
				colNo = 8;

				// イー・モバイル機器の場合
				if (this.isEMobileKiki())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(19, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 数値チェック
				retCount += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// イー・モバイル機器以外の場合
				if (!this.isEMobileKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "U-SIM機器以外の場合で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// MACアドレス
				// ********************************************************************
				colName = "MACアドレス";
				colNo = 9;

				// MAC情報がある場合
				if (this.hasMacInfo())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(12, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// MAC情報がない場合
				if (!this.hasMacInfo())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "MAC情報が無い機器で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// MAC認証ID
				// ********************************************************************
				colName = "MAC認証ID";
				colNo = 10;

				// MAC情報がある場合
				if (this.hasMacInfo())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLengthOver(16, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// MAC情報がない場合
				if (!this.hasMacInfo())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "MAC情報が無い機器で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// MSISDN
				// ********************************************************************
				colName = "MSISDN";
				colNo = 11;

				// イー・モバイル機器の場合
				if (this.isEMobileKiki())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数範囲チェック
				retCount += this.checkLengthRange(9, 11, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 数値チェック
				retCount += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// イー・モバイル機器以外の場合
				if (!this.isEMobileKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "U-SIM機器以外の場合で、", nyukaJohoNaiyo);
				}

				// ********************************************************************
				// EM契約者コード
				// ********************************************************************
				colName = "EM契約者コード";
				colNo = 12;

				// イー・モバイル機器の場合
				if (this.isEMobileKiki())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(10, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 数値チェック
				retCount += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// イー・モバイル機器以外の場合
				if (!this.isEMobileKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "U-SIM機器以外の場合で、", nyukaJohoNaiyo);
				}

// ANK-3488-00-00 ADD START
				// ********************************************************************
				// ACAS番号
				// ********************************************************************
				colName = "ACAS番号";
				colNo = 13;

				// 4KSTB機器の場合
				if (this.is4kStbKiki())
				{
					// 必須入力チェック
					retCount += this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				}

				// 桁数チェック
				retCount += this.checkLength(20, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 使用不可文字チェック
				retCount += this.checkUseFailMoji(
						USE_FAIL_MOJI_ARRAY, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 4KSTB機器以外の場合
				if (!this.is4kStbKiki())
				{
					// 入力チェック
					retCount += this.checkNotNull(
							this.getData(nyukaJoho, colNo), colName, rowNo, "4KSTB機器以外の場合で、", nyukaJohoNaiyo);
				}
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
				// ********************************************************************
				// 製造年月
				// ********************************************************************
				colName = "製造年月";
				colNo = 14;

				// 桁数オーバーチェック
				retCount += this.checkLengthOver(6, this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 数値チェック
				retCount += this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);

				// 暦日チェック
				retCount += this.checkDateYm(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
// ANK-3738-00-00 ADD END

			}

			// レコード種別が53の場合
			if (JDKStrConst.RECORD_SBT_DKIFE01503_TRAILER.equals(recSbt))
			{
				// ********************************************************************
				// レコード件数
				// ********************************************************************
				colName = "レコード件数";
				colNo = 1;

				// 必須入力チェック
				int retNull = this.checkNull(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				retCount += retNull;

				// 数値チェック
				int retNumeric = this.checkNumeric(this.getData(nyukaJoho, colNo), colName, rowNo, nyukaJohoNaiyo);
				retCount += retNumeric;

				// 件数チェック
				if (retNull == 0 && retNumeric == 0)
				{
					long recCnt = Long.valueOf(this.getData(nyukaJoho, colNo));
					if (recCnt != nyukaJohoList.length)
					{
						// エラーメッセージの取得
						String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0330KW
								, new String[]{colName});

						// 入荷エラーリストの生成・追加
						nyukaErrList.add(new String[]{rowNo, errMsg, this.getData(nyukaJoho, colNo)});

						retCount++;
					}
				}

			}
		}

		return retCount;
	}

	/**
	 * 文字配列arrayのidx番目の値を返す。
	 * @param array 文字配列
	 * @param idx 要素のインデックス
	 * @return 取得した文字列
	 */
	private String getData(String[] array, int idx)
	{
		String retStr = "";
		if (idx < array.length)
		{
			retStr = array[idx];
		}
		return retStr;
	}

	/**
	 * 必須入力チェックを行います。<br>
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 */
	private int checkNull(String value, String colName, String rowNo, String nyukaJohoNaiyo)
	{

		if (JDKCommonUtil.isNull(JDKCommonUtil.trim(value)))
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0340KW
					, new String[]{colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, nyukaJohoNaiyo});

			return 1;
		}

		return 0;
	}

	/**
	 * 入力値チェックを行います。<br>
	 * @param checkValues チェック内容
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 */
	private int checkInput(
			String[] checkValues, String value, String colName, String rowNo, String nyukaJohoNaiyo)
	{

		boolean checkFlg = false;
		StringBuffer chkVal = new StringBuffer();

		// どれか１つでも該当する場合はTrue
		for (String checkValue : checkValues)
		{
			if (chkVal.length() > 0)
			{
				chkVal.append(" or ");
			}
			chkVal.append(checkValue);
			if (checkValue.equals(value))
			{
				checkFlg = true;
				break;
			}
		}

		// 一致しない場合、以下の処理を行う。
		if (!checkFlg)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0560KW
					, new String[]{colName, chkVal.toString()});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, nyukaJohoNaiyo});

			return 1;
		}

		return 0;
	}

	/**
	 * 桁数チェックを行います。<br>
	 * @param checkLength 桁数
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws UnsupportedEncodingException
	 */
	private int checkLength(
			int checkLength, String value, String colName
			, String rowNo, String nyukaJohoNaiyo) throws UnsupportedEncodingException
	{

		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (checkLength != value.getBytes("SJIS").length)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0510KW
					, new String[]{colName, String.valueOf(checkLength)});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * 指定桁数を超えているかのチェックを行います。<br>
	 * @param checkLength 桁数
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws UnsupportedEncodingException
	 */
	private int checkLengthOver(
			int checkLength, String value, String colName
			, String rowNo, String nyukaJohoNaiyo) throws UnsupportedEncodingException
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (checkLength < value.getBytes("SJIS").length)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0520KW
					, new String[]{colName, String.valueOf(checkLength)});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * 指定桁数の範囲内かのチェックを行います。<br>
	 * @param checkLengthFrom 桁数開始
	 * @param checkLengthTo 桁数終了
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws UnsupportedEncodingException
	 */
	private int checkLengthRange(
			int checkLengthFrom, int checkLengthTo, String value, String colName
			, String rowNo, String nyukaJohoNaiyo) throws UnsupportedEncodingException
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (checkLengthTo < value.getBytes("SJIS").length || checkLengthFrom > value.getBytes("SJIS").length)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0510KW
					, new String[]{colName, String.valueOf(checkLengthFrom) + "〜" + String.valueOf(checkLengthTo)});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}
	
	/**
	 * 使用不可文字チェックを行います。<br>
	 * @param checkValues チェック内容
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 */
	private int checkUseFailMoji(
			String[] checkValues, String value, String colName, String rowNo, String nyukaJohoNaiyo)
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		boolean checkFlg = false;
		StringBuffer chkVal = new StringBuffer();

		// どれか１つでも該当する場合はTrue
		for (String checkValue : checkValues)
		{
			if (chkVal.length() > 0)
			{
				chkVal.append(" or ");
			}
			chkVal.append(checkValue);
			if (value != null && value.indexOf(checkValue) >= 0)
			{
				checkFlg = true;
				break;
			}
		}

		// 使用不可文字が存在する場合、以下の処理を行う。
		if (checkFlg)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0550KW
					, new String[]{colName, chkVal.toString()});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * 倉庫コードの存在チェックを行う。<br>
	 * 倉庫情報に該当データがなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkSokoCd(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{value, commonItem.getOpeDate()};

			this.executeDK_M_SOKO_DK_SELECT_001(param);

			JBSbatCommonDBInterface dkMSokoMap = db_DK_M_SOKO.selectNext();

			if (dkMSokoMap == null || "0".equals(dkMSokoMap.getString("COUNT")))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"倉庫", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 棚コードの存在チェックを行う。<br>
	 * 倉庫棚情報に該当データがなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkShelfCd(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] nyukaJoho = this.split(nyukaJohoNaiyo);
			String[] param = new String[]{this.getData(nyukaJoho, 1), value, commonItem.getOpeDate()};

			this.executeDK_M_SOKODNA_DK_SELECT_001(param);

			JBSbatCommonDBInterface dkMSokodnaMap = db_DK_M_SOKODNA.selectNext();

			if (dkMSokodnaMap == null || "0".equals(dkMSokodnaMap.getString("COUNT")))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"倉庫棚", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * メーカーコードの存在チェックを行う。<br>
	 * メーカー情報に該当データがなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkMakerCd(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{value};

			this.executeZM_M_MAKER_DK_SELECT_001(param);

			JBSbatCommonDBInterface dkMMakerMap = db_ZM_M_MAKER.selectNext();

			if (dkMMakerMap == null || "0".equals(dkMMakerMap.getString("COUNT")))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"メーカー", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 発注情報取得
	 * @param value 発注番号
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int getHattchu(String value, String rowNo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{value};

			this.executeDK_T_HATTCHU_DK_SELECT_002(param);

			dkTHattchuMap = db_DK_T_HATTCHU.selectNext();

			if (dkTHattchuMap == null)
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{"発注番号"});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"発注", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 発注明細情報取得
	 * @param value 発注番号
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int getHattchuDtl(String value, String rowNo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{value};

			this.executeDK_T_HATTCHU_DTL_DK_SELECT_002(param);

			dkTHattchuDtlMap = db_DK_T_HATTCHU_DTL.selectNext();

			if (dkTHattchuDtlMap == null)
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{"発注明細情報"});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"発注明細", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 指定されたコード値が発注情報のコード値と一致するかをチェックする。<br>
	 * 一致しなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param hattchuColNm 比較したい発注情報のSELECT句のカラム名
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkCdToHattchuJoho(
			String value, String colName, String rowNo, String hattchuColNm, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (dkTHattchuMap != null)
		{
			String code = dkTHattchuMap.getString(hattchuColNm);
			if (!JDKCommonUtil.isNull(code) && !code.equals(value))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0580KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}

		return 0;
	}

	/**
	 * 指定されたコード値が発注明細情報のコード値と一致するかをチェックする。<br>
	 * 一致しなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param hattchuDtlColNm 比較したい発注明細情報のSELECT句のカラム名
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkCdToHattchuDtlJoho(
			String value, String colName, String rowNo, String hattchuDtlColNm, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (dkTHattchuDtlMap != null)
		{
			String code = dkTHattchuDtlMap.getString(hattchuDtlColNm);
			if (JDKCommonUtil.isNull(code) || !code.equals(value))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{"ファイルの基本情報の発注番号と" + colName + "をもつ発注データ"});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}

		return 0;
	}

	/**
	 * 個別機器・セット品機器の判定を行い結果を返す。<br>
	 * 宅内機器型式に存在すれば「個別機器」、<br>
	 * 存在しなければ「セット品機器」とする。
	 * @param mdlCd 型番号
	 * @return 機器種別
	 * @throws Exception
	 */
	private String getKikiSbt(String mdlCd) throws Exception
	{
		if (JDKCommonUtil.isNull(mdlCd))
		{
			return KIKISBT_KOBET;
		}

		try
		{
			String[] param = new String[]{mdlCd};

			this.executeZM_M_TAKNKIKI_MODEL_DK_SELECT_003(param);

			tnMTaknkikiMdlMap = db_ZM_M_TAKNKIKI_MODEL.selectNext();

			if (tnMTaknkikiMdlMap == null)
			{
				return KIKISBT_SETHIN;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"宅内機器型式", ""});
			throw ex;
		}

		return KIKISBT_KOBET;
	}

	/* **********↓障害対応(IT1-2012-0000130)********** */
	/**
	 * 個別機器・セット品機器の判定を行い結果を返す。<br>
	 * 宅内機器型式に存在すれば「個別機器」、<br>
	 * 存在しなければ「セット品機器」とする。
	 * @param mdlCd 型番号
	 * @return 機器種別
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getTaknkikiModel(String mdlCd) throws Exception
	{
		if (JDKCommonUtil.isNull(mdlCd))
		{
			return null;
		}

		JBSbatCommonDBInterface taknkikiMdlMap = null;
		try
		{
			String[] param = new String[]{mdlCd};

			this.executeZM_M_TAKNKIKI_MODEL_DK_SELECT_003(param);

			taknkikiMdlMap = db_ZM_M_TAKNKIKI_MODEL.selectNext();

			if (taknkikiMdlMap == null)
			{
				return null;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"宅内機器型式", ""});
			throw ex;
		}

		return taknkikiMdlMap;
	}
	/* **********↑障害対応(IT1-2012-0000130)********** */

	/**
	 * 宅内機器型式コードの存在チェックを行う。<br>
	 * 宅内機器セット品型に該当データがなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkSethinMdl(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{value};

			this.executeDK_M_TKKIKI_SETHNMDL_DK_SELECT_001(param);

			JBSbatCommonDBInterface dkSethinMdlMap = db_DK_M_TKKIKI_SETHNMDL.selectNext();

			if (dkSethinMdlMap == null || "0".equals(dkSethinMdlMap.getString("COUNT")))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0570KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"宅内機器セット品型", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 不一致チェック。<br>
	 * 入荷情報の2件目以降(レコード種別が"52")のレコードの型番号と<br>
	 * 同じでなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkUnmatchMdlNo(
			String value, String colName, String rowNo) throws Exception
	{
		// 2行目から最終レコードの手前までを繰り返し
		for (int i = 1; i < nyukaJohoList.length - 1; i++)
		{
			String[] nyukaJoho = this.split(nyukaJohoList[i]);
			// 型番号が一致しなければエラー
			if (!value.equals(this.getData(nyukaJoho, 1)))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0100KW
						, new String[]{"ファイルの基本情報の型番号", "明細情報の型番号"
								, "" + (i + 1) + "行目の型番号=" + this.getData(nyukaJoho, 7)});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}

		return 0;
	}

	/**
	 * 数値チェックを行う。<br>
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 */
	private int checkNumeric(String value, String colName, String rowNo, String nyukaJohoNaiyo)
	{
		String val = JDKCommonUtil.trim(value);
		if (JDKCommonUtil.isNull(val))
		{
			return 0;
		}

		// 数値チェックを行い、値が数値でない場合、エラーとし以下の処理を行う。
		if (!val.matches("[0-9]*"))
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0540KW
					, new String[]{colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * 入荷状態のチェックを行う。<br>
	 * (出荷数量＋既存の入荷データの入荷数量の合計値)が発注数を超える場合エラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkNyukaJotai(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] nyukaJoho = this.split(nyukaJohoNaiyo);
			String[] param = new String[]{this.getData(nyukaJoho, 6)};

			this.executeDK_T_NYUKA_DK_SELECT_002(param);

			JBSbatCommonDBInterface dkTNyukaMap = db_DK_T_NYUKA.selectNext();

			String sumNyukaCnt = "0";
			long lSumNyukaCnt = 0;
			if (dkTNyukaMap != null)
			{
				sumNyukaCnt = dkTNyukaMap.getString("SUM_NYUKA_CNT");
			}
			lSumNyukaCnt += Long.parseLong(value, 10);
			lSumNyukaCnt += Long.parseLong(sumNyukaCnt, 10);

			String hattchuCnt = "0";
			long lHattchuCnt = 0;
			if (dkTHattchuDtlMap != null)
			{
				hattchuCnt = dkTHattchuDtlMap.getString("HATTCHU_CNT");
			}
			lHattchuCnt = Long.parseLong(hattchuCnt, 10);

			if (lSumNyukaCnt > lHattchuCnt)
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0590KW
						, new String[]{colName, "発注数"});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, 
						colName + "=" + value + ", 既存入荷数量合計=" + sumNyukaCnt + ", 発注数=" + hattchuCnt});

				return 1;
			}
		}
		catch (NumberFormatException ne)
		{
			throw ne;
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"入荷", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 指定された出荷数量の値とレコード種別52のレコード件数が一致するかのチェックを行います。<br>
	 * 一致しなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkCountKobet(
			String value, String colName, String rowNo) throws Exception
	{
		if (JDKCommonUtil.isNull(value) || nyukaJohoList.length <= 2)
		{
			return 0;
		}

		long shukkaCnt = Long.parseLong(value, 10);
		long count52 = nyukaJohoList.length - 2;		// ヘッダとトレーラを除いた件数

		if (shukkaCnt != count52)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0100KW
					, new String[]{colName, "レコード種別52の件数", ""});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * 指定された出荷数量の値とセット品ごとに集計した件数が一致するかのチェックを行います。<br>
	 * 一致しなければエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkCountSethin(
			String value, String colName, String rowNo) throws Exception
	{
		if (JDKCommonUtil.isNull(value) || nyukaJohoList.length <= 2)
		{
			return 0;
		}

		long shukkaCnt = Long.parseLong(value, 10);
		ArrayList<String> taknkikiSethinNoList = new ArrayList<String>();

		// 2行目から最終レコードの手前までを繰り返し
		for (int i = 1; i < nyukaJohoList.length - 1; i++)
		{
			String[] nyukaJoho = this.split(nyukaJohoList[i]);
			String taknkikiSethinNo = this.getData(nyukaJoho, 4);
			if (!taknkikiSethinNoList.contains(taknkikiSethinNo))
			{
				taknkikiSethinNoList.add(taknkikiSethinNo);
			}
		}

		if (shukkaCnt != taknkikiSethinNoList.size())
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0100KW
					, new String[]{colName, "レコード種別52のセット品ごとに集計した件数", ""});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg
					, "出荷数量=" + value + ", セット品件数=" + String.valueOf(taknkikiSethinNoList.size())});

			return 1;
		}

		return 0;
	}

	/**
	 * 暦日チェックを行います。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkDate(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (JDKCommonUtil.trim(value).length() != 8 || !JCCBatCommon.checkDate(value, 8))
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0530KW
					, new String[]{colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}
// ANK-3738-00-00 ADD START
	/**
	 * 暦日(※YYYYMM)チェックを行います。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkDateYm(
			String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		if (JDKCommonUtil.trim(value).length() != 6 || !JCCBatCommon.checkDate(value, 6))
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0530KW
					, new String[]{colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}
// ANK-3738-00-00 ADD END

	/**
	 * 未来日チェックを行います。<br>
	 * 未来日ならエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param withinKijunYmd 同日を含む／含まないの指定(0：含まない、1：含む)
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkFutureDate(
			String value, String colName, String rowNo, String withinKijunYmd, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		boolean ret = JCCBatCommon.isFutureDate(value, commonItem.getOpeDate(), withinKijunYmd);

		if (JDKCommonUtil.trim(value).length() != 8 || ret == true)
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0600KW
					, new String[]{colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * コード名称管理に存在するかをチェックします。<br>
	 * コード名称管理に存在しなければエラーとする。
	 * @param cdSbtCd コード種別コード
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkCdNmKanri(
			String cdSbtCd, String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{cdSbtCd, value, commonItem.getOpeDate()};

			this.executeZM_M_CD_NM_KANRI_DK_SELECT_002(param);

			JBSbatCommonDBInterface zmMCdNmMap = db_ZM_M_CD_NM_KANRI.selectNext();

			if (zmMCdNmMap == null || "0".equals(zmMCdNmMap.getString("COUNT")))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0610KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"コード名称管理", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * バッチ用宅内機器に存在するかをチェックします。<br>
	 * バッチ用宅内機器に存在すればエラーとする。
	 * @param taknkikiMdlCd 宅内機器型式コード
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param nyukaJohoNaiyo 入荷情報内容
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkTaknkiki(
			String taknkikiMdlCd, String value, String colName, String rowNo, String nyukaJohoNaiyo) throws Exception
	{
		if (JDKCommonUtil.isNull(taknkikiMdlCd) || JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		try
		{
			String[] param = new String[]{super.jobid, taknkikiMdlCd, value};

			this.executeDK_T_BAT_TKKIKI_WK_DK_SELECT_004(param);

			JBSbatCommonDBInterface tnTTaknkikiMap = db_DK_T_BAT_TKKIKI_WK.selectNext();

			if (tnTTaknkikiMap != null)
			{
				long count = new Long(tnTTaknkikiMap.getString("COUNT"));
				if (count >= 1)
				{
					// エラーメッセージの取得
					String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0620KW
							, new String[]{"宅内機器管理システム（バッチ用宅内機器ワークテーブル）", colName});

					// 入荷エラーリストの生成・追加
					nyukaErrList.add(new String[]{rowNo, errMsg, "宅内機器型式コード:[" + taknkikiMdlCd + "] 製造番号:[" + value + "]"});

					return 1;
				}
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"バッチ用宅内機器", ""});
			throw ex;
		}

		return 0;
	}

	/**
	 * 製造番号の重複チェックを行います。<br>
	 * 同一製造番号のレコードが存在すればエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkDuplicateSeizoNo(
			String value, String colName, String rowNo) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return 0;
		}

		long currentRow = new Long(rowNo) - 1;

		// 2行目から最終レコードの手前までを繰り返し
		for (int i = 1; i < nyukaJohoList.length - 1; i++)
		{
			String[] nyukaJoho = this.split(nyukaJohoList[i]);
			String seizoNo = this.getData(nyukaJoho, 2);
			if (i != currentRow && seizoNo.equals(value))
			{
				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0380KW
						, new String[]{colName});

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{rowNo, errMsg, value});

				return 1;
			}
		}

		return 0;
	}

	/**
	 * 入力チェックを行います。<br>
	 * 入力されてたらエラーとする。
	 * @param value チェック対象データ
	 * @param colName 項目名
	 * @param rowNo 処理行
	 * @param msg 付加するメッセージ
	 * @param nyukaJohoNaiyo 入荷情報
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int checkNotNull(
			String value, String colName, String rowNo, String msg, String nyukaJohoNaiyo) throws Exception
	{
		if (!JDKCommonUtil.isNull(JDKCommonUtil.trim(value)))
		{
			// エラーメッセージの取得
			String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0630KW
					, new String[]{msg + colName});

			// 入荷エラーリストの生成・追加
			nyukaErrList.add(new String[]{rowNo, errMsg, value});

			return 1;
		}

		return 0;
	}

	/**
	 * UQ機器か否かを返します。
	 * @return UQ機器ならtrue
	 * @throws Exception
	 */
	private boolean isUqKiki() throws Exception
	{
		if (tnMTaknkikiMdlMap != null)
		{
			String taknkikiSbtCd = tnMTaknkikiMdlMap.getString("TAKNKIKI_SBT_CD");
			if (TAKNKIKI_SBT_CD_UQ.equals(taknkikiSbtCd))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * STB機器か否かを返します。
	 * @return STB機器ならtrue
	 * @throws Exception
	 */
	private boolean isStbKiki() throws Exception
	{
		if (tnMTaknkikiMdlMap != null)
		{
			String taknkikiSbtCd = tnMTaknkikiMdlMap.getString("TAKNKIKI_SBT_CD");
			if (TAKNKIKI_SBT_CD_STB.equals(taknkikiSbtCd))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * イー・モバイル機器か否かを返します。
	 * @return イー・モバイル機器ならtrue
	 * @throws Exception
	 */
	private boolean isEMobileKiki() throws Exception
	{
		if (tnMTaknkikiMdlMap != null)
		{
			String taknkikiSbtCd = tnMTaknkikiMdlMap.getString("TAKNKIKI_SBT_CD");
			if (TAKNKIKI_SBT_CD_EMOBILE.equals(taknkikiSbtCd))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * MAC情報がある機器か否かを返します。
	 * @return MAC情報がある機器ならtrue
	 * @throws Exception
	 */
	private boolean hasMacInfo() throws Exception
	{
		if (tnMTaknkikiMdlMap != null)
		{
			String macIfUm = tnMTaknkikiMdlMap.getString("MAC_IF_UM");
			if (MAC_IF_UM_ARI.equals(macIfUm))
			{
				return true;
			}
		}
		return false;
	}

// ANK-3488-00-00 ADD START
	/**
	 * 4KSTB機器か否かを返します。
	 * @return 4KSTB機器ならtrue
	 * @throws Exception
	 */
	private boolean is4kStbKiki() throws Exception
	{
		if (tnMTaknkikiMdlMap != null && zmMWorkParamKnriMap != null)
		{
			// HDD容量コード
			String hddCapaCd = tnMTaknkikiMdlMap.getString("HDD_CAPA_CD");
			// B-CAS不要HDD容量コード
			String[] hddCapaBcasnone = zmMWorkParamKnriMap.getString("WORK_PARAM_SETTE_VALUE").split(",");
			
			for(int i = 0; i < hddCapaBcasnone.length; i++)
			{
				if (hddCapaBcasnone[i].equals(hddCapaCd))
				{
					return true;
				}
			}
		}
		return false;
	}
// ANK-3488-00-00 ADD END

	/**
	 * セット品構成チェックを行います。<br>
	 * セット品構成チェック用マップを使用して、セット品構成と一致するかをチェックする。<br>
	 * 一致しなければエラーとする。
	 * @return 1:エラー　0:正常
	 * @throws Exception
	 */
	private int executeCheckSethinKose() throws Exception
	{
		HashMap<String, Integer> sethinKoseMap = null;

		try
		{
			String[] param = new String[]{commonItem.getOpeDate()};

			this.executeZM_M_SETHN_KOSE_DK_SELECT_002(param);

			JBSbatCommonDBInterface tnSethinKoseMap = db_ZM_M_SETHN_KOSE.selectNext();

			sethinKoseMap = new HashMap<String, Integer>();

			while (tnSethinKoseMap != null)
			{
				String taknkikiSethinMdlCd = tnSethinKoseMap.getString("TAKNKIKI_SETHIN_MODEL_CD");
				taknkikiSethinMdlCd = this.fillHalfSpaceByte(taknkikiSethinMdlCd, 20, true);
				String taknkikiMdlCd = tnSethinKoseMap.getString("TAKNKIKI_MODEL_CD");
				taknkikiMdlCd = this.fillHalfSpaceByte(taknkikiMdlCd, 20, true);
				String key = taknkikiSethinMdlCd + taknkikiMdlCd;
				String koseCnt = tnSethinKoseMap.getString("CNT");
				if (JDKCommonUtil.isNull(koseCnt))
				{
					koseCnt = "0";
				}
				int iKoseCnt = Integer.parseInt(koseCnt, 10);
				sethinKoseMap.put(key, iKoseCnt);

				tnSethinKoseMap = db_ZM_M_SETHN_KOSE.selectNext();
			}
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"セット品構成", ""});
			throw ex;
		}

		int retCount = 0;

		Set<String> keySet = sethinKoseCheckMap.keySet();
		for (String key : keySet)
		{
			if (sethinKoseMap.containsKey(key))
			{
				if (!sethinKoseCheckMap.get(key).equals(sethinKoseMap.get(key)))
				{
					String taknkikiSethinMdlCd = key.substring(0, 20);
					String taknkikiMdlCd = key.substring(20);
					int cnt = sethinKoseCheckMap.get(key);

					// エラーメッセージの取得
					String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0640KW, null);

					// 入荷エラーリストの生成・追加
					nyukaErrList.add(new String[]{"0", errMsg
							, "宅内機器セット品型コード=" + taknkikiSethinMdlCd
							+ ", 宅内機器型式コード=" + taknkikiMdlCd
							+ ", 数量=" + cnt});

					retCount = 1;
				}
			}
			else
			{
				String taknkikiSethinMdlCd = key.substring(0, 20);
				String taknkikiMdlCd = key.substring(20);

				// エラーメッセージの取得
				String errMsg = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.EDKB0640KW, null);

				// 入荷エラーリストの生成・追加
				nyukaErrList.add(new String[]{"0", errMsg
						, "宅内機器セット品型コード=" + taknkikiSethinMdlCd
						+ ", 宅内機器型式コード=" + taknkikiMdlCd});

				retCount = 1;
			}
		}

		return retCount;
	}

	/**
	 * データ登録／更新を行います。
	 * @param nyukaJoho 入荷配列
	 * @param sysDate システム日付
	 * @throws Exception
	 */
	private void executeUpdate(String[] nyukaJoho, String sysDate) throws Exception
	{
		// 処理行のレコード種別
		String recSbt = this.getData(nyukaJoho, 0);

		// 先頭レコードの配列
		String[] header = this.split(nyukaJohoList[0]);

		// ********************************************************************
		// 入荷登録
		// ********************************************************************
		// レコード種別が51または54の場合
		if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt)
				|| JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
		{
			// 運用日付の年下2桁
			String yy = commonItem.getOpeDate().substring(2, 4);
			String prefix = "E" + yy;

			// 入荷番号の採番
			nyukaNo = JCCBatCommon.getFormatedNextSeq(commonItem, SEQ_NYUKA_NO, prefix, 7);

			// 入荷情報の登録
			String[] param = new String[25];

			// 入荷番号
			param[0] = nyukaNo;
			// 入荷ステータス
			param[1] = JDKStrConst.NYUKA_STAT_KURAIRE;
			// 発注ロット番号
			param[2] = this.getData(nyukaJoho, 6);
			// 発注ロット明細番号
			String hattchuLotDtlNo = "";
			if (dkTHattchuDtlMap != null)
			{
				hattchuLotDtlNo = dkTHattchuDtlMap.getString("HATTCHU_LOT_DTL_NO");
			}
			param[3] = hattchuLotDtlNo;
			// 宅内機器型式コード
			if (KIKISBT_KOBET.equals(kikiSbt))
			{
				param[4] = JDKCommonUtil.trim(this.getData(nyukaJoho, 7));
			}
			else
			{
				param[4] = null;
			}
			// 付属品型式コード
			param[5] = null;
			// 宅内機器セット品型コード
			if (KIKISBT_SETHIN.equals(kikiSbt))
			{
				param[6] = JDKCommonUtil.trim(this.getData(nyukaJoho, 7));
			}
			else
			{
				param[6] = null;
			}
			// 倉庫コード
			param[7] = this.getData(nyukaJoho, 1);
			// 棚コード
			param[8] = this.getData(nyukaJoho, 2);
			// 入荷種別フラグ
			param[9] = nyukaSbt;
			// 入荷数量
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt))
			{
				param[10] = this.getData(nyukaJoho, 8);
			}
			else
			{
				param[10] = this.getData(nyukaJoho, 10);
			}
			// 入荷先担当ユーザーID
			param[11] = commonItem.getBatchUserId();
			// 入荷元メーカーコード
			param[12] = this.getData(nyukaJoho, 4);
			// 入荷元備考
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt))
			{
				param[13] = JDKCommonUtil.trim(this.getData(nyukaJoho, 12));
			}
			else
			{
				param[13] = JDKCommonUtil.trim(this.getData(nyukaJoho, 13));
			}
			// メーカー出荷年月日
			param[14] = this.getData(nyukaJoho, 9);
			// メーカー出荷ロット番号
			param[15] = this.getData(nyukaJoho, 5);
			// 入荷年月日
			if (JDKStrConst.RECORD_SBT_DKIFE01501_HEADER.equals(recSbt))
			{
				param[16] = this.getData(nyukaJoho, 10);
			}
			else
			{
				param[16] = this.getData(nyukaJoho, 11);
			}
			// 入荷取消年月日
			param[17] = null;

			try
			{
				this.executeDK_T_NYUKA_PKINSERT(param);
			}
			catch (Exception ex)
			{
				// コネクションのロールバック
				commonItem.getConnection().rollback();
				// 処理終了のメッセージを出力
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0070CE,
						new String[] {"入荷", "入荷番号＝" + nyukaNo});
				throw ex;
			}
			// レコード種別が54の場合
			if (JDKStrConst.RECORD_SBT_DKIFE01504_SEINONAS.equals(recSbt))
			{
				// ********************************************************************
				// 機器入荷情報登録バッチ送信レコード情報追加
				// ********************************************************************
				
				// 機器入荷情報登録バッチ送信ファイル内容設定
				JBSbatServiceInterfaceMap outDataMap = new JBSbatServiceInterfaceMap();
				// 宅内機器型式コード
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_MODEL_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 7)));
				// 機器製造番号
				outDataMap.set(JBSbatDKIFM083.KIKI_SEIZO_NO, JDKBatOutputFileUtil.encloseDQuot(""));
				// 管理場所識別コード
				outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_SKCD, JDKBatOutputFileUtil.encloseDQuot(JDKStrConst.KANRI_PLACE_SKB_SOKO));
				// 管理場所コード
				outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(header, 1)));
				// 管理場所棚コード
				outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_SHELF_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(header, 2)));
				// MACアドレス
				outDataMap.set(JBSbatDKIFM083.MACAD, JDKBatOutputFileUtil.encloseDQuot(""));
				// 宅内機器セット品番号
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_NO, JDKBatOutputFileUtil.encloseDQuot(""));
				// 宅内機器セット品型コード
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_MODEL_CD, JDKBatOutputFileUtil.encloseDQuot(""));
				// 入荷日
				outDataMap.set(JBSbatDKIFM083.NYUKA_DAY, JDKBatOutputFileUtil.encloseDQuot(commonItem.getOpeDate()));
				// STBID
				outDataMap.set(JBSbatDKIFM083.STB_ID, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース開始年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_START_YMD, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース満了年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_MANRYO_YMD, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース期間
				outDataMap.set(JBSbatDKIFM083.RELEASE_KIKAN, JDKBatOutputFileUtil.encloseDQuot(""));
				// UQ認証ID
				outDataMap.set(JBSbatDKIFM083.UQ_NINSHO_ID, JDKBatOutputFileUtil.encloseDQuot(""));
				// UQパスワード
				outDataMap.set(JBSbatDKIFM083.UQ_PWD, JDKBatOutputFileUtil.encloseDQuot(""));
				// EM契約者コード
				outDataMap.set(JBSbatDKIFM083.EM_KEISHA_CD, JDKBatOutputFileUtil.encloseDQuot(""));
				// ICCID
				outDataMap.set(JBSbatDKIFM083.ICC_ID, JDKBatOutputFileUtil.encloseDQuot(""));
				// MAC認証ID
				outDataMap.set(JBSbatDKIFM083.MAC_NINSHO_ID, JDKBatOutputFileUtil.encloseDQuot(""));
				// MSISDN
				outDataMap.set(JBSbatDKIFM083.MSISDN, JDKBatOutputFileUtil.encloseDQuot(""));
// ANK-3488-00-00 ADD START
				// ACAS番号
				outDataMap.set(JBSbatDKIFM083.ACAS_NO, JDKBatOutputFileUtil.encloseDQuot(""));
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
				// 製造年月
				outDataMap.set(JBSbatDKIFM083.SEIZO_YM, JDKBatOutputFileUtil.encloseDQuot(""));
// ANK-3738-00-00 ADD END
				
				// ファイル出力情報追加(入荷数量分マップに詰める
				for (int i = 0; i < Integer.valueOf(this.getData(nyukaJoho, 10)); i++)
				{
					dkife029List.add(outDataMap);
				}
			}
		}

		// レコード種別が52の場合
		if (JDKStrConst.RECORD_SBT_DKIFE01502_DATA.equals(recSbt))
		{
			// ********************************************************************
			// 入荷明細登録
			// ********************************************************************

			// 入荷明細番号の採番
			String nyukaDtlNo = JCCBatCommon.getFormatedNextSeq(commonItem, SEQ_NYUKA_DTL_NO, "EM", 8);

			// 入荷明細情報の登録
// ANK-3488-00-00 MOD START
//			String[] param = new String[23];
// ANK-3738-00-00 MOD START
//			String[] param = new String[24];
			String[] param = new String[25];
// ANK-3738-00-00 MOD END
// ANK-3488-00-00 MOD END

			// 入荷番号
			param[0] = nyukaNo;
			// 入荷明細番号
			param[1] = nyukaDtlNo;
			// 入荷ロット番号
			param[2] = null;
			// 宅内機器型式コード
			if (KIKISBT_KOBET.equals(kikiSbt))
			{
				param[3] = JDKCommonUtil.trim(this.getData(nyukaJoho, 1));
			}
			else
			{
				param[3] = null;
			}
			// 機器製造番号
			param[4] = JDKCommonUtil.trim(this.getData(nyukaJoho, 2));
			// 宅内機器セット品型コード
			param[5] = JDKCommonUtil.trim(this.getData(nyukaJoho, 3));
			// 宅内機器セット品番号
			param[6] = JDKCommonUtil.trim(this.getData(nyukaJoho, 4));
			// 付属品型式コード
			param[7] = null;
			// UQ認証ID
			param[8] = JDKCommonUtil.trim(this.getData(nyukaJoho, 5));
			// UQパスワード
			param[9] = JDKCommonUtil.trim(this.getData(nyukaJoho, 6));
			// STBID
			param[10] = JDKCommonUtil.trim(this.getData(nyukaJoho, 7));
			// ICCID
			param[11] = JDKCommonUtil.trim(this.getData(nyukaJoho, 8));
			// MACアドレス
			param[12] = JDKCommonUtil.trim(this.getData(nyukaJoho, 9));
			// MAC認証ID
			param[13] = JDKCommonUtil.trim(this.getData(nyukaJoho, 10));
			// MSISDN
			param[14] = JDKCommonUtil.trim(this.getData(nyukaJoho, 11));
			// EM契約者コード
			param[15] = JDKCommonUtil.trim(this.getData(nyukaJoho, 12));
// ANK-3488-00-00 ADD START
			// ACAS番号
			param[23] = JDKCommonUtil.trim(this.getData(nyukaJoho, 13));
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
			// 製造年月
			param[24] = JDKCommonUtil.trim(this.getData(nyukaJoho, 14));
// ANK-3738-00-00 ADD END

			try
			{
				this.executeDK_T_NYUKA_DTL_PKINSERT(param);
			}
			catch (Exception ex)
			{
				// コネクションのロールバック
				commonItem.getConnection().rollback();
				// 処理終了のメッセージを出力
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0070CE,
						new String[] {"入荷明細", "入荷明細番号＝" + nyukaDtlNo});
				throw ex;
			}

			// セット品機器の場合
			if (KIKISBT_SETHIN.equals(kikiSbt))
			{
				// ********************************************************************
				// 宅内機器セット品登録
				// ********************************************************************

				// 宅内機器セット品情報の取得
				String[] paramSethin = null;
				JBSbatCommonDBInterface dkSethinMap = null;
				try
				{
					paramSethin = new String[] {this.getData(nyukaJoho, 3), this.getData(nyukaJoho, 4)};

					dkSethinMap = this.executeDK_T_TAKNKIKI_SETHIN_PKSELECT(paramSethin);
				}
				catch (Exception ex)
				{
					// コネクションのロールバック
					commonItem.getConnection().rollback();
					commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
							new String[] {"宅内機器セット品", ""});
					throw ex;
				}

				// 該当データが無かった場合
				if (dkSethinMap == null)
				{
					// 宅内機器セット品情報の登録
					paramSethin = new String[10];

					// 宅内機器セット品型コード
					paramSethin[0] = this.getData(nyukaJoho, 3);
					// 宅内機器セット品番号
					paramSethin[1] = this.getData(nyukaJoho, 4);
					// 宅内機器セット品登録年月日
					paramSethin[2] = commonItem.getOpeDate();

					try
					{
						this.executeDK_T_TAKNKIKI_SETHIN_PKINSERT(paramSethin);
					}
					catch (Exception ex)
					{
						// コネクションのロールバック
						commonItem.getConnection().rollback();
						// 処理終了のメッセージを出力
						commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0070CE,
								new String[] {"宅内機器セット品",
								"宅内機器セット品型コード＝" + this.getData(nyukaJoho, 3)
								+ "；宅内機器セット品番号＝" + this.getData(nyukaJoho, 4)});
						throw ex;
					}
				}
			}

			// ********************************************************************
			// 機器入荷情報登録バッチ送信レコード情報追加
			// ********************************************************************
			// リース開始年月日を算出
			String nyukaYmd = this.getData(header, 10);
			// 入荷日の翌年1月1日をリース開始年月日とする
			String yyyy = nyukaYmd.substring(0, 4);
			String leaseStaYmd = String.valueOf(Integer.parseInt(yyyy, 10) + 1) + "0101";
			
			// リース満了年月日を算出
			// リース開始年月日の72ヶ月後をリース満了年月日とする。
			String leaseManryoYmd = JPCUtilCommon.addMonth(leaseStaYmd, JDKStrConst.LEASE_MANRYO_ADD_MONTHS);
			
			// 機器入荷情報登録バッチ送信ファイル内容設定
			JBSbatServiceInterfaceMap outDataMap = new JBSbatServiceInterfaceMap();
			// 宅内機器型式コード
			outDataMap.set(JBSbatDKIFM083.TAKNKIKI_MODEL_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 1)));
			// 機器製造番号
			outDataMap.set(JBSbatDKIFM083.KIKI_SEIZO_NO, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 2)));
			// 管理場所識別コード
			outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_SKCD, JDKBatOutputFileUtil.encloseDQuot(JDKStrConst.KANRI_PLACE_SKB_SOKO));
			// 管理場所コード
			outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(header, 1)));
			// 管理場所棚コード
			outDataMap.set(JBSbatDKIFM083.KANRI_PLACE_SHELF_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(header, 2)));
			// MACアドレス
			outDataMap.set(JBSbatDKIFM083.MACAD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 9)));
			if (KIKISBT_SETHIN.equals(kikiSbt))
			{
				// セット品の場合
				
				// 宅内機器セット品番号
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_NO, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 4)));
				// 宅内機器セット品型コード
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_MODEL_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 3)));
			}
			else
			{
				// セット品でない場合
				
				// 宅内機器セット品番号
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_NO, JDKBatOutputFileUtil.encloseDQuot(""));
				// 宅内機器セット品型コード
				outDataMap.set(JBSbatDKIFM083.TAKNKIKI_SETHIN_MODEL_CD, JDKBatOutputFileUtil.encloseDQuot(""));
			}
			// 入荷日
			outDataMap.set(JBSbatDKIFM083.NYUKA_DAY, JDKBatOutputFileUtil.encloseDQuot(nyukaYmd));
			if (isStbKiki())
			{
				// STB機器の場合

				// STBID
				outDataMap.set(JBSbatDKIFM083.STB_ID, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 7)));
				// リース開始年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_START_YMD, JDKBatOutputFileUtil.encloseDQuot(leaseStaYmd));
				// リース満了年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_MANRYO_YMD, JDKBatOutputFileUtil.encloseDQuot(leaseManryoYmd));
				// リース期間
				outDataMap.set(JBSbatDKIFM083.RELEASE_KIKAN, JDKBatOutputFileUtil.encloseDQuot(String.valueOf(JDKStrConst.LEASE_MANRYO_ADD_MONTHS)));
			}
			else
			{
				// STB機器以外の場合

				// STBID
				outDataMap.set(JBSbatDKIFM083.STB_ID, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース開始年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_START_YMD, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース満了年月日
				outDataMap.set(JBSbatDKIFM083.RELEASE_MANRYO_YMD, JDKBatOutputFileUtil.encloseDQuot(""));
				// リース期間
				outDataMap.set(JBSbatDKIFM083.RELEASE_KIKAN, JDKBatOutputFileUtil.encloseDQuot(""));
			}
			// UQ認証ID
			outDataMap.set(JBSbatDKIFM083.UQ_NINSHO_ID, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 5)));
			// UQパスワード
			outDataMap.set(JBSbatDKIFM083.UQ_PWD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 6)));
			// EM契約者コード
			outDataMap.set(JBSbatDKIFM083.EM_KEISHA_CD, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 12)));
			// ICCID
			outDataMap.set(JBSbatDKIFM083.ICC_ID, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 8)));
			// MAC認証ID
			outDataMap.set(JBSbatDKIFM083.MAC_NINSHO_ID, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 10)));
			// MSISDN
			outDataMap.set(JBSbatDKIFM083.MSISDN, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 11)));
// ANK-3488-00-00 ADD START
			// ACAS番号
			outDataMap.set(JBSbatDKIFM083.ACAS_NO, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 13)));
// ANK-3488-00-00 ADD END
// ANK-3738-00-00 ADD START
			// 製造年月
			outDataMap.set(JBSbatDKIFM083.SEIZO_YM, JDKBatOutputFileUtil.encloseDQuot(this.getData(nyukaJoho, 14)));
// ANK-3738-00-00 ADD END
			
			// ファイル出力情報追加
			dkife029List.add(outDataMap);
		}
	}

	/**
	 * 機器入荷情報登録宅内連携中間ファイル完了フラグを出力します。
	 * @param sysDate システム日付
	 * @throws Exception
	 */
	private void putDKIFM076File(String sysdate) throws Exception
	{
		// 機器入荷情報登録宅内連携中間ファイル完了フラグを作成
		// ファイル名の作成
		String midFileNm = GAI_IF_ID_KIKI_NYUKA_INS_FILE + "_" + sysdate + ".flg";
		// ファイルパス（パス + ファイル名）の取得
		String midFilePath = 
			this.rnktPath(JBSbatAplConst.getAplConstValue(JDKStrConst.ENV_MID_DIR), midFileNm);
		
		JBSbatOutputFileUtil outMidFile = null;
		try
		{
			// ファイル形式の設定
			outMidFile = new JBSbatOutputFileUtil(midFilePath);
			outMidFile.setEncode(JDKStrConst.ENCODE_SJIS);		// 文字コード
			outMidFile.setLine(JDKStrConst.LINE_LF);			// 改行コード

			// 機器入荷情報登録宅内連携中間ファイル完了フラグを作成する
			outMidFile.createWriter();
		}
		catch (Exception ex)
		{
			// 機器入荷情報登録バッチ送信中間ファイル作成失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0030CE,
					new String[] {midFilePath});
			throw ex;
		}
		finally
		{
			// ファイルのクローズ
			try
			{
				outMidFile.close();
			}
			catch (Exception ex2)
			{
				super.logPrint.printDebugLog("ファイル書込みオブジェクトのクローズ失敗:" + midFilePath);
			}
		}
	}

	/**
	 * 入荷エラーリストに設定されている内容を入荷エラーファイルとして出力します。
	 * 
	 * @throws Exception
	 */
	private void putErrorFile() throws Exception
	{

		// エラーデータが存在しない場合は処理を終了する
		if (nyukaErrList == null || nyukaErrList.size() == 0)
		{
			return;
		}

		// 入荷エラーファイルのファイル名を取得
		String btryEfileNm = null;
		try
		{
			String[] param = new String[]{efileKanriNo};
			this.executeDK_T_BTRY_EFILE_KNRI_DK_SELECT_001(param);
			JBSbatCommonDBInterface btryEfileKanriMap = db_DK_T_BTRY_EFILE_KNRI.selectNext();
			btryEfileNm = btryEfileKanriMap.getString("BTRY_EFILE_NM");
		}
		catch (Exception ex)
		{
			// コネクションのロールバック
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0670CE,
					new String[] {"物流電子ファイル管理", ""});
			throw ex;
		}
		if (JDKCommonUtil.isNull(btryEfileNm))
		{
			btryEfileNm = EO_NINPUT + commonItem.getOpeDate()
					+ JCCBatCommon.getSysDateTime().substring(8) + "_bat";
		}
		String dnsFileNm = btryEfileNm.replace(".csv", "") + "_err.csv";

		// 入荷エラーファイルを作成
		// ファイルパス（パス + ファイル名）の取得
		String midFilePath = 
			this.rnktPath(JCCBatCommon.getApplicationConst(JDKStrConst.ENV_MID_DIR), dnsFileNm);

		// ファイル出力制御クラスのコンストラクタ生成
		JBSbatOutputFileUtil outFile = new JBSbatOutputFileUtil(midFilePath);

		// 出力ファイル形式設定
		outFile.setEncode(JDKStrConst.ENCODE_SJIS);		// 文字コード
		outFile.setLine(JDKStrConst.LINE_LF);			// 改行コード

		try
		{
			// 入荷エラーファイルを作成する
			outFile.createWriter();
		}
		catch (IOException ex)
		{
			// 入荷エラーファイル作成失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0030CE,
					new String[] {midFilePath});
			throw ex;
		}

		try
		{
			String defFile = this.rnktPath(JCCBatCommon.getApplicationConst(JDKStrConst.DK_DIR_IND),
					JDKStrConst.DEF_NYUKA_ERR);
			JBSbatDefFileUtil defDataUtil = new JBSbatDefFileUtil(defFile, outFile);

			// データ部生成
			JBSbatServiceInterfaceMap outDataMap = null;
			for (int i = 0; i < nyukaErrList.size(); i++)
			{

				// データ部生成
				outDataMap = new JBSbatServiceInterfaceMap();

				// 行番号
				outDataMap.set(JBSbatDKIFM002.LINE_NO
						, JDKBatOutputFileUtil.encloseDQuot(nyukaErrList.get(i)[0]));

				// エラー内容
				outDataMap.set(JBSbatDKIFM002.ERR_NAIYO
						, JDKBatOutputFileUtil.encloseDQuot(nyukaErrList.get(i)[1]));

				// レコード内容
				outDataMap.set(JBSbatDKIFM002.REC_NAIYO
						, JDKBatOutputFileUtil.encloseDQuotIfNotExists(nyukaErrList.get(i)[2]));

				// 入荷エラーファイルの書き込み
				outFile.print(outDataMap, defDataUtil);
			}
		}
		catch (Exception ex)
		{
			// 入荷エラーファイル書き込み失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0050CE,
					new String[] {midFilePath});
			throw ex;
		}
		finally
		{
			// ファイルのクローズ
			try
			{
				outFile.close();
			}
			catch (Exception ex2)
			{
				super.logPrint.printDebugLog("ファイル書込みオブジェクトのクローズ失敗:" + midFilePath);
			}
		}

		String[] retDenshiFile = null;
		try
		{
			// 電子ファイル管理データの登録を行う
			retDenshiFile = JCCBatCommon.createDenshiFile(commonItem
					, null
					, midFilePath
					, JPCDateUtil.addMonth(commonItem.getOpeDate(), 3));
		}
		catch (Exception ex)
		{
			// 電子ファイル管理登録失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0070CE,
					new String[] {"電子ファイル管理", midFilePath});
			throw ex;
		}

		// ダウンロードファイル管理の登録を行う
		String[] param = new String[9];

		// 処理管理番号
		param[0] = JDKStrConst.TRN_KANRI_NO_NYUKA_ERR;

		// ファイル名
		param[1] = dnsFileNm;

		// ファイル登録年月日時分秒
		param[2] = commonItem.getOpeDate()+JCCBatCommon.getSysDateTimeStamp().substring(8);

		// 登録年月日時分秒
		param[3] = JCCBatCommon.getSysDateTimeStamp();

		// 登録オペレータアカウント
		param[4] = commonItem.getBatchUserId();

		// 更新年月日時分秒
		param[5] = JCCBatCommon.getSysDateTimeStamp();

		// 更新オペレータアカウント
		param[6] = commonItem.getBatchUserId();

		// 電子ファイル管理番号
		param[7] = retDenshiFile[0];

		// 世代登録年月日時分秒
		param[8] = retDenshiFile[1];

		try
		{
			// ダウンロードファイル管理の登録
			this.executeZM_T_DL_FILE_KANRI_DK_INSERT_002(param);
		}
		catch (Exception ex)
		{
			// ダウンロードファイル管理登録失敗
			commonItem.getConnection().rollback();
			// 処理終了のメッセージを出力
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0070CE,
					new String[] {"ダウンロードファイル管理",
					"処理管理番号=" + JDKStrConst.TRN_KANRI_NO_NYUKA_ERR
					+ "；電子ファイル管理番号=" + retDenshiFile[0]
					+ "；ファイル名=入荷エラー"});
			throw ex;
		}
	}

	/**
	 * パス文字列の連結
	 * 連結するパス文字列にパス区切り文字の設定を制御する。
	 * @param path1 パス文字列
	 * @param path2 パス文字列
	 * @return 連結したパス文字列
	 */
	private String rnktPath(String path1, String path2)
	{
		String pathDlmt = "/";
		if (path1.indexOf("\\") > -1 || path2.indexOf("\\") > -1)
		{
			pathDlmt = "\\";
		}
		if (!path1.endsWith(pathDlmt))
		{
			return path1 + pathDlmt + path2;
		}
		return path1 + path2;
	}

	/***
	 * 入荷配列を生成する。
	 * @param value 元ネタとなる受信ファイルデータ
	 * @return 入荷配列
	 */
	private String[] split(String value)
	{
		String[] nyukaJoho = value.split(",");

		for (int i = 0; i < nyukaJoho.length; i++)
		{
			nyukaJoho[i] = nyukaJoho[i].replace("\"", "");
		}

		return nyukaJoho;
	}

	/**
	 * lengthで指定されたバイト数になるまで半角空白を埋める。<br>
	 * valueがnullの場合は空文字を返す。
	 * @param value 調整する文字列
	 * @param length 調整する長さ（バイト数）
	 * @param leftRight 空白埋め左右判断フラグ（true：右埋め、false：左埋め）
	 * @return 空白充填後の文字列
	 * @throws Exception
	 */
	private String fillHalfSpaceByte(String value, int length, boolean leftRight) throws Exception
	{
		if (JDKCommonUtil.isNull(value))
		{
			return "";
		}

		int lenByte = value.getBytes("SJIS").length;
		int appendSize = length - lenByte;
		String appendStr = JPCUtilCommon.fillHalfSpace(" ", appendSize, leftRight);
		if (leftRight)
		{
			return value + appendStr;
		}
		else
		{
			return appendStr + value;
		}
	}

	/**
	 * 運用日付時分秒の取得を行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.運用日付(yyyyMMdd) + システム日時(hhmmss)を返却します。<br>
	 * </pre>
	 * <p>
	 * @return String 運用日付時分秒。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getOpeDateTime() throws Exception 
	{
		String strDate = commonItem.getOpeDate();
		String strTime = JCCBatCommon.getSysDateTime().substring(8);

		return (strDate + strTime);
	}
	
	/**
	 * ディレイド処理依頼と電子ファイル管理より入荷完了情報受信ファイルを取得する処理
	 * 
	 * @param reqNo ディレイド処理依頼番号
	 * @return String[] 入荷完了情報受信ファイル<BR>
	 * @throws Exception 入荷完了情報受信ファイルの取得に失敗した場合
	 */
	private String[] getNyukaFileInfo(String reqNo) throws Exception
	{

		JBSbatCommonDBInterface resultMap = null;

		// ディレイド処理依頼、電子ファイルより、入荷情報受信ファイルの情報を取得
		try
		{
			String[] param = new String[]{reqNo};
			this.executeCC_T_DLYD_TRN_REQ_DK_SELECT_001(param);
			resultMap = db_CC_T_DLYD_TRN_REQ.selectNext();
			if (resultMap == null)
			{
				throw new Exception("ディレイド処理依頼情報なし");
			}
		}
		catch (Exception ex)
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0020KE,
					new String[] {"ディレイド処理依頼", "ディレイド処理依頼番号＝" + reqNo});
			throw ex;
		}

		byte[] denshiFileByte = getDenshiFileByte((String)resultMap.getValue("INPUT_EFILE_KANRI_NO"));
		
		if (denshiFileByte == null)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EDKB0020KE, 
					new String[] {"電子ファイル管理", "電子ファイル管理番号＝" + (String)resultMap.getValue("INPUT_EFILE_KANRI_NO")});
		}
		
		// ファイルの中身を取得する
		String dlydString = new String(denshiFileByte, JDKStrConst.CHAR_SET_WIN31J);

		// 文字列から改行コードで分割
		String[] strDlydList = dlydString.split(JDKStrConst.LINE_SEPARATOR);

		// 配列の第１要素が空の場合、
		if (JDKCommonUtil.isNull(strDlydList[0]))
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EDKB0020KE, 
					new String[] {"電子ファイル管理", "電子ファイル管理番号＝" + (String)resultMap.getValue("INPUT_EFILE_KANRI_NO")});
		}
		
		dlydTrnReqNo = resultMap.getValue("DLYD_TRN_REQ_NO").toString();
		efileKanriNo = resultMap.getValue("INPUT_EFILE_KANRI_NO").toString();
		
		
		return strDlydList;
	}
	
	/**
	 * 電子ファイルをbyteの配列に変換します。
	 * 
	 * @param cmnItem 業務共通電文クラス
	 * @param eFileKanriNo 電子ファイル管理番号
	 * @return 変換後のbyteの配列
	 * @throws Exception 
	 * @throws SQLException 
	 */
	private byte[] getDenshiFileByte(String eFileKanriNo) throws Exception
	{
		BufferedInputStream in = null;
		ByteArrayOutputStream baos = null;
		byte reb[] = null; 
		String path = null;
		
		try
		{
			// 電子ファイル解凍処理
			path = JCCbatDenshiFileUtil.searchDenshiFile(commonItem, eFileKanriNo);
			
			if(null == path){
				return null;
			}
			
			in = new BufferedInputStream(new FileInputStream( path ));
			baos = new ByteArrayOutputStream();
			byte btmp[] = new byte[1024]; 
			int j;
			while((j = in.read(btmp))!=-1){
				baos.write(btmp, 0, j);
			}
			
			reb = baos.toByteArray();
			
			if(null != in){
				in.close();
			}
			if(null != baos){
				baos.close();
			}
		}
		catch (Exception e)
		{
			return null;
		}
		finally
		{
			//作業用ファイルの削除
			if(null != path){
				String parentPath = path.substring(0, path.lastIndexOf(File.separator));
				JCCFileUtil.removeDir(parentPath);
			}

			if (null != in)
			{
				try {
					in.close();
				} catch (Exception e) {
					;//なにもしない
				}
			}
			if (null != baos)
			{
				try {
					baos.close();
				} catch (Exception e) {
					;//なにもしない
				}
			}
		}

		return reb;
	}
	/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
	
	/**
	 * 機器入荷情報登録バッチ送信ファイルを出力します。
	 * @param sysDate システム日付
	 * @throws Exception
	 */
	private void putDKIFE015File(String sysdate) throws Exception
	{
		// ファイル名の作成
		String fileNm = GAI_IF_ID_KIKI_NYUKA_INS_FILE + "_" + sysdate + ".csv";

		// ファイルパス（パス + ファイル名）の取得
		String outputFilePath = this.rnktPath(this.rnktPath(JBSbatAplConst.getAplConstValue(JDKStrConst.ENV_GAIBU_SEND_DIR),
					                           GAI_IF_ID_KIKI_NYUKA_INS_FILE), fileNm);

		// ファイル形式の設定
		JBSbatOutputFileUtil outputFileUtil = new JBSbatOutputFileUtil(outputFilePath);
		outputFileUtil.setEncode(JDKStrConst.ENCODE_SJIS);		// 文字コード
		outputFileUtil.setLine(JDKStrConst.LINE_LF);			// 改行コード

		// 機器入荷情報登録バッチ送信ファイルを作成する
		try
		{
			outputFileUtil.createWriter();
		}
		catch (Exception ex)
		{
			// 機器入荷情報登録バッチ送信ファイル作成失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0030CE,
					new String[] {outputFilePath});
			throw ex;
		}

		// ファイル定義情報取得
		JBSbatDefFileUtil defData = null;
		String defFilePath = rnktPath(JBSbatAplConst.getAplConstValue(JDKStrConst.DK_DIR_IND), DEF_KIKI_NYUKA_INS);
		try
		{
			defData = new JBSbatDefFileUtil(defFilePath, outputFileUtil);
		}
		catch (Exception ex)
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0030CE,
					new String[] {outputFilePath});
			throw ex;
		}

		// ファイル出力
		try
		{
			for (int i = 0; i < dkife029List.size(); i++)
			{
				outputFileUtil.print(dkife029List.get(i), defData);
			}
		}
		catch(Exception ex)
		{
			// 機器入荷情報登録バッチ送信ファイル書き込み失敗
			commonItem.getConnection().rollback();
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EDKB0050CE,
					new String[] {outputFilePath});
			throw ex;
		}
		finally
		{
			// ファイルのクローズ
			try
			{
				if (outputFileUtil != null)
				{
					outputFileUtil.close();
				}
			}
			catch (Exception ex2)
			{
				super.logPrint.printDebugLog("ファイル書込みオブジェクトのクローズ失敗:" + outputFilePath);
			}
		}
	}
}
