/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKIdTchishoDokonDataMake
*	ソースファイル名	：JBSbatKKIdTchishoDokonDataMake.java
*	作成者				：富士通
*	作成日				：2021年04月20日
*＜機能概要＞
*	バッチプログラム詳細設計書(補足説明_処理詳細)
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v53.00.00   2021/04/20  GDC)ミコ　   ANK-4009-00-00_CX戦略WG方針対応（異動シェア分・バッチ）
*   v53.00.01   2021/06/07  FJ)星野      IT2-2021-0000020
*   v56.00.00   2021/12/09  FJ)西窪     【ANK-4174-00-00】開通前マイページ関連業務改善（2022年1月下旬リリース）
*   v59.00.00   2022/04/11  FJ)南       【ANK-4240-00-00】開通前マイページ関連業務改善（2022年6月下旬リリース）
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.util.file.JBSbatKKIFM220;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatKK_T_KANUORESO_HAKKO;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKIdTchishoDokonDataMake extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";
	
	/** テーブル(サービス契約内訳＜eo光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL = "KK_T_SVKEIUW_EOH_TEL";
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	
	/** テーブルアクセスクラス(サービス契約内訳＜eo光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;
	
// IT2-2021-0000020対応 20210607 星野 ADD START
	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;
// IT2-2021-0000020対応 20210607 星野 ADD START
	
	// ANK-4174-00-00 ADD START
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;
	
	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";
	
	/** SQL定義キー(CK_SELECT_002)*/
	private static final String CK_T_CUST_CK_SELECT_002 = "CK_SELECT_002";

	// ANK-4174-00-00 ADD END
	// ANK-4240-00-00 ADD START
	/** テーブルアクセスクラス(回線対象サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KAISEN_TG_SVKEI = null;
	
	/** テーブル(回線対象サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KAISEN_TG_SVKEI = "KK_T_KAISEN_TG_SVKEI";
	
	/** SQL定義キー(KK_SELECT_331)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_331 = "KK_SELECT_331";
	/** SQL定義キー(KK_SELECT_049)*/
	private static final String KK_T_KAISEN_TG_SVKEI_KK_SELECT_049 = "KK_SELECT_049";
	// ANK-4240-00-00 ADD END
	
// IT2-2021-0000020対応 20210607 星野 ADD START
	/** テーブル(申込明細)*/
	private static final String D_TBL_NAME_KK_T_MSKM_DTL = "KK_T_MSKM_DTL";
// IT2-2021-0000020対応 20210607 星野 ADD START
	
	/** SQL定義キー(KK_SELECT_264)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_264 = "KK_SELECT_264";
	
	/** SQL定義キー(KK_SELECT_055)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_SELECT_055 = "KK_SELECT_055";
	
// IT2-2021-0000020対応 20210607 星野 ADD START
	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_MSKM_DTL_KK_SELECT_006 = "KK_SELECT_006";
// IT2-2021-0000020対応 20210607 星野 ADD START

	
// IT2-2021-0000020対応 20210607 星野 ADD START
	/** 新規追加識別フラグ 3:既存 */
	private static final String NEW_ADD_SKBT_FLG_3 = "3";
// IT2-2021-0000020対応 20210607 星野 ADD END
	/** 新規追加識別フラグ 4:番号追加 */
	private static final String NEW_ADD_SKBT_FLG_4 = "4";
	
	/** 通知書発行コード 3:レター同梱 */
	private static final String TCHISHO_HAKKO_CD_3 = "3";
	
	// ANK-4174-00-00 ADD START
	/** 通知書発行コード 1:新規発行 */
	private static final String TCHISHO_HAKKO_CD_1 = "1";
	
	/** 通知書送付先コード 1：契約者住所 */
	private static final String TCHISHO_SOHUS_CD_1 = "1";
	// ANK-4174-00-00 ADD END
	
	/** 通知書発行コード 2:機器配送先住所 */
	private static final String TCHISHO_SOHUS_CD_2 = "2";
	
	/** 通知書印刷実施先コード 01：守口印刷 */
	private static final String TCHISHO_PRINT_JSSI_SK_CD_01 = "01";
	
	/** 通知完了済フラグ 1：済 */
	private static final String TCHI_FIN_ZM_FLG_1 = "1";
	
	/** 通知完了済フラグ 0：未 */
	private static final String TCHI_FIN_ZM_FLG_0 = "0";
	
	/** 空の文字 */
	private static final String EMPTY = "";
	
	// ANK-4240-00-00 ADD START
	/** 料金コースコード（卸１ギガコース） */
	private static final String PCRS_CD_ORS_1G = "A88";
	// ANK-4240-00-00 ADD END
	
	/**
	 * 初期処理
	 * @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_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
// IT2-2021-0000020対応 20210607 星野 ADD START
		db_KK_T_MSKM_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM_DTL);
// IT2-2021-0000020対応 20210607 星野 ADD START
		// ANK-4174-00-00 ADD START
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		// ANK-4174-00-00 ADD END
		// ANK-4240-00-00 ADD START
		db_KK_T_KAISEN_TG_SVKEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAISEN_TG_SVKEI);
		// ANK-4240-00-00 ADD END
		/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		// 出力電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		// 申込明細番号
		String applicationDtlNo ="";
// IT2-2021-0000020対応 20210607 星野 ADD START
		// 申込書番号
		String mskmshoNo;
// IT2-2021-0000020対応 20210607 星野 ADD END
		
		// 入力データ・加入御礼書発行
		// 加入御礼書発行.ＳＹＳＩＤ
		String sysid = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.SYSID));
		// 加入御礼書発行.サービス契約番号
		String svcKeiNo = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.SVC_KEI_NO));
		// 加入御礼書発行.新規追加識別フラグ
		String newAddSkbtFlg = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.NEW_ADD_SKBT_FLG));
// IT2-2021-0000020対応 20210607 星野 DEL START
//		// 加入御礼書発行.申込書番号
//		String mskmshoNo = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.MSKMSHO_NO));
// IT2-2021-0000020対応 20210607 星野 DEL END
		// 加入御礼書発行.KOPT電話番号2
		String koptTelNo2 = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.KOPT_TELNO_2));
		
		// ANK-4174-00-00 ADD START
		// 加入御礼書発行.電子交付同意済みフラグ
		String dnsDoiFlg = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KANUORESO_HAKKO.DNSKH_DOI_ZM_FLG));
		
		// ANK-4240-00-00 ADD START
		// 卸ネット単独チェック
		boolean orsNetSnglFlg = orsNetSnglChk(svcKeiNo, sysid);
		// ANK-4240-00-00 ADD END
		
		String tchishoHakkoCd = "";
		String tchiFinZmFlg = "";
		
		// ANK-4240-00-00 MOD START
		// if("1".equals(dnsDoiFlg))
		if("1".equals(dnsDoiFlg) || orsNetSnglFlg)
		// ANK-4240-00-00 MOD END
		{
			tchishoHakkoCd = TCHISHO_HAKKO_CD_1;
		}
		else
		{
			tchishoHakkoCd = TCHISHO_HAKKO_CD_3;
		}
		
		// 加入御礼書発行.通知完了済フラグ
		// ANK-4240-00-00 MOD START
		// if("1".equals(dnsDoiFlg))
		if("1".equals(dnsDoiFlg) || orsNetSnglFlg)
		// ANK-4240-00-00 MOD END
		{
			tchiFinZmFlg = TCHI_FIN_ZM_FLG_0;
		}
		else
		{
			tchiFinZmFlg = TCHI_FIN_ZM_FLG_1;
		}

		// ANK-4174-00-00 ADD END
		
// IT2-2021-0000020対応 20210607 星野 ADD START
		// 入力．加入御礼書発行「新規追加識別フラグ」が"3"の場合
		if (NEW_ADD_SKBT_FLG_3.equals(newAddSkbtFlg))
		{
			// 既存契約分は、申込明細番号・申込書番号を未設定とする
			applicationDtlNo = EMPTY;
			mskmshoNo = EMPTY;
		}
// IT2-2021-0000020対応 20210607 星野 ADD END
		// 入力．加入御礼書発行「新規追加識別フラグ」が"4"以外の場合
		else if (!NEW_ADD_SKBT_FLG_4.equals(newAddSkbtFlg))
		{
			JBSbatCommonDBInterface outDbMap264 = this.selectSvcKei264(svcKeiNo);
			if (null != outDbMap264)
			{
				//申込明細番号
				applicationDtlNo = JBSbatStringUtil.Rtrim(outDbMap264.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO));
				
// IT2-2021-0000020対応 20210607 星野 ADD START
				String[] params = new String[]{applicationDtlNo};
				executeKK_T_MSKM_DTL_KK_SELECT_006(params);
				JBSbatCommonDBInterface mskmDtlMap = db_KK_T_MSKM_DTL.selectNext();
				if (null != mskmDtlMap)
				{
					// 申込書番号
					mskmshoNo = mskmDtlMap.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_NO);
				}
				else
				{
					return outputBean;
				}
// IT2-2021-0000020対応 20210607 星野 ADD END

			}
			else 
			{
				return outputBean;
			}
		}
		// 入力．加入御礼書発行「新規追加識別フラグ」が"4"(番号追加)の場合
		else
		{
			JBSbatCommonDBInterface outDbMap055 = this.selectSvcKeiTelNo055(svcKeiNo,koptTelNo2);
			if (null != outDbMap055)
			{
				//申込明細番号
				applicationDtlNo = JBSbatStringUtil.Rtrim(outDbMap055.getString(JBSbatKK_T_SVC_KEI_UCWK.MSKM_DTL_NO));
				//入力．加入御礼書発行「新規追加識別フラグ」が"4"(番号追加)の場合、申込書番号が未設定。
				mskmshoNo = EMPTY;
			}
			else
			{
				return outputBean;
			}
		}
		

		// 通知書・通知対象物登録用ファイル出力
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		// 通知書ステータス 
		outmap.setString(JBSbatKKIFM220.TCHISHO_STAT, JBSbatKKConst.CD00064_TCHISHO_STAT_010); 
		// ＳＹＳＩＤ
		outmap.setString(JBSbatKKIFM220.SYSID, sysid);
		// 通知書発行コード
		// ANK-4174-00-00 MOD START
//		outmap.setString(JBSbatKKIFM220.TCHISHO_HAKKO_CD, TCHISHO_HAKKO_CD_3);
		outmap.setString(JBSbatKKIFM220.TCHISHO_HAKKO_CD, tchishoHakkoCd);
		// ANK-4174-00-00 MOD END
		// 申込明細番号
		outmap.setString(JBSbatKKIFM220.MSKM_DTL_NO, applicationDtlNo);
		// 申込明細番号
		outmap.setString(JBSbatKKIFM220.MSKMSHO_NO, mskmshoNo);
		// 通知書送付先コード
		// ANK-4174-00-00 MOD START
//		outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_2);
		outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_1);
		// ANK-4174-00-00 MOD END
		
		// 通知書印刷実施先コード
		outmap.setString(JBSbatKKIFM220.TCHISHO_PRINT_JSSI_SK_CD, TCHISHO_PRINT_JSSI_SK_CD_01);
		// サービス契約番号
		outmap.setString(JBSbatKKIFM220.SVC_KEI_NO, svcKeiNo);
		// 通知完了済フラグ 
		// ANK-4174-00-00 MOD START
		//outmap.setString(JBSbatKKIFM220.TCHI_FIN_ZM_FLG, TCHI_FIN_ZM_FLG_1);
		outmap.setString(JBSbatKKIFM220.TCHI_FIN_ZM_FLG, tchiFinZmFlg);
		// ANK-4174-00-00 MOD END
		
		// ANK-4174-00-00 ADD START
		// 契約者住所の取得
		JBSbatCommonDBInterface outDbMap002 = this.selectCust002(sysid);
		if (null != outDbMap002)
		{
			// 通知書送付先名
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_NM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.CUST_NM)));
			// 通知書送付先住所コード
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_AD_CD, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_AD_CD)));
			// 通知書送付先郵便番号 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_PCD, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_PCD)));
			// 通知書送付先都道府県名 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_STATE_NM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_STATE_NM)));
			// 通知書送付先市区町村名 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_CITY_NM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_CITY_NM)));
			// 通知書送付先大字通称名 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_OAZTSU_NM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_OAZTSU_NM)));
			// 通知書送付先字丁目名 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_AZCHO_NM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_AZCHO_NM)));
			// 通知書送付先番地号 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_BNCHIGO, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_BNCHIGO)));
			// 通知書送付先住所補記・建物名 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_ADRTTM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_ADRTTM)));
			// 通知書送付先住所補記・部屋番号 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_ADRRM, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_ADRRM)));
			// 通知書送付先電話番号 
			outmap.setString(JBSbatKKIFM220.TCHISHO_SOHUS_TELNO, JBSbatStringUtil.Rtrim(outDbMap002.getString(JBSbatCK_T_CUST.KEISHA_TELNO)));
			
		}
		// ANK-4174-00-00 ADD END

		// 出力フラグを設定
		outmap.setOutFlg(true);
		// 出力共通電文に入出力インターフェースを設定する。
		outputBean.addOutMapList(outmap);
			
		// 出力共通電文を返却
		return outputBean;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		
		// DBアクセスクラスをクローズします
		// nullチェック
		if(db_KK_T_SVC_KEI != null)
		{
			db_KK_T_SVC_KEI.close();
		}
		// nullチェック
		if(db_KK_T_SVKEIUW_EOH_TEL != null)
		{
			db_KK_T_SVKEIUW_EOH_TEL.close();
		}
		
// IT2-2021-0000020対応 20210607 星野 ADD START
		if(db_KK_T_MSKM_DTL != null)
		{
			db_KK_T_MSKM_DTL.close();
		}
// IT2-2021-0000020対応 20210607 星野 ADD END
		// ANK-4174-00-00 ADD START
		if(db_CK_T_CUST != null)
		{
			db_CK_T_CUST.close();
		}
		// ANK-4174-00-00 ADD END
		// ANK-4240-00-00 ADD START
		if(db_KK_T_KAISEN_TG_SVKEI != null)
		{
			db_KK_T_KAISEN_TG_SVKEI.close();
		}
		// ANK-4240-00-00 ADD END

	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	// ANK-4240-00-00 ADD START
	/**
	 * 卸ネット単独チェックを行います。
	 * <br>
	 * @param svcKeiNo サービス契約番号
	 * @param sysid SYSID
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private boolean orsNetSnglChk(String svcKeiNo, String sysid) throws Exception
	{
		JBSbatCommonDBInterface outDbMap331 = this.selectSvcKei331(svcKeiNo);
		String pcrsCd = JBSbatStringUtil.Rtrim(outDbMap331.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
		
		// 加入御礼書発行.サービス契約番号が卸１ギガコースの場合
		if (PCRS_CD_ORS_1G.equals(pcrsCd))
		{
			JBSbatCommonDBInterface outDbMap049 = this.selectKaisenTgSvKei049(svcKeiNo, sysid);
			
			// 卸ネット単独契約の場合
			if (outDbMap049 == null)
			{
				return true;
			}
		}
		return false;
	}
	// ANK-4240-00-00 ADD END
	
	/**
	 * サービス契約TBLの検索を行い、被紹介者・申込時点情報を取得します。(KK_SELECT_264)
	 * <br>
	 * @param searchJkn_svcKeiNo サービス契約番号
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private JBSbatCommonDBInterface selectSvcKei264(String svcKeiNo) throws Exception
	{
		super.logPrint.printDebugLog("selectSvcKei264_START");
		
		// サービス契約TBLを検索して被紹介者・申込時点情報を取得します。
		// サービス契約TBL検索条件項目を設定します。
		Object[] paramList = new Object[2];
		paramList[0] = svcKeiNo;		// サービス契約番号
		paramList[1] = super.opeDate;	// 予約適用年月日
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		
		// サービス契約情報検索処理を実行します。
		executeKK_T_SVC_KEI_KK_SELECT_264(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap264 = db_KK_T_SVC_KEI.selectNext();
		
		super.logPrint.printDebugLog("selectSvcKei264_END");
		
		return outDbMap264;
	}
	/**
	 * SQLKEY(KK_SELECT_264)で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_KK_SELECT_264(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue((param[0]==null)?null:param[0].toString());
		paramList.setValue((param[1]==null)?null:param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_264);
	}
	/**
	 * サービス契約内訳＜eo光電話＞TBLの検索を行い、被紹介者・申込時点情報を取得します。(KK_SELECT_055)
	 * <br>
	 * @param searchJkn_svcKeiNo サービス契約番号
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private JBSbatCommonDBInterface selectSvcKeiTelNo055(String svcKeiNo, String koptTelNo) throws Exception
	{
		super.logPrint.printDebugLog("selectSvcKeiTelNo055");
		
		Object[] paramList = new Object[3];
		paramList[0] = svcKeiNo;		// サービス契約番号
		paramList[1] = koptTelNo;		// 電話番号		
		paramList[2] = super.opeDate;	// 予約適用年月日
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[2]);
		
		// サービス契約情報検索処理を実行します。
		executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_055(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap055 = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		
		super.logPrint.printDebugLog("selectSvcKeiTelNo055");
		
		return outDbMap055;
	}
	/**
	 * SQLKEY(KK_SELECT_055)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
					サービス契約番号
					電話番号
					予約適用年月日

	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	protected void executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_055(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue((param[0]==null)?null:param[0].toString());
		paramList.setValue((param[1]==null)?null:param[1].toString());
		paramList.setValue((param[2]==null)?null:param[2].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEIUW_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_SELECT_055);
	}
	
// IT2-2021-0000020対応 20210607 星野 ADD START
	/**
	 * SQLKEY(KK_SELECT_006)で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_MSKM_DTL_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.selectBySqlDefine(paramList, KK_T_MSKM_DTL_KK_SELECT_006);
	}
// IT2-2021-0000020対応 20210607 星野 ADD END
	// ANK-4174-00-00 ADD START
	/**
	 * お客様TBLの検索を行い、契約者住所情報を取得します。(CK_SELECT_002)
	 * <br>
	 * @param searchJkn_svcKeiNo サービス契約番号
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private JBSbatCommonDBInterface selectCust002(String sysid) throws Exception
	{
		super.logPrint.printDebugLog("selectCust002_START");
		
		// お客様TBLを検索して契約者住所情報を取得します。
		// お客様TBL検索条件項目を設定します。
		Object[] paramList = new Object[2];
		paramList[0] = sysid;		// サービス契約番号
		paramList[1] = super.opeDate;	// 予約適用年月日
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		
		// お客様情報検索処理を実行します。
		executeCK_T_CUST_CK_SELECT_002(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap002 = db_CK_T_CUST.selectNext();
		
		super.logPrint.printDebugLog("selectCust002_END");
		
		return outDbMap002;
	}
	/**
	 * SQLKEY(CK_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 executeCK_T_CUST_CK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue((param[0]==null)?null:param[0].toString());
		paramList.setValue((param[1]==null)?null:param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_CK_SELECT_002);
	}

	// ANK-4174-00-00 ADD END
	// ANK-4240-00-00 ADD START
	/**
	 * サービス契約TBLの検索を行い、カレントのサービス契約情報を取得します。(KK_SELECT_331)
	 * <br>
	 * @param searchJkn_svcKeiNo サービス契約番号
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private JBSbatCommonDBInterface selectSvcKei331(String svcKeiNo) throws Exception
	{
		super.logPrint.printDebugLog("selectSvcKei331_START");
		
		// サービス契約TBLを検索して契約者住所情報を取得します。
		// サービス契約TBL検索条件項目を設定します。
		Object[] paramList = new Object[2];
		paramList[0] = svcKeiNo;		// サービス契約番号
		paramList[1] = super.opeDate;	// 予約適用年月日
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		
		// サービス契約情報検索処理を実行します。
		executeKK_T_SVC_KEI_KK_SELECT_331(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap331 = db_KK_T_SVC_KEI.selectNext();
		
		super.logPrint.printDebugLog("selectSvcKei331_END");
		
		return outDbMap331;
	}
	/**
	 * SQLKEY(KK_SELECT_331)で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_KK_SELECT_331(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue((param[0]==null)?null:param[0].toString());
		paramList.setValue((param[1]==null)?null:param[1].toString());
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_331);
	}
	
	/**
	 * 回線対象サービス契約TBLの検索を行い、契約者住所情報を取得します。(KK_SELECT_049)
	 * <br>
	 * @param searchJkn_svcKeiNo サービス契約番号
	 * @return JBSbatCommonDBInterface 入出力インターフェースオブジェクト
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private JBSbatCommonDBInterface selectKaisenTgSvKei049(String svcKeiNo, String sysid) throws Exception
	{
		super.logPrint.printDebugLog("selectKaisenTgSvKei049_START");
		
		// 回線対象サービス契約TBLを検索して契約者住所情報を取得します。
		// 回線対象サービス契約TBL検索条件項目を設定します。
		Object[] paramList = new Object[7];
		paramList[0] = svcKeiNo;		// サービス契約番号
		paramList[1] = super.opeDate;	// 回線内訳使用開始年月日
		paramList[2] = super.opeDate;	// 回線内訳使用開始年月日
		paramList[3] = super.opeDate;	// 予約適用年月日
		paramList[4] = super.opeDate;	// 回線内訳使用開始年月日
		paramList[5] = super.opeDate;	// 回線内訳使用開始年月日
		paramList[6] = sysid;			// SYSID
		
		super.logPrint.printDebugLog("paramList[0]：" + paramList[0]);
		super.logPrint.printDebugLog("paramList[1]：" + paramList[1]);
		super.logPrint.printDebugLog("paramList[2]：" + paramList[2]);
		super.logPrint.printDebugLog("paramList[3]：" + paramList[3]);
		super.logPrint.printDebugLog("paramList[4]：" + paramList[4]);
		super.logPrint.printDebugLog("paramList[5]：" + paramList[5]);
		super.logPrint.printDebugLog("paramList[6]：" + paramList[6]);
		
		// 回線対象サービス契約情報検索処理を実行します。
		executeKK_T_KAISEN_TG_SVKEI_KK_SELECT_049(paramList);
		
		// 検索結果を取得します。
		JBSbatCommonDBInterface outDbMap049 = db_KK_T_KAISEN_TG_SVKEI.selectNext();
		
		super.logPrint.printDebugLog("selectKaisenTgSvKei049_END");
		
		return outDbMap049;
	}
	
	/**
	 * SQLKEY(KK_SELECT_049)で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_KAISEN_TG_SVKEI_KK_SELECT_049(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue((param[0]==null)?null:param[0].toString());
		paramList.setValue((param[1]==null)?null:param[1].toString());
		paramList.setValue((param[2]==null)?null:param[2].toString());
		paramList.setValue((param[3]==null)?null:param[3].toString());
		paramList.setValue((param[4]==null)?null:param[4].toString());
		paramList.setValue((param[5]==null)?null:param[5].toString());
		paramList.setValue((param[6]==null)?null:param[6].toString());
		
		// DBアクセスを実行します
		db_KK_T_KAISEN_TG_SVKEI.selectBySqlDefine(paramList, KK_T_KAISEN_TG_SVKEI_KK_SELECT_049);
	}
	// ANK-4240-00-00 ADD END
}