/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKVlanIdMktsListSks
*	ソースファイル名	：JBSbatKKVlanIdMktsListSks.java
*	作成者				：富士通　
*	作成日				：2012年05月15日
*＜機能概要＞
*　VLAN-ID未確定者リスト作成部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/05/15   富士通		新規作成
*	v49.00.00	2020/06/15   J.Hortilano	OM-2018-0001114
*   v61.00.00   2023/04/11   FJ）藤本涼   【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応
*********************************************************************/
package eo.business.service;

import java.text.ParseException;
import java.util.HashMap;

import com.fujitsu.futurity.common.JCMLogMasking;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKKBatCommon;
import eo.business.common.JPCBatCommon;
import eo.business.util.file.JBSbatKKIFE152;
import eo.business.util.file.JBSbatKKIFM451;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.util.JKKStringUtil;
import eo.common.util.JPCDateUtil;
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;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKVlanIdMktsListSks extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_EOH_TEL = "KK_T_SVC_KEI_EOH_TEL";

	/** テーブル(業務パラメータ管理)*/
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";

	/** SQL定義キー(KK_SELECT_003)*/
// ST4-2013-0000297 2013.04.09 bando start
//	private static final String KK_T_SVC_KEI_EOH_TEL_KK_SELECT_003 = "KK_SELECT_003";
// ST4-2013-0000297 2013.04.09 bando end
	/** SQL定義キー(KK_SELECT_017)*/
	private static final String ZM_M_WORK_PARAM_KNRI_KK_SELECT_017 = "KK_SELECT_017";

	/** テーブルアクセスクラス(サービス契約＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_EOH_TEL = null;

	/** テーブルアクセスクラス(業務パラメータ管理)*/
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
	
	/** テーブル(回線対象サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KAISEN_TG_SVKEI = "KK_T_KAISEN_TG_SVKEI";
	/** SQL定義キー(KK_SELECT_253)*/
	private static final String KK_T_KAISEN_TG_SVKEI_KK_SELECT_030 = "KK_SELECT_030";
	/** テーブルアクセスクラス(回線対象サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KAISEN_TG_SVKEI = null;

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";
// OM-2018-00011140 引継資料 J.Hortilano Delete Start
//	/** SQL定義キー(KK_SELECT_253)*/
//	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_100 = "KK_SELECT_100";
// OM-2018-00011140 引継資料 J.Hortilano Delete Start
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;
// ST4-2013-0000297 2013.04.02 suzuki add end
// ST4-2013-0000297 2013.04.09 bando add start
	/** テーブル(番ポ工事)*/
	private static final String D_TBL_NAME_TU_T_BMP_KOJI = "TU_T_BMP_KOJI";
// OM-2018-00011140 引継資料 J.Hortilano Delete Start
//	/** SQL定義キー(KK_SELECT_010)*/
//	private static final String TU_T_BMP_KOJI_KK_SELECT_010 = "KK_SELECT_010";
// OM-2018-00011140 引継資料 J.Hortilano Delete Start
	/** テーブルアクセスクラス(番ポ工事)*/
	private JBSbatSQLAccess db_TU_T_BMP_KOJI = null;

	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";
	/** SQL定義キー(KK_SELECT_008)*/
	private static final String CK_T_CUST_KK_SELECT_008 = "KK_SELECT_008";
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;
	
	/** テーブル(マンション物件)*/
	private static final String D_TBL_NAME_KK_T_MANSION_BUKKEN = "KK_T_MANSION_BUKKEN";
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_MANSION_BUKKEN_KK_SELECT_004 = "KK_SELECT_004";
	/** テーブルアクセスクラス(マンション物件)*/
	private JBSbatSQLAccess db_KK_T_MANSION_BUKKEN = null;
	
	/** テーブル(コード名称管理)*/
	private static final String D_TBL_NAME_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String ZM_M_CD_NM_KANRI_KK_SELECT_004 = "KK_SELECT_004";
	/** テーブルアクセスクラス(コード名称管理)*/
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;
// ST4-2013-0000297 2013.04.09 bando add end
	
// ANK-1578-00-00 20131210 kurata Add Start	
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";
	/** SQL定義キー(KK_SELECT_174)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_280 = "KK_SELECT_280";
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
// ANK-1578-00-00 20131210 kurata Add End	
	
// OM-2018-0001114 引継資料 2020/06/15 J.Hortilano ADD START
	private static final String D_TBL_NAME_KK_T_KKOP_SVC_KEI = "KK_T_KKOP_SVC_KEI";
	/** SQL定義キー(KK_SELECT_021)*/
	private static final String KK_T_KKOP_SVC_KEI_KK_SELECT_021 = "KK_SELECT_021";
	/** テーブルアクセスクラス(機器オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKOP_SVC_KEI = null;
// OM-2018-0001114 引継資料 2020/06/15 J.Hortilano ADD END
	
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 単項目チェック項目マップ */
	private HashMap<String, String> singleChkKmkMap = null;

	/** 業務パラメータ抽出条件（配送完了日比較用運用日＋N日数） */
	public static final String KK_HAISO_FIN_YMD_N = "KK_HAISO_FIN_YMD_N";

	/** 契約者名の最大文字数（バイト数×） */
	private static final int MAX_LENGTH_CUST_NM = 30;

	/** 住居タイプの最大文字数（バイト数×） */
	private static final int MAX_LENGTH_JHUKYO_TYPE= 8;

	/** 項番 **/
	int kouban = 1;
	
	/** 運用日付 */
	private String unyoDate = null;
	
	/** 業務パラメータ抽出条件（配送完了日比較用運用日＋N日数） */
	private String nDay = null;

	/** 運用日付+N */
	String unyoDateAddN = null;

// ST4-2013-0000297 2013.04.09 bando add start
	private HashMap<String, String> cdMap = null;

	private String svcKeiNoBef = null;
// ST4-2013-0000297 2013.04.09 bando add end

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_EOH_TEL);
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		
// ST4-2013-0000297 2013.04.02 suzuki add start
		// ネットの同時申込判定
		db_KK_T_KAISEN_TG_SVKEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAISEN_TG_SVKEI);
		// 番ポ
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
// ST4-2013-0000297 2013.04.02 suzuki add end

// ST4-2013-0000297 2013.04.09 bando add start
		// 番ポ工事
		db_TU_T_BMP_KOJI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_TU_T_BMP_KOJI);
		// お客様
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		// マンション物件
		db_KK_T_MANSION_BUKKEN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MANSION_BUKKEN);
		// コード名称管理
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_CD_NM_KANRI);
// ST4-2013-0000297 2013.04.09 bando add end
		
// ANK-1578-00-00 Kurata 20131210 Add Start		
		// サービス契約
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
// ANK-1578-00-00 Kurata 20131210 Add End		
// OM-2018-0001114 引継資料 2020/26/15 J.Hortilano ADD START
		db_KK_T_KKOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKOP_SVC_KEI);
// OM-2018-0001114 引継資料 2020/26/15 J.Hortilano ADD END
		
		
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
		
		// 運用日付
		unyoDate = commonItem.getOpeDate();
		
		// 業務パラメータ取得(KK_SELECT_017)
		executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017(getWorkParamKnri_S017Param());
		
		JBSbatCommonDBInterface pPlanMap = new JBSbatCommonDBInterface();
		pPlanMap = db_ZM_M_WORK_PARAM_KNRI.selectNext();
		if (pPlanMap != null) {
			nDay = pPlanMap.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
		} else {
			nDay = commonItem.getFreeItem();
		}

		// 単項目チェック用Map生成
		singleChkKmkMap = new HashMap<String, String>();
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_KEI_NO", "サービス契約＜ｅｏ光電話＞.サービス契約番号");
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.HAISO_FIN_YMD", "光電話用ＶＡの配送.配送完了年月日");
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.CUST_NM", "お客様.お客様名");
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.JHUKYO_TYPE", "住居タイプ（ホーム／マンション／メゾンのいずれか）");
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_STA_YTI_YMD", "サービス開始予定日（ＶＡ出荷日＋１０日）");
		singleChkKmkMap.put("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_CHRG_STA_YTI_YMD", "サービス課金開始予定日");
		
		
		// 運用日付+N
		int ndy = Integer.parseInt(nDay);
		unyoDateAddN = JPCDateUtil.addDay(unyoDate, ndy);

// ST4-2013-0000297 2013.04.09 bando add start
		executeZM_M_CD_NM_KANRI_KK_SELECT_004();
		JBSbatCommonDBInterface resultMapCd = db_ZM_M_CD_NM_KANRI.selectNext();
		cdMap = new HashMap<String, String>();
		// コード名称管理の検索結果をマップに設定する（コード値：コード名称）
		while(null != resultMapCd){
			cdMap.put(resultMapCd.getString("CD_DIV"),resultMapCd.getString("CD_DIV_NM"));
			resultMapCd = db_ZM_M_CD_NM_KANRI.selectNext();
		}
// ST4-2013-0000297 2013.04.09 bando add end
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
// ST4-2013-0000297 2013.04.09 bando start
//	public JBSbatOutputItem execute() throws Exception
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
// ST4-2013-0000297 2013.04.09 bando end
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		super.logPrint.printDebugLog("execute start");
		super.logPrint.printDebugLog("業務パラメータ：nDay = " + nDay);
		// 出力情報保持部品
		JBSbatOutputItem outItem = new JBSbatOutputItem();
		
// ST4-2013-0000297 2013.04.09 bando start
		// VLAN-ID未確定者リスト取得(KK_SELECT_003)
//		executeKK_T_SVC_KEI_EOH_TEL_KK_SELECT_003(getWorkParamKnri_S003Param());
			
//		JBSbatCommonDBInterface resultMap = new JBSbatCommonDBInterface();
//		resultMap = db_KK_T_SVC_KEI_EOH_TEL.selectNext();
		
//		String svcKeiNoBef = "";
		
//		while(null != resultMap)
		if(null != inMap)
// ST4-2013-0000297 2013.04.09 bando end
		{
			
// ANK-1578-00-00 20131210 Kurata Add Start
			// 配送完了日を「出荷日・ＶＡ機能登録日」に事前に設定
			String syukkaYmd = inMap.getString(JBSbatKKIFM451.HAISO_FIN_YMD);
// ANK-1578-00-00 20131210 Kurata Add End

// ST4-2013-0000297 2013.04.02 suzuki add start
// ST4-2013-0000297 2013.04.09 bando start
//			String svcKeiNo = resultMap.getString(JBSbatKK_T_SVC_KEI_EOH_TEL.SVC_KEI_NO);
			String svcKeiNo = inMap.getString(JBSbatKKIFM451.SVC_KEI_NO);

			if (svcKeiNo.equals(svcKeiNoBef)) {
				// 同じサービス契約番号は対象外とする
//				resultMap = db_KK_T_SVC_KEI_EOH_TEL.selectNext();
//				continue;
				super.logPrint.printDebugLog("execute end：同一サービス契約番号");
				return new JBSbatOutputItem();
			}
// OM-2018-00011140 引継資料 J.Hortilano Delete Start
//// ST4-2013-0000297 2013.04.09 bando end
//			// サービス契約内訳(KK_SELECT_100)
//			executeKK_T_SVC_KEI_UCWK_KK_SELECT_100(svcKeiNo);
//			JBSbatCommonDBInterface resultMapUcwk = db_KK_T_SVC_KEI_UCWK.selectNext();
//
//			String bmpUm="";
//// ST4-2013-0000297 2013.04.09 bando start
////			String bmpKojiFinYmd="";
//// ST4-2013-0000297 2013.04.09 bando end
//			String bmpKojiFinYmdAdd10="";
//			if (resultMapUcwk != null) {
//				// 番ポ有無
//				bmpUm = resultMapUcwk.getString("BMP_UM");
//	
//				// 番ポ有のとき
//				if ( !JKKStringUtil.isNullBlank(bmpUm) && "1".equals(bmpUm)) {
//// ST4-2013-0000297 2013.04.09 bando start
//					// 番ポ工事(KK_SELECT_010)
//					executeTU_T_BMP_KOJI_KK_SELECT_010(resultMapUcwk.getString("SVC_KEI_UCWK_NO"));
//					JBSbatCommonDBInterface resultMapBmp = db_TU_T_BMP_KOJI.selectNext();
//					
//					// 番ポ工事完了日+10日(番ポ工事完了日 is null のときは null）
////					bmpKojiFinYmdAdd10 = resultMapUcwk.getString("BMP_KOJI_FIN_YMD_ADD10");
//					if(resultMapBmp != null){
//						bmpKojiFinYmdAdd10 = resultMapBmp.getString("BMP_KOJI_FIN_YMD_ADD10");
//					}
//// ST4-2013-0000297 2013.04.09 bando end
//					// 番ポ有で番ポ工事完了日が未設定の場合：対象外にする
//					if (JKKStringUtil.isNullBlank(bmpKojiFinYmdAdd10)) {
//						// 対象外とする
//// ST4-2013-0000297 2013.04.09 bando start
////						resultMap = db_KK_T_SVC_KEI_EOH_TEL.selectNext();
////						continue;
//						super.logPrint.printDebugLog("execute end：番ポ工事完了日未設定");
//						return new JBSbatOutputItem();
//// ST4-2013-0000297 2013.04.09 bando end
//					}
//					// 番ポ工事完了日＋１０ ＜＝ 運用日＋Ｎ のときは出力対象
//					if (bmpKojiFinYmdAdd10.compareTo(unyoDateAddN) > 0){
//						// 対象外とする
//// ST4-2013-0000297 2013.04.09 bando start
////						resultMap = db_KK_T_SVC_KEI_EOH_TEL.selectNext();
////						continue;
//						super.logPrint.printDebugLog("execute end：番ポ工事完了日＋１０＞運用日＋Ｎ");
//						return new JBSbatOutputItem();
//// ST4-2013-0000297 2013.04.09 bando end
//					}
//				}
//			}
// OM-2018-00011140 引継資料 J.Hortilano Delete End


			// サービス契約回線内訳番号
// ST4-2013-0000297 2013.04.09 bando start
//			String svcKeiKaiUcwkNo = resultMap.getString("SVC_KEI_KAISEN_UCWK_NO");
			String svcKeiKaiUcwkNo = inMap.getString(JBSbatKKIFM451.SVC_KEI_KAISEN_UCWK_NO);
// ST4-2013-0000297 2013.04.09 bando end
			// ネット同時の判定
			// 回線対象サービス契約(KK_SELECT_030)：サービス契約回線内訳番号からサービス契約をたどってネットサービスを特定
			// SYSID指定だと別利用場所のネットサービスを取得する可能性があるので、同じ回線内訳の契約を取得する。
			executeKK_T_KAISEN_TG_SVKEI_KK_SELECT_030(svcKeiKaiUcwkNo);
			JBSbatCommonDBInterface resultMapNet = db_KK_T_KAISEN_TG_SVKEI.selectNext();
			String netSvcChrgStaYmdSla="";
			if(resultMapNet != null) {
				netSvcChrgStaYmdSla = resultMapNet.getString("SVC_CHRG_STAYMD_SLA");
			}
// ST4-2013-0000297 2013.04.02 suzuki add end
			
// ST4-2013-0000297 2013.04.09 bando start
			// 単項目チェック関数呼出
//			if (!isSingleCheckKK_T_SVC_KEI_EOH_TEL_KK_SELECT_003(resultMap.getMap(), singleChkKmkMap))
			if (!isSingleCheckKK_T_SVC_KEI_EOH_TEL_KK_SELECT_003(inMap.getMap(), singleChkKmkMap))
// ST4-2013-0000297 2013.04.09 bando end
			{
				// エラーフラグ設定
				super.commonItem.setErrFlg(true);
				// 出力情報を返却
				return new JBSbatOutputItem();
			}
			
			
// ANK-1578-00-00 20131210 Kurata Add Start
			
			// 多機能ルーター又はＨＧＷならすでに設置済みか判断する。
			String tak_kksbt_cd  = inMap.getString(JBSbatKKIFM451.TAKNKIKI_SBT_CD);
			// ANK-4315-00-00 MOD START
//			if ("R0".equals(tak_kksbt_cd)) {
			if ("R0".equals(tak_kksbt_cd) || "S0".equals(tak_kksbt_cd)) {
			// ANK-4315-00-00 MOD END

// OM-2018-00011140 引継資料 J.Hortilano Add Start
				String svcKeiKaisenUcwkNo = inMap.getString(JBSbatKKIFM451.SVC_KEI_KAISEN_UCWK_NO);
				Object[] setParamKk = {this.opeDate, this.opeDate, svcKeiKaisenUcwkNo};
				
				executeKK_T_KKOP_SVC_KEI_KK_SELECT_021(setParamKk);
				JBSbatCommonDBInterface resultMapKkTKkopSvcKeiKkSelect021 = db_KK_T_KKOP_SVC_KEI.selectNext();
				
				if (resultMapKkTKkopSvcKeiKkSelect021 == null) {
					// 対象外とする
					super.logPrint.printDebugLog("execute end：ＶＡ機能オプションなし");
					return new JBSbatOutputItem();

				}
// OM-2018-00011140 引継資料 J.Hortilano Add End
					// サービス契約より照査年月日＋10を取得
					String svcKeiNoR0 = inMap.getString(JBSbatKKIFM451.SVC_KEI_NO);
					executeKK_T_SVC_KEI_KK_SELECT_280(svcKeiNoR0);
					JBSbatCommonDBInterface resultMapTelSvcKei = db_KK_T_SVC_KEI.selectNext();

					String telSvcShosaYmd="";
					String telSvcShosaYmdAdd10="";
					if(resultMapTelSvcKei != null) {
						
						// 照査日、照査日＋１０を取得
						telSvcShosaYmdAdd10 = resultMapTelSvcKei.getString("SHOSA_YMD_ADD10");
						telSvcShosaYmd = resultMapTelSvcKei.getString("SHOSA_YMD");
						if ((!JKKStringUtil.isNullBlank(telSvcShosaYmdAdd10)) && (!JKKStringUtil.isNullBlank(telSvcShosaYmd))) {

							// 配送完了日 ＜＝　照査年月日のときは多機能ルーター設置済み
							String haisoFinYmd = inMap.getString(JBSbatKKIFM451.HAISO_FIN_YMD);
// OM-2018-00011140 引継資料 J.Hortilano Mod Start
//							if (telSvcShosaYmd.compareTo(haisoFinYmd) > 0){
							if (haisoFinYmd != null && !"".equals(haisoFinYmd) && telSvcShosaYmd.compareTo(haisoFinYmd) > 0){
// OM-2018-00011140 引継資料 J.Hortilano Mod End
								// 照査年月日＋１０ ＜＝ 運用日＋Ｎ のときは出力対象を判定する
								if (telSvcShosaYmdAdd10.compareTo(unyoDateAddN) <= 0){
									// 照査年月日で「出荷日・ＶＡ機能登録日」を上書き
									syukkaYmd = telSvcShosaYmd;
								} else {
									// 対象外とする
									super.logPrint.printDebugLog("execute end：照査年月日＋１０＞運用日＋Ｎ");
									return new JBSbatOutputItem();
								}
							}
						}
					}
			}
// ANK-1578-00-00 20131210 Kurata Add End
			

			// 出力情報を設定するMap
			JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
			
			// 項番 
			outMap.setString(JBSbatKKIFE152.KOU_NO, JPCBatCommon.fillZero(String.valueOf(kouban++), 4, false));
			
			// サービス契約番号
// ST4-2013-0000297 2013.04.09 bando start
//			outMap.setString(JBSbatKKIFE152.SV_KEI_NO, resultMap.getString(JBSbatKK_T_SVC_KEI_EOH_TEL.SVC_KEI_NO));
			outMap.setString(JBSbatKKIFE152.SV_KEI_NO, svcKeiNo);

			// ＶＡ出荷日
//			outMap.setString(JBSbatKKIFE152.SHUKKA_YMD, resultMap.getString(JBSbatDK_T_HAISO.HAISO_FIN_YMD));
// ANK-1578-00-00 20131210 Kurata Mod Start			
//			outMap.setString(JBSbatKKIFE152.SHUKKA_YMD, addSlash(inMap.getString(JBSbatKKIFM451.HAISO_FIN_YMD)));
			// 出荷日もしくはＶＡ機能登録日をセット
			outMap.setString(JBSbatKKIFE152.SHUKKA_YMD, addSlash(syukkaYmd));
// ANK-1578-00-00 20131210 Kurata Mod End			
			
			//  契約者名 
			executeCK_T_CUST_KK_SELECT_008(inMap.getString(JBSbatKKIFM451.SYSID));
			JBSbatCommonDBInterface resultMapCust = db_CK_T_CUST.selectNext();
			// お客様スキーマの検索に失敗した場合は出力対象としない
			if(null == resultMapCust){
				kouban--;
				super.logPrint.printDebugLog("execute end：お客様スキーマ取得失敗");
				return new JBSbatOutputItem();
			}
//			outMap.setString(JBSbatKKIFE152.CUST_NM, JKKBatCommon.getLCutString(resultMap.getString(JBSbatCK_T_CUST.CUST_NM), MAX_LENGTH_CUST_NM));
			outMap.setString(JBSbatKKIFE152.CUST_NM, JKKBatCommon.getLCutString(resultMapCust.getString("CUST_NM"), MAX_LENGTH_CUST_NM));
			
			//  住居タイプ
			executeKK_T_MANSION_BUKKEN_KK_SELECT_004(inMap.getString(JBSbatKKIFM451.MANSION_BUKKEN_NO));
			JBSbatCommonDBInterface resultMapMansion = db_KK_T_MANSION_BUKKEN.selectNext();
			String jhukyoType ="";
			// 住居タイプの特定
			if(null == resultMapMansion){
				jhukyoType = "ホーム";
			} else {
				jhukyoType = cdMap.get(resultMapMansion.getString("MANSION_BUKKEN_CD"));
			}
//			outMap.setString(JBSbatKKIFE152.JKYO_TYPE_SKBT_CD, JKKBatCommon.getLCutString(resultMap.getString("JHUKYO_TYPE"), MAX_LENGTH_JHUKYO_TYPE));
			outMap.setString(JBSbatKKIFE152.JKYO_TYPE_SKBT_CD, JKKBatCommon.getLCutString(jhukyoType, MAX_LENGTH_JHUKYO_TYPE));
// ST4-2013-0000297 2013.04.09 bando end			
			//  サービス開始予定日 
// ST4-2013-0000297 2013.04.02 suzuki add start
			String svcStaYoteiYmd = "";
// OM-2018-00011140 引継資料 J.Hortilano Mod Start
//			if("1".equals(bmpUm)) {
//				// 番ポ有の場合：ここの時点ではbmpKojiFinYmdAdd10には値が入っている。
//				svcStaYoteiYmd = bmpKojiFinYmdAdd10;
//			} else {
			if("".equals(syukkaYmd)) {
				// 番ポ有の場合：ここの時点ではbmpKojiFinYmdAdd10には値が入っている。
				svcStaYoteiYmd = inMap.getString(JBSbatKKIFM451.BMP_KOJI_FIN_YMD);
			} else {
// OM-2018-00011140 引継資料 J.Hortilano Mod End
// ST4-2013-0000297 2013.04.02 suzuki add end
// ST4-2013-0000297 2013.04.09 bando start
//				svcStaYoteiYmd = resultMap.getString("SVC_STA_YTI_YMD");
				// 配送完了予定日＋１０日

// ANK-1578-00-00 20131210 Kurata Add Start
//				svcStaYoteiYmd = JPCDateUtil.addDay(inMap.getString(JBSbatKKIFM451.HAISO_FIN_YMD), 10);
				svcStaYoteiYmd = JPCDateUtil.addDay(syukkaYmd, 10);
// ANK-1578-00-00 20131210 Kurata Add End
// ST4-2013-0000297 2013.04.09 bando end
			}
			
// ST4-2013-0000297 2013.04.02 suzuki add start
			// スラッシュ編修して設定
			outMap.setString(JBSbatKKIFE152.SVC_STA_YMD_EO_NET, addSlash(svcStaYoteiYmd));
			
			// 設定したサービス開始予定日の翌月月初
			String svcStaYmdSetNextMonSla = getNextMonth1stSla(svcStaYoteiYmd);
			
			//  サービス課金開始予定日
			// ネットの同時申込あり
			if (!JKKStringUtil.isNullBlank(netSvcChrgStaYmdSla)) {
				// 設定したサービス開始予定日の翌月月初 と ネットのサービス課金開始予定日 の大きい方
				String ret = getLage(svcStaYmdSetNextMonSla, netSvcChrgStaYmdSla);
				outMap.setString(JBSbatKKIFE152.SVC_CHRG_STAYMD_EO_NET, ret);
			} else {
				outMap.setString(JBSbatKKIFE152.SVC_CHRG_STAYMD_EO_NET, svcStaYmdSetNextMonSla);
			}
// ST4-2013-0000297 2013.04.02 suzuki add end

			// 出力フラグON
			outMap.setOutFlg(true);
			// 出力データを格納
			outItem.addOutMapList(outMap);
			
			// 入力ＤＢのレコードをログ出力する
			super.logPrint.printDebugLog(JCMLogMasking.maskingMap(outMap.getMap(), "KK_T_SVC_KEI_EOH_TEL:KK_SELECT_003"));

			svcKeiNoBef = svcKeiNo;
// ST4-2013-0000297 2013.04.09 bando start
//			resultMap = db_KK_T_SVC_KEI_EOH_TEL.selectNext();
// ST4-2013-0000297 2013.04.09 bando end
		}
		super.logPrint.printDebugLog("execute end");
		
		return outItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}


	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI_EOH_TEL.close();
		db_ZM_M_WORK_PARAM_KNRI.close();
// ST4-2013-0000297 2013.04.02 suzuki add start
		db_KK_T_KAISEN_TG_SVKEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
// ST4-2013-0000297 2013.04.02 suzuki add end
		
// ANK-1578-00-00 20131211 Kurata add start
		db_TU_T_BMP_KOJI.close();
		db_CK_T_CUST.close();
		db_KK_T_MANSION_BUKKEN.close();
		db_ZM_M_CD_NM_KANRI.close();
		db_KK_T_SVC_KEI.close();
// ANK-1578-00-00 20131211 Kurata add end
		
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	運用日付
	 *		 	業務PRM
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
// ST4-2013-0000297 2013.04.09 bando start
//	private void executeKK_T_SVC_KEI_EOH_TEL_KK_SELECT_003(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());
// ST4-2013-0000297 2013.04.02 suzuki del start
//		paramList.setValue(param[8].toString());
//		paramList.setValue(param[9].toString());
//		paramList.setValue(param[10].toString());
// ST4-2013-0000297 2013.04.02 suzuki del end

//		// DBアクセスを実行します
//		db_KK_T_SVC_KEI_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVC_KEI_EOH_TEL_KK_SELECT_003);
//	}
// ST4-2013-0000297 2013.04.09 bando end
	/**
	 *入力情報（サービス契約＜ｅｏ光電話＞）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_KEI_NO			サービス契約＜ｅｏ光電話＞.サービス契約番号
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.HAISO_FIN_YMD			サービス契約＜ｅｏ光電話＞.配送完了年月日
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.CUST_NM			サービス契約＜ｅｏ光電話＞.お客様名
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.JHUKYO_TYPE			サービス契約＜ｅｏ光電話＞.JHUKYO_TYPE
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_STA_YTI_YMD			サービス契約＜ｅｏ光電話＞.SVC_STA_YTI_YMD
	 *			 DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_CHRG_STA_YTI_YMD			サービス契約＜ｅｏ光電話＞.SVC_CHRG_STA_YTI_YMD
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	@SuppressWarnings("unchecked")
	private boolean isSingleCheckKK_T_SVC_KEI_EOH_TEL_KK_SELECT_003(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// サービス契約番号項目チェック
		strValue = (String)rsMap.get("SVC_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_KEI_NO")});
			return false;
		}

// OM-2018-00011140 引継資料 星野 Delete Start
//		// 配送完了年月日項目チェック
//		strValue = (String)rsMap.get("HAISO_FIN_YMD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.HAISO_FIN_YMD")});
//			return false;
//		}
// OM-2018-00011140 引継資料 星野 Delete END

// ST4-2013-0000297 2013.04.09 bando start
//		// お客様名項目チェック
//		strValue = (String)rsMap.get("CUST_NM");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.CUST_NM")});
//			return false;
//		}

//		// JHUKYO_TYPE項目チェック
//		strValue = (String)rsMap.get("JHUKYO_TYPE");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.JHUKYO_TYPE")});
//			return false;
//		}

//		// SVC_STA_YTI_YMD項目チェック
//		strValue = (String)rsMap.get("SVC_STA_YTI_YMD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_STA_YTI_YMD")});
//			return false;
//		}
// ST4-2013-0000297 2013.04.09 bando end

// ST4-2013-0000297 2013.04.02 suzuki del start
//		// SVC_CHRG_STA_YTI_YMD項目チェック
//		strValue = (String)rsMap.get("SVC_CHRG_STA_YTI_YMD");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("DB-KK_T_SVC_KEI_EOH_TEL-KK_SELECT_003.SVC_CHRG_STA_YTI_YMD")});
//			return false;
//		}
// ST4-2013-0000297 2013.04.02 suzuki del end

		return true;
	}

	/**
	 * SQLKEY(KK_SELECT_017)で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 executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017(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_ZM_M_WORK_PARAM_KNRI.selectBySqlDefine(paramList, ZM_M_WORK_PARAM_KNRI_KK_SELECT_017);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * SQLKEY(KK_SELECT_017)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param
	 * @return param SQLKEY(KK_SELECT_017)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWorkParamKnri_S017Param() throws Exception
	{
		Object[] ret_Param = {
				KK_HAISO_FIN_YMD_N,	// 業務パラメータ抽出条件（配送完了日比較用運用日＋N日数）
				unyoDate,	// バッチ運用日
				unyoDate	// バッチ運用日
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param
	 * @return param SQLKEY(KK_SELECT_017)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
// ST4-2013-0000297 2013.04.09 bando start
//	private Object[] getWorkParamKnri_S003Param() throws Exception
//	{
//		Object[] ret_Param = {
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
// ST4-2013-0000297 2013.04.02 suzuki del start
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
//				unyoDate,	// バッチ運用日
// ST4-2013-0000297 2013.04.02 suzuki del end
//				nDay	// 業務パラメータ（配送完了日比較用運用日＋N日数）
//		};
//		return ret_Param;
//	}
// ST4-2013-0000297 2013.04.09 bando end

// OM-2018-00011140 引継資料 J.Hortilano Delete Start
//	/**
//	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
//	 * <p>
//	 * <b>処理フロー</b><br>
//	 * <pre>
//	 * 1.引数でバイント変数を設定します。<br>
//	 *
//	 * 2.DBアクセスを実行します。<br>
//	 * 
//	 * 3.メソッドの呼び出し方です。<br>
//	 *		引数:
//	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	運用日付
//	 *		 	業務PRM
//	 * </pre>
//	 * <p>
//	 * @param param バイント変数の値配列。
//	 * @throws Exception 業務サービス内で発生した例外全般。
//	 */
//	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_100(String svcKeiNo) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(svcKeiNo);
//		paramList.setValue(unyoDate);
//
//		// DBアクセスを実行します
//		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_100);
//	}
// OM-2018-00011140 引継資料 J.Hortilano Delete End
	
	private void executeKK_T_KAISEN_TG_SVKEI_KK_SELECT_030(String svcKeiKaiUcwkNo) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(unyoDate);
		paramList.setValue(svcKeiKaiUcwkNo);
		paramList.setValue(unyoDate);
		paramList.setValue("01");

		// DBアクセスを実行します
		db_KK_T_KAISEN_TG_SVKEI.selectBySqlDefine(paramList, KK_T_KAISEN_TG_SVKEI_KK_SELECT_030);
	}
	
// ST4-2013-0000297 2013.04.09 bando add start
	private void executeZM_M_CD_NM_KANRI_KK_SELECT_004() throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue("CD01228");
		paramList.setValue(unyoDate);
		paramList.setValue(unyoDate);
		// DBアクセスを実行します
		db_ZM_M_CD_NM_KANRI.selectBySqlDefine(paramList, ZM_M_CD_NM_KANRI_KK_SELECT_004);
	}

// OM-2018-00011140 引継資料 J.Hortilano Delete Start
//	private void executeTU_T_BMP_KOJI_KK_SELECT_010(String svcKeiUcwkNo) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(svcKeiUcwkNo);
//
//		// DBアクセスを実行します
//		db_TU_T_BMP_KOJI.selectBySqlDefine(paramList, TU_T_BMP_KOJI_KK_SELECT_010);
//	}
// OM-2018-00011140 引継資料 J.Hortilano Delete End
	
	private void executeCK_T_CUST_KK_SELECT_008(String sysId) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(sysId);
		paramList.setValue(unyoDate);

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_008);
	}

	private void executeKK_T_MANSION_BUKKEN_KK_SELECT_004(String bukkenNo) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(bukkenNo);

		// DBアクセスを実行します
		db_KK_T_MANSION_BUKKEN.selectBySqlDefine(paramList, KK_T_MANSION_BUKKEN_KK_SELECT_004);
	}
	
// ANK-1578-00-00 20131210 kurata Add Start
	private void executeKK_T_SVC_KEI_KK_SELECT_280(String svcKeiNo) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(svcKeiNo);
		paramList.setValue(unyoDate);

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_280);
	}
// ANK-1578-00-00 20131210 kurata Add End
	

// OM-2018-0001114 引継資料 2020/06/15 J.Hortilano ADD START
	/**
	 * SQLKEY(KK_SELECT_021)で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_KKOP_SVC_KEI_KK_SELECT_021(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_KK_T_KKOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKOP_SVC_KEI_KK_SELECT_021);
	}
	// OM-2018-0001114 引継資料 2020/06/15 J.Hortilano ADD END


// ST4-2013-0000297 2013.04.09 bando add end
	private String  getNextMonth1stSla(String strYmd) throws ParseException {
		String svcStaYmdSetNextMon = JPCDateUtil.addMonth(strYmd, 1);
		
		return addSlash1st(svcStaYmdSetNextMon);
		
	}

	private String addSlash(String strYmd) {
		if (strYmd == null || strYmd.length() < 8) {
			return strYmd;
		}
		return strYmd.substring(0,4) + "/" + strYmd.substring(4, 6) + "/" + strYmd.substring(6);
	}

	private String addSlash1st(String strYmd) {
		if (strYmd == null || strYmd.length() < 8) {
			return strYmd;
		}
		return strYmd.substring(0,4) + "/" + strYmd.substring(4, 6) + "/" + "01";
	}

	private String getLage(String arg1, String arg2) {
		if (arg1.compareTo(arg2) > 0) {
			return arg1;
		} else {
			return arg2;
		}
	}
}