/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKSmtvlHuseigoInfCht
*	ソースファイル名	：JBSbatKKSmtvlHuseigoInfCht.java
*	作成者				：富士通　
*	作成日				：2013年01月19日
*＜機能概要＞
*　スマートバリュー不整合リスト抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2013/01/19  富士通		新規作成
*	v5.00.00	2013/04/10	FJ)上田		IT1-2013-0000837
*	v8.00.00	2014/06/08	FJ)星野		OM-2014-0001588
*	v19.00.00	2015/09/16	FJ)三浦		OM-2015-0001233
*	v27.00.00	2016/11/21	FJ)澤田		ANK-2522-00-00 スマートバリュー不整合リスト改善
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatInterface;
import eo.business.common.JKKBatCommon;
import eo.business.util.file.JBSbatKKIFE221;
import eo.business.util.file.JBSbatKKIFM615;
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 JBSbatKKSmtvlHuseigoInfCht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(他事業者割引契約対象契約)*/
	private static final String D_TBL_NAME_KK_T_TAJGSWKEI_TGKEI = "KK_T_TAJGSWKEI_TGKEI";

	// ANK-2522-00-00 2016/11/21 ADD START
	/** テーブル(住所変更明細)*/
	private static final String D_TBL_NAME_KK_T_ADCHG_DTL = "KK_T_ADCHG_DTL";
	/** テーブル(他事業者割引契約対象契約)*/
	private static final String D_TBL_NAME_KK_T_KDDI_WKEI_IDT = "KK_T_KDDI_WKEI_IDT";
	// ANK-2522-00-00 2016/11/21 ADD END
	
	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_005 = "KK_SELECT_005";

// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//	/** SQL定義キー(KK_SELECT_006)*/
//	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_006 = "KK_SELECT_006";
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END

	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_007 = "KK_SELECT_007";

	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_008 = "KK_SELECT_008";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_010)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_010 = "KK_SELECT_010";

// ST4-2013-0000384 2013.03.30 松本 ADD START
	/** SQL定義キー(KK_SELECT_011)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_011 = "KK_SELECT_011";
	
	/** SQL定義キー(KK_SELECT_012)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_012 = "KK_SELECT_012";
// ST4-2013-0000384 2013.03.30 松本 ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/** SQL定義キー(KK_SELECT_013)*/
	private static final String KK_T_TAJGSWKEI_TGKEI_KK_SELECT_013 = "KK_SELECT_013";
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

	// ANK-2522-00-00 2016/11/21 ADD START
	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_KDDI_WKEI_IDT_KK_SELECT_005 = "KK_SELECT_005";
	
	/** SQL定義キー(KK_SELECT_048)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_048 = "KK_SELECT_048";
	// ANK-2522-00-00 2016/11/21 ADD END
	
	/** テーブルアクセスクラス(他事業者割引契約対象契約)*/
	private JBSbatSQLAccess db_KK_T_TAJGSWKEI_TGKEI = null;
	
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/** テーブルアクセスクラス(他事業者割引契約対象契約)*/
	private JBSbatSQLAccess db_KK_T_TAJGSWKEI_TGKEI_01 = null;
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
	
// ST4-2013-0000384 2013.03.30 松本 ADD START
	/** テーブルアクセスクラス(住所変更明細)*/
	private JBSbatSQLAccess db_KK_T_ADCHG_DTL = null;
// ST4-2013-0000384 2013.03.30 松本 ADD END
	
	// ANK-2522-00-00 2016/11/21 ADD START
	/** テーブルアクセスクラス(住所変更明細)*/
	private JBSbatSQLAccess db_KK_T_ADCHG_DTL_01 = null;
	/** テーブルアクセスクラス(KDDI割引契約異動通知)*/
	private JBSbatSQLAccess db_KK_T_KDDI_WKEI_IDT = null;
	// ANK-2522-00-00 2016/11/21 ADD END
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	
	/** 他事業者割引契約番号 */
	private static final String TAJGS_WRIB_KEI_NO = "TAJGS_WRIB_KEI_NO";
	
	/** KDDIバリューコード */
	private static final String KDDI_VAL_CD = "KDDI_VAL_CD";
	
	/** 他事業者割引契約締結年月日 */
	private static final String TAJGS_WRIB_KEI_CNC_YMD = "TAJGS_WRIB_KEI_CNC_YMD";
	
	/** 他事業者通知抑止有無 */
	private static final String TAJGS_TCH_YOKSI_UM = "TAJGS_TCH_YOKSI_UM";
	
	/** サービスコード */
	private static final String SVC_CD = "SVC_CD";
	
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "SVC_KEI_NO";
	
	/** eo光ネット料金プラン体系識別コード */
	private static final String EOHNT_PPLAN_TIKI_SKCD = "EOHNT_PPLAN_TIKI_SKCD";
	
	/** サービス終了年月日 */
	private static final String SVC_ENDYMD = "SVC_ENDYMD";
	
	/** 他事業者割引契約解約年月日 */
// IT1-2013-0001209 2013.05.15 T.TORIKAI MOD START
//	private static final String DSL_TAJGS_TCH_YMD = "DSL_TAJGS_TCH_YMD";
// OM-2015-0001233 2015/09/16 MOD START
//	private static final String TAJGS_WRIB_KEI_DSL_YMD = "TAJGS_WRIB_KEI_DSL_YMD";
	private static final String DSL_TAJGS_TCH_YMD = "DSL_TAJGS_TCH_YMD";
// OM-2015-0001233 2015/09/16 MOD END
// IT1-2013-0001209 2013.05.15 T.TORIKAI MOD END
		
// ST4-2013-0000384 2013.04.03 松本 ADD START
	/** サービス契約ステータス */
	private static final String SVC_KEI_STAT = "SVC_KEI_STAT";
// ST4-2013-0000384 2013.04.03 松本 ADD END
	
	/** 抑止無し */
	private static final String YOKSI_OFF = "抑止無し";
	
	/** 抑止有り */
	private static final String YOKSI_ON = "抑止有り";
	
	/** 割引対象（定額制） */
	private static final String TAISYO = "割引対象";
	
	/** 割引対象外（従量制） */
	private static final String TAISYOGAI = "対象外";
	
	/** 抽出パターン１ */
	private static final String PTN_1 = "1";
	
	/** 抽出パターン２ */
	private static final String PTN_2 = "2";
// OM-2014-0001588対応 20140608 星野 ADD START
	/** 抽出パターン１or2 */
	private static final String PTN_1_2 = "1_2";
// OM-2014-0001588対応 20140608 星野 ADD END
	
	/** 抽出パターン３ */
	private static final String PTN_3 = "3";
	
	/** 抽出パターン４−１ */
	private static final String PTN_4_1 = "4_1";
	
	/** 抽出パターン４−２ */
	private static final String PTN_4_2 = "4_2";
	
	/** 抽出パターン５ */
	private static final String PTN_5 = "5";
	
	/** サービスコード（ネット） */
	private static final String SVC_CD_NET = "01";
	
	/** サービスコード（電話） */
	private static final String SVC_CD_TEL = "02";
	
	/** ネットプラン（定額制） */
	private static final String NET_PLAN_FIX = "0";
	
	/** ネットプラン（従量制） */
	private static final String NET_PLAN_RATE = "1";
	
	/** 連携抑止無し */
	private static final String RESTRICTION_OFF = "0";
	
	/** 連携抑止有り */
	private static final String RESTRICTION_ON = "1";
	
// ST4-2013-0000384 2013.04.03 松本 ADD START
	/** サービス契約ステータス：解約済 */
	private static final String KAIYAKU_ZUMI = "910";
// ST4-2013-0000384 2013.04.03 松本 ADD END
	
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/** サービス契約ステータス：キャンセル済 */
	private static final String CANCEL_ZUMI = "920";
	
	/** 日付の最大値 */
	private static final String MAX_DATE = "20991231";
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
	
	// IT1-2013-0000837 2013.04.10 ADD START
	/** スラッシュ */
	private static final String SLASH = "/";
	// IT1-2013-0000837 2013.04.10 ADD END
	
	// ANK-2522-00-00 2016/11/21 ADD START
	/** サービスコード */
	private static final String SQL_CNT = "CNT";
	// ANK-2522-00-00 2016/11/21 ADD END

	/** 運用日 */
	private  String opeDate = null;
	
	/** 課金開始までの経過期間 */
	private  String chargeStartPeriod = null;
	
	/** 解約連携後の経過期間 */
	private  String cancelContactPeriod = null;
	
	/** スマートバリュー不整合内容１ */
	private  String unmatchInfo_1 = null;
	
	/** スマートバリュー不整合内容２ */
	private  String unmatchInfo_2 = null;
	
	/** スマートバリュー不整合内容３ */
	private  String unmatchInfo_3 = null;
	
	/** スマートバリュー不整合内容４−１ */
	private  String unmatchInfo_4_1_1 = null;
	
	/** スマートバリュー不整合内容４−２ */
	private  String unmatchInfo_4_1_2 = null;
	
	/** スマートバリュー不整合内容４−３ */
	private  String unmatchInfo_4_2 = null;
	
	/** スマートバリュー不整合内容５ */
	private  String unmatchInfo_5 = null;
	
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/** 解約日より一定期間を超えて課金開始されていないかの判定期限となる日付 */
	private  String chargeNotStartLimitYmd = null;

	/** 解約日より一定期間を超えてＫＤＤＩから解約依頼連携がされていないかの判定期限となる日付 */
	private  String cancelRequestLimitYmd = null;
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_TAJGSWKEI_TGKEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TAJGSWKEI_TGKEI);
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
		db_KK_T_TAJGSWKEI_TGKEI_01 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TAJGSWKEI_TGKEI);
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
// ST4-2013-0000384 2013.04.01 松本 ADD START
		db_KK_T_ADCHG_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TAJGSWKEI_TGKEI);
// ST4-2013-0000384 2013.04.01 松本 ADD END
		// ANK-2522-00-00 2016/11/21 ADD START
		db_KK_T_ADCHG_DTL_01 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHG_DTL);
		
		db_KK_T_KDDI_WKEI_IDT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KDDI_WKEI_IDT);
		// ANK-2522-00-00 2016/11/21 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		
		// 運用日を取得
		opeDate = commonItem.getOpeDate();
		
		//課金開始までの経過期間を取得
		chargeStartPeriod = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_PRD_1");
		
		//解約連携後の経過期間を取得
		cancelContactPeriod = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_PRD_2");
		
		//スマートバリュー不整合内容１を取得
		unmatchInfo_1 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_1");
		
		//スマートバリュー不整合内容２を取得
		unmatchInfo_2 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_2");
		
		//スマートバリュー不整合内容３を取得
		unmatchInfo_3 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_3");
		
		//スマートバリュー不整合内容４を取得
		unmatchInfo_4_1_1 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_4");
		
		//スマートバリュー不整合内容５を取得
		unmatchInfo_4_1_2 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_5");
		
		//スマートバリュー不整合内容６を取得
		unmatchInfo_4_2 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_6");
		
		//スマートバリュー不整合内容７を取得
		unmatchInfo_5 = JKKBatCommon.getWorkParamSetteValue(commonItem, "KK_SMTVL_HUSEI_NYO_7");
		
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
		// 解約日より一定期間を超えて課金開始されていないかの判定期限となる日付を取得
		chargeNotStartLimitYmd = calDate(opeDate, chargeStartPeriod);

		// 解約日より一定期間を超えてＫＤＤＩから解約依頼連携がされていないかの判定期限となる日付を取得
		cancelRequestLimitYmd = calDate(opeDate, cancelContactPeriod);
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
		
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	public JBSbatOutputItem execute() throws Exception
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
// OM-2014-0001588対応 20140608 星野 MOD END
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		//出力電文を生成
		JBSbatOutputItem outputItem = new JBSbatOutputItem();
		
// OM-2014-0001588対応 20140608 星野 MOD START
//// IT1-2013-0001209 2013.05.15 T.TORIKAI MOD START
////// ST4-2013-0000384 2013.04.03 松本 DEL START 宣言する位置を変更
//////		//課金開始一定期間の計算
//////		String daysCharged = calDate(opeDate, chargeStartPeriod);
////// ST4-2013-0000384 2013.04.03 松本 DEL END
////		
////		//解約連携一定期間の計算
////		String daysCanceled = calDate(opeDate, cancelContactPeriod);
////		
////		//パターン１のリスト検索
////		executeDB(outputItem, PTN_1, "");
////		
////// ST4-2013-0000384 2013.04.03 松本 DEL START
//////		//パターン２のリスト検索
//////		executeDB(outputItem, PTN_2, daysCharged);
////// ST4-2013-0000384 2013.04.03 松本 DEL END
////		
////		//パターン３のリスト検索
////		executeDB(outputItem, PTN_3, daysCanceled);
////		
////		//パターン４−１のリスト検索
////		executeDB(outputItem, PTN_4_1, "");
////		
////		//パターン４−２のリスト検索
////		executeDB(outputItem, PTN_4_2, "");
////		
////		//パターン５のリスト検索
////		executeDB(outputItem, PTN_5, daysCanceled);
//
//		// パターン１、２抽出
//		outputPattern1and2(outputItem);
//		// パターン３抽出
//		outputPattern3or5(outputItem, PTN_3);
//		// パターン４−１抽出
//		outputPattern4(outputItem, PTN_4_1);
//		// パターン４−２抽出
//		outputPattern4(outputItem, PTN_4_2);
//		// パターン５抽出
//		outputPattern3or5(outputItem, PTN_5);
//// IT1-2013-0001209 2013.05.15 T.TORIKAI MOD END
		
		if(inMap==null){
			return outputItem;
		}
		
		// パターン１、２抽出
		outputPattern1and2(inMap, outputItem);
		// パターン３、５抽出
		outputPattern3or5(inMap, outputItem);
		// パターン４−１、４−２抽出
		outputPattern4(inMap, outputItem);
// OM-2014-0001588対応 20140608 星野 MOD END
		
		return outputItem;
		
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}
	
	
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//	/**
//	 * リスト抽出
//	 * @throws Exception
//	 */
//	private void executeDB(JBSbatOutputItem outputItem, String ptnNo, String param) throws Exception
//	{
//		//DBアクセス結果マップを生成
//		JBSbatCommonDBInterface resultDbMap = new JBSbatCommonDBInterface();
//		
//		//スマートバリュー不整合リストマップを生成
//		JBSbatServiceInterfaceMap outFileMap = new JBSbatServiceInterfaceMap();
//		
//		//パターン１
//		if(ptnNo.equals(PTN_1)){
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_005(new Object[]{opeDate, opeDate});
//		}
//// ST4-2013-0000384 2013.04.03 松本 DEL START
////		//パターン２
////		else if(ptnNo.equals(PTN_2)){
////			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_006(new Object[]{param, opeDate, opeDate, opeDate});
//// ST4-2013-0000384 2013.04.03 松本 DEL END
//		//パターン３
//		else if(ptnNo.equals(PTN_3)){
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_007(new Object[]{param, opeDate, opeDate});
//		}
//		//パターン４−１
//		else if(ptnNo.equals(PTN_4_1)){
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_008(new Object[]{opeDate, opeDate});
//		}
//		//パターン４−２
//		else if(ptnNo.equals(PTN_4_2)){
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_009(new Object[]{opeDate, opeDate});
//		}
//		//パターン５
//		else if(ptnNo.equals(PTN_5)){
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_010(new Object[]{param, opeDate, opeDate});
//		}
//		
//		//同一事業者契約管理番号識別フラグ
//		String jgsNoBuf = "";
//		//件数集計
//		int lstNo = 0;
//		
//// ST4-2013-0000384 2013.04.03 松本 ADD START
//		// 編集パターン
//		String editPtn  = "";
////ST4-2013-0000384 2013.04.03 松本 ADD END
//		
//		//不整合リスト編集
//		while((resultDbMap = db_KK_T_TAJGSWKEI_TGKEI.selectNext()) != null){
//			
//			//DB検索結果取得
//			//事業者契約管理番号
//			String jgsNo = JBSbatInterface.trim(resultDbMap.getString(TAJGS_WRIB_KEI_NO));
//			//バリューコード
//			String valueCd = JBSbatInterface.trim(resultDbMap.getString(KDDI_VAL_CD));
//			//適用開始日
//			String tStartDay = JBSbatInterface.trim(resultDbMap.getString(TAJGS_WRIB_KEI_CNC_YMD));
//			//連携抑止種類
//			String yksSbt = JBSbatInterface.trim(resultDbMap.getString(TAJGS_TCH_YOKSI_UM));
//			//サービスコード
//			String svcCd = JBSbatInterface.trim(resultDbMap.getString(SVC_CD));
//			//お客様ＩＤ
//			String custNo = JBSbatInterface.trim(resultDbMap.getString(SVC_KEI_NO));
//			//ネットサービス種別
//			String netSvcSbt = JBSbatInterface.trim(resultDbMap.getString(EOHNT_PPLAN_TIKI_SKCD));
//			//サービス終了日
//			String svcEndDay = JBSbatInterface.trim(resultDbMap.getString(SVC_ENDYMD));
//			//解約情報連携日
//			String cancelDay = JBSbatInterface.trim(resultDbMap.getString(DSL_TAJGS_TCH_YMD));
//// ST4-2013-0000384 2013.04.03 松本 ADD START
//			//サービス契約ステータス
//			String svcKeiStat = JBSbatInterface.trim(resultDbMap.getString(SVC_KEI_STAT));
//// ST4-2013-0000384 2013.04.03 松本 ADD END
//			
//			if (ptnNo.equals(PTN_1)) {
//// ST4-2013-0000384 2013.04.03 松本 MOD START
//				editPtn = "";
//				//課金開始一定期間の計算
//				String daysCharged = calDate(opeDate, chargeStartPeriod);
//
//				boolean juhenAri = isJuhenAri(custNo);
//				boolean juhenChu = isJuhenChu(custNo);
//				
//				if (!juhenAri) {
//					// 住所変更中以外の場合、編集パターン１
//					editPtn="1";
//				// 住所変更中で下記条件を全て満たす場合、編集パターン２
//				} else if (!juhenChu) {
//					// サービス契約.サービス終了年月日 < 課金開始一定期間の場合
//					if (null != svcEndDay && !"".equals(svcEndDay)) {
//						if (svcEndDay.compareTo(daysCharged) < 0) {
//							// サービス契約.サービス契約ステータスが解約済
//							if (KAIYAKU_ZUMI.equals(svcKeiStat)) {
//								editPtn="2";
//							}
//						}
//					}
//				}
//				// 編集パターン１にも２にも当てはまらない場合、対象外
//				if ("".equals(editPtn)) {
//					continue;
//				}
//			}
//			//同一事業者契約管理番号識別
//			if(!jgsNoBuf.equals(jgsNo) && lstNo != 0){
////				if(ptnNo.equals(PTN_1) || ptnNo.equals(PTN_2)){
//// ST4-2013-0000384 2013.04.03 松本 MOD START
//				//パターン１
//				if(ptnNo.equals(PTN_1)){
////					if(ptnNo.equals(PTN_1) || ptnNo.equals(PTN_2)){
//					// 編集パターンが１または２の場合
//					if ("1".equals(editPtn) || "2".equals(editPtn)) {
//						//ネットと電話両方設定されている
//						if(outFileMap.getString(JBSbatKKIFE221.NT_CUST_ID) != null && outFileMap.getString(JBSbatKKIFE221.TEL_CUST_ID) != null){
//							//スマートバリュー不整合リスト送信マップを追加
//							outputItem.addOutMapList(outFileMap);
//							//マップ初期化
//							outFileMap = new JBSbatServiceInterfaceMap();
//						}
//					}
//				}
//				else{
//					//スマートバリュー不整合リスト送信マップを追加
//					outputItem.addOutMapList(outFileMap);
//					//マップ初期化
//					outFileMap = new JBSbatServiceInterfaceMap();
//				}
//			}
//			jgsNoBuf = jgsNo;
//			lstNo ++;
//			
//			//格納リスト編集
//			//事業者契約管理番号
//			outFileMap.setString(JBSbatKKIFE221.JGSKK_NO, jgsNo);
//			//バリューコード
//			outFileMap.setString(JBSbatKKIFE221.VAL_CD, valueCd);
//			
//			//適用開始日
//			// IT1-2013-0000837 2013.04.10 MOD START
//			outFileMap.setString(JBSbatKKIFE221.TSTA_YMD, dateChange(tStartDay));
//			// IT1-2013-0000837 2013.04.10 MOD END
//			
//			//連携抑止
//			if(RESTRICTION_OFF.equals(yksSbt)){
//				outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, YOKSI_OFF);
//			}
//			else if(RESTRICTION_ON.equals(yksSbt)){
//				outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, YOKSI_ON);
//			}
//			else{
//				outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, "");
//			}
//			//不整合内容
//			if(ptnNo.equals(PTN_1)){
//				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_1);
//			} 
//			else if(ptnNo.equals(PTN_2)){
//				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_2);
//			}
//			else if(ptnNo.equals(PTN_3)){
//				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_3);
//			}
//			else if(ptnNo.equals(PTN_4_1)){
//				//ネット
//				if(SVC_CD_NET.equals(svcCd)){
//					outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_1_1);
//				}
//				//電話
//				else if(SVC_CD_TEL.equals(svcCd)){
//					outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_1_2);
//				}
//			}
//			else if(ptnNo.equals(PTN_4_2)){
//				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_2);
//			}
//			else if(ptnNo.equals(PTN_5)){
//				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_5);
//			}
//			//サービス契約コード、終了年月日、解約連携日
//			//ネット
//			if(SVC_CD_NET.equals(svcCd)){
//				//サービス契約コード
//				outFileMap.setString(JBSbatKKIFE221.NT_CUST_ID, custNo);
//				//定額制
//				if(NET_PLAN_FIX.equals(netSvcSbt)){
//					outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, TAISYO);
//				}
//				//従量制
//				else if(NET_PLAN_RATE.equals(netSvcSbt)){
//					outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, TAISYOGAI);
//				}
//				else{
//					outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, "");
//				}
//				
//				// IT1-2013-0000837 2013.04.10 MOD START
//				//終了年月日
//				outFileMap.setString(JBSbatKKIFE221.NT_END_YMD, dateChange(svcEndDay));
//				//解約連携日
//				outFileMap.setString(JBSbatKKIFE221.NT_DSL_TCH_YMD, dateChange(cancelDay));
//				// IT1-2013-0000837 2013.04.10 MOD END
//				
//			}
//			//電話
//			else if(SVC_CD_TEL.equals(svcCd)){
//				//サービス契約コード
//				outFileMap.setString(JBSbatKKIFE221.TEL_CUST_ID, custNo);
//				
//				// IT1-2013-0000837 2013.04.10 MOD START
//				//終了年月日
//				outFileMap.setString(JBSbatKKIFE221.TEL_END_YMD, dateChange(svcEndDay));
//				//解約連携日
//				outFileMap.setString(JBSbatKKIFE221.TEL_DSL_TCH_YMD, dateChange(cancelDay));
//				// IT1-2013-0000837 2013.04.10 MOD END
//				
//			}
//		}
//		//最後１件のスマートバリュー不整合リスト送信マップを追加
//		if(lstNo != 0){
//// ST4-2013-0000384 2013.04.03 松本 MOD START
//			if(ptnNo.equals(PTN_1)){
//				//パターン１とパターン２
////			if(ptnNo.equals(PTN_1) || ptnNo.equals(PTN_2)){
//				// 編集パターンが１または２の場合
//				if ("1".equals(editPtn) || "2".equals(editPtn)) {
//// ST4-2013-0000384 2013.04.03 松本 MOD END
//					//ネットと電話両方設定されている
//					if(outFileMap.getString(JBSbatKKIFE221.NT_CUST_ID) != null && outFileMap.getString(JBSbatKKIFE221.TEL_CUST_ID) != null){
//						//スマートバリュー不整合リスト送信マップを追加
//						outputItem.addOutMapList(outFileMap);
//					}
//				}
//			}
//			else{
//				//スマートバリュー不整合リスト送信マップを追加
//				outputItem.addOutMapList(outFileMap);
//			}
//		}
//	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END

// ST4-2013-0000384 2013.04.01 松本 ADD START
	/**
	 * 住所変更有無判定<br>
	 * 
	 * 住所変更中の場合、trueを返却する。<br>
	 * 実行するSQL：KK_SELECT_011
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return 住所変更中の場合true
	 * @throws Exception
	 */
	private boolean isAdchg(String svcKeiNo) throws Exception {
		// 検索
		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_011(new Object[]{svcKeiNo});
		// 判定
		if (db_KK_T_ADCHG_DTL.selectNext() == null) {
			return false;	// 住所変更中ではない
		}
		return true;	// 住所変更中
	}
	
	/**
	 * 移転先契約の課金開始判定<br>
	 * 
	 * 住変中のサービス契約について、移転先で課金開始していない場合、trueを返却する。<br>
	 * 実行するSQL：KK_SELECT_012
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return 課金開始していない場合true
	 * @throws Exception
	 */
	private boolean isNotChargeStart(String svcKeiNo) throws Exception {
		// 検索
		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_012(new Object[]{opeDate, svcKeiNo});
		// 判定
		if (db_KK_T_ADCHG_DTL.selectNext() == null) {
			return false;	// 移転先に契約が無い or 課金開始されている
		}
		return true;	// 課金開始されていない
	}
// ST4-2013-0000384 2013.04.01 松本 ADD END
	
	/**
	 * 一定期間経過の計算処理
	 */
	private String calDate(String opeDate, String period)
	{
		String opeY = opeDate.substring(0, 4);
		String opeM = opeDate.substring(4, 6);
		String opeD = opeDate.substring(6, 8);
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, Integer.parseInt(opeY));
		cal.set(Calendar.MONTH, Integer.parseInt(opeM) -1);
		cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(opeD));
		cal.add(Calendar.DAY_OF_MONTH, -Integer.parseInt(period));
		String newY = Integer.toString(cal.get(Calendar.YEAR));
		String newM = Integer.toString(cal.get(Calendar.MONTH) + 1);
		if(newM.length() == 1){
			newM = "0" + newM;
		}
		String newD = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
		if(newD.length() == 1){
			newD = "0" + newD;
		}
		String date = newY + newM + newD;
		return date;
	}
	
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * パターン１（連携抑止状態で契約状態が解約・キャンセル）と<br>
	 * パターン２（連携抑止状態で移転元解約）の不整合情報を抽出する
	 * 
	 * @param outputItem 出力電文
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private void outputPattern1and2(JBSbatOutputItem outputItem) throws Exception {
	private void outputPattern1and2(JBSbatServiceInterfaceMap mismachMap, JBSbatOutputItem outputItem) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END

// OM-2014-0001588対応 20140608 星野 DEL START
//		// 処理済み他事業者割引契約番号の情報
//		List<String> tajgsWribKeiNoList = new ArrayList<String>();
// OM-2014-0001588対応 20140608 星野 DEL END

// OM-2014-0001588対応 20140608 星野 DEL START
//		// パターン１，２の不整合情報抽出
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
////		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_005(new Object[]{opeDate});
//		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_005(new Object[]{opeDate, opeDate, opeDate});
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
// OM-2014-0001588対応 20140608 星野 DEL END

// OM-2014-0001588対応 20140608 星野 MOD START
//		while (true) {
		if(PTN_1_2.equals(mismachMap.get(JBSbatKKIFM615.CHT_PTN))){
// OM-2014-0001588対応 20140608 星野 MOD START
			
// OM-2014-0001588対応 20140608 星野 DEL START
//			// 検索結果取得
//			JBSbatCommonDBInterface mismachMap = db_KK_T_TAJGSWKEI_TGKEI.selectNext();
//			if (mismachMap == null) {
//				break;	// EOF
//			}
//
//			// 処理済みの事業者契約管理番号の場合はスキップ
//			String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
//			if (tajgsWribKeiNoList.contains(tajgsWribKeiNo)) {
//				continue;
//			}
//			tajgsWribKeiNoList.add(tajgsWribKeiNo);
// OM-2014-0001588対応 20140608 星野 DEL END

			// 住所変更中か判定
			String svcKeiNo = JBSbatInterface.trim(mismachMap.getString(SVC_KEI_NO));
			if (isAdchg(svcKeiNo)) {
				// 住変中のためパターン２の抽出条件にて処理する
				outputPattern2(outputItem, mismachMap);
			} else {
				// 住変中ではないためパターン１の抽出条件にて処理する
				outputPattern1(outputItem, mismachMap);
			}
		}
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * パターン１（連携抑止状態で契約状態が解約・キャンセル）の不整合情報を抽出する<br>
	 * ※住所変更中以外
	 * 
	 * @param outputItem 出力電文
	 * @param mismachMap KK_T_TAJGSWKEI_TGKEI_KK_SELECT_005の結果レコード
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private void outputPattern1(JBSbatOutputItem outputItem, JBSbatCommonDBInterface mismachMap) throws Exception {
	private void outputPattern1(JBSbatOutputItem outputItem, JBSbatServiceInterfaceMap mismachMap) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END

		//スマートバリュー不整合リストマップの編集
		JBSbatServiceInterfaceMap outFileMap = getOutFileMap(mismachMap, PTN_1);
		
		// 他事業者割引契約番号に紐付くサービス契約を取得
		String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
//		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo});
		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo, opeDate, opeDate});
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END

		while (true) {
			// 検索結果取得
			JBSbatCommonDBInterface recordMap = db_KK_T_TAJGSWKEI_TGKEI_01.selectNext();
			if (recordMap == null) {
				break;	// EOF
			}

			// 解約（強制解約）・キャンセルでないサービスが存在する場合は抽出しない
			String svcKeiStat = JBSbatInterface.trim(recordMap.getString(SVC_KEI_STAT));
			if (!KAIYAKU_ZUMI.equals(svcKeiStat) && !CANCEL_ZUMI.equals(svcKeiStat)) {
				return;
			}
			
			// サービス契約毎の情報を編集
			setSvcInfo(outFileMap, recordMap);
		}

		//スマートバリュー不整合リスト追加
		outputItem.addOutMapList(outFileMap);
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * パターン２（連携抑止状態で移転元解約）の不整合情報を抽出する<br>
	 * ※住所変更中
	 * 
	 * @param outputItem 出力電文
	 * @param mismachMap KK_T_TAJGSWKEI_TGKEI_KK_SELECT_005の結果レコード
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private void outputPattern2(JBSbatOutputItem outputItem, JBSbatCommonDBInterface mismachMap) throws Exception {
	private void outputPattern2(JBSbatOutputItem outputItem, JBSbatServiceInterfaceMap mismachMap) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END

		//スマートバリュー不整合リストマップの編集
		JBSbatServiceInterfaceMap outFileMap = getOutFileMap(mismachMap, PTN_2);

		// 他事業者割引契約番号に紐付くサービス契約を取得
		String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
//		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo});
		executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo, opeDate, opeDate});
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END

		boolean chargeNotStart = false;
		while (true) {
			// 検索結果取得
			JBSbatCommonDBInterface recordMap = db_KK_T_TAJGSWKEI_TGKEI_01.selectNext();
			if (recordMap == null) {
				break;	// EOF
			}

			// 解約でないサービスが存在する場合は抽出しない
			String svcKeiStat = JBSbatInterface.trim(recordMap.getString(SVC_KEI_STAT));
			if (!KAIYAKU_ZUMI.equals(svcKeiStat)) {
				return;
			}

			// 転居先のサービス契約が課金開始されていないか判定
			String svcKeiNo = JBSbatInterface.trim(recordMap.getString(SVC_KEI_NO));
			if (isNotChargeStart(svcKeiNo)) {
				// 課金開始までの経過期間を超えていないかチェックする
				String svcEndDay = JBSbatInterface.trim(recordMap.getString(SVC_ENDYMD));
				if (svcEndDay != null && svcEndDay.length() != 0) {
					if (svcEndDay.compareTo(chargeNotStartLimitYmd) < 0) {
						chargeNotStart = true;
					}
				}
			}

			// サービス契約毎の情報を編集
			setSvcInfo(outFileMap, recordMap);
		}

		// 一定期間を超えて課金開始されていないサービスがあれば不整合リストへ出力
		if (chargeNotStart) {
			outputItem.addOutMapList(outFileMap);
		}
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * パターン３（連携抑止状態で電話またはネットが解約）または
	 * パターン５（ＫＤＤＩ側より解約情報の連携なし）
	 * 
	 * @param outputItem 出力電文
	 * @param ptnNo 不整合パターン
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private void outputPattern3or5(JBSbatOutputItem outputItem, String ptnNo) throws Exception {
	private void outputPattern3or5(JBSbatServiceInterfaceMap mismachMap, JBSbatOutputItem outputItem) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END

// OM-2014-0001588対応 20140608 星野 DEL START
//		// 処理済み他事業者割引契約番号の情報
//		List<String> tajgsWribKeiNoList = new ArrayList<String>();
// OM-2014-0001588対応 20140608 星野 DEL END
		
// OM-2014-0001588対応 20140608 星野 ADD START
		String ptnNo = mismachMap.getString(JBSbatKKIFM615.CHT_PTN);
// OM-2014-0001588対応 20140608 星野 ADD END
		

// OM-2014-0001588対応 20140608 星野 DEL START
//		if (PTN_3.equals(ptnNo)) {
//			// パターン３の不整合情報抽出
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
////			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_007(new Object[]{chargeNotStartLimitYmd, opeDate});
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_007(new Object[]{chargeNotStartLimitYmd, opeDate, opeDate, opeDate});
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
//		} else if (PTN_5.equals(ptnNo)) {
//			// パターン５の不整合情報抽出
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
////			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_010(new Object[]{cancelRequestLimitYmd, opeDate});
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_010(new Object[]{cancelRequestLimitYmd, opeDate, opeDate, opeDate});
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
//		} else {
//			return;		// 未対応のパターン
//		}
// OM-2014-0001588対応 20140608 星野 DEL END

// OM-2014-0001588対応 20140608 星野 MOD START
//		while (true) {
		if(PTN_3.equals(ptnNo) || PTN_5.equals(ptnNo)){
// OM-2014-0001588対応 20140608 星野 MOD END
// OM-2014-0001588対応 20140608 星野 MOD START
//			// 検索結果取得
//			JBSbatCommonDBInterface mismachMap = db_KK_T_TAJGSWKEI_TGKEI.selectNext();
//			if (mismachMap == null) {
//				break;	// EOF
//			}
//
//			// 処理済みの事業者契約管理番号の場合はスキップ
//			String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
//			if (tajgsWribKeiNoList.contains(tajgsWribKeiNo)) {
//				continue;
//			}
//			tajgsWribKeiNoList.add(tajgsWribKeiNo);
			
			String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
// OM-2014-0001588対応 20140608 星野 MOD END

			//スマートバリュー不整合リストマップの編集
			JBSbatServiceInterfaceMap outFileMap = getOutFileMap(mismachMap, ptnNo);

			// 他事業者割引契約番号に紐付くサービス契約を取得
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo});
			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo, opeDate, opeDate});
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
			while (true) {
				// 検索結果取得
				JBSbatCommonDBInterface recordMap = db_KK_T_TAJGSWKEI_TGKEI_01.selectNext();
				if (recordMap == null) {
					break;	// EOF
				}
				// サービス契約毎の情報を編集
				setSvcInfo(outFileMap, recordMap);
			}
			//スマートバリュー不整合リスト追加
			outputItem.addOutMapList(outFileMap);
		}
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * パターン４−１（ネット／電話の状態がＫＯＰＴ側と不整合）または<br>
	 * パターン４−２（ネットサービスプランがＫＯＰＴ側と不整合）
	 * 
	 * @param outputItem 出力電文
	 * @param ptnNo 不整合パターン
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private void outputPattern4(JBSbatOutputItem outputItem, String ptnNo) throws Exception {
	private void outputPattern4(JBSbatServiceInterfaceMap mismachMap, JBSbatOutputItem outputItem) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END
		
// OM-2014-0001588対応 20140608 星野 ADD START
		String ptnNo = mismachMap.getString(JBSbatKKIFM615.CHT_PTN);
// OM-2014-0001588対応 20140608 星野 ADD END

// OM-2014-0001588対応 20140608 星野 DEL START
//		if (PTN_4_1.equals(ptnNo)) {
//			// パターン４−１の不整合情報抽出
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
////			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_008(new Object[]{opeDate});
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_008(new Object[]{opeDate, opeDate, opeDate});
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
//		} else if (PTN_4_2.equals(ptnNo)) {
//			// パターン４−２の不整合情報抽出
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
////			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_009(new Object[]{opeDate});
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_009(new Object[]{opeDate, opeDate, opeDate});
//// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
//		} else {
//			return;		// 未対応のパターン
//		}
// OM-2014-0001588対応 20140608 星野 DEL END

// OM-2014-0001588対応 20140608 星野 MOD START
//		while (true) {
		if(PTN_4_1.equals(ptnNo) || PTN_4_2.equals(ptnNo)){
// OM-2014-0001588対応 20140608 星野 MOD END
// OM-2014-0001588対応 20140608 星野 DEL START
//			// 検索結果取得
//			JBSbatCommonDBInterface mismachMap = db_KK_T_TAJGSWKEI_TGKEI.selectNext();
//			if (mismachMap == null) {
//				break;	// EOF
//			}
// OM-2014-0001588対応 20140608 星野 DEL END

			//スマートバリュー不整合リストマップの編集
			JBSbatServiceInterfaceMap outFileMap = getOutFileMap(mismachMap, ptnNo);

			// 他事業者割引契約番号に紐付くサービス契約を取得
			String tajgsWribKeiNo = JBSbatInterface.trim(mismachMap.getString(TAJGS_WRIB_KEI_NO));
			
			// ANK-2522-00-00 2016/11/21 ADD START
			// サービス契約番号を取得
			String svcKeiNo = JBSbatInterface.trim(mismachMap.getString(SVC_KEI_NO));
			
			//KDDI割引契約異動通知テーブルから異動通知が未通知かつ進捗ステータスがキャンセルまたは
			//コース変更かつ異動年月日時分秒がバッチ運用日が同日または未来のデータを抽出する。
			if(PTN_4_1.equals(ptnNo) || PTN_4_2.equals(ptnNo)){
				//
				executeKK_T_KDDI_WKEI_IDT_KK_SELECT_005(new Object[]{tajgsWribKeiNo, svcKeiNo, opeDate, opeDate});
				// 検索結果取得
				JBSbatCommonDBInterface recordMap = db_KK_T_KDDI_WKEI_IDT.selectNext();
				String CNT = recordMap.getString("CNT");
				if (!CNT.equals("0")) {
					//抽出された場合、不整合リストに追加しない。
					return;
				}
			}
			//住所変更明細テーブルから住所変更中の解約/新規データを取得する。
			if(PTN_4_1.equals(ptnNo)){
				executeKK_T_ADCHG_DTL_KK_SELECT_048(new Object[]{svcKeiNo});
				// 検索結果取得
				JBSbatCommonDBInterface recordMap = db_KK_T_ADCHG_DTL_01.selectNext();
				String CNT = recordMap.getString("CNT");
				if (!CNT.equals("0")) {
					//抽出された場合、不整合リストに追加しない。
					return;
				}
			}
			// ANK-2522-00-00 2016/11/21 ADD END
			
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD START
//			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo});
			executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(new Object[]{opeDate, tajgsWribKeiNo, opeDate, opeDate});
// IT1-2013-0001233 2013.05.27 T.TORIKAI MOD END
			while (true) {
				// 検索結果取得
				JBSbatCommonDBInterface recordMap = db_KK_T_TAJGSWKEI_TGKEI_01.selectNext();
				if (recordMap == null) {
					break;	// EOF
				}
				
				// サービス契約毎の情報を編集
				setSvcInfo(outFileMap, recordMap);
			}
			//スマートバリュー不整合リスト追加
			outputItem.addOutMapList(outFileMap);
		}
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * 出力内容編集
	 * 
	 * @param recordMap 不整合リスト検索SQLの結果レコード
	 * @param ptnNo 不整合パターン
	 * @throws Exception
	 */
// OM-2014-0001588対応 20140608 星野 MOD START
//	private JBSbatServiceInterfaceMap getOutFileMap(JBSbatCommonDBInterface recordMap, String ptnNo) throws Exception {
	private JBSbatServiceInterfaceMap getOutFileMap(JBSbatServiceInterfaceMap recordMap, String ptnNo) throws Exception {
// OM-2014-0001588対応 20140608 星野 MOD END

		// スマートバリュー不整合リストマップを生成
		JBSbatServiceInterfaceMap outFileMap = new JBSbatServiceInterfaceMap();
// OM-2014-0001588対応 20140608 星野 ADD START
		outFileMap.setOutFlg(true);
// OM-2014-0001588対応 20140608 星野 ADD END

		// 事業者契約管理番号
		String jgsNo = JBSbatInterface.trim(recordMap.getString(TAJGS_WRIB_KEI_NO));
		// バリューコード
		String valueCd = JBSbatInterface.trim(recordMap.getString(KDDI_VAL_CD));
		// 適用開始日
		String tStartDay = JBSbatInterface.trim(recordMap.getString(TAJGS_WRIB_KEI_CNC_YMD));
		// 連携抑止種類
		String yksSbt = JBSbatInterface.trim(recordMap.getString(TAJGS_TCH_YOKSI_UM));
		// サービスコード
		String svcCd = JBSbatInterface.trim(recordMap.getString(SVC_CD));

		// 事業者契約管理番号
		outFileMap.setString(JBSbatKKIFE221.JGSKK_NO, jgsNo);
		// バリューコード
		outFileMap.setString(JBSbatKKIFE221.VAL_CD, valueCd);
		// 適用開始日
		outFileMap.setString(JBSbatKKIFE221.TSTA_YMD, dateChange(tStartDay));
		// 連携抑止
		if (RESTRICTION_OFF.equals(yksSbt)) {
			outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, YOKSI_OFF);
		} else if (RESTRICTION_ON.equals(yksSbt)) {
			outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, YOKSI_ON);
		} else {
			outFileMap.setString(JBSbatKKIFE221.YOKSI_SBT, "");
		}
		// 不整合内容
		if (PTN_1.equalsIgnoreCase(ptnNo)) {
			outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_1);
		} else if (PTN_2.equalsIgnoreCase(ptnNo)) {
			outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_2);
		} else if (PTN_3.equalsIgnoreCase(ptnNo)) {
			outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_3);
		} else if (PTN_4_1.equalsIgnoreCase(ptnNo)) {
			if (SVC_CD_NET.equals(svcCd)) {
				// ネット
				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_1_1);
			} else if(SVC_CD_TEL.equals(svcCd)) {
				// 電話
				outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_1_2);
			} else {
				outFileMap.setString(JBSbatKKIFE221.FSG_INF, "");
			}
		} else if (PTN_4_2.equalsIgnoreCase(ptnNo)) {
			outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_4_2);
		} else if (PTN_5.equalsIgnoreCase(ptnNo)) {
			outFileMap.setString(JBSbatKKIFE221.FSG_INF, unmatchInfo_5);
		}
		// サービス契約コード,終了年月日,解約連携日
		setSvcInfo(outFileMap, recordMap);

		return outFileMap;
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * 出力内容編集（ネット・電話のサービス契約別に編集）
	 * 
	 * @param outFileMap スマートバリュー不整合リストマップ
	 * @param recordMap 不整合リスト検索SQLの結果レコード
	 * @throws Exception
	 */
	private void setSvcInfo(JBSbatServiceInterfaceMap outFileMap, JBSbatCommonDBInterface recordMap) throws Exception {
// OM-2014-0001588対応 20140608 星野 ADD START
		//DBマップを入出力マップに変換
		HashMap dbMap = recordMap.getMap();
		JBSbatServiceInterfaceMap inMap = new JBSbatServiceInterfaceMap();
		inMap.setMap(dbMap);
		
		setSvcInfo(outFileMap, inMap);
	}
	
	private void setSvcInfo(JBSbatServiceInterfaceMap outFileMap, JBSbatServiceInterfaceMap recordMap) throws Exception {
// OM-2014-0001588対応 20140608 星野 ADD END
		
		// サービスコード
		String svcCd = JBSbatInterface.trim(recordMap.getString(SVC_CD));
		// お客様ＩＤ
		String custNo = JBSbatInterface.trim(recordMap.getString(SVC_KEI_NO));
		// ネットサービス種別
		String netSvcSbt = JBSbatInterface.trim(recordMap.getString(EOHNT_PPLAN_TIKI_SKCD));
		// サービス終了日
		String svcEndDay = JBSbatInterface.trim(recordMap.getString(SVC_ENDYMD));
		// 解約情報連携日
// OM-2015-0001233 2015/09/16 MOD START
//		String cancelDay = JBSbatInterface.trim(recordMap.getString(TAJGS_WRIB_KEI_DSL_YMD));
		String cancelDay = JBSbatInterface.trim(recordMap.getString(DSL_TAJGS_TCH_YMD));
// OM-2015-0001233 2015/09/16 MOD END

		if (SVC_CD_NET.equals(svcCd)) {
			// ネット
			// サービス契約コード
			outFileMap.setString(JBSbatKKIFE221.NT_CUST_ID, custNo);
			if (NET_PLAN_FIX.equals(netSvcSbt)) {
				// 定額制
				outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, TAISYO);
			} else if (NET_PLAN_RATE.equals(netSvcSbt)) {
				// 従量制
				outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, TAISYOGAI);
			} else {
				outFileMap.setString(JBSbatKKIFE221.NT_SVC_SBT, "");
			}
			// 終了年月日
			outFileMap.setString(JBSbatKKIFE221.NT_END_YMD, dateChange(svcEndDay));
			// 解約連携日
			outFileMap.setString(JBSbatKKIFE221.NT_DSL_TCH_YMD, dateChange(cancelDay));

		} else if(SVC_CD_TEL.equals(svcCd)){
			// 電話
			// サービス契約コード
			outFileMap.setString(JBSbatKKIFE221.TEL_CUST_ID, custNo);
			// 終了年月日
			outFileMap.setString(JBSbatKKIFE221.TEL_END_YMD, dateChange(svcEndDay));
			// 解約連携日
			outFileMap.setString(JBSbatKKIFE221.TEL_DSL_TCH_YMD, dateChange(cancelDay));
		}
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_TAJGSWKEI_TGKEI.close();
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
		db_KK_T_TAJGSWKEI_TGKEI_01.close();
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
// ST4-2013-0000384 2013.04.01 松本 ADD START
		db_KK_T_ADCHG_DTL.close();
// ST4-2013-0000384 2013.04.01 松本 ADD END
		// ANK-2522-00-00 2016/11/21 ADD START
		db_KK_T_ADCHG_DTL_01.close();
		db_KK_T_KDDI_WKEI_IDT.close();
		// ANK-2522-00-00 2016/11/21 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_005)で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_TAJGSWKEI_TGKEI_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//		paramList.setValue(param[1].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_005);
	}

// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL 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_TAJGSWKEI_TGKEI_KK_SELECT_006(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[2].toString());
//// ST4-2013-0000384 2013.04.01 松本 DEL START
////		paramList.setValue(param[3].toString());
//// ST4-2013-0000384 2013.04.01 松本 DEL END
//		
//		// DBアクセスを実行します
//		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_006);
//	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END

	/**
	 * SQLKEY(KK_SELECT_007)で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_TAJGSWKEI_TGKEI_KK_SELECT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//		paramList.setValue(param[2].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_007);
	}

	/**
	 * SQLKEY(KK_SELECT_008)で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_TAJGSWKEI_TGKEI_KK_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//		paramList.setValue(param[1].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_008);
	}

	/**
	 * SQLKEY(KK_SELECT_009)で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_TAJGSWKEI_TGKEI_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//		paramList.setValue(param[1].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_009);
	}

	/**
	 * SQLKEY(KK_SELECT_010)で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_TAJGSWKEI_TGKEI_KK_SELECT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL START
//		paramList.setValue(param[2].toString());
// IT1-2013-0001209 2013.05.15 T.TORIKAI DEL END
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_010);
	}
// ST4-2013-0000384 2013.03.30 松本 ADD START
	/**
	 * SQLKEY(KK_SELECT_011)で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_TAJGSWKEI_TGKEI_KK_SELECT_011(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_011);
	}

	/**
	 * SQLKEY(KK_SELECT_012)で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_TAJGSWKEI_TGKEI_KK_SELECT_012(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_012);
	}
// ST4-2013-0000384 2013.03.30 松本 ADD END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	/**
	 * 他事業者割引契約番号に紐付くサービスの情報を取得する
	 */
	private void executeKK_T_TAJGSWKEI_TGKEI_KK_SELECT_013(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD START
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
// IT1-2013-0001233 2013.05.27 T.TORIKAI ADD END

		// DBアクセスを実行します
		db_KK_T_TAJGSWKEI_TGKEI_01.selectBySqlDefine(paramList, KK_T_TAJGSWKEI_TGKEI_KK_SELECT_013);
	}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
	
	// IT1-2013-0000837 2013.04.10 ADD START
	/**
	 * 日付変換メソッド
	 * YYYYMMDDの形式で渡された日付をYYYY/MM/DDの形式で出力する
	 * @param date
	 * @return
	 */
	private String dateChange(String date)
	{
		if (null == date || 8 != date.length())
		{
			return "";
		}
		else
		{
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD START
			if (MAX_DATE.equals(date)) {
				return "";
			}
// IT1-2013-0001209 2013.05.15 T.TORIKAI ADD END
			return date.substring(0, 4) + SLASH +  date.substring(4, 6) + SLASH +  date.substring(6);
		}
	}
	// IT1-2013-0000837 2013.04.10 ADD END
	
	// ANK-2522-00-00 2016/11/21 ADD START
	/**
	 * KDDI割引契約異動通知に紐付くサービスの情報を取得する
	 */
	private void executeKK_T_KDDI_WKEI_IDT_KK_SELECT_005(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());//バッチ運用日

		// DBアクセスを実行します
		db_KK_T_KDDI_WKEI_IDT.selectBySqlDefine(paramList, KK_T_KDDI_WKEI_IDT_KK_SELECT_005);
	}
	
	/**
	 * 住所変更明細テーブルから住所変更中の解約/新規データを取得する。
	 */
	private void executeKK_T_ADCHG_DTL_KK_SELECT_048(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());//サービス契約番号

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL_01.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_048);
	}
	// ANK-2522-00-00 2016/11/21 ADD END
}
