/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCNCrdtNextMonOutput
*	ソースファイル名	：JBSbatCNCrdtNextMonOutput.java
*	作成者				：富士通　
*	作成日				：2011年08月02日
*＜機能概要＞
*　クレジット情報翌月データ出力処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/02   富士通		新規作成
*	v28.00.00	2016/10/11   FJ)塩津	【ANK-3032-00-00】 AXM再構築対応
*	v28.00.01	2016/11/02   FJ)塩津	【IT1-2016-0000154】クレジット情報過去データ削除処理でシステムエラー対応
*   v28.00.02	2016/11/22   FJ)清原	【ANK-3032-01-00】CNIFE008_CCMG有効性チェック結果送信のファイルレイアウト変更
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCNBatCommon;
import eo.common.constant.JCNStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.util.JBSbatBusinessFileUtil;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatCNCrdtNextMonOutput extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(処理日付情報)*/
	private static final String D_TBL_NAME_CN_T_TRAN_YMD_INFO = "CN_T_TRAN_YMD_INFO";

	/** テーブル(コンテンツ事業クレジットカード)*/
	private static final String D_TBL_NAME_CN_T_CONTJIGYO_CRECA = "CN_T_CONTJIGYO_CRECA";

	//v28.00.02 ANK-3032-01-00 Add Start
	/** テーブル(実行制御ＨＵＬＦＴ用)*/
	private static final String D_TBL_NAME_CN_T_RUN_CTRL_HULFT = "CN_T_RUN_CTRL_HULFT";
	//v28.00.02 ANK-3032-01-00 Add End

	/** SQL定義キー(CN_SELECT_002)*/
	private static final String CN_T_TRAN_YMD_INFO_CN_SELECT_002 = "CN_SELECT_002";

	//IT1-2016-0000154 MOD START
	/** SQL定義キー(CN_SELECT_002)*/
//	private static final String CN_T_CONTJIGYO_CRECA_CN_SELECT_002 = "CN_SELECT_002";

	/** SQL定義キー(CN_SELECT_008)*/
	private static final String CN_T_CONTJIGYO_CRECA_CN_SELECT_008 = "CN_SELECT_008";
	//IT1-2016-0000154 MOD END

	//v28.00.02 ANK-3032-01-00 Add Start
	/** SQL定義キー(CN_SELECT_001)*/
	private static final String CN_T_RUN_CTRL_HULFT_CN_SELECT_001 = "CN_SELECT_001";
	//v28.00.02 ANK-3032-01-00 Add End
	
	/** テーブルアクセスクラス(処理日付情報)*/
	private JBSbatSQLAccess db_CN_T_TRAN_YMD_INFO = null;

	/** テーブルアクセスクラス(コンテンツ事業クレジットカード)*/
	private JBSbatSQLAccess db_CN_T_CONTJIGYO_CRECA = null;
	
	//v28.00.02 ANK-3032-01-00 Add Start
	/** テーブルアクセスクラス(実行制御ＨＵＬＦＴ用)*/
	private JBSbatSQLAccess db_CN_T_RUN_CTRL_HULFT = null;
	//v28.00.02 ANK-3032-01-00 Add End
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** メッセージキー*/
	private static final String ECNB0230KE = JPCBatchMessageConstant.ECNB0230KE;
	
	/** メッセージキー(ECNB0090AI)*/
	private static final String ECNB0090AI = JPCBatchMessageConstant.ECNB0090AI;
	
	/** ファイル名(クレジット翌月データファイル)*/
	private static final String S_CRE_NGFILE_NM = "クレジット翌月データファイル";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		// パラメータ取得
		String strFreeParam = commonItem.getFreeItem();
		// パラメータを区切り文字で分割する
		String[] lines = strFreeParam.split(JCNStrConst.S_PARAM_DELIM);
		// パラメータチェック
		// ANK-3032-00-00 MOD START
//		if(lines.length != 3)
		if(lines.length != 1)
		// ANK-3032-00-00 MOD END
		{
			throw new JBSbatBusinessException(ECNB0230KE);
		}
		
		// DBアクセスクラスを生成します
		db_CN_T_TRAN_YMD_INFO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_TRAN_YMD_INFO);
		db_CN_T_CONTJIGYO_CRECA = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_CONTJIGYO_CRECA);
		
		//v28.00.02 ANK-3032-01-00 Add Start
		db_CN_T_RUN_CTRL_HULFT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_RUN_CTRL_HULFT);
		//v28.00.02 ANK-3032-01-00 Add End
		
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		// パラメータ取得
		String strFreeParam = commonItem.getFreeItem();		// クレジット翌月データファイル
		
		// ANK3032-00-00 DEL START
//		// パラメータを区切り文字で分割する
//		String[] lines = strFreeParam.split(JCNStrConst.S_PARAM_DELIM);
//
//		String strFreeParam1 = lines[0];	// クレジット翌月データファイル
//		String strFreeParam2 = lines[1];	// クレジット翌月件数ファイル
//		String strFreeParam3 = lines[2];	// FTPフラグファイル
		// ANK3032-00-00 DEL END

		// 処理日付情報を取得
		JBSbatCommonDBInterface dbList1 = new JBSbatCommonDBInterface();
		dbList1. setValue(JCNStrConst.S_BAT_TRAN_CD_CINT_UPD);
		executeCN_T_TRAN_YMD_INFO_CN_SELECT_002(dbList1.getList().toArray());

		// SQL実行結果を取得
		JBSbatCommonDBInterface map = new JBSbatCommonDBInterface(); 
		String strTran_tg_ymd_next = "";
		// ANK-3032-00-00 ADD START
		// 処理対象年月日
		String strTran_tg_ymd = "";
		// ANK-3032-00-00 ADD END
		for(map = db_CN_T_TRAN_YMD_INFO.selectNext(); null != map; map = db_CN_T_TRAN_YMD_INFO.selectNext())
		{
			strTran_tg_ymd_next = map.getString("TRAN_TG_YMD_NEXTM");
			// ANK-3032-00-00 ADD START
			strTran_tg_ymd = map.getString("TRAN_TG_YMD");		// 処理対象年月日を設定
			// ANK-3032-00-00 ADD END
		}
		
		// ANK-3032-00-00 MOD START
//		String strTranTgYm = strTran_tg_ymd_next.substring(0, 6);
		String strTranTgYmNextM = strTran_tg_ymd_next.substring(0, 6);	// 処理対象年月日の翌月を設定
		// ANK-3032-00-00 MOD END
		// ANK-3032-00-00 ADD START
		String strTranTgYm = strTran_tg_ymd.substring(0, 6);	// 処理対象年月日の当月を設定
		// ANK-3032-00-00 ADD END
		ArrayList<String> strRecList = new ArrayList<String>();	// ファイル出力レコード格納用
		
		
		//v28.00.02 ANK-3032-01-00 Add Start
		//HULFT実行制御からファイル通番を取得
		String strFileSeq = getTranZumiFileSeq();
		
		//ヘッダーレコード作成
		createHeadReq(strFileSeq, strRecList);
		//v28.00.02 ANK-3032-01-00 Add End
		
		// コンテンツ事業クレジットカード取得
		JBSbatCommonDBInterface dbList2 = new JBSbatCommonDBInterface();
		
		// ANK-3032-00-00 ADD START
		dbList2. setValue(strTranTgYmNextM);
		// ANK-3032-00-00 ADD END
		dbList2. setValue(strTranTgYm);
		
		//IT1-2016-0000154 MOD START
//		executeCN_T_CONTJIGYO_CRECA_CN_SELECT_002(dbList2.getList().toArray());
		executeCN_T_CONTJIGYO_CRECA_CN_SELECT_008(dbList2.getList().toArray());
		//IT1-2016-0000154 MOD END
		
		// データレコード件数
		int i = 0;
		for(map = db_CN_T_CONTJIGYO_CRECA.selectNext(); null != map; i++)
		{
			// 取得項目変数生成
			String strSysId = map.getString("SYSID");					// SYSID
			String strCreCardId = map.getString("CRECARD_ID");			// クレジットカードID
			String strCargTrgtYm = map.getString("CHRG_TRGT_YM");		// 課金対象年月
			String strCreKokanCd = map.getString("CREDIT_KOKAN_CD");	// クレジット交換コード
			String strCreNo = map.getString("CRECARD_NO");				// クレジットカード番号
			// クレジットカード番号復号化
			strCreNo = JCNBatCommon.getDecryptResult(commonItem, strCreNo);
			String strCustNm = map.getString("CUST_NM_ROMAJI");			// お客さま名（ローマ字）
			if("".equals(strCustNm))
			{
				strCustNm = JCNBatCommon.adjustCharSize(" ", 1, JCNStrConst.SJIS);
			}
			else if("".equals(strCustNm.trim()))
			{
				strCustNm = JCNBatCommon.adjustCharSize(" ", 1, JCNStrConst.SJIS);
			}
			String strYukuKegn = map.getString("CRECARD_YK_KIGEN");		// 有効期限
			String strAuthDtm = map.getString("AUTHORI_CFM_DTM");		// オーソリ確認年月日時分秒
			String strAuthStats = map.getString("AUTHORI_RSLT_DIV");	// オーソリ結果区分
			String strAuthNo = map.getString("AUTHORI_SHONIN_NO");		// オーソリ承認番号
			String strYkYokuYmd = map.getString("YK_YOKYU_YMD");		// 有効性要求日
			String strYkKkninYmd = map.getString("YK_CFM_YMD");			// 有効性確認日
			String strYkResult = map.getString("YK_CFM_RSLT_DIV");		// 有効性確認結果区分
			String strSimCoCd = map.getString("SHIKOSAKI_COMP_CD");		// 仕向先会社コード
			String strFlmt = map.getString("FLRLMT_CHK_ZUMI_AMNT");		// フロアリミット初回金額
			String strMkFlg = map.getString("MK_FLG");					// 無効フラグ
			
			// クレジット翌月データファイル1レコード分を格納
			//v28.00.02 ANK-3032-01-00 Mod Start
//			String[] strData = new String[16];
//			
//			strData[0] = strSysId;
//			strData[1] = strCreCardId;
//			strData[2] = strCargTrgtYm;
//			strData[3] = strCreKokanCd;
//			strData[4] = strCreNo;
//			strData[5] = strCustNm;
//			strData[6] = strYukuKegn;
//			// オーソリ確認年月日時分秒がnullの場合はnullを設定し、null以外の場合は年月日を設定する。
//			if(strAuthDtm == null)
//			{
//				strData[7] = strAuthDtm;
//			}
//			else
//			{
//				strData[7] = strAuthDtm.substring(0, 8);
//			}
//			strData[8] = strAuthStats;
//			strData[9] = strAuthNo;
//			strData[10] = strYkYokuYmd;
//			strData[11] = strYkKkninYmd;
//			strData[12] = strYkResult;
//			strData[13] = strSimCoCd;
//			strData[14] = strFlmt;
//			strData[15] = strMkFlg;

			String[] strData = new String[17];
			
			strData[0] = JCNStrConst.S_CREYK_DATAKBN_DATA;
			strData[1] = strSysId;
			strData[2] = strCreCardId;
			strData[3] = strCargTrgtYm;
			strData[4] = strCreKokanCd;
			strData[5] = strCreNo;
			strData[6] = strCustNm;
			strData[7] = strYukuKegn;
			// オーソリ確認年月日時分秒がnullの場合はnullを設定し、null以外の場合は年月日を設定する。
			if(strAuthDtm == null)
			{
				strData[8] = strAuthDtm;
			}
			else
			{
				strData[8] = strAuthDtm.substring(0, 8);
			}
			strData[9] = strAuthStats;
			strData[10] = strAuthNo;
			strData[11] = strYkYokuYmd;
			strData[12] = strYkKkninYmd;
			strData[13] = strYkResult;
			strData[14] = strSimCoCd;
			strData[15] = strFlmt;
			strData[16] = strMkFlg;
			//v28.00.02 ANK-3032-01-00 Mod End
			
			map = db_CN_T_CONTJIGYO_CRECA.selectNext();
			
			//次レコードの読込
			//v28.00.02 ANK-3032-01-00 Mod Start
//			if(map != null)
//			{
//				strRecList.add(createCSV(strData, false) + JCNStrConst.S_LINE_SEPARAOR_LF);
//			}
//			else
//			{
//				strRecList.add(createCSV(strData, false));
//			}
			strRecList.add(createCSV(strData, false) + JCNStrConst.S_LINE_SEPARAOR_LF);
			//v28.00.02 ANK-3032-01-00 Mod End

			
		}
		//v28.00.02 ANK-3032-01-00 Add Start
		// トレーラレコード作成
		createTrailReq(i, strRecList);
		//v28.00.02 ANK-3032-01-00 Add End
		
		// クレジット翌月データファイル出力
		JBSbatBusinessFileUtil obj1 = JCNBatCommon.createBusinessFileUtil(strFreeParam, JCNStrConst.SJIS, JCNStrConst.S_LINE_SEPARAOR_LF, "");
		JCNBatCommon.printBusinessFileUtil(obj1, strRecList);
		JCNBatCommon.closeBusinessFileUtil(obj1);
		
		// ANK-3032-00-00 DEL START
		// クレジット翌月件数ファイル出力
//		String strRecCnt = createCSV(new String[] {JCNBatCommon.strZeroPad(String.valueOf(strRecList.size()), 10)}, false);
//		JBSbatBusinessFileUtil obj2 = JCNBatCommon.createBusinessFileUtil(strFreeParam2, JCNStrConst.SJIS, JCNStrConst.S_LINE_SEPARAOR_LF, "");
//		JCNBatCommon.printBusinessFileUtil(obj2, strRecCnt);
//		JCNBatCommon.closeBusinessFileUtil(obj2);
		
		// FTPフラグファイル出力
//		JBSbatBusinessFileUtil obj3 = JCNBatCommon.createBusinessFileUtil(strFreeParam3, JCNStrConst.SJIS, JCNStrConst.S_LINE_SEPARAOR_LF, "");
//		JCNBatCommon.closeBusinessFileUtil(obj3);
		// ANK-3032-00-00 DEL END
		
		super.logPrint.printBusinessErrorLog(ECNB0090AI, new String[] {S_CRE_NGFILE_NM, String.valueOf(strRecList.size())});
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CN_T_TRAN_YMD_INFO.close();
		db_CN_T_CONTJIGYO_CRECA.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 * SQLKEY(CN_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 executeCN_T_TRAN_YMD_INFO_CN_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CN_T_TRAN_YMD_INFO.selectBySqlDefine(paramList, CN_T_TRAN_YMD_INFO_CN_SELECT_002);
		
	}

	/**
	 * SQLKEY(CN_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	課金対象年月
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	//IT1-2016-0000154 MOD START
//	private void executeCN_T_CONTJIGYO_CRECA_CN_SELECT_002(Object[] param) throws Exception
	private void executeCN_T_CONTJIGYO_CRECA_CN_SELECT_008(Object[] param) throws Exception
	//IT1-2016-0000154 MOD END
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		// ANK-3032-00-00 ADD START
		paramList.setValue(param[1].toString());
		// ANK-3032-00-00 ADD END

		// DBアクセスを実行します
		//IT1-2016-0000154 MOD START
//		db_CN_T_CONTJIGYO_CRECA.selectBySqlDefine(paramList, CN_T_CONTJIGYO_CRECA_CN_SELECT_002);
		db_CN_T_CONTJIGYO_CRECA.selectBySqlDefine(paramList, CN_T_CONTJIGYO_CRECA_CN_SELECT_008);
		//IT1-2016-0000154 MOD END
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

//v28.00.02 ANK-3032-01-00 Add Start

	/**
	 * SQLKEY(CN_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 executeCN_T_RUN_CTRL_HULFT_CN_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CN_T_RUN_CTRL_HULFT.selectBySqlDefine(paramList, CN_T_RUN_CTRL_HULFT_CN_SELECT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
//v28.00.02 ANK-3032-01-00 Add End
	

	/**
	 * CSV形式に文字列編集を行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で連結文字列、""括り有無を設定します。<br>
	 *
	 * 2.引数を元に文字列を連結します。
	 *   連結文字列最後尾には改行コードを設定します。<br>
	 *   返却文字列内のnullは""へ置換します。
	 * </pre>
	 * <p>
	 * @param strData       出力対象データ。
	 * @param bDqFlg        ""括りあり(true),括りなし(false)。
	 * @return strRec       文字列連結結果を返却します。
	 * @throws Exception    業務サービス内で発生した例外全般。
	 */
	public static String createCSV(String[] strData, boolean bDqFlg) throws Exception
	{

		StringBuffer sBufRec = new StringBuffer();

		for (int i = 0; i < strData.length; i++)
		{
			if(!bDqFlg)
			{
				sBufRec.append(strData[i]);
			}
			else
			{
				sBufRec.append(JCNStrConst.S_SEP_DQ);
				sBufRec.append(strData[i]);
				sBufRec.append(JCNStrConst.S_SEP_DQ);
			}
				
			if(i < strData.length - 1)
			{
					sBufRec.append(JCNStrConst.S_SEP_CAM);
			}
		}
		
		return sBufRec.toString().replace(JCNStrConst.S_IS_NULL, "");
	}
	
	//v28.00.02 ANK-3032-01-00 Add Start
	/**
	 * 処理ファイル通番取得
	 * @return strFileSeq 処理ファイル通番
	 * @throws Exception
	 */
	private String getTranZumiFileSeq() throws Exception
	{
		// HULFT実行制御を取得
		JBSbatCommonDBInterface dbList = new JBSbatCommonDBInterface();
		dbList. setValue(JCNStrConst.S_CONT_NEXT_MONTH_TRAN_FILE_ID);
		executeCN_T_RUN_CTRL_HULFT_CN_SELECT_001(dbList.getList().toArray());
		
		String strFileSeq = db_CN_T_RUN_CTRL_HULFT.selectNext().getString("TRAN_ZUMI_FILE_SEQ");
		
		int lFileSeq = Integer.valueOf(strFileSeq) + 1;
		
		if(JCNStrConst.S_HULFT_C_FIR_NO_MAX + 1 == lFileSeq)
		{
			lFileSeq = JCNStrConst.S_HULFT_C_FIR_NO_MIN;
		}
		
		strFileSeq = JCNBatCommon.strZeroPad(String.valueOf(lFileSeq), 5);
		
		return strFileSeq;
	}
	
	/**
	 * ヘッダーレコード作成
	 * @param strFileSeq ファイル通番
	 * @param strRecList レコードリスト
	 * @throws Exception
	 */
	private void createHeadReq(String strFileSeq, ArrayList<String> strRecList) throws Exception
	{
		// ヘッダーレコード作成
		String[] strData1 = new String[3];
		strData1[0] = JCNStrConst.S_CREYK_DATAKBN_HEAD;
		strData1[1] = JCNBatCommon.getSysDateTime();
		strData1[2] = strFileSeq;
		strRecList.add(createCSV(strData1, false) + JCNStrConst.S_LINE_SEPARAOR_LF);
		
		return;
	}
	
	
	/**
	 * トレーラレコード作成
	 * @param dataCnt データレコード件数
	 * @param strRecList レコードリスト
	 * @throws Exception
	 */
	private void createTrailReq(int dataCnt, ArrayList<String> strRecList) throws Exception
	{
		//トレーラレコード作成
		String[] strData3 = new String[2];
		strData3[0] = JCNStrConst.S_CREYK_DATAKBN_TRAL;
		strData3[1] = JCNBatCommon.strZeroPad(String.valueOf(dataCnt), 9);
		strRecList.add(createCSV(strData3, false));
		return;
	}
	//v28.00.02 ANK-3032-01-00 Add End
}
