/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKPayChgAddFinTgCst
*	ソースファイル名	：JBSbatKKPayChgAddFinTgCst.java
*	作成者				：富士通　
*	作成日				：2018年12月13日
*＜機能概要＞
*　支払変更登録完了対象抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v40.00.00	2018/12/13	FJ)原田		【ANK-3511-00-00】支払登録完了のお知らせの自動送信対応	新規作成
*	v40.00.01	2019/01/21	FJ)原田		【ANK-3511-01-00】支払登録完了のお知らせの自動送信対応	ディレイド処理依頼更新追加
*	v41.00.00	2019/02/28	FJ)原田		【OM-2019-0000225】障害対応
*	v71.00.00	2024/04/25	FJ)丸田		【ANK-4555-00-00】マンションオーナーへの支払変更登録通知除外対応
*********************************************************************/
package eo.business.service;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JCCbatDenshiFileUtil;
import eo.business.common.JKKBatCommon;
import eo.business.common.JKKBatConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatInputFileUtil;
import eo.framework.util.JBSbatBusinessFileUtil;
import eo.common.constant.JKKStrConst;
import eo.common.util.JPCUtilCommon;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKPayChgAddFinTgCst extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(進捗)*/
	private static final String D_TBL_NAME_KK_T_PRG = "KK_T_PRG";

	/** テーブル(ダウンロードファイル管理)*/
	private static final String D_TBL_NAME_ZM_T_DL_FILE_KANRI = "ZM_T_DL_FILE_KANRI";

	/** テーブル(電子ファイル管理)*/
	private static final String D_TBL_NAME_CC_T_EFILE_KANRI = "CC_T_EFILE_KANRI";
	
// ANK-3511-01-00 ADD START
	/** テーブル(ディレイド処理依頼)*/
	private static final String D_TBL_NAME_CC_T_DLYD_TRN_REQ = "CC_T_DLYD_TRN_REQ";
// ANK-3511-01-00 ADD END

	/** SQL定義キー(KK_SELECT_044)*/
	private static final String KK_T_PRG_KK_SELECT_044 = "KK_SELECT_044";

// ANK-3511-01-00 ADD START
	/** SQL定義キー(KK_INSERT_002)*/
	private static final String DL_FILE_KANRI_INSERT_002 = "KK_INSERT_002";
//ANK-3511-01-00 ADD END

	/** テーブルアクセスクラス(進捗)*/
	private JBSbatSQLAccess db_KK_T_PRG = null;

	/** テーブルアクセスクラス(ダウンロードファイル管理)*/
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;

	/** テーブルアクセスクラス(電子ファイル管理)*/
	private JBSbatSQLAccess db_CC_T_EFILE_KANRI = null;
	
// ANK-3511-01-00 ADD START
	/** テーブルアクセスクラス(ディレイド処理依頼)*/
	private JBSbatSQLAccess db_CC_T_DLYD_TRN_REQ = null;
	
	private static final String DLYD_TRN_REQ_STAT = "001";
	
	private static final String DLYD_TRN_JSSI_UNYO_DTM = "00000000000000000";
	
	private static final String REQ_JOB_ID = "EO2HA0210J0";
	
	private static final String SYS_CD = "KK";
	
	private static final String DLYD_TRN_REQ_SBT_CD = "00000";
// ANK-3511-01-00 ADD END
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 前回処理情報ファイル */
	private JBSbatBusinessFileUtil znkiTrnInfo = null;
	
	/** 支払変更登録完了対象ファイル */
	private JBSbatBusinessFileUtil payChgAddFinTgCst = null;
	
	/** 前回処理進捗番号 */
	String znkiTrnPrgNo = null;
	
	/** CSVファイルパス*/
	private String csvFilePath = null;
	
	/** 前回処理情報ファイル名 */
	private String znkiTrnInfoName = null;
	
	/** 支払変更登録完了対象ファイル名 */
	private String payChgAddFinTgCstName = null;
	
	/** 前回処理情報ファイルオブジェクト */
	private JBSbatInputFileUtil znkiTrnInfoObj;
	
	/** フリー項目 */
	private String[] freeItems = null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_PRG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_PRG);
		db_ZM_T_DL_FILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_DL_FILE_KANRI);
		db_CC_T_EFILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_EFILE_KANRI);
// ANK-3511-01-00 ADD START
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
// ANK-3511-01-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
		
		// FREEITEMの取得
		this.freeItems = super.freeItem.split(JKKStrConst.SEMI_COLON);
		
		// CSVファイルパスを設定
		this.csvFilePath = this.freeItems[0];
		
		// 前回処理情報ファイル名を設定
		this.znkiTrnInfoName = this.freeItems[1];
		
		// 支払変更登録完了対象ファイル名を設定
		this.payChgAddFinTgCstName = this.freeItems[2];
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		try
		{
			// 入力ファイルより、前回処理情報の最大の進捗番号を取得
			convCsvFiletoList();
			
			// 支払変更登録完了対象を抽出する
			ArrayList<String> payChgAddFinTgCstList = payChgAddFinTgCst();
			
			// 支払変更登録完了対象ファイルの作成
			outputPayChgAddFinTgCstFile(payChgAddFinTgCstList);
			
			// 支払変更登録完了対象が取得できている場合、前回処理情報ファイルを作成
			if (!payChgAddFinTgCstList.isEmpty())
			{
				outputZnkiTrnInfoFile();
			}
		}
		catch (IOException e)
		{
			// ファイルクローズ
			if (this.znkiTrnInfo != null)
			{
				this.znkiTrnInfo.close();
			}
			if (this.payChgAddFinTgCst != null)
			{
				this.payChgAddFinTgCst.close();
			}
		}
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_PRG.close();
		db_ZM_T_DL_FILE_KANRI.close();
		db_CC_T_EFILE_KANRI.close();
// ANK-3511-01-00 ADD START
		db_CC_T_DLYD_TRN_REQ.close();
// ANK-3511-01-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 前回処理情報ファイルから、進捗番号を取得する。
	 * @param commonItem バッチ共通パラメータ電文
	 * @param fileName ファイル名(パスを含む)
	 * @return ArrayList ファイル内データを格納したリスト
	 * @throws Exception 例外
	 */
	private void convCsvFiletoList() throws Exception
	{
		// CSV指定ファイルパスチェック
		if(null == this.znkiTrnInfoName || ("").equals(this.znkiTrnInfoName))
		{
			// エラーの場合空文字を返す。
			throw new JBSbatBusinessException("EKKB0130CE", new String[]{"読込ファイルパス未設定"});
		}
		
		try
		{
			// 読み込み用前回処理情報ファイルオブジェクトを生成する
			this.znkiTrnInfoObj = new JBSbatInputFileUtil(this.csvFilePath + "/" + this.znkiTrnInfoName);
			// エンコードをUTF-8に設定
			this.znkiTrnInfoObj.setEncode(JKKStrConst.ENCODE_UTF8);
			// Readerオブジェクトを生成する。
			this.znkiTrnInfoObj.createReader();

			if (this.znkiTrnInfoObj.ready()) 
			{
				// CSVファイル一行読込み
				this.znkiTrnPrgNo = this.znkiTrnInfoObj.readLine();
			}
		}
		catch (IOException e)
		{
			// 例外処理
			throw new JBSbatBusinessException("EKKB0100AE", new String[]{this.znkiTrnInfoName});
		} finally {
			// ファイルクローズ
			if (this.znkiTrnInfoObj != null)
			{
				this.znkiTrnInfoObj.close();
			}
		}
	}
	
	/**	
	 * 支払変更登録完了対象を抽出します。
	 * 	
	 * @param inMap 入力電文
	 * @return JBSbatCommonDBInterface DB取得結果	
	 * @throws Exception 業務サービス内で発生した例外全般。	
	 */	
	private ArrayList<String> payChgAddFinTgCst()  throws Exception {
		
		// ＤＢアクセス用のパラメータ定義
		JBSbatCommonDBInterface dbList = new JBSbatCommonDBInterface();
		
		// 対象キーの設定
		dbList.setValue(this.znkiTrnPrgNo);
// OM-2019-0000225 ADD START
		// 運用日付の1日前を設定
		String unyoYMD = JPCUtilCommon.addDay(super.opeDate.toString(), -1);
		unyoYMD = unyoYMD + "000000000";
		dbList.setValue(unyoYMD);
// OM-2019-0000225 ADD END
// ANK-4555-00-00 ADD START
		// バッチ運用日を設定
		dbList.setValue(super.opeDate);
// ANK-4555-00-00 ADD END
		// SQL文の呼び出し。
		executeKK_T_PRG_KK_SELECT_044((Object[])dbList.getList().toArray());
		
		// 抽出結果をListに格納し、返却
		return getPayChgAddFinTgList();
	}
	
	/**	
	 * 支払変更登録完了対象の抽出結果をListに格納します。
	 * 	
	 * @return payChgAddFinTgList DB取得結果のList	
	 * @throws Exception 業務サービス内で発生した例外全般。	
	 */	
	private ArrayList<String> getPayChgAddFinTgList()  throws Exception 
	{
		// 取得結果格納用リスト定義
		ArrayList<String> payChgAddFinTgList = new ArrayList<String>();
		
		// 取得結果をMapに格納
		JBSbatCommonDBInterface payChgAddFinTgMap = db_KK_T_PRG.selectNext();
		
		// 進捗番号比較用変数
		String cmpPrgNo = null;
		
		// 進捗番号の最大値、請求契約番号を取得
		while(payChgAddFinTgMap != null)
		{
			payChgAddFinTgList.add(payChgAddFinTgMap.getString("SEIKY_KEI_NO"));
			
			cmpPrgNo = payChgAddFinTgMap.getString("PRG_NO");
			if(this.znkiTrnPrgNo.compareTo(cmpPrgNo) < 0)
			{
				this.znkiTrnPrgNo = cmpPrgNo;
			}
			payChgAddFinTgMap = db_KK_T_PRG.selectNext();
		}
		
		return payChgAddFinTgList;
	}

	/**	
	 * 支払変更登録完了対象ファイルを作成し、電子ファイル管理、ダウンロードファイル管理に登録します。
	 * 	
	 * @return payChgAddFinTgList DB取得結果のList	
	 * @throws Exception 業務サービス内で発生した例外全般。	
	 */	
	private void outputPayChgAddFinTgCstFile(ArrayList<String> payChgAddFinTgCstList)  throws Exception 
	{
		// 支払変更登録完了対象ファイルインスタンス生成
		this.payChgAddFinTgCst = JCCBatCommon.createBusinessFileUtil(this.csvFilePath + "/" + this.payChgAddFinTgCstName,
				JKKStrConst.ENCODE_SJIS, JKKStrConst.LINE_SEPARATOR, JKKStrConst.LINE_SEPARATOR);

		// 支払変更登録完了対象ファイル(ヘッダ部)の作成
		outputPayChgAddFinTgCstFileHeader();
		
		// 出力リストを生成
		ArrayList<String> outList = new ArrayList<String>();
		
		// 出力内容の設定
		outList = payChgAddFinTgCstList;
		
		// 支払変更登録完了対象を抽出できた場合、ボディ部を作成する
		if (!outList.isEmpty())
		{
			// 可変長のファイルの作成
			JKKBatCommon.printDoubleQuoteBusinessFileUtil(this.payChgAddFinTgCst, outList);
		}
		
		// ファイルクローズ
		if (this.payChgAddFinTgCst != null)
		{
			this.payChgAddFinTgCst.close();
		}
		
		// 支払変更登録完了対象ファイル保持期間を運用日から３ヶ月間に設定する
		String delYmd = null;

		delYmd = JPCUtilCommon.addMonth(super.opeDate, 3);
		
// ANK-3511-01-00 MOD START
//		// 支払変更登録完了対象ファイル登録処理
//		JKKBatCommon.createFile(commonItem,
//								JKKStrConst.PAY_CHG_ADD_FIN_TG_CST_RSLT,
//								new Long(outList.size()),
//								null,
//								this.csvFilePath,
//								this.payChgAddFinTgCstName,
//								delYmd,
//								db_ZM_T_DL_FILE_KANRI,
//								false);
		
		String[] retDenshiFile = null;
		String fullFileName = this.csvFilePath + "/" + this.payChgAddFinTgCstName;
		
		try
		{

			// 電子ファイル管理情報の登録
			retDenshiFile = JCCbatDenshiFileUtil.createDenshiFile(commonItem, null, fullFileName, delYmd);
		}
		catch (Exception ex)
		{
			commonItem.getConnection().rollback();
			throw ex;
		}
		
		// ディレイド処理依頼番号を採番する。
		String seqDlydTrnReqNo = JCCBatCommon.getFormatedNextSeq(commonItem, "SEQ_DLYD_TRN_REQ_NO", "D", 14);
		
		try
		{
			// ディレイド処理依頼登録処理
			String[] paramValue = this.createCcTDlydTrnReq(seqDlydTrnReqNo, retDenshiFile);
			this.executeCC_T_DLYD_TRN_REQ_PKINSERT(paramValue);
		}
		catch (Exception ex)
		{
			commonItem.getConnection().rollback();
			throw ex;
		}
		
		// ダウンロードファイル管理登録処理
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		
		// 処理管理番号
		paramList.setValue(JKKStrConst.PAY_CHG_ADD_FIN_TG_CST_RSLT);
		// ファイル名
		paramList.setValue(this.payChgAddFinTgCstName);
		// データ件数
		paramList.setValue(new Long(outList.size()));
		// 電子ファイル管理番号
		paramList.setValue(retDenshiFile[0]);
		// 世代登録年月日時分秒
		paramList.setValue(retDenshiFile[1]);
		
		try{
			// ダウンロードファイル管理登録
			createDlFileKanri(paramList, db_ZM_T_DL_FILE_KANRI);
		}
		catch(Exception ex)
		{
			commonItem.getConnection().rollback();
			throw ex;
		}
		
		// 電子ファイル管理に登録したファイルを削除する
		File file = new File(fullFileName);
		if (file.exists())
		{
			file.delete();
		}
		
// ANK-3511-01-00 MOD END
	}

	/**	
	 * 支払変更登録完了対象ファイル(ヘッダ部)を作成します。
	 * 	
	 * @return payChgAddFinTgList DB取得結果のList	
	 * @throws Exception 業務サービス内で発生した例外全般。	
	 */	
	private void outputPayChgAddFinTgCstFileHeader()  throws Exception 
	{
		// 出力リストを生成
		ArrayList<String> outList = new ArrayList<String>();
		
		// 出力内容の設定
		outList.add("\"請求契約番号\"");
		
		// ファイルの作成
		JKKBatCommon.printBusinessFileUtil(payChgAddFinTgCst, outList);
	}

	/**	
	 * 前回処理情報ファイルを作成します。
	 * 	
	 * @return payChgAddFinTgList DB取得結果のList
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */	
	private void outputZnkiTrnInfoFile()  throws Exception 
	{
		// 前回処理情報ファイルインスタンス生成
		this.znkiTrnInfo = JCCBatCommon.createBusinessFileUtil(this.csvFilePath + "/" + this.znkiTrnInfoName,
				JKKStrConst.ENCODE_UTF8, JKKStrConst.LINE_CODE_LF, JKKBatConst.S_SEP_CAM);
		
		// 出力データの生成
		String outData = null;
		
		// 出力内容を設定
		outData = this.znkiTrnPrgNo;
		
		// 固定長のファイルの作成
		JKKBatCommon.printBusinessFileUtil(this.znkiTrnInfo, outData);
		
		// ファイルクローズ
		if (this.znkiTrnInfo != null)
		{
			this.znkiTrnInfo.close();
		}
	}
	
// ANK-3511-01-00 ADD START
	/**
	 * ディレイド処理依頼情報登録文字配列を作成します。<br>
	 * <br>
	 * @param seqDlydTrnReqNo ディレイド処理依頼番号
	 * @param retDenshiFile 電子ファイル管理情報
	 * @return 登録用文字配列
	 */
	private String[] createCcTDlydTrnReq(String seqDlydTrnReqNo, String[] retDenshiFile)
	{
		String[] strParam = new String[24];

		// ディレイド処理依頼番号
		strParam[0] = seqDlydTrnReqNo;

		// ディレイド処理依頼ステータス
		strParam[1] = DLYD_TRN_REQ_STAT;

		// ディレイド処理実施運用年月日時分秒
		strParam[2] = DLYD_TRN_JSSI_UNYO_DTM;

		// 入力電子ファイル世代登録年月日時分秒
		strParam[3] = retDenshiFile[1];

		// 入力電子ファイル管理番号
		strParam[4] = retDenshiFile[0];

		// 依頼ジョブID
		strParam[5] = REQ_JOB_ID;

		// システムコード
		strParam[6] = SYS_CD;

		// ディレイド処理依頼種別コード
		strParam[7] = DLYD_TRN_REQ_SBT_CD;

		// ディレイド処理結果コード
		strParam[8] = null;

		// エラー電子ファイル管理番号
		strParam[9] = null;

		// エラー電子ファイル世代登録年月日時分秒
		strParam[10] = null;
		
		return strParam;
	}
// ANK-3511-01-00 ADD END
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_044)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	進捗番号
	 *		 	進捗年月日時分秒
	 *			予約適用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_PRG_KK_SELECT_044(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
// ANK-4555-00-00 ADD START
		paramList.setValue(param[2].toString());
// ANK-4555-00-00 ADD END

		// DBアクセスを実行します
		db_KK_T_PRG.selectBySqlDefine(paramList, KK_T_PRG_KK_SELECT_044);
	}

// ANK-3511-01-00 ADD START
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ディレイド処理依頼番号				DLYD_TRN_REQ_NO
	 *		 	ディレイド処理依頼ステータス				DLYD_TRN_REQ_STAT
	 *		 	ディレイド処理実施運用年月日時分秒				DLYD_TRN_JSSI_UNYO_DTM
	 *		 	入力電子ファイル世代登録年月日時分秒				INPUT_EFILE_GENE_ADD_DTM
	 *		 	入力電子ファイル管理番号				INPUT_EFILE_KANRI_NO
	 *		 	依頼ジョブＩＤ				REQ_JOB_ID
	 *		 	システムコード				SYS_CD
	 *		 	ディレイド処理依頼種別コード				DLYD_TRN_REQ_SBT_CD
	 *		 	ディレイド処理結果コード				DLYD_TRN_RSLT_CD
	 *		 	エラー電子ファイル管理番号				ERR_EFILE_KANRI_NO
	 *		 	エラー電子ファイル世代登録年月日時分秒				ERR_EFILE_GENE_ADD_DTM
	 *		 	登録年月日時分秒				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 executeCC_T_DLYD_TRN_REQ_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("DLYD_TRN_REQ_NO", setParam[0]);
		setMap.setValue("DLYD_TRN_REQ_STAT", setParam[1]);
		setMap.setValue("DLYD_TRN_JSSI_UNYO_DTM", setParam[2]);
		setMap.setValue("INPUT_EFILE_GENE_ADD_DTM", setParam[3]);
		setMap.setValue("INPUT_EFILE_KANRI_NO", setParam[4]);
		setMap.setValue("REQ_JOB_ID", setParam[5]);
		setMap.setValue("SYS_CD", setParam[6]);
		setMap.setValue("DLYD_TRN_REQ_SBT_CD", setParam[7]);
		setMap.setValue("DLYD_TRN_RSLT_CD", setParam[8]);
		setMap.setValue("ERR_EFILE_KANRI_NO", setParam[9]);
		setMap.setValue("ERR_EFILE_GENE_ADD_DTM", setParam[10]);
		setMap.setValue("ADD_DTM", setParam[11]);
		setMap.setValue("ADD_OPEACNT", setParam[12]);
		setMap.setValue("UPD_DTM", setParam[13]);
		setMap.setValue("UPD_OPEACNT", setParam[14]);
		setMap.setValue("DEL_DTM", setParam[15]);
		setMap.setValue("DEL_OPEACNT", setParam[16]);
		setMap.setValue("MK_FLG", setParam[17]);
		setMap.setValue("ADD_UNYO_YMD", setParam[18]);
		setMap.setValue("ADD_TRN_ID", setParam[19]);
		setMap.setValue("UPD_UNYO_YMD", setParam[20]);
		setMap.setValue("UPD_TRN_ID", setParam[21]);
		setMap.setValue("DEL_UNYO_YMD", setParam[22]);
		setMap.setValue("DEL_TRN_ID", setParam[23]);
	
		// DBアクセスを実行します
		db_CC_T_DLYD_TRN_REQ.insertByPrimaryKeys(setMap);
	}

	/**
	 * ファイル登録処理<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 *
	 * 1.DBアクセスを実行します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param paramList    SQLパラメータリスト
	 * @param dbDlFileKanri    テーブルアクセスクラス
	 * @throws Exception      業務サービス内で発生した例外全般。
	 */
	private static void createDlFileKanri(JBSbatCommonDBInterface paramList, JBSbatSQLAccess dbDlFileKanri) throws Exception
	{
	
		// DBアクセスを実行します
		dbDlFileKanri.executeBySqlDefine(paramList, DL_FILE_KANRI_INSERT_002);
	}
// ANK-3511-01-00 ADD END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
