/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKUTaknkikiInfoAdd
*	ソースファイル名	：JBSbatKUTaknkikiInfoAdd.java
*	作成者				：富士通　
*	作成日				：2012年04月05日
*＜機能概要＞
*　宅内機器情報登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2012/04/05  FJ)旭		新規作成-【ANK-0315-00-00】バッチ処理における宅内機器管理Sデータへの直アクセスについて
*	v7.00.00	2014/02/27   FJ)中西	【OM-2014-0000594】
*********************************************************************/
package eo.business.service;

import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.common.constant.JKUStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatDefFileUtil;
import eo.framework.file.JBSbatInputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatAplConst;
import eo.framework.util.JBSbatCheckUtil;

/**
* 宅内機器情報登録<p>
*<BR>
* @author 富士通
*/
public class JBSbatKUTaknkikiInfoAdd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(バッチ用宅内機器ワーク)*/
	private static final String D_TBL_NAME_DK_T_BAT_TKKIKI_WK = "DK_T_BAT_TKKIKI_WK";

	/** SQL定義キー(KU_DELETE_001)*/
	private static final String DK_T_BAT_TKKIKI_WK_KU_DELETE_001 = "KU_DELETE_001";

	/** テーブルアクセスクラス(バッチ用宅内機器ワーク)*/
	private JBSbatSQLAccess db_DK_T_BAT_TKKIKI_WK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**▼▼▼▼▼▼業務が作成した宣言です 開始▼▼▼▼▼▼*/
	
	/** 対象JOB_ID */
	private static final String TARGET_JOBID = "EO70I0110J0";
	
	/** ログ出力用項目名設定Map */
	private HashMap<String, String> messageMap = new HashMap<String, String>();
	
	/** 宅内機器情報受信情報ファイルオブジェクト */
	private JBSbatInputFileUtil tkkikiInfRcvFileObj = null;

	/** 宅内機器情報受信定義情報ファイルオブジェクト */
	private JBSbatDefFileUtil tkkikiInfRcvFileDefObj = null;

	/** ファイル読込件数*/
	private int fileRecordCnt = 0;
	
	/** ファイルレコード*/
	private String line = null;
	
	/** ファイル定義項目数*/
	private int fileColCnt = 0;
	
	/** ファイル配置先*/
	private String filePath = null;
	/**▲▲▲▲▲▲業務が作成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		
		// ログ出力用項目名設定Mapを設定
		messageMap = createMessageMap();
		
		// FreeItem取得（FREE項目には「定義ファイル名@入力ファイル（フルパス）」が設定されている）
		String[] freeItem = commonItem.getFreeItem().split(JKUStrConst.FREE_DIV);
		// ファイル配置先
		filePath = freeItem[1];
		// 宅内機器情報受信情報ファイルオブジェクトを生成する
		tkkikiInfRcvFileObj = new JBSbatInputFileUtil(filePath);
		// 宅内機器情報受信定義情報ファイル名を取得する
		String tkkikiInfRcvFileDefName = JBSbatAplConst.getAplConstValue("IND") + freeItem[0];
		// 宅内機器情報受信定義情報ファイルオブジェクトを生成する
		tkkikiInfRcvFileDefObj  = new JBSbatDefFileUtil(tkkikiInfRcvFileDefName, tkkikiInfRcvFileObj);
		// Readerオブジェクトを生成する。
		tkkikiInfRcvFileObj.createReader();
		// ファイル定義より項目数を取得
		fileColCnt =  tkkikiInfRcvFileDefObj.getOutDef().size();
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_DK_T_BAT_TKKIKI_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_DK_T_BAT_TKKIKI_WK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return null
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// 指定ジョブＩＤ削除
		
		// 削除処理に渡すパラメタを設定
		Object[] whereParam = new Object[1];
		// 指定ジョブＩＤ
		whereParam[0] = TARGET_JOBID;
		// 削除処理実行
		this.executeDK_T_BAT_TKKIKI_WK_KU_DELETE_001(whereParam);
		
		while (tkkikiInfRcvFileObj.ready()) 
		{
			// ファイルレコード件数カウントアップ
			fileRecordCnt++;
			
			// ファイルレコード取得
			line = tkkikiInfRcvFileObj.readLine();
			
			int lineLength = line.length();
			
			// 定義ファイルに設定された区切り文字がCSV_DOUBLE_QUOTEの場合、前後のダブルクォートを取り除く
			if (tkkikiInfRcvFileDefObj.getDelimiter().equals(JKUStrConst.CSV_DOUBLE_QUOTE))
			{
				// 前後のダブルクォートを取り除く
				if(0 == line.indexOf(JKUStrConst.DOUBLE_QUOTE) 
						&& lineLength - 1 == line.lastIndexOf(JKUStrConst.DOUBLE_QUOTE))
				{
					line = line.substring(1, lineLength - 1);
				}
				else
				{
					// エラーログを出力し続行する。
					super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKUB0620CE, new String[]{
							String.valueOf(fileRecordCnt), filePath});
					
					super.commonItem.setErrFlg(true);
					
					continue;
				}
			}
			
			// 定義ファイルに設定された区切り文字で分割
			String[] cols = line.split(tkkikiInfRcvFileDefObj.getDelimiter(), -1);
			
			// ファイル定義と項目数が異なる場合
			if (fileColCnt != cols.length)
			{
				// エラーログを出力し続行する。
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKUB0620CE, new String[]{
						String.valueOf(fileRecordCnt), filePath});
				
				super.commonItem.setErrFlg(true);
				
				continue;
			}
			
			// 単項目チェック
			if(!this.isSingleCheckKUIFE056_INF1(cols, messageMap))
			{
				super.commonItem.setErrFlg(true);
				
				continue;
			}
			
			// 登録処理に渡すパラメタを作成
			Object[] setParam = new Object[JKUStrConst.COLUMN_CNT_DK_T_BAT_TKKIKI_WK];
			
			// 設定宅内機器型式コード
			Object setTknkikiM = cols[0];
			// 設定機器製造番号
			Object setkikiseizo = cols[1];
			// 設定MACアドレス
			Object setMacAd = cols[3];
			// STBID
			Object setStbId = cols[2];
			
			// バッチ用宅内機器ワーク取得条件の設定
			whereParam = new Object[3];
			whereParam[0] = TARGET_JOBID;
			whereParam[1] = setTknkikiM;
			whereParam[2] = setkikiseizo;
			
			// 検索結果を取得するためのMapを作成
			JBSbatCommonDBInterface resultMap = new JBSbatCommonDBInterface();
			
			resultMap = this.executeDK_T_BAT_TKKIKI_WK_PKSELECT(whereParam);
			
			if (resultMap != null)
			{
				continue;
			}
			
			// ジョブID
			setParam[0] = TARGET_JOBID;
			// 宅内機器型式コード
			setParam[1] = setTknkikiM;
			// 機器製造番号
			setParam[2] = setkikiseizo;
			// MACアドレス
			setParam[12] = setMacAd;
			// STBID
			setParam[40] = setStbId;
			
			this.executeDK_T_BAT_TKKIKI_WK_PKINSERT(setParam);
			
		}
		
		// エラー判定
		if (super.commonItem.isErrFlg())
		{
			throw new JBSbatBusinessError();
		}
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_DK_T_BAT_TKKIKI_WK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	

	/**
	 * SQLKEY(KU_DELETE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	JOB_ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_BAT_TKKIKI_WK_KU_DELETE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_DK_T_BAT_TKKIKI_WK.executeBySqlDefine(paramList, DK_T_BAT_TKKIKI_WK_KU_DELETE_001);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	JOB_ID
	 *		 	TAKNKIKI_MODEL_CD
	 *		 	KIKI_SEIZO_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeDK_T_BAT_TKKIKI_WK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("JOB_ID", whereParam[0]);
		whereMap.setValue("TAKNKIKI_MODEL_CD", whereParam[1]);
		whereMap.setValue("KIKI_SEIZO_NO", whereParam[2]);

		// DBアクセスを実行します
		return db_DK_T_BAT_TKKIKI_WK.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ジョブＩＤ				JOB_ID
	 *		 	宅内機器型式コード				TAKNKIKI_MODEL_CD
	 *		 	機器製造番号				KIKI_SEIZO_NO
	 *		 	宅内機器ステータス				TAKNKIKI_STAT
	 *		 	機器提供種別コード				KKTK_SBT_CD
	 *		 	所有コード				SHOYU_CD
	 *		 	管理場所識別コード				KANRI_PLACE_SKCD
	 *		 	管理場所コード				KANRI_PLACE_CD
	 *		 	管理場所棚コード				KANRI_PLACE_SHELF_CD
	 *		 	商品状態コード				GDS_STAT_CD
	 *		 	設置場所番号				STC_PLACE_NO
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	ＭＡＣアドレス				MACAD
	 *		 	ＭＡＣ認証ＩＤ				MAC_NINSHO_ID
	 *		 	上位宅内機器型式コード				JOI_TAKNKIKI_MODEL_CD
	 *		 	上位機器製造番号				JOI_KIKI_SEIZO_NO
	 *		 	マンション共用部番号				MANSION_KYB_NO
	 *		 	リニューアル回数				RENEWAL_CNT
	 *		 	予備品フラグ				YOBI_GOODS_FLG
	 *		 	工事案件番号				KOJIAK_NO
	 *		 	トムソンケース番号				TCASE_NO
	 *		 	宅内機器セット品番号				TAKNKIKI_SETHIN_NO
	 *		 	宅内機器セット品型コード				TAKNKIKI_SETHIN_MODEL_CD
	 *		 	棚移動予約フラグ				SHELF_MOVE_RSV_FLG
	 *		 	棚移動ロット番号				SHELF_MOVE_LOT_NO
	 *		 	場所設置年月日				PLACE_STC_YMD
	 *		 	保証開始年月日				HOSHO_STAYMD
	 *		 	保証終了年月日				HOSHO_ENDYMD
	 *		 	宅内機器入荷年月日				TAKNKIKI_NYUKA_YMD
	 *		 	宅内機器破棄年月日				TAKNKIKI_ABDMNT_YMD
	 *		 	残置開始年月日				ZANCHI_STAYMD
	 *		 	残置終了年月日				ZANCHI_ENDYMD
	 *		 	宅内機器返却予定年月日				TAKNKIKI_RTN_RSYMD
	 *		 	返却先一次工事会社コード				RTN_SAKI_FIRST_KOCOMP_CD
	 *		 	Ｖｅｒ				VER
	 *		 	機器読取会社名				KIKI_YMTR_COMP_NM
	 *		 	機器読取担当者名				KIKI_YMTR_TNTSHA_NM
	 *		 	倉庫出荷年月日				SOKO_SHUKKA_YMD
	 *		 	機器バーコード番号				KIKI_BARCODE_NO
	 *		 	ＳＴＢステータス				STB_STAT
	 *		 	ＳＴＢＩＤ				STB_ID
	 *		 	制御エリアコード				CTRL_AREA_CD
	 *		 	ＳＴＢ松下用グループＩＤ１				STB_MTST_GRP_ID_1
	 *		 	ＳＴＢ松下用グループＩＤ２				STB_MTST_GRP_ID_2
	 *		 	ＳＴＢ松下用グループＩＤ３				STB_MTST_GRP_ID_3
	 *		 	ＳＴＢ松下用グループＩＤ４				STB_MTST_GRP_ID_4
	 *		 	ＳＴＢ松下用グループＩＤ５				STB_MTST_GRP_ID_5
	 *		 	ＳＴＢ松下用グループＩＤ６				STB_MTST_GRP_ID_6
	 *		 	ＣＡＳ内蔵用仮鍵開年月日				CAS_NAIZO_KARI_KEY_STA_YMD
	 *		 	ＣＡＳ内蔵用ＣＡＳカード種別コード				CAS_NAIZO_CAS_CARD_SBT_CD
	 *		 	ＣＡＳ内蔵用Ｃ−ＣＡＳカードステータスコード				CAS_NAIZO_CCASCD_STAT_CD
	 *		 	ＵＱ認証ＩＤ				UQ_NINSHO_ID
	 *		 	ＵＱパスワード				UQ_PWD
	 *		 	ＥＭ契約者コード				EM_KEISHA_CD
	 *		 	ＩＣＣＩＤ				ICC_ID
	 *		 	ＭＳＩＳＤＮ				MSISDN
	 *		 	設置場所住所コード				SETPLACE_AD_CD
	 *		 	設置場所郵便番号				SETPLACE_PCD
	 *		 	設置場所都道府県名				SETPLACE_STATE_FSTNM
	 *		 	設置場所市区町村名				SETPLACE_CITY_FSTNM
	 *		 	設置場所大字通称名				SETPLACE_OAZTSU_FSTNM
	 *		 	設置場所字丁目名				SETPLACE_AZCHO_FSTNM
	 *		 	設置場所番地号				SETPLACE_BNCHIGO
	 *		 	設置場所住所補記・建物名				SETPLACE_ADRTTM
	 *		 	設置場所住所補記・部屋番号				SETPLACE_ADRRM
	 *		 	設置場所登録年月日				SETPLACE_ADD_YMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeDK_T_BAT_TKKIKI_WK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("JOB_ID", setParam[0]);
		setMap.setValue("TAKNKIKI_MODEL_CD", setParam[1]);
		setMap.setValue("KIKI_SEIZO_NO", setParam[2]);
		setMap.setValue("TAKNKIKI_STAT", setParam[3]);
		setMap.setValue("KKTK_SBT_CD", setParam[4]);
		setMap.setValue("SHOYU_CD", setParam[5]);
		setMap.setValue("KANRI_PLACE_SKCD", setParam[6]);
		setMap.setValue("KANRI_PLACE_CD", setParam[7]);
		setMap.setValue("KANRI_PLACE_SHELF_CD", setParam[8]);
		setMap.setValue("GDS_STAT_CD", setParam[9]);
		setMap.setValue("STC_PLACE_NO", setParam[10]);
		setMap.setValue("SVC_KEI_NO", setParam[11]);
		setMap.setValue("MACAD", setParam[12]);
		setMap.setValue("MAC_NINSHO_ID", setParam[13]);
		setMap.setValue("JOI_TAKNKIKI_MODEL_CD", setParam[14]);
		setMap.setValue("JOI_KIKI_SEIZO_NO", setParam[15]);
		setMap.setValue("MANSION_KYB_NO", setParam[16]);
		setMap.setValue("RENEWAL_CNT", setParam[17]);
		setMap.setValue("YOBI_GOODS_FLG", setParam[18]);
		setMap.setValue("KOJIAK_NO", setParam[19]);
		setMap.setValue("TCASE_NO", setParam[20]);
		setMap.setValue("TAKNKIKI_SETHIN_NO", setParam[21]);
		setMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", setParam[22]);
		setMap.setValue("SHELF_MOVE_RSV_FLG", setParam[23]);
		setMap.setValue("SHELF_MOVE_LOT_NO", setParam[24]);
		setMap.setValue("PLACE_STC_YMD", setParam[25]);
		setMap.setValue("HOSHO_STAYMD", setParam[26]);
		setMap.setValue("HOSHO_ENDYMD", setParam[27]);
		setMap.setValue("TAKNKIKI_NYUKA_YMD", setParam[28]);
		setMap.setValue("TAKNKIKI_ABDMNT_YMD", setParam[29]);
		setMap.setValue("ZANCHI_STAYMD", setParam[30]);
		setMap.setValue("ZANCHI_ENDYMD", setParam[31]);
		setMap.setValue("TAKNKIKI_RTN_RSYMD", setParam[32]);
		setMap.setValue("RTN_SAKI_FIRST_KOCOMP_CD", setParam[33]);
		setMap.setValue("VER", setParam[34]);
		setMap.setValue("KIKI_YMTR_COMP_NM", setParam[35]);
		setMap.setValue("KIKI_YMTR_TNTSHA_NM", setParam[36]);
		setMap.setValue("SOKO_SHUKKA_YMD", setParam[37]);
		setMap.setValue("KIKI_BARCODE_NO", setParam[38]);
		setMap.setValue("STB_STAT", setParam[39]);
		setMap.setValue("STB_ID", setParam[40]);
		setMap.setValue("CTRL_AREA_CD", setParam[41]);
		setMap.setValue("STB_MTST_GRP_ID_1", setParam[42]);
		setMap.setValue("STB_MTST_GRP_ID_2", setParam[43]);
		setMap.setValue("STB_MTST_GRP_ID_3", setParam[44]);
		setMap.setValue("STB_MTST_GRP_ID_4", setParam[45]);
		setMap.setValue("STB_MTST_GRP_ID_5", setParam[46]);
		setMap.setValue("STB_MTST_GRP_ID_6", setParam[47]);
		setMap.setValue("CAS_NAIZO_KARI_KEY_STA_YMD", setParam[48]);
		setMap.setValue("CAS_NAIZO_CAS_CARD_SBT_CD", setParam[49]);
		setMap.setValue("CAS_NAIZO_CCASCD_STAT_CD", setParam[50]);
		setMap.setValue("UQ_NINSHO_ID", setParam[51]);
		setMap.setValue("UQ_PWD", setParam[52]);
		setMap.setValue("EM_KEISHA_CD", setParam[53]);
		setMap.setValue("ICC_ID", setParam[54]);
		setMap.setValue("MSISDN", setParam[55]);
		setMap.setValue("SETPLACE_AD_CD", setParam[56]);
		setMap.setValue("SETPLACE_PCD", setParam[57]);
		setMap.setValue("SETPLACE_STATE_FSTNM", setParam[58]);
		setMap.setValue("SETPLACE_CITY_FSTNM", setParam[59]);
		setMap.setValue("SETPLACE_OAZTSU_FSTNM", setParam[60]);
		setMap.setValue("SETPLACE_AZCHO_FSTNM", setParam[61]);
		setMap.setValue("SETPLACE_BNCHIGO", setParam[62]);
		setMap.setValue("SETPLACE_ADRTTM", setParam[63]);
		setMap.setValue("SETPLACE_ADRRM", setParam[64]);
		setMap.setValue("SETPLACE_ADD_YMD", setParam[65]);
		setMap.setValue("ADD_DTM", setParam[66]);
		setMap.setValue("ADD_OPEACNT", setParam[67]);
		setMap.setValue("UPD_DTM", setParam[68]);
		setMap.setValue("UPD_OPEACNT", setParam[69]);
		setMap.setValue("DEL_DTM", setParam[70]);
		setMap.setValue("DEL_OPEACNT", setParam[71]);
		setMap.setValue("MK_FLG", setParam[72]);
		setMap.setValue("ADD_UNYO_YMD", setParam[73]);
		setMap.setValue("ADD_TRN_ID", setParam[74]);
		setMap.setValue("UPD_UNYO_YMD", setParam[75]);
		setMap.setValue("UPD_TRN_ID", setParam[76]);
		setMap.setValue("DEL_UNYO_YMD", setParam[77]);
		setMap.setValue("DEL_TRN_ID", setParam[78]);
	
		// DBアクセスを実行します
		db_DK_T_BAT_TKKIKI_WK.insertByPrimaryKeys(setMap);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	
	
	/**▼▼▼▼▼▼業務チームで作成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 *入力情報（宅内機器情報抽出受信）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD			宅内機器情報抽出受信.宅内機器型式コード
	 *			 TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD			宅内機器情報抽出受信.宅内機器型式コード
	 *			 TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD			宅内機器情報抽出受信.宅内機器型式コード
	 *			 TXT-KUIFE056-INF1.KIKI_SEIZO_NO			宅内機器情報抽出受信.機器製造番号
	 *			 TXT-KUIFE056-INF1.KIKI_SEIZO_NO			宅内機器情報抽出受信.機器製造番号
	 *			 TXT-KUIFE056-INF1.KIKI_SEIZO_NO			宅内機器情報抽出受信.機器製造番号
	 *			 TXT-KUIFE056-INF1.STB_ID			宅内機器情報抽出受信.ＳＴＢ−ＩＤ
	 *			 TXT-KUIFE056-INF1.STB_ID			宅内機器情報抽出受信.ＳＴＢ−ＩＤ
	 *			 TXT-KUIFE056-INF1.MACAD			宅内機器情報抽出受信.ＭＡＣアドレス
	 *			 TXT-KUIFE056-INF1.MACAD			宅内機器情報抽出受信.ＭＡＣアドレス
	 * </pre>
	 * <p>
	 * @param cols 入力データを格納されたString配列。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKUIFE056_INF1(String[] cols, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// 宅内機器型式コード項目チェック
		strValue = cols[0].toString();
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0590TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD"),
															String.valueOf(fileRecordCnt), filePath});

			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "1", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0600TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD"),
															strValue,
															String.valueOf(fileRecordCnt), filePath});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0610TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD"),
															strValue,
															String.valueOf(fileRecordCnt), filePath});
			return false;
		}

		// 機器製造番号項目チェック
		strValue = cols[1].toString();
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0590TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.KIKI_SEIZO_NO"),
															String.valueOf(fileRecordCnt), filePath});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "1", "20"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0600TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.KIKI_SEIZO_NO"),
															strValue,
															String.valueOf(fileRecordCnt), filePath});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0610TE, new String[]{
															(String)itemvalueMap.get("TXT-KUIFE056-INF1.KIKI_SEIZO_NO"),
															strValue,
															String.valueOf(fileRecordCnt), filePath});
			return false;
		}
		
		// ＳＴＢ−ＩＤ項目チェック
		strValue = cols[2].toString();
		
		if(null != strValue && false == "".equals(strValue))
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "12", "12"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0600TE, new String[]{
																(String)itemvalueMap.get("TXT-KUIFE056-INF1.STB_ID"),
																strValue,
																String.valueOf(fileRecordCnt), filePath});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0610TE, new String[]{
																(String)itemvalueMap.get("TXT-KUIFE056-INF1.STB_ID"),
																strValue,
																String.valueOf(fileRecordCnt), filePath});
				return false;
			}
		}
		
		
		// ＭＡＣアドレス項目チェック
		strValue = cols[3].toString();
		
		if(null != strValue && false == "".equals(strValue))
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "12", "12"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0600TE, new String[]{
																(String)itemvalueMap.get("TXT-KUIFE056-INF1.MACAD"),
																strValue,
																String.valueOf(fileRecordCnt), filePath});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKUB0610TE, new String[]{
																(String)itemvalueMap.get("TXT-KUIFE056-INF1.MACAD"),
																strValue,
																String.valueOf(fileRecordCnt), filePath});
				return false;
			}
		}
		
		

		return true;
	}
	
	
	/**
	 * 項目チェックで使用するitemvalueMapを生成します。
	 * HashMap<String,String> 項目名が格納されたHashMap。
	 * @return messageMap 埋め込み文字の値。
	 */	
	private HashMap<String, String> createMessageMap()
	{
		messageMap.put("TXT-KUIFE056-INF1.TAKNKIKI_MODEL_CD", "宅内機器情報抽出受信.宅内機器形式コード");
		
		messageMap.put("TXT-KUIFE056-INF1.KIKI_SEIZO_NO", "宅内機器情報抽出受信.機器製造番号");
		
		messageMap.put("TXT-KUIFE056-INF1.STB_ID", "宅内機器情報抽出受信.ＳＴＢ−ＩＤ");
		
		messageMap.put("TXT-KUIFE056-INF1.MACAD", "宅内機器情報抽出受信.ＭＡＣアドレス");
		
		return messageMap;
	
	}
	
	
	/**▲▲▲▲▲▲業務が作成したメソッドです 終了▲▲▲▲▲▲*/
}
