/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatFUWebDataShukFileActOut
*	ソースファイル名	：JBSbatFUWebDataShukFileActOut.java
*	作成者				：富士通
*	作成日				：2012年06月23日
*＜機能概要＞
*　ＷＥＢデータ集計結果ファイル（アクション）出力処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/06/23   富士通		新規作成
*	v4.00.00	2013/01/28   FJ)高川	ST3-2013-0000198対応
*	v4.01.00	2013/03/11	FJ) 八坂	IT1-2013-0000523 障害対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCbatDenshiFileUtil;
import eo.business.common.JFUBatCommon;
import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JPCDateUtil;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatBusinessFileUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatFUWebDataShukFileActOut extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(Ｗｅｂ申込受付実績)*/
	private static final String D_TBL_NAME_FU_T_WEB_MSKM_UK_JSK = "FU_T_WEB_MSKM_UK_JSK";

	/** テーブル(Ｗｅｂ申込集計結果)*/
	private static final String D_TBL_NAME_FU_T_WEBMK_SRLT = "FU_T_WEBMK_SRLT";

	/** テーブル(コード名称管理)*/
	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_KK_M_AGNT = "KK_M_AGNT";

	/** SQL定義キー(FU_SELECT_003)*/
	private static final String FU_T_WEB_MSKM_UK_JSK_FU_SELECT_003 = "FU_SELECT_003";

	/** SQL定義キー(FU_SELECT_002)*/
	private static final String FU_T_WEBMK_SRLT_FU_SELECT_002 = "FU_SELECT_002";

	/** SQL定義キー(FU_SELECT_001)*/
	private static final String ZM_M_CD_NM_KANRI_FU_SELECT_001 = "FU_SELECT_001";

	/** SQL定義キー(FU_SELECT_002)*/
	private static final String ZM_M_CD_NM_KANRI_FU_SELECT_002 = "FU_SELECT_002";

	/** SQL定義キー(FU_INSERT_001)*/
	private static final String ZM_T_DL_FILE_KANRI_FU_INSERT_001 = "FU_INSERT_001";

	/** SQL定義キー(FU_SELECT_001)*/
	private static final String ZM_T_DL_FILE_KANRI_FU_SELECT_001 = "FU_SELECT_001";

	/** SQL定義キー(FU_SELECT_001)*/
	private static final String KK_M_AGNT_FU_SELECT_001 = "FU_SELECT_001";

	/** テーブルアクセスクラス(Ｗｅｂ申込受付実績)*/
	private JBSbatSQLAccess db_FU_T_WEB_MSKM_UK_JSK = null;

	/** テーブルアクセスクラス(Ｗｅｂ申込集計結果)*/
	private JBSbatSQLAccess db_FU_T_WEBMK_SRLT = null;

	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;

	/** テーブルアクセスクラス(ダウンロードファイル管理)*/
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;

	/** テーブルアクセスクラス(代理店マスタ)*/
	private JBSbatSQLAccess db_KK_M_AGNT = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** メッセージキー*/
	private static final String EFUB0120AI = JPCBatchMessageConstant.EFUB0120AI;

	/** メッセージキー*/
	private static final String EFUB0170KE = JPCBatchMessageConstant.EFUB0170KE;

	// ST3-2013-0000198 Takagawa 2013/1/23 start
	/** 処理管理番号 */
	private static final String TRN_KANRI_NO = "000000000062";

	/** ファイルコード */
	private static final String S_FILE_CD = "FU01";
	// ST3-2013-0000198 Takagawa 2013/1/23 end

	/** タイムスタンプ置換用文字列*/
	private static final String FILE_NM_TIMESTAMP = "yyyymmddhhmmss";

	/** タイムスタンプ置換用文字列*/
	private static final String FILE_NM_DTM = "yyyymm";

	/** 出力ファイル名称*/
	private static final String OUT_FILE_NM = "ＷＥＢデータ集計結果ファイル（アクション）";

	/** 紹介キャンペーンコード*/
	private static final String INTRODUCTION_CP_CD = "introductionCP";

	/** 紹介キャンペーン名称*/
	private static final String INTRODUCTION_CP_NM = "紹介キャンペーン";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_FU_T_WEB_MSKM_UK_JSK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_FU_T_WEB_MSKM_UK_JSK);
		db_FU_T_WEBMK_SRLT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_FU_T_WEBMK_SRLT);
		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_KK_M_AGNT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_AGNT);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		int iCdNmCnt = 0;			// コード名称管理取得件数

		// システム日付取得
		String strSysDateTimeStamp = JFUBatCommon.getSysDateTimeStamp();
		String strSysDate = strSysDateTimeStamp.substring(0, 8);

		// 処理対象日付取得用arraylist
		ArrayList<String> dateList = new ArrayList<String>();

		// FREEパラメータ取得
		String strFreeParam = commonItem.getFreeItem();
		String[] lines = strFreeParam.split(JFUStrConst.S_PARAM_DELIM);
		if(lines.length != 5)
		{
			throw new JBSbatBusinessException(EFUB0170KE, new String[] {strFreeParam});
		}
		// パラメータ取得
		String strFreeParam1 = lines[0];	// 起動パラメータ(1:定期起動、2:随時起動)
		String strFreeParam2 = lines[1];	// 1:定期起動用_出力対象ファイル(ファイルパス込み)
		String strFreeParam3 = lines[2];	// 1:定期起動用_出力対象ファイル
		String strFreeParam4 = lines[3];	// 2:随時起動用_出力対象ファイル(ファイルパス込み)
		String strFreeParam5 = lines[4];	// 2:随時起動用_出力対象ファイル

		// 定期起動時の処理年月日(システム日付の前日)を取得
		String strTranYMD = JPCDateUtil.addDay(strSysDate, -1);

		// 随時起動か定期起動による処理分岐
		if(JFUStrConst.S_WEB_SHUK_KIDO_PARA_1.equals(strFreeParam1))
		{
			// 定期起動時はＷｅｂ申込受付実績より処理対象日のデータを抽出
			JBSbatCommonDBInterface dbList1 = new JBSbatCommonDBInterface();
			dbList1. setValue(strTranYMD);
			executeFU_T_WEB_MSKM_UK_JSK_FU_SELECT_003(dbList1.getList().toArray());

			// WEB申込受付実績SQL発行用領域作成
			JBSbatCommonDBInterface web_mskm_map = new JBSbatCommonDBInterface();

			// 取得した結果(処理対象年月)を取得結果レコードが読み終わるまで、ArrayListへ格納する。
			for(web_mskm_map = db_FU_T_WEB_MSKM_UK_JSK.selectNext(); null != web_mskm_map; web_mskm_map = db_FU_T_WEB_MSKM_UK_JSK.selectNext())
			{
				dateList.add(web_mskm_map.getString("SCREEN_DSP_YMD"));
			}
		}
		else
		{
			dateList.add(strSysDate);
		}

		// 処理対象日付取得用arraylistに存在する日付の分、ＷＥＢデータ集計結果ファイル（申込）ファイル出力及び電子ファイル管理登録処理を実行する
		int dateListCount = dateList.size();
		for(int i = 0; dateListCount > i; i++)
		{
			String strCampNm = "";
			String strEndDay = "";		// 月末日格納用変数
			int intOutputCnt = 0;		// outputファイル件数

			String strFileNm = "";		// ダウンロード用ファイル名称
			String strFilePass = "";	// ファイルパス格納用
			String strEfileKanriNo = "";// 電子ファイル管理番号
			String[] strEFileReturn = null;	// 電子ファイル管理登録後戻り値格納用

			// コード名称管理より、帳票出力用の文言の件数を取得する
			// コード名称管理取得件数格納用領域作成
			JBSbatCommonDBInterface cd_nm_cnt_map = null;
			JBSbatCommonDBInterface cd_nm_cnt_dbList = new JBSbatCommonDBInterface();

			cd_nm_cnt_dbList. setValue(JFUStrConst.S_CD_SBT_NM_CDxxx1);
			executeZM_M_CD_NM_KANRI_FU_SELECT_002(cd_nm_cnt_dbList.getList().toArray());
			cd_nm_cnt_map = db_ZM_M_CD_NM_KANRI.selectNext();

			// 取得できた要素数をカウントする(配列の大きさを確定)
			iCdNmCnt = Integer.parseInt(cd_nm_cnt_map.getString("CNT"));

			// 取得した要素数を元に配列を定義
			String[][] tyohyo_nm_map = new String[iCdNmCnt][2];

			// コード名称管理より、帳票出力用の日本語名を取得する
			// コード名称管理取得結果格納用領域作成
			JBSbatCommonDBInterface cd_nm_map = null;
			JBSbatCommonDBInterface cd_nm_dbList = new JBSbatCommonDBInterface();

			cd_nm_dbList. setValue(JFUStrConst.S_CD_SBT_NM_CDxxx1);
			executeZM_M_CD_NM_KANRI_FU_SELECT_001(cd_nm_dbList.getList().toArray());

			int iCnt = 0;
			for(cd_nm_map = db_ZM_M_CD_NM_KANRI.selectNext(); null != cd_nm_map; cd_nm_map = db_ZM_M_CD_NM_KANRI.selectNext())
			{
				tyohyo_nm_map[iCnt][0] = cd_nm_map.getString("CD_SBT_SETMEI");
				tyohyo_nm_map[iCnt][1] = cd_nm_map.getString("CD_DIV_NM");
				iCnt++;
			}

			// 出力ファイル生成オブジェクト初期化(随時起動or定期起動でファイル名が変更)
			if(JFUStrConst.S_WEB_SHUK_KIDO_PARA_1.equals(strFreeParam1))
			{
				strFileNm = strFreeParam3.replace(FILE_NM_DTM, dateList.get(i));
				strFilePass = strFreeParam2.replace(FILE_NM_DTM, dateList.get(i));
			}
			else
			{
				strFileNm = strFreeParam5.replace(FILE_NM_TIMESTAMP, strSysDateTimeStamp);
				strFilePass = strFreeParam4.replace(FILE_NM_TIMESTAMP, strSysDateTimeStamp);
			}
			JBSbatBusinessFileUtil obj1 = JFUBatCommon.createBusinessFileUtil(strFilePass, JFUStrConst.SJIS,
			JFUStrConst.S_LINE_SEPARAOR_LF, JFUStrConst.S_SEP_CAM);

			// ＷＥＢデータ集計結果ファイル（申込）レコード格納領域初期化
			ArrayList<String> webMskmFileList = new ArrayList();

			// ヘッダー部編集処理を実施
			ArrayList<String> webHeadFileList = new ArrayList();
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_1);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_2);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_3);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_4);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_5);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_6);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_7);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_8);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_9);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_10);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_11);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_12);
			webHeadFileList.add(JFUStrConst.S_WEB_DATA_WORD_14);

			// ファイルへ、ヘッダー部を出力
			JFUBatCommon.printBusinessFileUtil(obj1, webHeadFileList);
			webHeadFileList.clear();

			// 処理対象日を設定し、Ｗｅｂ申込集計結果よりデータを取得(随時起動用と定期起動用で分岐)
			JBSbatCommonDBInterface dbList = new JBSbatCommonDBInterface();
			if(JFUStrConst.S_WEB_SHUK_KIDO_PARA_1.equals(strFreeParam1))
			{
				dbList.setValue(dateList.get(i) + JFUStrConst.S_FIRST_DAY); // 取得対象月の初日を設定
				if (!(strTranYMD.substring(0, 6)).equals(dateList.get(i)) && JFUStrConst.S_WEB_SHUK_KIDO_PARA_1.equals(strFreeParam1))
				{
					strEndDay = JFUBatCommon.addDay(JFUBatCommon.addMonth(dateList.get(i) + JFUStrConst.S_FIRST_DAY, 1), -1);
					// 取得対象月が今月以外の場合は対象月の末日を設定
					dbList.setValue(strEndDay);
				}
				else
				{
					dbList.setValue(strTranYMD);		// 取得対象月が今月の場合はシステム日付を設定
				}
			}
			else
			{
				dbList. setValue(dateList.get(i));
				dbList. setValue(dateList.get(i));
			}

			dbList. setValue(JFUStrConst.S_WEB_MSKM_SHUK_CD_2);
			executeFU_T_WEBMK_SRLT_FU_SELECT_002(dbList.getList().toArray());

			JBSbatCommonDBInterface dbMap = null;
			for(dbMap = db_FU_T_WEBMK_SRLT.selectNext(); null != dbMap; dbMap = db_FU_T_WEBMK_SRLT.selectNext())
			{
				webMskmFileList.add(dbMap.getString("SHUK_TG_MSKM_YMD"));	// 集計対象年月日
				strCampNm = dbMap.getString("WEBMK_SHUK_TG_VALUE");

				// 2013/03/11 【IT1-2013-0000523 障害対応】
				if (strCampNm.length() >= 14 && INTRODUCTION_CP_CD.equals(strCampNm.substring(0, 14)))
				{
					// 集計区分(紹介キャンペーン)
					webMskmFileList.add(INTRODUCTION_CP_NM + dbMap.getString("WEBMK_SHUK_TG_VALUE").substring(dbMap.getString("WEBMK_SHUK_TG_VALUE").indexOf("_")));
				}
				else
				{
					// 代理店マスタより代理店名を取得
					JBSbatCommonDBInterface dbList2 = new JBSbatCommonDBInterface();
					dbList2. setValue(dbMap.getString("WEBMK_SHUK_TG_VALUE").substring(0, 11));
					executeKK_M_AGNT_FU_SELECT_001(dbList2.getList().toArray());

					// 代理店取得データ格納用領域作成
					JBSbatCommonDBInterface agnt_nm_map = null;
					agnt_nm_map = db_KK_M_AGNT.selectNext();

					if (null != agnt_nm_map)
					{
						// 集計区分(代理店コード変換)
						webMskmFileList.add(agnt_nm_map.getString("AGNT_NM") + dbMap.getString("WEBMK_SHUK_TG_VALUE").substring(dbMap.getString("WEBMK_SHUK_TG_VALUE").indexOf("_")));
					}
					else
					{
						webMskmFileList.add(dbMap.getString("WEBMK_SHUK_TG_VALUE"));
					}
				}

				webMskmFileList.add(dbMap.getString("MSKM_CNT_HOME_NET"));		// 申込件数(ホームネット)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_HOME_TV"));		// 申込件数(ホームテレビ)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_HOME_TEL"));		// 申込件数(ホーム電話)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MAMS_NET"));		// 申込件数(マンションネット)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MAMS_TV"));		// 申込件数(マンションテレビ)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MAMS_TEL"));		// 申込件数(マンション電話)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MEZON_NET"));		// 申込件数(メゾンネット)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MEZON_TV"));		// 申込件数(メゾンテレビ)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MEZON_TEL"));		// 申込件数(メゾン電話)
				webMskmFileList.add(dbMap.getString("MSKM_CNT_MBL"));			// 申込件数(モバイル)
				// ST3-2013-0000198 Takagawa 2013/1/28 start
				webMskmFileList.add(dbMap.getString("WRIB_TG_MSKM_CNT"));		// 割引対象申込件数
				// ST3-2013-0000198 Takagawa 2013/1/28 end

				// ファイルへデータ部を出力
				JFUBatCommon.printBusinessFileUtil(obj1, webMskmFileList);
				webMskmFileList.clear();
				intOutputCnt++;
			}

			if (null != obj1)
			{
				// ファイルオブジェクトをクローズ
				JFUBatCommon.closeBusinessFileUtil(obj1);
			}

			// ファイル削除年月日の算出
			String strFileDelYMD = JPCDateUtil.addDay(strSysDate, JFUStrConst.S_WEB_DATA_BK_TIME);

			// ダウンロードファイル管理を検索し、同名ファイルが存在するか確認する。
			JBSbatCommonDBInterface dbList3 = new JBSbatCommonDBInterface();
			dbList3. setValue(strFileNm);
			executeZM_T_DL_FILE_KANRI_FU_SELECT_001(dbList3.getList().toArray());

			JBSbatCommonDBInterface dbmap3 = null;
			for(dbmap3 = db_ZM_T_DL_FILE_KANRI.selectNext(); null != dbmap3; dbmap3 = db_ZM_T_DL_FILE_KANRI.selectNext())
			{
				strEfileKanriNo = dbmap3.getString("EFILE_KANRI_NO");
				break;
			}

			// 取得結果が空の場合は電子ファイル管理にＷＥＢデータ集計結果ファイル（申込）を登録する
			if("".equals(strEfileKanriNo))
			{
				strEFileReturn = JCCbatDenshiFileUtil.createDenshiFile(commonItem, S_FILE_CD, strFilePass, strFileDelYMD);
			}
			// 取得結果が存在する場合は電子ファイル管理にＷＥＢデータ集計結果ファイル（申込）を更新する
			else
			{
				strEFileReturn = JCCbatDenshiFileUtil.updateDenshiFile(commonItem, strEfileKanriNo, strFilePass, strFileDelYMD);
			}

			// 電子ファイル管理番号取得
			String strEFileKanriNo = strEFileReturn[0];

			// 取得したデータをファイルとして出力し、ダウンロード管理テーブルへ登録
			String[] insertData = new String[7];
			insertData[0] = TRN_KANRI_NO;
			insertData[1] = strFileNm;
			insertData[2] = String.valueOf(intOutputCnt);
			insertData[3] = JFUBatCommon.getSysDateTimeStamp();
			insertData[4] = strFileDelYMD;
			insertData[5] = strEFileKanriNo;
			insertData[6] = strEFileReturn[1];
			executeZM_T_DL_FILE_KANRI_FU_INSERT_001(insertData);

			super.logPrint.printBusinessErrorLog(EFUB0120AI, new String[] { OUT_FILE_NM + strFileNm, String.valueOf(intOutputCnt) });
		}

		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_FU_T_WEB_MSKM_UK_JSK.close();
		db_FU_T_WEBMK_SRLT.close();
		db_ZM_M_CD_NM_KANRI.close();
		db_ZM_T_DL_FILE_KANRI.close();
		db_KK_M_AGNT.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/

	/**
	 * SQLKEY(FU_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 executeFU_T_WEB_MSKM_UK_JSK_FU_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_FU_T_WEB_MSKM_UK_JSK.selectBySqlDefine(paramList, FU_T_WEB_MSKM_UK_JSK_FU_SELECT_003);
	}

	/**
	 * SQLKEY(FU_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 *
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	集計対象年月日
	 *		 	集計対象年月日
	 *		 	Web申込集計種別コード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeFU_T_WEBMK_SRLT_FU_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_FU_T_WEBMK_SRLT.selectBySqlDefine(paramList, FU_T_WEBMK_SRLT_FU_SELECT_002);
	}

	/**
	 * SQLKEY(FU_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_CD_NM_KANRI_FU_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_FU_SELECT_001);
	}

	/**
	 * SQLKEY(FU_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_FU_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_FU_SELECT_002);
	}

	/**
	 * SQLKEY(FU_INSERT_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_T_DL_FILE_KANRI_FU_INSERT_001(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());

		// DBアクセスを実行します
		db_ZM_T_DL_FILE_KANRI.executeBySqlDefine(paramList, ZM_T_DL_FILE_KANRI_FU_INSERT_001);
	}

	/**
	 * SQLKEY(FU_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_T_DL_FILE_KANRI_FU_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_T_DL_FILE_KANRI.selectBySqlDefine(paramList, ZM_T_DL_FILE_KANRI_FU_SELECT_001);
	}

	/**
	 * SQLKEY(FU_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 executeKK_M_AGNT_FU_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_M_AGNT.selectBySqlDefine(paramList, KK_M_AGNT_FU_SELECT_001);
	}


	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
