/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKEoidMmbYkInfFileSaksei
*	ソースファイル名	：JBSbatKKEoidMmbYkInfFileSaksei.java
*	作成者				：富士通　
*	作成日				：2011年08月05日
*＜機能概要＞
*　ｅｏＩＤ会員有効性情報ファイル作成部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/05	FJ）庭山	新規作成
*	v1.01.00	2011/11/26  FJ）倉上	【IT1-2011-0000328】障害対応
*	v1.02.00	2012/04/12  FJ）藤本	【IT1-2012-0000396】障害対応
*	v3.00.00	2012/05/29	FJ）団		【ANK-0299-00-00】（督促STの遷移による会員種別変更）対応
*	v3.01.00	2012/09/18	FJ) 団		【ST1-2012-0000582】対応（タイムスタンプ取得JCCBatCommon→JBSbatDateUtilに修正）
*	v3.02.00	2012/10/17	FJ) 倉上	【ST1-2012-0000685】障害対応
*	v4.00.00	2012/09/30	FJ）中作	【ANK-0024-05-00】退会→回復時お会員種別変更の２重登録防止対応
*	v4.00.00	2012/11/01	FJ) 団		【IT-2012-0001829】対応（資産レベル）
*	v4.01.00	2012/11/06	FJ) 団		【ST1-2012-0000703】対応
*	v4.02.00	2013/01/23	FJ) 柳		【ST3-2013-0000159】障害対応
*	v4.03.00	2013/01/25	FJ) 団		【IT2-2013-0000151】障害対応
*	v4.04.00	2013/02/05	FJ) 団		【ST1-2013-0000299】障害対応
*	v4.05.00	2013/02/20	FJ) 団		【ST1-2013-0000390】障害対応
*	v4.06.00	2013/02/26	FJ) 柳		【ST1-2013-0000411】障害対応
*	v5.00.00	2013/02/06	FJ) 桑島	【ANK-1357-00-00】対応
*	v5.00.01	2013/03/11	FJ) 岡田	【IT1-2013-0000431】障害対応
*	v5.00.02	2013/03/14	FJ) 中作	【IT1-2013-0000486】障害対応
*	v5.00.03	2013/03/15	FJ) 団		【IT1-2013-0000477】障害対応
*	v5.00.04	2013/03/18	FJ) 桑島	【IT1-2013-0000541】障害対応
*	v5.00.05	2013/03/19	FJ) 団		【IT1-2013-0000498】障害対応
*	v5.00.06	2013/03/20	FJ) 桑島	【IT1-2013-0000563】障害対応
*	v5.00.07	2013/03/22	FJ) 団		【IT1-2013-0000603】障害対応
*	v5.00.08	2013/03/23	FJ) 団		【IT1-2013-0000614】障害対応
*	v5.00.09	2013/03/24	FJ) 桑島	【IT1-2013-0000566】障害対応
*	v5.00.10	2013/03/25	FJ) 桑島	【IT1-2013-0000633】障害対応
*	v5.00.11	2013/03/27	FJ) 団		【IKK-2013-0000661】障害対応
*	v5.00.12	2013/03/28	FJ) 桑島	【IT1-2013-0000685】障害対応
*	v5.00.13	2013/03/29	FJ) 桑島	【IT1-2013-0000698】障害対応
*				2013/03/29	FJ) 団		【IKK-2013-0000688】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000724】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000725】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000727】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000747】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000748】障害対応
*	v5.00.14	2013/03/31	FJ) 団、桑島【IKK-2013-0000749】障害対応
*	v5.00.15	2013/04/01	FJ) 桑島	【IKK-2013-0000726】障害対応
*	v5.00.16	2013/04/01	FJ) 団		【IT1-2013-0000720】障害対応
*	v5.00.17	2013/04/04	FJ) 団		【IT1-2013-0000771】障害対応
*	v5.00.18	2013/04/06	FJ) 桑島	【IT1-2013-0000785】障害対応
*	v5.00.19	2013/04/06	FJ) 小野	【IKK-2013-0000794】障害対応*
*	v5.00.20	2013/04/13	FJ) 桑島	【IT1-2013-0000888】障害対応*
*	v5.00.21	2013/04/16	FJ) 団		【IKK-2013-0000955】障害対応
*   v5.00.22	2013/04/18	FJ) 団		【KT1-2013-0000517】障害対応
*   v5.00.23	2013/04/25	FJ) 桑島	【IKK-2013-0001016】障害対応
*   v5.00.24	2013/05/04	FJ) 団		【IT1-2013-0001126】障害対応
*   v5.00.25	2013/05/24	FJ) 桑島	【TAI-2013-0000026】障害対応
*   v5.00.26	2013/06/17	FJ) 団		【KT1-2013-0000655】障害対応
*   v5.00.27	2013/06/18	FJ) 団		【KT1-2013-0000655】障害対応
*   v5.00.28	2013/10/11	FJ) 団		【OM-2013-0002816】障害対応
*   v5.00.29	2013/11/08	FJ) 団		【OM-2013-0003980】障害対応
*   v6.00.00	2013/12/10	FJ) 桑島	【OM-2013-0004778】障害対応
*   v6.00.01	2013/12/11	FJ) 桑島	【OM-2013-0004925】障害対応
*   v6.00.02	2013/12/19	FJ) 桑島	【OM-2013-0005254】障害対応
*   v8.00.00	2013/12/19	FJ) 湯元	【ANK-1584-00-00】対応
*   v8.00.00	2014/03/05	FJ) 桑島	【IT1-2014-0000076】障害対応
*   v8.00.01	2014/03/17	FJ) 桑島	【ST-2014-0000088】障害対応
*   v8.00.02	2014/03/21	FJ) 桑島	【IT1-2014-0000094】障害対応
*   v8.00.03	2014/03/26	FJ) 桑島	【OM-2014-0001134】障害対応
*   v8.00.04	2014/03/29	FJ) 桑島	【OM-2014-0001436】障害対応
*   v10.00.00	2014/08/11	FJ) 舩橋	【ANK-2234-00-00】対応
*   v10.00.01	2014/08/27	FJ) 舩橋	【IT1-2014-0000298】障害対応
*   v10.00.02	2014/10/30	FJ) 舩橋	【OM-2014-0003517】障害対応
*   v23.00.00	2016/03/09	FJ) 頼経	【ANK-2480-01-00】対応
*   v64.00.00	2023/03/03	FJ) 藤本	【OM-2022-0000811】対応
*********************************************************************/
package eo.business.service;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFE040;
import eo.business.util.file.JBSbatKKIFM028;
import eo.business.util.table.JBSbatCH_T_TOKUSOKU;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatCK_T_CUST_GRP_SETTE;
import eo.business.util.table.JBSbatCK_T_GRP;
import eo.business.util.table.JBSbatCN_T_PAYWAY_INSUPORT;
import eo.business.util.table.JBSbatKK_M_OLD_ICS_CD_CHG;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatKK_T_KAKINS;
import eo.business.util.table.JBSbatKK_T_RNKI_FILE_CTRL;
import eo.business.util.table.JBSbatKK_T_SEIKY_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.business.util.table.JBSbatKK_T_TSYRN_IDO_KRK;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatOracleSeqUtil;
import eo.framework.util.JBSbatStringUtil;
import eo.framework.util.JCCBatchEsbInterface;


/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKEoidMmbYkInfFileSaksei extends JBSbatBusinessService
{
	/**
	 * 囲み文字（"）
	 */
	private static final String MOJI_D = "\"";

	/**
	 * レコード区分（ヘッダ部）
	 */
	private static final String REC_DIV_HEADER = "0";

	/**
	 * レコード区分（データ部）
	 */
	private static final String REC_DIV_DATA = "1";

	/**
	 * レコード区分（トレーラ部）
	 */
	private static final String REC_DIV_TRAILER = "2";

	/**
	 * 物理バッチID（KKPRC06401）
	 */
	private static final String BAT_ID = "KKPRC06401";

	/**
	 * ファイルID（KKIFE040）
	 */
	private static final String FILE_ID = "KKIFE040  ";

	/**
	 * 有効性結果パターン（全回線請求抑止）
	 */
	private static final String ALL_SIKY_YOKSI = "11";

	/**
	 * 有効性結果パターン（全回線請求抑止解除）
	 */
	private static final String ALL_SIKY_YOKSI_RLS = "12";

	/**
	 * 有効性結果パターン（全回線解約）
	 */
	private static final String ALL_DSL = "13";

	/**
	 * 有効性結果パターン（全回線回復）
	 */
	private static final String ALL_KAIHK = "14";

	/**
	 * 有効性結果パターン（一部回線解約（スライドあり））
	 */
	private static final String S_KISN_DSL = "21";

	/**
	 * 有効性結果パターン（一部回線請求抑止）
	 */
	private static final String KISN_SIKY_YOKSI = "31";

	/**
	 * 有効性結果パターン（一部回線請求抑止解除）
	 */
	private static final String KISN_SIKY_YOKSI_RLS = "32";

	/**
	 * 有効性結果パターン（一部回線解約）
	 */
	private static final String KISN_DSL = "33";

	/**
	 * 有効性結果パターン（一部回線回復：他サービス確認前）
	 */
	private static final String KISN_KAIHK = "XX";

	/**
	 * 有効性結果パターン（一部回線回復：同一請求契約に紐付く強制解約を含む他の解約済でないサービスが存在しない）
	 */
	private static final String KISN_KAIHK_MKU = "34";

	/**
	 * 有効性結果パターン（一部回線回復：同一請求契約に紐付く強制解約を含む他の解約済でないサービスが存在する）
	 */
	private static final String KISN_KAIHK_YKU = "22";
	
	/**
	 * 有効性結果パターン（ファミリー会員種別変更あり（ISP決済以外））
	 */
	private static final String ISP_KSSAI_GAI = "41";

	/**
	 * 会員種別コード（ファミリー（個人））
	 */
	private static final String MEMBRE_SBT_CD_FAMILY_KOJIN = "11";

	/**
	 * 会員種別コード（ファミリー（法人））
	 */
	private static final String MEMBRE_SBT_CD_FAMILY_HOJIN = "21";
	
	//OM-2014-00001134
	/**
	 * 会員種別コード（ファミリー（個人））
	 */
	private static final String MEMBRE_SBT_CD_MASTER_KOJIN = "10";

	/**
	 * 会員種別コード（ファミリー（法人））
	 */
	private static final String MEMBRE_SBT_CD_MASTER_HOJIN = "20";
	//OM-2014-00001134

	// IT1-2014-0000298 DEL START
	// ANK-2234-00-00 ADD START
//	/**
//	 * 会員種別コード（オープン）
//	 */
//	private static final String MEMBRE_SBT_CD_OPEN = "30";
	// ANK-2234-00-00 ADD END
	// IT1-2014-0000298 DEL END

	/**
	 * サービスコード（NET））
	 */
	private static final String SVC_CD_NET = "01";

	/**
	 * サービスコード（TEL））
	 */
	private static final String SVC_CD_TEL = "02";

	/**
	 * サービスコード（TV））
	 */
	private static final String SVC_CD_TV = "03";
	
		// ANK-1584-00-00 追加
	/**
	 * サービスコード（MVNO））
	 */
	private static final String SVC_CD_MVNO = "51";

	// ANK-1584-00-00 追加
	/**
	 * 料金コースコード（MVNO））
	 */
	private static final String PCRS_CD_MVNO = "A81";
	
	// ANK-2480-01-00 ADD START
	/**
	 * サービスコード（ｅｏ電気））
	 */
	private static final String SVC_CD_EOELEC = "05";
	
	/**
	 * 料金コースコード（ｅｏ電気））
	 */
	private static final String PCRS_CD_EOELEC = "A82";
	// ANK-2480-01-00 ADD END

	/**
	 * 異動区分（利用停止）
	 */
	private static final String IDO_DIV_USE_STP = "00062";	
	
	/**
	 * 異動区分（利用停止解除）
	 */
	private static final String IDO_DIV_USE_STP_RLS = "00063";	
	
	/**
	 * 異動区分（回復）
	 */
	private static final String IDO_DIV_KAIHK = "00004";
	
	/**
	 * 異動区分（解約）
	 */
	private static final String IDO_DIV_DSL = "00005";
	
	/**
	 * 異動区分（撤去(解約)）
	 */
	private static final String IDO_DIV_TDSL = "00006";
	
	/**
	 * 異動区分（キャンセル）
	 */
	private static final String IDO_DIV_CANCEL = "00008";
	
	/**
	 * 異動区分（コース変更）
	 */
	private static final String IDO_DIV_COURSE_CHG = "00009";
	
	/**
	 * 異動区分（強制解約(撤去)）
	 */
	private static final String IDO_DIV_KSI_DSL_TEKKYO = "00057";
	
	/**
	 * 異動区分（強制解約）
	 */
	private static final String IDO_DIV_KSI_DSL = "00064";
	
	/**
	 * 異動区分（お客様併合）
	 */
	private static final String IDO_DIV_CUST_HEIGOU = "00013";
	
	/**
	 * 異動区分（お客様分割）
	 */
	private static final String IDO_DIV_CUST_BNKT = "00014";
	
	/**
	 * 異動区分（住所変更・登録）
	 */
	private static final String IDO_DIV_JS_HNK_TRK = "00019";
	
	/**
	 * 異動区分（住所変更・確定）
	 */
	private static final String IDO_DIV_JS_HNK_KKT = "00020";
	
	/**
	 * 契約ステータス（受付済）
	 */
	private static final String STAT_UK = "010";	
	
	/**
	 * 契約ステータス（照査済）
	 */
	private static final String STAT_DTAIL = "020";
	
	/**
	 * 契約ステータス（締結済）
	 */
	private static final String STAT_CNC = "030";
	
	/**
	 * 契約ステータス（停止中）
	 */
	private static final String STAT_STP = "220";	
	
	/**
	 * 契約ステータス（解約済）
	 */
	private static final String STAT_DSL = "910";
	
	/**
	 * 契約ステータス（キャンセル）
	 */
	private static final String STAT_CANCEL = "920";

	/**
	 * 督促ステータス（利用停止済）
	 */
	private static final String URGE_STAT_USE_STP_ZM = "20";

	/**
	 * 督促ステータス（督促なし）
	 */
	private static final String URGE_STAT_NONE = "00";

	/**
	 * 督促ステータス（督促保留）
	 */
	private static final String URGE_STAT_PDING = "99";

	/**
	 * 督促ステータス（利用停止予告済（手続き不備））
	 */
	private static final String URGE_STAT_USE_STP_YKK_TTDK = "04";

	/**
	 * 督促ステータス（利用停止予告済（手続き未完））
	 */
	private static final String URGE_STAT_USE_STP_YKK_TTDK_MI = "06";

	/**
	 * 督促ステータス（利用停止予告済）
	 */
	private static final String URGE_STAT_USE_STP_YKK_ZM = "10";

	/**
	 * 督促ステータス（強制停止予告済）
	 */
	private static final String URGE_STAT_KSI_STP_YKK_ZM = "15";
	
	
	/**
	 * 督促ステータス（強制解約済）
	 */
	private static final String KYOSEI_DSL_ZUMI = "30";
	
	/**
	 * 督促ステータス（強制解約通知済）
	 */
	private static final String KYOSEI_DSL_TCHI_ZUMI = "40";
	
	/**
	 * 督促ステータス（催告状通知済）
	 */
	private static final String SAIKOKUJO_TCHI_ZUMI = "41";
	
	/**
	 * 督促ステータス（法的措置・ニッテレ委託予告済）
	 */
	private static final String HOTEKISOCHI_NITTERE = "50";
	
	/**
	 * 督促ステータス（法的措置対象）
	 */
	private static final String HOTEKISOCHI_TRGT = "60";
	
	/**
	 * 督促ステータス（ニッテレ債権委託済）
	 */
	private static final String NITTERE_SKENITAK_ZUMI = "61";
	
	/**
	 * 督促ステータス（小額債権）
	 */
	private static final String SHOGAKU_SAIKEN = "62";
	
	/**
	 * 督促ステータス（貸倒登録済）
	 */
	private static final String KASHID_ADD_ZUMI = "90";
	

	/**
	 * 更新フラグ（１：eoID会員有効性情報更新で使用（「手続き中の強制解約」更新対象））
	 */
	private static final String UPD_FLG_1 = "1";

	/**
	 * 更新フラグ（２：eoID会員有効性情報更新で使用（「手続き中の強制解約の回復」更新対象））
	 */
	private static final String UPD_FLG_2 = "2";

	/**
	 * カンマ
	 */
	private static final String CONMA = ",";

	/**
	 * シーケンス定義名(SEQ_SJISHO_NO)
	 * */
	private static final String SEQ_SJISHO_NO = "SEQ_SJISHO_NO";

	/**
	 * 出力力ファイル格納先パス
	 * */
	private String file_path = "";

	/**
	 * SYSID（支払方法入力支援）
	 * */
	private String sysid_payway = "";

	/**
	 *支払い方法入力支援コード
	 * */
	private String pw_input_shien_cd = "";

	/**
	 *ISP決済サービス契約番号
	 * */
	private String isp_ksai_svc_kei_no = "";

	/**
	 *クレジットカードID
	 * */
	private String crecard_id = "";

	/**
	 *無効フラグ（支払方法入力支援）
	 * */
	private String mk_flg_payway = "";

	/**
	 *登録年月日時分秒（支払方法入力支援）
	 * */
	private String add_dtm_payway = "";

	/**
	 *登録オペレータアカウント（支払方法入力支援）
	 * */
	private String add_opeacnt_payway = "";

	/**
	 *登録処理ID（支払方法入力支援）
	 * */
	private String add_trn_id_payway = "";

	/**
	 *更新年月日時分秒（支払方法入力支援）
	 * */
	private String upd_dtm_payway = "";

	/**
	 *更新オペレータアカウント（支払方法入力支援）
	 * */
	private String upd_opeacnt_payway = "";

	/**
	 *更新処理ID（支払方法入力支援）
	 * */
	private String upd_trn_id_payway = "";

	/**
	 *督促ステータス（支払方法入力支援）
	 * */
	private String tokusoku_stat_payway = "";

	/**
	 * 世代登録年月日時分秒 
	 * */
	private String gene_add_dtm = "";

	/**
	 *支払方法入力支援更新フラグ
	 * */
	private String payway_upd_flg = "";

	/**
	 * mi_iko_sysid（未移行会員SYSID）
	 * */
	private String mi_iko_sysid ="";
	
	/**
	 * trgt_sysid（対象SYSID）
	 * */
	private String trgt_sysid ="";
	
	/**
	 * mi_iko_sysid（未移行会員SYSIDの会員種別コード）
	 * */
	private String mi_iko_sbtCd ="";
	
	/**
	 * 他システム連携支払通番
	 * */
	private String tsyrn_pay_seq = "";
	
	/**
	 * サービス契約スキーマより抽出した世代登録年月日時分秒
	 * */
	private String gene_add_dtm_svckei = "";
	

	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(連携ファイル制御)*/
	private static final String D_TBL_NAME_KK_T_RNKI_FILE_CTRL = "KK_T_RNKI_FILE_CTRL";

	/** テーブル(支払い方法入力支援)*/
	private static final String D_TBL_NAME_CN_T_PAYWAY_INSUPORT = "CN_T_PAYWAY_INSUPORT";

	/** テーブル(グループ)*/
	private static final String D_TBL_NAME_CK_T_GRP = "CK_T_GRP";

	/** テーブル(料金グループ)*/
	private static final String D_TBL_NAME_KK_M_PRC_GRP = "KK_M_PRC_GRP";

	/** テーブル(料金コース)*/
	private static final String D_TBL_NAME_KK_M_PCRS = "KK_M_PCRS";

	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(請求契約)*/
	private static final String D_TBL_NAME_KK_T_SEIKY_KEI = "KK_T_SEIKY_KEI";

	/** テーブル(課金先)*/
	private static final String D_TBL_NAME_KK_T_KAKINS = "KK_T_KAKINS";

	/** テーブル(他システム連携異動記録)*/
	private static final String D_TBL_NAME_KK_T_TSYRN_IDO_KRK = "KK_T_TSYRN_IDO_KRK";

	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";

	/** テーブル(お客様グループ設定)*/
	private static final String D_TBL_NAME_CK_T_CUST_GRP_SETTE = "CK_T_CUST_GRP_SETTE";

	/** テーブル(割引サービス契約)*/
	private static final String D_TBL_NAME_KK_T_WRIB_SVC_KEI = "KK_T_WRIB_SVC_KEI";

	/** テーブル(旧ＩＣＳコード変換)*/
	private static final String D_TBL_NAME_KK_M_OLD_ICS_CD_CHG = "KK_M_OLD_ICS_CD_CHG";

	/** テーブル(サービス契約内訳＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL = "KK_T_SVKEIUW_EOH_TEL";
	
	/** テーブル(督促)*/
	private static final String D_TBL_NAME_CH_T_TOKUSOKU = "CH_T_TOKUSOKU";
	
	/** テーブル(督促異動)*/
	private static final String D_TBL_NAME_CH_T_TOKUSOKU_IDO = "CH_T_TOKUSOKU_IDO";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String CN_T_PAYWAY_INSUPORT_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_024)*/
	private static final String CK_T_CUST_KK_SELECT_024 = "KK_SELECT_024";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String CK_T_GRP_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_M_PCRS_KK_SELECT_004 = "KK_SELECT_004";

	/** SQL定義キー(KK_SELECT_061)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_061 = "KK_SELECT_061";

	/** SQL定義キー(KK_SELECT_017)*/
	private static final String KK_T_SEIKY_KEI_KK_SELECT_017 = "KK_SELECT_017";

	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_KAKINS_KK_SELECT_016 = "KK_SELECT_016";
	
	/** SQL定義キー(KK_SELECT_045)*/
	private static final String KK_T_KAKINS_KK_SELECT_045 = "KK_SELECT_045";

	/** SQL定義キー(KK_SELECT_013)*/
	private static final String KK_T_KAKINS_KK_SELECT_013 = "KK_SELECT_013";

	/** SQL定義キー(KK_SELECT_012)*/
	private static final String KK_T_KAKINS_KK_SELECT_012 = "KK_SELECT_012";

	/** SQL定義キー(KK_SELECT_038)*/
	private static final String CK_T_CUST_KK_SELECT_038 = "KK_SELECT_038";

	/** SQL定義キー(KK_SELECT_051)*/
	private static final String CK_T_CUST_KK_SELECT_051 = "KK_SELECT_051";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String CK_T_CUST_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String CK_T_CUST_GRP_SETTE_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String CN_T_PAYWAY_INSUPORT_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_234)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_234 = "KK_SELECT_234";

	/** SQL定義キー(KK_SELECT_047)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_047 = "KK_SELECT_047";

	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_008 = "KK_SELECT_008";

	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_009 = "KK_SELECT_009";
	
	/** SQL定義キー(KK_SELECT_044)*/
	private static final String KK_T_KAKINS_KK_SELECT_044 = "KK_SELECT_044";
	
	/** SQL定義キー(KK_SELECT_011)*/
	private static final String KK_M_OLD_ICS_CD_CHG_KK_SELECT_011 = "KK_SELECT_011";

	/** SQL定義キー(KK_SELECT_039)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_SELECT_039 = "KK_SELECT_039";
	
	/** SQL定義キー(KK_SELECT_002)*/
	private static final String CH_T_TOKUSOKU_KK_SELECT_002 = "KK_SELECT_002";
	
	/** SQL定義キー(KK_SELECT_001)*/
	private static final String CH_T_TOKUSOKU_IDO_KK_SELECT_001 = "KK_SELECT_001";

	/** テーブルアクセスクラス(連携ファイル制御)*/
	private JBSbatSQLAccess db_KK_T_RNKI_FILE_CTRL = null;

	/** テーブルアクセスクラス(支払い方法入力支援 SELECT_001 検索用)*/
	private JBSbatSQLAccess db_CN_T_PAYWAY_INSUPORT_001 = null;
	
	/** テーブルアクセスクラス(支払い方法入力支援  SELECT_003 検索用)*/
	private JBSbatSQLAccess db_CN_T_PAYWAY_INSUPORT_003 = null;
	
	/** テーブルアクセスクラス(支払い方法入力支援  無効化対応用)*/
	private JBSbatSQLAccess db_CN_T_PAYWAY_INSUPORT_MK = null;
	
	/** テーブルアクセスクラス(支払い方法入力支援  ＩＳＰ決済サービス契約番号更新用)*/
	private JBSbatSQLAccess db_CN_T_PAYWAY_INSUPORT_UP = null;

	/** テーブルアクセスクラス(グループ)*/
	private JBSbatSQLAccess db_CK_T_GRP = null;

	/** テーブルアクセスクラス(料金グループ)*/
	private JBSbatSQLAccess db_KK_M_PRC_GRP = null;

	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	
	/** テーブルアクセスクラス(サービス契約_259)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_259 = null;
	
	/** テーブルアクセスクラス(督促)*/
	private JBSbatSQLAccess db_CH_T_TOKUSOKU = null;
	
	/** テーブルアクセスクラス(督促異動)*/
	private JBSbatSQLAccess db_CH_T_TOKUSOKU_IDO = null;

	/** テーブルアクセスクラス(請求契約)*/
	private JBSbatSQLAccess db_KK_T_SEIKY_KEI = null;

	/** テーブルアクセスクラス(課金先 SELECT_016 SELECT_045検索用)*/
	private JBSbatSQLAccess db_KK_T_KAKINS_SV = null;
	
	/** テーブルアクセスクラス(課金先 SELECT_012 検索用)*/
	private JBSbatSQLAccess db_KK_T_KAKINS_012 = null;
	
	/** テーブルアクセスクラス(課金先 SELECT_013 検索用)*/
	private JBSbatSQLAccess db_KK_T_KAKINS_013 = null;
	
	/** テーブルアクセスクラス(課金先 SELECT_044 検索用)*/
	private JBSbatSQLAccess db_KK_T_KAKINS_044 = null;

	/** テーブルアクセスクラス(他システム連携異動記録)*/
	private JBSbatSQLAccess db_KK_T_TSYRN_IDO_KRK = null;

	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST_051 = null;
	
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST_038 = null;
	
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST_024 = null;
	
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST_005 = null;
	
	/** テーブルアクセスクラス(お客様グループ設定)*/
	private JBSbatSQLAccess db_CK_T_CUST_GRP_SETTE = null;

	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRIB_SVC_KEI = null;

	/** テーブルアクセスクラス(旧ＩＣＳコード変換)*/
	private JBSbatSQLAccess db_KK_M_OLD_ICS_CD_CHG = null;

	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 出力件数
	 * */
	private int out_cnt = 0;

	/**
	 *  料金コース(ID通知書発行識別コードが発行なし以外の料金コースコード)保持領域
	 */
	private HashMap<String, String> pcrs_cd_map = null;
	
	/**
	 * サービス回復保持領域
	 * */
	private ArrayList<HashMap<String, String>> svc_kaihk = null;

	/**
	 * サービス解約保持領域
	 * */
	private ArrayList<HashMap<String, String>> svc_dsl = null;

	/**
	 * 請求利用停止保持領域
	 * */
	private ArrayList<String> seiky_stp = null;

	/**
	 * 請求利用停止保持領域（検索用）
	 * */
	private ArrayList<String> seiky_stp_key = null;

	/**
	 * 請求利用停止サービスコード保持領域（検索用）
	 * */
	private HashMap<String, String> seiky_stp_svccd_key = null;

	/**
	 * 請求利用停止解除保持領域
	 * */
	private ArrayList<String> seiky_rls = null;

	/**
	 * 請求保持領域（検索用）
	 * */
	private ArrayList<String> seiky_inf = null;

	/**
	 * 請求リスト出力確認マップ
	 * */
	private HashMap<String, String> seiky_out_map = null;

	/**
	 * 請求リスト_未移行会員_出力確認マップ
	 * */
	private HashMap<String, String> seiky_out_miiko_map = null;

	/**
	 * 請求利用停止解除保持領域（検索用）
	 * */
	private ArrayList<String> seiky_rls_key = null;

	/**
	 * 請求利用停止解除サービスコード保持領域（検索用）
	 * */
	private HashMap<String, String> seiky_rls_svccd_key = null;

	/**
	 * 指示書更新用リスト
	 */
	private ArrayList<String[]> sjisho_list = null;
	
	/**
	 * 支払い方法入力支援更新用リスト
	 */
	private ArrayList<String[]> payway_insuport_list = null;

	/**
	 * 支払い方法入力番号
	 */
	private String paywayNo = "";
	

	/**
	 * サービス契約番号
	 */
	private String svcKeiNo = "";
	
	/**
	 * 異動区分
	 */
	private String idiv = "";
	
	/**
	 * 処理対象フラグ（請求系）
	 */
	private String trnTgFlg = "";
	
	/**
	 * 未移行会員情報格納領域
	 */
	private JBSbatCommonDBInterface dbMiIkoInfo = null;
	
	/**
	 * 未移行会員抽出用保持領域
	 * */
	private HashMap<String, String> miiko_inf = null;
	
	/**
	 * 督促情報保持領域
	 * */
	private HashMap<String, String> siky_ptn_inf = null;
	
	/**
	 * ISP決済情報リスト
	 * */
	private ArrayList<JBSbatCommonDBInterface> isp_inf_list = null;
	
	/**
	 * 抽出されたマスター会員SYSID
	 * */
	private String chsht_sysid = "";
	
	
	/**
	 * eoID会員有効性情報リスト
	 * */
	private ArrayList<JBSbatServiceInterfaceMap> mapList = null;
	
	/**
	 * パターン２１（一部回線解約スライドあり）情報保持領域
	 * */
	private HashMap<String, String> ptn_21_map = new HashMap<String, String>();
	
	
	/**
	 * 全回線解約判定フラグ
	 * */
	private boolean allKisnDel_flg = false;
	
	/**
	 * 未移行判定フラグ
	 * */
	private boolean miIkou_flg = false;
	
	
	private static final String CN_T_PAYWAY_INSUPORT = "支払方法入力支援";

	private static final String STR_CN_T_PAYWAY_INSUPORT_INFO = "支払い方法情報";
	
	/** ユースケースID(お客様退会情報登録) */
	private static final String USECASE_ID_CUST_TAIKAI_INF_ADD = "CKSV0038";
	
	/** CCタイトル(お客様退会情報登録) */
	private static final String CC_TITLE_CUST_TAIKAI_INF_ADD = "CKSV003801CC";
	
	/** ユースケースID(お客様回復情報登録) */
	private static final String USECASE_ID_CUST_KAIHK_INF_ADD = "CKSV0047";
	
	/** CCタイトル(お客様回復情報登録) */
	private static final String CC_TITLE_CUST_KAIHK_INF_ADD = "CKSV004701CC";
	
	/**
	 * 抽出されたマスターID格納領域
	 * */
	private ArrayList<String> chsht_mstID_inf = null;

	/**
	 * 前回実施運用年月日
	 * */
	private String znki_trn_upd_unyo_ymd = "";

	
	/**
	 * 督促ステータス
	 * */
	private String tokusokuStat = "";
	
	
	
	//OM-2014-00001134
	/**
	 * 分割併合判定フラグ
	 * */
	private boolean bnkt_heig_flg = false;
	//OM-2014-00001134
	
	/**
	 * 支払入力支援のマスター会員とファミリー会員のカウント
	 * */
	private int master_family_cnt = 0;
	
	/**
	 * 支払入力支援の未移行会員のカウント
	 * */
	private int miiko_cnt = 0;
	
	


	/**
	 * 判定結果「12」「14」「22」「32」「34」
	 */
	private static final HashMap<String, String> PRINT_TAISHO_GAI = new HashMap<String, String>();
	
	static
	{
		PRINT_TAISHO_GAI.put("12", "全回線利用停止");
		PRINT_TAISHO_GAI.put("14", "全回線回復");
		PRINT_TAISHO_GAI.put("22", "一部回線回復＿他サービス有");
		PRINT_TAISHO_GAI.put("32", "一部回線利用停止解除");
		PRINT_TAISHO_GAI.put("34", "一部回線回復＿他サービス無");
	}

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_RNKI_FILE_CTRL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_RNKI_FILE_CTRL);
		db_KK_M_PRC_GRP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PRC_GRP);
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		db_CK_T_CUST_051 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_CK_T_CUST_024 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_CK_T_CUST_038 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_CK_T_CUST_005 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_CN_T_PAYWAY_INSUPORT_001 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_PAYWAY_INSUPORT);
		db_CN_T_PAYWAY_INSUPORT_003 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_PAYWAY_INSUPORT);
		db_CN_T_PAYWAY_INSUPORT_UP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_PAYWAY_INSUPORT);
		db_CN_T_PAYWAY_INSUPORT_MK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CN_T_PAYWAY_INSUPORT);
		db_CK_T_GRP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_GRP);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_259 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_CH_T_TOKUSOKU = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_T_TOKUSOKU);
		db_CH_T_TOKUSOKU_IDO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_T_TOKUSOKU_IDO);
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_KEI);
		db_KK_T_KAKINS_SV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		db_KK_T_KAKINS_012 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		db_KK_T_KAKINS_013 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		db_KK_T_KAKINS_044 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAKINS);
		db_KK_T_TSYRN_IDO_KRK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TSYRN_IDO_KRK);
		db_CK_T_CUST_GRP_SETTE = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST_GRP_SETTE); 
		db_KK_T_WRIB_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRIB_SVC_KEI);
		db_KK_M_OLD_ICS_CD_CHG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_OLD_ICS_CD_CHG);
		db_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		// フリー項目からファイル格納先を取得します
		file_path = commonItem.getFreeItem();
		// ヘッダ部の出力を行います。
		writeHeader();
		// 出力ファイル用
		sjisho_list = new ArrayList<String[]>();
		payway_insuport_list =  new ArrayList<String[]>();
		seiky_out_map = new HashMap<String, String>();

		seiky_out_miiko_map = new HashMap<String, String>();
		//eoID会員有効性情報リスト生成
		mapList =  new ArrayList<JBSbatServiceInterfaceMap>(); 
		
		//抽出されたマスターID格納領域生成
		chsht_mstID_inf =  new ArrayList<String>();
		
		//パターン２１（一部回線解約スライドあり）情報格納領域生成
		ptn_21_map = new HashMap<String, String>();
		
		// 初期eoID払出対象判定用に料金コースコードを取得します。
		JBSbatCommonDBInterface db_map = null;
		pcrs_cd_map = new HashMap<String, String>();
		String[] param = new String[1];
		param[0] = super.opeDate;
		// ID通知書発行識別コードが発行なし以外を取得
		executeKK_M_PCRS_KK_SELECT_004(param);
		db_map = db_KK_M_PCRS.selectNext();
		while(null != db_map)
		{
			pcrs_cd_map.put(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_M_PCRS.PCRS_CD)), "");
			db_map = db_KK_M_PCRS.selectNext();
		}
		// MVNOの料金コースコードを設定  ANK-1584-00-00 追加
		pcrs_cd_map.put(PCRS_CD_MVNO,"");
		
		// ANK-2480-01-00 ADD START
		// ｅｏ電気の料金コースコードを設定
		pcrs_cd_map.put(PCRS_CD_EOELEC,"");
		// ANK-2480-01-00 ADD END

	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");

		// 保持領域を初期化します。
		svc_kaihk = new ArrayList<HashMap<String, String>>();
		svc_dsl = new ArrayList<HashMap<String, String>>();
		seiky_stp = new ArrayList<String>();
		seiky_rls = new ArrayList<String>();
		miiko_inf = new HashMap<String, String>();
		sysid_payway = "";
		pw_input_shien_cd = "";
		isp_ksai_svc_kei_no = "";
		crecard_id = "";
		tsyrn_pay_seq = "";
		mk_flg_payway = "";
		add_dtm_payway = "";
		add_opeacnt_payway = "";
		add_trn_id_payway = "";
		upd_dtm_payway = "";
		upd_opeacnt_payway = "";
		upd_trn_id_payway = "";
		tokusoku_stat_payway = "";
		payway_upd_flg = "";
		gene_add_dtm = "";
		//対象SYSID
		trgt_sysid ="";
		idiv ="";
		trnTgFlg ="";
		//全回線解約判定フラグ
		allKisnDel_flg = false;
		//抽出されたマスター会員SYSID
		chsht_sysid = "";
		gene_add_dtm_svckei = "";
		//
		tokusokuStat = "";
		bnkt_heig_flg = false;
		
		JBSbatOutputItem out_bean = new JBSbatOutputItem();
		
		//レコードが終了した場合　処理を抜ける。
		if(null == inMap)
		{
			return out_bean;
		}

		String sysid = "";
		String memberSbtCd = "";
		paywayNo = "";
		
		
		isp_inf_list = new ArrayList<JBSbatCommonDBInterface>();
		
		
		// 入力ファイルから情報を取得します。
		svcKeiNo = inMap.getString(JBSbatKKIFM028.SVC_KEI_NO);
		String updFlg = inMap.getString(JBSbatKKIFM028.UPD_FLG);
		String pcrsCd = inMap.getString(JBSbatKKIFM028.PCRS_CD);
		sysid = inMap.getString(JBSbatKKIFM028.SYSID);
		//抽出されたマスターID格納
		chsht_mstID_inf.add(sysid);
		
		gene_add_dtm = inMap.getString(JBSbatKKIFM028.GENE_ADD_DTM);
		idiv = inMap.getString(JBSbatKKIFM028.IDO_DIV);
		trnTgFlg = inMap.getString(JBSbatKKIFM028.TRN_TG_FLG);
		
		chsht_sysid = inMap.getString(JBSbatKKIFM028.SYSID);
		
		memberSbtCd = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM028.MEMBER_SBT_CD));
		
		//サービス契約スキーマより抽出した世代登録年月日時分秒
		gene_add_dtm_svckei = inMap.getString(JBSbatKKIFM028.GENE_ADD_DTM_SVC);
		//督促ステータス
		tokusokuStat = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM028.TOKUSOKU_STAT));
		
		
		super.logPrint.printDebugLog("svcKeiNo>" + svcKeiNo);
		super.logPrint.printDebugLog("updFlg>" + updFlg);
		super.logPrint.printDebugLog("pcrsCd>" + pcrsCd);
		super.logPrint.printDebugLog("sysid>" + sysid);
		super.logPrint.printDebugLog("gene_add_dtm>" + gene_add_dtm);
		super.logPrint.printDebugLog("memberSbtCd>" + memberSbtCd);
		
		// ANK-2234-00-00 ADD START
		super.logPrint.printDebugLog("trnTgFlg>" + trnTgFlg);
		super.logPrint.printDebugLog("idiv>" + idiv);
		super.logPrint.printDebugLog("chsht_sysid>" + chsht_sysid);
		// ANK-2234-00-00 ADD END
		
		//未移行会員抽出用保持領域設定
		miiko_inf.put(JBSbatKKIFM028.SVC_KEI_NO, svcKeiNo);
		miiko_inf.put(JBSbatKKIFM028.SYSID, sysid);
		miiko_inf.put(JBSbatKKIFM028.IDO_DIV, idiv);
		
		
		try
		{
			//未eo会員情報は対象外
			if("00".equals(memberSbtCd))
			{
				super.logPrint.printDebugLog("未eo会員情報は対象外--------------SYSID>" + sysid);
				return out_bean;
			}
			
			//20140208
			//請求系でない利用停止、利用停止解除の情報は対象外
			if("".equals(trnTgFlg) && (IDO_DIV_USE_STP.equals(idiv) || IDO_DIV_USE_STP_RLS.equals(idiv)) )
			{
				super.logPrint.printDebugLog("請求系でない利用停止、利用停止解除の情報は対象外--------------SYSID>" + sysid);
				return out_bean;
			}
			
			if("1".equals(trnTgFlg) && IDO_DIV_KAIHK.equals(idiv))
			{
				super.logPrint.printDebugLog("請求系に回復の情報は対象外--------------SYSID>" + sysid);
				return out_bean;
			}
			//20140208
			
		
			if(!"".equals(pcrsCd) && !pcrs_cd_map.containsKey(pcrsCd))
			{
				super.logPrint.printDebugLog("--------------------------------SYSID>" + sysid);
				super.logPrint.printDebugLog("execute_END_1 料金コースコード：" + pcrsCd);
				return out_bean;
			}
			
			// 手続き中の強制解約サービス：指示書（契約サービス共通情報（解約））更新用ファイルを出力します。
			if(UPD_FLG_1.equals(updFlg))
			{
				executeKyoseiDsl(inMap);
			}
			
			// 手続き中の強制解約サービス回復：指示書（契約サービス共通情報（回復））更新用ファイルを出力します。
			if(UPD_FLG_2.equals(updFlg))
			{
				executeKyoseiDslKaihk(inMap);
			}
			
			if("".equals(trnTgFlg))
			{
				super.logPrint.printDebugLog("サービス契約番号を元に支払い方法入力支援からSYSIDを取得します。");
				// サービス契約番号を元に支払い方法入力支援からSYSIDを取得します。
				JBSbatCommonDBInterface db_map = null;
				JBSbatCommonDBInterface db_map_inf = null;
				
				//支払入力支援のマスター会員とファミリー会員のカウントの初期化
				master_family_cnt = 0;
				//支払入力支援の未移行会員のカウントの初期化
				miiko_cnt = 0;
				
				
				
				if(!IDO_DIV_KAIHK.equals(idiv))
				{
				
					String[] param = new String[2];
					param[0] = super.opeDate;
					param[1] = svcKeiNo;
					
					executeCN_T_PAYWAY_INSUPORT_KK_SELECT_001(param);
					db_map_inf = db_CN_T_PAYWAY_INSUPORT_001.selectNext();
					
					//ISP決済情報保持
					while (null != db_map_inf)
					{
						
						String payway_ins_sysid = JBSbatStringUtil.Rtrim(db_map_inf.getString(JBSbatCN_T_PAYWAY_INSUPORT.SYSID));
						
						super.logPrint.printDebugLog("■ISP決済情報---SYSID : "+ payway_ins_sysid );
						
						if(!"".equals(payway_ins_sysid))
						{
						
							//未移行会員かどうかを判定
							//督促ステータス取得
							JBSbatCommonDBInterface sysId_map = null;
							String[] param_04 = new String[2];
							param_04[0] = payway_ins_sysid;
							param_04[1] = super.opeDate;
							super.logPrint.printDebugLog("CK_T_CUST-KK_SELECT_024 param1(sysid):" + param_04[0] + " param2(opedate):" + param_04[1]);
							
							executeCK_T_CUST_KK_SELECT_024(param_04);
							sysId_map = db_CK_T_CUST_024.selectNext();
							if(null == sysId_map)
							{
								super.logPrint.printDebugLog("■未移行会員かどうかを判定---未移行会員ではない");
								//マスター会員とファミリー会員のカウントアップ
								master_family_cnt++;
							}
							else
							{
								super.logPrint.printDebugLog("■未移行会員かどうかを判定---未移行会員");
								//未移行会員のカウントアップ
								miiko_cnt++;
							}
						}
						
						isp_inf_list.add(db_map_inf);
						
						db_map_inf = db_CN_T_PAYWAY_INSUPORT_001.selectNext();
					}
				
				}
				
				
				if(0 != isp_inf_list.size()){
					
					for (int i = 0; i < isp_inf_list.size(); i++)
					{
						super.logPrint.printDebugLog("CN_T_PAYWAY_INSUPORT_KK_SELECT_001:SYSIDが取得できた場合");
						
						svc_kaihk = new ArrayList<HashMap<String, String>>();
						svc_dsl = new ArrayList<HashMap<String, String>>();
						seiky_stp = new ArrayList<String>();
						seiky_rls = new ArrayList<String>();
						
						sysid = "";
						memberSbtCd = "";
						
						sysid_payway = "";
						pw_input_shien_cd = "";
						isp_ksai_svc_kei_no = "";
						crecard_id = "";
						tsyrn_pay_seq = "";
						mk_flg_payway = "";
						add_dtm_payway = "";
						add_opeacnt_payway = "";
						add_trn_id_payway = "";
						upd_dtm_payway = "";
						upd_opeacnt_payway = "";
						upd_trn_id_payway = "";
						tokusoku_stat_payway = "";
						payway_upd_flg = "";
						trgt_sysid ="";
						paywayNo = "";
						miIkou_flg = false;
						bnkt_heig_flg = false;
						
						//ISP決済情報取得
						db_map = isp_inf_list.get(i);
						
						sysid = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.SYSID));
						memberSbtCd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCK_T_CUST.MEMBER_SBT_CD));
						
						//OM-2014-00001134
						//抽出情報の異動区分が分割、併合の場合で、ISP決済情報の会員種別がマスター会員の場合
						if((IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv)) 
								&& (MEMBRE_SBT_CD_MASTER_KOJIN.equals(memberSbtCd) || MEMBRE_SBT_CD_MASTER_HOJIN.equals(memberSbtCd)))
						{
							if(!"".equals(sysid) && !"".equals(chsht_sysid))
							{
								if(!chsht_sysid.equals(sysid))
								{
									//抽出情報のSYSIDを設定
									sysid = chsht_sysid;
									//分割併合判定フラグ
									bnkt_heig_flg = true;
								}
							}
							
						}
						//OM-2014-00001134
						
						paywayNo = db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.PAYWAY_NO);
						// 指示書（支払方法）情報を取得
						sysid_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.SYSID));
						pw_input_shien_cd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.PAYWAY_INPUT_SHIEN_CD));
						isp_ksai_svc_kei_no = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.ISP_KSSAI_SVC_KEI_NO));
						crecard_id = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.CRECARD_ID));
						tsyrn_pay_seq = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.TSYRN_PAY_SEQ));
						mk_flg_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.MK_FLG));
						add_dtm_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.ADD_DTM));
						add_opeacnt_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.ADD_OPEACNT));
						add_trn_id_payway = "";
						upd_dtm_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.UPD_DTM));
						upd_opeacnt_payway = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.UPD_OPEACNT));
						upd_trn_id_payway = "";
						payway_upd_flg = "1";
						String tStat = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM028.TOKUSOKU_STAT));
						if("".equals(tStat))
						{
							//督促ステータス取得
							JBSbatCommonDBInterface tokusoku_map = null;
							String[] param_03 = new String[5];
							param_03[0] = super.opeDate;
							param_03[1] = znki_trn_upd_unyo_ymd;
							param_03[2] = super.opeDate;
							param_03[3] = znki_trn_upd_unyo_ymd;
							param_03[4] = paywayNo;
							super.logPrint.printDebugLog("CN_T_PAYWAY_INSUPORT_KK_SELECT_003 param1:" + param_03[0] + " param2:" + param_03[1] + " param3:" +param_03[2]);
							
							executeCN_T_PAYWAY_INSUPORT_KK_SELECT_003(param_03);
							tokusoku_map = db_CN_T_PAYWAY_INSUPORT_003.selectNext();
							if(null != tokusoku_map)
							{
								tokusoku_stat_payway = JBSbatStringUtil.Rtrim(tokusoku_map.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT));
								super.logPrint.printDebugLog("CN_T_PAYWAY_INSUPORT_KK_SELECT_003 tokusoku_stat:" + tokusoku_stat_payway);
							}
							else
							{
								tokusoku_stat_payway = "00";
							}
						}
						else
						{
							tokusoku_stat_payway = tStat;
						}
						
						//未移行会員かどうかを判定
						//督促ステータス取得
						JBSbatCommonDBInterface sysId_map = null;
						String[] param_04 = new String[2];
						param_04[0] = sysid;
						param_04[1] = super.opeDate;
						super.logPrint.printDebugLog("CK_T_CUST-KK_SELECT_024 param1(sysid):" + param_04[0] + " param2(opedate):" + param_04[1]);
						
						executeCK_T_CUST_KK_SELECT_024(param_04);
						sysId_map = db_CK_T_CUST_024.selectNext();
						if(null == sysId_map)
						{
							super.logPrint.printDebugLog("■未移行会員かどうかを判定---未移行会員ではない");
							//会員有効性情報ファイル作成処理
							out_bean = setYkInfFileSaksei(out_bean, sysid, updFlg);
						}
						else
						{
							miIkou_flg = true;
							super.logPrint.printDebugLog("■未移行会員かどうかを判定---未移行会員");
							sysid = miiko_inf.get(JBSbatKKIFM028.SYSID);
							out_bean = setYkInfFileSaksei(out_bean, sysid, updFlg);
							
						}
					}

				}
				else
				{
					//会員有効性情報ファイル作成処理
					out_bean = setYkInfFileSaksei(out_bean, sysid, updFlg);
				}
			}
			else
			{
				//会員有効性情報ファイル作成処理
				out_bean = setYkInfFileSaksei(out_bean, sysid, updFlg);
			}
			
			
			
			//全回線解約処理があった場合にファミリー会員の会員種別変更判定処理をします。
			if(allKisnDel_flg)
			{
				JBSbatCommonDBInterface grpsettedb_map = null;
				
				String[] param_03 = new String[3];
				param_03[0] = chsht_sysid;
				param_03[1] = chsht_sysid;
				param_03[2] = gene_add_dtm;
				
				executeCK_T_CUST_GRP_SETTE_KK_SELECT_002(param_03);
				grpsettedb_map = db_CK_T_CUST_GRP_SETTE.selectNext();
				
		
				//ファミリー会員の会員種別変更あり情報をファイルに出力する
				while(null != grpsettedb_map)
				{
					//判断フラグ
					boolean isp_flg = false;
					
					String ispgai_sysid = JBSbatStringUtil.Rtrim(grpsettedb_map.getString(JBSbatCK_T_CUST_GRP_SETTE.SYSID));
					
					//お客様グループ設定.お客様グループ設定ステータスを取得
					String custGrpSetteStat = JBSbatStringUtil.Rtrim(grpsettedb_map.getString(JBSbatCK_T_CUST_GRP_SETTE.CUST_GRP_SETTE_STAT));
					
					if("001".equals(custGrpSetteStat))
					{
					
						//ISP決済情報保持領域件数分
						for (int i = 0; i < isp_inf_list.size(); i++)
						{
							JBSbatCommonDBInterface db_map = isp_inf_list.get(i);
							
							String isp_sysid = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCN_T_PAYWAY_INSUPORT.SYSID));
							
							if(ispgai_sysid.equals(isp_sysid))
							{
								isp_flg = true;
								break;
							}
			
						}
			
						//ISP決済のSYSIDでない場合
						if(!isp_flg)
						{
							super.logPrint.printDebugLog("会員種別変更あり　SYSID>　" + ispgai_sysid);
							//ISP会員でない場合
								// 出力対象の場合、ファイル出力します。
							if (isOutPrint(ispgai_sysid, svcKeiNo, ISP_KSSAI_GAI))
							{
								mapList.add(executePrint(svcKeiNo, ispgai_sysid, getMemberSbtCd(ispgai_sysid), ISP_KSSAI_GAI, null, null));
							}
			
						}
					}
						
					grpsettedb_map = db_CK_T_CUST_GRP_SETTE.selectNext();
				}
			}
			
			
			//利用停止、利用停止解除の情報は対象外
			if("".equals(trnTgFlg))
			{
			
				// 未移行会員の場合、追加出力します。
				//未移行会員抽出用保持領域設定
				String miiko_svcKeiNo = miiko_inf.get(JBSbatKKIFM028.SVC_KEI_NO);
				String miiko_idiv = miiko_inf.get(JBSbatKKIFM028.IDO_DIV);
				
				if(isMiIkoMember(miiko_svcKeiNo))
				{
					// サービス契約で異動区分が対象で抽出されたレコーダが対象
		
					String ptn = "";
		
					if(IDO_DIV_DSL.equals(miiko_idiv) 
							|| IDO_DIV_TDSL.equals(miiko_idiv) 
								|| IDO_DIV_CANCEL.equals(miiko_idiv)
									|| IDO_DIV_COURSE_CHG.equals(miiko_idiv)
										|| IDO_DIV_KSI_DSL_TEKKYO.equals(miiko_idiv) 
											|| IDO_DIV_KSI_DSL.equals(miiko_idiv)
												|| IDO_DIV_JS_HNK_TRK.equals(miiko_idiv)
													|| IDO_DIV_JS_HNK_KKT.equals(miiko_idiv)
														|| UPD_FLG_1.equals(updFlg))
					{
						ptn = ALL_DSL;
					}
					else
					{
						super.logPrint.printDebugLog("未移行会員>異動区分「" + miiko_idiv + "」のため出力対象外");
						
						dbMiIkoInfo = null;
					}
					
					// ファイル出力
					
					
					while(null != dbMiIkoInfo)
					{		
						//未移行会員のSYSID
						mi_iko_sysid = JBSbatStringUtil.Rtrim(dbMiIkoInfo.getString(JBSbatCK_T_CUST.SYSID));
						//未移行会員の会員種別コード
						mi_iko_sbtCd = getMemberSbtCd(mi_iko_sysid);
						
						// 判定時にSYSIDを取得する必要がある
						super.logPrint.printDebugLog("サービス契約番号>" + miiko_svcKeiNo);
						super.logPrint.printDebugLog("未移行_sysid>" + mi_iko_sysid);
						super.logPrint.printDebugLog("会員種別コード>" + mi_iko_sbtCd);
						mapList.add(executePrint(miiko_svcKeiNo, mi_iko_sysid, mi_iko_sbtCd, ptn, null, null));
						
						dbMiIkoInfo = db_CK_T_CUST_038.selectNext();
					}
				}
				
			}
		}
		finally
		{
		
			// 読み込んだファイルの最終レコードの場合。
			if(commonItem.isEndRecordFlg())
			{
				super.logPrint.printDebugLog("出力対象となる情報を作成");
	
				//出力対象となる情報を作成する
				out_bean = makeOutBean(out_bean);
	
			}
			
			super.logPrint.printDebugLog("execute_END");
			
		}

		return out_bean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}



	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		// eoID会員有効性情報ファイルのトレーラー部の出力を行います。
		writeTrailer();
		
		// 指示書更新用ファイル、支払い方法入力支援更新用ファイルを出力します。
		executeOutUpdateFile();
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_RNKI_FILE_CTRL.close();
		db_KK_M_PRC_GRP.close();
		db_KK_M_PCRS.close();
		db_CK_T_CUST_051.close();
		db_CK_T_CUST_038.close();
		db_CK_T_CUST_024.close();
		db_CK_T_CUST_005.close();
		db_CN_T_PAYWAY_INSUPORT_001.close();
		db_CN_T_PAYWAY_INSUPORT_003.close();
		db_CN_T_PAYWAY_INSUPORT_UP.close();
		db_CN_T_PAYWAY_INSUPORT_MK.close();
		db_CK_T_GRP.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_259.close();
		db_CH_T_TOKUSOKU.close();
		db_CH_T_TOKUSOKU_IDO.close();
		db_KK_T_SEIKY_KEI.close();
		db_KK_T_KAKINS_SV.close();
		db_KK_T_KAKINS_012.close();
		db_KK_T_KAKINS_013.close();
		db_KK_T_KAKINS_044.close();
		db_KK_T_TSYRN_IDO_KRK.close();
		db_CK_T_CUST_GRP_SETTE.close();
		db_KK_T_WRIB_SVC_KEI.close();
		db_KK_M_OLD_ICS_CD_CHG.close();
		db_KK_T_SVKEIUW_EOH_TEL.close();
		
		
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	BUTSURI_BAT_ID
	 *		 	FILE_ID
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_RNKI_FILE_CTRL_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("BUTSURI_BAT_ID", whereParam[0]);
		whereMap.setValue("FILE_ID", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_RNKI_FILE_CTRL.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	RSV_APLY_YMD
	 *		 	ISP_KSSAI_SVC_KEI_NO
	 *			UPD_DTM
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCN_T_PAYWAY_INSUPORT_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CN_T_PAYWAY_INSUPORT_001.selectBySqlDefine(paramList, CN_T_PAYWAY_INSUPORT_KK_SELECT_001);
	}
	
	/**
	 * SQLKEY(KK_SELECT_024)で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_KK_SELECT_024(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST_024.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_024);
	}
	
	/**
	 * SQLKEY(KK_SELECT_051)で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_KK_SELECT_051(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_CK_T_CUST_051.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_051);
	}

	/**
	 * SQLKEY(KK_SELECT_001)で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_GRP_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_CK_T_GRP.selectBySqlDefine(paramList, CK_T_GRP_KK_SELECT_001);
	}


	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_PCRS_KK_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_KK_SELECT_004);
	}

	/**
	 * SQLKEY(KK_SELECT_038)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	旧ｅｏｎｅｔ会員認証用ＩＤ
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_KK_SELECT_038(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST_038.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_038);
	}

	/**
	 * SQLKEY(KK_SELECT_061)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	世代登録年月日時分秒
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_061(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_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_061);
	}

	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	課金先適用開始年月日
	 *		 	課金先適用終了年月日
	 *		 	督促管理開始年月日
	 *		 	督促管理終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_T_TOKUSOKU_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());

		// DBアクセスを実行します
		db_CH_T_TOKUSOKU.selectBySqlDefine(paramList, CH_T_TOKUSOKU_KK_SELECT_002);
	}
	
	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	更新年月日時分秒
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_T_TOKUSOKU_IDO_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CH_T_TOKUSOKU_IDO.selectBySqlDefine(paramList, CH_T_TOKUSOKU_IDO_KK_SELECT_001);
	}
	
	/**
	 * SQLKEY(KK_SELECT_017)で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_SEIKY_KEI_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());
		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());

		// DBアクセスを実行します
		db_KK_T_SEIKY_KEI.selectBySqlDefine(paramList, KK_T_SEIKY_KEI_KK_SELECT_017);
	}

	/**
	 * SQLKEY(KK_SELECT_016)で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_KAKINS_KK_SELECT_016(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		db_KK_T_KAKINS_SV.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_016);
	}
	
	/**
	 * SQLKEY(KK_SELECT_045)で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_KAKINS_KK_SELECT_045(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());
		
		//ANK-1584-00-00 追加
		//paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		db_KK_T_KAKINS_SV.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_045);
	}

	/**
	 * SQLKEY(KK_SELECT_013)で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_KAKINS_KK_SELECT_013(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		
		//ANK-1584-00-00 追加
//		paramList.setValue(param[10].toString());

		// DBアクセスを実行します
		db_KK_T_KAKINS_013.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_013);
	}

	/**
	 * 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_KAKINS_KK_SELECT_012(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());

		// DBアクセスを実行します
		db_KK_T_KAKINS_012.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_012);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SYSID
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_TSYRN_IDO_KRK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SYSID", whereParam[0]);
		whereMap.setValue("SVC_KEI_NO", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_TSYRN_IDO_KRK.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	SYSID
	 *		 	世代登録年月日時分秒
	 *		 	
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCK_T_CUST_GRP_SETTE_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_CK_T_CUST_GRP_SETTE.selectBySqlDefine(paramList, CK_T_CUST_GRP_SETTE_KK_SELECT_002);
	}
	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	課金先適用開始年月日
	 *		 	課金先適用終了年月日
	 *		 	督促管理開始年月日
	 *		 	督促管理終了年月日
	 *		 	支払い方法番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCN_T_PAYWAY_INSUPORT_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());

		// DBアクセスを実行します
		db_CN_T_PAYWAY_INSUPORT_003.selectBySqlDefine(paramList, CN_T_PAYWAY_INSUPORT_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_234)で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_234(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_234);
	}

	/**
	 * SQLKEY(KK_SELECT_005)で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_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST_005.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_005);
	}
	
	/**
	 * SQLKEY(KK_SELECT_047)で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_WRIB_SVC_KEI_KK_SELECT_047(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_047);
	}

	/**
	 * SQLKEY(KK_SELECT_008)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	料金コースコード
	 *		 	料金プランコード
	 *		 	即割有無
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_008(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());

		// DBアクセスを実行します
		db_KK_M_OLD_ICS_CD_CHG.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_008);
	}

	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_009(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_M_OLD_ICS_CD_CHG.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_009);
	}
	
	/**
	 * SQLKEY(KK_SELECT_044)で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_KAKINS_KK_SELECT_044(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_KAKINS_044.selectBySqlDefine(paramList, KK_T_KAKINS_KK_SELECT_044);
	}
	
	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	PAYWAY_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCN_T_PAYWAY_INSUPORT_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		//  条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("PAYWAY_NO", whereParam[0]);
		
		//設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("ISP_KSSAI_SVC_KEI_NO",setParam[0]);

		// DBアクセスを実行します
		db_CN_T_PAYWAY_INSUPORT_UP.updateByPrimaryKeys(whereMap, setMap);
	}
	
	/**
	 * PK(ＰＫ　論理削除)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	PAYWAY_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCN_T_PW_INSUPORT_PKLGCDLT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("PAYWAY_NO", whereParam[0]);

		// DBアクセスを実行します
		db_CN_T_PAYWAY_INSUPORT_MK.logicalDeleteByPrimaryKeys(whereMap);
	}


	/**
	 * SQLKEY(KK_SELECT_011)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金グループコード
	 *		 	料金プランコード
	 *		 	旧ICSコード変換適用開始年月日
	 *		 	旧ICSコード変換適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_011(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_M_OLD_ICS_CD_CHG.selectBySqlDefine(paramList, KK_M_OLD_ICS_CD_CHG_KK_SELECT_011);
	}

	/**
	 * SQLKEY(KK_SELECT_039)で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_SVKEIUW_EOH_TEL_KK_SELECT_039(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEIUW_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_SELECT_039);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * ヘッダ部の出力をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.連携ファイル制御から処理済みファイル通番を取得します。<br>
	 *
	 * 2.処理済みファイル通番に＋１をします。<br>
	 *
	 * 3.ヘッダ部の出力処理をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void writeHeader() throws Exception
	{
		JBSbatCommonDBInterface map = null;
		JBSbatOutputFileUtil out_obj = super.commonItem.getOutPutFile();
		StringBuffer head_str = new StringBuffer();
		String[] param = new String[2];

		param[0] = BAT_ID;
		param[1] = FILE_ID;

		// 連携ファイル制御を検索します。
		map = executeKK_T_RNKI_FILE_CTRL_PKSELECT(param);

		// No.1 レコード区分
		head_str.append(editStringCSV(REC_DIV_HEADER));
		head_str.append(",");

		// No.2 ファイル作成日
		head_str.append(editStringCSV(JBSbatDateUtil.getSystemDateTime()));
		head_str.append(",");
		
		if(null == map)
		{
			head_str.append(editStringCSV(JBSbatStringUtil.padNumFormString(String.valueOf(0), 5)));
		}
		else
		{
			if(null != map.getString(JBSbatKK_T_RNKI_FILE_CTRL.TRAN_ZUMI_FILE_SEQ)
					&& !"".equals(map.getString(JBSbatKK_T_RNKI_FILE_CTRL.TRAN_ZUMI_FILE_SEQ)))
			{
				int db_value = Integer.parseInt(JBSbatStringUtil.Rtrim(map.getString(JBSbatKK_T_RNKI_FILE_CTRL.TRAN_ZUMI_FILE_SEQ)));
				if(6 > String.valueOf(db_value + 1).length())
				{
					head_str.append(editStringCSV(JBSbatStringUtil.padNumFormString(String.valueOf(db_value + 1), 5)));
				}
				else
				{
					head_str.append(editStringCSV(JBSbatStringUtil.padNumFormString(String.valueOf(0), 5)));
				}
			}
			else
			{
				head_str.append(editStringCSV(JBSbatStringUtil.padNumFormString(String.valueOf(0), 5)));
			}
			
			// 前回実施運用年月日の取得
			znki_trn_upd_unyo_ymd = JBSbatStringUtil.Rtrim(map.getString(JBSbatKK_T_RNKI_FILE_CTRL.UPD_UNYO_YMD));
		}
		// ヘッダ部の出力を行います。
		out_obj.write(head_str.toString());
	}

	/**
	 * サービス契約の有効性パターン判定をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.サービス契約の検索を行います。<br>
	 * 
	 * 2.検索結果のステータスをチェックします。<br>
	 * 
	 * 3.チェック結果を元に、有効性パターンを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param sysid　ＳＹＳＩＤ。
	 * @return int　有効性パターン。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int getSvcKeiYkPtn(String sysid, String updFlg) throws Exception
	{
		JBSbatCommonDBInterface db_map = null;
		int rtn_ptn = 0;
		int total_cnt = 0;
		int dsl_cnt = 0;
		int del_ido_cnt = 0;


		int heigo_kaiyaku_del_cnt = 0;
		
		HashMap<String, String> divMap = new HashMap<String, String>();
		String idoDiv = "";

		String[] param = new String[3];
		param[0] = sysid;
		param[1] = gene_add_dtm;
		param[2] = super.opeDate;

		// サービス契約の検索を行います。
		executeKK_T_SVC_KEI_KK_SELECT_061(param);
		db_map = db_KK_T_SVC_KEI.selectNext();
		
		boolean heigo_kaiyaku_flg = false;
		

		// 検索結果件数分繰り返します
		while (null != db_map)
		{
			String svc_kei_no = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
			String div = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.IDO_DIV));
			String stat = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT));
			String prc_cd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
			String pcrs_cd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
			
			if(!pcrs_cd_map.containsKey(pcrs_cd))
			{
				db_map = db_KK_T_SVC_KEI.selectNext();
				continue;
			}
			
			if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv) || IDO_DIV_COURSE_CHG.equals(idiv))
			{
				// 世代登録年月日時分秒最大の異動区分を退避
				if(!svcKeiNo.equals(svc_kei_no))
				{
					// 退避情報の生成
					divMap.put("idoDiv", div);
					HashMap<String, String> svc_inf = new HashMap<String, String>();
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_NO, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
					svc_inf.put(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM)));
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT, stat);
					svc_inf.put(JBSbatKK_T_SVC_KEI.IDO_DIV, div);
					svc_inf.put(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, prc_cd);
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_ENDYMD, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD)));
					

					// 解約の場合、以下の処理を行います。
					if (STAT_UK.equals(stat)
							|| STAT_DSL.equals(stat)
								|| STAT_CANCEL.equals(stat)
									|| ((STAT_DTAIL.equals(stat) || STAT_CNC.equals(stat)) && isTokusokuInf(svc_kei_no)))
					{
						heigo_kaiyaku_del_cnt++;
					}
					
					if(!heigo_kaiyaku_flg)
					{
						// サービス解約保持領域に設定します。
						svc_dsl.add(svc_inf);
						
						heigo_kaiyaku_flg = true;
					}
				}
				else
				{
					// 世代登録年月日時分秒より過去の解約の場合、以下の処理を行います。
					if (STAT_UK.equals(stat)
							|| STAT_DSL.equals(stat)
								|| STAT_CANCEL.equals(stat))
					{
						del_ido_cnt++;
					}
				}
				
			}
			else
			{
				
				
				// 世代登録年月日時分秒最大の異動区分を退避
				if(svcKeiNo.equals(svc_kei_no))
				{
					// 退避情報の生成
					divMap.put("idoDiv", div);
					HashMap<String, String> svc_inf = new HashMap<String, String>();
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_NO, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
					svc_inf.put(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM)));
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT, stat);
					svc_inf.put(JBSbatKK_T_SVC_KEI.IDO_DIV, div);
					svc_inf.put(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, prc_cd);
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_ENDYMD, JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD)));
	
					// 解約、強制解約の場合、以下の処理を行います。（マスター会員の場合　手続き中の解約も含む）
					if (STAT_UK.equals(stat)
							|| STAT_DSL.equals(stat)
								|| STAT_CANCEL.equals(stat)
									|| UPD_FLG_1.equals(updFlg)
										||( IDO_DIV_KSI_DSL.equals(idiv) && (STAT_DTAIL.equals(stat) || STAT_CNC.equals(stat)) ))
					{
						// サービス解約保持領域に設定します。
						svc_dsl.add(svc_inf);
					}
					// 回復の場合、以下の処理を行います。
					else
					{
						// サービス回復保持領域に設定します。
						svc_kaihk.add(svc_inf);
					}
				}
				else
				{
					// 世代登録年月日時分秒より過去の解約、強制解約、手続き中の解約の場合、以下の処理を行います。
					if (STAT_UK.equals(stat)
							|| STAT_DSL.equals(stat)
								|| STAT_CANCEL.equals(stat)
									|| ((STAT_DTAIL.equals(stat) || STAT_CNC.equals(stat)) && isTokusokuInf(svc_kei_no)) )
					{
						del_ido_cnt++;
					}
					
				}
			}
			
			// 解約済み件数を加算します。
			if (STAT_DSL.equals(stat))
			{
				dsl_cnt++;
			}

			// 検索結果件数を加算します。
			total_cnt++;

			db_map = db_KK_T_SVC_KEI.selectNext();
		}
		
		
		if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv) || IDO_DIV_COURSE_CHG.equals(idiv))
		{		
		
			if(0 == total_cnt || heigo_kaiyaku_del_cnt == total_cnt)
			{
				rtn_ptn = 3;
				
				if(0 == total_cnt)
				{
				
					HashMap<String, String> svc_inf = new HashMap<String, String>();
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_NO, svcKeiNo);
					svc_inf.put(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM, gene_add_dtm);
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT, "");
					svc_inf.put(JBSbatKK_T_SVC_KEI.IDO_DIV, "");
					svc_inf.put(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, "");
					svc_inf.put(JBSbatKK_T_SVC_KEI.SVC_ENDYMD, "");
					
					svc_dsl.add(svc_inf);
				}
				
			}
			else
			{
				rtn_ptn = 8;
			}
			
			return rtn_ptn;
			
		}
		
		

		idoDiv = (String) divMap.get("idoDiv");
		super.logPrint.printDebugLog("idoDiv:::" + idoDiv);
		
		// 検索結果件数 ＝ サービス解約保持領域数の場合、パターン３（全回線解約）
		if (0 < total_cnt && total_cnt == svc_dsl.size() + del_ido_cnt)
		{
			rtn_ptn = 3;
		}
		// 検索結果件数−解約済み件数＝１  且つ  サービス回復保持領域＝１  の場合、パターン４（全回線回復）
		else if (1 == total_cnt - dsl_cnt && 1 == svc_kaihk.size())
		{
			rtn_ptn = 4;
		}
		// 最新の異動区分が回復  且つ サービス回復保持領域数 > 0の場合、パターン７（一部回線回復）
		else if ( 0 < svc_kaihk.size())
		{
			rtn_ptn = 7;
		}
		// 最新の異動区分が解約  且つ  サービス解約保持領域数 > 0 の場合、パターン８（一部回線解約）
		else if ( 0 < svc_dsl.size())
		{
			rtn_ptn = 8;
		}

		// デバックログ
		super.logPrint.printDebugLog("--------------------------------SYSID>" + sysid);
		super.logPrint.printDebugLog("--サービス解約保持領域数>" + svc_dsl.size());
		super.logPrint.printDebugLog("--サービス回復保持領域数>" + svc_kaihk.size());
		super.logPrint.printDebugLog("--検索結果件数>" + total_cnt);
		super.logPrint.printDebugLog("--解約済み件数>" + dsl_cnt);
		super.logPrint.printDebugLog("--サービス有効性パターン>" + rtn_ptn);

		return rtn_ptn;
	}

	/**
	 * 請求契約の有効性パターン判定をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.請求契約の検索を行います。<br>
	 * 
	 * 2.検索結果のステータスをチェックします。<br>
	 * 
	 * 3.チェック結果を元に、有効性パターンを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param sysid　ＳＹＳＩＤ。
	 * @return int　有効性パターン。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int getSikyKeiYkPtn(String sysid) throws Exception
	{
		ArrayList<JBSbatCommonDBInterface> tksk_inf_list = new ArrayList<JBSbatCommonDBInterface>();
		seiky_inf = new ArrayList<String>();
		siky_ptn_inf =  new HashMap<String, String>();
		seiky_stp_key = new ArrayList<String>();
		seiky_stp_svccd_key = new HashMap<String, String>();
		seiky_rls_key = new ArrayList<String>();
		seiky_rls_svccd_key = new HashMap<String, String>();
		JBSbatCommonDBInterface db_map = null;
		int total_cnt = 0;
		int rtn_ptn = 0;
		int seiky_stp_cnt = 0;
		int seiky_rls_cnt = 0;
		int dsl_cnt = 0;
		HashMap<String, Object> stpMap = new HashMap<String, Object>();
		HashMap<String, Object> rlsMap = new HashMap<String, Object>();
		HashMap<String, Object> trgtMap = new HashMap<String, Object>();

		
		String[] param = new String[8];
		param[0] = super.opeDate;
		param[1] = znki_trn_upd_unyo_ymd;
		param[2] = super.opeDate;
		param[3] = super.opeDate;
		param[4] = znki_trn_upd_unyo_ymd;
		param[5] = sysid;
		param[6] = gene_add_dtm;
		param[7] = super.opeDate;

		// 請求契約の検索を行います。
		executeKK_T_SEIKY_KEI_KK_SELECT_017(param);
		db_map = db_KK_T_SEIKY_KEI.selectNext();

		// 検索結果がない場合、チェック不要
		if (null == db_map)
		{
			return rtn_ptn;
		}

		//督促情報保持
		while (null != db_map)
		{
			String pcrsCd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
			// 初期eoID払い出し対象
			if(pcrs_cd_map.containsKey(pcrsCd))
			{
				tksk_inf_list.add(db_map);
			}
			db_map = db_KK_T_SEIKY_KEI.selectNext();
		}
		
		if(0 != tksk_inf_list.size()){
			
			// 請求契約毎にパターンを判定し保持
			String tmpNo = "";
			String ptn = "";
			int seiky_stp_in_cnt = 0;
			int seiky_rls_in_cnt = 0;
			int dsl_in_cnt = 0;
			int svcCnt = 0;
			for (int i = 0; i < tksk_inf_list.size(); i++)
			{
				JBSbatCommonDBInterface tkskMap = tksk_inf_list.get(i);
				String seiky_no = JBSbatStringUtil.Rtrim(tkskMap.getString(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO));
				String urge_stat = JBSbatStringUtil.Rtrim(tkskMap.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT));
				String svc_kei_no = JBSbatStringUtil.Rtrim(tkskMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				if(0 == i)
				{
					tmpNo = seiky_no;
				}
				if(!tmpNo.equals(seiky_no))
				{
					
					// 全てが解約済みの場合は処理対象外にします。
					if (svcCnt == dsl_in_cnt)
					{
						ptn = "";
					}
					// 検索結果件数 ＝ 請求利用停止保持領域数の場合、パターン１
					else if (svcCnt == seiky_stp_in_cnt)
					{
						ptn = "11";
					}
					// 検索結果件数 ＝ 請求停止解除保持領域数の場合、パターン２
					else if (svcCnt == seiky_rls_in_cnt)
					{
						ptn = "12";
					}
					// 請求利用停止保持領域数 > 0 又は 請求停止解除保持領域数 > 0 且つ 請求継続件数 > 0 の場合、パターン５
					else if (0 < svcCnt && (0 < seiky_stp_in_cnt || 0 < seiky_rls_in_cnt))
					{
						ptn = "";
					}
					siky_ptn_inf.put(tmpNo, ptn);
					seiky_inf.add(tmpNo);
					tmpNo = seiky_no;
					svcCnt = 0;
					seiky_stp_in_cnt = 0;
					seiky_rls_in_cnt = 0;
				}
				for (int j = 0; j < tksk_inf_list.size(); j++)
				{
					JBSbatCommonDBInterface tkskTmpMap = tksk_inf_list.get(j);
					String seiky_no_tmp = JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatCH_T_TOKUSOKU.SEIKY_KEI_NO));
					if(seiky_no.equals(seiky_no_tmp))
					{
						// ANK-1584-00-00 修正
						String mvnoState = getMVNOStat(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD),tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_YMD),tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_YMD));
						
						// ANK-2480-01-00 MOD START
//						if(( URGE_STAT_USE_STP_ZM.equals(tkskTmpMap.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT)) && !SVC_CD_MVNO.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) ) 
//								|| "1".equals(mvnoState) )
						if(( URGE_STAT_USE_STP_ZM.equals(tkskTmpMap.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT)) && !SVC_CD_MVNO.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) 
								&& !SVC_CD_EOELEC.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) || "1".equals(mvnoState) )
						// ANK-2480-01-00 MOD END
						{
							seiky_stp_in_cnt++;
							seiky_stp_cnt++;
							if(!stpMap.containsKey(seiky_no))
							{
								if(svcKeiNo.equals(svc_kei_no))
								{
									trgtMap.put(svcKeiNo, "seiky_stp");
								}
								stpMap.put(seiky_no, "");
								seiky_stp_key.add(seiky_no);
								seiky_stp_svccd_key.put(seiky_no, JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
							}
						}
						// ANK-1584-00-00 修正
						// ANK-2480-01-00 MOD START
//						else if (( isUseStpRls(urge_stat, tkskTmpMap.getString(JBSbatCH_T_TOKUSOKU.USE_STP_RLS_REQ_YMD)) && !SVC_CD_MVNO.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD))) )
//								|| "2".equals(mvnoState) )
						else if (( isUseStpRls(urge_stat, tkskTmpMap.getString(JBSbatCH_T_TOKUSOKU.USE_STP_RLS_REQ_YMD)) && !SVC_CD_MVNO.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
								&& !SVC_CD_EOELEC.equals(JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))) || "2".equals(mvnoState) )
						// ANK-2480-01-00 MOD END
						{
							seiky_rls_in_cnt++;
							seiky_rls_cnt++;
							if(!rlsMap.containsKey(seiky_no))
							{
								if(svcKeiNo.equals(svc_kei_no))
								{
									trgtMap.put(svcKeiNo, "seiky_rls");
								}
								rlsMap.put(seiky_no, "");
								seiky_rls_key.add(seiky_no);
								seiky_rls_svccd_key.put(seiky_no, JBSbatStringUtil.Rtrim(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));
							}
						}
						
						// 解約済み件数を加算します。
						if (STAT_DSL.equals(tkskTmpMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)))
						{
							dsl_in_cnt++;
							dsl_cnt++;
						}
						svcCnt++;
						total_cnt++;
					}
					else
					{
					}
				}
			}
			// 全てが解約済みの場合は処理対象外にします。
			if (svcCnt == dsl_in_cnt)
			{
				ptn = "";
			}
			// 検索結果件数 ＝ 請求利用停止保持領域数の場合、パターン１
			else if (svcCnt == seiky_stp_in_cnt)
			{
				// [11:全回線利用停止]
				ptn = "11";
			}
			// 検索結果件数 ＝ 請求停止解除保持領域数の場合、パターン２
			else if (svcCnt == seiky_rls_in_cnt)
			{
				// [12:全回線利用停止解除]
				ptn = "12";
			}
			// 請求利用停止保持領域数 > 0 又は 請求停止解除保持領域数 > 0 且つ 請求継続件数 > 0 の場合、パターン５
			else if (0 < svcCnt && (0 < seiky_stp_in_cnt || 0 < seiky_rls_in_cnt))
			{
				// 判断が必要
				ptn = "";
			}
			siky_ptn_inf.put(tmpNo, ptn);
			seiky_inf.add(tmpNo);
		}
			
		// 全てが解約済みの場合は処理対象外にします。
		if (dsl_cnt == total_cnt)
		{
			rtn_ptn = 0;
		}
		// 検索結果件数 ＝ 請求利用停止保持領域数の場合、パターン１
		else if (total_cnt == seiky_stp_cnt)
		{
			rtn_ptn = 1;
		}
		// 検索結果件数 ＝ 請求停止解除保持領域数の場合、パターン２
		else if (total_cnt == seiky_rls_cnt)
		{
			rtn_ptn = 2;
		}
		// 請求利用停止保持領域数 > 0 又は 請求停止解除保持領域数 > 0 且つ 請求継続件数 > 0 の場合、パターン５
		else if (0 < total_cnt && (0 < seiky_stp_cnt || 0 < seiky_rls_cnt))
		{
			rtn_ptn = 5;
			if("seiky_rls".equals(trgtMap.get(svcKeiNo)))
			{
				seiky_stp_key.clear();
			}
			else if("seiky_stp".equals(trgtMap.get(svcKeiNo)))
			{
				seiky_rls_key.clear();
			}
			
		}

		// デバックログ
		super.logPrint.printDebugLog("請求利用停止保持領域数>" + seiky_stp.size());
		super.logPrint.printDebugLog("請求停止解除保持領域数>" + seiky_rls.size());
		super.logPrint.printDebugLog("検索結果件数>" + total_cnt);
		super.logPrint.printDebugLog("解約済み件数>" + dsl_cnt);
		super.logPrint.printDebugLog("請求契約有効性パターン>" + rtn_ptn);

		return rtn_ptn;
	}

	/**
	 * 請求契約が利用停止解除か判定をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.督促ステータス＝「督促なし：00」又は「督促保留：99」又は「利用停止予告済（手続き不備）：04」
	 * 　又は「利用停止予告済（手続き未完）：06」又は「利用停止予告済：10」
	 * 　又は「強制停止予告済：15」かつ、利用停止解除依頼年月日 <> 空文字か判定を行います。<br>
	 * 
	 * 2.条件を満たしてる場合true、満たしていない場合falseを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param stat　督促ステータス。
	 * @param rls_ymd　利用停止解除依頼年月日。
	 * @return boolean　判定結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isUseStpRls(String stat, String rls_ymd) throws Exception
	{
		// 利用停止解除依頼年月日 <> 空文字の場合
		if (null != rls_ymd && 0 != rls_ymd.length())
		{
			// 督促なし、督促保留の場合
			if (URGE_STAT_NONE.equals(stat) || URGE_STAT_PDING.equals(stat))
			{
				return true;
			}

			// 利用停止予告済（手続き不備）、利用停止予告済（手続き未完）の場合
			if (URGE_STAT_USE_STP_YKK_TTDK.equals(stat) || URGE_STAT_USE_STP_YKK_TTDK_MI.equals(stat))
			{
				return true;
			}

			// 利用停止予告済、強制停止予告済の場合
			if (URGE_STAT_USE_STP_YKK_ZM.equals(stat) || URGE_STAT_KSI_STP_YKK_ZM.equals(stat))
			{
				return true;
			}
		}

		return false;
	}

	/**
	 * 有効性結果パターンが「全回線回復」「全回線解約」「一部回線回復」のファイル出力処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.出力対象外の判定処理をします。<br>
	 *
	 * 2.出力対象の場合、ｅｏＩＤ会員有効性情報ファイルへ出力をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param svc_list 退避領域。
	 * @param sysid　ＳＹＳＩＤ。
	 * @param sbt_cd　会員種別コード。
	 * @param yk_ptn　有効性結果パターン。
	 * @param bean　出力情報。
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatOutputItem executeSvcKisn(ArrayList<HashMap<String, String>> svc_list,
												String sysid,
												String sbt_cd,
												String yk_ptn,
												JBSbatOutputItem bean) throws Exception
	{
		for (int i = 0; i < svc_list.size(); i++)
		{
			String ptn = "";
			HashMap<String, String> map = svc_list.get(i);
			
			String svc_kei_no = "";
			String gene_add_dtm_svc = "";
			
			if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv) || IDO_DIV_COURSE_CHG.equals(idiv))
			{
				svc_kei_no = svcKeiNo;
				gene_add_dtm_svc = gene_add_dtm;
			}
			else
			{
				svc_kei_no = JBSbatStringUtil.Rtrim(map.get(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				gene_add_dtm_svc = JBSbatStringUtil.Rtrim(map.get(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
			}
			
			// 一部回線回復の場合、同一請求に紐づく解約済み(手続き中の強制解約を含む)でない契約が存在するか確認します。
			if (yk_ptn.equals(KISN_KAIHK))
			{
				
				
				String seikyKeiNo = getSeikyKeiNo(svc_kei_no);
				
				JBSbatCommonDBInterface db_map = null;

				if(IDO_DIV_USE_STP.equals(idiv) || IDO_DIV_USE_STP_RLS.equals(idiv) )
				{
					String[] param = new String[7];
					param[0] = svc_kei_no;
					param[1] = super.opeDate;
					param[2] = znki_trn_upd_unyo_ymd;
					param[3] = gene_add_dtm_svc;
					param[4] = super.opeDate;
					param[5] = super.opeDate;
					param[6] = super.opeDate;
					
					// 課金先の検索を行います。
					executeKK_T_KAKINS_KK_SELECT_016(param);
					db_map = db_KK_T_KAKINS_SV.selectNext();
				}
				else
				{
					
					String[] param = new String[6];
					param[0] = svc_kei_no;

					param[1] = super.opeDate;
					param[2] = znki_trn_upd_unyo_ymd;

					param[3] = gene_add_dtm_svc;
					param[4] = super.opeDate;
					param[5] = super.opeDate;
					
					//ANK-1584-00-00 追加
					//param[6] = super.opeDate;
					
					// 課金先の検索を行います。
					executeKK_T_KAKINS_KK_SELECT_045(param);
					db_map = db_KK_T_KAKINS_SV.selectNext();
					
				}
			
				// 検索結果がない場合、チェック不要
				if (null == db_map)
				{
					ptn = KISN_KAIHK_MKU;
				}
				else
				{
					boolean umFlg = false;
					while(null != db_map)
					{
						
						//ANK-1584-00-00 追加
						super.logPrint.printDebugLog("■同一請求に紐づく解約済みでない契約より抽出された料金コースコード>" + JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD)));
						
						//料金コースコード
						String pcrs_cd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
						//料金コース(ID通知書発行識別コードが発行なし以外の料金コースコード)保持領域の存在チェック
						if(!pcrs_cd_map.containsKey(pcrs_cd))
						{
							db_map = db_KK_T_KAKINS_SV.selectNext();
							continue;
						}
						
						String otr_seikyKeiNo = getSeikyKeiNo(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
						
						// 他のサービスが存在するかどうかを判断
						if(!svc_kei_no.equals(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))))
						{
							//同じ請求契約番号が存在した場合
							if(seikyKeiNo.equals(otr_seikyKeiNo))
							{
								umFlg = true;
								break;
							}
						}
						db_map = db_KK_T_KAKINS_SV.selectNext();
					}
					// 他のサービスが存在する場合
					if(umFlg)
					{
						ptn = KISN_KAIHK_YKU;
					}
					// 他のサービスが存在しない場合
					else
					{
						ptn = KISN_KAIHK_MKU;
					}
				}
			}
			else
			{
				ptn = yk_ptn;
			}
			super.logPrint.printDebugLog("サービス契約番号>" + svc_kei_no);
			super.logPrint.printDebugLog("有効性結果パターン>" + ptn);
			

			// 出力対象の場合、ファイル出力します。
			if (isOutPrint(sysid, svc_kei_no, ptn))
			{
				if(miIkou_flg)
				{
					if(master_family_cnt == 0)
					{
						mapList.add(executePrint(svc_kei_no, sysid, sbt_cd, ptn, null, null));
					}
				}
				else
				{
					mapList.add(executePrint(svc_kei_no, sysid, sbt_cd, ptn, null, null));
				}
			}

			
		}

		return bean;
	}

	/**
	 * 有効性結果パターンが「一部回線解約」のファイル出力処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.スライド判定をします。<br>
	 *
	 * 2.ｅｏＩＤ会員有効性情報ファイルへ出力をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param sysid　ＳＹＳＩＤ。
	 * @param sbt_cd　会員種別コード。
	 * @param bean　出力情報。
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatOutputItem executeIchibuKisn(String sysid, String sbt_cd, JBSbatOutputItem bean) throws Exception
	{
		for (int i = 0; i < svc_dsl.size(); i++)
		{
			boolean out_flg = false;
			String yk_ptn = "";
			String sk_svc_no = "";
			HashMap<String, String> map = svc_dsl.get(i);

			
			String svc_kei_no = "";
			String gene_add_dtm_svc = "";
			
			if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv) || IDO_DIV_COURSE_CHG.equals(idiv))
			{
				svc_kei_no = svcKeiNo;
				gene_add_dtm_svc = gene_add_dtm;
			}
			else
			{
				svc_kei_no = JBSbatStringUtil.Rtrim(map.get(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				gene_add_dtm_svc = JBSbatStringUtil.Rtrim(map.get(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
			}


			// 支払い方法入力支援からSYSIDを抽出できた場合
			if("1".equals(payway_upd_flg))
			{
				// スライド先サービス契約番号の抽出を行います。
				sk_svc_no = getSkSvcKei(svc_kei_no, gene_add_dtm_svc);
	
				// スライド先サービス契約番号がない場合、有効性結果パターン「33」で「3.出力対象外データの判定」処理を行います。
				if (null == sk_svc_no)
				{
					
					//支払い方法入力支援抽出対象が未移行会員でない場合（OM-2013-0004925対応）
					if(miIkou_flg == false)
					{

						out_flg = isOutPrint(sysid, svc_kei_no, KISN_DSL);
						yk_ptn = KISN_DSL;
						
						// 指示書（支払方法）更新用ファイルデータ
						mk_flg_payway = "1";
						executePayway();
						
						//支払い方法入力支援テーブルへの無効化更新処理
						updateMukoPaywayInsuport(paywayNo);
						
						
					}
					else
					{
						//OM-2014-0001436
						if(master_family_cnt == 0)
						{
							out_flg = isOutPrint(sysid, svc_kei_no, KISN_DSL);
							yk_ptn = KISN_DSL;
						}
						
						//OM-2014-0001436

						super.logPrint.printDebugLog("■支払い方法入力支援抽出対象が未移行会員の場合の支払い方法入力番号　>" + paywayNo);
						super.logPrint.printDebugLog("■支払い方法入力支援テーブルへの無効化更新処理");
						//支払い方法入力支援テーブルへの無効化更新処理 (未移行会員の情報)
						updateMukoPaywayInsuport(paywayNo);
					}
					
				}
				// スライド先サービス契約番号がある場合、有効性結果パターン「21」で「3.出力対象外データの判定」処理を行います。
				else
				{
					//支払い方法入力支援抽出対象が未移行会員でない場合（OM-2013-0004925対応）
					if(miIkou_flg == false)
					{
						super.logPrint.printDebugLog("■支払い方法入力支援抽出対象が未移行会員でない場合の支払い方法入力番号　>" + paywayNo);
						super.logPrint.printDebugLog("■支払い方法入力支援テーブルへの更新処理");
						
						out_flg = isOutPrint(sysid, svc_kei_no, S_KISN_DSL);
						yk_ptn = S_KISN_DSL;

						// 指示書（支払方法）更新用ファイルデータ
						isp_ksai_svc_kei_no = sk_svc_no;
						executePayway();

						//ＩＳＰ決済サービス契約番号の支払い方法入力支援テーブルへの更新処理
						updateIspSvcKeiNo(paywayNo, sk_svc_no);
						// キー情報を保持
						ptn_21_map.put(sysid + svc_kei_no, "");
					}
					else
					{
						//OM-2014-0001436
						if(master_family_cnt == 0)
						{
							out_flg = isOutPrint(sysid, svc_kei_no, KISN_DSL);
							yk_ptn = KISN_DSL;
						}
						
						//OM-2014-0001436

						super.logPrint.printDebugLog("■支払い方法入力支援抽出対象が未移行会員の場合の支払い方法入力番号　>" + paywayNo);
						super.logPrint.printDebugLog("■支払い方法入力支援テーブルへの無効化更新処理");
						//支払い方法入力支援テーブルへの無効化更新処理 (未移行会員の情報)
						updateMukoPaywayInsuport(paywayNo);
					}
					
				}
			}
			// 支払い方法入力支援からSYSIDを抽出できなかった場合はスライド先サービス契約番号の更新は行わず、スライド先もなしとなる
			else
			{
				out_flg = isOutPrint(sysid, svc_kei_no, KISN_DSL);
				yk_ptn = KISN_DSL;
				
			}
			super.logPrint.printDebugLog("サービス契約番号>" + svc_kei_no);
			super.logPrint.printDebugLog("有効性結果パターン>" + yk_ptn);
			

			// 出力対象の場合、ファイル出力します。
			if (out_flg)
			{
				if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv) || IDO_DIV_COURSE_CHG.equals(idiv))
				{
					svc_kei_no = svcKeiNo;
				}

				mapList.add(executePrint(svc_kei_no, sysid, sbt_cd, yk_ptn, null, sk_svc_no));
			}

			
		}

		return bean;
	}

	/**
	 * スライド先契約番号の判定をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.スライド判定用サービス契約の検索を行います。<br>
	 * 
	 * 2.サービス優先順位を元にスライド先契約番号を決定します。<br>
	 * 
	 * 3.スライド先ありの場合は対象サービス契約番号、無しの場合nullを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param svc_kei_no　サービス契約番号。
	 * @param gene_add_dtm　世代登録年月日時分秒。
	 * @return String　スライド先契約番号。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getSkSvcKei(String svc_kei_no, String gene_add_dtm) throws Exception
	{
		JBSbatCommonDBInterface db_map = null;
		String rtn_no = null;
		String now_svc_kei_no = null;

		String[] param = new String[10];

		param[0] = svc_kei_no;
		param[1] = super.opeDate;
		param[2] = znki_trn_upd_unyo_ymd;
		param[3] = super.opeDate;
		param[4] = znki_trn_upd_unyo_ymd;
		param[5] = gene_add_dtm;
		param[6] = super.opeDate;
		param[7] = super.opeDate;
//ANK-1584-00-00 追加		
//		param[8] = super.opeDate;
		
		param[8] = super.opeDate;
		param[9] = znki_trn_upd_unyo_ymd;
		
		// スライド判定用サービス契約の検索を行います。
		executeKK_T_KAKINS_KK_SELECT_013(param);
		db_map = db_KK_T_KAKINS_013.selectNext();

		// 検索結果が存在する場合、以下の処理を行います。
		if (null != db_map)
		{
			while(null != db_map)
			{
				super.logPrint.printDebugLog("■ｅｏＩＤ会員有効性情報抽出で抽出されたSYSID>" + chsht_sysid);
				super.logPrint.printDebugLog("■スライド判定用サービス契約（課金先）より抽出されたSYSID>" + JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SYSID)));
				
				//ANK-1584-00-00 追加
				super.logPrint.printDebugLog("■スライド判定用サービス契約（課金先）より抽出された料金コースコード>" + JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD)));
				
				//料金コースコード
				String pcrs_cd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
				//料金コース(ID通知書発行識別コードが発行なし以外の料金コースコード)保持領域の存在チェック
				if(!pcrs_cd_map.containsKey(pcrs_cd))
				{
					db_map = db_KK_T_KAKINS_013.selectNext();
					continue;
				}
				
				//ｅｏＩＤ会員有効性情報抽出で抽出されたSYSID（マスター会員）と同じSYSIDである場合（OM-2013-0004778対応）　
				if (chsht_sysid.equals(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SYSID))))
				{
					if (!STAT_DSL.equals(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))))
					{
						if(!svc_kei_no.equals(JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))))
						{
							now_svc_kei_no = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
							super.logPrint.printDebugLog("■サービス契約番号>" + db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
							if (null != now_svc_kei_no)
							{
								break;
							}
						}
					}
				}
				db_map = db_KK_T_KAKINS_013.selectNext();
			}

			// 最優先サービス < 抽出した優先サービスの場合、抽出した「サービス契約番号」をスライド先契約番号とする。
			if (null != now_svc_kei_no)
			{
				rtn_no = now_svc_kei_no;
			}
		}

		return rtn_no;
	}

	/**
	 * 有効性結果パターンが「全回線請求抑止」「全回線請求抑止解除」「一部回線請求抑止」「一部回線請求抑止解除」のファイル出力処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.請求契約番号に紐づくサービス契約を検索します。<br>
	 *
	 * 2.出力対象外の判定処理をします。<br>
	 *
	 * 3.出力対象の場合、ｅｏＩＤ会員有効性情報ファイルへ出力をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param seiky_list 退避領域。
	 * @param sysid　ＳＹＳＩＤ。
	 * @param sbt_cd　会員種別コード。
	 * @param yk_ptn　有効性結果パターン。
	 * @param bean　出力情報。
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatOutputItem executeSeikyKisn(ArrayList<String> seiky_list,
												String sysid,
												String sbt_cd,
												String yk_ptn,
												JBSbatOutputItem bean) throws Exception
	{
		for (int i = 0; i < seiky_list.size(); i++)
		{
			String sikyNo = seiky_list.get(i);

			setOutDataSeikyKisn(sikyNo, yk_ptn, sysid, sbt_cd, bean);
			
		}

		String outMapykPtn = getOutMapYkRsltPattern(sysid, sbt_cd);
		
		if(!"".equals(outMapykPtn))
		{
			if(isMiIkoMember(svcKeiNo))
			{
				String ptn = "";
				if(KISN_SIKY_YOKSI.equals(outMapykPtn))
				{
					ptn = ALL_SIKY_YOKSI;
				}
				else if(KISN_SIKY_YOKSI_RLS.equals(outMapykPtn))
				{
					ptn = ALL_SIKY_YOKSI_RLS;
				}
				else
				{
					ptn = yk_ptn;
				}
				
				while(null != dbMiIkoInfo)
				{
					//未移行会員のSYSID
					mi_iko_sysid = JBSbatStringUtil.Rtrim(dbMiIkoInfo.getString(JBSbatCK_T_CUST.SYSID));
					//未移行会員の会員種別コード
					mi_iko_sbtCd = getMemberSbtCd(mi_iko_sysid);
					
					String miiko_key = svcKeiNo + mi_iko_sysid + mi_iko_sbtCd + ptn;
					
					if(!seiky_out_miiko_map.containsKey(miiko_key)) {
						seiky_out_miiko_map.put(miiko_key,miiko_key);
						super.logPrint.printDebugLog("サービス契約番号>" + svcKeiNo);
						super.logPrint.printDebugLog("未移行_sysid>" + mi_iko_sysid);
						super.logPrint.printDebugLog("会員種別コード>" + mi_iko_sbtCd);
						mapList.add(executePrint(svcKeiNo, mi_iko_sysid, mi_iko_sbtCd, ptn, null, null));
					}
					dbMiIkoInfo = db_CK_T_CUST_038.selectNext();
				}
			}
		}

		return bean;
	}

	/**
	 * 引数で指定したSYSIDとファイル出力用データのSYSIDが一致する、
	 * ファイル出力用データの有効性結果パターンを取得します。
	 * ファイル出力用データはseiky_out_mapにキー項目文字列を保持しているため
	 * その値を使用します。
	 * 一致しない場合は空文字を返却します。
	 * @param sysid ＳＹＳＩＤ
	 * @param sbt_cd 会員種別コード
	 * @return 有効性結果パターン
	 */
	private String getOutMapYkRsltPattern(String sysid, String sbt_cd)
	{

		// seiky_out_mapに設定されているキーにサービス契約番号＋SYSID＋有効性結果パターンから始まる
		// キーの有効性結果パターンを取得して返却
		for(String key : seiky_out_map.keySet()){
			
			if (key.startsWith(svcKeiNo+sysid+sbt_cd)){
				return seiky_out_map.get(key);
			}
		}
		
		return "";
	}

	
	/**
	 * 出力対象の判定処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.出力対象ならtrue、対象外ならfalseを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param sysid　ＳＹＳＩＤ。
	 * @param svc_kei_no　サービス契約番号。
	 * @param yk_ptn　有効性結果パターン。
	 * @return boolean 出力対象の判定結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private boolean isOutPrint(String sysid, String svc_kei_no, String yk_ptn) throws Exception
	{
		//出力対象のチェック処理がある場合　追加

		return true;
	}

	/**
	 * ｅｏＩＤ会員有効性情報ファイル出力処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.ｅｏＩＤ会員有効性情報ファイルへ出力をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param svc_kei_no サービス契約情報番号。
	 * @param sysid　ＳＹＳＩＤ。
	 * @param sbt_cd　会員種別コード。
	 * @param yk_ptn　有効性結果パターン。
	 * @param dsl_ymd　解約日。
	 * @param sk_no　スライド先契約番号。
	 * @return JBSbatServiceInterfaceMap　出力Map。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap executePrint(String svc_kei_no,
												String sysid,
												String sbt_cd,
												String yk_ptn,
												String dsl_ymd,
												String sk_no) throws Exception
	{
		JBSbatServiceInterfaceMap out_map = new JBSbatServiceInterfaceMap();

		out_map.setString(JBSbatKKIFE040.REC_DIV, REC_DIV_DATA);
		out_map.setString(JBSbatKKIFE040.SYSID, sysid);
		out_map.setString(JBSbatKKIFE040.YK_RSLT_PATTERN, yk_ptn);

		//会員種別
		out_map.setString(JBSbatKKIFE040.MBTYPE, sbt_cd);
		


		// 一部回線解約（スライドあり）の場合、スライド先サービス契約番号を設定します。
		if (S_KISN_DSL.equals(yk_ptn))
		{
			out_map.setString(JBSbatKKIFE040.SK_SVC_KEI_NO, sk_no);
		}

		//ファミリー会員種別変更ありの場合以外　サービス契約番号を設定
		if (!ISP_KSSAI_GAI.equals(yk_ptn))
		{
			out_map.setString(JBSbatKKIFE040.SVC_KEI_NO, svc_kei_no);
		}
		
		// 解約の場合、解約日を設定します。
		if (ALL_DSL.equals(yk_ptn) || S_KISN_DSL.equals(yk_ptn) || KISN_DSL.equals(yk_ptn)  || ISP_KSSAI_GAI.equals(yk_ptn))
		{
			//サービス契約.サービス解約起算年月日で設定判断をする
			JBSbatCommonDBInterface svcdb_map = null;
			String[] param_03 = new String[2];
			param_03[0] = svc_kei_no;
			param_03[1] = super.opeDate;
			
			executeKK_T_SVC_KEI_KK_SELECT_234(param_03);
			svcdb_map = db_KK_T_SVC_KEI.selectNext();
			if (null == svcdb_map)
			{
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"KK_T_SVC", "サービス契約情報番号:" + svc_kei_no});
			}
			//サービス契約.サービス契約起算年月日を取得
			String svcDslKisaiYmd = JBSbatStringUtil.Rtrim(svcdb_map.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_KISAN_YMD));
			//サービス契約.サービス契約起算年月日がNULLの場合　運用日
			if(null == svcDslKisaiYmd || "".equals(svcDslKisaiYmd))
			{
				out_map.setString(JBSbatKKIFE040.DSL_YMD, super.opeDate);
			}
			else
			{
				//サービス契約.サービス契約起算年月日を解約決済日に設定
				out_map.setString(JBSbatKKIFE040.DSL_YMD, svcDslKisaiYmd);
			}

		}
		//変更処理時の世代登録年月日時分秒を保持
		out_map.setString("GENE_ADD_DTM_SVCKEI", gene_add_dtm_svckei);
		
		//抽出からの督促ステータスを保持
		out_map.setString("TOKUSOKU_STAT", tokusokuStat);
		
		//抽出からのサービス契約番号を保持
		out_map.setString("CHST_SVCKEINO", svcKeiNo);

		
		out_map.setOutFlg(true);


		return out_map;
	}

	/**
	 * トレーラー部の出力をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.トレーラー部の出力処理をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void writeTrailer() throws Exception
	{
		JBSbatOutputFileUtil out_obj = super.commonItem.getOutPutFile();
		StringBuffer out_str = new StringBuffer();

		// No.1 レコード区分
		out_str.append(editStringCSV(REC_DIV_TRAILER));
		out_str.append(",");

		// No.2 総レコード数
		out_str.append(editStringCSV(JBSbatStringUtil.padNumFormString(String.valueOf(out_cnt), 9)));

		out_obj.write(out_str.toString());
	}

	/**
	 * 文字列に囲み文字を付加します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.文字列の前後に囲み文字を追加します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param data　編集する文字列。
	 * @return String　編集後文字列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String editStringCSV(String data) throws Exception
	{
		StringBuffer value = new StringBuffer();

		value.append(MOJI_D);
		value.append(data);
		value.append(MOJI_D);

		return value.toString();
	}

	/**
	 * 指示書（支払方法）登録用ファイルのデータを保持します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.指示書（支払方法）データを作成します。<br>
	 *
	 *
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executePayway() throws Exception
	{
		// sjisho_list
		String sjishoNo = super.opeDate + JBSbatStringUtil.padNumFormString(JBSbatOracleSeqUtil.getNextSeq(commonItem.getConnection(), SEQ_SJISHO_NO), 7);
		String[] sjisho_rec =	{sjishoNo,											// 指示書番号
								"1",												// 指示書内容枝番
								"N01",												// 処理コード
								"TNM00060",											// 対象テーブル
								"0",												// エラー回数
								sysid_payway,										// SYSID
								"0",												// 結果フラグ
								"13",												// パラメータ有効数
								sysid_payway,										// SYSID
								pw_input_shien_cd,									// 支払方法（支払い方法入力支援コード）
								tsyrn_pay_seq,										// 支払通番（他システム連携支払通番）
								isp_ksai_svc_kei_no,								// お客様ID（ISP決済サービス契約番号）
								crecard_id,											// クレジットカードID
								mk_flg_payway,										// 有効無効フラグ
								add_dtm_payway,										// 登録日時
								add_opeacnt_payway,									// 登録者
								add_trn_id_payway,									// 登録PGID
								upd_dtm_payway,										// 更新日時
								upd_opeacnt_payway,									// 更新者
								upd_trn_id_payway,									// 更新PGID
								tokusoku_stat_payway,								// 督促ステータス
								"", "", "", "", "", "", "",
								"", "", "", "", "", "", "", "", "", "",	//パラメータ14〜50（null）
								"", "", "", "", "", "", "", "", "", "",
								"", "", "", "", "", "", "", "", "", "",
								"",paywayNo                                                // サービス契約 "", 支払い方法入力番号
								};
		sjisho_list.add(sjisho_rec);
	}

	/**
	 * 手続き中の強制解約サービスの登録用ファイルのデータを保持します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.指示書（契約サービス共通情報（解約））データを作成します。<br>
	 *
	 *
	 * </pre>
	 * <p>
	 * @param inMap 入力電文。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKyoseiDsl(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		ArrayList<String[]> oldIcsCdList = getOldIcsCd(inMap, "1");
		if(0 != oldIcsCdList.size())
		{
			for(int i = 0; i<oldIcsCdList.size(); i++)
			{
				String[] oldIcsCd = (String[])oldIcsCdList.get(i);
				// ダミー指示書
				if("d1".equals(oldIcsCd[2]))
				{
					//適用開始日に運用日、適用終了日に運用日の前日をセット
					String unyoYmdBf = JBSbatDateUtil.adjustDate(super.opeDate, -1);
					String sjishoNo = super.opeDate + JBSbatStringUtil.padNumFormString(JBSbatOracleSeqUtil.getNextSeq(commonItem.getConnection(), SEQ_SJISHO_NO), 7);
					String[] sjisho_rec =	{sjishoNo,											// 指示書番号
											"1",												// 指示書内容枝番
											"N01",												// 処理コード
											"TNM00040",											// 対象テーブル
											"0",												// エラー回数
											inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
											"0",												// 結果フラグ
											"13",												// パラメータ有効数
											inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
											inMap.getString(JBSbatKKIFM028.SVC_KEI_NO),			// サービス契約番号
											super.opeDate,										// 適用開始日（運用日）
											unyoYmdBf,											// 適用終了日（運用日−１日）
											inMap.getString(JBSbatKKIFM028.MK_FLG),				// 有効無効フラグ
											inMap.getString(JBSbatKKIFM028.ADD_DTM),			// 登録日時
											inMap.getString(JBSbatKKIFM028.ADD_OPEACNT),		// 登録者
											"",													// 登録PGID
											inMap.getString(JBSbatKKIFM028.UPD_DTM),			// 更新日時
											inMap.getString(JBSbatKKIFM028.UPD_OPEACNT),		// 更新者
											"",													// 更新PGID
											oldIcsCd[0],										// 契約種別コード
											oldIcsCd[1],										//サービスコード
											"", "", "", "", "", "", "",
											"", "", "", "", "", "", "", "", "", "",	//パラメータ14〜50（null）
											"", "", "", "", "", "", "", "", "", "",
											"", "", "", "", "", "", "", "", "", "",
											"1", ""                                                 // サービス契約 "解約"
											};
					sjisho_list.add(sjisho_rec);
				}
				
				// 今回接続用
				if("".equals(oldIcsCd[2]))
				{
					String sjishoNo = super.opeDate + JBSbatStringUtil.padNumFormString(JBSbatOracleSeqUtil.getNextSeq(commonItem.getConnection(), SEQ_SJISHO_NO), 7);
					String[] sjisho_rec =	{sjishoNo,											// 指示書番号
											"1",												// 指示書内容枝番
											"N01",												// 処理コード
											"TNM00040",											// 対象テーブル
											"0",												// エラー回数
											inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
											"0",												// 結果フラグ
											"13",												// パラメータ有効数
											inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
											inMap.getString(JBSbatKKIFM028.SVC_KEI_NO),			// サービス契約番号
											"20991231",											// 適用開始日（20991231）
											super.opeDate,										// 適用終了日（運用日）
											inMap.getString(JBSbatKKIFM028.MK_FLG),				// 有効無効フラグ
											inMap.getString(JBSbatKKIFM028.ADD_DTM),			// 登録日時
											inMap.getString(JBSbatKKIFM028.ADD_OPEACNT),		// 登録者
											"",													// 登録PGID
											inMap.getString(JBSbatKKIFM028.UPD_DTM),			// 更新日時
											inMap.getString(JBSbatKKIFM028.UPD_OPEACNT),		// 更新者
											"",													// 更新PGID
											oldIcsCd[0],										// 契約種別コード
											oldIcsCd[1],										//サービスコード
											"", "", "", "", "", "", "",
											"", "", "", "", "", "", "", "", "", "",	//パラメータ14〜50（null）
											"", "", "", "", "", "", "", "", "", "",
											"", "", "", "", "", "", "", "", "", "",
											"1", ""                                                 // サービス契約 "解約"
											};
					sjisho_list.add(sjisho_rec);
				}
			}
		}
		else
		{
			super.logPrint.printDebugLog("指示書（解約）出力なし。サービス契約内訳<eo光電話>に対象なし。");
		}
		//CC呼び出し
		execCustTaikaiInfAdd(inMap.getString(JBSbatKKIFM028.SYSID), inMap.getString(JBSbatKKIFM028.SVC_KEI_NO));
	}

	/**
	 * 手続き中の強制解約サービスの回復登録用ファイルのデータを保持します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.指示書（契約サービス共通情報（回復））データを作成します。<br>
	 *
	 *
	 * </pre>
	 * <p>
	 * @param inMap 入力電文。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKyoseiDslKaihk(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		ArrayList<String[]> oldIcsCdList = getOldIcsCd(inMap, "2");
		if(0 != oldIcsCdList.size())
		{
			for(int i = 0; i<oldIcsCdList.size(); i++)
			{
				String[] oldIcsCd = (String[])oldIcsCdList.get(i);
				String sjishoNo = super.opeDate + JBSbatStringUtil.padNumFormString(JBSbatOracleSeqUtil.getNextSeq(commonItem.getConnection(), SEQ_SJISHO_NO), 7);
				String[] sjisho_rec =	{sjishoNo,											// 指示書番号
										"1",												// 指示書内容枝番
										"N01",												// 処理コード
										"TNM00040",											// 対象テーブル
										"0",												// エラー回数
										inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
										"0",												// 結果フラグ
										"13",												// パラメータ有効数
										inMap.getString(JBSbatKKIFM028.SYSID),				// SYSID
										inMap.getString(JBSbatKKIFM028.SVC_KEI_NO),			// サービス契約番号
										inMap.getString(JBSbatKKIFM028.SHOSA_YMD),			// 適用開始日（照査年月日）
										"20991231",											// 適用終了日（20991231）
										inMap.getString(JBSbatKKIFM028.MK_FLG),				// 有効無効フラグ
										inMap.getString(JBSbatKKIFM028.ADD_DTM),			// 登録日時
										inMap.getString(JBSbatKKIFM028.ADD_OPEACNT),		// 登録者
										"",													// 登録PGID
										inMap.getString(JBSbatKKIFM028.UPD_DTM),			// 更新日時
										inMap.getString(JBSbatKKIFM028.UPD_OPEACNT),		// 更新者
										"",													// 更新PGID
										oldIcsCd[0],										// 契約種別コード
										oldIcsCd[1],										//サービスコード
										"", "", "", "", "", "", "",
										"", "", "", "", "", "", "", "", "", "",	//パラメータ14〜50（null）
										"", "", "", "", "", "", "", "", "", "",
										"", "", "", "", "", "", "", "", "", "",
										"2", ""                                                 // サービス契約 "回復"
										};
				sjisho_list.add(sjisho_rec);
			}
		}
		else
		{
			super.logPrint.printDebugLog("指示書（回復）出力なし。サービス契約内訳<eo光電話>に対象なし。");
		}
		
		//CC呼び出し
		execCustKaihkInfAdd(inMap.getString(JBSbatKKIFM028.SYSID), inMap.getString(JBSbatKKIFM028.SVC_KEI_NO));
	}

	/**
	 * 更新用ファイルを出力します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.指示書と支払い方法入力支援の更新用ファイルを作成します。<br>
	 *
	 *
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeOutUpdateFile() throws Exception
	{
		BufferedWriter sjishoWr = null;
		BufferedWriter paywayWr = null;
		String fileName = "";

		try
		{
			 // 指示書データリスト
			fileName = file_path + "KKIFM209001.csv";
			sjishoWr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), JKKBatConst.SJIS));
			if (null != sjisho_list && 0 != sjisho_list.size())
			{
				
				// 入力リストのデータ分の繰り返し
				for(int i = 0; i < sjisho_list.size(); i++)
				{
					String[] sjsho_data = new String[59];
					sjsho_data = sjisho_list.get(i);
					StringBuilder sjishoBuilder = new StringBuilder();
					setDataStr(sjishoBuilder, sjsho_data);
					
					// 指示書更新用ファイル書き込み
					sjishoWr.write(sjishoBuilder.toString());
					sjishoWr.newLine();
					
				}
			}
		}
		catch(IOException e)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0250CE, new String[]{fileName, e.getMessage()});
		}
		finally
		{
			if (null != sjishoWr)
			{
				sjishoWr.close();
			}
			
			if (null != paywayWr)
			{
				paywayWr.close();
			}
		}
	}

	/**
	 * 
	 * 文字列設定処理を行います。
	 * 
	 * @param strBuilder 返却用
	 * @param data  取得データ
	 * 
	 * @return  StringBuilder カンマ区切り文字列
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private StringBuilder setDataStr(StringBuilder strBuilder, String[] data) throws Exception
	{
		int i = 0;
		for(i = 0; i < data.length - 1; i++)
		{
			strBuilder.append(data[i]);
			strBuilder.append(CONMA);
		}
		strBuilder.append(data[i]);

		return strBuilder;
	}
	
	/**
	 * 
	 * 未移行会員か判定します
	 * @param サービス契約番号
	 * @return boolean true:未移行会員
	 *                  false:未移行会員以外
	 * @throws Exception 
	 */
	private boolean isMiIkoMember(String svcKeiNo) throws Exception
	{
		// 検索条件保持
		String [] selectParam = new String[2];
		
		// サービス契約番号
		selectParam[0] = svcKeiNo;
		
		// 運用日
		selectParam[1] = super.opeDate;
		
		// SQL定義キー（CK_T_CUST.K_SELECT_038）を実行する
		executeCK_T_CUST_KK_SELECT_038(selectParam);
		
		dbMiIkoInfo = db_CK_T_CUST_038.selectNext();
		
		if(null != dbMiIkoInfo)
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * お客様の会員種別コードを抽出します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 *
	 * 2.会員種別コード(カレントレコード)を返します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param cust_id　sysID。
	 * @return String　eoID。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getMemberSbtCd(String cust_id) throws Exception
	{
		JBSbatCommonDBInterface map = null;
		String[] param = new String[2];

		// バインド変数を設定します
		param[0] = cust_id;
		param[1] = super.opeDate;

		// 検索を実行します
		executeCK_T_CUST_KK_SELECT_005(param);
		map = db_CK_T_CUST_005.selectNext();

		// 検索結果がない場合、エラーとし処理中断します。
		if (null == map)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"CK_T_CUST", cust_id});
		}

		return map.getString(JBSbatCK_T_CUST.MEMBER_SBT_CD);
	}
	
	/**
	 * 
	 * 解約起算日の期間チェック
	 * @param 解約起算年月
	 * @return boolean true:期間内
	 *                  false:期間外
	 * @throws Exception 
	 */
	private boolean isKisanYm(String kisanYMD) throws Exception
	{
		if(null == kisanYMD || "".equals(kisanYMD))
		{
			return true;
		}
		String opeDateYM = super.opeDate.substring(0, 6);
		String kisanYM = kisanYMD.substring(0, 6);
		int diff = JBSbatDateUtil.monthDiff(opeDateYM, kisanYM, "1");
		
		if(2 < diff)
		{
			return false;
		}
		

		return true;
	}
	
	/**
	 * 
	 * 旧ICSコード取得
	 * @param inMap
	 * @param flg  1:解約、2:回復
	 * @return String [0]:契約種別コード
	 *                 [1]:サービスコード
	 * @throws Exception 
	 */
	private ArrayList<String[]> getOldIcsCd(JBSbatServiceInterfaceMap inMap, String flg) throws Exception
	{
		ArrayList<String[]> list = new ArrayList<String[]>();
		String[] cd = new String[3];
		String svcKeiNo = inMap.getString(JBSbatKKIFM028.SVC_KEI_NO);
		String svcCd = inMap.getString(JBSbatKKIFM028.SVC_CD);
		String prcGrpcd = inMap.getString(JBSbatKKIFM028.PRC_GRP_CD);
		String pcrsCd = inMap.getString(JBSbatKKIFM028.PCRS_CD);
		String pplanCd = inMap.getString(JBSbatKKIFM028.PPLAN_CD);
		// サービスコードがネットの場合
		if(SVC_CD_NET.equals(svcCd))
		{
			// 料金グループコードがeo光ネットホームタイプまたはeo光ネットメゾンタイプの場合
			if("1".equals(flg) && ("02".equals(prcGrpcd) || "03".equals(prcGrpcd)))
			{
				// 即割有無の判断
				JBSbatCommonDBInterface wribsvc_map = null;
				String[] param_01 = new String[1];
				param_01[0] = svcKeiNo;
				executeKK_T_WRIB_SVC_KEI_KK_SELECT_047(param_01);
				wribsvc_map = db_KK_T_WRIB_SVC_KEI.selectNext();
				
				// 旧ICSコード変換からコード取得
				JBSbatCommonDBInterface oldicscd_map = null;
				String[] param_02 = new String[6];
				param_02[0] = prcGrpcd;
				param_02[1] = pcrsCd;
				param_02[2] = pplanCd;
				
				// ダミーデータ１の作成
				if(null == wribsvc_map)
				{
					// 即割なし（長割として処理）：即割ありで「旧ICS契約サービスコード」「旧ICS料金プランコード」を取得
					param_02[3] = "1";
				}
				else
				{
					// 即割あり：即割なしで「旧ICS契約サービスコード」「旧ICS料金プランコード」を取得
					param_02[3] = "0";
				}
				param_02[4] = super.opeDate;
				param_02[5] = znki_trn_upd_unyo_ymd;
				executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_008(param_02);
				oldicscd_map = db_KK_M_OLD_ICS_CD_CHG.selectNext();
				if(null != oldicscd_map)
				{
					String oldSvcCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
					String oldPplanCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
					cd[0] = svcCd;
					cd[1] = oldSvcCd + oldPplanCd;
					cd[2] = "d1";
				}
				else
				{
					cd[0] = svcCd;
					cd[1] = prcGrpcd + pcrsCd;
					cd[2] = "d1";
				}
				list.add(cd);
				
				// 今回接続用の作成
				String[] cd_1 = new String[3];
				if(null == wribsvc_map)
				{
					// 即割なし（長割として処理）：即割なしで「旧ICS契約サービスコード」「旧ICS料金プランコード」を取得
					param_02[3] = "0";
				}
				else
				{
					// 即割あり：即割ありで「旧ICS契約サービスコード」「旧ICS料金プランコード」を取得
					param_02[3] = "1";
				}
				executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_008(param_02);
				oldicscd_map = db_KK_M_OLD_ICS_CD_CHG.selectNext();
				if(null != oldicscd_map)
				{
					String oldSvcCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
					String oldPplanCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
					cd_1[0] = svcCd;
					cd_1[1] = oldSvcCd + oldPplanCd;
					cd_1[2] = "";
				}
				else
				{
					cd_1[0] = svcCd;
					cd_1[1] = prcGrpcd + pcrsCd;
					cd_1[2] = "";
				}
				list.add(cd_1);
			}
			// その他の場合
			else
			{
				// 即割有無の判断
				JBSbatCommonDBInterface wribsvc_map = null;
				String[] param_01 = new String[1];
				param_01[0] = svcKeiNo;
				
				// 旧ICSコード変換からコード取得
				JBSbatCommonDBInterface oldicscd_map = null;
				String[] param_02 = new String[6];
				param_02[0] = prcGrpcd;
				param_02[1] = pcrsCd;
				param_02[2] = pplanCd;
				executeKK_T_WRIB_SVC_KEI_KK_SELECT_047(param_01);
				wribsvc_map = db_KK_T_WRIB_SVC_KEI.selectNext();
				if(null == wribsvc_map)
				{
					param_02[3] = "0";
				}
				else
				{
					param_02[3] = "1";
				}
				param_02[4] = super.opeDate;
				param_02[5] = znki_trn_upd_unyo_ymd;
				executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_008(param_02);
				oldicscd_map = db_KK_M_OLD_ICS_CD_CHG.selectNext();
				if(null != oldicscd_map)
				{
					String oldSvcCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
					String oldPplanCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_PPLAN_CD));
					cd[0] = svcCd;
					cd[1] = oldSvcCd + oldPplanCd;
					cd[2] = "";
				}
				else
				{
					cd[0] = svcCd;
					cd[1] = prcGrpcd + pcrsCd;
					cd[2] = "";
				}
				list.add(cd);
			}
		}
		// サービスコードがTVの場合
		else if(SVC_CD_TV.equals(svcCd))
		{
			// 旧ICSコード変換からコード取得
			JBSbatCommonDBInterface oldicscd_map = null;
			String[] param = new String[3];
			param[0] = prcGrpcd;
			param[1] = super.opeDate;
			param[2] = znki_trn_upd_unyo_ymd;
			executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_009(param);
			oldicscd_map = db_KK_M_OLD_ICS_CD_CHG.selectNext();
			if(null != oldicscd_map)
			{
				// 旧ICSサービスコードを取得
				String oldSvcCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_KEI_SVC_CD));
				cd[0] = svcCd;
				cd[1] = oldSvcCd + "000";
				cd[2] = "";
			}
			else
			{
				// 旧ICSサービスコードが取得できない場合
				cd[0] = svcCd;
				cd[1] = prcGrpcd + pcrsCd;
				cd[2] = "";
				super.logPrint.printDebugLog("旧ICS変換から旧ICSサービスコードが取得できません。料金グループコード：" + prcGrpcd);
			}
			list.add(cd);
		}
		// サービスコードが電話の場合
		else if(SVC_CD_TEL.equals(svcCd))
		{
			// 旧ICSコード変換から旧ICS付加サービス種別コード取得
			JBSbatCommonDBInterface oldicscd_map = null;
			String[] param = new String[4];
			param[0] = prcGrpcd;
			param[1] = pplanCd;
			param[2] = super.opeDate;
			param[3] = znki_trn_upd_unyo_ymd;
			executeKK_M_OLD_ICS_CD_CHG_KK_SELECT_011(param);
			oldicscd_map = db_KK_M_OLD_ICS_CD_CHG.selectNext();
			String hukaCd = "";
			if(null != oldicscd_map)
			{
				// 旧ICSサービスコードを取得
				hukaCd = JBSbatStringUtil.Rtrim(oldicscd_map.getString(JBSbatKK_M_OLD_ICS_CD_CHG.OLD_ICS_HUKA_SVC_SBT_CD));
			}
			else
			{
				// 旧ICSサービスコードが取得できない場合
				hukaCd = "00";
			}
			// サービス契約内訳<eo光電話>.電話番号順番を取得しゼロ埋め３桁に編集
			JBSbatCommonDBInterface svkeiuwEohTel_map = null;
			String[] param_tel = new String[2];
			param_tel[0] = svcKeiNo;
			param_tel[1] = super.opeDate;
			executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_039(param_tel);
			svkeiuwEohTel_map = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
			// サービス契約内訳<eo光電話>のヒットした件数分セット
			while (null != svkeiuwEohTel_map)
			{
				cd = new String[3];
				cd[0] = svcCd;
				String jun = JBSbatStringUtil.Rtrim(svkeiuwEohTel_map.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN));
				if(jun.length()<=3)
				{
					cd[1] = hukaCd + JBSbatStringUtil.padNumFormString(new String(jun), 3);
				}
				else
				{
					cd[1] = hukaCd +jun.substring(0, 3);
				}
				cd[2] = "";
				list.add(cd);
				svkeiuwEohTel_map = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
			}
		}
		
		return list;

	}
	
	
	/**
	 * 
	 * 会員有効性情報設定処理を行います。
	 * 
	 * @param JBSbatOutputItem 返却用
	 * @param svcKeiNo サービス契約番号
	 * @param sysid  SYSID
	 * 
	 * @return  JBSbatOutputItem 会員有効性情報
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatOutputItem setYkInfFileSaksei(JBSbatOutputItem out_bean, String sysid, String updFlg) throws Exception
	{
		String memberSbtCd = "";
		
		if("".equals(trnTgFlg))
		{
			//対象SYSIDの初期化
			trgt_sysid ="";
			
			//お客様.SYSID,世代,お客様入退会コードで会員種別の取得
			JBSbatCommonDBInterface custdb_map = null;
			String[] param_01 = new String[3];
			param_01[0] = sysid;
			param_01[1] = gene_add_dtm;
			param_01[2] = super.opeDate;
			
			executeCK_T_CUST_KK_SELECT_051(param_01);
			custdb_map = db_CK_T_CUST_051.selectNext();
			
			// 検索結果なしの場合
			if (null == custdb_map)
			{
				super.logPrint.printDebugLog("お客様TBL検索結果なし。スキップします。　お客様SYSID:" 
						+ sysid + "、世代登録年月日時分秒：" + gene_add_dtm);
				// レコードスキップします。
				return out_bean;
			}
			
			memberSbtCd = JBSbatStringUtil.Rtrim(custdb_map.getString(JBSbatCK_T_CUST.MEMBER_SBT_CD));
			
			super.logPrint.printDebugLog("KK_T_CUST_KK_SELECT_051 memberSbtCd:" + memberSbtCd);
			
			// 会員種別がファミリー会員(個人_11、法人_21)の場合、親マスター会員のSYSIDを取得します。
			if(MEMBRE_SBT_CD_FAMILY_KOJIN.equals(memberSbtCd) || MEMBRE_SBT_CD_FAMILY_HOJIN.equals(memberSbtCd))
			{
				super.logPrint.printDebugLog("会員種別がファミリー会員(個人_11、法人_21)の場合、" +
						"親マスター会員のSYSIDを取得" );
				
				JBSbatCommonDBInterface grpdb_map = null;
				String[] param_02 = new String[3];
				param_02[0] = sysid;
				param_02[1] = gene_add_dtm;
				param_02[2] = super.opeDate;
				
				executeCK_T_GRP_KK_SELECT_001(param_02);
				grpdb_map = db_CK_T_GRP.selectNext();
				
				// 検索結果なしの場合
				if (null == grpdb_map)
				{
					super.logPrint.printDebugLog("お客様グループ設定TBL検索結果なし。スキップします。　お客様SYSID:"
							+ sysid + "、世代登録年月日時分秒：" + gene_add_dtm);
					// レコードスキップします。
					return out_bean;
				}
				
				//対象SYSIDを保持
				trgt_sysid = sysid;
				
				sysid = JBSbatStringUtil.Rtrim(grpdb_map.getString(JBSbatCK_T_GRP.GRP_LEADER_SYSID));
				
				//OM-2014-00001134
				//抽出情報の異動区分が分割、併合の場合で、ISP決済情報の会員種別がマスター会員の場合
				if(IDO_DIV_CUST_HEIGOU.equals(idiv) || IDO_DIV_CUST_BNKT.equals(idiv))
				{
					if(!"".equals(sysid) && !"".equals(chsht_sysid))
					{
						if(!chsht_sysid.equals(sysid))
						{
							//抽出情報のSYSIDを設定
							sysid = chsht_sysid;
							//分割併合判定フラグ
							bnkt_heig_flg = true;
							
							//対象SYSIDの初期化
							trgt_sysid = "";
						}
					}
					
				}
				//OM-2014-00001134
				
				super.logPrint.printDebugLog("CK_T_GRP_KK_SELECT_001 sysid:" + sysid);
				super.logPrint.printDebugLog("paywayNo:" + paywayNo);
				if(!"".equals(paywayNo))
				{
					//督促ステータス取得
					JBSbatCommonDBInterface tokusoku_map = null;
					String[] param_03 = new String[5];
					param_03[0] = super.opeDate;
					param_03[1] = znki_trn_upd_unyo_ymd;
					param_03[2] = super.opeDate;
					param_03[3] = znki_trn_upd_unyo_ymd;
					param_03[4] = paywayNo;
					super.logPrint.printDebugLog("CN_T_PAYWAY_INSUPORT_KK_SELECT_003 param1:" + param_03[0] + " param2:" + param_03[1] + " param3:" +param_03[2]);
					
					executeCN_T_PAYWAY_INSUPORT_KK_SELECT_003(param_03);
					tokusoku_map = db_CN_T_PAYWAY_INSUPORT_003.selectNext();
					if(null != tokusoku_map)
					{
						tokusoku_stat_payway = JBSbatStringUtil.Rtrim(tokusoku_map.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT));
						super.logPrint.printDebugLog("CN_T_PAYWAY_INSUPORT_KK_SELECT_003 tokusoku_stat:" + tokusoku_stat_payway);
					}
					else
					{
						tokusoku_stat_payway = "00";
					}
				}
			}
		}
			
		
		int svc_ptn = 0;
		int siky_ptn = 0;		
		
		if("1".equals(trnTgFlg))
		{
			// SYSIDに属する全請求契約を検索し、有効性パターンを判定します。
			siky_ptn = getSikyKeiYkPtn(sysid);
			super.logPrint.printDebugLog("siky_ptn:" + siky_ptn);
		}
		else
		{
			// SYSIDに属する全サービス契約を検索し、有効性パターンを判定します。
			svc_ptn = getSvcKeiYkPtn(sysid, updFlg);
			super.logPrint.printDebugLog("svc_ptn:" + svc_ptn);
		}

		
		//対象SYSIDに戻す
		if(!"".equals(trgt_sysid))
		{
			// ANK-2234-00-00 ADD START
			// マスタ会員のSYSIDとISP決済口のSYSIDが一致せずに全解約の場合、マスタ会員の解約情報を出力する。
			if(!trgt_sysid.equals(sysid) && 3 == svc_ptn)
			{
				super.logPrint.printDebugLog("マスタ会員の全解約sysid:" + sysid);
				// IT1-2014-0000298 MOD START
//				mapList.add(executePrint(svcKeiNo, sysid, MEMBRE_SBT_CD_OPEN, ALL_DSL, null, null));

				String w_membre_sbt_cd = getMemberSbtCd(sysid);
				super.logPrint.printDebugLog("マスタ会員の全解約memberSbtCd:" + w_membre_sbt_cd);
				mapList.add(executePrint(svcKeiNo, sysid, w_membre_sbt_cd, ALL_DSL, null, null));
				// IT1-2014-0000298 MOD END
			}
			// ANK-2234-00-00 ADD END
			
			sysid = trgt_sysid;
		}
		super.logPrint.printDebugLog("対象SYSIDに戻す sysid:" + sysid);
		
		//会員種別コード(カレントレコード)取得
		String sbtcd = "";
		
		if (8 != svc_ptn)
		{
			sbtcd = getMemberSbtCd(sysid);
			super.logPrint.printDebugLog("sbtcd:" + sbtcd);
		}
		
		// パターン８の場合、以下の処理を行います。
		if (8 == svc_ptn)
		{
			// サービス解約保持領域数分、以下の処理を繰り返します。
			out_bean = executeIchibuKisn(sysid, memberSbtCd, out_bean);
		}
		// パターン７の場合、以下の処理を行います。
		else if (7 == svc_ptn)
		{
			// サービス回復保持領域数分、有効性結果パターン「34」または「22」で「出力対象外データの判定」処理を繰り返します。
			out_bean = executeSvcKisn(svc_kaihk, sysid, sbtcd, KISN_KAIHK, out_bean);
		}
		// パターン５の場合、以下の処理を行います。
		else if (5 == siky_ptn)
		{
			// 請求利用停止保持領域数分、有効性結果パターン「31」で以下の処理を繰り返します。
			out_bean = executeSeikyKisn(seiky_stp_key, sysid, sbtcd, KISN_SIKY_YOKSI, out_bean);
			
			// 請求停止解除保持領域数分、有効性結果パターン「32」で以下の処理を繰り返します。
			out_bean = executeSeikyKisn(seiky_rls_key, sysid, sbtcd, KISN_SIKY_YOKSI_RLS, out_bean);
		}
		// パターン４の場合、有効性結果パターン「14」で以下の処理を行います。
		else if (4 == svc_ptn)
		{
			// サービス回復保持領域数分、「出力対象外データの判定」処理を繰り返します。
			out_bean = executeSvcKisn(svc_kaihk, sysid, sbtcd, ALL_KAIHK, out_bean);
		}
		// パターン３の場合、有効性結果パターン「13」で以下の処理を行います。
		else if (3 == svc_ptn)
		{
			//全回線解約判定フラグを設定
			allKisnDel_flg = true;
			
			// サービス解約保持領域数分、「出力対象外データの判定」処理を繰り返します。
			out_bean = executeSvcKisn(svc_dsl, sysid, sbtcd, ALL_DSL, out_bean);
			// 支払い方法入力支援からSYSIDを抽出できた場合で、分割併合でのSYSIDの切替がない場合
			if("1".equals(payway_upd_flg) && bnkt_heig_flg == false )
			{
				// 指示書（支払方法）更新用ファイルデータ
				mk_flg_payway = "1";
				executePayway();
				
				//支払い方法入力支援テーブルへの無効化更新処理
				updateMukoPaywayInsuport(paywayNo);

			}
			
		}
		// パターン２の場合、有効性結果パターン「12」で以下の処理を行います。
		else if (2 == siky_ptn)
		{
			// 請求停止解除保持領域数分、以下の処理を繰り返します。
			out_bean = executeSeikyKisn(seiky_rls_key, sysid, sbtcd, ALL_SIKY_YOKSI_RLS, out_bean);
		}
		// パターン１の場合、有効性結果パターン「11」で以下の処理を行います。
		else if (1 == siky_ptn)
		{
			// 請求利用停止保持領域数分、以下の処理を繰り返します。
			out_bean = executeSeikyKisn(seiky_stp_key, sysid, sbtcd, ALL_SIKY_YOKSI, out_bean);
		}
		

		

		return out_bean;
	}	
	
	/**
	 * サービス契約番号の請求契約番号を抽出します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 *
	 * 2.請求契約番号を返します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param svc_kei_no。
	 * @return String。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getSeikyKeiNo(String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface map = null;
		String[] param = new String[3];

		// バインド変数を設定します
		param[0] = svc_kei_no;
		param[1] = super.opeDate;
		param[2] = znki_trn_upd_unyo_ymd;
		
		// 検索を実行します
		executeKK_T_KAKINS_KK_SELECT_044(param);
		map = db_KK_T_KAKINS_044.selectNext();

		// 検索結果がない場合、エラーとし処理中断します。
		if (null == map)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"KK_T_KAKINS", svc_kei_no});
		}

		return map.getString(JBSbatKK_T_KAKINS.SEIKY_KEI_NO);
	}
	
	/**
	 * ＩＳＰ決済サービス契約番号情報の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 *
	 * 2.サービス契約番号を更新します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param paywayNo。
	 * @param svc_kei_no。
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateIspSvcKeiNo(String paywayNo, String svc_kei_no) throws Exception
	{
		super.logPrint.printDebugLog("支払い方法入力支援更新キー：支払い方法番号[" + paywayNo + "]");
		super.logPrint.printDebugLog("支払い方法入力支援更新値：ＩＳＰ決済サービス契約番号[" + svc_kei_no + "]");
		
		String[] param = new String[1];
		String[] value = new String[1];
		// 支払方法入力支援へ排他検索を行う
		JBSbatCommonDBInterface db_map = null;
		JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
		// 排他制御呼び出しメソッド：db_CN_T_PAYWAY_INSUPORT.selectByPrimaryKeysForUpdateWait()
		// 下記パラメータを設定
		// (1)支払い方法番号        = KKIFM210.PAYWAY_NO
		where_map.setValue(JBSbatCN_T_PAYWAY_INSUPORT.PAYWAY_NO, paywayNo);
		db_map = db_CN_T_PAYWAY_INSUPORT_UP.selectByPrimaryKeysForUpdateWait(where_map);
		// 未存在の場合、エラーとする
		if (null == db_map)
		{
			// MSG 入力方法入力支援テーブルに支払い方法情報が存在しません。
			throw new JBSbatBusinessException("EKKB0210CE", new String[]{CN_T_PAYWAY_INSUPORT, STR_CN_T_PAYWAY_INSUPORT_INFO});
		}
		
		// PK項目の設定をします。
		param[0] = paywayNo;

		// ISP決済サービス契約番号を設定します。
		value[0] = svc_kei_no;
		// 連携ファイル制御（スライド）更新処理を実行します。
		executeCN_T_PAYWAY_INSUPORT_PKUPDATE(value, param);
		
		
	}
	
	/**
	 * 入力方法入力支援テーブルの無効化更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.DBアクセスを実行します。<br>
	 *
	 * 2.無効化更新処理をします。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param paywayNo。
	 * @return 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateMukoPaywayInsuport(String paywayNo) throws Exception
	{
		super.logPrint.printDebugLog("支払い方法入力支援更新キー：支払い方法番号[" + paywayNo + "]");

		
		String[] param = new String[1];

		// 支払方法入力支援へ排他検索を行う
		JBSbatCommonDBInterface db_map = null;
		JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
		// 排他制御呼び出しメソッド：db_CN_T_PAYWAY_INSUPORT.selectByPrimaryKeysForUpdateWait()
		// 下記パラメータを設定
		// (1)支払い方法番号        = KKIFM210.PAYWAY_NO
		where_map.setValue(JBSbatCN_T_PAYWAY_INSUPORT.PAYWAY_NO, paywayNo);
		db_map = db_CN_T_PAYWAY_INSUPORT_MK.selectByPrimaryKeysForUpdateWait(where_map);
		// 未存在の場合、エラーとする
		if (null == db_map)
		{
			// MSG 入力方法入力支援テーブルに支払い方法情報が存在しません。
			throw new JBSbatBusinessException("EKKB0210CE", new String[]{CN_T_PAYWAY_INSUPORT, STR_CN_T_PAYWAY_INSUPORT_INFO});
		}
		
		// PK項目の設定をします。
		param[0] = paywayNo;

		// 連携ファイル制御（無効化）更新処理を実行します。
		executeCN_T_PW_INSUPORT_PKLGCDLT(param);
		
		
	}
	
	
	/**
	 * ｅｏＩＤ会員有効性情報抽出ファイル出力（利用停止・利用停止解除）の処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.ｅｏＩＤ会員有効性情報ファイルの出力処理をします。<br>
	 *
	 * </pre>
	 * <p>
	 * @param map 退避領域。
	 * @return JBSbatOutputItem　出力情報。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private void setOutDataSeikyKisn(String sikyNo, String yk_ptn, String sysid, String sbt_cd, JBSbatOutputItem bean) throws Exception
	{
		JBSbatCommonDBInterface db_map = null;
		String[] param = new String[5];
		param[0] = gene_add_dtm;
		param[1] = super.opeDate;
		param[2] = sikyNo;
		param[3] = super.opeDate;
		param[4] = znki_trn_upd_unyo_ymd;

		// 請求契約番号に紐付くサービス契約を抽出します。
		executeKK_T_KAKINS_KK_SELECT_012(param);
		db_map = db_KK_T_KAKINS_012.selectNext();
		// 件数分、以下の処理を繰り返します。
		while (null != db_map)
		{
			String svc_kei_no = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
			
			String pcrsCd = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
			// 初期eoID払い出し対象
			if(!pcrs_cd_map.containsKey(pcrsCd))
			{
				super.logPrint.printDebugLog("初期eoID払い出し対象外：" + svc_kei_no);
			}
			else if(svcKeiNo.equals(svc_kei_no))
			{
				// 出力判断
				if (isOutPrint(sysid, svc_kei_no, yk_ptn))
				{
					//請求重複データ除外
					String key = svc_kei_no + sysid + sbt_cd + yk_ptn;
					if(!seiky_out_map.containsKey(key)) {
						seiky_out_map.put(key,yk_ptn);
//						mapList.add(executePrint(svc_kei_no, sysid, sbt_cd, yk_ptn, null, null));
					}
					
					mapList.add(executePrint(svc_kei_no, sysid, sbt_cd, yk_ptn, null, null));

				}
			}
			db_map = db_KK_T_KAKINS_012.selectNext();
			
		}
	}
	


	/**
	 * 
	 * eoID会員有効性情報ファイルの出力情報を作成します。<br>
	 * 
	 * @param ArrayList 会員有効性情報
	 * 
	 * @return  JBSbatOutputItem 出力用会員有効性結果パターンファイル情報
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatOutputItem makeOutBean(JBSbatOutputItem out_bean)  throws Exception
	{
		super.logPrint.printDebugLog("出力対象となる情報を作成開始---"+"makeOutBean()");
		//キーと世代の格納領域
		HashMap<String, String> key_map = new HashMap<String, String>();
		//出力対象格納領域
		HashMap<String, ArrayList<JBSbatServiceInterfaceMap>> out_eoidMap = new HashMap<String, ArrayList<JBSbatServiceInterfaceMap>>();
		///出力対象キー格納リスト
		ArrayList<String> keyList = new ArrayList<String>();
		///スライド処理出力対象キー格納リスト
		 HashMap<String, String> ptn_21_PtnMap = new  HashMap<String, String>();
		
		for(int i = 0; i < mapList.size(); i++)
		{
			//対象情報取得
			JBSbatServiceInterfaceMap in_map = mapList.get(i);
			
			boolean outFlg = in_map.isOutFlg();
			//出力対象情報か判断する
			if(outFlg)
			{
			
				//SYSID
				String in_sysid = in_map.getString(JBSbatKKIFE040.SYSID);
				//サービス契約番号(NULL対応でJBSbatStringUtil使用)
				String in_svcKeiNo = JBSbatStringUtil.Rtrim(in_map.getString(JBSbatKKIFE040.SVC_KEI_NO));
				//世代登録年月日時分秒
				String in_geneAddDtm = in_map.getString("GENE_ADD_DTM_SVCKEI");
				//SYSID＋サービス契約番号をキーとする
				String tmp_in_key = in_sysid + in_svcKeiNo;
				//有効性結果パターン
				String in_yk_ptn = in_map.getString(JBSbatKKIFE040.YK_RSLT_PATTERN);
				
				//SYSID＋サービス契約番号＋有効性結果パターンをキーとする
				String ptn_21_tmp_in_key = in_sysid + in_svcKeiNo + in_yk_ptn;

				
				// スライド処理が行われている場合
				if(ptn_21_map.containsKey(tmp_in_key))
				{
					//同じSYSID＋サービス契約番号＋有効性結果パターンが存在しなかった場合　リストに保持
					if(!ptn_21_PtnMap.containsKey(ptn_21_tmp_in_key))
					{
						//SYSID＋サービス契約番号＋有効性結果パターンをキーとして設定 
						ptn_21_PtnMap.put(ptn_21_tmp_in_key, in_geneAddDtm);
						
						//SYSID＋サービス契約番号＋世代登録年月日時分秒をキーとする
						String in_key = in_sysid + in_svcKeiNo + in_yk_ptn + in_geneAddDtm;
						//キーを元に世代登録年月日時分秒を保持
						key_map.put(in_key,in_geneAddDtm);
						//出力対象キー格納リスト
						ArrayList<JBSbatServiceInterfaceMap> inMap_List = new ArrayList<JBSbatServiceInterfaceMap>();
						inMap_List.add(in_map);
						//キーを元に会員性情報を保持
						out_eoidMap.put(in_key, inMap_List);
						//出力対象リスト作成
						keyList.add(in_key);
						
					}
					else
					{
						
						//すでに設定されているキーの世代登録年月日時分秒を取得
						String set_geneAddDtm = ptn_21_PtnMap.get(ptn_21_tmp_in_key);
						
						//すでに設定されているキーを作成
						String ptn_21_tmp_set_key = in_sysid + in_svcKeiNo + in_yk_ptn + set_geneAddDtm;
						
						//新しいキーを作成
						String in_key = in_sysid + in_svcKeiNo + in_yk_ptn + in_geneAddDtm;
						
						int checkCnt = istrgtInf(in_geneAddDtm, set_geneAddDtm);
						
						//すでに設定されているキーの世代登録年月日時分秒が古い場合
						if(1 == checkCnt)
						{
							//キーの会員性情報を削除
							out_eoidMap.remove(ptn_21_tmp_set_key);
							keyList.remove(ptn_21_tmp_set_key);
							
							//キーを元に世代登録年月日時分秒を保持
							key_map.put(in_key,in_geneAddDtm);
							//出力対象情報格納リスト
							ArrayList<JBSbatServiceInterfaceMap> inMap_List = new ArrayList<JBSbatServiceInterfaceMap>();
							inMap_List.add(in_map);
							//キーを元に会員性情報を設定
							out_eoidMap.put(in_key, inMap_List);
							//出力対象リスト作成
							keyList.add(in_key);
							
						}
						else if(3 == checkCnt)
						{
							//出力対象情報格納リスト
							ArrayList<JBSbatServiceInterfaceMap> inMap_List = out_eoidMap.get(ptn_21_tmp_set_key);
							inMap_List.add(in_map);
							//キーを元に会員性情報を設定
							out_eoidMap.put(ptn_21_tmp_set_key, inMap_List);
							
						}
						
					}
				}
				else
				{
					//SYSID＋サービス契約番号をキーとする
					String in_key = in_sysid + in_svcKeiNo;
					//キーが存在しない場合
					if(!key_map.containsKey(in_key))
					{
						//キーを元に世代登録年月日時分秒を保持
						key_map.put(in_key,in_geneAddDtm);
						//出力対象情報格納リスト
						ArrayList<JBSbatServiceInterfaceMap> inMap_List = new ArrayList<JBSbatServiceInterfaceMap>();
						inMap_List.add(in_map);
						//キーを元に会員性情報を保持
						out_eoidMap.put(in_key, inMap_List);
						//出力対象リスト作成
						keyList.add(in_key);
					}
					//キーが存在する場合
					else
					{
						//すでに設定されているキーの世代登録年月日時分秒を取得
						String set_geneAddDtm = key_map.get(in_key);
						
						int checkCnt = istrgtInf(in_geneAddDtm, set_geneAddDtm);
						
						//すでに設定されているキーの世代登録年月日時分秒が古い場合
						if(1 == checkCnt)
						{
							//キーの会員性情報を削除
							out_eoidMap.remove(in_key);
							
							//キーを元に世代登録年月日時分秒を保持
							key_map.put(in_key,in_geneAddDtm);
							//出力対象情報格納リスト
							ArrayList<JBSbatServiceInterfaceMap> inMap_List = new ArrayList<JBSbatServiceInterfaceMap>();
							inMap_List.add(in_map);
							//キーを元に会員性情報を設定
							out_eoidMap.put(in_key, inMap_List);
							
						}
						else if(3 == checkCnt)
						{
							//出力対象情報格納リスト
							ArrayList<JBSbatServiceInterfaceMap> inMap_List = out_eoidMap.get(in_key);
							inMap_List.add(in_map);
							//キーを元に会員性情報を設定
							out_eoidMap.put(in_key, inMap_List);
							
						}
					}
				}
			}
		}
		
		//同じSYSIDで有効性パターンが"13"の情報が存在する場合、ファミリー会員の会員種別変更情報（"41"）を出力しない編集を行う
		editTrgtInf(keyList, out_eoidMap);

		//出力対象がある場合
		if(0 < keyList.size())
		{
			for(int j = 0; j < keyList.size(); j++)
			{
				//出力対象リストよりキー取得（SYSID + サービス契約番号）
				String trgt_key = keyList.get(j);
				
				//会員性情報MAPより出力対象情報取得
				ArrayList<JBSbatServiceInterfaceMap> inMap_List = out_eoidMap.get(trgt_key);
				
				for(int x = 0; x < inMap_List.size(); x++)
				{
					JBSbatServiceInterfaceMap trgt_map = inMap_List.get(x);
					
					//SYSID
					String sysid =  trgt_map.getString(JBSbatKKIFE040.SYSID);
					//サービス契約番号
					String svc_kei_no = trgt_map.getString(JBSbatKKIFE040.SVC_KEI_NO);
					//有効性結果パターン
					String yk_ptn = trgt_map.getString(JBSbatKKIFE040.YK_RSLT_PATTERN);
					//解約起算日
					String dsl_ymd = trgt_map.getString(JBSbatKKIFE040.DSL_YMD);
					//督促ステータス
					String tokusoku_Stat = trgt_map.getString("TOKUSOKU_STAT");
					//抽出からのサービス契約番号
					String chst_svckeino = trgt_map.getString("CHST_SVCKEINO");
					// OM-2022-0000811 ADD START
					//抽出からの会員種別
					String mbtype = trgt_map.getString(JBSbatKKIFE040.MBTYPE);
					// OM-2022-0000811 ADD END
					
					
					//スライド有無
					boolean chg_flg = false;
					
					if(20 <= trgt_key.length() && ptn_21_map.containsKey(trgt_key.substring(0,20)))
					{
						chg_flg = true;
					}
	
					//帳票出力対象の判定処理
					// OM-2022-0000811 MOD START
//					if(!isPrintOutTrgt(sysid, svc_kei_no, yk_ptn, dsl_ymd, chg_flg, tokusoku_Stat, chst_svckeino))
					if(!isPrintOutTrgt(sysid, svc_kei_no, yk_ptn, dsl_ymd, chg_flg, tokusoku_Stat, chst_svckeino, mbtype))
					// OM-2022-0000811 MOD END
					{
						continue;
					}
	
					
					//出力対象項目格納領域作成
					JBSbatServiceInterfaceMap out_map = new JBSbatServiceInterfaceMap();
					//レコード区分
					out_map.setString(JBSbatKKIFE040.REC_DIV, trgt_map.getString(JBSbatKKIFE040.REC_DIV));
					//SYSID
					out_map.setString(JBSbatKKIFE040.SYSID, sysid);
					//有効性結果パターン
					out_map.setString(JBSbatKKIFE040.YK_RSLT_PATTERN, yk_ptn);
					//サービス契約番号
					out_map.setString(JBSbatKKIFE040.SVC_KEI_NO, svc_kei_no);
					//スライド先サービス契約番号
					out_map.setString(JBSbatKKIFE040.SK_SVC_KEI_NO, trgt_map.getString(JBSbatKKIFE040.SK_SVC_KEI_NO));
					//解約起算日
					out_map.setString(JBSbatKKIFE040.DSL_YMD, dsl_ymd);
					//会員種別
					out_map.setString(JBSbatKKIFE040.MBTYPE, trgt_map.getString(JBSbatKKIFE040.MBTYPE));
					
					out_map.setOutFlg(true);
					
					out_bean.addOutMapList(out_map);
		
					// 出力件数に＋１を足します。
					out_cnt++;
				}
			}
			
			
		}
		
		//変更処理全てに対応した格納情報をクリアする
		//out_bean.clearOutMapList_2();
		
		super.logPrint.printDebugLog("出力対象となる情報を作成終了---"+"makeOutBean()");

		return out_bean;
	}
	
	
	/**
	 * 
	 * 会員有効性情報出力チェック
	 * @param 抽出対象の世代登録年月日時分秒
	 * @param マップに格納している世代登録年月日時分秒
	 * @return int 1:格納情報交換する
	 *              2:格納情報交換しない
	 *              3:追加する
	 * @throws Exception 
	 */
	private int istrgtInf(String in_geneAddDtm, String set_geneAddDtm) throws Exception
	{
		if(in_geneAddDtm.compareTo(set_geneAddDtm) > 0)
		{
			return 1;
		}
//		else if(in_geneAddDtm.compareTo(set_geneAddDtm) == 0)
//		{
//			return 3;
//		}

		return 2;
	}
	
	
	
	
	/**
	 * 帳票出力対象の判定処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.他システム連携異動記録の検索を行います。<br>
	 * 
	 * 2.存在している場合、検索結果の有効性パターンと有効性結果パターンの判定します。<br>
	 * 
	 * 3.存在していない場合、有効性結果パターンの判定をします。<br>
	 * 
	 * 4.出力対象ならtrue、対象外ならfalseを返却します。<br>
	 * 
	 * </pre>
	 * <p>
	 * @param sysid　ＳＹＳＩＤ。
	 * @param svc_kei_no　サービス契約番号。
	 * @param yk_ptn　有効性結果パターン。
	 * @param dsl_ymd　解約起算日
	 * @param chg_flg　スライド有無
	 * @param tokusoku_Stat　督促ステータス
	 * @param chst_svckeino　抽出で取得したサービス契約番号
	 * @param mbtype　抽出で取得した会員種別
	 * @return boolean 出力対象の判定結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// OM-2022-0000811 MOD START
//	private boolean isPrintOutTrgt(String sysid, String svc_kei_no, String yk_ptn, String dsl_ymd, boolean chg_flg, String tokusoku_Stat , String chst_svckeino) throws Exception
	private boolean isPrintOutTrgt(String sysid, String svc_kei_no, String yk_ptn, String dsl_ymd, boolean chg_flg, String tokusoku_Stat , String chst_svckeino, String mbtype) throws Exception
	// OM-2022-0000811 MOD END
	{
		
		// OM-2022-0000811 ADD START
		// 会員種別が未設定の場合、帳票出力対象外＋インフォログ出力
		if (null == mbtype || "".equals(mbtype))
		{
			super.logPrint.printBusinessErrorLog("EKKB2200TI", new String[]{"会員種別", "SYSID:" + sysid});
			return false;
		}
		// OM-2022-0000811 ADD END
		
		//  解約起算日のチェック
		if(!isKisanYm(dsl_ymd))
		{
			super.logPrint.printDebugLog("処理対象期間の解約起算日に不正があります。" +
					""+"SYSID:" + sysid + "、サービス契約番号:" + svc_kei_no + "、有効性結果パターン:" + yk_ptn + "、解約起算日:" + dsl_ymd);

			return false;
		}
		
		boolean rtn_flg = false;
		
		if(chg_flg)
		{
			rtn_flg = true;
		}
		else
		{

			if((null != sysid && !"".equals(sysid)) && (null != svc_kei_no && !"".equals(svc_kei_no)))
			{
				JBSbatCommonDBInterface db_map = null;
				
				String[] param = new String[2];
				
				param[0] = sysid;
				param[1] = svc_kei_no;
				
				// 他システム連携異動記録の検索を行います。
				db_map = executeKK_T_TSYRN_IDO_KRK_PKSELECT(param);
				
				// 検索結果有りの場合、以下の処理を行います。
				if (null != db_map)
				{
					String value = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatKK_T_TSYRN_IDO_KRK.YK_RSLT_PTN_CD));
					
					// 検索結果と判定結果が不一致の場合、以下の処理を行います。
					if (!yk_ptn.equals(value))
					{
						// （検索結果「14」かつ（判定結果「22」または「34」））以外の場合、出力対象とします。
						if (!(ALL_KAIHK.equals(value) && ((KISN_KAIHK_YKU.equals(yk_ptn) || KISN_KAIHK_MKU.equals(yk_ptn)))))
						{
							rtn_flg = true;
						}
					}
				}
				// 検索結果無しの場合、以下の処理を行います。
				else
				{
					// 判定結果「12」「14」「22」「32」「34」以外の場合、出力対象とします。
					if (!PRINT_TAISHO_GAI.containsKey(yk_ptn))
					{
						rtn_flg = true;
					}
				}
				
				
			}
			else
			{
				rtn_flg = true;
			}
		}
		
		if(rtn_flg)
		{
			//「全回線回復」、「一部回線回復で同一請求契約番号に紐づく手続き中の強制解約を含む他の解約済みでないサービス契約が存在する場合としない場合」のファミリー会員の場合、出力対象外
			if(ALL_KAIHK.equals(yk_ptn) || KISN_KAIHK_YKU.equals(yk_ptn) || KISN_KAIHK_MKU.equals(yk_ptn))
			{
				//抽出より取得したSYSIDリストの件数分ループ
				for(int i = 0; i < chsht_mstID_inf.size(); i++)
				{
					//抽出より取得したSYSID
					String chsht_mstID = chsht_mstID_inf.get(i);
					//マスター会員かどうかのチェック
					if(sysid.equals(chsht_mstID))
					{
						rtn_flg = true;
						break;
						
					}
					else
					{
						rtn_flg = false;
					}
				}
				
			}
			
			//OM-2014-0003517 DEL START
//			//ANK-1584-00-00 追加
//			//抽出処理で督促ステータスが設定されている場合のMVNOデータに関しては　出力対象としない
//			if(!"".equals(tokusoku_Stat))
//			{
//				//サービス契約.サービスコードで設定判断をする
//				JBSbatCommonDBInterface svcdb_map = null;
//				String[] param_03 = new String[2];
//				param_03[0] = chst_svckeino;
//				param_03[1] = super.opeDate;
//				
//				executeKK_T_SVC_KEI_KK_SELECT_234(param_03);
//				svcdb_map = db_KK_T_SVC_KEI.selectNext();
//				if (null == svcdb_map)
//				{
//					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"KK_T_SVC", "サービス契約情報番号:" + svc_kei_no});
//				}
//				//サービス契約.サービスコードを取得
//				String svccd = JBSbatStringUtil.Rtrim(svcdb_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD));
//				
//				//サービスコード（MVNO）51 の場合　出力対象としない
//				if(SVC_CD_MVNO.equals(svccd))
//				{
//					rtn_flg = false;
//				}
//			}
			//OM-2014-0003517 DEL END
		}
		



		return rtn_flg;
	}
	
	
	/**
	 * お客様退会情報登録共通部品（JKKCustTaikaiInfAdd）を呼び出し、結果判定を行います。
	 * <br>
	 * @param sysId SYSID
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private void execCustTaikaiInfAdd(String sysid, String svcKeiNo) throws Exception 
	{
		// ユースケースIDを格納するMAPを生成します。
		HashMap<String, Object> paramMap0038 = new HashMap<String, Object>();
		paramMap0038.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CUST_TAIKAI_INF_ADD);
		
		// サービスに渡す業務データを格納するMAPを生成します。
		HashMap<String, Object> inputMap0038 = new HashMap<String, Object>();
		
		// inputMap0038に設定するデータ用HashMapを生成します。
		HashMap<String, Object> dataMap0038 = new HashMap<String, Object>();
		
		// データ用HashMapにデータをセットします。
		// SYSID
		dataMap0038.put("sysid", sysid);
		
		// 機能コード
		dataMap0038.put("func_code", "1");
		
		// サービス契約番号
		dataMap0038.put("svc_kei_no", svcKeiNo);
		
		
		// CCタイトル
		String ccTitleOpn = CC_TITLE_CUST_TAIKAI_INF_ADD;
		
		// inputMap0038にデータ用HashMapをサービスIDをKeyとして設定します。
		inputMap0038.put(ccTitleOpn, dataMap0038);
		
		// サービスの処理結果が格納されるMAPを生成します。
		HashMap<Object, Object> outMap0038 = new HashMap<Object, Object>();
		
		// お客様退会情報登録CCを呼び出します。
		JCCBatchEsbInterface.invokeService(super.commonItem, paramMap0038, inputMap0038, outMap0038);
		
		// 部品からのリターンコードを取得します。
		String returnCode = (String)outMap0038.get("RETURN_CODE");
		super.logPrint.printDebugLog("RETURN_CODE：" + returnCode);
		
		// サービスインターフェースよりエラーが返却された場合
		if(!"0000".equals(returnCode))
		{
			String ckanMsg = (String)outMap0038.get("ERROR_INFO");
			
			if(null != outMap0038.get("sysid"))
			{
				ckanMsg = ckanMsg + "（SYSID：" + (String)outMap0038.get("sysid") + "）";
			}
			// 業務エラーとします。
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0270CE, new String[]{ckanMsg});
		}
	}
	
	/**
	 * お客様回復情報登録共通部品（JCKCustKaihkCmnCC）を呼び出し、結果判定を行います。
	 * <br>
	 * @param sysId SYSID
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception 
	 */
	private void execCustKaihkInfAdd(String sysid, String svcKeiNo) throws Exception
	{
		// ユースケースIDを格納するMAPを生成します。
		HashMap<String, Object> paramMap0047 = new HashMap<String, Object>();
		paramMap0047.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CUST_KAIHK_INF_ADD);
		
		// サービスに渡す業務データを格納するMAPを生成します。
		HashMap<String, Object> inputMap0047 = new HashMap<String, Object>();
		
		// inputMap0047に設定するデータ用HashMapを生成します。
		HashMap<String, Object> dataMap0047 = new HashMap<String, Object>();
		
		// データ用HashMapにデータをセットします。
		// SYSID
		dataMap0047.put("sysid", sysid);
		
		// 機能コード
		dataMap0047.put("func_code", "1");
		
		// サービス契約番号
		dataMap0047.put("svc_kei_no", svcKeiNo);
		
		
		// CCタイトル
		String ccTitleOpn = CC_TITLE_CUST_KAIHK_INF_ADD;
		
		// inputMap0047にデータ用HashMapをサービスIDをKeyとして設定します。
		inputMap0047.put(ccTitleOpn, dataMap0047);
		
		// サービスの処理結果が格納されるMAPを生成します。
		HashMap<Object, Object> outMap0047 = new HashMap<Object, Object>();
		
		// お客様回復情報登録CCを呼び出します。
		JCCBatchEsbInterface.invokeService(super.commonItem, paramMap0047, inputMap0047, outMap0047);
		
		// 部品からのリターンコードを取得します。
		String returnCode = (String)outMap0047.get("RETURN_CODE");
		super.logPrint.printDebugLog("RETURN_CODE：" + returnCode);
		
		// サービスインターフェースよりエラーが返却された場合
		if(!"0000".equals(returnCode))
		{
			String ckanMsg = (String)outMap0047.get("ERROR_INFO");
			
			if(null != outMap0047.get("sysid"))
			{
				ckanMsg = ckanMsg + "（SYSID：" + (String)outMap0047.get("sysid") + "）";
			}
			// 業務エラーとします。
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0270CE, new String[]{ckanMsg});
		}
	}
	
	
	/**
	 * 
	 * 会員有効性情報出力編集
	 * 同じSYSIDで有効性パターンが"13"の情報が存在する場合、ファミリー会員の会員種別変更情報（"41"）を出力しない
	 * @param keyList
	 * @param out_eoidMap
	 * @throws Exception 
	 */
	private void editTrgtInf(ArrayList<String> keyList, HashMap<String, ArrayList<JBSbatServiceInterfaceMap>> out_eoidMap) throws Exception
	{
		//出力対象のキーリスト分ループ
		for(int i = 0; i < keyList.size(); i++)
		{
			
			String sysidKey_41 = "";
			
			if(10 == keyList.get(i).length())
			{
				//ファミリー会員の会員種別変更情報のキーを取得
				sysidKey_41 = keyList.get(i);
				
				super.logPrint.printDebugLog("sysidKey_41：" + sysidKey_41);
				
				for(int j = 0; j < keyList.size(); j++)
				{
					String fullKey = "";
					
					if( keyList.get(j).startsWith(sysidKey_41) &&  keyList.get(j).length() > 10 )
					{
						//ファミリー会員の会員種別変更情報のキーとSYSIDが一致するファミリー会員の会員種別変更情報以外を抽出
						fullKey = keyList.get(j);
						
						super.logPrint.printDebugLog("fullKey：" + fullKey);
						
//						super.logPrint.printDebugLog("YK_RSLT_PATTERN：" + out_eoidMap.get(fullKey).getString(JBSbatKKIFE040.YK_RSLT_PATTERN));
						
						ArrayList<JBSbatServiceInterfaceMap> inMap_List = out_eoidMap.get(fullKey);
						
						for(int x = 0; x < inMap_List.size(); x++)
						{
							JBSbatServiceInterfaceMap inMap = inMap_List.get(x);
						
							//ファミリー会員の会員種別変更情報以外の情報で、有効性パターンが"13"が存在する場合
							if(ALL_DSL.equals(inMap.getString(JBSbatKKIFE040.YK_RSLT_PATTERN)))
							{
								inMap_List.remove(x);
							}
						}
						
						if(0 == inMap_List.size())
						{
							//会員種別変更情報のキーを削除
							keyList.remove(sysidKey_41);
							//会員種別変更情報を削除
							out_eoidMap.remove(sysidKey_41);
							
							i--;
							
							continue;
						}
						
					}
					
				}

			}
			
		}

	}
	
	/**
	 * 
	 * 督促ステータス情報チェック
	 * @param サービス契約番号
	 * @return boolean true:督促ステータスの督促番号を取得できた場合
	 *                  false::督促ステータスの督促番号を取得できない場合
	 * @throws Exception 
	 */
	private boolean isTokusokuInf(String svc_kei_no) throws Exception
	{
		
		boolean dsl_judge_flg = false;
		
		//抽出ファイルの世代登録年月日時分秒の年月日を取得
		String gene_add_dtm_8 = gene_add_dtm.substring(0, 8);
		
		JBSbatCommonDBInterface db_map = null;
		String[] param = new String[5];
		param[0] = svc_kei_no;
		param[1] = gene_add_dtm_8;
		param[2] = znki_trn_upd_unyo_ymd;
		param[3] = gene_add_dtm_8;
		param[4] = znki_trn_upd_unyo_ymd;
		
		// 督促スキーマの検索を行います。
		executeCH_T_TOKUSOKU_KK_SELECT_002(param);
		db_map = db_CH_T_TOKUSOKU.selectNext();
		//検索結果が存在する場合
		if(db_map != null)
		{
			//督促ステータス
			String tokusokuStat = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCH_T_TOKUSOKU.TOKUSOKU_STAT));
			//更新年月日時分秒
			String updDtm = JBSbatStringUtil.Rtrim(db_map.getString(JBSbatCH_T_TOKUSOKU.UPD_DTM));

			
			//世代登録年月日時分秒より更新年月日時分秒が同じまたは以前の場合
			if(updDtm.compareTo(gene_add_dtm) < 1)
			{
				//督促ステータスが解約系の場合
				if(KYOSEI_DSL_ZUMI.equals(tokusokuStat) 
						|| KYOSEI_DSL_TCHI_ZUMI.equals(tokusokuStat)
							|| SAIKOKUJO_TCHI_ZUMI.equals(tokusokuStat)
								|| HOTEKISOCHI_NITTERE.equals(tokusokuStat)
									|| HOTEKISOCHI_TRGT.equals(tokusokuStat)
										|| NITTERE_SKENITAK_ZUMI.equals(tokusokuStat)
											|| SHOGAKU_SAIKEN.equals(tokusokuStat)
												|| KASHID_ADD_ZUMI.equals(tokusokuStat))
				{
					dsl_judge_flg = true;
				}
				else
				{
					dsl_judge_flg = false;
				}
				
			}
			else
			{
				
				JBSbatCommonDBInterface db_map_ido = null;
				String[] param_ido = new String[1];
				param_ido[0] = gene_add_dtm;
				// 督促移動スキーマの検索を行います。
				executeCH_T_TOKUSOKU_IDO_KK_SELECT_001(param_ido);
				db_map_ido = db_CH_T_TOKUSOKU_IDO.selectNext();
				//検索結果が存在する場合
				if(db_map_ido != null)
				{
					dsl_judge_flg = true;
				
				}
				else
				{
					dsl_judge_flg = false;
				}
			}
			
		}
		else
		{
			dsl_judge_flg = false;
		}
		
		return dsl_judge_flg;
		
	}
	
	// ANK-1584-00-00 追加
	/**
	 * 
	 * サービスコードからMVNOかｅｏ電気を判定し、利用停止／利用停止解除の状態を判定して返却する。
	 * <br>
	 * @param svc_cd サービスコード
	 * @param svc_stp_ymd サービス停止年月日
	 * @param svc_stp_rls_ymd サービス停止解除年月日
	 * @return String 判定結果
	 *                 "1":MVNOサービスまたはｅｏ電気で利用停止状態
	 *                 "2":MVNOサービスまたはｅｏ電気で利用停止解除状態
	 *                 "3":MVNOサービスまたはｅｏ電気で上記以外の状態
	 *                 "4":MVNOサービスまたはｅｏ電気以外の契約
	 * @throws Exception メソッド内で発生した例外全般
	 */
	private String getMVNOStat(String svc_cd, String svc_stp_ymd, String svc_stp_rls_ymd) throws Exception
	{
		String mvnoJudgeFlg = "";

		// ANK-2480-01-00 MOD START
//		if (SVC_CD_MVNO.equals(svc_cd))
		if (SVC_CD_MVNO.equals(svc_cd) || SVC_CD_EOELEC.equals(svc_cd))
		// ANK-2480-01-00 MOD END
		{
			if (null != svc_stp_rls_ymd && 0 != JBSbatStringUtil.Rtrim(svc_stp_rls_ymd).length())
			{
				if (svc_stp_rls_ymd.compareTo(znki_trn_upd_unyo_ymd) >= 0 && svc_stp_rls_ymd.compareTo(super.opeDate) <= 0) 
				{
					mvnoJudgeFlg = "2";
					return mvnoJudgeFlg;
				}
			}
			if (null != svc_stp_ymd && 0 != JBSbatStringUtil.Rtrim(svc_stp_ymd).length())
			{
				if (svc_stp_ymd.compareTo(znki_trn_upd_unyo_ymd) >= 0 && svc_stp_ymd.compareTo(super.opeDate) <= 0) 
				{
					mvnoJudgeFlg = "1";
					return mvnoJudgeFlg;
				}
			}
			mvnoJudgeFlg = "3";
			return mvnoJudgeFlg;
		}
		else
		{
			mvnoJudgeFlg = "4";
		}

		return mvnoJudgeFlg;
	}

}