/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatTUBmpOpenCfmListChsht
*	ソースファイル名	：JBSbatTUBmpOpenCfmListChsht.java
*	作成者				：富士通　
*	作成日				：2011年11月04日
*＜機能概要＞
*　番ポ開通確認リスト抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2011/11/04  FJ) 北村	新規作成
*	v4.00.00	2012/06/15  FJ) 北村	【ANK-0494-02-00】
*	v4.01.00	2012/08/03	FJ) 北村	【TAI-2012-0000094】JBSbatSQLAccessを複数回実行回避対応
*	v4.02.00	2012/08/27	FJ) 北村	単体製造品質チェック対応
*	v4.03.00	2012/11/15	FJ) 北村	【TAI-2012-0000122】SQL監査バッチ4回目NG対応
*********************************************************************/
package eo.business.service;

import java.io.File;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JPCBatCommon;
import eo.business.util.file.JBSbatTUIFE026;
import eo.business.util.table.JBSbatDK_T_HAISO;
import eo.business.util.table.JBSbatKK_T_ODR_SET;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.business.util.table.JBSbatKK_T_SVKEI_KAISEN_UW;
import eo.business.util.table.JBSbatTU_T_BMP_KOJI;
import eo.business.util.table.JBSbatZM_M_TELNO;
import eo.common.constant.JTUStrConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatDefFileUtil;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.util.JBSbatAplConst;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatTUBmpOpenCfmListChsht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(ダウンロードファイル管理)*/
	private static final String D_TBL_NAME_ZM_T_DL_FILE_KANRI = "ZM_T_DL_FILE_KANRI";

	/** SQL定義キー(TU_SELECT_001)*/
	private static final String KK_T_SVC_KEI_TU_SELECT_001 = "TU_SELECT_001";

	/** SQL定義キー(TU_SELECT_002)*/
	private static final String KK_T_SVC_KEI_TU_SELECT_002 = "TU_SELECT_002";

	/** SQL定義キー(TU_INSERT_001)*/
	private static final String ZM_T_DL_FILE_KANRI_TU_INSERT_001 = "TU_INSERT_001";

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(ダウンロードファイル管理)*/
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** テーブルアクセスクラス(契約件数取得)*/
	private JBSbatSQLAccess db_KEI_CNT = null;
	
	/** 番ポ開通確認リストファイルオブジェクト*/
	private JBSbatOutputFileUtil bmpOpenCfmFileObj = null;
	
	/** 番ポ開通確認リスト定義ファイルオブジェクト*/
	private JBSbatDefFileUtil bmpOpenCfmFileDef = null;
	
	/** 番ポ開通確認リストファイルパス*/
	private String bmpOpenCfmFileName = null;
	
	/** 運用日＋１*/
	private String opeDateNext = null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_ZM_T_DL_FILE_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_DL_FILE_KANRI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		db_KEI_CNT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		int outputCount = 0;

		JBSbatServiceInterfaceMap mapBmpOpenCfmList = new JBSbatServiceInterfaceMap();
		
		// 運用日＋１取得
		opeDateNext = JPCBatCommon.addDay(super.opeDate, 1);
		
		// 運用日−７取得
		String opeDateBef = JPCBatCommon.addDay(super.opeDate, -7);
		
		// 番ポ開通確認リストファイル作成処理
		createBmpOpenCfmListFile();
		
		// 電話契約情報取得
		// SQLの条件設定
		Object[] condtionParam = new Object[11];
		// コード適用開始年月日
		condtionParam[0] = commonItem.getOpeDate();
		// コード適用終了年月日
		condtionParam[1] = commonItem.getOpeDate();
		// コード適用開始年月日
		condtionParam[2] = commonItem.getOpeDate();
		// コード適用終了年月日
		condtionParam[3] = commonItem.getOpeDate();
		// サービス契約内訳予約適用年月日
		condtionParam[4] = commonItem.getOpeDate();
		// 出荷年月日
		condtionParam[5] = opeDateBef;
		// サービス契約予約適用年月日
		condtionParam[6] = commonItem.getOpeDate();
		// 回線内訳使用開始年月日
		condtionParam[7] = commonItem.getOpeDate();
		// 回線内訳使用終了年月日
		condtionParam[8] = commonItem.getOpeDate();
		// 電話番号適用開始年月日
		condtionParam[9] = opeDateNext;
		// 電話番号適用終了年月日
		condtionParam[10] = opeDateNext;
		
		// 取得処理
		executeKK_T_SVC_KEI_TU_SELECT_001(condtionParam);
		
		// 取得件数分繰り返す
		JBSbatCommonDBInterface mapTelKei = new JBSbatCommonDBInterface(); 
		for(mapTelKei = db_KK_T_SVC_KEI.selectNext(); null != mapTelKei; mapTelKei = db_KK_T_SVC_KEI.selectNext())
		{
			// デバッグログ出力
			super.logPrint.printDebugLog("SVC_KEI_NO:" + mapTelKei.getString("SVC_KEI_NO"));
			super.logPrint.printDebugLog("SYSID:" + mapTelKei.getString("SYSID"));
			super.logPrint.printDebugLog("SHOSA_YMD:" + mapTelKei.getString("SHOSA_YMD"));
			super.logPrint.printDebugLog("SKEKKA_CD:" + mapTelKei.getString("SKEKKA_CD"));
			super.logPrint.printDebugLog("MAINP_SVC_STA_YMD:" + mapTelKei.getString("MAINP_SVC_STA_YMD"));
			super.logPrint.printDebugLog("VLAN_ID_FIX_FLG:" + mapTelKei.getString("VLAN_ID_FIX_FLG"));
			super.logPrint.printDebugLog("SVC_KEI_UCWK_STAT:" + mapTelKei.getString("SVC_KEI_UCWK_STAT"));
			super.logPrint.printDebugLog("EO_TEL_SVC_STA_YMD:" + mapTelKei.getString("EO_TEL_SVC_STA_YMD"));
			super.logPrint.printDebugLog("FIRST_CDR_HASSEI_YMD:" + mapTelKei.getString("FIRST_CDR_HASSEI_YMD"));
			super.logPrint.printDebugLog("ADD_SOD_SEND_YMD:" + mapTelKei.getString("ADD_SOD_SEND_YMD"));
			super.logPrint.printDebugLog("SHUKKA_YMD:" + mapTelKei.getString("SHUKKA_YMD"));
			super.logPrint.printDebugLog("BMP_KOJI_STAT:" + mapTelKei.getString("BMP_KOJI_STAT"));
			super.logPrint.printDebugLog("BMP_KOJI_KIBO_YMDH:" + mapTelKei.getString("BMP_KOJI_KIBO_YMDH"));
			super.logPrint.printDebugLog("BMP_KOJI_FIX_YMDH:" + mapTelKei.getString("BMP_KOJI_FIX_YMDH"));
			super.logPrint.printDebugLog("BMP_KOJI_FIN_YMD:" + mapTelKei.getString("BMP_KOJI_FIN_YMD"));
			super.logPrint.printDebugLog("TELNO_TSTAYMD:" + mapTelKei.getString("TELNO_TSTAYMD"));
			super.logPrint.printDebugLog("TELNO_TENDYMD:" + mapTelKei.getString("TELNO_TENDYMD"));
			super.logPrint.printDebugLog("BMP_UM:" + mapTelKei.getString("BMP_UM"));
			super.logPrint.printDebugLog("VA_PORT_NO:" + mapTelKei.getString("VA_PORT_NO"));
			
			// 番ポ開通確認リストレコード作成
			mapBmpOpenCfmList = createRecBMP_KOJI(mapTelKei);
			
			// 番ポ開通確認リストファイルに出力する
			bmpOpenCfmFileObj.print(mapBmpOpenCfmList, bmpOpenCfmFileDef);
			
			// 設定件数カウントアップ
			outputCount++;
		}
		
		// 番ポ開通確認リストファイルのクローズを行う
		if(bmpOpenCfmFileObj != null)
		{
			bmpOpenCfmFileObj.close();
		}
		
		// ファイル存在確認
		File file = new File(bmpOpenCfmFileName);
		if (!file.exists())
		{
			return null;
		}
		
		// 電子ファイル管理データの登録を行う
		String[] resultKey = null;		// 電子ファイル管理テーブルに登録された場合に返却されるPKEY
		
		resultKey = JPCBatCommon.createDenshiFile(commonItem, null, file.getPath(), JPCBatCommon.addDay(super.opeDate, 7));
		
		// ダウンロードファイル管理登録
		// パラメータ設定
		Object[] insertData = new Object[10];
		// 処理管理番号
		insertData[0] = JTUStrConst.SYORI_KANRI_NUM_BMPOPENCFM;
		// ファイル名
		insertData[1] = file.getName();
		// データ件数
		insertData[2] = outputCount;
		// ファイル登録年月日時分秒
		insertData[3] = JPCBatCommon.getSysDateTimeStamp();
		// 登録年月日時分秒
		insertData[4] = JPCBatCommon.getSysDateTimeStamp();
		// 登録オペレータアカウント
		insertData[5] = commonItem.getBatchUserId();
		// 更新年月日時分秒
		insertData[6] = JPCBatCommon.getSysDateTimeStamp();
		// 更新オペレータアカウント
		insertData[7] = commonItem.getBatchUserId();
		// 電子ファイル管理番号
		insertData[8] = resultKey[0];
		// 世代登録年月日時分秒
		insertData[9] = resultKey[1];
		
		// 登録処理
		executeZM_T_DL_FILE_KANRI_TU_INSERT_001(insertData);
		
		// ファイル削除
		file.delete();
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_ZM_T_DL_FILE_KANRI.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		db_KEI_CNT.close();
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 番ポ開通確認リストファイル作成
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.番ポ開通確認リストファイルの作成処理を行う<br>
	 * </pre>
	 * <p>
	 * @throws Exception
	 */
	private void createBmpOpenCfmListFile() throws Exception
	{
		// 番ポ開通確認リストファイル作成
		// 番ポ開通確認リストファイル名を取得する
		bmpOpenCfmFileName = commonItem.getFreeItem() + "/" + 
								JTUStrConst.FILE_BMP_OPEN_CFM_LIST.replace(JTUStrConst.DATE_YMD, opeDateNext);
		
		// 番ポ開通確認リストファイルオブジェクトを生成する
		bmpOpenCfmFileObj = new JBSbatOutputFileUtil(bmpOpenCfmFileName);
		
		bmpOpenCfmFileObj.setJobID(commonItem.getJobid());
		
		// 番ポ開通確認リスト定義ファイル名を取得する。
		String caseFileDefName = JBSbatAplConst.getAplConstValue("OTD") + JTUStrConst.FILE_ID_BMP_OPEN_CFM_LIST + ".def";
		
		// 番ポ開通確認リスト定義ファイルオブジェクトを生成する
		bmpOpenCfmFileDef = new JBSbatDefFileUtil(caseFileDefName, bmpOpenCfmFileObj);
		
		//Writerオブジェクトを生成する。
		bmpOpenCfmFileObj.createWriter();
	}
	
	/**
	 * 番ポ開通確認リストレコード作成
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.電話契約情報を番ポ開通確認リストファイルに出力する値を設定する<br>
	 * </pre>
	 * <p>
	 * @param mapBmpOpenCfmList　電話契約情報
	 * @return JBSbatServiceInterfaceMap　番ポ開通確認リストファイル出力情報
	 * @throws Exception
	 */
	private JBSbatServiceInterfaceMap createRecBMP_KOJI(JBSbatCommonDBInterface mapBmpOpenCfmList) throws Exception
	{
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// 番ポ進捗区分、番ポ進捗設定
		String bmpPrgKbn = null;
		String bmpPrg = null;
		String bmpKojiKiboYmd = mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_KIBO_YMDH).substring(0, 8);
		String bmpKojiKiboH = mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_KIBO_YMDH).substring(8, 10);
		String bmpKojiFixYmd = mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_FIX_YMDH).substring(0, 8);
		String bmpKojiFixH = mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_FIX_YMDH).substring(8, 10);
		String stdardymd = null;
		String vlanIdFixFlg = null;
		String telSnglFlg = null;
		
		// サービス契約内訳．サービス契約内訳ステータスが"010"(受付済)の場合、"00"
		if(JTUStrConst.SVC_KEI_UK_ZM.equals(mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_DTL_MI;
			bmpPrg = JTUStrConst.BMP_PRG_DTL_MI;
		}
		// サービス契約内訳．サービス契約内訳ステータスが"020"(照査済)の場合、"10"
		if(JTUStrConst.SVC_KEI_DTL_ZM.equals(mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_DTL_ZM;
			bmpPrg = JTUStrConst.BMP_PRG_DTL_ZM;
		}
		// 番ポ工事．番ポ工事ステータスが"000"（工事希望日未入力）の場合、"21"
		if(JTUStrConst.KOJI_KIBO_MI.equals(mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_STAT)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_KOJI_KIBO_APO;
			bmpPrg = JTUStrConst.BMP_PRG_KOJI_KIBO_APO;
		}
		// 番ポ工事．番ポ工事希望年月日時がNOTNULLの場合、"30"
		if(!JTUStrConst.CRNT_NULL_YMDH.equals(mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_KIBO_YMDH)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_KOJI_KIBO;
			bmpPrg = JTUStrConst.BMP_PRG_KOJI_KIBO;
		}
		// 番ポ工事．番ポ工事ステータスが"022"(ＮＴＴ申請済み)の場合、"41"
		if(JTUStrConst.NTT_SHIN_ZUMI.equals(mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_STAT)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_BMP_MSKM_FAX;
			bmpPrg = JTUStrConst.BMP_PRG_BMP_MSKM_FAX;
		}
		// 番ポ工事．番ポ工事確定年月日時がNOTNULLの場合、"51"
		if(!JTUStrConst.CRNT_NULL_YMDH.equals(mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_FIX_YMDH)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_KOJI_FIX_SYMPHONY;
			bmpPrg = JTUStrConst.BMP_PRG_KOJI_FIX_SYMPHONY;
		}
		// 番ポ工事．番ポ工事確定年月日時(年月日)と運用日＋１が一致する場合、"61"
		if(opeDateNext.equals(bmpKojiFixYmd))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_KOJI_NOW_SYMPHONY;
			bmpPrg = JTUStrConst.BMP_PRG_KOJI_NOW_SYMPHONY;
		}
		// 番ポ工事．番ポ工事ステータスが"050"(番ポ工事完了)の場合、"70"
		if(JTUStrConst.BMP_KOJI_FIN.equals(mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_STAT)))
		{
			bmpPrgKbn = JTUStrConst.BP_KBN_KOJI_FIN;
			bmpPrg = JTUStrConst.BMP_PRG_KOJI_FIN;
		}
		
		// eo電話利用終了日
		String telnoTendymd = mapBmpOpenCfmList.getString(JBSbatZM_M_TELNO.TELNO_TENDYMD);
		if(JTUStrConst.END_YMD.equals(telnoTendymd))
		{
			telnoTendymd = JTUStrConst.CRNT_END_YMD;
		}
		// 基準日設定
		String mainpSvcStaYmd = mapBmpOpenCfmList.getString("MAINP_SVC_STA_YMD");
		String shukkaYmd = mapBmpOpenCfmList.getString(JBSbatDK_T_HAISO.SHUKKA_YMD);
		
		// 本体サービス開始日とVA出荷日を比較し、未来日を設定する。
		if(Integer.parseInt(mainpSvcStaYmd) > Integer.parseInt(shukkaYmd))
		{
			stdardymd = mainpSvcStaYmd;
		}
		else
		{
			stdardymd = shukkaYmd;
		}
		
		// VLANID設定済設定
		if(JTUStrConst.VLAN_ID_FIX_ZM.equals(mapBmpOpenCfmList.getString(JBSbatKK_T_SVKEI_KAISEN_UW.VLAN_ID_FIX_FLG)))
		{
			vlanIdFixFlg = JTUStrConst.VLAN_ID_NM_FIX_ZM;
		}
		else
		{
			vlanIdFixFlg = JTUStrConst.VLAN_ID_NM_FIX_MI;
		}
		
		// 電話単独フラグ設定
		// 契約件数取得
		// SQLの条件設定
		Object[] condtionParam = new Object[2];
		// SYSID
		condtionParam[0] = mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI.SYSID);
		// 予約適用年月日
		condtionParam[1] = commonItem.getOpeDate();
		
		// 取得処理
		executeKK_T_SVC_KEI_TU_SELECT_002(condtionParam);
		
		JBSbatCommonDBInterface rsDBKeiCnt = db_KEI_CNT.selectNext();
		if(Integer.parseInt(rsDBKeiCnt.getValue("KEI_CNT").toString()) == 1)
		{
			// 契約件数が1件の場合、1(単独)を設定
			telSnglFlg = JTUStrConst.TEL_SNGL_SNGL;
		}
		else
		{
			// 契約件数が2件以上の場合、0(複数)を設定
			telSnglFlg = JTUStrConst.TEL_SNGL_HUKUSU;
		}
		
		// 番ポ有無
		outMap.setString(JBSbatTUIFE026.BMP_UM, mapBmpOpenCfmList.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM));
		// ｅｏ電話利用開始日
		outMap.setString(JBSbatTUIFE026.TELNO_TSTAYMD, mapBmpOpenCfmList.getString(JBSbatZM_M_TELNO.TELNO_TSTAYMD));
		// 本体サービス開始日
		outMap.setString(JBSbatTUIFE026.MAINP_SVC_STA_YMD, mainpSvcStaYmd);
		// ｅｏ電話照査日
		outMap.setString(JBSbatTUIFE026.SHOSA_YMD, mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD));
		// 番ポ進捗
		outMap.setString(JBSbatTUIFE026.BMP_PRG, bmpPrg);
		// ＶＡ出荷日
		outMap.setString(JBSbatTUIFE026.SHUKKA_YMD, shukkaYmd);
		// 初回ＳＯＤ発生日
		outMap.setString(JBSbatTUIFE026.ADD_SOD_SEND_YMD, mapBmpOpenCfmList.getString(JBSbatKK_T_ODR_SET.ADD_SOD_SEND_YMD));
		// 番ポ工事完了日
		outMap.setString(JBSbatTUIFE026.BMP_KOJI_FIN_YMD, mapBmpOpenCfmList.getString(JBSbatTU_T_BMP_KOJI.BMP_KOJI_FIN_YMD));
		// 初回ＣＤＲ発生日
		outMap.setString(JBSbatTUIFE026.FIRST_CDR_HASSEI_YMD, mapBmpOpenCfmList.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.FIRST_CDR_HASSEI_YMD));
		// ｅｏ電話サービス開始日
		outMap.setString(JBSbatTUIFE026.EO_TEL_SVC_STA_YMD, mapBmpOpenCfmList.getString("EO_TEL_SVC_STA_YMD"));
		// お客様ＩＤ
		outMap.setString(JBSbatTUIFE026.SVC_KEI_NO, mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		// ｅｏ電話利用終了日
		outMap.setString(JBSbatTUIFE026.TELNO_TENDYMD, telnoTendymd);
		// 番ポ進捗区分
		outMap.setString(JBSbatTUIFE026.BMP_PRG_KBN, bmpPrgKbn);
		// 番ポ工事希望日
		outMap.setString(JBSbatTUIFE026.BMP_KOJI_KIBO_YMD, bmpKojiKiboYmd);
		// 番ポ工事希望時刻
		outMap.setString(JBSbatTUIFE026.BMP_KOJI_KIBO_H, bmpKojiKiboH);
		// 番ポ工事確定日
		outMap.setString(JBSbatTUIFE026.BMP_KOJI_FIX_YMD, bmpKojiFixYmd);
		// 番ポ工事確定時刻
		outMap.setString(JBSbatTUIFE026.BMP_KOJI_FIX_H, bmpKojiFixH);
		// ＶＬＡＮＩＤ設定済
		outMap.setString(JBSbatTUIFE026.VLAN_ID_FIX_FLG, vlanIdFixFlg);
		// 審査結果コード
		outMap.setString(JBSbatTUIFE026.SKEKKA_CD, mapBmpOpenCfmList.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD));
		// 基準日
		outMap.setString(JBSbatTUIFE026.STDARDYMD, stdardymd);
		// ポート番号
		outMap.setString(JBSbatTUIFE026.VA_PORT_NO, mapBmpOpenCfmList.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO));
		// 電話単独フラグ
		outMap.setString(JBSbatTUIFE026.TEL_SNGL_FLG, telSnglFlg);
		
		return outMap;
	}
	
	/**
	 * SQLKEY(TU_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_TU_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KEI_CNT.selectBySqlDefine(paramList, KK_T_SVC_KEI_TU_SELECT_002);
	}
	
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 * SQLKEY(TU_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_T_SVC_KEI_TU_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());
		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());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_TU_SELECT_001);
	}

	/**
	 * SQLKEY(TU_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_TU_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());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());

		// DBアクセスを実行します
		db_ZM_T_DL_FILE_KANRI.executeBySqlDefine(paramList, ZM_T_DL_FILE_KANRI_TU_INSERT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
