/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKGetKanuoreKnri
*	ソースファイル名	：JBSbatKKGetKanuoreKnri.java
*	作成者				：富士通　
*	作成日				：2011年05月05日
*＜機能概要＞
*　加入御礼管理データ抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00		2011/05/05   富士通		新規作成
*	v2.00		2012/02/29	FJ)藤原		【ST2-2012-0000270】即割有無を設定するよう修正
*															電話_電話申込数が0の場合nullを設定するよう修正
*															電話_発番通知要否を設定するよう修正
*	v2.01		2012/03/11	FJ)藤原		【IT1-2012-0000328】以下の項目の設定を行うように修正
*															受付年月日
*															他サービス・メール引継ぎ
*															PCセットアップ有無
*															おまかせ安心セット申込有無
*															ファミリーパック契約有無
*															マンションVDSL-Sフラグ
*															マンション提供方式１
*															マンション提供方式２
*															電話_転送電話選択有無＃１
*															電話_非通知着信拒否有無＃１
*															電話_転送電話選択有無＃２
*															電話_非通知着信拒否有無＃２
*															eoBBR宅内機器型式コード
*															eoBBR機器契約区分
*															eoBBR識別区分
*															PLC宅内機器型式コード(1)〜(5)
*															PLC機器契約区分(1)〜(5)
*															PLC数量(1)〜(5)
*															TV_STB追加台数
*															TV_STBコース名１〜５
*															TV_STB種別台数１〜５
*															機器送付先住所
*	v2.02		2012/03/14	FJ)藤原		【ST2-2012-0000386】審査結果コードから作成対象帳票を判断する処理を修正
*	v2.03		2012/03/30	FJ)濱村		【ST2-2012-0000446】照査結果の判定処理を追加
*	v2.04		2012/04/17	FJ)藤原		【ST2-2012-0000698】TV_STB追加台数の初期値として0を設定するよう修正
*															照査結果の判定処理を修正
*	v3.00		2012/04/21	FJ)濱村		【ANK-0049-00-00】	モバイル機種コードを追加
*	v3.00		2012/04/21	FJ)濱村		【ANK-0316-00-00】	eoBBR宅内機器型式コードの編集方法を変更
*	v3.01		2012/05/21	FJ)伊藤健	【ANK-0316-00-00】	料金グループコード、料金プランコード、マンション物件コード追加
*	v3.02		2012/06/08	FJ)濱村		【ST2-2012-0001094】同一回線グループ番号の設定値を修正
*	v3.03		2012/07/06	FJ)井熊		【IT2-2012-0001183】旧サービス契約番号実装解除
*	v3.04		2012/07/11	FJ)井熊		【IT2-2012-0001113】同番移転対応
*	v3.05		2012/07/13	FJ)井熊		【TAI-2012-0000043】SQLカレント取得対応
*	v3.06		2012/07/24	FJ)砂川		【ST2-2012-0001407】照査前サービス契約を含む同一回線内のサービス契約情報を出力しないように修正
*	v3.07		2012/07/25	FJ)藤原		【ST2-2012-0001382】支払申込未到着フラグの設定を初回支払申込書送付要否から同受領年月日を見るように修正
*	v3.08		2012/08/07	FJ)藤原		【ST1-2012-0000251】サービス契約に紐づく請求契約が複数とれてしまうのを修正(SQL修正に伴いバインド変数追加)
*	v3.09		2012/09/12	FJ)砂川		【ST1-2012-0000551】メゾンタイプの場合、「VDSL-Sフラグ」「マンション提供方式コード1」「マンション提供方式コード2」を出力しないように修正
*															マンション提供方式コード1、マンション提供方式コード2の取得元の項目名を修正
*															SYSID単位に抽出した結果の中に"新規"または"追加"のレコードが存在しない場合はファイル出力しないように修正
*	v3.10		2012/09/17	FJ)砂川		【IT1-2012-0001008】マンションタイプのネットサービスの場合のみ、マンションVDSL-Sフラグを編集する対応
*	v3.11		2012/09/24	FJ)砂川		【IT1-2012-0001038】外部インターフェイス不整合対応
*															送信用サービス名、送信用料金コース名が表示されない不具合対応
*															ネットサービスのみファミリーパック契約有無を出力する対応
*															番ポでない場合に電話_移転元通信事業者コード＃１、＃２を編集しない対応
*															ＴＶ_ケーブルガイド申込数をオプションＴＶから取得する対応
*															電話オプションが＃１と＃２で逆に編集される場合の対応
*															PLCのNullPointerException対応
*	v4.00		2012/07/13	FJ)井熊		【ANK-0392-00-00】	長期継続割引先行受付対応
*										【ANK-0546-00-00】	宅内プラットフォーム事業本格対応
*										【ANK-1199-00-00】	申込明細番号の自動発番について
*	v4.01		2012/10/19	FJ)井熊		【IT1-2012-0001513】電話２番号目追加対応
*	v4.02		2012/12/31	FJ)藤原		【IT1-2012-0002601】ディレイド処理依頼取得部品を使用し、依頼がなければ終了するように修正
*	v4.03		2013/01/26	FJ)砂川		【ST3-2013-0000248】審査結果送信コードがNULLの場合、出力対象外となっている処理を出力対象にする対応
*	v4.04		2013/02/09	FJ)井熊		【ST2-2013-0000630】住所変更で未来日で積まれたレコード対応（ＳＱＬ改修）
*	v4.05		2013/02/09	FJ)井熊		【ST2-2013-0000638】住所変更のレター種別判別方法変更（工事案件→住所変更スキーマ）
*	v5.00		2013/01/15	FJ)井熊		【ANK-1362-00-00】	電話登録種別判別方法変更対応
*	v5.01		2013/01/25	FJ)井熊		【IT1-2013-0000124】電話登録種別判別方法でサービス契約内訳の予約適用年月日が未来日のレコードを含める対応
*	v5.02		2013/02/21	FJ)井熊		【ST2-2013-0000915】住所変更時にeoBBR識別区分が正常に出力されるよう修正
*	v5.03		2013/03/03	FJ)藤原		【ST1-2013-0000449】モバイルの場合は利用場所住所にお客様住所を設定するように修正
*	v5.04		2013/03/04	FJ)鷲塚		【ANK-1421-00-00】  IP-STB対応
*	v5.05		2013/03/07  FJ)鷲塚		【KT1-2013-0000341】住所変更確定データのレター種別不備対応
*	v5.06		2013/03/11  FJ)井熊		【IT1-2013-0000434】申込書明細番号が取得できない時に直前の有効な申込明細番号から取得する対応
*	v5.07		2013/03/18  FJ)鷲塚		【ST2-2013-0001495】住所変更時のオプション引継・解約対応
*	v5.08		2013/03/31  FJ)井熊		【OT-2013-0000331】 電話番号スキーマ対応
*	v5.09		2013/04/16  FJ)砂川		【IT1-2013-0000876】 加入御礼書発行条件スキーマを参照して発行有無を指定する対応
*	v5.10		2013/05/04  FJ)井熊		【IT1-2013-0001138】 モバイル→住所変更の場合、出力対象とならないので出力対象にする対応
*	v5.11		2013/05/22  FJ)井熊		【KT1-2013-0000573】 アンローダに合わせて入力のカラ文字をNULLに置換
*	v5.12		2013/07/21  FJ)井熊		【ST1-2013-0000546】 コース変更の異動区分でリモサポプラス項目の出力が変更される実装を削除
*	v5.13		2013/09/02  FJ)砂川		【OM-2013-0001260】 モバイル機種コードの編集方法を修正
*	v5.14		2013/09/03  FJ)井熊		【OM-2013-0001559】 住所変更中のマンション物件コードを異動予約の提供方式契約番号を参照して設定するように修正
*	v5.15		2013/09/09  FJ)管谷		【OM-2013-0001843】 審査結果送信コードが３（通知不要）のレコードを通知済と同じ扱いとするように修正
*	v5.16		2013/09/18  FJ)井熊		【OM-2013-0002225】 サービス情報訂正、登録内容修正の異動を発行起因としないよう修正
*	v5.17		2013/09/22  FJ)井熊		【IT1-2013-0001634】電話番号順が「２」しかない場合にも電話情報が出力されるように修正
*	v5.18		2013/10/23  FJ)鈴木		【OM-2013-0003462】申込書番号が出力されるように修正
*	v5.19		2013/10/31  FJ)鈴木		【OM-2013-0003544】同一SYSID配下で複数回線を保持する契約が住所変更された場合の同一回線グループ番号を修正
*	v5.20		2013/11/09  FJ)鈴木		【OM-2013-0003844】住所変更時、電話登録種別コード＃１の設定を修正
*	v6.00		2013/11/27  FJ)鈴木		【OM-2013-0004212】起因となった異動区分と申込明細番号の特定方法の修正、および、住所変更の判定をサービス契約ごとに持つように修正
*	v7.00		2013/11/22  FJ)民岡		【ANK-1578-00-00】  eoBBR宅内型式コード、eoBBR機器契約区分、eoBBR識別区分の編集条件に多機能ルーターを追加 
*	v7.01		2013/12/14  FJ)鈴木		【IT1-2013-0001697】  宅内機器モデルマスタを参照するときに、宅内機器モデルコードがnullでないときに検索を実施するように修正
*	v7.02		2013/12/25  FJ)出羽		【IT1-2013-0001734】  eoBBR識別区分追加（5:無料・多機能、6:有料・多機能）
*	v7.03		2014/02/08  FJ)出羽		【OM-2014-0000531】性能改善のためログを消去とSQL改善
*	v7.04		2014/02/10  FJ)出羽		【OM-2014-0000637】eoBBR識別区分が設定されないことの対応
*	v7.05		2014/03/12  FJ)出羽		【OM-2014-0001132】ディレイド依頼のチェックはシェルで実施する
*	v8.00		2014/04/14  FJ)米田		【OM-2014-0001472】住所変更確定後のサービス契約において、新規識別フラグが「1:新規追加」で出力される不具合を修正
*	v9.00		2014/04/18  FJ)米田		【ANK-2056-00-00】 光電話セレクトオプションパック対応
*	v9.00		2014/04/18  FJ)米田		【ANK-2057-00-00】 eo多機能ルーターによる複数通話対応
*	v9.01		2014/05/01  FJ)米田		【IT1-2014-0000121】光電話セレクトオプションパック対応 (住所変更時の対応)
*	v8.01		2014/04/23  FJ)鈴木		【ANK-2093-00-00】転居先がマンションイーサネットまたはＶＤＳＬの場合、住所変更画面で入力された機器送付先を出力する対応。
*	v9.02		2014/05/16  FJ)米田		【IT1-2014-0000144】光電話セレクトオプションパック対応 (住所変更確定時の異動予約取得方法の不具合を修正)
*	v9.03		2014/05/16  FJ)米田		【IT1-2014-0000145】eo多機能ルーターによる複数通話対応 (住所変更確定時の機器オプションサービス取得方法の不具合を修正)
*	v9.04		2014/05/30  FJ)米田		【IT2-2014-0000232】住所変更時におけるオプションサービス契約の取得方法の不具合を修正
*	v9.05		2014/06/04  FJ)米田		【ANK-2117-00-00】加入御礼管理データの抽出方法を変更
*	v10.00		2014/09/01  FJ)米田		【OM-2014-0002588】住所変更時のSTB交換によるSTB種別名とコース名の設定方法の不具合を修正。
*	v10.01		2014/09/09  FJ)米田		【ANK-2299-00-00】【スタchセット割】加入御礼書へのセットコース情報の追加
*	v10.02		2014/10/17  FJ)福岡		【OM-2014-0003354 】複数回線住所変更中対応
*	v10.03		2014/10/22  FJ)寺園		【OM-2014-0003339】住所変更中のモバイル出力不正対応
*	v11.00		2014/11/14  FJ)福岡		【OM-2014-0003522】「0：通知未」出力しない対応
*	v11.01		2014/11/20  FJ)寺園		【OM-2014-0003359】受付日不正対応
*	v22.00		2016/01/08  FJ)林		【ANK-2726-00-00】住所変更サンキューレターの編集不備改修対応
*	v23.0.0		2015/12/17  FJ)笠川		【ANK-2612-00-00】１０Ｇコース導入対応
*	v29.0.0		2017/03/15  FJ)森脇		【OM-2017-0000249】加入御礼書のみが送付されるべきところ料金支払い申込書が同封される
*	v33.0.0		2017/07/19  FJ)クウン	【ANK-2802-00-00】加入御礼書抽出における改善
*	v33.0.0		2017/09/27  FJ)クウン	【OM-2017-0001008】加入御礼管理データ抽出バッチが正常に終了するべきところがシステムエラーが発生しました
*	v37.0.0		2018/05/02  FJ)中原		【ANK-3366-00-00】eo光設備卸対応
*	v40.0.0		2018/10/24  FJ)田原		【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
*	v41.0.0		2019/02/27  FJ)北谷		【ANK-3387-00-00】マンションタイプ光コンセントサービス導入
*	v46.0.0		2019/08/27	FJ)舘山		【ANK-3685-00-00】住所変更後にサービス追加された場合の加入御礼書データ編集内容変更
*	v50.00.00	2020/06/01	FJ)中原		【ANK-3754-00-00】トビラフォン対応
*	v50.00.01	2020/07/24	GDC)ニール	【ANK-3895-00-00】加入御礼書の切替基準日を発行日から申込日に変更する対応
*	v51.00.00	2020/10/20	FJ)吉村		【ANK-3949-00-00】Netflix導入対応（STEP1）
*	v56.00.00	2021/12/09	FJ)西窪		【ANK-4174-00-00】開通前マイページ関連業務改善（2022年1月下旬リリース）
*	v59.00.00	2022/03/24	FJ)杉本		【ANK-4215-00-00】加入御礼書データ抽出処理の条件変更（仮申込・受付済を対象外とする）
*	v59.00.01	2022/07/05	FJ)西窪		【OM-2022-0000933】電子同意有の審査結果NG通知書が出力されない。
*	v60.00.00	2022/07/08	FJ)吉村		【ANK-4244-00-00】【eo定期】MT既設賃貸対応
*	v60.00.01	2022/08/05	FJ)吉村		【IT1-2022-0000055】加入御礼書でマンション_提供方式１が「51」で出力されない
*	v61.00.00	2023/04/11	FJ)藤本涼	【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応
**	v71.00.00	2024/03/08	GDC)F.Domingo	【ANK-4543-00-00】【NTT卸対応：Step0】
*	v73.00.00	2024/11/13	FJ)渋谷		【ANK-4427-00-00】【NTT卸対応：Step1】
*	v74.00.00	2024/12/17	FJ)森下		【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応）
*	v74.00.00	2025/02/13	FJ)柴田		【ANK-4646-00-00】IP＋TV同時工事時の処理変更
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM002;
import eo.business.util.file.JBSbatKKIFM003;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatKK_M_KORS_HAKKO_JKN;
import eo.business.util.table.JBSbatKK_M_KORS_PRINT_NM;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC;
import eo.business.util.table.JBSbatKK_T_ADCHG;
import eo.business.util.table.JBSbatKK_T_ADCHG_DTL;
import eo.business.util.table.JBSbatKK_T_IDO_RSV;
import eo.business.util.table.JBSbatKK_T_KANUORESO_HAKKO;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_MANSION_BUKKEN;
import eo.business.util.table.JBSbatKK_T_MSKM;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_OPSVKEI_TV;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SBOP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SEIKY_KEI;
import eo.business.util.table.JBSbatKK_T_SUPPORT;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_EOH_TV;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.business.util.table.JBSbatKK_T_SVKEI_KAISEN_UW;
import eo.business.util.table.JBSbatKK_T_TK_HOSHIKI_KEI;
import eo.business.util.table.JBSbatKK_T_WRIB_SVC_KEI;
import eo.business.util.table.JBSbatTU_T_BMP_KOJI;
import eo.business.util.table.JBSbatZM_M_TAKNKIKI_MODEL;
import eo.common.constant.JKKStrConst;
import eo.common.util.JKKStringUtil;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
* 加入御礼管理データ抽出処理<BR>
* <BR>
* 加入御礼書作成対象となるデータを抽出する。<BR>
*<BR>
* @author 富士通
*/
public class JBSbatKKGetKanuoreKnri extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(サービス契約＜ｅｏ光ＴＶ＞)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_EOH_TV = "KK_T_SVC_KEI_EOH_TV";

	/** テーブル(請求契約)*/
	private static final String D_TBL_NAME_KK_T_SEIKY_KEI = "KK_T_SEIKY_KEI";

	/** テーブル(サービス契約回線内訳)*/
	private static final String D_TBL_NAME_KK_T_SVKEI_KAISEN_UW = "KK_T_SVKEI_KAISEN_UW";

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(サービス契約内訳＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL = "KK_T_SVKEIUW_EOH_TEL";

	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(割引サービス契約)*/
	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_KORS_PRINT_NM = "KK_M_KORS_PRINT_NM";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	/** テーブル(サブオプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_SBOP_SVC_KEI = "KK_T_SBOP_SVC_KEI";

	/** テーブル(サポート)*/
	private static final String D_TBL_NAME_KK_T_SUPPORT = "KK_T_SUPPORT";

	/** テーブル(提供方式契約)*/
	private static final String D_TBL_NAME_KK_T_TK_HOSHIKI_KEI = "KK_T_TK_HOSHIKI_KEI";

	/** テーブル(工事案件)*/
	private static final String D_TBL_NAME_KU_T_KOJIAK = "KU_T_KOJIAK";

	/** テーブル(宅内機器型式)*/
	private static final String D_TBL_NAME_ZM_M_TAKNKIKI_MODEL = "ZM_M_TAKNKIKI_MODEL";

	/** テーブル(割引サービス対象契約)*/
	private static final String D_TBL_NAME_KK_T_WRISVC_TG_KEI = "KK_T_WRISVC_TG_KEI";

	/** テーブル(申込明細)*/
	private static final String D_TBL_NAME_KK_T_MSKM_DTL = "KK_T_MSKM_DTL";

	// IT1-2012-0001038 Add Start
	/** テーブル(オプションサービス契約＜ＴＶ＞)*/
	private static final String D_TBL_NAME_KK_T_OPSVKEI_TV = "KK_T_OPSVKEI_TV";
	// IT1-2012-0001038 Add End

	/** テーブル(加入御礼書発行条件)*/
	private static final String D_TBL_NAME_KK_M_KORS_HAKKO_JKN = "KK_M_KORS_HAKKO_JKN";
	
	/** テーブル(住所変更)*/
	private static final String D_TBL_NAME_KK_T_ADCHG = "KK_T_ADCHG";

	// KT1-2013-0000341 2013/03/07 ADD START
	/** テーブル(加入御礼書発行)*/
	private static final String D_TBL_NAME_KK_T_KANUORESO_HAKKO = "KK_T_KANUORESO_HAKKO";
	// KT1-2013-0000341 2013/03/07 ADD END

	// ANK-2057-00-00 2014/04/22 ADD START
	/** テーブル(機器オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKOP_SVC_KEI = "KK_T_KKOP_SVC_KEI";
	// ANK-2057-00-00 2014/04/22 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/** テーブル(住所変更明細)*/
	private static final String D_TBL_NAME_KK_T_ADCHG_DTL = "KK_T_ADCHG_DTL";
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
	/** テーブル(申込時登録不可契約予約)*/
	private static final String D_TBL_NAME_KK_T_MKJ_ADDF_KEI_RV = "KK_T_MKJ_ADDF_KEI_RV";
// ANK-2299-00-00 2014/09/09 ADD END

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_006 = "KK_SELECT_006";

// v7.03 2014/02/08 【OM-2014-0000531】ADD START
	/** SQL定義キー(KK_SELECT_286)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_286 = "KK_SELECT_286";
// v7.03 2014/02/08 【OM-2014-0000531】ADD END

	/** SQL定義キー(KK_SELECT_166)*/
//	private static final String KK_T_SVC_KEI_KK_SELECT_166 = "KK_SELECT_166";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_SVC_KEI_EOH_TV_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_T_SEIKY_KEI_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_004 = "KK_SELECT_004";

	/** SQL定義キー(KK_SELECT_018)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_018 = "KK_SELECT_018";

	/** SQL定義キー(KK_SELECT_020)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_020 = "KK_SELECT_020";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_M_KORS_PRINT_NM_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_052)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_052 = "KK_SELECT_052";
	
	// ANK-1578-00-00 2013/11/22 ADD ST
	/** SQL定義キー(KK_SELECT_167)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_167 = "KK_SELECT_167";
	/** SQL定義キー(KK_SELECT_168)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_168 = "KK_SELECT_168";
	// ANK-1578-00-00 2013/11/22 ADD ED

	/** SQL定義キー(KK_SELECT_053)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_053 = "KK_SELECT_053";

	/** SQL定義キー(KK_SELECT_015)*/
	private static final String KK_T_SBOP_SVC_KEI_KK_SELECT_015 = "KK_SELECT_015";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_T_SUPPORT_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_058)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_058 = "KK_SELECT_058";

	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_024)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_024 = "KK_SELECT_024";

	/** SQL定義キー(KK_SELECT_021)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_021 = "KK_SELECT_021";

	/** SQL定義キー(KK_SELECT_029)*/
	private static final String KK_T_SVKEI_KAISEN_UW_KK_SELECT_029 = "KK_SELECT_029";
	
	/** SQL定義キー(KK_SELECT_040)*/
	private static final String KK_T_SVKEI_KAISEN_UW_KK_SELECT_040 = "KK_SELECT_040";

	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_OPSVKEI_TV_KK_SELECT_004 = "KK_SELECT_004";
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲
	
	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_ADCHG_KK_SELECT_009 = "KK_SELECT_009";
	
	/** SQL定義キー(KK_SELECT_027)*/
	private static final String KK_T_MSKM_DTL_KK_SELECT_027 = "KK_SELECT_027";
	
	/** SQL定義キー(KK_SELECT_039)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_039 = "KK_SELECT_039";

	// ANK-1421-00-00 2013/03/04 ADD START
	/** SQL定義キー(KK_SELECT_135)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_135 = "KK_SELECT_135";
	// ANK-1421-00-00 2013/03/04 ADD END

	// KT1-2013-0000341 2013/03/07 ADD START
	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_KANUORESO_HAKKO_KK_SELECT_005 = "KK_SELECT_005";
	// KT1-2013-0000341 2013/03/07 ADD END
	
	// OM-2013-0003462 2013.10.23 add start
	/** SQL定義キー(KK_SELECT_022)*/
	private static final String KK_T_MSKM_DTL_KK_SELECT_022 = "KK_SELECT_022";
	// OM-2013-0003462 2013.10.23 add end
	
	// OM-2014-0001472 2014/04/14 ADD START
	/** SQL定義キー(KK_SELECT_018)*/
	private static final String KK_T_ADCHG_KK_SELECT_018 = "KK_SELECT_018";
	// OM-2014-0001472 2014/04/14 ADD END

	// ANK-2057-00-00 2014/04/02 ADD START
	/** SQL定義キー(KK_SELECT_021)*/
	private static final String KK_T_KKOP_SVC_KEI_KK_SELECT_021 = "KK_SELECT_021";
	// ANK-2057-00-00 2014/04/02 ADD END

	// ANK-2056-00-00 2014/04/04 ADD START
	/** SQL定義キー(KK_SELECT_058)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_058 = "KK_SELECT_058";
	// ANK-2056-00-00 2014/04/04 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/** SQL定義キー(KK_SELECT_059)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_059 = "KK_SELECT_059";

	/** SQL定義キー(KK_SELECT_040)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_040 = "KK_SELECT_040";
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
	/** SQL定義キー(KK_SELECT_002)*/
	private static final String KK_T_MKJ_ADDF_KEI_RV_KK_SELECT_002 = "KK_SELECT_002";

	/** SQL定義キー(KK_SELECT_063)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_063 = "KK_SELECT_063";
// ANK-2299-00-00 2014/09/09 ADD END

// v11.00 ADD START
	/** SQL定義キー(KK_UPDATE_015)*/
	private static final String KK_T_SVC_KEI_KK_UPDATE_015 = "KK_UPDATE_015"; 
// v11.00 ADD END

// v11.01 ADD START
	/** SQL定義キー(KK_SELECT_310)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_310 = "KK_SELECT_310"; 

	/** SQL定義キー(KK_SELECT_311)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_311 = "KK_SELECT_311"; 
// v11.01 ADD END

// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
	/** SQL定義キー(KK_SELECT_024)*/
	private static final String KK_T_ADCHG_KK_SELECT_024 = "KK_SELECT_024"; 

	/** SQL定義キー(KK_SELECT_047)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_047 = "KK_SELECT_047"; 

	/** SQL定義キー(KK_SELECT_222)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_222 = "KK_SELECT_222"; 

	/** SQL定義キー(KK_SELECT_028)*/
	private static final String KK_T_KKOP_SVC_KEI_KK_SELECT_028 = "KK_SELECT_028"; 

// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END

	// ANK-4244-00-00 ADD START
	/** SQL定義キー(KK_SELECT_379)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_379 = "KK_SELECT_379"; 
	// ANK-4244-00-00 ADD END
	// ANK-4646-00-00 ADD START
	/** SQL定義キー(KK_SELECT_396)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_396 = "KK_SELECT_396"; 
	// ANK-4646-00-00 ADD END
	//ANK-4543-00-00：NTT卸対応：Step0 ADD START
	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_NTTORS_KEI_KK_SELECT_001 = "KK_SELECT_001"; 
	
	/** テーブルアクセスクラス(NTT卸契約)*/
	private JBSbatSQLAccess db_KK_T_NTTORS_KEI = null;
	//ANK-4543-00-00：NTT卸対応：Step0 ADD END
	
	// ANK-4427-00-00 ADD START
	/** SQL定義キー(KK_SELECT_391)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_391 = "KK_SELECT_391"; 
	// ANK-4427-00-00 ADD END
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約＜ｅｏ光ＴＶ＞)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_EOH_TV = null;

	/** テーブルアクセスクラス(請求契約)*/
	private JBSbatSQLAccess db_KK_T_SEIKY_KEI = null;

	/** テーブルアクセスクラス(サービス契約回線内訳)*/
	private JBSbatSQLAccess db_KK_T_SVKEI_KAISEN_UW = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRIB_SVC_KEI = null;

	/** テーブルアクセスクラス(加入御礼書印字名)*/
	private JBSbatSQLAccess db_KK_M_KORS_PRINT_NM = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;

	/** テーブルアクセスクラス(サブオプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SBOP_SVC_KEI = null;

	/** テーブルアクセスクラス(サポート)*/
	private JBSbatSQLAccess db_KK_T_SUPPORT = null;

	/** テーブルアクセスクラス(提供方式契約)*/
	private JBSbatSQLAccess db_KK_T_TK_HOSHIKI_KEI = null;

	/** テーブルアクセスクラス(工事案件)*/
	private JBSbatSQLAccess db_KU_T_KOJIAK = null;

	/** テーブルアクセスクラス(宅内機器型式)*/
	private JBSbatSQLAccess db_ZM_M_TAKNKIKI_MODEL = null;

	/** テーブルアクセスクラス(割引サービス対象契約)*/
	private JBSbatSQLAccess db_KK_T_WRISVC_TG_KEI = null;

	/** テーブルアクセスクラス(加入御礼書発行条件)*/
	private JBSbatSQLAccess db_KK_M_KORS_HAKKO_JKN = null;
	
	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;

	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/** テーブルアクセスクラス(オプションサービス契約＜ＴＶ＞)*/
	private JBSbatSQLAccess db_KK_T_OPSVKEI_TV = null;
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲
	
	/** テーブルアクセスクラス(住所変更)*/
	private JBSbatSQLAccess db_KK_T_ADCHG = null;
	
	// KT1-2013-0000341 2013/03/07 ADD START
	/** テーブルアクセスクラス(加入御礼書発行)*/
	private JBSbatSQLAccess db_KK_T_KANUORESO_HAKKO = null;
	// KT1-2013-0000341 2013/03/07 ADD END

	// ANK-2057-00-00 2014/04/02 ADD START
	/** テーブルアクセスクラス(機器オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKOP_SVC_KEI = null;
	// ANK-2057-00-00 2014/04/02 ADD END

// 2014.04.23 ANK-2093-00-00 add start
	/** テーブル(住所変更申込一時保存)*/
	private static final String D_TBL_NAME_KK_T_ADCHM_TPPV = "KK_T_ADCHM_TPPV";
	/** テーブルアクセスクラス(住所変更申込一時保存)*/
	private JBSbatSQLAccess db_KK_T_ADCHM_TPPV = null;
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_ADCHM_TPPV_KK_SELECT_004 = "KK_SELECT_004";
// 2014.04.23 ANK-2093-00-00 add end

// IT1-2014-0000121 2014/05/01 ADD START
	/** テーブルアクセスクラス(住所変更明細)*/
	private JBSbatSQLAccess db_KK_T_ADCHG_DTL = null;
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
	/** テーブルアクセスクラス(申込時登録不可契約予約)*/
	private JBSbatSQLAccess db_KK_T_MKJ_ADDF_KEI_RV = null;
// ANK-2299-00-00 2014/09/09 ADD END

	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 審査結果送信コード（通知未）*/
	private static final String SKEKKA_SEND_CD_NON = "0";
	/** 審査結果送信コード（ＯＫ通知済）*/
	private static final String SKEKKA_SEND_CD_OK = "1";
	/** 審査結果送信コード（ＮＧ通知済）*/
	private static final String SKEKKA_SEND_CD_NG = "2";
	// 2013/09/09 OM-2013-0001843 add start
	/** 審査結果送信コード（通知不要）*/
	private static final String SKEKKA_SEND_CD_NO = "3";
	// 2013/09/09 OM-2013-0001843 add end
	/** 進捗ステータス（審査結果送付）*/
	private static final String STS_SKEKKA_SEND = "5";
	/** 審査結果コード（サービスエリア外）*/
	private static final String SKEKKA_CD_31 = "31";
	/** 審査結果コード（サービスエリアＮＧ（消防未対応））*/
	private static final String SKEKKA_CD_35 = "35";
	/** 加入御礼データ種別コード（加入御礼書）*/
	private static final String KANUORE_DATA_SBT_CD_K_KANUORE = "1";
	/** 加入御礼データ種別コード（審査結果NG通知書）*/
	private static final String KANUORE_DATA_SBT_CD_K_SKEKKANG = "2";
	/** 新規追加識別コード（新規）*/
	private static final String NEW_ADD_SKBT_FLG_NEW = "1";
	/** 新規追加識別コード（追加）*/
	private static final String NEW_ADD_SKBT_FLG_ADD = "2";
	/** 新規追加識別コード（既存）*/
	private static final String NEW_ADD_SKBT_FLG_ELSE = "3";

	//■■■ KAD-2012-000201 電話２番号目追加対応 START ■■■
	/** 新規追加識別コード（電話番号追加）*/
	private static final String NEW_ADD_SKBT_FLG_TELADD = "4";
	//■■■ KAD-2012-000201 電話２番号目追加対応   END ■■■

	/** レター種別コード（通常）*/
	private static final String LETTER_SBT_CD_NORMAL = "1";
	/** レター種別コード（面開発）*/
	private static final String LETTER_SBT_CD_MEN = "2";
	/** レター種別コード（住所変更）*/
	private static final String LETTER_SBT_CD_AD = "3";
	/** 異動区分 新規契約）*/
	private static final String IDO_NEW_KEI = "00001";
	/** 異動区分（サービス追加）*/
	private static final String IDO_ADD_KEI = "00002";
	/** 異動区分（コース変更）*/
//	private static final String IDO_KBN_AD_CHG = "00009";
	/** レター発送仕分区分（通常住所に送付）*/
	private static final String LETTER_HASSO_SHIWAKE_DIV_AD = "0";
	/** サービスコード（ネットサービス）*/
	private static final String SVC_CD_NET = "01";
	/** サービスコード（テレビサービス）*/
	private static final String SVC_CD_TV = "03";
	/** オプションサービスコード（電話番号通知）*/
	private static final String OP_SVC_CD_NUMDISP = "B022";
	/** オプションサービスコード（割込電話）*/
	private static final String OP_SVC_CD_WARKMITEL = "B023";
	/** オプションサービスコード（転送電話）*/
	private static final String OP_SVC_CD_TENSOTEL = "B024";
	/** オプションサービスコード（発信者番号表示）*/
	private static final String OP_SVC_CD_HASINSHADSP = "B025";
	/** オプションサービスコード（迷惑電話着信拒否）*/
	private static final String OP_SVC_CD_MWKTELINCMHI = "B026";
	/** オプションサービスコード（指定番号着信選択）*/
	private static final String OP_SVC_CD_SHITEIINCMHI = "B027";
	/** オプションサービスコード（通話明細送付）*/
	private static final String OP_SVC_CD_TWDTL = "B028";
	/** オプションサービスコード（050番号）*/
	private static final String OP_SVC_CD_050NO = "B029";
	/** オプションサービスコード（リモートサポートプラス）*/
	private static final String OP_SVC_CD_SPRTPLUS = "B021";
	/** サブオプションサービスコード（転送電話選択）*/
	private static final String SBOP_SVC_CD_TENSOTELCHOICE = "D07";
	/** サブオプションサービスコード（非通知着信拒否）*/
	private static final String SBOP_SVC_CD_HITCHIINCMHI = "D08";
	/** 有無（無）*/
	private static final String UM_MU = "0";
	/** 有無（有）*/
	private static final String UM_U = "1";
// ANK-2057-00-00 2014/04/02 ADD START
	/** 有無（割込電話有）*/
	private static final String UM_U_WARKMI = "1";
	/** 有無（複数通話有）*/
	private static final String UM_U_MULTI = "2";
// ANK-2057-00-00 2014/04/02 ADD END
// ANK-2056-00-00 2014/04/04 ADD START
	/** 有無（eo光電話パック3有）*/
	private static final String UM_U_PACK3 = "1";
	/** 有無（eo光電話パック7有）*/
	private static final String UM_U_PACK7 = "2";
// ANK-2056-00-00 2014/04/04 ADD END
// ANK-3754-00-00 ADD START
	/** 有無（あんしん電話パック有）*/
	private static final String UM_U_ANSN_PACK = "3";
//ANK-3754-00-00 ADD END
	/** 料金グループコード（eo光電話）*/
	private static final String PRC_GRP_CD_TEL = "10";
	/** 料金グループコード（eo光ネットホームタイプ）*/
	private static final String PRC_GRP_CD_HT = "02";
	/** 料金グループコード（eo光ネットメゾンタイプ）*/
	private static final String PRC_GRP_CD_MZNT = "03";
	/** 料金グループコード（eo光ネットマンションタイプ）*/
	private static final String PRC_GRP_CD_MT = "04";
	/** 料金グループコード（eoモバイル(Wi-Fi)）*/
	private static final String PRC_GRP_CD_MBWIFI = "07";
	/** 料金グループコード（eoモバイル(EM)）*/
	private static final String PRC_GRP_CD_MBEM = "08";
	/** 料金グループコード（eoモバイル(UQ-WiMAX)）*/
	private static final String PRC_GRP_CD_MBUQ = "09";
// 2013/03/03 ST1-2013-0000449 add start
	/** 料金グループコード（eoモバイル(メールアドレス)） */
	private static final String PRC_GRP_CD_MBMLAD = "16";
// 2013/03/03 ST1-2013-0000449 add end
	/** 支払申込未到着フラグ（到着済み）*/
	private static final String PAY_MI_ARIV_FLG_ARIV = "0";
	// ST2-2012-0001382 add start
	/** 支払申込未到着フラグ（未到着）*/
	private static final String PAY_MI_ARIV_FLG_MI = "1";
	// ST2-2012-0001382 add end
	/** 住所未確定フラグ（住所未確定）*/
	private static final String AD_FIX_FLG_MI = "1";
	/** 申込明細番号（MAPキー）*/
	private static final String MSKM_DTL_NO = "MSKM_DTL_NO";
	/** 料金グループコード（MAPキー）*/
	private static final String PRC_GRP_CD = "PRC_GRP_CD";
	/** 審査結果送信コード（MAPキー）*/
	private static final String SKEKKA_SEND_CD = "SKEKKA_SEND_CD";
	/** 照査解約完了コード（MAPキー）*/
	private static final String SHOSA_DSL_FIN_CD = "SHOSA_DSL_FIN_CD";
	/** 世代登録年月日時分秒（MAPキー）*/
	private static final String GENE_ADD_DTM = "GENE_ADD_DTM";
	/** 提供方式契約番号（MAPキー）*/
	private static final String TK_HOSHIKI_KEI_NO = "TK_HOSHIKI_KEI_NO";
	/** 面開発案件番号（MAPキー）*/
	private static final String MENKAIHAT_ANKEN_NO = "MENKAIHAT_ANKEN_NO";
	/** 割引タイプコード（ファミリーパック割引）*/
	private static final String WRIB_TYPE_CD_FAMIPA = "20";
	/** 割引タイプコード（即割）*/
	private static final String WRIB_TYPE_CD_SOKU = "31";
	/** 申込形態コード（書面）*/
	private static final String MSKM_FORM_CD_SYO = "05";
	/** サポートコード（訪問サポート）*/
	private static final String SUPPORT_CD_PCSETUP = "01";
	/** サポートコード（おまかせ安心セット）*/
	private static final String SUPPORT_CD_OMKSANSN_SET = "03";
	/** 提供料金種別コード（VDSL-S方式）*/
	private static final String TK_PRC_SBT_CD_VDSL_S = "001";
	/** マンションＶＤＳＬ−Ｓフラグの設定値（ＶＤＳＬ−Ｓである）*/
	private static final String MANS_VDSLS_FLG_VDSLS = "1";
	/** マンションＶＤＳＬ−Ｓフラグの設定値（ＶＤＳＬ−Ｓでない）*/
	private static final String MANS_VDSLS_FLG_NOT_VDSLS = "0";
	/** 宅内機器種別コード（ルーター）*/
	private static final String TAKNKIKI_SBT_CD_ROUTER = "F0";
	// ANK-1578-00-00 2013/11/21 ADD ST
	/** 宅内機器種別コード（多機能ルーター）*/
	private static final String TAKNKIKI_SBT_CD_TKNO_ROUTER = "R0";
	// ANK-1578-00-00 2013/11/21 ADD ED
	/** 宅内機器種別コード（ＰＬＣモデム）*/
	private static final String TAKNKIKI_SBT_CD_PLC_MODEM = "G0";
	// ANK-1421-00-00 2013/03/04 ADD START
	/** 宅内機器種別コード（ＩＰ−ＳＴＢ）*/
	private static final String KKTK_SVC_CD_IP_STB = "C023";
	// ANK-1421-00-00 2013/03/04 ADD END
	// ANK-4315-00-00 ADD START
	/** 宅内機器種別コード（ｅｏホームゲートウェイ）*/
	private static final String TAKNKIKI_SBT_CD_HGW = "S0";
	// ANK-4315-00-00 ADD END
	/** KK_T_SVC_KEI_UCWK_KK_SELECT_058取得キー（料金コース名）*/
	private static final String KEY_KK_SELECT_058_PCRS_NM = "PCRS_NM";
	/** KK_T_SVC_KEI_UCWK_KK_SELECT_058取得キー（コード名称）*/
	private static final String KEY_KK_SELECT_058_CD_DIV_NM = "CD_DIV_NM";
	/** マンションVDSLプランコード(VDSL) */
	private static final String MANS_VDSL_PLAN_CD_VDSL = "01";
	/** マンションVDSLプランコード(VDSL-S) */
	private static final String MANS_VDSL_PLAN_CD_VDSLS = "02";
	/** 料金コースコード（１００Ｍコース）*/
	private static final String PCRS_CD_100M = "A03";
	/** 料金コースコード（１００Ｍプレミアムコース）*/
	private static final String PCRS_CD_100M_P = "A04";
	/** 料金コースコード（１ギガコース）*/
	private static final String PCRS_CD_1G = "A05";
	// 20181024 ANK-3412-00-00 Add Start
	/** 料金コースコード（５ギガコース）*/
	private static final String PCRS_CD_5G = "A89";
	// 20181024 ANK-3412-00-00 Add End
	// 20151217 ANK-2612-00-00 Add Start
	/** 料金コースコード（１０ギガコース）*/
	private static final String PCRS_CD_10G = "A83";
	// 20151217 ANK-2612-00-00 Add End
	// ANK-3949-00-00 ADD START
	/** 料金コースコード（１ギガコース Netflixパック）*/
	private static final String PCRS_CD_1G_NETFLIX = "A91";
	/** 料金コースコード（５ギガコース Netflixパック）*/
	private static final String PCRS_CD_5G_NETFLIX = "A93";
	/** 料金コースコード（１０ギガコース Netflixパック）*/
	private static final String PCRS_CD_10G_NETFLIX = "A95";
	// ANK-3949-00-00 ADD END
	// 20180502 ANK-3366-00-00 Add Start
	/** 料金コースコード（卸１ギガコース）*/
	private static final String PCRS_CD_O_1G = "A88";
	// 20180502 ANK-3366-00-00 Add End
	/** 料金コースコード（２００Ｍコース）*/
	private static final String PCRS_CD_200M = "A07";
	/** 料金コースコード（メゾンタイプ１００Ｍ）*/
	private static final String PCRS_CD_M_100M = "A08";
	/** 料金コースコード（メゾンタイプ１００Ｍプレミアム）*/
	private static final String PCRS_CD_M_100M_P = "A09";
	/** 料金コースコード（メゾンタイプ１ギガ）*/
	private static final String PCRS_CD_M_1G = "A10";
	// 20181024 ANK-3412-00-00 Add Start
	/** 料金コースコード（メゾンタイプ５ギガ）*/
	private static final String PCRS_CD_M_5G = "A90";
	// 20181024 ANK-3412-00-00 Add End
	// 20151217 ANK-2612-00-00 Add Start
	/** 料金コースコード（メゾンタイプ１０ギガ）*/
	private static final String PCRS_CD_M_10G = "A84";
	// 20151217 ANK-2612-00-00 Add End
	/** 料金コースコード（メゾンタイプ２００Ｍ）*/
	private static final String PCRS_CD_M_200M = "A11";
	// ANK-3949-00-00 ADD START
	/** 料金コースコード（メゾンタイプ１ギガ Netflixパック）*/
	private static final String PCRS_CD_M_1G_NETFLIX = "A92";
	/** 料金コースコード（メゾンタイプ５ギガ Netflixパック）*/
	private static final String PCRS_CD_M_5G_NETFLIX = "A94";
	/** 料金コースコード（メゾンタイプ１０ギガ Netflixパック）*/
	private static final String PCRS_CD_M_10G_NETFLIX = "A96";
	// ANK-3949-00-00 ADD END
	
	/** 料金コースコード（電話１番号）*/
	private static final String PCRS_CD_TEL_1 = "A31";
	/** 料金コースコード（電話２番号）*/
	private static final String PCRS_CD_TEL_2 = "A32";
	
	/** 料金プランコード（電話ホーム１番号）*/
	private static final String PPLAN_CD_TEL_H_1 = "PA3101";
	/** 料金プランコード（電話ホーム２番号）*/
	private static final String PPLAN_CD_TEL_H_2 = "PA3201";
	/** 料金プランコード（電話マンション１番号）*/
	private static final String PPLAN_CD_TEL_MA_1 = "PA3102";
	/** 料金プランコード（電話マンション２番号）*/
	private static final String PPLAN_CD_TEL_MA_2 = "PA3202";
	/** 料金プランコード（電話メゾン１番号）*/
	private static final String PPLAN_CD_TEL_ME_1 = "PA3103";
	/** 料金プランコード（電話メゾン２番号）*/
	private static final String PPLAN_CD_TEL_ME_2 = "PA3203";
	/** 料金プランコード（電話光配信１番号）*/
	private static final String PPLAN_CD_TEL_MAH_1 = "PA3104";
	/** 料金プランコード（電話光配信２番号）*/
	private static final String PPLAN_CD_TEL_MAH_2 = "PA3204";
	// ANK-1578-00-00 2013/11/22 ADD ST
	/** 料金プランコード（多機能ルーター・有線ルーター機能）*/
	private static final String PPLAN_CD_TKNO_ROUTER_YUSEN = "PG0101";
	/** 料金プランコード（多機能ルーター・無線ルーター機能）*/
	private static final String PPLAN_CD_TKNO_ROUTER_MUSEN = "PG0201";
	// ANK-1578-00-00 2013/11/22 ADD ED
	// ANK-2299-00-00 2014/09/09 ADD START
	/** 料金プランコード（ｅｏ光テレビ　地デジ・ＢＳコース）*/
	private static final String PPLAN_CD_TV_DEGITAL_BS = "PA3701";
	// ANK-2299-00-00 2014/09/09 ADD END

	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/** 料金コースコード（地デジ・ＢＳコース）*/
	private static final String PCRS_CD_EBS = "A37";
	/** 料金コースコード（ＳＤコース）*/
	private static final String PCRS_CD_SD = "A38";
	/** 料金コースコード（ＨＤコース）*/
	private static final String PCRS_CD_HD = "A39";
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲
	// ANK-4592-00-00 ADD START
	/** 料金コースコード（ＣＳベーシック）*/
	private static final String PCRS_CD_CSBASIC = "AC0";
	/** 料金コースコード（ＣＳプレミアム）*/
	private static final String PCRS_CD_CSPREMIUM = "AC1";
	// ANK-4592-00-00 ADD END

	/** 料金コースコード（７．２Ｍ　ルータタイプ（ＥＭ））*/
	private static final String PCRS_CD_RTR_EM = "C27";
	/** 料金コースコード（７．２Ｍ　ＵＳＢタイプ（ＥＭ））*/
	private static final String PCRS_CD_USB_7M = "C28";
	/** 料金コースコード（２１Ｍ　ＵＳＢタイプ（ＥＭ））*/
	private static final String PCRS_CD_USB_21M = "C29";
	/** 料金コースコード（ルータタイプ（ＵＱ））*/
	private static final String PCRS_CD_RTR_UQ = "C30";
	/** 料金コースコード（ＵＳＢタイプ（ＵＱ））*/
	private static final String PCRS_CD_USB_UQ = "C31";
	// 2013/9/2 OM-2013-0001260 Add Start
	/** 料金コースコード（７．２Ｍ　ＵＳＢタイプ（ＧＤ０３Ｗ））*/
	private static final String PCRS_CD_USB_7M_GD03W = "C87";
	/** 料金コースコード（ルータタイプ（ＵＱ）（ＵＲｏａｄ−８０００））*/
	private static final String PCRS_CD_RTR_UQ_UROAD8000 = "C39";
	/** 料金コースコード（ルータタイプ（ＵＱ）（ＵＲｏａｄ−７０００ＳＳ）（持込））*/
	private static final String PCRS_CD_RTR_UQ_UROAD7000SS_MK = "C49";
	/** 料金コースコード（ルータタイプ（ＵＱ）（ＵＲｏａｄ−８０００）（持込））*/
	private static final String PCRS_CD_RTR_UQ_UROAD8000_MK = "C50";
	/** 料金コースコード（ルータタイプ（ＵＱ）（ＳＳ１０、ＡＥＲＯ））*/
	private static final String PCRS_CD_RTR_UQ_SS10_AERO = "C85";
	/** 料金コースコード（ルータタイプ（ＵＱ）（ＳＳ１０、ＡＥＲＯ）（持込））*/
	private static final String PCRS_CD_RTR_UQ_SS10_AERO_MK = "C86";
	/** 料金コースコード（ＵＳＢタイプ（ＵＱ）（持込））*/
	private static final String PCRS_CD_USB_UQ_MK = "C51";
	
	/** モバイル機種判定マップ（eoモバイルEM　ルータータイプ） */
	private HashMap<String, String> mMobileTypeEM_RTR = null;
	/** モバイル機種判定マップ（eoモバイルEM　ＵＳＢタイプ） */
	private HashMap<String, String> mMobileTypeEM_USE = null;
	/** モバイル機種判定マップ（eoモバイルUQ-WiMAX　ルータータイプ） */
	private HashMap<String, String> mMobileTypeWiMAX_RTR = null;
	/** モバイル機種判定マップ（eoモバイルUQ-WiMAX　ＵＳＢタイプ） */
	private HashMap<String, String> mMobileTypeWiMAX_USE = null;
	// 2013/9/2 OM-2013-0001260 Add End
	/** モバイル機種コード（３Ｇ ルータータイプ）*/
	private static final String MOBILE_RTR_3G = "10";
	/** モバイル機種コード（３Ｇ ＵＳＢタイプ）*/
	private static final String MOBILE_USB_3G = "20";
	/** モバイル機種コード（ＷｉＭＡＸ ルータータイプ）*/
	private static final String MOBILE_RTR_WM = "30";
	/** モバイル機種コード（ＷｉＭＡＸ ＵＳＢタイプ）*/
	private static final String MOBILE_USB_WM = "40";
	/** モバイル機種コード（ＷｉＭＡＸ ＷｉＭＡＸ搭載機器タイプ）*/
	private static final String MOBILE_WM_WM = "50";
	/** モバイル機種コード（３Ｇ 光ハイブリッドタイプ）*/
	private static final String MOBILE_HHB_3G = "60";
	/** eoBBR識別区分（無料・100M）*/
	private static final String EO_BBR_TK_WAY_CD_1 = "1";
	/** eoBBR識別区分（有料・100M）*/
	private static final String EO_BBR_TK_WAY_CD_2 = "2";
	/** eoBBR識別区分（無料・ギガ）*/
	private static final String EO_BBR_TK_WAY_CD_3 = "3";
	/** eoBBR識別区分（有料・ギガ）*/
	private static final String EO_BBR_TK_WAY_CD_4 = "4";
// 2013.12.25 IT1-2013-0001734 add start
	/** eoBBR識別区分（無料・多機能）*/
	private static final String EO_BBR_TK_WAY_CD_5 = "5";
	/** eoBBR識別区分（有料・多機能）*/
	private static final String EO_BBR_TK_WAY_CD_6 = "6";
// 2013.12.25 IT1-2013-0001734 add end
// ANK-4315-00-00 ADD START
	/** eoBBR識別区分（無料・ＨＧＷ）*/
	private static final String EO_BBR_TK_WAY_CD_7 = "7";
	/** eoBBR識別区分（有料・ＨＧＷ）*/
	private static final String EO_BBR_TK_WAY_CD_8 = "8";
// ANK-4315-00-00 ADD END
	/** 有料・無料区分（無料）*/
	private static final String YRYO_MRYO_CD_0 = "0";
	/** 有料・無料区分（有料）*/
	private static final String YRYO_MRYO_CD_1 = "1";
	/** ルーター速度種別コード（100M）*/
	private static final String ROUTER_SPEED_SBT_CD_10 = "10";
	/** ルーター速度種別コード（1G）*/
	private static final String ROUTER_SPEED_SBT_CD_20 = "20";
	/** バッチ実行時のシステム日付年月日時分秒 */
	private String sysdate = "";
	/** 照査OK */
	private static final String SHOSA_OK = "1";
	/** 照査NG */
	private static final String SHOSA_NG = "2";
	// 20130415 IT1-2013-0000876 Add Start
	/** 照査結果コード：OK */
	private static final String SHOSA_RSLT_OK = "0";
	// 20130415 IT1-2013-0000876 Add End
// ANK-2057-00-00 2014/04/02 ADD START
	/** 機器オプションサービスコード（ｅｏ光多機能ルーター 電話アダプター機能）*/
	private static final String KKOP_SVC_CD_ROUTER_TEL = "G02";
// ANK-2057-00-00 2014/04/02 ADD END
// ANK-2056-00-00 2014/04/04 ADD START
	/** 割引サービスコード（ｅｏ光電話パック3）*/
	private static final String WRIB_SVC_CD_TEL_PACK3 = "W00000007";
	/** 割引サービスコード（ｅｏ光電話パック7）*/
	private static final String WRIB_SVC_CD_TEL_PACK7 = "W00000008";
// ANK-2056-00-00 2014/04/04 ADD END
// ANK-3754-00-00 ADD START
	/** 割引サービスコード（あんしん電話パック）*/
	private static final String WRIB_SVC_CD_ANSN_TEL_PACK = "W00000023";
//ANK-3754-00-00 ADD END
// ANK-2299-00-00 2014/09/09 ADD START
	/** スターチャンネルセットのイニシャル */
	private static final String STAR_CHANNEL_INITIAL = "Ｓ";
// ANK-2299-00-00 2014/09/09 ADD END
	// OM-2017-0000249 ADD START
	/** 支払方法（窓口払い） */
	private static final String PAYWAY_MDGC = "1";
	// OM-2017-0000249 ADD END

	// ■■■ 2012/7/11 同番移転対応改修 M.IKUMA START ■■■
	/** 全角英数字⇒半角英数字変換用文字 */
	private static final char[][] ZEN_HAN_CHG_MOJI = 
	{
		{'Ａ', 'A'}, {'Ｂ', 'B'}, {'Ｃ', 'C'}, {'Ｄ', 'D'}, {'Ｅ', 'E'}, {'Ｆ', 'F'}, {'Ｇ', 'G'}, {'Ｈ', 'H'}, {'Ｉ', 'I'}, {'Ｊ', 'J'}, {'Ｋ', 'K'}, {'Ｌ', 'L'},
		{'Ｍ', 'M'}, {'Ｎ', 'N'}, {'Ｏ', 'O'}, {'Ｐ', 'P'}, {'Ｑ', 'Q'}, {'Ｒ', 'R'}, {'Ｓ', 'S'}, {'Ｔ', 'T'}, {'Ｕ', 'U'}, {'Ｖ', 'V'}, {'Ｗ', 'W'}, {'Ｘ', 'X'},
		{'Ｙ', 'Y'}, {'Ｚ', 'Z'}, {'０', '0'}, {'１', '1'}, {'２', '2'}, {'３', '3'}, {'４', '4'}, {'５', '5'}, {'６', '6'}, {'７', '7'}, {'８', '8'}, {'９', '9'},
		{'‐', '-'}, {'―', '-'}, {'−', '-'}, {'ー', '-'}, {'（', '('}, {'）', ')'}
	};
	/** KK_SELECT_078 .*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_078 = "KK_SELECT_078";
	// ■■■ 2012/7/11 同番移転対応改修 M.IKUMA   END ■■■

	// ▼▼▼ST2-2012-0001407 ADD START ▼▼▼
	/** サービス契約ステータス（受付済）*/
	private static final String SVC_KEI_STAT_010 = "010";
	/** 同一回線グループ番号付加文字 */
	private static final String AME_KAISEN_GRP_SKBT_NO_SET_MOJI = "00";
	// ▲▲▲ST2-2012-0001407 ADD END   ▲▲▲ 

	// ▼▼▼ST1-2012-0000551 ADD START ▼▼▼
	/** マンション物件コード（マンション）*/
	private static final String MANSION_BUKKEN_CD_001 = "001";
	// ▲▲▲ST1-2012-0000551 ADD END   ▲▲▲ 

	//■■■■■ 2012/07/04 改修対応 M.IKUMA START ■■■■■
	/** サービス契約 料金コースコード（3G 7.2M）.*/
//	private static final String PCRS_CD_SVC_372 = "A26";
	/** サービス契約 料金コースコード（3G 21M）.*/
//	private static final String PCRS_CD_SVC_321 = "A27";
	/** サービス契約 料金コースコード（3G 7.2 光ハイブリットタイプ）.*/
	private static final String PCRS_CD_SVC_H372 = "A59";
	/** サービス契約 料金コースコード（3G 42M 光ハイブリッドタイプ）.*/
	private static final String PCRS_CD_SVC_H342 = "A60";
	/** サービス存在フラグ ON .*/
	private static final String SVC_FLG_ON = "1";
	/** サービス存在フラグ OFF .*/
	private static final String SVC_FLG_OFF = "0";
	/** プレミアムオプション区分 .*/
	private static final String SMART_LINK_PREM = "B077";	
	//■■■■■ 2012/07/04 改修対応 M.IKUMA   END ■■■■■

	/** 加入御礼書発行条件 加入御礼書ＯＫ関連リスト群 .*/
	private HashMap<String, ArrayList<String>> mKorsHakkoListOK = null;
	/** 加入御礼書発行条件 加入御礼書ＮＧ関連リスト群 .*/
	private HashMap<String, ArrayList<String>> mKorsHakkoListNG = null;
	/** 加入御礼書発行条件 発行なし関連リスト群 .*/
	private HashMap<String, ArrayList<String>> mKorsHakkoListNON = null;
	// 20130415 IT1-2013-0000876 Add Start
	/** 加入御礼書発行条件 審査結果リスト .*/
	private HashMap<String, ArrayList<HashMap<String, String>>> mKorsHakkoList = null;
	// 20130415 IT1-2013-0000876 Add End
	/** 加入御礼書発行条件種別コード 料金グループコード .*/
	private static final String KORS_SBT_CD_PRGG = "01";
	/** 加入御礼書発行条件種別コード 審査結果コード .*/
	private static final String KORS_SBT_CD_SKEKKA = "02";
	/** 加入御礼書発行条件種別コード サービス契約ステータス .*/
	private static final String KORS_SBT_CD_SVSTAT = "03";
	/** 加入御礼書発行条件種別コード 照査結果コード .*/
	private static final String KORS_SBT_CD_SHOSAR = "04";
	/** 加入御礼書発行条件種別コード 申込書番号体系 .*/
	private static final String KORS_SBT_CD_MSKMSHONO = "05";
	/** 加入御礼書発行条件種別コード 契約者タイプ .*/
	private static final String KORS_SBT_CD_KEISHAT = "06";
	/** 加入御礼書発行コード 加入御礼書発行 .*/
	private static final String KORS_HAKKO_CD_OK = "1";
	/** 加入御礼書発行コード 加入審査NG通知書発行 .*/
	private static final String KORS_HAKKO_CD_NG = "2";
	/** 加入御礼書発行コード 発行なし .*/
	private static final String KORS_HAKKO_CD_NON = "3";
	/** KK_SELECT_002 .*/
	private static final String KK_M_KORS_HAKKO_JKN_KK_SELECT_002 = "KK_SELECT_002";

// v7.05 2014/03/12 【OM-2014-0001132】 DEL START
//	// 2012/12/31 IT1-2012-0002601 add start
//	/** ディレイド処理依頼有無フラグ */
//	private String dlyd_um_flg = UM_MU;
//	/** ディレイドフラグファイル .*/
//	private String createCntFile = null;
//// 2012/12/31 IT1-2012-0002601 add end
// v7.05 2014/03/12 【OM-2014-0001132】 DEL END

	//▼▼▼ 2013/01/15 ANK-1362-00-00 M.IKUMA START ▼▼▼
	/** 異動区分 住所変更・登録 .*/
	private static final String IDO_JUHEN_ADD = "00019";
	/** 異動区分 光電話・番号追加 .*/
	private static final String IDO_TELNO_ADD = "00041";
	/** 異動区分 登録内容修正 .*/
	private static final String IDO_INFO_CHG = "00032";
	/** 異動区分 サービス情報訂正 .*/
	private static final String IDO_INFO_TEISEI = "00033";
	/** 電話登録種別 新規発番 .*/
	private static final String TEL_SBT_CD_NEW = "0";
	/** 電話登録種別 番ポ .*/
	private static final String TEL_SBT_CD_BMP = "1";
	/** 電話登録種別コード 同番移転 .*/
	private static final String TEL_SBT_CD_DOBAN = "2";
	//▲▲▲ 2013/01/15 ANK-1362-00-00 M.IKUMA   END ▲▲▲

	// 2012/09/11 ST1-2012-0000551 Add Start
	/** 新規追加識別フラグ有無（有:TRUE/無:FALSE）*/
	private boolean mNEW_ADD_SDBT_FLG_UM = true;
	// 2012/09/11 ST1-2012-0000551 Add End

	/** 回線内訳番号に紐づく機器の中から最新の送付先住所を格納 */
	private HashMap<String, HashMap<String, String>> mKikiSohuAdr = null;

	/** 住所変更明細種別コード サービス契約 */
	private static final String JUHEN_SVKEI_NO = "01";
	/** 住所変更明細種別コード サービス契約内訳 */
	private static final String JUHEN_SVKEIUW_NO = "02";
	/** 住所変更明細種別コード 機器提供サービス契約 */
	private static final String JUHEN_KKTK_SVKEI_NO = "03";
	/** 住所変更明細種別コード オプションサービス契約 */
	private static final String JUHEN_OP_SVKEI_NO = "04";
	/** 住所変更明細種別コード 請求契約 */
//	private static final String JUHEN_SEKYU_SVKEI_NO = "05";
	/** 住所変更明細種別コード 工事案件 */
//	private static final String JUHEN_KJAK_NO = "06";
	/** 住所変更先回線内訳番号 [0]移転先回線番号[1]住所変更異動区分[2]移転元回線番号*/
	private String[] mJUHEN_KAISEN_SK = null;
	/** 住所変更先請求契約番号 */
//	private String mJUHEN_SEIKYU_KEI_NO = null;
	/** 住所変更前サービス契約番号格納マップ（キー：住変先サービス契約番号）*/
	private HashMap<String, String> mJUHEN_BEFOR_SVKEINO_MAP = null;
	/** 住所変更/住所変更詳細データマップ（全住所変更中データ）*/
	private ArrayList<JBSbatCommonDBInterface> mJUHEN_DTL_LIST = null;
// IT2-2014-0000232 2014/05/30 ADD START
	/** 住所変更/住所変更詳細データマップ（解約したオプションサービス契約が対象）*/
	private ArrayList<JBSbatCommonDBInterface> mJUHEN_DTL_OP_SVC_KAIYAKU_LIST = null;
// IT2-2014-0000232 2014/05/30 ADD END
	/** 住所変更 機器提供サービス契約データマップ（キー：機器提供サービス契約番号）.*/
	private HashMap<String, JBSbatCommonDBInterface> mJUHEN_KKTK_LIST = null;
	/** 住所変更なし 申込明細番号データマップ（キー：サービス契約番号）.*/
	private HashMap<String, String> mKIIN_MSKM_DTL_NO_LIST = null;
	/** 発行起因 異動区分データマップ（キー：サービス契約番号）.*/
	private HashMap<String, String> mKIIN_IDO_DIV_LIST = null;
	/** 住所変更前サービス契約内訳番号リスト（変更前後のサービス契約内訳情報群）*/
	private ArrayList<JBSbatCommonDBInterface> mJUHEN_SVKEIUW_LIST = new ArrayList<JBSbatCommonDBInterface>();
	
	// ANK-4174-00-00 ADD START
	/** 申込明細番号データマップ（電子交付同意有無取得用）.*/
	private HashMap<String, String> mKIIN_MSKM_DTL_NO_LIST_DNSDOI = null;
	
	/** 電子交付同意有無："1"(有) */
	private static final String DNSKH_DOI_UM_ARI = "1";
	
	/** 電子交付同意済みフラグ："1"(同意済) */
	private static final String DNSKH_DOI_ZM_FLG_DOIZM = "1";
	
	/** 電子交付同意済みフラグ："0"(未同意) */
	private static final String DNSKH_DOI_ZM_FLG_MIDOI = "0";
	// ANK-4174-00-00 ADD END

// 2013.11.27 OM-2013-0004212 add start
	/** サービス契約番号ごとに、保持する
	 ** 住所変更先回線内訳番号 [0]移転先回線番号[1]住所変更異動区分[2]移転元回線番号*/
	private HashMap<String, String[]> mJUHEN_KAISEN_SK_MAP  = null;
// 2013.11.27 OM-2013-0004212 add end
	
	/** テーブル(異動予約)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSV = "KK_T_IDO_RSV";
	/** SQL定義キー(KK_SELECT_038)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_038 = "KK_SELECT_038";
// IT1-2014-0000121 2014/05/01 ADD START
	/** SQL定義キー(KK_SELECT_074)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_074 = "KK_SELECT_074";
// IT1-2014-0000121 2014/05/01 ADD END
// IT2-2014-0000232 2014/05/30 ADD START
	/** SQL定義キー(KK_SELECT_076)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_076 = "KK_SELECT_076";
// IT2-2014-0000232 2014/05/30 ADD END
// OM-2014-0002588 2014/09/01 ADD START
	/** SQL定義キー(KK_SELECT_081)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_081 = "KK_SELECT_081";
	/** SQL定義キー(KK_SELECT_082)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_082 = "KK_SELECT_082";
// OM-2014-0002588 2014/09/01 ADD END

	//---------v33.00.00 ANK-2802-00-00_ADD START---------//
	/** SQL定義キー(KK_SELECT_015)_番ポ工事スキーマから番号ポータビリティ情報取得*/
	private static final String TU_T_BMP_KOJI_KK_SELECT_015 = "KK_SELECT_015";
	
	/** テーブルアクセスクラス(番ポ工事)*/
	private JBSbatSQLAccess db_TU_T_BMP_KOJI = null;
	
	/** テーブル(番ポ工事)*/
	private static final String D_TBL_NAME_TU_T_BMP_KOJI = "TU_T_BMP_KOJI";
	//---------v33.00.00 ANK-2802-00-00_ADD END-----------//
	
	// 【ANK-4543-00-00：NTT卸対応：Step0】 ADD START
	private static final String D_TBL_NAME_KK_T_NTTORS_KEI = "KK_T_NTTORS_KEI";
	// 【ANK-4543-00-00：NTT卸対応：Step0】 ADD END
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV = null;
	
	/** 電話番号変更対応 変更中 */
	private static final String KEIZK_FLG_USE = "1";
	/** 電話番号順 １ */
	private static final String TELNO_JUN_1 = "1";
	/** 電話番号順 ２ */
	private static final String TELNO_JUN_2 = "2";
	/** 電話解約用異動予約フラグ フラグが立つと住変時の電話異動予約あり */
	private boolean mTEL_DSL_IDO_RSV_FLG = false;
	
	/** 同一回線内のマンション物件コードをテレビにセットするリスト */
	private HashMap<String, String> manshon_bkn_cd_list = null;
	
	/** 提供方式からマンション物件を取得 */
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_032 = "KK_SELECT_032";
	
// 2013.10.31 OM-2013-0003544 add start
	private HashMap<String, String> juhenKisuwMap = null;
// 2013.10.31 OM-2013-0003544 add end
	
// IT1-2014-0000121 2014/05/01 ADD START
	/** 住所変更ステータス */
	private String mADCHG_STAT = null;
	/** 住所変更ステータス 登録済み */
	private static final String ADCHG_STAT_ENTRY = "001";
	/** 住所変更ステータス 完了済み */
	private static final String ADCHG_STAT_COMP = "003";
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
	/** コース変更時の申込明細番号データマップ(キー：サービス契約番号) **/
	private HashMap<String, String> mCRS_CHG_MSKM_DTL_NO_LIST = null;
// ANK-2299-00-00 2014/09/09 ADD END

	// ANK-3387-00-00 2019/02/27 ADD START
	//回線コード 1002：光回線(マンションVDSL)
	private static final String KAISEN_CD_MT_VDSL = "1002";
	//回線コード 1003：光回線(マンションイーサネット)
	private static final String KAISEN_CD_MT_ETHER = "1003";
	//回線コード 1004：光回線(マンション光配線)
	private static final String KAISEN_CD_MT_HIKARI = "1004";
	//提供方式パターンコード 51：光コンセント
	private static final String TK_HOSHIKI_PATTERN_CD_CONSENT = "51";
	// ANK-3387-00-00 2019/02/27 ADD END

// ▽▽▽ ANK-3685-00-00 ADD START
	// 住所変更中の送信ステータスマップ（キーは移転先のサービス契約回線内訳番号、値は、0:未送信、1：送信済）
	private HashMap<String, String> mJUHEN_SEND_ST_MAP = null;
	
	/** 審査結果未送信 */
	private static final String SKEKKA_NOT_SEND = "0";
	/** 審査結果送信済 */
	private static final String SKEKKA_SENDED = "1";
// △△△ ANK-3685-00-00 ADD END

	// ANK-4244-00-00 ADD START
	/** 提供方式パターンコード 50：ONU */
	private static final String TK_HOSHIKI_PATTERN_CD_ONU = "50";
	/** マンション提供方式 51：光コンセント */
	private static final String MANS_TK_HOSHIKI_CD_CONSENT = "51";
	// ANK-4244-00-00 ADD END

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_EOH_TV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_EOH_TV);
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_KEI);
		db_KK_T_SVKEI_KAISEN_UW = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEI_KAISEN_UW);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_WRIB_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRIB_SVC_KEI);
		db_KK_M_KORS_PRINT_NM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_KORS_PRINT_NM);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_SBOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SBOP_SVC_KEI);
		db_KK_T_SUPPORT = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SUPPORT);
		db_KK_T_TK_HOSHIKI_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TK_HOSHIKI_KEI);
		db_KU_T_KOJIAK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KU_T_KOJIAK);
		db_ZM_M_TAKNKIKI_MODEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_TAKNKIKI_MODEL);
		db_KK_T_WRISVC_TG_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRISVC_TG_KEI);
		db_KK_M_KORS_HAKKO_JKN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_KORS_HAKKO_JKN);
		db_KK_T_ADCHG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHG);
		db_KK_T_IDO_RSV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_MSKM_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM_DTL);
		db_KK_T_OPSVKEI_TV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OPSVKEI_TV);
		db_KK_T_KANUORESO_HAKKO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KANUORESO_HAKKO);
		// ANK-2057-00-00 2014/04/22 ADD START
		db_KK_T_KKOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKOP_SVC_KEI);
		// ANK-2057-00-00 2014/04/22 ADD END
// 2014.04.23 ANK-2093-00-00 add start
		db_KK_T_ADCHM_TPPV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHM_TPPV);
// 2014.04.23 ANK-2093-00-00 add end
// IT1-2014-0000121 2014/05/01 ADD START
		db_KK_T_ADCHG_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHG_DTL);
// IT1-2014-0000121 2014/05/01 ADD END
// ANK-2299-00-00 2014/09/09 ADD START
		db_KK_T_MKJ_ADDF_KEI_RV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MKJ_ADDF_KEI_RV);
// ANK-2299-00-00 2014/09/09 ADD END
		//---------v33.00.00 ANK-2802-00-00_ADD START---------//
		db_TU_T_BMP_KOJI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_TU_T_BMP_KOJI);
		//---------v33.00.00 ANK-2802-00-00_ADD END-----------//
		
		//ANK-4543-00-00：NTT卸対応：Step0 ADD START
		db_KK_T_NTTORS_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_NTTORS_KEI);
		//ANK-4543-00-00：NTT卸対応：Step0 ADD END
		
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/

		// 加入御礼書発行条件をリスト化する
		this.execGetKORS_LIST();
		// 発行対象のリストは mKorsHakkoListOK 発行対象の絞り込みに使う
		// 審査ＮＧのリストは mKorsHakkoListNG 審査ＮＧにする対象に使う
		// 発行なしのリストは mKorsHakkoListNON 発行から除外するために使う
		
// ANK-2117-00-00 2014/06/04 MOD START
		// // システム日付
		// sysdate = JCCBatCommon.getSysDateTimeStamp();
		// 運用日＋システム時刻
		sysdate = this.opeDate + JCCBatCommon.getSysDateTimeStamp().substring(8);
// ANK-2117-00-00 2014/06/04 MOD END
		
		// 2013/9/2 OM-2013-0001260 Add Start
		// モバイル機種識別マップ編集
		this.setMobileType();
		// 2013/9/2 OM-2013-0001260 Add End
		
// 2012/12/31 IT1-2012-0002601 add start
		if(super.freeItem != null && !"".equals(super.freeItem))
		{
// v7.05 2014/03/12 【OM-2014-0001132】 DEL START
//			// フリーパラメータからジョブＩＤとフラグファイルパスを取得
//			String[] str = super.freeItem.split(JKKBatConst.S_PARAM_DELIM);
//			// ディレイドジョブＩＤ
//			String job_id = str[0];
//			// ディレイドフラグファイルパス
//			this.createCntFile = str[1];
//			// ディレイド処理依頼取得
//			ArrayList<HashMap<String, Object>> arrayList = JCCbatShoriIraiUtil.getShoriIraiInfo(super.commonItem, job_id);
//			if(arrayList != null)
//			{
//				// ディレイド依頼があるのでフラグを立てる
//				this.dlyd_um_flg = UM_U;
//			}
//			else
//			{
//				// ディレイド依頼がないのでフラグを折る
//				this.dlyd_um_flg = UM_MU;
//			}
// v7.05 2014/03/12 【OM-2014-0001132】 DEL END
		}
		else
		{
			// 親シェルのジョブIDが渡されてきていない
			throw new JBSbatBusinessException("EKKB0740CE", new String[]{"フリーパラメータ異常"});
		}
// 2012/12/31 IT1-2012-0002601 add end
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
// v7.05 2014/03/12 【OM-2014-0001132】 DEL START
//// 2012/12/31 IT1-2012-0002601 add start
//		// ディレイド処理依頼に処理依頼がない場合
//		if(UM_MU.equals(this.dlyd_um_flg))
//		{
//			// 処理をスキップする
//			return null;
//		}
//// 2012/12/31 IT1-2012-0002601 add end
// v7.05 2014/03/12 【OM-2014-0001132】 DEL END
		
		// アンローダ化に伴う入力レコードのNULLチェック（カラ文字はNULLに置換しておく）
		this.checkNull(inMap);

		// 20130415 IT1-2013-0000876 Add Start
//		if(!jdgKeishaType(inMap))
//		{
//			return null;
//		}
		// 20130415 IT1-2013-0000876 Add End
		// 出力共通電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		// 出力可否フラグ初期化（このフラグがtrueになればファイル出力される）
		this.mNEW_ADD_SDBT_FLG_UM = false;
		// 非出力同一回線内訳マップ初期化
		HashMap<String, String[]> kaisenNgMap = new HashMap<String, String[]>();
		// 出力同一回線内訳マップ初期化
		HashMap<String, String[]> kaisenSvcMap = new HashMap<String, String[]>();
		// サービス契約情報マップ初期化（出力対象が格納される）
		ArrayList<JBSbatServiceInterfaceMap> wkMain = new ArrayList<JBSbatServiceInterfaceMap>();
		// 住所変更先回線番号初期化（値が入れば住所変更先回線を処理中と判断可能）
		this.mJUHEN_KAISEN_SK = null;
		// 住所変更先請求契約番号初期化
//		this.mJUHEN_SEIKYU_KEI_NO = null;
		// 住所変更明細リスト初期化
		this.mJUHEN_DTL_LIST = new ArrayList<JBSbatCommonDBInterface>();
// IT2-2014-0000232 2014/05/30 ADD START
		// 住所変更明細(解約オプション)リスト初期化
		this.mJUHEN_DTL_OP_SVC_KAIYAKU_LIST = new ArrayList<JBSbatCommonDBInterface>();
// IT2-2014-0000232 2014/05/30 ADD END
		// 住所変更前サービス契約番号格納マップ初期化（サービス契約番号をキーに住所変更前番号を格納）
		this.mJUHEN_BEFOR_SVKEINO_MAP = new HashMap<String, String>();
		// 住所変更前機器提供リスト初期化
		this.mJUHEN_KKTK_LIST = new HashMap<String, JBSbatCommonDBInterface>();
		// KT1-2013-0000341 ADD START
		// 住所変更なし 申込明細番号データリストを初期化
		this.mKIIN_MSKM_DTL_NO_LIST = new HashMap<String, String>();
		// 住所変更 異動区分データリストを初期化
		this.mKIIN_IDO_DIV_LIST = new HashMap<String, String>();
		// 回線内訳番号毎機器送付先住所マップ初期化
		this.mKikiSohuAdr = new HashMap<String, HashMap<String,String>>();
		// マンション物件コードリストを初期化
		this.manshon_bkn_cd_list = new HashMap<String, String>();
		
// 2013.10.31 OM-2013-0003544 add start
		this.juhenKisuwMap = new HashMap<String, String>();
// 2013.10.31 OM-2013-0003544 add end

// 2013.11.27 OM-2013-0004212 add start
		this.mJUHEN_KAISEN_SK_MAP = new HashMap<String, String[]>();
// 2013.11.27 OM-2013-0004212 add end

// IT1-2014-0000121 2014/05/01 ADD START
		// 住所変更ステータスを初期化
		this.mADCHG_STAT = null;
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
		/** コース変更時の申込明細番号データマップを初期化 **/
		this.mCRS_CHG_MSKM_DTL_NO_LIST = new HashMap<String, String>();
// ANK-2299-00-00 2014/09/09 ADD END

// ▽▽▽ ANK-3685-00-00 ADD START
		// 住所変更送信ステータスマップを初期化する。
		mJUHEN_SEND_ST_MAP = new HashMap<String, String>();
// △△△ ANK-3685-00-00 ADD END
		
		// ANK-4174-00-00 ADD START
		// 申込明細番号データリスト（電子交付同意有無取得用）を初期化
		this.mKIIN_MSKM_DTL_NO_LIST_DNSDOI = new HashMap<String, String>();
		// ANK-4174-00-00 ADD END
		

		// 抽出したSYSIDに紐づくサービス契約情報を抽出する（住所変更中なら住所変更先回線番号変数に値が入る）
		this.getKK_T_SVC_KEI_KK_SELECT_006(wkMain, inMap, kaisenSvcMap, kaisenNgMap);
		// サービス契約回線内訳単位の新規追加識別フラグ判定値マップ
		HashMap<String, String> addKaisenMap = this.checkKaisenUWmap(wkMain, kaisenSvcMap);
		
		// ######################################
		// 同一回線内の機器送付先を取得
		// ######################################
		this.getSvc_ka_uw(wkMain, kaisenSvcMap);
		
		// ######################################
		// サービス契約番号毎にファイル出力する
		// ######################################
		for (JBSbatServiceInterfaceMap wkMap : wkMain)
		{
// v7.03 2014/02/08 【OM-2014-0000531】MOD START
//			// サービス契約番号
//			String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
//
//			// ▼▼▼ST2-2012-0001407 ADD START ▼▼▼
//			// サービス契約番号に紐づくサービス契約回線内訳番号を取得する
//			String[] svkei_kaisen_uw = kaisenSvcMap.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
//
//			super.logPrint.printDebugLog("## svckeino=" + svckeino + "svkei_kaisen_uw[0]=" + svkei_kaisen_uw[0] + ", kaisenNgMap.get(svkei_kaisen_uw[0])=" + kaisenNgMap.get(svkei_kaisen_uw[0]));
//
//			// 取得したサービス契約回線内訳番号が出力対象外でないかチェックする
//			if(!(null == kaisenNgMap.get(svkei_kaisen_uw[0])) && !("".equals(kaisenNgMap.get(svkei_kaisen_uw[0]))))
//			{
//				super.logPrint.printDebugLog("## svckeino=" + svckeino + ", 取得したサービス契約回線内訳番号が出力対象外");
//
//				// 出力対象外なので出力しないで次のレコードへスキップする
//				continue;
//			}
//			// ▲▲▲ST2-2012-0001407 ADD END   ▲▲▲ 

			// ANK-4215-00-00 DEL START
//			// サービス契約番号に紐づくサービス契約回線内訳番号を取得する
//			String[] svkei_kaisen_uw = kaisenSvcMap.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
//			if(!(null == kaisenNgMap.get(svkei_kaisen_uw[0])) && !("".equals(kaisenNgMap.get(svkei_kaisen_uw[0]))))
//			{
//				// 出力対象外なので出力しないで次のレコードへスキップする
//				continue;
//			}
			// ANK-4215-00-00 DEL END
// v7.03 2014/02/08 【OM-2014-0000531】MOD END
			// 【ANK-4543-00-00：NTT卸対応：Step0】 ADD START
			// サービス契約番号
			String svc_kei_no = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			//取得したサービス契約番号がNTT卸契約のテーブルに存在するかチェックする
			if (PRC_GRP_CD_MBMLAD.equals(prc_grp_cd) && hasNTTRecord(svc_kei_no)) {
				// 出力対象外なので出力しないで次のレコードへスキップする
				continue;
			}
			// 【ANK-4543-00-00：NTT卸対応：Step0】 ADD END
			
			// ####################################################################
			// 審査結果コードから加入御礼データ種別コードと審査結果送信コードを取得
			// ####################################################################
			// 審査結果コード（判定に使用）
			String skekka_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD);
			// 加入御礼データ種別コード
			String kanuore_data_sbt_cd_k = null;
			// 審査結果送信コード
			String skekka_send_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
			// 審査結果送信コードがNULLもしくは「０：未送信」の場合（新規/追加時）
			if(skekka_send_cd == null || skekka_send_cd.equals(SKEKKA_SEND_CD_NON))
			{
				// 20130415 IT1-2013-0000876 Add Start
				// 審査結果リスト
				if(null == this.mKorsHakkoList || null == this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD));
				ArrayList<HashMap<String, String>> KorsHakkoListSkekka = this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD);
				if(null == KorsHakkoListSkekka || 1 > KorsHakkoListSkekka.size())
				{
					// 審査結果OK通知書をセット
					kanuore_data_sbt_cd_k = KANUORE_DATA_SBT_CD_K_KANUORE;
					// ＯＫ通知済をセット
					skekka_send_cd = SKEKKA_SEND_CD_OK;
				}
				HashMap<String, String>skekkaMap = new HashMap<String, String>();
				String map_skekka_cd = null;
				String map_kors_hakko_cd = null;
				for(int i = 0; i < KorsHakkoListSkekka.size(); i++)
				{
					skekkaMap = KorsHakkoListSkekka.get(i);
					
					map_skekka_cd = skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD);
					map_kors_hakko_cd = skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD);
					
					if(skekka_cd.equals(map_skekka_cd))
					{
						// 加入御礼データ種別コードをセット
						kanuore_data_sbt_cd_k = map_kors_hakko_cd;

						if(KANUORE_DATA_SBT_CD_K_KANUORE.equals(map_kors_hakko_cd))
						{
							// ＯＫ通知済をセット
							skekka_send_cd = SKEKKA_SEND_CD_OK;
						}
						else if(KANUORE_DATA_SBT_CD_K_SKEKKANG.equals(map_kors_hakko_cd))
						{
							// ＮＧ通知済をセット
							skekka_send_cd = SKEKKA_SEND_CD_NG;
						}
					}
				}
				// 20130415 IT1-2013-0000876 Add End
			}
			else
			{
				// 審査結果OK通知書をセット
				kanuore_data_sbt_cd_k = KANUORE_DATA_SBT_CD_K_KANUORE;
				// 審査結果送信コードはこの時点で必ず「１：ＯＫ通知済」だが一応・・・
				skekka_send_cd = SKEKKA_SEND_CD_OK;
			}
			// ANK-4427-00-00 ADD START
			// typeNの場合、サービス契約の最古レコードの「申込明細番号」から移転元サービス契約番号の値を取得する。
			String typen_itenm_svc_kei_no = getTypeNitenmSvcKeiNo(wkMap,prc_grp_cd,svc_kei_no);
			// ANK-4427-00-00 ADD END
			
			// ##############
			// ファイル出力
			// ##############
			// 加入御礼管理抽出結果更新ファイル用入出力インターフェイスオブジェクトを生成
			JBSbatServiceInterfaceMap mapKKIFM002 = new JBSbatServiceInterfaceMap();
			// ファイル出力（加入御礼管理抽出結果更新ファイル KKIFM002）
			this.setOutputDataKKIFM002(mapKKIFM002, wkMap, skekka_send_cd);
			
			// 加入御礼書／審査結果NG通知書ファイル用入出力インターフェイスオブジェクトを生成
			JBSbatServiceInterfaceMap mapKKIFM003 = new JBSbatServiceInterfaceMap();
			// 新規追加識別コードをセット
			this.setNewAddCd(mapKKIFM003, wkMap, kaisenSvcMap, addKaisenMap);
			// 加入御礼書／審査結果NG通知書ファイル KKIFM003）
			// ANK-4174-00-00 MOD START
			//this.setOutputDataKKIFM003(mapKKIFM003, wkMap, kaisenSvcMap, kanuore_data_sbt_cd_k);
			// ANK-4427-00-00 MOD START
//			this.setOutputDataKKIFM003(mapKKIFM003, wkMap, kaisenSvcMap, kanuore_data_sbt_cd_k,wkMain);
			this.setOutputDataKKIFM003(mapKKIFM003, wkMap, kaisenSvcMap, kanuore_data_sbt_cd_k,wkMain,typen_itenm_svc_kei_no);
			// ANK-4427-00-00 MOD END
			// ANK-4174-00-00 MOD END

			// 出力フラグを設定
			mapKKIFM002.setOutFlg(true);
			mapKKIFM003.setOutFlg(true);
			// 出力共通電文入出力インターフェイスを設定する
			outputBean.addOutMapList(mapKKIFM002);
			outputBean.addOutMapList_2(mapKKIFM003);
		}
		
// v11.00 ADD START
		
		// 重複レコード削除（※新規追加識別フラグ有無フラグ判定前に実施する事.）
		delOutBean(wkMain, outputBean);
// v11.00 ADD END
		
		// 出力共通電文を返却
		// 2012/09/11 ST1-2012-0000551 Add Start
		// 新規追加識別フラグ有無が"有"の場合にのみファイル出力を行う。
		if(mNEW_ADD_SDBT_FLG_UM)
		{
			return outputBean;
		}
		return null;
		// 2012/09/11 ST1-2012-0000551 Add End
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

// v11.00 ADD START
	
	/**
	 * 
	 * 更新処理：サービス契約
	 * 
	 * @param tg
	 * @throws Exception
	 */
	private void updSvcKei(String tg) throws Exception {
		
		// update
		JBSbatCommonDBInterface param = new JBSbatCommonDBInterface();
		param.setValue("3");
		param.setValue(tg);
		param.setValue(super.opeDate);
		this.db_KK_T_SVC_KEI.executeBySqlDefine(param, KK_T_SVC_KEI_KK_UPDATE_015);
	}
	
	/** 
	 * 
	 * 重複レコード削除
	 * 
	 * @param wkList
	 * @param tgBean
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void delOutBean(ArrayList<JBSbatServiceInterfaceMap> wkList, JBSbatOutputItem tgBean) throws Exception {
		
		// mapKKIFM003
		ArrayList<JBSbatServiceInterfaceMap> KKIFM003 = tgBean.getOutMapList_2();
		
		// チェック：出力対象なしの場合は,処理しない.
		if (KKIFM003 == null || KKIFM003.size() == 0)
			return;
		
		// SYSID単位に,新規追加が存在するか否か
		if (!retUpdSvcKei(wkList, KKIFM003)) {
			
			// false：新規追加が存在しない場合
			this.mNEW_ADD_SDBT_FLG_UM = false;
		}
	}
	
	/**
	 * 
	 * SYSID単位に削除対象とするサービス契約情報を返却.
	 * 
	 * @param main
	 * @param w003
	 * @return
	 * @throws Exception 
	 */
	private boolean retUpdSvcKei(ArrayList<JBSbatServiceInterfaceMap> main, ArrayList<JBSbatServiceInterfaceMap> w003) throws Exception {
		
		final String conSvcKeiNo = JBSbatKK_T_SVC_KEI.SVC_KEI_NO;
		final String conSsndCd   = JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD;
		
		// 003よりサービス契約番号リスト生成
		ArrayList<String> svcList003 = new ArrayList<String>();
		for (JBSbatServiceInterfaceMap w003Map : w003) {
			svcList003.add(w003Map.getString(conSvcKeiNo));			// サービス契約番号
		}
		
		// wkList：w003との比較（SYSID単位に審査結果送信コードが全て「0 or null」か否かをチェック）
		for (JBSbatServiceInterfaceMap mainMap : main) {
			
			// 審査結果送信コード
			String sSndCdMain = mainMap.getString(conSsndCd);
			
			/** 003に存在し,mainに存在する */
			if (svcList003.contains(mainMap.get(conSvcKeiNo))) {
				
				// true：新規追加が1件でも存在する
				if(JKKStringUtil.isNullBlank(sSndCdMain) || SKEKKA_SEND_CD_NON.equals(sSndCdMain)) {
					return true;
				}
			}
			
			/** 003になくてmainに存在する → そもそも003に格納されていない為,無視 **/
		}
		
		// false：出力対象が存在しない場合
		return false;
	}
// v11.00 ADD END
	
	/**
	 * inMapの中身をチェックしてカラ文字はすべてNULLに置換する
	 * 
	 * @param inMap 入力レコード
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private void checkNull(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		// 入力マップを取り出す
		HashMap<String, String> inputMap = inMap.getMap();
		// マップの中身をすべて取り出して調べる
		for(Map.Entry<String, String> m : inputMap.entrySet())
		{
			// 値をとりだす
			String value = m.getValue();
			// キーに対してカラ文字が設定されているかチェック
			if(value != null && "".equals(value))
			{
				// NULLに置換する
				inMap.set(m.getKey(), null);
			}
		}
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_EOH_TV.close();
		db_KK_T_SEIKY_KEI.close();
		db_KK_T_SVKEI_KAISEN_UW.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_SVKEIUW_EOH_TEL.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_WRIB_SVC_KEI.close();
		db_KK_M_KORS_PRINT_NM.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_SBOP_SVC_KEI.close();
		db_KK_T_SUPPORT.close();
		db_KK_T_TK_HOSHIKI_KEI.close();
		db_KU_T_KOJIAK.close();
		db_ZM_M_TAKNKIKI_MODEL.close();
		db_KK_T_WRISVC_TG_KEI.close();
		db_KK_M_KORS_HAKKO_JKN.close();
		db_KK_T_ADCHG.close();
		db_KK_T_MSKM_DTL.close();
		db_KK_T_IDO_RSV.close();
		db_KK_T_OPSVKEI_TV.close();
		db_KK_T_KANUORESO_HAKKO.close();
// 2014.04.23 ANK-2093-00-00 add start
		db_KK_T_ADCHM_TPPV.close();
// 2014.04.23 ANK-2093-00-00 add end
// IT1-2014-0000121 2014/05/01 ADD START
		db_KK_T_ADCHG_DTL.close();
// IT1-2014-0000121 2014/05/01 ADD END
// ANK-2299-00-00 2014/09/09 ADD START
		db_KK_T_MKJ_ADDF_KEI_RV.close();
// ANK-2299-00-00 2014/09/09 ADD END

		//---------v33.00.00 ANK-2802-00-00_ADD START---------//
		db_TU_T_BMP_KOJI.close();
		//---------v33.00.00 ANK-2802-00-00_ADD END-----------//

		//ANK-4543-00-00：NTT卸対応：Step0 ADD START
		db_KK_T_NTTORS_KEI.close();
		//ANK-4543-00-00：NTT卸対応：Step0 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/

// v7.05 2014/03/12 【OM-2014-0001132】 DEL START
//		// ディレイド処理依頼結果のフラグファイルを作成する
//		JBSbatOutputFileUtil cntFile = new JBSbatOutputFileUtil(this.createCntFile);
//		cntFile.setEncode(JKKBatConst.SJIS);
//		cntFile.setLine(JKKBatConst.S_LINE_SEPARAOR_LF);
//		cntFile.createWriter();
//		StringBuffer sb = new StringBuffer();
//		if(UM_U.equals(this.dlyd_um_flg))
//		{
//			// ディレイド処理依頼がある
//			sb.append(String.valueOf(UM_U));
//		}
//		else
//		{
//			// ディレイド処理依頼がない
//			sb.append(String.valueOf(UM_MU));
//		}
//		cntFile.write(sb.toString());
//		cntFile.close();
// v7.05 2014/03/12 【OM-2014-0001132】 DEL END

	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_006)で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_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
// v7.03 2014/02/08 【OM-2014-0000531】DEL START
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[2].toString());
// v7.03 2014/02/08 【OM-2014-0000531】DEL END

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_006);
	}
// v7.03 2014/02/08 【OM-2014-0000531】ADD START
	/**
	 * SQLKEY(KK_SELECT_286)で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_286(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_286);
	}
// v7.03 2014/02/08 【OM-2014-0000531】ADD END

//	/**
//	 * SQLKEY(KK_SELECT_166)で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_166(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_166);
//	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_EOH_TV_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_EOH_TV.selectBySqlDefine(paramList, KK_T_SVC_KEI_EOH_TV_KK_SELECT_001);
	}

	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	RSV_APLY_YMD
	 *		 	SVC_KEI_NO
	 *		 	KAKINS_TSTAYMD
	 *			KAKINS_TENDYMD
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIKY_KEI_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());

		// DBアクセスを実行します
		db_KK_T_SEIKY_KEI.selectBySqlDefine(paramList, KK_T_SEIKY_KEI_KK_SELECT_002);
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	RSV_APLY_YMD
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	RSV_APLY_YMD
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_004);
	}

	/**
	 * SQLKEY(KK_SELECT_018)で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_WRIB_SVC_KEI_KK_SELECT_018(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_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_018);
	}

	/**
	 * SQLKEY(KK_SELECT_020)で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_WRIB_SVC_KEI_KK_SELECT_020(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_020);
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービスコード
	 *		 	料金プランコード
	 *		 	マンションVDSLプランコード
	 *		 	マンション提供方式コード
	 *		 	即割有無
	 *		 	マンション物件コード
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_KORS_PRINT_NM_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());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());
		paramList.setValue(param[6].toString());

		// DBアクセスを実行します
		db_KK_M_KORS_PRINT_NM.selectBySqlDefine(paramList, KK_M_KORS_PRINT_NM_KK_SELECT_001);
	}

	/**
	 * SQLKEY(KK_SELECT_052)で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_KKTK_SVC_KEI_KK_SELECT_052(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_052);
	}

	// ANK-1578-00-00 2013/11/22 ADD ST
	/**
	 * SQLKEY(KK_SELECT_167)で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_KKTK_SVC_KEI_KK_SELECT_167(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		
		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_167);
	}

	/**
	 * SQLKEY(KK_SELECT_168)で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_KKTK_SVC_KEI_KK_SELECT_168(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_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_168);
	}
	// ANK-1578-00-00 2013/11/22 ADD ED
	
	/**
	 * SQLKEY(KK_SELECT_053)で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_KKTK_SVC_KEI_KK_SELECT_053(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_053);
	}

	/**
	 * SQLKEY(KK_SELECT_015)で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_SBOP_SVC_KEI_KK_SELECT_015(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SBOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_SBOP_SVC_KEI_KK_SELECT_015);
	}

	/**
	 * 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 executeKK_T_SUPPORT_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SUPPORT.selectBySqlDefine(paramList, KK_T_SUPPORT_KK_SELECT_002);
	}

	/**
	 * SQLKEY(KK_SELECT_058)で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_UCWK_KK_SELECT_058(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());
// OM-2014-0002588 2014/09/01 DEL START
//		paramList.setValue(param[4].toString());
// OM-2014-0002588 2014/09/01 DEL END

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_058);
	}

	/**
	 * 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 executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_002);
	}

	/**
	 * SQLKEY(KK_SELECT_078)で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_KKTK_SVC_KEI_KK_SELECT_078(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_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_078);
	}

	/**
	 * SQLKEY(KK_SELECT_024)で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_WRIB_SVC_KEI_KK_SELECT_024(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		this.db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_024);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	TK_HOSHIKI_KEI_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_TK_HOSHIKI_KEI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("TK_HOSHIKI_KEI_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_KK_T_TK_HOSHIKI_KEI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	TAKNKIKI_MODEL_CD
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeZM_M_TAKNKIKI_MODEL_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("TAKNKIKI_MODEL_CD", whereParam[0]);

		// DBアクセスを実行します
		return db_ZM_M_TAKNKIKI_MODEL.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_021)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRIB_SVC_KEI_KK_SELECT_021(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_021);
	}

	/**
	 * SQLKEY(KK_SELECT_029)で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_SVKEI_KAISEN_UW_KK_SELECT_029(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEI_KAISEN_UW.selectBySqlDefine(paramList, KK_T_SVKEI_KAISEN_UW_KK_SELECT_029);
	}

	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/**
	 * 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_T_OPSVKEI_TV_KK_SELECT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OPSVKEI_TV.selectBySqlDefine(paramList, KK_T_OPSVKEI_TV_KK_SELECT_004);
	}
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲

	// ANK-1421-00-00 2013/03/04 ADD START
	/**
	 * SQLKEY(KK_SELECT_135)で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_KKTK_SVC_KEI_KK_SELECT_135(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_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_135);
	}

	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KANUORESO_HAKKO_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KANUORESO_HAKKO.selectBySqlDefine(paramList, KK_T_KANUORESO_HAKKO_KK_SELECT_005);
	}
	// ANK-1421-00-00 2013/03/04 ADD END
	// OM-2013-0003462 2013.10.23 ADD start
	/**
	 * SQLKEY(KK_SELECT_022)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	運用年月日
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MSKM_DTL_KK_SELECT_022(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.selectBySqlDefine(paramList, KK_T_MSKM_DTL_KK_SELECT_022);
	}
	// OM-2013-0003462 2013.10.23 ADD end

	// ANK-2056-00-00 2014/04/04 ADD START
	/**
	 * SQLKEY(KK_SELECT_058)で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_WRIB_SVC_KEI_KK_SELECT_058(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_058);
	}
	// ANK-2056-00-00 2014/04/04 ADD END

	// OM-2014-0001472 2014/04/14 ADD START
	/**
	 * SQLKEY(KK_SELECT_018)で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_ADCHG_KK_SELECT_018(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG.selectBySqlDefine(paramList, KK_T_ADCHG_KK_SELECT_018);
	}
	// OM-2014-0001472 2014/04/14 ADD END

	// ANK-2057-00-00 2014/04/02 ADD START
	/**
	 * SQLKEY(KK_SELECT_021)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約回線内訳番号
	 *		 	運用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKOP_SVC_KEI_KK_SELECT_021(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_KKOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKOP_SVC_KEI_KK_SELECT_021);
	}
	// ANK-2057-00-00 2014/04/02 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/**
	 * SQLKEY(KK_SELECT_074)で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_IDO_RSV_KK_SELECT_074(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
// IT1-2014-0000144 2014/05/16 DEL START
		//paramList.setValue(param[1].toString());
// IT1-2014-0000144 2014/05/16 DEL END

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_074);
	}
// IT1-2014-0000121 2014/05/01 ADD END

// IT2-2014-0000232 2014/05/30 ADD START
	/**
	 * SQLKEY(KK_SELECT_076)で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_IDO_RSV_KK_SELECT_076(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_076);
	}
// IT2-2014-0000232 2014/05/30 ADD END

// OM-2014-0002588 2014/09/01 ADD START
	/**
	 * SQLKEY(KK_SELECT_081)で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_IDO_RSV_KK_SELECT_081(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_081);
	}

	/**
	 * SQLKEY(KK_SELECT_082)で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_IDO_RSV_KK_SELECT_082(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_082);
	}
// OM-2014-0002588 2014/09/01 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/**
	 * SQLKEY(KK_SELECT_059)で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_WRIB_SVC_KEI_KK_SELECT_059(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_059);
	}
// IT1-2014-0000121 2014/05/01 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/**
	 * SQLKEY(KK_SELECT_040)で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_ADCHG_DTL_KK_SELECT_040(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_040);
	}
// IT1-2014-0000121 2014/05/01 ADD END

// ANK-2299-00-00 2014/09/09 ADD START
	/**
	 * SQLKEY(KK_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 *		 	設定対象契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 申込時登録不可契約予約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MKJ_ADDF_KEI_RV_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_MKJ_ADDF_KEI_RV.selectBySqlDefine(paramList, KK_T_MKJ_ADDF_KEI_RV_KK_SELECT_002);
	}

	/**
	 * SQLKEY(KK_SELECT_063)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	運用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 割引サービス契約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_WRIB_SVC_KEI_KK_SELECT_063(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_063);
	}
// ANK-2299-00-00 2014/09/09 ADD END

	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * <BR>
	 * SYSIDにひもづくデータを取得します（住所変更時は住所変更した契約情報＋モバイル契約情報取得）
	 * 
	 * @param wkMain KK_T_SVC_KEI_KK_SELECT_006用
	 * @param inMap 入力電文
	 * @param kaisenSvcMap 出力サービス契約回線内訳マップ
	 * @param kaisenNgMap 非出力サービス契約回線内訳マップ
	 * @throws Exception 各種エラー
	 */
	private void getKK_T_SVC_KEI_KK_SELECT_006(ArrayList<JBSbatServiceInterfaceMap> wkMain, JBSbatServiceInterfaceMap inMap, 
			HashMap<String, String[]> kaisenSvcMap, HashMap<String, String[]> kaisenNgMap) throws Exception
	{
// v7.03 2014/02/08 【OM-2014-0000531】MOD START
		// SYSIDに紐づくすべてのサービス契約情報を取得（住所変更分含む為、最大未来日で一括取得）
//		Object[] setParam = { "20991231", inMap.getString(JBSbatKK_T_SVC_KEI.SYSID), "" };
		// SYSIDに紐づくすべてのサービス契約情報を取得
		Object[] setParam = { inMap.getString(JBSbatKK_T_SVC_KEI.SYSID) };
// v7.03 2014/02/08 【OM-2014-0000531】MOD END
		executeKK_T_SVC_KEI_KK_SELECT_006(setParam);
		JBSbatCommonDBInterface result = db_KK_T_SVC_KEI.selectNext();
		// 取得したサービス契約情報をリストへ一時保持
		ArrayList<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		while(result != null)
		{
			list.add(result);
			result = this.db_KK_T_SVC_KEI.selectNext();
		}
		
		// ファイル出力対象になるサービス契約情報マップを初期化
		ArrayList<JBSbatCommonDBInterface> wkList = new ArrayList<JBSbatCommonDBInterface>();
		//############################
		//# 出力対象判別（住変対応） #
		//############################
		// 抽出したすべてのサービス契約情報をチェックして出力対象をマッピング
		this.checkJUHEN(list, wkList);
		
		//####################
		//# 共通出力内容編集 #
		//####################
		// ファイル出力対象のサービス契約情報マップから取り出す
		for(JBSbatCommonDBInterface rcvMap : wkList)
		{
// 2014/10/22 v10.03 OM-2014-0003339 Add Start --->
			// サービス契約ステータス判定
			if(!jdgSvcKeiStat(rcvMap))
			{
				// 一致しない場合は次のレコードへ
				continue;
			}
// 2014/10/22 v10.03 OM-2014-0003339 Add End --->
			// サービス契約番号に紐づくサービス契約回線内訳情報を取得
			this.getKaisenUwNo(rcvMap, kaisenSvcMap, kaisenNgMap);
			
			// 料金グループコード判定
			if (!jdgPrcGrp(rcvMap))
			{
				// 一致しない場合は次のレコードへ
				continue;
			}
// 2014/10/22 v10.03 OM-2014-0003339 Del Start --->
//			// サービス契約ステータス判定
//			if(!jdgSvcKeiStat(rcvMap))
//			{
//				// 一致しない場合は次のレコードへ
//				continue;
//			}
// 2014/10/22 v10.03 OM-2014-0003339 Del End --->
			// 照査結果判定
			if (this.jdgShosa(rcvMap))
			{
				// 申込書番号判定
				if (this.jdgMskmsho(rcvMap))
				{
					// サービス契約情報マップ
					JBSbatServiceInterfaceMap wkMap = new JBSbatServiceInterfaceMap();
					
					// サービス契約番号
					wkMap.setString(JBSbatKKIFM003.SVC_KEI_NO, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
					// 世代登録年月日時分秒
					wkMap.setString(GENE_ADD_DTM, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
					// サービス契約ステータス
					wkMap.setString(JBSbatKKIFM003.SVC_KEI_STAT, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT));
					// SYSID
					wkMap.setString(JBSbatKKIFM003.SYSID, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SYSID));
					// サービスコード
					wkMap.setString(JBSbatKKIFM003.SVC_CD, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD));
					// 申込明細番号 （判定用）
					wkMap.setString(MSKM_DTL_NO,
							rcvMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO));
					// 料金グループコード
					wkMap.setString(PRC_GRP_CD,
							rcvMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
					// 料金コースコード
					wkMap.setString(JBSbatKKIFM003.PCRS_CD, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD));
// 2012/05/21 v3.01.00 Add Start --->
					// 料金プランコード
					wkMap.setString(JBSbatKKIFM003.PPLAN_CD, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD));
// 2012/05/21 v3.01.00 Add End <---
					// 審査結果コード
					// 20130416 IT1-2013-0000876 Add Start
					if(null != rcvMap && null != rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD) 
							&& SKEKKA_CD_35.equals(rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD)))
					{
						wkMap.setString(JBSbatKKIFM003.SKEKKA_CD, SKEKKA_CD_31);
					}
					else
					{
						wkMap.setString(JBSbatKKIFM003.SKEKKA_CD, 
								rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD));
					}
					// 20130416 IT1-2013-0000876 Add End
					// 20130416 IT1-2013-0000876 Delete Start
//					wkMap.setString(JBSbatKKIFM003.SKEKKA_CD, 
//							rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD));
					// 20130416 IT1-2013-0000876 Delete End
					// 審査結果送信コード （判定用）
					wkMap.setString(SKEKKA_SEND_CD,
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD));
					// 支払方法継続フラグ
					wkMap.setString(JBSbatKKIFM003.PAYWAY_KEIZOKU_FLG, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.PAYWAY_KEIZOKU_FLG));
					// サービス開始年月日
					wkMap.setString(JBSbatKKIFM003.SVC_STAYMD, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD));
					// サービス課金開始年月日
					wkMap.setString(JBSbatKKIFM003.SVC_CHRG_STAYMD, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_STAYMD));
					// 異動区分
					wkMap.setString(JBSbatKKIFM003.IDO_DIV, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.IDO_DIV));
					// 面開発案件番号（判定用）
					wkMap.setString(MENKAIHAT_ANKEN_NO, 
							rcvMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_NO));
					// 照査解約完了コード（判定用）
					wkMap.setString(SHOSA_DSL_FIN_CD,
							rcvMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_DSL_FIN_CD));
					// 提供方式契約番号
					wkMap.setString(TK_HOSHIKI_KEI_NO,
							rcvMap.getString(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO));
					
					//■■■ ANK-1199-00-00 申込明細番号の自動発番について対応 2012/9/19 M.IKUMA START ■■■
					// 申込書番号（中身は申込明細.申込書明細番号）
					wkMap.setString(JBSbatKKIFM003.MSKMSHO_NO, 
							rcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_DTL_NO));
					//■■■ ANK-1199-00-00 申込明細番号の自動発番について対応 2012/9/19 M.IKUMA   END ■■■
					
					// 申込形態コード
					wkMap.setString(JBSbatKKIFM003.MSKM_FORM_CD, 
							rcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKM_FORM_CD));
					// 受付年月日
// v11.01 MOD START
//					if(MSKM_FORM_CD_SYO.equals(rcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKM_FORM_CD)))
//					{
//						// 申込書到着年月日をセット
//						wkMap.setString(JBSbatKKIFM003.MSKM_UK_YMD, 
//								rcvMap.getString(JBSbatKK_T_MSKM.MSKMSHO_ARIV_YMD));
//					}
//					else
//					{
//						String mskm_uk_dtm = rcvMap.getString(JBSbatKK_T_MSKM.MSKM_UK_DTM);
//						if(mskm_uk_dtm != null && !("".equals(mskm_uk_dtm)))
//						{
//							// 申込受付年月日時分秒を年月日にしてセット
//							wkMap.setString(JBSbatKKIFM003.MSKM_UK_YMD, 
//								(rcvMap.getString(JBSbatKK_T_MSKM.MSKM_UK_DTM)).substring(0, 8));
//						}
//					}
					
					String mskmUkYmd = "";
					// 加入御礼書の出力対象となる異動（新規申込、サービス追加、住所変更、電話番号追加）に対する受付年月日を取得する
					Object[] paramMskmUkYmd = { rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO), super.opeDate };
					this.executeKK_T_SVC_KEI_KK_SELECT_310(paramMskmUkYmd);
					JBSbatCommonDBInterface resultMskmUkYmd = this.db_KK_T_SVC_KEI.selectNext();
					if(resultMskmUkYmd != null)
					{
// ANK-3895-00-00 MOD START
//						mskmUkYmd = resultMskmUkYmd.getString(JBSbatKK_T_MSKM.MSKMSHO_ARIV_YMD);
						mskmUkYmd = resultMskmUkYmd.getString(JBSbatKK_T_MSKM.MSKM_YMD);
// ANK-3895-00-00 MOD END
					}
					else
					{
						// 加入御礼書の出力対象となる異動（新規申込、サービス追加、住所変更、電話番号追加が存在しない場合）に対する受付年月日を取得
						Object[] paramMskmUkYmd2 = { rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO), super.opeDate };
						this.executeKK_T_SVC_KEI_KK_SELECT_311(paramMskmUkYmd2);
						JBSbatCommonDBInterface resultMskmUkYmd2 = this.db_KK_T_SVC_KEI.selectNext();
						if(resultMskmUkYmd2 != null)
						{
// ANK-3895-00-00 MOD START
//							mskmUkYmd = resultMskmUkYmd2.getString(JBSbatKK_T_MSKM.MSKMSHO_ARIV_YMD);
							mskmUkYmd = resultMskmUkYmd2.getString(JBSbatKK_T_MSKM.MSKM_YMD);
// ANK-3895-00-00 MOD END
						}
					}
					// 受付年月日をセット
					wkMap.setString(JBSbatKKIFM003.MSKM_UK_YMD, mskmUkYmd);
// v11.01 MOD END
					// 他サービス・メール引継ぎ
					wkMap.setString(JBSbatKKIFM003.TA_SVC_ML_HKTGI_UM,
							rcvMap.getString(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM));
					// 関西電力お客様情報授受同意有無
					wkMap.setString(JBSbatKKIFM003.KEPCO_CUSTINFO_JUJU_DOI_UM, 
							rcvMap.getString(JBSbatKK_T_MSKM.KEPCO_CUSTINFO_JUJU_DOI_UM));
					// お客様名
					wkMap.setString(JBSbatKKIFM003.CUST_NM, inMap.getString(JBSbatCK_T_CUST.CUST_NM));
					// 契約者郵便番号
					wkMap.setString(JBSbatKKIFM003.KEISHA_PCD, inMap.getString(JBSbatCK_T_CUST.KEISHA_PCD));
					// 契約者都道府県名
					wkMap.setString(JBSbatKKIFM003.KEISHA_STATE_NM, inMap.getString(JBSbatCK_T_CUST.KEISHA_STATE_NM));
					// 契約者市区町村名
					wkMap.setString(JBSbatKKIFM003.KEISHA_CITY_NM, inMap.getString(JBSbatCK_T_CUST.KEISHA_CITY_NM));
					// 契約者大字通称名
					wkMap.setString(JBSbatKKIFM003.KEISHA_OAZTSU_NM, inMap.getString(JBSbatCK_T_CUST.KEISHA_OAZTSU_NM));
					// 契約者字丁目名
					wkMap.setString(JBSbatKKIFM003.KEISHA_AZCHO_NM, inMap.getString(JBSbatCK_T_CUST.KEISHA_AZCHO_NM));
					// 契約者番地号
					wkMap.setString(JBSbatKKIFM003.KEISHA_BNCHIGO, inMap.getString(JBSbatCK_T_CUST.KEISHA_BNCHIGO));
					// 契約者住所補記・建物名
					wkMap.setString(JBSbatKKIFM003.KEISHA_ADRTTM, inMap.getString(JBSbatCK_T_CUST.KEISHA_ADRTTM));
					// 契約者住所補記・部屋番号
					wkMap.setString(JBSbatKKIFM003.KEISHA_ADRRM, inMap.getString(JBSbatCK_T_CUST.KEISHA_ADRRM));
					// 契約者タイプコード
					wkMap.setString(JBSbatKKIFM003.KEISHA_TYPE_CD, inMap.getString(JBSbatCK_T_CUST.KEISHA_TYPE_CD));
					// 契約者電話番号
					wkMap.setString(JBSbatKKIFM003.KEISHA_TELNO, inMap.getString(JBSbatCK_T_CUST.KEISHA_TELNO));
					// 審査結果送信コード
					String skekka_s_cd = rcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
					wkMap.setString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD, skekka_s_cd);

//					//■■■ KAD-2012-000201 電話２番号目追加対応 START ■■■
//					// 審査結果送信コードがNULLもしくは通知未であればチェック
//					if(skekka_s_cd == null || SKEKKA_SEND_CD_NON.equals(skekka_s_cd))
//					{
//						// 電話サービス契約で番号追加の異動区分があるかをチェックして登録
//						this.checkTelNoAdd_um(rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
//					}
//					//■■■ KAD-2012-000201 電話２番号目追加対応   END ■■■
					
					// ANK-4174-00-00 ADD START
					// 電子交付同意有無
					wkMap.setString(JBSbatKK_T_MSKM_DTL.DNSKH_DOI_UM, rcvMap.getString(JBSbatKK_T_MSKM_DTL.DNSKH_DOI_UM));
					// ANK-4174-00-00 ADD END

					// サービス契約情報マップへ追加
					wkMain.add(wkMap);
				}
				
// v11.00 ADD START
				else {
					
					// 申込書番号判定でNGは,即更新
					updSvcKei(rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				}
// v11.00 ADD END
				
			}
		}
	}

	/**
	 * ファイル出力対象のサービス契約情報をマッピングする(住所変更対応）
	 * 
	 * @param list 出力対象のサービス契約情報マップ
	 * @param wkList 出力するサービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void checkJUHEN(ArrayList<JBSbatCommonDBInterface> list,
				ArrayList<JBSbatCommonDBInterface> wkList) throws Exception
	{
		// ここで使うワークマップ
		ArrayList<JBSbatCommonDBInterface> innerWorkMap = new ArrayList<JBSbatCommonDBInterface>();
		
// v10.02 ADD START
		
		// 複数回線判断用：SYSID配下のサービスに紐づく「住所変更番号」を保持
		ArrayList<String> mADCHGNo = new ArrayList<String>();
// v10.02 ADD END
		
		// OM-2014-0001472 2014/04/14 ADD START
		// 現在住所変更中のサービス契約が存在するかどうかを判定するフラグ
		boolean juhenAriNow = false;
		// OM-2014-0001472 2014/04/14 ADD END

		// 発行起因の申込明細と異動区分を取得
		this.getIDODIV_MSKMDTL(list);

// 2013.11.27 OM-2013-0004212 add start
		// 出力対象のサービス契約の中に、出力起因が住所変更のサービス契約があるかのフラグ
		// mKIIN_IDO_DIV_LIST の値に00019が含まれていればtrueとします。
		boolean juhenAri = isContains(this.mKIIN_IDO_DIV_LIST, IDO_JUHEN_ADD);
// 2013.11.27 OM-2013-0004212 add end

		// OM-2014-0001472 2014/04/14 ADD START
		// 過去に一度でも住所変更したサービス契約がある場合は、
		// 同一のSYSID内に現在住所変更中のサービス契約も存在するかどうかを判定する。
		if (juhenAri)
		{
			if (list.size() > 0)
			{
				// SYSIDに紐付くサービス契約で現在住所変更中の住所変更詳細情報を抽出
				String sysId = list.get(0).getString(JBSbatKK_T_SVC_KEI.SYSID);
				Object[] setParam = { sysId };
				this.executeKK_T_ADCHG_KK_SELECT_018(setParam);
				JBSbatCommonDBInterface result = this.db_KK_T_ADCHG.selectNext();
				// レコードが存在する場合は現在住所変更中のサービス契約が存在すると判定する。
				if (result != null)
				{
// IT1-2014-0000121 2014/05/01 DEL START
					//juhenAriNow = true;
// IT1-2014-0000121 2014/05/01 DEL END
// IT1-2014-0000121 2014/05/01 ADD START
					// レコードが存在する場合は住所変更ステータスを調べる。
					this.mADCHG_STAT = result.getString(JBSbatKK_T_ADCHG.ADCHG_STAT);
					if (ADCHG_STAT_ENTRY.equals(this.mADCHG_STAT))
					{
						// 住所変更ステータスが「001:登録済み」の場合は、
						// 現在住所変更中だと判定する。
						juhenAriNow = true;
					}
// IT1-2014-0000121 2014/05/01 ADD END
				}
			}
		}
		// OM-2014-0001472 2014/04/14 ADD END
		
		// OM-2014-0001472 2014/04/14 ADD START
		// 現在住所変更中のサービス契約が存在する場合のみ、For文の処理を行う。
		if (juhenAriNow)
		{
		// OM-2014-0001472 2014/04/14 ADD END
		// 出力対象のサービス契約情報マップから取り出す
		for(JBSbatCommonDBInterface map : list)
		{
			// 出力対象サービス契約番号
			String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			
// v7.03 2014/02/08 【OM-2014-0000531】DEL START
			// 審査結果送信コード
//			String skekka_s_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
// v7.03 2014/02/08 【OM-2014-0000531】DEL END
			
// 2013.11.27 OM-2013-0004212 del start
//			// 審査結果送信コードがNULLもしくは「０：未」チェック（住所変更出力対象）
//			if(skekka_s_cd == null || SKEKKA_SEND_CD_NON.equals(skekka_s_cd))
//			{
// 2013.11.27 OM-2013-0004212 del end
				// KT1-2013-0000341 2013/03/07 ADD START
				// 住所変更情報取得を試みる
				JBSbatCommonDBInterface param = new JBSbatCommonDBInterface();
				param.setValue(svc_kei_no);
				// 住所変更中であれば取得できるＳＱＬ発行
				this.db_KK_T_ADCHG.selectBySqlDefine(param, KK_T_ADCHG_KK_SELECT_009);
				JBSbatCommonDBInterface result = this.db_KK_T_ADCHG.selectNext();
				// 住所変更中で発行起因異動が「住所変更・登録」かチェック
				if(result != null && IDO_JUHEN_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)))
				{
// 2013.10.31 OM-2013-0003544 add start
					this.juhenKisuwMap.put(svc_kei_no, result.getString(JBSbatKK_T_ADCHG.ITENS_SVKEI_KISUW_NO));
// 2013.10.31 OM-2013-0003544 add end
					
// ▽▽▽ ANK-3685-00-00 ADD START
					// 送信キーとして、移転先のサービス契約回線内訳番号を取得
					String wKey = result.getString(JBSbatKK_T_ADCHG.ITENS_SVKEI_KISUW_NO);
					// 審査結果送信コードを取得
					String skekka_s_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
					
					if (JKKStringUtil.isNullBlank(skekka_s_cd) || "0".equals(skekka_s_cd))	// 審査結果送信コードが未送信かNULLの場合
					{
						// 未送信の為、FALSEを設定
						mJUHEN_SEND_ST_MAP.put(wKey, SKEKKA_NOT_SEND);
					}
					else if (!mJUHEN_SEND_ST_MAP.containsKey(wKey))		// 送信ステータスが登録されていない場合に設定
					{
						// 送信済の為、TRUEを設定
						mJUHEN_SEND_ST_MAP.put(wKey, SKEKKA_SENDED);
					}
// △△△ ANK-3685-00-00 ADD END
// 2013.11.27 OM-2013-0004212 add start
					// 住所変更あり（念のため、ここでも設定しておく）
					juhenAri = true;
					
					// サービス契約ごとに設定する。
					String[] mJUHEN_KAISEN_SK_BY_SVC = null;
					// 移転先回線内訳番号を取得する
					mJUHEN_KAISEN_SK_BY_SVC = new String[]{
							// 移転先回線内訳番号
							result.getString(JBSbatKK_T_ADCHG.ITENS_SVKEI_KISUW_NO),
							// 住所変更異動区分
							result.getString(JBSbatKK_T_ADCHG.IDO_DIV),
							// 移転元回線内訳番号
							result.getString(JBSbatKK_T_ADCHG.ITNM_SVKEI_KISUW_NO)
					};
					mJUHEN_KAISEN_SK_MAP.put(svc_kei_no, mJUHEN_KAISEN_SK_BY_SVC);
// 2013.11.27 OM-2013-0004212 add end

// v10.02 MOD START
					// 住所変更情報が未取得かチェック
//					if(this.mJUHEN_KAISEN_SK == null)
					
					// 処理対象となる「住所変更番号」を取得
					String adchgNo = result.getString(JBSbatKK_T_ADCHG.ADCHG_NO);
					
					// 既に処理済の住所変更番号が存在しない場合
					if(!JKKStringUtil.isNullBlank(adchgNo) && !mADCHGNo.contains(adchgNo))
					{
						
						// 未処理の住所変更中情報「住所変更番号」を保持
						mADCHGNo.add(adchgNo);
// v10.02 MOD END
						// 移転先回線内訳番号を取得する
						this.mJUHEN_KAISEN_SK = new String[]{
// v7.03 2014/02/08 【OM-2014-0000531】DEL START
//								// 移転先回線内訳番号
//								result.getString(JBSbatKK_T_ADCHG.ITENS_SVKEI_KISUW_NO),
//								// 住所変更異動区分
//								result.getString(JBSbatKK_T_ADCHG.IDO_DIV),
//								// 移転元回線内訳番号
//								result.getString(JBSbatKK_T_ADCHG.ITNM_SVKEI_KISUW_NO)
// v7.03 2014/02/08 【OM-2014-0000531】DEL END
						};
						// すべての住所変更情報を一旦格納する
						while(result != null)
						{
							// 住所変更明細種別コードを取得
							String ad_stb_cd = result.getString(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_SBT_CD);
							// サービス契約内訳をリスト化する（住変後の解約判断用）
							if(JUHEN_SVKEIUW_NO.equals(ad_stb_cd))
							{
								// サービス契約内訳リストを格納
								this.mJUHEN_SVKEIUW_LIST.add(result);
								// 次のレコード
								result = this.db_KK_T_ADCHG.selectNext();
								continue;
							}
							// 変更後識別番号取得
							String juhen_go = result.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
							//住所変更後もこのレコード情報が使用されているかチェック
							if( juhen_go != null && !"".equals(juhen_go))
							{
								// 住所変更明細種別コードが機器提供サービス契約かチェック
								if(JUHEN_KKTK_SVKEI_NO.equals(ad_stb_cd))
								{
									// 機器提供サービス契約番号取得
									String kktk_key = result.getString(JBSbatKK_T_ADCHG_DTL.CHG_TG_KEI_NO);
									// 住変機器データをマップへ格納
									this.mJUHEN_KKTK_LIST.put(kktk_key, result);
								}
//								else if(JUHEN_SEKYU_SVKEI_NO.equals(ad_stb_cd))
//								{
//									// 住所変更後の請求契約番号取得
//									this.mJUHEN_SEIKYU_KEI_NO = result.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
//								}
								else
								{
									// 住所変更明細種別コードがサービス契約かチェック
									if(JUHEN_SVKEI_NO.equals(ad_stb_cd))
									{
										// 住所変更前サービス契約番号を住所変更後サービス契約番号をキーでマップに格納
										this.mJUHEN_BEFOR_SVKEINO_MAP.put(juhen_go, result.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO));
									}
									// 住変データ（機器提供サービス契約以外）格納
									this.mJUHEN_DTL_LIST.add(result);
								}
							}
// IT2-2014-0000232 2014/05/30 ADD START
							else
							{
								// 住所変更明細種別コードがオプションサービス契約かチェック
								if(JUHEN_OP_SVKEI_NO.equals(ad_stb_cd))
								{
									// 住所変更明細(解約オプション)リストに格納
									this.mJUHEN_DTL_OP_SVC_KAIYAKU_LIST.add(result);
								}
							}
// IT2-2014-0000232 2014/05/30 ADD END
							// 次のレコード
							result = this.db_KK_T_ADCHG.selectNext();
						}
					}
					//##############################################
					//# コース変更の異動があるかチェックして反映   #
					//##############################################
					// 異動予約にデータがあるか確認して値を置換する
					this.checkIDO_RSV(map);
					// 出力対象としてこのサービス契約情報を格納する
					innerWorkMap.add(map);
				}
// 2013.11.27 OM-2013-0004212 add start
				else {
					if (juhenAri) {
						// 住所変更のサービス契約以外に、住変でないサービス契約がある可能性があるので、
						// その分をinnerWorkMapに追加する
						// 異動予約にデータがあるか確認して値を置換する
						this.checkIDO_RSV(map);
						// 出力対象としてこのサービス契約情報を格納する
						innerWorkMap.add(map);
					}
				}
// 2013.11.27 OM-2013-0004212 add end
				
// 2013.11.27 OM-2013-0004212 del start
//			}
// 2013.11.27 OM-2013-0004212 del end
		}
		// OM-2014-0001472 2014/04/14 ADD START
		}
		// OM-2014-0001472 2014/04/14 ADD END
		
		// 住所変更中として出力するサービス契約情報があるかチェック
		if(innerWorkMap.size() == 0)
		{
			// 住所変更中は含まれないので、出力対象のサービス契約をカレントで取り直す
			for(JBSbatCommonDBInterface map : list)
			{
				// 審査結果送信コード
				String skekka_s_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
				// 審査結果送信コードが「２：ＮＧ通知済」かチェック
				if(skekka_s_cd != null && SKEKKA_SEND_CD_NG.equals(skekka_s_cd))
				{
					// ＮＧ通知済は既存でも出力しない
					continue;
				}
				
				// サービス契約番号
				String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
				// 運用年月日からカレントのサービス契約情報を取得
// v7.03 2014/02/08 【OM-2014-0000531】MOD START
//				Object[] param = { super.opeDate, "", svc_kei_no };
//				this.executeKK_T_SVC_KEI_KK_SELECT_006(param);
				Object[] param = { super.opeDate, svc_kei_no };
				this.executeKK_T_SVC_KEI_KK_SELECT_286(param);
// v7.03 2014/02/08 【OM-2014-0000531】MOD END
				JBSbatCommonDBInterface result = this.db_KK_T_SVC_KEI.selectNext();
				if(result != null)
				{
					//■■■ KAD-2012-000201 電話２番号目追加対応 START ■■■
					// 加入御礼書発行起因が異動区分・光電話・番号追加かチェック
					if(IDO_TELNO_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(result.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))))
					{
						//##############################################
						//# コース変更の異動があるかチェックして反映   #
						//##############################################
						// 異動予約にデータがあるか確認して値を置換する
						this.checkIDO_RSV(result);
					}
					//■■■ KAD-2012-000201 電話２番号目追加対応   END ■■■
					
					// カレントのサービス契約情報を格納
					innerWorkMap.add(result);
				}
			}
		}
		else
		{
			// 住所変更データがあるのでその中の光ネットに結びつくモバイル情報を探す
			for(JBSbatCommonDBInterface svc_map : innerWorkMap)
			{
				// 料金グループコード
				String prc_grp_cd = svc_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
				// 住所変更データが光ネットかチェック
				if(PRC_GRP_CD_HT.equals(prc_grp_cd)
					|| PRC_GRP_CD_MZNT.equals(prc_grp_cd)
					|| PRC_GRP_CD_MT.equals(prc_grp_cd))
				{
					// 転居先光ネットのサービス契約番号
					String svcKeiNo = svc_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
					// 光ネットに「ネット・モバイル割」で紐づく他のサービス契約があるかチェック
					JBSbatCommonDBInterface setParamWrib = new JBSbatCommonDBInterface();
					setParamWrib.setValue(svcKeiNo);
					setParamWrib.setValue(svcKeiNo);
					this.db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(setParamWrib, KK_T_WRIB_SVC_KEI_KK_SELECT_039);
					JBSbatCommonDBInterface rcvMap = this.db_KK_T_WRIB_SVC_KEI.selectNext();
					// 転居先のサービス契約番号に紐づくモバイルがあったかチェック
					if(rcvMap == null)
					{
						// 無いので住所変更元のサービス契約番号を取得
						String moto_svckei_no = this.mJUHEN_BEFOR_SVKEINO_MAP.get(svcKeiNo);
						// 住所変更元のサービス契約番号に紐づくモバイルがあるかチェック
						setParamWrib = new JBSbatCommonDBInterface();
						setParamWrib.setValue(moto_svckei_no);
						setParamWrib.setValue(moto_svckei_no);
						this.db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(setParamWrib, KK_T_WRIB_SVC_KEI_KK_SELECT_039);
						rcvMap = this.db_KK_T_WRIB_SVC_KEI.selectNext();
					}
					// モバイル情報出力フラグ（Trueならモバイル情報抽出済み）
					boolean mobOutFlg = false;
					// 割引情報からモバイル情報を抽出する
					while(rcvMap != null && !mobOutFlg)
					{
						// 光ネットに割引で紐づくサービス契約番号
						String wri_SvcKeiNo = rcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
						// 出力対象のリストから上記サービス契約を抽出する
						for(JBSbatCommonDBInterface listMap : list)
						{
							// 出力対象のサービス契約番号
							String m_SvcKeiNo = listMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
							// 光ネットに結びつくモバイル情報か確認
// IT1-2013-0001138 MOD START 
							if(m_SvcKeiNo != null && m_SvcKeiNo.equals(wri_SvcKeiNo))
// IT1-2013-0001138 MOD END
							{
								// 光ネットに結びつくモバイル情報なので出力対象とします。
								// 出力対象の料金グループコード
								String m_prc_grp_cd = listMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
								// モバイルサービス契約か確認
								if(PRC_GRP_CD_MBEM.equals(m_prc_grp_cd)
									|| PRC_GRP_CD_MBUQ.equals(m_prc_grp_cd)
									|| PRC_GRP_CD_MBWIFI.equals(m_prc_grp_cd))
								{
									// モバイルサービス契約情報をカレントで取り直す
// v7.03 2014/02/08 【OM-2014-0000531】MOD START
//									Object[] param = { super.opeDate, "", m_SvcKeiNo };
//									this.executeKK_T_SVC_KEI_KK_SELECT_006(param);
									Object[] param = { super.opeDate, m_SvcKeiNo };
									this.executeKK_T_SVC_KEI_KK_SELECT_286(param);
// v7.03 2014/02/08 【OM-2014-0000531】MOD END
									JBSbatCommonDBInterface result = this.db_KK_T_SVC_KEI.selectNext();
									if(result != null)
									{
										// カレントのモバイルサービス契約情報を格納
										innerWorkMap.add(result);
										mobOutFlg = true;
										// モバイル情報を一つ抽出したのでループを抜ける
										break;
									}
								}
							}
						}
						// 次のデータを取り出して、割引で紐づくすべてのサービス契約をチェックする
						rcvMap = this.db_KK_T_WRIB_SVC_KEI.selectNext();
					}
					// １回線に１ネットなので光ネットでチェック後は必ずブレイクする
					break;
				}
			}
		}

		// ネット、電話、テレビの順に並び変える
		ArrayList<JBSbatCommonDBInterface> net = new ArrayList<JBSbatCommonDBInterface>();
		ArrayList<JBSbatCommonDBInterface> tel = new ArrayList<JBSbatCommonDBInterface>();
		ArrayList<JBSbatCommonDBInterface> tv = new ArrayList<JBSbatCommonDBInterface>();
// 2013.11.27 OM-2013-0004212 add start
		ArrayList<String> svcKeiListWork = new ArrayList<String>();
// 2013.11.27 OM-2013-0004212 add end
		
		for(JBSbatCommonDBInterface innerMap : innerWorkMap)
		{
// 2013.11.27 OM-2013-0004212 add start
			String svcKeiNo = innerMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			if (svcKeiListWork.contains(svcKeiNo)) {
				// 同じサービス契約が重複して出力されるのを防ぐ
				continue;
			}
			svcKeiListWork.add(svcKeiNo);
// 2013.11.27 OM-2013-0004212 add end
			
			
			if(SVC_CD_NET.equals(innerMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				net.add(innerMap);
			}
			else if(SVC_CD_TV.equals(innerMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)))
			{
				tv.add(innerMap);
			}
			else
			{
				tel.add(innerMap);
			}
		}
		
		for(JBSbatCommonDBInterface map : net)
		{
			wkList.add(map);
		}
		for(JBSbatCommonDBInterface map : tel)
		{
			wkList.add(map);
		}
		for(JBSbatCommonDBInterface map : tv)
		{
			wkList.add(map);
		}
		
		// 出力リスト毎に必要な情報を再セット
		for(JBSbatCommonDBInterface map : wkList)
		{
			//##############################################
			//# 加入御礼書発行起因になった申込情報をセット #
			//##############################################
			// サービス契約番号
			String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// 起因になった申込明細番号
			String mskm_dtl_no = this.mKIIN_MSKM_DTL_NO_LIST.get(svc_kei_no);
			if(mskm_dtl_no != null)
			{
				// 申込情報を検索する
				JBSbatCommonDBInterface msdParam = new JBSbatCommonDBInterface();
				msdParam.setValue(mskm_dtl_no);
				this.db_KK_T_MSKM_DTL.selectBySqlDefine(msdParam, KK_T_MSKM_DTL_KK_SELECT_027);
				JBSbatCommonDBInterface result = this.db_KK_T_MSKM_DTL.selectNext();
				if(result != null)
				{
					// 申込番号
					map.setValue(JBSbatKK_T_MSKM.MSKM_NO, result.getString(JBSbatKK_T_MSKM.MSKM_NO));
					// 申込受付年月日時分秒
					map.setValue(JBSbatKK_T_MSKM.MSKM_UK_DTM, result.getString(JBSbatKK_T_MSKM.MSKM_UK_DTM));
					// 関西電力お客様情報授受同意有無
					map.setValue(JBSbatKK_T_MSKM.KEPCO_CUSTINFO_JUJU_DOI_UM, result.getString(JBSbatKK_T_MSKM.KEPCO_CUSTINFO_JUJU_DOI_UM));
					// 申込書到着年月日
					map.setValue(JBSbatKK_T_MSKM.MSKMSHO_ARIV_YMD, result.getString(JBSbatKK_T_MSKM.MSKMSHO_ARIV_YMD));
					// オプションサービス引継有無
					map.setValue(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM, result.getString(JBSbatKK_T_MSKM_DTL.OP_SVC_HKTGI_UM));
					// 申込明細番号
					map.setValue(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO, result.getString(JBSbatKK_T_MSKM_DTL.MSKM_DTL_NO));
					// 申込書番号
					map.setValue(JBSbatKK_T_MSKM_DTL.MSKMSHO_NO, result.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_NO));
					// 申込書明細番号
					map.setValue(JBSbatKK_T_MSKM_DTL.MSKMSHO_DTL_NO, result.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_DTL_NO));
					// 申込形態コード
					map.setValue(JBSbatKK_T_MSKM_DTL.MSKM_FORM_CD, result.getString(JBSbatKK_T_MSKM_DTL.MSKM_FORM_CD));
				}
			}
		}
		// ANK-4174-00-00 ADD START
		// 出力リスト毎に必要な情報を再セット
		for(JBSbatCommonDBInterface map : wkList)
		{
			//##############################################
			//# 電子交付同意有無の取得                     #
			//##############################################
			// サービス契約番号
			String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// 起因になった申込明細番号
			String mskm_dtl_no = this.mKIIN_MSKM_DTL_NO_LIST_DNSDOI.get(svc_kei_no);
			if(mskm_dtl_no != null)
			{
				// 申込情報を検索する
				JBSbatCommonDBInterface msdParam = new JBSbatCommonDBInterface();
				msdParam.setValue(mskm_dtl_no);
				this.db_KK_T_MSKM_DTL.selectBySqlDefine(msdParam, KK_T_MSKM_DTL_KK_SELECT_027);
				JBSbatCommonDBInterface result = this.db_KK_T_MSKM_DTL.selectNext();
				if(result != null)
				{
					// 電子交付同意有無
					map.setValue(JBSbatKK_T_MSKM_DTL.DNSKH_DOI_UM, result.getString(JBSbatKK_T_MSKM_DTL.DNSKH_DOI_UM));
				}
			}
		}

		// ANK-4174-00-00 ADD END
	}

// 2013.11.27 OM-2013-0004212 mod start

//	/**
//	 * 加入御礼書発行の起因となった異動区分と申込明細番号を取得し格納する
//	 * 
//	 * @param svc_kei_no 対象サービス契約番号
//	 * @param checkList チェックする条件リスト
//	 * @throws Exception 各種エラー
//	 */
//	private void getIDODIV_MSKMDTL(ArrayList<JBSbatCommonDBInterface> list) throws Exception
//	{
//		// 起因の異動区分チェック用リスト（以下に一致しないと次を探す）
//		ArrayList<String> checkIDO = new ArrayList<String>();
//		checkIDO.add(IDO_JUHEN_ADD);	//
//		checkIDO.add(IDO_NEW_KEI);		// これらは必ず申込書明細番号が入っている
//		checkIDO.add(IDO_ADD_KEI);		//
//		
//		// サービス情報訂正、登録内容修正は発行起因にしない処理用
//		ArrayList<String> checkJogaiIDO = new ArrayList<String>();
//		checkJogaiIDO.add(IDO_INFO_CHG);		// サービス情報訂正
//		checkJogaiIDO.add(IDO_INFO_TEISEI);		// 登録内容修正
//		
//		// 出力対象のサービス契約情報を順に見る
//		for(JBSbatCommonDBInterface map : list)
//		{
//			// チェック用リスト
//			ArrayList<String> checkList = new ArrayList<String>();
//			// サービス契約番号
//			String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
//			// 審査結果送信コード
//			String skekka_send_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
//			// 審査結果コードが未送信かチェック
//			if(skekka_send_cd == null || skekka_send_cd.equals(SKEKKA_SEND_CD_NON))
//			{
//				// チェック用リストに送信済値をセット
//				// 2013/09/09 OM-2013-0001843 mod start
////				checkList.add(KANUORE_DATA_SBT_CD_K_KANUORE);
////				checkList.add(KANUORE_DATA_SBT_CD_K_SKEKKANG);
//				checkList.add(SKEKKA_SEND_CD_OK);
//				checkList.add(SKEKKA_SEND_CD_NG);
//				checkList.add(SKEKKA_SEND_CD_NO);
//				// 2013/09/09 OM-2013-0001843 mod end
//			}
//			
//			// サービス契約の過去の情報を取得する、履歴の新しい順に取得する
//			Object[] setParam = { svc_kei_no };
//			this.executeKK_T_KANUORESO_HAKKO_KK_SELECT_005(setParam);
//			JBSbatCommonDBInterface result = new JBSbatCommonDBInterface();
//	
//			// サービス契約の全履歴を捜査する
//			result = this.db_KK_T_KANUORESO_HAKKO.selectNext();
//			// １レコードしかない場合対応
//			if(result != null)
//			{
//				// 申込明細番号
//				String mskm_dtl_cd = result.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO);
//				// 加入御礼書抽出起因の申込明細番号を保持
//				this.mKIIN_MSKM_DTL_NO_LIST.put(svc_kei_no, mskm_dtl_cd);
//				// 異動区分
//				String ido_div = result.getString(JBSbatKK_T_SVC_KEI.IDO_DIV);
//				// 加入御礼書抽出起因の異動区分を保持
//				this.mKIIN_IDO_DIV_LIST.put(svc_kei_no, ido_div);
//			}
//			
//			// 異動区分確定フラグ(異動区分が確定しているか）
//			boolean ido_kakutei = false;
//			while (result != null)
//			{
//				// 申込明細番号
//				String mskm_dtl_cd = result.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO);
//				// 異動区分
//				String ido_div = result.getString(JBSbatKK_T_SVC_KEI.IDO_DIV);
//				
//				// 審査結果送信コードとチェックリストを比較
//				if (checkList.contains(result.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD)))
//				{
//					// 申込書明細番号が入ってない可能性のある異動の場合スキップして次へ
//					if(checkIDO.contains(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)))
//					{
//						// 異動区分、申込明細番号ともに確定
//						
//						// OM-2013-0003462 2013.10.23 mod start
//						// 申込明細番号をもとに申込明細スキーマを検索して、申込書明細番号を取得する。
//						String mskm_dtl_no = this.mKIIN_MSKM_DTL_NO_LIST.get(svc_kei_no);
//						if(JKKStringUtil.isNullBlank(mskm_dtl_no)){
//							// 退避されていない場合は、取得した申込明細番号を設定
//							mskm_dtl_no = mskm_dtl_cd;
//						}
//						String mskm_sho_dtl_no = getMskmShoDtlNo(mskm_dtl_no);
//						// 申込書明細番号が設定されていない場合
//						if (JKKStringUtil.isNullBlank(mskm_sho_dtl_no)) {
//							// 起因の異動区分のみ確定（申込明細番号のみ検索を続ける）
//							ido_kakutei = true;	
//						} else {
//							// 設定されていれば加入御礼書抽出起因の申込明細番号を保持
//							this.mKIIN_MSKM_DTL_NO_LIST.put(svc_kei_no, mskm_dtl_no);
//							break;
//						}
//						// OM-2013-0003462 2013.10.23 mod end
//					}
//					else
//					{
//						// サービス情報訂正と登録内容修正は発行起因としない（住所変更がでなくなるため）
//						if(!checkJogaiIDO.contains(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)))
//						{
//							// 起因の異動区分のみ確定（申込明細番号のみ検索を続ける）
//							ido_kakutei = true;
//						}
//					}
//				}
//				// 加入御礼書抽出起因の申込明細番号を保持
//				this.mKIIN_MSKM_DTL_NO_LIST.put(svc_kei_no, mskm_dtl_cd);
//				// 異動区分が確定していないかチェック
//				if(!ido_kakutei)
//				{
//					// 加入御礼書抽出起因の異動区分を保持
//					this.mKIIN_IDO_DIV_LIST.put(svc_kei_no, ido_div);
//				}
//				// 次の履歴を参照する
//				result = db_KK_T_KANUORESO_HAKKO.selectNext();
//			}
//			
//			super.logPrint.printDebugLog("## getIDODIV_MSKMDTL(): svcKeiNo= + " + svc_kei_no + ", mKIIN_IDO_DIV_LIST=" + mKIIN_IDO_DIV_LIST.get(svc_kei_no));
//			super.logPrint.printDebugLog("## getIDODIV_MSKMDTL(): svcKeiNo= + " + svc_kei_no + ", mKIIN_MSKM_DTL_NO_LIST=" + mKIIN_MSKM_DTL_NO_LIST.get(svc_kei_no));
//			
//		}
//	}

	/**
	 * 加入御礼書発行の起因となった異動区分と申込明細番号を取得し格納する
	 * 
	 * @param svc_kei_no 対象サービス契約番号
	 * @param checkList チェックする条件リスト
	 * @throws Exception 各種エラー
	 */
	private void getIDODIV_MSKMDTL(ArrayList<JBSbatCommonDBInterface> list) throws Exception
	{
		// 起因の異動区分候補（以下に一致する異動区分のレコードを探す。
		// 最新順に見つけたものを起因の異動区分とします。
		ArrayList<String> checkIDO = new ArrayList<String>();
		checkIDO.add(IDO_JUHEN_ADD);	// 住所変更
		checkIDO.add(IDO_NEW_KEI);		// 新規
		checkIDO.add(IDO_ADD_KEI);		// 追加
		checkIDO.add(IDO_TELNO_ADD);	// 電話番号追加
		
		// ANK-4157-00-00 ADD START
		// 起因の異動区分候補（電子交付同意有無用）
		// 最新順に見つけたものを起因の異動区分とします。
		ArrayList<String> checkIDO_dnsDoi = new ArrayList<String>();
		checkIDO_dnsDoi.add(IDO_JUHEN_ADD);	// 住所変更
		checkIDO_dnsDoi.add(IDO_NEW_KEI);		// 新規
		checkIDO_dnsDoi.add(IDO_ADD_KEI);		// 追加
		// ANK-4157-00-00 ADD END

		// 出力対象のサービス契約情報を順に見る
		for(JBSbatCommonDBInterface map : list)
		{
			// チェック用リスト
//			ArrayList<String> checkList = new ArrayList<String>();
			// サービス契約番号
			String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// 審査結果送信コード
//			String skekka_send_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);

			// サービス契約の過去の情報を取得する、履歴の新しい順に取得する
			Object[] setParam = { svc_kei_no };
			this.executeKK_T_KANUORESO_HAKKO_KK_SELECT_005(setParam);
			JBSbatCommonDBInterface result = new JBSbatCommonDBInterface();
			List<JBSbatCommonDBInterface> resultList = new ArrayList<JBSbatCommonDBInterface>();
			result = this.db_KK_T_KANUORESO_HAKKO.selectNext();
			while (result != null) {
				resultList.add(result);
				result = this.db_KK_T_KANUORESO_HAKKO.selectNext();
			}

			boolean idoDivFlg = false;
	
			// サービス契約を新しい順にたどって、異動区分、申込明細番号を特定する。
			for (JBSbatCommonDBInterface svcKakoMap : resultList) {
				// 異動区分
				String ido_div = svcKakoMap.getString(JBSbatKK_T_SVC_KEI.IDO_DIV);
				// 申込明細番号
				String mskm_dtl_no = svcKakoMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO);
				
				// 異動区分（候補）と一致する場合、マップに格納
				if (checkIDO.contains(ido_div)) {
					if (!idoDivFlg) {
						mKIIN_IDO_DIV_LIST.put(svc_kei_no, ido_div);
						idoDivFlg = true;
					}

				}
				
				// 異動区分を特定できたら、それ以降レコードで申込明細番号を特定する。
				if (idoDivFlg) {
					if (! JKKStringUtil.isNullBlank(mskm_dtl_no)) {
						String mskm_sho_dtl_no = getMskmShoDtlNo(mskm_dtl_no);
						// 申込書明細番号が設定されている申込明細番号をマップに格納
						if ( ! JKKStringUtil.isNullBlank(mskm_sho_dtl_no) ) {
							mKIIN_MSKM_DTL_NO_LIST.put(svc_kei_no, mskm_dtl_no);
							// 異動区分、申込明細番号の両方が決まったので、抜ける。
							break;
						}
					}
				}
			}
			
			// ANK-4174-00-00 ADD START
			boolean idoDivFlg_dnsDoi = false;
			
			// サービス契約を新しい順にたどって、異動区分、申込明細番号を特定する。
			for (JBSbatCommonDBInterface svcKakoMap : resultList) {
				// 異動区分
				String ido_div = svcKakoMap.getString(JBSbatKK_T_SVC_KEI.IDO_DIV);
				// 申込明細番号
				String mskm_dtl_no = svcKakoMap.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO);
				
				// 異動区分（候補）と一致する場合、マップに格納
				if (checkIDO.contains(ido_div)) {
					if (!idoDivFlg_dnsDoi) {
						idoDivFlg_dnsDoi = true;
					}

				}
				
				// 異動区分を特定できたら、それ以降レコードで申込明細番号を特定する。
				if (idoDivFlg_dnsDoi) {
					if (! JKKStringUtil.isNullBlank(mskm_dtl_no)) {
						String mskm_sho_dtl_no = getMskmShoDtlNo(mskm_dtl_no);
						// 申込書明細番号が設定されている申込明細番号をマップに格納
						if ( ! JKKStringUtil.isNullBlank(mskm_sho_dtl_no) ) {
							mKIIN_MSKM_DTL_NO_LIST_DNSDOI.put(svc_kei_no, mskm_dtl_no);
							// 申込明細番号が決まったので、抜ける。
							break;
						}
					}
				}
			}
			// ANK-4174-00-00 ADD END

// v7.03 2014/02/08 【OM-2014-0000531】DEL START
//			super.logPrint.printDebugLog("## getIDODIV_MSKMDTL new (): svcKeiNo= + " + svc_kei_no + ", mKIIN_IDO_DIV_LIST=" + mKIIN_IDO_DIV_LIST.get(svc_kei_no));
//			super.logPrint.printDebugLog("## getIDODIV_MSKMDTL new (): svcKeiNo= + " + svc_kei_no + ", mKIIN_MSKM_DTL_NO_LIST=" + mKIIN_MSKM_DTL_NO_LIST.get(svc_kei_no));
// v7.03 2014/02/08 【OM-2014-0000531】DEL END
		}
		
	}
// 2013.11.27 OM-2013-0004212 mod end

// 2013.11.27 OM-2013-0004212 mod start
	/**
	 * 引数のマップに、第2引数の文字列が値として含まれていればtrueを返却します。
	 * @param map 検索対象のマップ
	 * @param tgtVal 検索対象の文字列
	 */
	private boolean isContains( HashMap<String, String> map, String tgtVal ) {
		boolean retBoo = false;
		
		if (map != null && tgtVal != null) {
			for (Map.Entry<String, String> entry : map.entrySet()) {
				String idoDiv = entry.getValue();
				if (! JKKStringUtil.isNullBlank(idoDiv)) {
					if (tgtVal.equals(idoDiv)) {
						retBoo = true;
						break;
					}
				}
			}
		}
		return retBoo;
	}
// 2013.11.27 OM-2013-0004212 mod end

	// OM-2013-0003462 2013.10.23 add start
	/**
	 * 申込書明細番号を取得<BR>
	 * <BR>
	 * 申込明細スキーマより申込書明細番号を取得します。<BR>
	 * <BR>
	 * @param svc_kei_no 申込明細番号
	 * @throws Exception 
	 */
	private String getMskmShoDtlNo(String mskm_dtl_cd) throws Exception
	{
		// 結果取得用
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();
		
		// パラメータの設定
		Object[] setParam = {
				mskm_dtl_cd	// 申込明細番号
		};
		
		executeKK_T_MSKM_DTL_KK_SELECT_022(setParam);
		
		// １件目を取得
		rcvMap = db_KK_T_MSKM_DTL.selectNext();
		
		if(null != rcvMap)
		{
			return (String)rcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_DTL_NO);
		}
		
		return null;
	}
	// OM-2013-0003462 2013.10.23 add end
	
	/**
	 * サービス契約番号で異動予約を検索して料金コース、プラン、グループを取得する
	 * 
	 * @param map 出力対象サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void checkIDO_RSV(JBSbatCommonDBInterface map) throws Exception
	{
		// 電話用フラグを初期化
		this.mTEL_DSL_IDO_RSV_FLG = false;
		
		// サービス契約番号
		String svc_kei_no = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// 異動予約を検索
		JBSbatCommonDBInterface param = new JBSbatCommonDBInterface();
		param.setValue(svc_kei_no);
		this.db_KK_T_IDO_RSV.selectBySqlDefine(param, KK_T_IDO_RSV_KK_SELECT_038);
		JBSbatCommonDBInterface result = this.db_KK_T_IDO_RSV.selectNext();
		if(result != null)
		{
			String var = null;
			// 料金プランコード
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD);
			if(var != null)
			{
				// 置換
				map.setValue(JBSbatKK_T_SVC_KEI.PPLAN_CD, var);
			}
			else
			{
				map.setValue(JBSbatKK_T_SVC_KEI.PPLAN_CD, "");
			}
			// 料金コースコード
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD);
			if(var != null)
			{
				// 置換
				map.setValue(JBSbatKK_T_SVC_KEI.PCRS_CD, var);
			}
			else
			{
				map.setValue(JBSbatKK_T_SVC_KEI.PCRS_CD, "");
			}
			// 料金グループコード
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_PRC_GRP_CD);
			if(var != null)
			{
				// 電話の異動予約がとれたかどうかチェック
				if(var.equals(PRC_GRP_CD_TEL))
				{
					// 電話の異動予約があるのでフラグを立てる（この予約を優先で使用する）
					this.mTEL_DSL_IDO_RSV_FLG = true;
				}
				// 置換
				map.setValue(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, var);
			}
			else
			{
				map.setValue(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, "");
			}
			// 提供方式契約番号
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_TK_HOSHIKI_KEI_NO);
			if(var != null)
			{
				// 置換
				map.setValue(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO, var);
			}
			else
			{
				map.setValue(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO, "");
			}

// ANK-2299-00-00 2014/09/09 ADD START
			// 申込明細番号をコース変更時の申込明細番号データマップに追加
			var = result.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO);
			if(!JKKStringUtil.isNullBlank(var))
			{
				this.mCRS_CHG_MSKM_DTL_NO_LIST.put(svc_kei_no, var);
			}
// ANK-2299-00-00 2014/09/09 ADD END
		}
	}

	// 20130415 IT1-2013-0000876 Add Start
//	/**
//	 * 契約者タイプ判定<BR>
//	 * <BR>
//	 * 契約者タイプコードから抽出対象か否かを判定。
//	 * @return 契約者タイプコードが加入御礼書発行条件の発行条件に一致すればTrue<BR>
//	 * @throws Exception 
//	 */
//	private boolean jdgKeishaType(JBSbatServiceInterfaceMap inRcvMap) throws Exception
//	{
//		// 契約者タイプコード
//		String keishaTypeCd = inRcvMap.getString(JBSbatCK_T_CUST.KEISHA_TYPE_CD);
//		if(null == keishaTypeCd || "".equals(keishaTypeCd))
//		{
//			return false;
//		}
//		HashMap<String, String>KorsHakkoMap = null;
//		String mapKeishaTypeCd = "";
//		String korshakkoCd = "";
//
//		// 審査結果リスト
//		if(null == this.mKorsHakkoList 
//				|| null == this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD));
//		ArrayList<HashMap<String, String>> KorsHakkoList = this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD);
//		if(null == KorsHakkoList || 1 > KorsHakkoList.size())
//		{
//			return true;
//		}
//		for(int i = 0; i < KorsHakkoList.size(); i++)
//		{
//			KorsHakkoMap = KorsHakkoList.get(i);
//			
//			// 契約者タイプコード
//			mapKeishaTypeCd = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD);
//			
//			// 加入御礼書発行コード
//			korshakkoCd = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD);
//			
//			// 契約者タイプコードを比較
//			if(mapKeishaTypeCd.equals(keishaTypeCd))
//			{
//				// 加入御礼書発行コードを確認
//				if(korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_KANUORE) || korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_SKEKKANG))
//				{
//					// 発行対象
//					return true;
//				}
//				else
//				{
//					// 発行対象外
//					return false;
//				}
//			}
//		}
//		// 出力対象外のみがマスタに存在するため、一致しない場合は抽出対象とする。
//		return true;
//	}

	/**
	 * 料金グループコード判定<BR>
	 * <BR>
	 * 料金グループコードから抽出対象か否かを判定。
	 * @return 料金グループコードが加入御礼書発行条件の発行条件に一致すればTrue<BR>
	 * @throws Exception 
	 */
	private boolean jdgPrcGrp(JBSbatCommonDBInterface inRcvMap) throws Exception
	{
		// 料金グループコード
		String prc_grp_cd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		HashMap<String, String>KorsHakkoMap = null;
		String mapPrcGrpCd = "";
		String korshakkoCd = "";

		// 審査結果リスト
		if(null == this.mKorsHakkoList 
				|| null == this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD));
		ArrayList<HashMap<String, String>> KorsHakkoList = this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD);
		if(null == KorsHakkoList || 1 > KorsHakkoList.size())
		{
			return true;
		}
		for(int i = 0; i < KorsHakkoList.size(); i++)
		{
			KorsHakkoMap = KorsHakkoList.get(i);
			
			// 料金グループコード
			mapPrcGrpCd = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD);
			
			// 加入御礼書発行コード
			korshakkoCd = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD);
			
			// 料金グループコードを比較
			if(mapPrcGrpCd.equals(prc_grp_cd))
			{
				// 加入御礼書発行コードを確認
				if(korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_KANUORE) || korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_SKEKKANG))
				{
					// 発行対象
					return true;
				}
				else
				{
					// 発行対象外
					return false;
				}
			}
		}
		// 出力対象のみがマスタに存在するため、一致しない場合は抽出対象外とする。
		return false;
	}

	/**
	 * サービス契約ステータス判定<BR>
	 * <BR>
	 * サービス契約ステータスから抽出対象か否かを判定。
	 * @return サービス契約ステータスが加入御礼書発行条件の発行条件に一致すればTrue<BR>
	 * @throws Exception 
	 */
	private boolean jdgSvcKeiStat(JBSbatCommonDBInterface inRcvMap) throws Exception
	{
		// サービス契約ステータス
		String svcKeiStat = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
		HashMap<String, String>KorsHakkoMap = null;
		String mapSvcKeiStat = "";
		String korshakkoCd = "";

		// 審査結果リスト
		if(null == this.mKorsHakkoList 
				|| null == this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT));
		ArrayList<HashMap<String, String>> KorsHakkoList = this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT);
		if(null == KorsHakkoList || 1 > KorsHakkoList.size())
		{
			return true;
		}
		for(int i = 0; i < KorsHakkoList.size(); i++)
		{
			KorsHakkoMap = KorsHakkoList.get(i);
			
			// サービス契約ステータス
			mapSvcKeiStat = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT);
			
			// 加入御礼書発行コード
			korshakkoCd = KorsHakkoMap.get(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD);
			
			// サービス契約ステータスを比較
			if(mapSvcKeiStat.equals(svcKeiStat))
			{
				// 加入御礼書発行コードを確認
				if(korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_KANUORE) || korshakkoCd.equals(KANUORE_DATA_SBT_CD_K_SKEKKANG))
				{
					// 発行対象
					return true;
				}
				else
				{
					// 発行対象外
					return false;
				}
			}
		}
		
		// ANK-4215-00-00 ADD START
		// 受付済は抽出対象外とする
		if(SVC_KEI_STAT_010.equals(svcKeiStat))
		{
			// 発行対象外
			return false;
		}
		
		// 未照査、当日照査についても抽出対象外とする
		String shosa_ymd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD);
		if (shosa_ymd == null || "".equals(shosa_ymd) || shosa_ymd.compareTo(this.opeDate) >= 0)
		{
			// 発行対象外
			return false;
		}
		// ANK-4215-00-00 ADD END
		// 出力対象外のみがマスタに存在するため、一致しない場合は抽出対象とする。
		return true;
	}
	// 20130415 IT1-2013-0000876 Add End

	/**
	 * 照査結果判定<BR>
	 * <BR>
	 * 審査結果、および、不良顧客チェックNGの場合のみ、照査結果の状態を抽出条件とします。
	 * @param skekka_cd
	 * @param shosa_dsl_fin_cd
	 * @return 審査結果コードが審査完了の場合、照査結果がOKであればTrue<BR>
	 * 審査結果コードが不良顧客チェックNGの場合、照査結果がNGであればTrue<BR>
	 * 審査結果コードがサービスエリア外関連コードの場合、照査結果は何でもTrue<BR>
	 * @throws Exception 
	 */
	private boolean jdgShosa(JBSbatCommonDBInterface inRcvMap) throws Exception
	{
		// 審査結果コード
		String skekka_cd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD);
		// 照査解約完了コード 
		String shosa_dsl_fin_cd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_DSL_FIN_CD);

		// 20130415 IT1-2013-0000876 Add Start
		if(null == skekka_cd || "".equals(skekka_cd))
		{
			return false;
		}
		if(null == shosa_dsl_fin_cd)
		{
			shosa_dsl_fin_cd = "";
		}
		// 審査結果リスト
		if(null == this.mKorsHakkoList 
				|| null == this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD));
		ArrayList<HashMap<String, String>> KorsHakkoListSkekka = this.mKorsHakkoList.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD);
		if(null == KorsHakkoListSkekka || 1 > KorsHakkoListSkekka.size())
		{
			return true;
		}
		HashMap<String, String>skekkaMap = new HashMap<String, String>();
		String map_skekka_cd = null;
		String map_shosa_dsl_fin_cd = null;
		for(int i = 0; i < KorsHakkoListSkekka.size(); i++)
		{
			skekkaMap = KorsHakkoListSkekka.get(i);
			
			map_skekka_cd = skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD);
			
			if(skekka_cd.equals(map_skekka_cd))
			{
				// サービス契約.審査結果コードが加入御礼書実施条件.審査結果コード と一致
				if(null == skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD) 
						|| "".equals(skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD)))
				{
					// 照査結果コードの条件がない場合は出力対象
					return true;
				}
				// 照査結果コードの条件がある場合
				map_shosa_dsl_fin_cd = skekkaMap.get(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD);
				if(shosa_dsl_fin_cd.equals(map_shosa_dsl_fin_cd))
				{
					// 審査結果コードが一致
					return true;
				}
				else
				{
					// 審査結果コードが不一致
					return false;
				}
			}
		}
		// 審査結果コードが不一致
		return false;
		// 20130415 IT1-2013-0000876 Add End
		// 20130415 IT1-2013-0000876 Delete Start
//		// 審査結果コードが審査完了の場合
//		if (SKEKKA_CD_NET_KANUOREBF.equals(skekka_cd) ||
//				SKEKKA_CD_MOBILE_KANUOREBF.equals(skekka_cd) ||
//				SKEKKA_CD_MOBILE_KANUOREAF.equals(skekka_cd) ||
//				SKEKKA_CD_MOBILE_AIR_KANUOREBF.equals(skekka_cd) ||
//				SKEKKA_CD_TEL_KANUOREBF.equals(skekka_cd))
//		{
//			// 照査結果がOKであればTrue
//			if (SHOSA_OK.equals(shosa_dsl_fin_cd))
//			{
//				return true;
//			}
//			else
//			{
//				return false;
//			}
//		}
//
//		// 審査結果コードが不良顧客チェックNGの場合
//		if (SKEKKA_CD_MOBILE_HURYO.equals(skekka_cd) ||
//				SKEKKA_CD_AIR_HURYO.equals(skekka_cd) ||
//				SKEKKA_CD_NET_HURYO.equals(skekka_cd) ||
//				SKEKKA_CD_TV_HURYO_CUST.equals(skekka_cd))
//		{
//			// 照査結果がNGであればTrue
//			if (SHOSA_NG.equals(shosa_dsl_fin_cd))
//			{
//				return true;
//			}
//			else
//			{
//				return false;
//			}
//		}
//
//		// サービスエリア外関連コードの場合
//		if(SKEKKA_CD_01.equals(skekka_cd) ||
//				SKEKKA_CD_02.equals(skekka_cd) ||
//				SKEKKA_CD_04.equals(skekka_cd) ||
//				SKEKKA_CD_05.equals(skekka_cd) ||
//				SKEKKA_CD_08.equals(skekka_cd) ||
//				SKEKKA_CD_11.equals(skekka_cd) ||
//				SKEKKA_CD_14.equals(skekka_cd) ||
//				SKEKKA_CD_15.equals(skekka_cd) ||
//				SKEKKA_CD_31.equals(skekka_cd) ||
//				SKEKKA_CD_32.equals(skekka_cd) ||
//				SKEKKA_CD_34.equals(skekka_cd) ||
//				SKEKKA_CD_35.equals(skekka_cd) ||
//				SKEKKA_CD_38.equals(skekka_cd) ||
//				SKEKKA_CD_66.equals(skekka_cd) ||
//				SKEKKA_CD_67.equals(skekka_cd) ||
//				SKEKKA_CD_68.equals(skekka_cd) ||
//				SKEKKA_CD_91.equals(skekka_cd) ||
//				SKEKKA_CD_92.equals(skekka_cd) ||
//				SKEKKA_CD_94.equals(skekka_cd))
//		{
//			return true;
//		}
//		else
//		{
//			return false;
//		}
		// 20130415 IT1-2013-0000876 Delete End
	}
	
	/**
	 * 申込書番号判定<BR>
	 * <BR>
	 * 以下に該当する場合はFalseを返します。<BR>
	 * <li>??CTJ*（住所変更）
	 * <li>??BSJC*（住所変更）
	 * <li>??CJH*（住所変更）
	 * <li>??WTY*（面開発）
	 * <li>??CTY*（面開発）
	 * <li>??JHSC（当社都合工事）
	 * <li>??JP**（収容変更）
	 * @param mskmsho_no
	 * @return 抽出対象の場合True
	 * @throws Exception 各種エラー
	 */
	private boolean jdgMskmsho(JBSbatCommonDBInterface inRcvMap) throws Exception
	{
		// 申込書番号
// 2013.11.27 OM-2013-0004212 mod start
//		String mskmsho_no = inRcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_NO);

		// 申込書番号（中身は申込明細.申込書明細番号）ファイル出力と同じ中身で判定する。
		String mskmsho_no = inRcvMap.getString(JBSbatKK_T_MSKM_DTL.MSKMSHO_DTL_NO);
// 2013.11.27 OM-2013-0004212 mod end
		// 発行なしリストから発行対象外申込書番号リストを抽出
		ArrayList<String> non_list = this.mKorsHakkoListNON.get(KORS_SBT_CD_MSKMSHONO);
		if(mskmsho_no != null && non_list != null)
		{
			for(String pattern : non_list)
			{
				// 正規表現比較
				if(pattern != null && Pattern.matches(pattern, mskmsho_no))
				{
					return false;
				}
			}
		}
		return true;
	}
	
	/**
	 * オプションサービス契約取得（サービス契約番号にひもづく）<BR>
	 * <BR>
	 * サービス契約番号にひもづくオプションサービス契約を取得します。<BR>
	 * 住所変更中の場合は、引継いだオプションサービス契約も含めて取得します。<BR>
	 * <BR>
	 * @param outmap 返却用Map
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 各種エラー
	 */
	private void getOp_svc_kei(HashMap<String, String> outmap, String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用
		
		// パラメータの設定
		Object[] setParam = {
				svc_kei_no,
				this.opeDate,
		};
		
		executeKK_T_OP_SVC_KEI_KK_SELECT_003(setParam);
		
		int cnt = 0;
		
		// １件目を先読み
		rcvMap = db_KK_T_OP_SVC_KEI.selectNext();

		// 結果を取得
		while(rcvMap != null)
		{
			cnt++;
			// オプションサービスコード
			outmap.put(cnt + "",
					rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD));
			
			// 次のデータを読む
			rcvMap = db_KK_T_OP_SVC_KEI.selectNext();
		}

		// ST2-2013-0001495 2013/03/18 ADD START
		// 住所変更中の場合は、引継いだオプション情報も含めて取得する。
		// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && this.mJUHEN_KAISEN_SK[1].equals(IDO_JUHEN_ADD))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && mJUHEN_KAISEN_SK_svc[1].equals(IDO_JUHEN_ADD))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更前のサービス契約番号を取得
			String moto_svckei_NO = this.mJUHEN_BEFOR_SVKEINO_MAP.get(svc_kei_no);
			if (moto_svckei_NO != null && !"".equals(moto_svckei_NO))
			{
				// パラメータの設定
				Object[] setMotoParam = {
					moto_svckei_NO,
					this.opeDate,
				};
				executeKK_T_OP_SVC_KEI_KK_SELECT_003(setMotoParam);
				// １件目を先読み
				rcvMap = db_KK_T_OP_SVC_KEI.selectNext();
		
				// 結果を取得
				while(rcvMap != null)
				{
					String opSvcKeiNo = rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
// 2013.11.27 OM-2013-0004212 mod start
//					if (jdgJuhenHktgOp_svc_kei(opSvcKeiNo))
					if (jdgJuhenHktgOp_svc_kei(opSvcKeiNo, svc_kei_no))
// 2013.11.27 OM-2013-0004212 mod end
					{
						// オプションサービスコード
						cnt++;
						outmap.put(cnt + "", rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD));
					}
					// 次のデータを読む
					rcvMap = db_KK_T_OP_SVC_KEI.selectNext();
				}
			}
		}
		// ST2-2013-0001495 2013/03/18 ADD END
	}

	/**
	 * オプションサービス契約取得（サービス契約内訳番号にひもづく）<BR>
	 * <BR>
	 * サービス契約内訳番号にひもづくオプションサービス契約を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用Map
	 * @param svc_kei_ucwk_no サービス契約内訳番号
	 * @param svc_kei_no サービス契約内訳番号
	 * @throws Exception 
	 */
// 2013.11.27 OM-2013-0004212 mod start
//	private void getOp_svc_kei_ucwk(HashMap<String, String> outmap, String svc_kei_ucwk_no) throws Exception
	private void getOp_svc_kei_ucwk(HashMap<String, String> outmap, String svc_kei_ucwk_no, String svc_kei_no) throws Exception
// 2013.11.27 OM-2013-0004212 mod end
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用

		// パラメータの設定
		Object[] setParam = {
				svc_kei_ucwk_no,
				this.opeDate,
		};
		
		executeKK_T_OP_SVC_KEI_KK_SELECT_004(setParam);
		
		int cnt = 0;
		
		// １件目を先読み
		rcvMap = db_KK_T_OP_SVC_KEI.selectNext();

		// 結果を取得
		while(rcvMap != null)
		{
			// ST2-2013-0001495 2013/03/18 MOD START
			// 住所変更によるオプションの引継をチェック
			String opSvcKeiNo = rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
// 2013.11.27 OM-2013-0004212 mod start
//			if (this.jdgJuhenHktgOp_svc_kei(opSvcKeiNo))
			if (this.jdgJuhenHktgOp_svc_kei(opSvcKeiNo, svc_kei_no))
// 2013.11.27 OM-2013-0004212 mod end
			{
				cnt++;
				// オプションサービスコード
				String op_svc_cd = rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD);
				outmap.put(cnt + "", op_svc_cd);
				
				// オプションサービスコードが「転送電話」「発信者番号表示」の場合
				// サブオプションに「転送電話選択」「非通知着信拒否」がないか探しにいく
				if(OP_SVC_CD_TENSOTEL.equals(op_svc_cd) || OP_SVC_CD_HASINSHADSP.equals(op_svc_cd))
				{
					JBSbatCommonDBInterface rcvMapSb = new JBSbatCommonDBInterface(); // 結果取得用
					
					String op_svc_kei_no = rcvMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
					// パラメータの設定
					Object[] setParamSb = {
							op_svc_kei_no,
							this.opeDate,
					};
					
					executeKK_T_SBOP_SVC_KEI_KK_SELECT_015(setParamSb);
					
					// １件目を先読み
					rcvMapSb = db_KK_T_SBOP_SVC_KEI.selectNext();
					
					// 結果を取得
					while(rcvMapSb != null)
					{
						cnt++;
						// サブオプションサービスコード
						String sbop_svc_cd = rcvMapSb.getString(JBSbatKK_T_SBOP_SVC_KEI.SBOP_SVC_CD);
						outmap.put(cnt + "", sbop_svc_cd);
						
						// 次のデータを読む
						rcvMapSb = db_KK_T_SBOP_SVC_KEI.selectNext();
					}
				}
			}
			// ST2-2013-0001495 2013/03/18 MOD END
			// 次のデータを読む
			rcvMap = db_KK_T_OP_SVC_KEI.selectNext();
		}
	}

	// ST2-2013-0001495 2013/03/18 ADD START
	/**
	 * 住所変更によるオプション引継判断 <BR>
	 * <BR>
	 * 住所変更によるオプションの引継の有無を判断します。<BR>
	 * <BR>
	 * @return true  : 住所変更時に引継
	 *          false : 住所変更時に解約
	 * @param opt_svc_kei_no サービス契約内訳番号
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
// 2013.11.27 OM-2013-0004212 mod start
//	private boolean jdgJuhenHktgOp_svc_kei(String op_svc_kei_no) throws Exception
	private boolean jdgJuhenHktgOp_svc_kei(String op_svc_kei_no, String svc_kei_no) throws Exception
// 2013.11.27 OM-2013-0004212 mod end
	{
// IT2-2014-0000232 2014/05/30 ADD START
		// 住所変更確定かどうかの判定
		if (ADCHG_STAT_COMP.equals(this.mADCHG_STAT))
		{
			// 異動予約を検索 (異動予約状態が「00:未反映」が対象)
			if (op_svc_kei_no != null) {
				Object[] setIdoParam = { op_svc_kei_no };
				this.executeKK_T_IDO_RSV_KK_SELECT_076(setIdoParam);
				JBSbatCommonDBInterface resultIdo = this.db_KK_T_IDO_RSV.selectNext();
				if (resultIdo != null)
				{
					return false;
				}
			}
		}
// IT2-2014-0000232 2014/05/30 ADD END

		// 住所変更・登録中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更明細で住所変更先で使用されているオプションかチェック
			for (JBSbatCommonDBInterface juhenList : this.mJUHEN_DTL_LIST)
			{
				// 種別
				String stb_cd = juhenList.getString(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_SBT_CD);
				// オプション識別番号
				String juhen_opt_no = juhenList.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
				// オプション契約番号が一致するかチェック
				if (JUHEN_OP_SVKEI_NO.equals(stb_cd) && juhen_opt_no.equals(op_svc_kei_no))
				{
					// 一致したので住所変更先でも使用しているオプションと判断
					return true;
				}
			}
			// IT2-2014-0000232 2014/05/30 ADD START
			boolean existsFlg = false;
			// 住所変更明細のループ(解約されたオプションが対象)
			for (JBSbatCommonDBInterface juhenList : this.mJUHEN_DTL_OP_SVC_KAIYAKU_LIST)
			{
				// 種別
				String stb_cd = juhenList.getString(JBSbatKK_T_ADCHG_DTL.ADCHG_DTL_SBT_CD);
				// 変更前オプション識別番号
				String juhen_opt_no = juhenList.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO);
				// オプション契約番号が一致するかチェック
				if (JUHEN_OP_SVKEI_NO.equals(stb_cd) && juhen_opt_no.equals(op_svc_kei_no))
				{
					// 一致したので住所変更先では使用していないと判断
					existsFlg = true;
					break;
				}
			}
			if (!existsFlg)
			{
				// 住所変更時に新規登録されたオプションと判断
				return true;
			}
			// IT2-2014-0000232 2014/05/30 ADD END
			
			// 一致するオプション契約番号がなかったので住所変更先では使用していないと判断
			return false;
		}
		// そもそも住所変更中ではないのでそのまま
		return true;
	}
	
	
	/**
	 * レター種別コード返却<BR>
	 * <BR>
	 * @param menkaihat_anken_no 面開発案件番号
	 * @param svc_kei_no サービス契約番号
	 * @param prc_grp_cd 料金グループコード
 	 * @param itenm_svc_kei_no 料金グループコード
	 * @return typen_itenm_svc_kei_no 移転元サービス契約番号
	 * @throws Exception 
	 */
	// ANK-4427-00-00 MOD START
//	private String getLettersbtcd(String menkaihat_anken_no, String svc_kei_no, String prc_grp_cd) throws Exception
	private String getLettersbtcd(String menkaihat_anken_no, String svc_kei_no, String prc_grp_cd, String typen_itenm_svc_kei_no) throws Exception
	// ANK-4427-00-00 MOD END
	{
		// ANK-4427-00-00 ADD START
		if(!JKKStringUtil.isNullBlank(typen_itenm_svc_kei_no))
		{
			// レター種別コードに「住所変更」を返却
			return LETTER_SBT_CD_AD; 
		}
		// ANK-4427-00-00 ADD END
// IT1-2013-0001138 MOD START
		// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null)
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null)
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 加入御礼書発行起因が「住所変更・登録」、もしくは付随するモバイルかチェック
			if(IDO_JUHEN_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)) 
					|| PRC_GRP_CD_MBEM.equals(prc_grp_cd)
					|| PRC_GRP_CD_MBUQ.equals(prc_grp_cd)
					|| PRC_GRP_CD_MBWIFI.equals(prc_grp_cd))
				
			{
				// レター種別コードに「住所変更」を返却
				return LETTER_SBT_CD_AD;
			}
// IT1-2013-0001138 MOD END
		}
		//「面開発案件番号」が設定されている
		if (menkaihat_anken_no != null)
		{
			// レター種別コードに「面開発」を設定
			return LETTER_SBT_CD_MEN;
		}
		// レター種別コード「通常」
		return LETTER_SBT_CD_NORMAL;
	}

	/**
	 * オプションサービス契約より判定
	 * <BR>
	 * オプションサービス契約より該当するオプションが存在すれば「有」を返却します。<BR>
	 * <BR>
	 * @param mapOp_svc_kei オプションサービス契約のmap
	 * @param op_svc_cd オプションサービスコード
	 * @return オプションが存在すれば「有」
	 * @throws Exception 
	 */
	private String existOp_svc_kei(HashMap<String, String> mapOp_svc_kei, String op_svc_cd) throws Exception
	{
		// 指定されたオプションサービスコードが存在すれば「有」
		if (mapOp_svc_kei.containsValue(op_svc_cd))
		{
			return UM_U;
		}
		else
		{
			return UM_MU;
		}
	}
	
	/**
	 * 請求契約取得<BR>
	 * <BR>
	 * サービス契約番号にひもづく課金先と、課金先にひもづく請求契約を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getSeiky_kei(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		// 結果取得用
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();

		// ＳＱＬへ渡す年月日変数
		String sql_date = null;
		// 住所変更かチェック（住所変更データがあり、住所変更・登録であること）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更データ取得用に最大未来日を設定
			sql_date = "20991231";
		}
		else
		{
			// カレントデータ取得用
			sql_date = super.opeDate;
		}
		
		// パラメータの設定
		Object[] setParam = { sql_date, svc_kei_no, sql_date, sql_date };
		executeKK_T_SEIKY_KEI_KK_SELECT_002(setParam);
		
		// １件目を先読み
		rcvMap = db_KK_T_SEIKY_KEI.selectNext();
		
		// 結果を取得
		while(rcvMap != null)
		{
			
			// 請求契約番号
			outmap.setString(JBSbatKKIFM003.SEIKY_KEI_NO,
					rcvMap.getString(JBSbatKK_T_SEIKY_KEI.SEIKY_KEI_NO));
			
			// ST2-2012-0001382 add start
			// 初回支払申込書受領年月日
			String rcp_ymd = rcvMap.getString(JBSbatKK_T_SEIKY_KEI.FIRST_PAY_MSKMSHO_RCP_YMD);
			if(null == rcp_ymd || "".equals(rcp_ymd))
			{
				// 初回支払申込書受領年月日が設定されていない場合、未到着
				outmap.setString(JBSbatKKIFM003.PAY_MSKMSHO_SOHU_YH, PAY_MI_ARIV_FLG_MI);
			}
			else
			{
				// 初回支払申込書受領年月日が設定されている場合、到着済み
				outmap.setString(JBSbatKKIFM003.PAY_MSKMSHO_SOHU_YH, PAY_MI_ARIV_FLG_ARIV);
			}
			// ST2-2012-0001382 add end
			
			// OM-2017-0000249 ADD START
			// 請求方法コード
			String seiky_way_cd = rcvMap.getString(JBSbatKK_T_SEIKY_KEI.SEIKY_WAY_CD);
			if(null != seiky_way_cd && !"".equals(seiky_way_cd) && PAYWAY_MDGC.equals(seiky_way_cd))
			{
				// 請求方法コードが「窓口払い」の場合、何もしない
			}
			else
			{
				// 請求方法コードが「窓口払い」でない場合、到着済み
				outmap.setString(JBSbatKKIFM003.PAY_MSKMSHO_SOHU_YH, PAY_MI_ARIV_FLG_ARIV);
			}
			// OM-2017-0000249 ADD END

			// 次のデータを読む
			rcvMap = db_KK_T_SEIKY_KEI.selectNext();
		}
	}

	/**
	 * サービス契約内訳＜eo光電話＞取得<BR>
	 * <BR>
	 * サービス契約番号にひもづくサービス契約内訳と<BR>
	 * サービス契約内訳番号にひもづくサービス契約内訳＜eo光電話＞を取得する<BR>
	 * <BR>
	 * @param outList 返却用ArrayList
	 * @param svc_kei_no サービス契約番号
	 * @param mapOp_svc_kei_ucwk1 オプションサービス契約用map（＃１）
	 * @param mapOp_svc_kei_ucwk2 オプションサービス契約用map（＃２）
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	// ANK-2057-00-00 2014/04/03 MOD START
	//private void getSvc_kei_ucwk(ArrayList outList, String svc_kei_no, 
	//		HashMap mapOp_svc_kei_ucwk1, HashMap mapOp_svc_kei_ucwk2, JBSbatServiceInterfaceMap outwkMap) throws Exception
	private void getSvc_kei_ucwk(ArrayList outList, String svc_kei_no, 
			HashMap mapOp_svc_kei_ucwk1, HashMap mapOp_svc_kei_ucwk2, 
			JBSbatServiceInterfaceMap outwkMap, String svc_kei_kaisen_ucwk_no) throws Exception
	// ANK-2057-00-00 2014/04/03 MOD END
	{
		//■■■ IT1-2013-0000124 2013/1/25 M.IKUMA START ■■■
		// 電話登録種別コードを判定するために内訳の履歴を参照する必要あり
		// SQLを無駄に何度も呼んでいたので一回で済むようにパフォーマンスを改善

		// 出力先ワークマップ
		JBSbatServiceInterfaceMap wkMap = new JBSbatServiceInterfaceMap();
		// 電話情報 １番号目
		JBSbatCommonDBInterface telData_1 = null;
		// 電話情報 ２番号目
		JBSbatCommonDBInterface telData_2 = null;
		// 住所変更で解約される内訳数
		int dsl_count_ucwk_su = 0;
		// ANK-2057-00-00 2014/04/03 ADD START
		// 割込電話有無
		String warkmi_tel_um = null;
		// ANK-2057-00-00 2014/04/03 ADD END
		// ANK-2056-00-00 2014/04/03 ADD START
		// サービス契約内訳番号_電話1
		String svc_kei_ucwk_no_tel1 = null;
		// サービス契約内訳番号_電話2
		String svc_kei_ucwk_no_tel2 = null;
		// ANK-2056-00-00 2014/04/03 ADD END
		
		// 内訳検索基準年月日
		String sql_date = null;
		// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 未来日で積まれたデータも範囲にする
			sql_date = "20991231";
		}
		else
		{
			// 運用日までを範囲とする
			sql_date = super.opeDate;
		}
		Object[] setParam = { svc_kei_no, sql_date };
		this.executeKK_T_SVC_KEI_UCWK_KK_SELECT_003(setParam);
		JBSbatCommonDBInterface sqlResult = db_KK_T_SVC_KEI_UCWK.selectNext();
		if(sqlResult == null)
		{
			// eo光電話契約情報なし
			return;
		}
		else
		{
			// ■■■ ANK-1362-00-00 2013/1/25 M.IKUMA START ■■■
			// 取得した電話情報を整理
			while(sqlResult != null)
			{
				// サービス契約内訳番号
				String svc_kei_ucwk_no = sqlResult.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				// オプション情報取得用サービス契約内訳番号
				String svc_kei_ucwk_op = null;
				// 電話登録種別コード
				String tel_add_sbt_cd = null;
				// 番ポ有無取得
				String bmp_um_state = sqlResult.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM);
				// 番ポ有無をチェック
				if(bmp_um_state != null && UM_U.equals(bmp_um_state))
				{
					// 番ポを設定
					tel_add_sbt_cd = TEL_SBT_CD_BMP;
				}
				else
				{
					// 新規発番を設定
					tel_add_sbt_cd = TEL_SBT_CD_NEW;
				}
				
				
				// 電話番号変更中フラグ取得
				String chg_flg = sqlResult.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG);
				// 電話番号変更中かチェック
				if(KEIZK_FLG_USE.equals(chg_flg))
				{
					// 番号変更前のサービス契約内訳番号でオプション情報を取りに行く
					svc_kei_ucwk_op = sqlResult.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO);
					if(svc_kei_ucwk_op == null)
					{
						// 値がない場合にカラ文字をいれておく
						svc_kei_ucwk_op = "";
					}
				}
				else
				{
					// 住所変更中、もしくは住所変更起因による加入御礼書発行かチェック
// 2013.11.27 OM-2013-0004212 mod start
//					if((this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
//							|| IDO_JUHEN_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)))
					if((mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
							|| IDO_JUHEN_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(svc_kei_no)))
// 2013.11.27 OM-2013-0004212 mod end
					{
						// 住所変更後解約される内訳かを判断するフラグ（trueは解約される）
						boolean dsl_flg = true;
						// 住所変更のサービス契約内訳リストと突合させる
						for(JBSbatCommonDBInterface ucwkList : this.mJUHEN_SVKEIUW_LIST)
						{
							// 変更後の識別番号取得
							String ato_ucwk_no = ucwkList.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
							// 住所変更後にこのサービス契約内訳を使用しているかチェック
							if(ato_ucwk_no != null && ato_ucwk_no.equals(svc_kei_ucwk_no))
							{
								// 住所変更後も使用している内訳と判断
								dsl_flg = false;
								// 変更前の識別番号取得
								String mae_uvwk_no = ucwkList.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO);
								// 住所変更前もこのサービス契約内訳を使用していたかチェック
								if(mae_uvwk_no != null && mae_uvwk_no.equals(svc_kei_ucwk_no))
								{
									// 前にも後にも使用しているので同番移転を設定
									tel_add_sbt_cd = TEL_SBT_CD_DOBAN;
								}
								// チェック完了
								break;
							}
						}
						// 住所変更中で、住所変更後解約が発生したかチェック
// 2013.11.27 OM-2013-0004212 mod start
//						if(dsl_flg && (this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1])))
						if(dsl_flg && (mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1])))
// 2013.11.27 OM-2013-0004212 mod end
						{
							// 次の内訳へスキップ
							sqlResult = this.db_KK_T_SVC_KEI_UCWK.selectNext();
							continue;
						}
					}
					// オプション情報取得用サービス契約内訳番号取得
					svc_kei_ucwk_op = sqlResult.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				}
				
				// 電話番号順取得
				String telJun_no = sqlResult.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN);
				// 電話番号順で変数へ格納
				if(telData_1 == null && TELNO_JUN_1.equals(telJun_no))
				{
					// 追加される内訳数をカウント
					dsl_count_ucwk_su++;
					// 電話登録種別１へセット
					sqlResult.setValue(JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_1, tel_add_sbt_cd);
					// 内訳データを電話番号１へ格納
					telData_1 = sqlResult;
					// 電話オプション情報をセット
// 2013.11.27 OM-2013-0004212 mod start
//					this.getOp_svc_kei_ucwk(mapOp_svc_kei_ucwk1, svc_kei_ucwk_op);
					this.getOp_svc_kei_ucwk(mapOp_svc_kei_ucwk1, svc_kei_ucwk_op, svc_kei_no);
// 2013.11.27 OM-2013-0004212 mod end
					// ANK-2056-00-00 2014/04/03 ADD START
					// サービス契約内訳番号_電話1
					svc_kei_ucwk_no_tel1 = svc_kei_ucwk_op;
					// ANK-2056-00-00 2014/04/03 ADD END

				}
				else if(telData_2 == null && TELNO_JUN_2.equals(telJun_no))
				{
					// 追加される内訳数をカウント
					dsl_count_ucwk_su++;
					// 電話登録種別２へセット
					sqlResult.setValue(JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_2, tel_add_sbt_cd);
					// 内訳データを電話番号２へ格納
					telData_2 = sqlResult;
					// 電話オプション情報をセット
// 2013.11.27 OM-2013-0004212 mod start
//					this.getOp_svc_kei_ucwk(mapOp_svc_kei_ucwk2, svc_kei_ucwk_op);
					this.getOp_svc_kei_ucwk(mapOp_svc_kei_ucwk2, svc_kei_ucwk_op, svc_kei_no);
// 2013.11.27 OM-2013-0004212 mod end
					// ANK-2056-00-00 2014/04/03 ADD START
					// サービス契約内訳番号_電話2
					svc_kei_ucwk_no_tel2 = svc_kei_ucwk_op;
					// ANK-2056-00-00 2014/04/03 ADD END
				}
				
				// 次のレコード
				sqlResult = this.db_KK_T_SVC_KEI_UCWK.selectNext();
			}
			// ■■■ ANK-1362-00-00 2013/1/25 M.IKUMA   END ■■■
		}
		
		// 異動予約がない場合、出力する内訳の数とコースを合わせる
		if(!this.mTEL_DSL_IDO_RSV_FLG && dsl_count_ucwk_su == 1)
		{
			// 料金コースを変更する
			String pcrs = outwkMap.getString(JBSbatKKIFM003.PCRS_CD);
			if(!pcrs.equals(PCRS_CD_TEL_1))
			{
				// 料金コースを１番号コースへ変更
				outwkMap.setString(JBSbatKKIFM003.PCRS_CD, PCRS_CD_TEL_1);
				// 料金プランを変更する
				String pplan = outwkMap.getString(JBSbatKKIFM003.PPLAN_CD);
				if(pplan.equals(PPLAN_CD_TEL_H_2))
				{
					// ホーム１番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_H_1);
				}
				else if(pplan.equals(PPLAN_CD_TEL_ME_2))
				{
					// メゾン１番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_ME_1);
				}
				else if(pplan.equals(PPLAN_CD_TEL_MA_2))
				{
					// マンション１番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_MA_1);
				}
				else if(pplan.equals(PPLAN_CD_TEL_MAH_2))
				{
					// マンション１番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_MAH_1);
				}
			}
		}
		else if(!this.mTEL_DSL_IDO_RSV_FLG && dsl_count_ucwk_su == 2)
		{
			// 料金コースを変更する
			String pcrs = outwkMap.getString(JBSbatKKIFM003.PCRS_CD);
			if(!pcrs.equals(PCRS_CD_TEL_2))
			{
				// 料金コースを２番号コースへ変更
				outwkMap.setString(JBSbatKKIFM003.PCRS_CD, PCRS_CD_TEL_2);
				// 料金プランを変更する
				String pplan = outwkMap.getString(JBSbatKKIFM003.PPLAN_CD);
				if(pplan.equals(PPLAN_CD_TEL_H_1))
				{
					// ホーム２番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_H_2);
				}
				else if(pplan.equals(PPLAN_CD_TEL_ME_1))
				{
					// メゾン２番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_ME_2);
				}
				else if(pplan.equals(PPLAN_CD_TEL_MA_1))
				{
					// マンション２番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_MA_2);
				}
				else if(pplan.equals(PPLAN_CD_TEL_MAH_1))
				{
					// マンション２番号へ
					outwkMap.setString(JBSbatKKIFM003.PPLAN_CD, PPLAN_CD_TEL_MAH_2);
				}
			}
		}
		
		// 住所変更の場合、番号変更中で電話番号順が２しかない場合があるため対応
// 2013.11.27 OM-2013-0004212 mod start
//		if(telData_1 != null || (telData_2 != null && this.mJUHEN_KAISEN_SK != null))
		if(telData_1 != null || (telData_2 != null && mJUHEN_KAISEN_SK_svc != null))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// ２番号目を１番号目として出力済フラグ
			boolean done_out_tel_flg = false;
			// 1回線目の情報を出力用マップ初期化
			JBSbatCommonDBInterface result = null;
			
// 2013.11.09 OM-2013-0003844 add start
			// 電話登録種別コード＃１ の取得キー
			String TEL_ADD_SBT_CD = JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_1;
// 2013.11.09 OM-2013-0003844 add end
			
// IT1-2014-0000121 2014/05/01 ADD START
			// 住所変更中の割引かどうかの判定
			boolean juhenWaribiki = false;
// IT1-2014-0000121 2014/05/01 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
			if (ADCHG_STAT_ENTRY.equals(this.mADCHG_STAT))
			{
				juhenWaribiki = true;
			}
			else if (ADCHG_STAT_COMP.equals(this.mADCHG_STAT))
			{
				// 異動予約を検索
// IT1-2014-0000144 2014/05/16 ADD START
				String mskm_dtl_no = this.mKIIN_MSKM_DTL_NO_LIST.get(svc_kei_no);
// IT1-2014-0000144 2014/05/16 ADD END
// IT1-2014-0000144 2014/05/16 MOD START
				//Object[] setIdoParam = { svc_kei_no, super.opeDate };
				if (mskm_dtl_no != null) {
				Object[] setIdoParam = { mskm_dtl_no };
// IT1-2014-0000144 2014/05/16 MOD END
				this.executeKK_T_IDO_RSV_KK_SELECT_074(setIdoParam);
				JBSbatCommonDBInterface resultIdo = this.db_KK_T_IDO_RSV.selectNext();
				if (resultIdo != null)
				{
					juhenWaribiki = true;
				}
// IT1-2014-0000144 2014/05/16 ADD START
				}
// IT1-2014-0000144 2014/05/16 ADD END
			}
// IT1-2014-0000121 2014/05/01 ADD END
			
			// telDataがあるほうをマッピング
			if(telData_1 != null)
			{
				result = telData_1;
			}
			else if(telData_2 != null)
			{
				// 1回線目の情報を出力用マップへマッピングする
				result = telData_2;
				done_out_tel_flg = true;
				
// 2013.11.09 OM-2013-0003844 add start
				TEL_ADD_SBT_CD = JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_2;
// 2013.11.09 OM-2013-0003844 add start
				
				// ANK-2056-00-00 2014/04/04 ADD START
				// サービス契約内訳番号_電話1
				svc_kei_ucwk_no_tel1 = svc_kei_ucwk_no_tel2;
				// ANK-2056-00-00 2014/04/04 ADD END
			}
			// 電話番号
			wkMap.setString(JBSbatKKIFM003.KOPT_TELNO_1,
					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO));
			// 電話登録種別コード＃１を出力
// 2013.11.09 OM-2013-0003844 mod start
//			wkMap.setString(JBSbatKKIFM003.TEL_ADD_SBT_CD_1,
//					result.getString(JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_1));
			wkMap.setString(JBSbatKKIFM003.TEL_ADD_SBT_CD_1,
					result.getString(TEL_ADD_SBT_CD));
// 2013.11.09 OM-2013-0003844 mod end
			
			// ＮＴＴ電話番号（番ポありの場合のみ）
			if (UM_U.equals(result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM)))
			{
				wkMap.setString(JBSbatKKIFM003.NTT_TELNO_1,
						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO));
				//---------v33.00.00 ANK-2802-00-00_DEL START---------//
				// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
//				// 通信事業者コード
//				wkMap.setString(JBSbatKKIFM003.TSJGS_CD_1,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TSJGS_CD));
				// ▲▲▲IT1-2012-0001038 Add End▲▲▲
				//---------v33.00.00 ANK-2802-00-00_DEL END-----------//
			}
			// 発番通知要否
			wkMap.setString(JBSbatKKIFM003.HTB_TCHI_YH_1,
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_NUMDISP));
			// １０４要否
			wkMap.setString(JBSbatKKIFM003.N_104_YH_1,
					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_NO_GUIDE_UM));
			// ハロー・タウン掲載要否
			wkMap.setString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_1,
					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.HELLOPAGE_KEISAI_UM));
			// 割込電話有無
			wkMap.setString(JBSbatKKIFM003.WARKMI_TEL_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_WARKMITEL));
			// ANK-2057-00-00 2014/04/03 ADD START
			if (UM_U.equals(wkMap.getString(JBSbatKKIFM003.WARKMI_TEL_UM_1)))
			{
				// 割込電話が「1:有」の場合は、
				// 機器オプションサービス(G02:eo光多機能ルーター 電話アダプター機能)が
				// 存在するかどうかを判定する。
// IT1-2014-0000121 2014/05/01 MOD START
				//Object[] setParamKk = {svc_kei_kaisen_ucwk_no, this.opeDate, this.opeDate};
// IT1-2014-0000145 2014/05/16 MOD START
				//Object[] setParamKk = {this.opeDate, this.opeDate, svc_kei_kaisen_ucwk_no};
				Object[] setParamKk = {sql_date, sql_date, svc_kei_kaisen_ucwk_no};
// IT1-2014-0000145 2014/05/16 MOD END
// IT1-2014-0000121 2014/05/01 MOD END
				this.executeKK_T_KKOP_SVC_KEI_KK_SELECT_021(setParamKk);
				JBSbatCommonDBInterface rcvMapKk = db_KK_T_KKOP_SVC_KEI.selectNext();
				// 指定された機器オプションサービスコード(G02)が存在すれば「2:複数通話有」
				// 存在しなければ「1:割込電話有」
				if(rcvMapKk != null)
				{
					warkmi_tel_um = UM_U_MULTI;
				}
				else
				{
					warkmi_tel_um = UM_U_WARKMI;
				}
				wkMap.setString(JBSbatKKIFM003.WARKMI_TEL_UM_1, warkmi_tel_um);
			}
			// ANK-2057-00-00 2014/04/03 ADD END
			// 転送電話有無
			wkMap.setString(JBSbatKKIFM003.TENSO_TEL_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_TENSOTEL));
			// 転送電話選択有無
			wkMap.setString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, SBOP_SVC_CD_TENSOTELCHOICE));
			// 非通知着信拒否有無
			wkMap.setString(JBSbatKKIFM003.HITCHI_INCMHI_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, SBOP_SVC_CD_HITCHIINCMHI));
			// 迷惑電話拒否有無
			wkMap.setString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_MWKTELINCMHI));
			// 指定番号着信選択有無
			wkMap.setString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_SHITEIINCMHI));
			// 通話明細送付有無
			wkMap.setString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_TWDTL));
			// ０５０番号有無
			wkMap.setString(JBSbatKKIFM003.N_050_NO_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_050NO));
			// 発信者番号通知有無
			wkMap.setString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_1, 
					existOp_svc_kei(mapOp_svc_kei_ucwk1, OP_SVC_CD_HASINSHADSP));
			//---------v33.00.00 ANK-2802-00-00_DEL START---------//
//			// ＮＴＴ契約者名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_NM));
//			// ＮＴＴ契約者カナ名
//			wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KSH_KANA));
//			// ＮＴＴ契約者郵便番号
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_PCD));
//			// ＮＴＴ契約者都道府県名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_STATE_NM));
//			// ＮＴＴ契約者市区町村名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_CITY_NM));
//			// ＮＴＴ契約者大字通称名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_OAZTSU_NM));
//			// ＮＴＴ契約者字丁目名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_AZCHO_NM));
//			// ＮＴＴ契約者番地号
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_BNCHIGO));
//			// ＮＴＴ契約者住所補記・建物名
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRTTM));
//			// ＮＴＴ契約者住所補記・部屋番
//			wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_1,
//					result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRRM));
			//---------v33.00.00 ANK-2802-00-00_DEL END-----------//

			//---------v33.00.00 ANK-2802-00-00_ADD START---------//
			// 番ポがある場合、サービス契約内訳番号を利用して、番ポ工事情報を取得するo
			if (UM_U.equals(result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM)))
			{
				// サービス契約内訳番号を取得する
				String svc_kei_ucwk_no1 = result.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				// 電話番号
				String telNo1 = result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO);
				
				Object[] setKoJiParam = { svc_kei_ucwk_no1, telNo1 };
				this.executeTU_T_BMP_KOJI_KK_SELECT_015(setKoJiParam);
				JBSbatCommonDBInterface banPoInfoResult1 = db_TU_T_BMP_KOJI.selectNext();
				//---------v33.00.00 OM-2017-0001008_ADD START---------//
				if (banPoInfoResult1 != null )
				{
				//---------v33.00.00 OM-2017-0001008_ADD END-----------//
					// ＮＴＴ契約者名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_NM));
					// ＮＴＴ契約者カナ名
					wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KSH_KANA));
					// ＮＴＴ契約者郵便番号
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_PCD));
					// ＮＴＴ契約者都道府県名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_STATE_NM));
					// ＮＴＴ契約者市区町村名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_CITY_NM));
					// ＮＴＴ契約者大字通称名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_OAZTSU_NM));
					// ＮＴＴ契約者字丁目名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_AZCHO_NM));
					// ＮＴＴ契約者番地号
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_BNCHIGO));
					// ＮＴＴ契約者住所補記・建物名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_ADRTTM));
					// ＮＴＴ契約者住所補記・部屋番
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_ADRRM));
					// 通信事業者コード
					wkMap.setString(JBSbatKKIFM003.TSJGS_CD_1, 
							banPoInfoResult1.getString(JBSbatTU_T_BMP_KOJI.ITNM_TSJGS_CD));
				//---------v33.00.00 OM-2017-0001008_ADD START---------//
				}
				else 
				{
					// ＮＴＴ契約者名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_NM));
					// ＮＴＴ契約者カナ名
					wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KSH_KANA));
					// ＮＴＴ契約者郵便番号
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_PCD));
					// ＮＴＴ契約者都道府県名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_STATE_NM));
					// ＮＴＴ契約者市区町村名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_CITY_NM));
					// ＮＴＴ契約者大字通称名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_OAZTSU_NM));
					// ＮＴＴ契約者字丁目名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_AZCHO_NM));
					// ＮＴＴ契約者番地号
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_BNCHIGO));
					// ＮＴＴ契約者住所補記・建物名
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRTTM));
					// ＮＴＴ契約者住所補記・部屋番
					wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRRM));
					// 通信事業者コード
					wkMap.setString(JBSbatKKIFM003.TSJGS_CD_1,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TSJGS_CD));
				}
				//---------v33.00.00 OM-2017-0001008_ADD END-----------//
			}
			//---------v33.00.00 ANK-2802-00-00_ADD END-----------//

			// ANK-2056-00-00 2014/04/04 ADD START
			// オプションパック契約有無１
			// 割引サービス(W00000007,W00000008)が存在するかどうかを判定する。
			HashMap<String, String> mapWrib_svc_kei1 = new HashMap<String, String>();
// IT1-2014-0000121 2014/05/01 ADD START
			if (juhenWaribiki)
			{
				// 住所変更で新規追加されたサービス契約内訳かどうかを判定する。
				// 住所変更明細を検索
				Object[] setAdchgDtlParam = { svc_kei_ucwk_no_tel1 };
				this.executeKK_T_ADCHG_DTL_KK_SELECT_040(setAdchgDtlParam);
				JBSbatCommonDBInterface resultAdchgDtl = this.db_KK_T_ADCHG_DTL.selectNext();
				if (resultAdchgDtl != null)
				{
					// レコードがある場合は、住所変更で新規追加されたサービス契約内訳である。
					// その場合は、住所変更中以外の場合における割引サービスの取得を行う。
					this.getWrib_svc_kei_telOptPack(mapWrib_svc_kei1, svc_kei_ucwk_no_tel1);
				}
				else
				{
					// レコードがない場合は、住所変更前に既に登録されたサービス契約内訳である。
					// その場合は、住所変更中の場合における割引サービスの取得を行う。
					this.getWrib_svc_kei_telOptPack_juhen(mapWrib_svc_kei1, svc_kei_ucwk_no_tel1);
				}
			}	
			else
			{
			// 住所変更中以外の場合における割引サービスの取得
// IT1-2014-0000121 2014/05/01 ADD END
			this.getWrib_svc_kei_telOptPack(mapWrib_svc_kei1, svc_kei_ucwk_no_tel1);
// IT1-2014-0000121 2014/05/01 ADD START
			}
// IT1-2014-0000121 2014/05/01 ADD END
			if (mapWrib_svc_kei1.containsValue(WRIB_SVC_CD_TEL_PACK3))
			{
				// 割引サービスコード(W00000007)が存在すれば「1:eo光電話パック3」
				wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1, UM_U_PACK3);
			}
			else if (mapWrib_svc_kei1.containsValue(WRIB_SVC_CD_TEL_PACK7))
			{
				// 割引サービスコード(W00000008)が存在すれば「2:eo光電話パック7」
				wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1, UM_U_PACK7);
			}
			// ANK-3754-00-00 ADD START
			else if (mapWrib_svc_kei1.containsValue(WRIB_SVC_CD_ANSN_TEL_PACK))
			{
				// 割引サービスコード(W00000023)が存在すれば「3:あんしん電話パック」
				wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1, UM_U_ANSN_PACK);
			}
			//ANK-3754-00-00 ADD END
			else
			{
				// 上記の割引サービスコードが存在しない場合は「0:無」
				wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1, UM_MU);
			}
			// ANK-2056-00-00 2014/04/04 ADD END
			
			outList.add(wkMap);
	
			//■■■■■ 2012/07/11 改修対応 M.IKUMA START ■■■■■
			// 結果を取得（２件目）
			if (telData_2 != null && !done_out_tel_flg)
			{
				result = telData_2;
				wkMap = new JBSbatServiceInterfaceMap();
				// 電話番号
				wkMap.setString(JBSbatKKIFM003.KOPT_TELNO_2,
						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO));
				// 電話登録種別＃２を出力
				wkMap.setString(JBSbatKKIFM003.TEL_ADD_SBT_CD_2,
						result.getString(JBSbatKK_T_KANUORESO_HAKKO.TEL_ADD_SBT_CD_2));
				// ＮＴＴ電話番号（番ポありの場合のみ）
				if (UM_U.equals(result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM)))
				{
					wkMap.setString(JBSbatKKIFM003.NTT_TELNO_2,
							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO));
					//---------v33.00.00 ANK-2802-00-00_DEL START---------//
					// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
//					// 通信事業者コード
//					wkMap.setString(JBSbatKKIFM003.TSJGS_CD_2,
//							result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TSJGS_CD));
					// ▲▲▲IT1-2012-0001038 Add End▲▲▲
					//---------v33.00.00 ANK-2802-00-00_DEL END-----------//
				}
				//■■■■■ 2012/07/11 改修対応 M.IKUMA   END ■■■■■
				// 発番通知要否
				wkMap.setString(JBSbatKKIFM003.HTB_TCHI_YH_2,
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_NUMDISP));
				// １０４要否
				wkMap.setString(JBSbatKKIFM003.N_104_YH_2,
						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_NO_GUIDE_UM));
				// ハロー・タウン掲載要否
				wkMap.setString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_2,
						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.HELLOPAGE_KEISAI_UM));
				// 割込電話有無
				wkMap.setString(JBSbatKKIFM003.WARKMI_TEL_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_WARKMITEL));
				// ANK-2057-00-00 2014/04/03 ADD START
				if (UM_U.equals(wkMap.getString(JBSbatKKIFM003.WARKMI_TEL_UM_2))) {
					// 割込電話が「1:有」の場合
					if (warkmi_tel_um != null)
					{
						// 割込電話２に値が設定されている場合は、割込電話１と同じ値を設定する。
						wkMap.setString(JBSbatKKIFM003.WARKMI_TEL_UM_2, warkmi_tel_um);
					}
					else
					{
						// 割込電話２に値が設定されていない場合は、
						// 機器オプションサービス(G02:eo光多機能ルーター 電話アダプター機能)が
						// 存在するかどうかを判定する。
// IT1-2014-0000121 2014/05/01 MOD START
						// Object[] setParamKk = {svc_kei_kaisen_ucwk_no, this.opeDate, this.opeDate};
// IT1-2014-0000145 2014/05/16 MOD START
						// Object[] setParamKk = {this.opeDate, this.opeDate, svc_kei_kaisen_ucwk_no};
						Object[] setParamKk = {sql_date, sql_date, svc_kei_kaisen_ucwk_no};
// IT1-2014-0000145 2014/05/16 MOD END
// IT1-2014-0000121 2014/05/01 MOD END
						this.executeKK_T_KKOP_SVC_KEI_KK_SELECT_021(setParamKk);
						JBSbatCommonDBInterface rcvMapKk = db_KK_T_KKOP_SVC_KEI.selectNext();
						// 指定された機器オプションサービスコード(G02)が存在すれば「2:複数通話有」
						// 存在しなければ「1:割込電話有」
						if(rcvMapKk != null)
						{
							warkmi_tel_um = UM_U_MULTI;
						}
						else
						{
							warkmi_tel_um = UM_U_WARKMI;
						}
						wkMap.setString(JBSbatKKIFM003.WARKMI_TEL_UM_2, warkmi_tel_um);
					}	
				}
				// ANK-2057-00-00 2014/04/03 ADD END
				// 転送電話有無
				wkMap.setString(JBSbatKKIFM003.TENSO_TEL_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_TENSOTEL));
				// 転送電話選択有無
				wkMap.setString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, SBOP_SVC_CD_TENSOTELCHOICE));
				// 非通知着信拒否有無
				wkMap.setString(JBSbatKKIFM003.HITCHI_INCMHI_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, SBOP_SVC_CD_HITCHIINCMHI));
				// 迷惑電話拒否有無
				wkMap.setString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_MWKTELINCMHI));
				// 指定番号着信選択有無
				wkMap.setString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_SHITEIINCMHI));
				// 通話明細送付有無
				wkMap.setString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_TWDTL));
				// ０５０番号有無
				wkMap.setString(JBSbatKKIFM003.N_050_NO_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_050NO));
				// 発信者番号通知有無
				wkMap.setString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_2, 
						existOp_svc_kei(mapOp_svc_kei_ucwk2, OP_SVC_CD_HASINSHADSP));
				//---------v33.00.00 ANK-2802-00-00_DEL START---------//
//				// ＮＴＴ契約者名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_NM));
//				// ＮＴＴ契約者カナ名
//				wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KSH_KANA));
//				// ＮＴＴ契約者郵便番号
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_PCD));
//				// ＮＴＴ契約者都道府県名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_STATE_NM));
//				// ＮＴＴ契約者市区町村名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_CITY_NM));
//				// ＮＴＴ契約者大字通称名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_OAZTSU_NM));
//				// ＮＴＴ契約者字丁目名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_AZCHO_NM));
//				// ＮＴＴ契約者番地号
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_BNCHIGO));
//				// ＮＴＴ契約者住所補記・建物名
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRTTM));
//				// ＮＴＴ契約者住所補記・部屋番
//				wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_2,
//						result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRRM));
				//---------v33.00.00 ANK-2802-00-00_DEL END-----------//
				//---------v33.00.00 ANK-2802-00-00_ADD START---------//
				// 番ポがある場合、サービス契約内訳番号を利用して、番ポ工事情報を取得するo
				if (UM_U.equals(result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM)))
				{
					// サービス契約内訳番号を取得する
					String svc_kei_ucwk_no2 = result.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
					// 電話番号
					String telNo2 = result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO);
					
					Object[] setKoJiParam = { svc_kei_ucwk_no2, telNo2 };
					this.executeTU_T_BMP_KOJI_KK_SELECT_015(setKoJiParam);
					JBSbatCommonDBInterface banPoInfoResult2 = db_TU_T_BMP_KOJI.selectNext();
					//---------v33.00.00 OM-2017-0001008_ADD START---------//
					if (banPoInfoResult2 != null)
					{
					//---------v33.00.00 OM-2017-0001008_ADD END-----------//
						// ＮＴＴ契約者名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_NM));
						// ＮＴＴ契約者カナ名
						wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KSH_KANA));
						// ＮＴＴ契約者郵便番号
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_PCD));
						// ＮＴＴ契約者都道府県名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_STATE_NM));
						// ＮＴＴ契約者市区町村名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_CITY_NM));
						// ＮＴＴ契約者大字通称名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_OAZTSU_NM));
						// ＮＴＴ契約者字丁目名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_AZCHO_NM));
						// ＮＴＴ契約者番地号
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_BNCHIGO));
						// ＮＴＴ契約者住所補記・建物名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_ADRTTM));
						// ＮＴＴ契約者住所補記・部屋番
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_2,
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.NTT_KEISHA_ADRRM));
						// 通信事業者コード
						wkMap.setString(JBSbatKKIFM003.TSJGS_CD_2, 
								banPoInfoResult2.getString(JBSbatTU_T_BMP_KOJI.ITNM_TSJGS_CD));
						//---------v33.00.00 OM-2017-0001008_ADD START---------//
					}
					else 
					{
						// ＮＴＴ契約者名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_NM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_NM));
						// ＮＴＴ契約者カナ名
						wkMap.setString(JBSbatKKIFM003.NTT_KSH_KANA_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KSH_KANA));
						// ＮＴＴ契約者郵便番号
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_PCD));
						// ＮＴＴ契約者都道府県名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_STATE_NM));
						// ＮＴＴ契約者市区町村名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_CITY_NM));
						// ＮＴＴ契約者大字通称名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_OAZTSU_NM));
						// ＮＴＴ契約者字丁目名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_AZCHO_NM));
						// ＮＴＴ契約者番地号
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_BNCHIGO));
						// ＮＴＴ契約者住所補記・建物名
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRTTM));
						// ＮＴＴ契約者住所補記・部屋番
						wkMap.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.NTT_KEISHA_ADRRM));
						// 通信事業者コード
						wkMap.setString(JBSbatKKIFM003.TSJGS_CD_2,
								result.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TSJGS_CD));
					}
					//---------v33.00.00 OM-2017-0001008_ADD END-----------//
				}
				//---------v33.00.00 ANK-2802-00-00_ADD END-----------//
				// ANK-2056-00-00 2014/04/04 ADD START
				// オプションパック契約有無２
				// 割引サービス(W00000007,W00000008)が存在するかどうかを判定する。
				HashMap<String, String> mapWrib_svc_kei2 = new HashMap<String, String>();
// IT1-2014-0000121 2014/05/01 ADD START
				if (juhenWaribiki)
				{
					// 住所変更で新規追加されたサービス契約内訳かどうかを判定する。
					// 住所変更明細を検索
					Object[] setAdchgDtlParam = { svc_kei_ucwk_no_tel2 };
					this.executeKK_T_ADCHG_DTL_KK_SELECT_040(setAdchgDtlParam);
					JBSbatCommonDBInterface resultAdchgDtl = this.db_KK_T_ADCHG_DTL.selectNext();
					if (resultAdchgDtl != null)
					{
						// レコードがある場合は、住所変更で新規追加されたサービス契約内訳である。
						// その場合は、住所変更中以外の場合における割引サービスの取得を行う。
						this.getWrib_svc_kei_telOptPack(mapWrib_svc_kei2, svc_kei_ucwk_no_tel2);
					}
					else
					{
						// レコードがない場合は、住所変更前に既に登録されたサービス契約内訳である。
						// その場合は、住所変更中の場合における割引サービスの取得を行う。
						this.getWrib_svc_kei_telOptPack_juhen(mapWrib_svc_kei2, svc_kei_ucwk_no_tel2);
					}
				}	
				else
				{
				// 住所変更中以外の場合における割引サービスの取得
// IT1-2014-0000121 2014/05/01 ADD END
				this.getWrib_svc_kei_telOptPack(mapWrib_svc_kei2, svc_kei_ucwk_no_tel2);
// IT1-2014-0000121 2014/05/01 ADD START
				}
// IT1-2014-0000121 2014/05/01 ADD END
				if (mapWrib_svc_kei2.containsValue(WRIB_SVC_CD_TEL_PACK3))
				{
					// 割引サービスコード(W00000007)が存在すれば「1:eo光電話パック3」
					wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2, UM_U_PACK3);
				}
				else if (mapWrib_svc_kei2.containsValue(WRIB_SVC_CD_TEL_PACK7))
				{
					// 割引サービスコード(W00000008)が存在すれば「2:eo光電話パック7」
					wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2, UM_U_PACK7);
				}
				// ANK-3754-00-00 ADD START
				else if (mapWrib_svc_kei2.containsValue(WRIB_SVC_CD_ANSN_TEL_PACK))
				{
					// 割引サービスコード(W00000023)が存在すれば「3:あんしん電話パック」
					wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2, UM_U_ANSN_PACK);
				}
				//ANK-3754-00-00 ADD END
				else
				{
					// 上記の割引サービスコードが存在しない場合は「0:無」
					wkMap.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2, UM_MU);
				}
				// ANK-2056-00-00 2014/04/04 ADD END
				
				outList.add(wkMap);
			}
		}
		//■■■ IT1-2013-0000124 2013/1/25 M.IKUMA START ■■■
	}
	
	/**
	 * サービス契約＜eo光TV＞取得<BR>
	 * <BR>
	 * サービス契約番号にひもづくサービス契約＜eo光TV＞を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getSvc_kei_eoh_tv(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用

		// パラメータの設定
		Object[] setParam = {
				svc_kei_no,
		};
		
		executeKK_T_SVC_KEI_EOH_TV_KK_SELECT_001(setParam);
		
		// １件目を先読み
		rcvMap = db_KK_T_SVC_KEI_EOH_TV.selectNext();
		
		// 結果を取得
		while(rcvMap != null)
		{
			// 電波障害案件番号
			outmap.setString(JBSbatKKIFM003.DMPS_ANKEN_NO,
					rcvMap.getString(JBSbatKK_T_SVC_KEI_EOH_TV.DMPS_ANKEN_NO));
			
			// 次にデータを読む
			rcvMap = db_KK_T_SVC_KEI_EOH_TV.selectNext();
		}
	}
	
	/**
	 * サポート取得<BR>
	 * <BR>
	 * サービス契約番号にひもづくサポートを取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getSpport(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用
		HashMap<String, String> map_support = new HashMap<String, String>();

		// パラメータの設定
		Object[] setParam = {
				svc_kei_no,
		};
		
		executeKK_T_SUPPORT_KK_SELECT_002(setParam);
		
		int cnt = 0;
		
		// １件目を先読み
		rcvMap = db_KK_T_SUPPORT.selectNext();

		// 結果を取得
		while(rcvMap != null)
		{
			cnt++;
			// サポートコード
			map_support.put(cnt + "",
					rcvMap.getString(JBSbatKK_T_SUPPORT.SUPPORT_CD));
			
			// 次にデータを読む
			rcvMap = db_KK_T_SUPPORT.selectNext();
		}
		
		// 「訪問サポート」があれば有、なければ無
		if (map_support.containsValue(SUPPORT_CD_PCSETUP))
		{
			outmap.setString(JBSbatKKIFM003.PC_SETUP_UM , UM_U);
		}
		else
		{
			outmap.setString(JBSbatKKIFM003.PC_SETUP_UM , UM_MU);
		}
		
		// 「おまかせ安心セット」があれば有、なければ無
		if (map_support.containsValue(SUPPORT_CD_OMKSANSN_SET))
		{
			outmap.setString(JBSbatKKIFM003.OMKSANSN_SET_MSKM_UM , UM_U);
		}
		else
		{
			outmap.setString(JBSbatKKIFM003.OMKSANSN_SET_MSKM_UM , UM_MU);
		}
	}
	
	/**
	 * 提供方式契約取得<BR>
	 * <BR>
	 * 提供方式契約番号にひもづく提供方式契約を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param tk_hoshiki_kei_no 提供方式契約番号
	 * @throws Exception 
	 */
	private void getTk_hoshiki_kei(JBSbatServiceInterfaceMap outmap, String tk_hoshiki_kei_no) throws Exception
	{
		JBSbatCommonDBInterface rcvMapPK = new JBSbatCommonDBInterface();		// 結果取得用（PK検索）
		JBSbatCommonDBInterface rcvMap002 = new JBSbatCommonDBInterface();		// 結果取得用（KK_SELECT_002）
		
		// パラメータの設定
		Object[] setParamPK = {
				tk_hoshiki_kei_no,
		};
		
		// パラメータの設定
		Object[] setParam002 = {
				tk_hoshiki_kei_no,
				tk_hoshiki_kei_no,
		};
		
		
		rcvMapPK = executeKK_T_TK_HOSHIKI_KEI_PKSELECT(setParamPK);
		
		// マンションＶＤＳＬ−Ｓフラグ
		// 提供料金種別コードがVDSL-Sの場合
		if(TK_PRC_SBT_CD_VDSL_S.equals(rcvMapPK.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_PRC_SBT_CD)))
		{
			outmap.setString(JBSbatKKIFM003.MANS_VDSLS_FLG, MANS_VDSLS_FLG_VDSLS);
		}
		else
		{
			outmap.setString(JBSbatKKIFM003.MANS_VDSLS_FLG, MANS_VDSLS_FLG_NOT_VDSLS);
		}
		
		// マンション提供方式１
		// 2012/09/11 ST1-2012-0000551 Add Start
		outmap.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1,
				rcvMapPK.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_PATTERN_CD));
		// 2012/09/11 ST1-2012-0000551 Add End
		
		// 回線使用契約にひもづく、別の提供方式契約を取得
		executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_002(setParam002);
		rcvMap002 = db_KK_T_TK_HOSHIKI_KEI.selectNext();
		
		if(rcvMap002 != null)
		{
			// マンション提供方式２
			// 2012/09/11 ST1-2012-0000551 Add Start
			outmap.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_2,
					rcvMap002.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_PATTERN_CD));
			// 2012/09/11 ST1-2012-0000551 Add End
		}
	}

// 2012/05/21 v3.01.00 Add Start --->
//	/**
//	 * マンション物件コード取得<BR>
//	 * <BR>
//	 * サービス契約番号にひもづくマンション物件コードを取得します。<BR>
//	 * <BR>
//	 * @param outmap 返却用MAP
//	 * @param svckeino サービス契約番号
//	 * @throws Exception
//	 */
//	private void getMansion_bukken_cd(JBSbatServiceInterfaceMap outmap, String svckeino) throws Exception
//	{
//		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用
//		
//		// パラメータの設定
//		Object[] setParam = {
//				svckeino,
//				this.opeDate
//		};
//		
//		executeKK_T_SVC_KEI_KK_SELECT_166(setParam);
//		rcvMap = db_KK_T_SVC_KEI.selectNext();
//		
//		if(rcvMap != null)
//		{
//			// マンション物件コード
//			outmap.setString(JBSbatKKIFM003.MANSION_BUKKEN_CD,
//					rcvMap.getString(JBSbatKK_T_MANSION_BUKKEN.MANSION_BUKKEN_CD));
//		}
//	}
// 2012/05/21 v3.01.00 Add End <---

	/**
	 * 機器提供サービス契約取得<BR>
	 * <BR>
	 * サービス契約番号にひもづく機器提供サービス契約を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	// ANK-1578-00-00 2013/11/22 EDIT ST
// v7.04 2014/02/10 【OM-2014-0000637】MOD START
//	private void getKktk_svc_kei(JBSbatServiceInterfaceMap outmap, String svc_kei_no, String svc_kei_kaisen_ucwk_no) throws Exception
	private void getKktk_svc_kei(JBSbatServiceInterfaceMap outmap, String svc_kei_no, JBSbatServiceInterfaceMap mapKKIFM003) throws Exception
// v7.04 2014/02/10 【OM-2014-0000637】MOD END
//	private void getKktk_svc_kei(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	// ANK-1578-00-00 2013/11/22 EDIT ED
	{
		// ＰＬＣ宅内機器型式コードのキー配列
		String[] plc_taknkiki_model_cd_key = {
				JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_1,
				JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_2,
				JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_3,
				JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_4,
				JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_5
		};
		// ＰＬＣ提供種別コードのキー配列
		String[] plc_tk_sbt_cd_key = {
				JBSbatKKIFM003.PLC_TK_SBT_CD_1,
				JBSbatKKIFM003.PLC_TK_SBT_CD_2,
				JBSbatKKIFM003.PLC_TK_SBT_CD_3,
				JBSbatKKIFM003.PLC_TK_SBT_CD_4,
				JBSbatKKIFM003.PLC_TK_SBT_CD_5
		};
		// ＰＬＣ数量のキー配列
		String[] plc_cnt_key = {
				JBSbatKKIFM003.PLC_CNT_1,
				JBSbatKKIFM003.PLC_CNT_2,
				JBSbatKKIFM003.PLC_CNT_3,
				JBSbatKKIFM003.PLC_CNT_4,
				JBSbatKKIFM003.PLC_CNT_5
		};

// v7.04 2014/02/10 【OM-2014-0000637】ADD START
		String svc_kei_kaisen_ucwk_no = mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO);
// v7.04 2014/02/10 【OM-2014-0000637】ADD END

		//▼▼▼ ST2-2013-0000951 M.IKUMA Start ▼▼▼
		// 検索用予約適用年月日
		String rsv_date = null;
		// 検索用予約適用コード
		String rsv_cd = null;
		// 住所変更中かチェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更中なので最大世代を取得する
			rsv_date = "20991231";
			// 予約適用コードは未確定もありえる
			rsv_cd = "1";
		}
		else
		{
			// 運用年月日でカレント取得
			rsv_date = super.opeDate;
			// 予約適用コードは確定のみ
			rsv_cd = JKKBatConst.RSV_APLY_CD_RSV_FIX;
		}
		Object[] setParamRouter = { svc_kei_no, TAKNKIKI_SBT_CD_ROUTER, rsv_date, rsv_cd };
		//▲▲▲ ST2-2013-0000951 M.IKUMA   End ▲▲▲
		
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
		// 住所変更.住所変更番号
		String getStrAdchgNo = null;
		// 住所変更明細種別コード
		String getStrAdchgDtlCdNo = null;
		if(mJUHEN_KAISEN_SK_svc != null) {
			// 住所変更先回線内訳番号 [0]移転先回線番号[1]住所変更異動区分[2]移転元回線番号
			String itenSakiKaisenNo = mJUHEN_KAISEN_SK_svc[0];
			String itenMotoKaisenNo = mJUHEN_KAISEN_SK_svc[2];
			Object[] setParamJUHEN = { itenSakiKaisenNo, itenMotoKaisenNo };
			// 住所変更スキーマに住所変更中でレコードが存在するかチェック
			this.executeKK_T_ADCHG_KK_SELECT_024(setParamJUHEN);
			JBSbatCommonDBInterface rcvMapJuhenKaisen = db_KK_T_ADCHG.selectNext();
			if(rcvMapJuhenKaisen != null)
			{
				// スキーマにレコードがあれば住所変更中の為、住所変更番号を取得
				getStrAdchgNo = rcvMapJuhenKaisen.getString(JBSbatKK_T_ADCHG.ADCHG_NO);
			}
		}
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END

// v7.04 2014/02/10 【OM-2014-0000637】ADD START
		// 多機能ルーター関連情報設定済フラグ
		boolean setTakinouFlg = false;
		// ANK-4315-00-00 ADD START
		// ホームゲートウェイ関連情報設定済フラグ
		boolean setHgwFlg = false;
		
		// ホームゲートウェイを検索する
		Object[] setParamHgw = { svc_kei_kaisen_ucwk_no, TAKNKIKI_SBT_CD_HGW, rsv_date, rsv_cd };
		this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_167(setParamHgw);
		JBSbatCommonDBInterface rcvMapHgw = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		// ホームゲートウェイ有無チェック
		if(rcvMapHgw != null)
		{
			// テレビ以外のときにホームゲートウェイ関連の項目を設定
			if(!SVC_CD_TV.equals(mapKKIFM003.getString(JBSbatKKIFM003.SVC_CD)))
			{
				// 機器提供サービス契約番号取得
				String kktk_svc_kei_no = rcvMapHgw.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
				
				// 住所変更番号取得チェック
				if(getStrAdchgNo == null) {
					
					// 機器オプションサービス契約スキーマより料金プランコード取得
					Object [] setParamPlan = { kktk_svc_kei_no, rsv_date, rsv_cd, rsv_date, rsv_cd };
					this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_168(setParamPlan);
					JBSbatCommonDBInterface rcvMapTknoPlnCd = db_KK_T_KKTK_SVC_KEI.selectNext();
					
						//有線・無線ルーター機能、料金プランコード有無チェック
					if(rcvMapTknoPlnCd != null)
					{
						//料金プランコードからルーター機能であるかチェック
						String TknoPlanCd = rcvMapTknoPlnCd.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
						if(PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd) || PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
						{
							// 住所変更チェック
							if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
							{
								// ホームゲートウェイ関連情報設定済フラグを設定
								setHgwFlg = true;
								
								// eoBBR宅内機器型式コード
								outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
										rcvMapHgw.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
								// eoBBR機器契約区分
								outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
										rcvMapHgw.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
								// eoBBR識別区分
								String eoBbrTkWayCd = "";
								
								// 有線ルーター機能
								if (PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_7;
								}
								// 無線ルーター機能
								else if (PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_8;
								}
								outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
							}
						}
					}
				}else{
					getStrAdchgDtlCdNo = "09";
					// eoBBR識別区分（初期値："NULL"）
					String eoBbrTkWayCd = null;
					// 住所変更中の為、住所変更明細スキーマより変更後識別番号取得
					// { 住所変更明細種別コード, 住所変更番号 }
					Object[] setParamJUHENMEISAI = { getStrAdchgDtlCdNo, getStrAdchgNo };
					this.executeKK_T_ADCHG_DTL_KK_SELECT_047(setParamJUHENMEISAI);
					// １件目を先読み
					JBSbatCommonDBInterface rcvMapJuhenMeisaiTKRT = db_KK_T_ADCHG_DTL.selectNext();
					
					while(rcvMapJuhenMeisaiTKRT != null)
					{
						// 住所変更明細より変更後識別番号があれば取得
						String getStrChafSkbtNoTKRT = rcvMapJuhenMeisaiTKRT.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
						
						// 変更後識別番号がホームゲートウェイかチェック
						// { 機器オプションサービス契約番号, 検索用予約適用年月日, 検索用予約適用 }
						Object[] setParamKKTKKOPSVCKEI = { getStrChafSkbtNoTKRT, rsv_date, rsv_cd };
						this.executeKK_T_KKOP_SVC_KEI_KK_SELECT_028(setParamKKTKKOPSVCKEI);
						JBSbatCommonDBInterface rcvMapKkopSvckeiCd = db_KK_T_KKOP_SVC_KEI.selectNext();
						// ホームゲートウェイ時、識別区分設定
						if(rcvMapKkopSvckeiCd != null)
						{
							// 機器オプションサービス契約スキーマより料金プランコード取得
							Object [] setParamPlan = { kktk_svc_kei_no, rsv_date, rsv_cd, rsv_date, rsv_cd };
							this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_168(setParamPlan);
							JBSbatCommonDBInterface rcvMapTknoPlnCd = db_KK_T_KKTK_SVC_KEI.selectNext();
							
								//有線・無線ルーター機能、料金プランコード有無チェック
							if(rcvMapTknoPlnCd != null)
							{
								//料金プランコードからルーター機能であるかチェック
								String TknoPlanCd = rcvMapTknoPlnCd.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
								if(PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd) || PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
								{
									// ホームゲートウェイ関連情報設定済フラグを設定
									setHgwFlg = true;
									
									// eoBBR宅内機器型式コード
									outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
											rcvMapHgw.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
									// eoBBR機器契約区分
									outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
											rcvMapHgw.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
									// eoBBR識別区分
									eoBbrTkWayCd = "";
									
									// 有線ルーター機能
									if (PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_7;
									}
									// 無線ルーター機能
									else if (PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_8;
									}
									outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
									// ルータオプションの為、ループを終了する
									break;
								}
							}else{
								// ルータ機能だが料金プランコード不一致
								super.logPrint.printBusinessErrorLog("EKKB0720KW", new String[]{"KK_T_KKOP_SVC_KEI.料金プランコード" + kktk_svc_kei_no});
							}
						}
						// 次にデータを読む
						rcvMapJuhenMeisaiTKRT = db_KK_T_ADCHG_DTL.selectNext();
					}
				}
			}
		}
		
	//  既にホームゲートウェイ関連情報設定済であればここでは設定しない
		if (!setHgwFlg)
		{
		// ANK-4315-00-00 ADD END

			// 多機能ルーターを検索する
			Object[] setParamTakinouRouter = { svc_kei_kaisen_ucwk_no, TAKNKIKI_SBT_CD_TKNO_ROUTER, rsv_date, rsv_cd };
			this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_167(setParamTakinouRouter);
			JBSbatCommonDBInterface rcvMapTknoRouter = db_KK_T_KKTK_SVC_KEI.selectNext();
			
			// 多機能ルータ有無チェック
			if(rcvMapTknoRouter != null)
			{
				// テレビ以外のときに多機能ルーター関連の項目を設定
				if(!SVC_CD_TV.equals(mapKKIFM003.getString(JBSbatKKIFM003.SVC_CD)))
				{
					// 機器提供サービス契約番号取得
					String kktk_svc_kei_no = rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
					
	// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
					// 住所変更番号取得チェック
					if(getStrAdchgNo == null) {
	// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END
						
						// 機器オプションサービス契約スキーマより料金プランコード取得
						Object [] setParamPlan = { kktk_svc_kei_no, rsv_date, rsv_cd, rsv_date, rsv_cd };
						this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_168(setParamPlan);
						JBSbatCommonDBInterface rcvMapTknoPlnCd = db_KK_T_KKTK_SVC_KEI.selectNext();
						
							//有線・無線ルーター機能、料金プランコード有無チェック
						if(rcvMapTknoPlnCd != null)
						{
							//料金プランコードからルーター機能であるかチェック
							String TknoPlanCd = rcvMapTknoPlnCd.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
							if(PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd) || PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
							{
								// 住所変更チェック
								if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
								{
									// 多機能ルーター関連情報設定済フラグを設定
									setTakinouFlg = true;
									
									// eoBBR宅内機器型式コード
									outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
											rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
									// eoBBR機器契約区分
									outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
											rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
									// eoBBR識別区分
									String eoBbrTkWayCd = "";
									
									// 有線ルーター機能
									if (PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_5;
									}
									// 無線ルーター機能
									else if (PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_6;
									}
									outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
								}
							}
						}
	// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
					}else{
						getStrAdchgDtlCdNo = "09";
						// eoBBR識別区分（初期値："NULL"）
						String eoBbrTkWayCd = null;
						// 住所変更中の為、住所変更明細スキーマより変更後識別番号取得
						// { 住所変更明細種別コード, 住所変更番号 }
						Object[] setParamJUHENMEISAI = { getStrAdchgDtlCdNo, getStrAdchgNo };
						this.executeKK_T_ADCHG_DTL_KK_SELECT_047(setParamJUHENMEISAI);
						// １件目を先読み
						JBSbatCommonDBInterface rcvMapJuhenMeisaiTKRT = db_KK_T_ADCHG_DTL.selectNext();
						
						while(rcvMapJuhenMeisaiTKRT != null)
						{
							// 住所変更明細より変更後識別番号があれば取得
							String getStrChafSkbtNoTKRT = rcvMapJuhenMeisaiTKRT.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
							
							// 変更後識別番号が多機能ルーターかチェック
							// { 機器オプションサービス契約番号, 検索用予約適用年月日, 検索用予約適用 }
							Object[] setParamKKTKKOPSVCKEI = { getStrChafSkbtNoTKRT, rsv_date, rsv_cd };
							this.executeKK_T_KKOP_SVC_KEI_KK_SELECT_028(setParamKKTKKOPSVCKEI);
							JBSbatCommonDBInterface rcvMapKkopSvckeiCd = db_KK_T_KKOP_SVC_KEI.selectNext();
							// 多機能ルータ時、識別区分設定
							if(rcvMapKkopSvckeiCd != null)
							{
								// 機器オプションサービス契約スキーマより料金プランコード取得
								Object [] setParamPlan = { kktk_svc_kei_no, rsv_date, rsv_cd, rsv_date, rsv_cd };
								this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_168(setParamPlan);
								JBSbatCommonDBInterface rcvMapTknoPlnCd = db_KK_T_KKTK_SVC_KEI.selectNext();
								
									//有線・無線ルーター機能、料金プランコード有無チェック
								if(rcvMapTknoPlnCd != null)
								{
									//料金プランコードからルーター機能であるかチェック
									String TknoPlanCd = rcvMapTknoPlnCd.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
									if(PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd) || PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
									{
										// 多機能ルーター関連情報設定済フラグを設定
										setTakinouFlg = true;
										
										// eoBBR宅内機器型式コード
										outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
												rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
										// eoBBR機器契約区分
										outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
												rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
										// eoBBR識別区分
										eoBbrTkWayCd = "";
										
										// 有線ルーター機能
										if (PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd))
										{
											eoBbrTkWayCd = EO_BBR_TK_WAY_CD_5;
										}
										// 無線ルーター機能
										else if (PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
										{
											eoBbrTkWayCd = EO_BBR_TK_WAY_CD_6;
										}
										outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
										// ルータオプションの為、ループを終了する
										break;
									}
								}else{
									// ルータ機能だが料金プランコード不一致
									super.logPrint.printBusinessErrorLog("EKKB0720KW", new String[]{"KK_T_KKOP_SVC_KEI.料金プランコード" + kktk_svc_kei_no});
								}
							}
							// 次にデータを読む
							rcvMapJuhenMeisaiTKRT = db_KK_T_ADCHG_DTL.selectNext();
						}
					}
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END
				}
			}
// v7.04 2014/02/10 【OM-2014-0000637】ADD END
// ANK-4315-00-00 ADD START
		}
// ANK-4315-00-00 ADD END

// v7.04 2014/02/10 【OM-2014-0000637】ADD START
//		//  既に多機能ルーター関連情報設定済であればここでは設定しない
//		if (!setTakinouFlg) {
// ANK-4315-00-00 MOD START
		//  既に多機能ルーター又は、ホームゲートウェイ関連情報設定済であればここでは設定しない
		if (!setTakinouFlg && !setHgwFlg) {
// ANK-4315-00-00 MOD END
// v7.04 2014/02/10 【OM-2014-0000637】ADD END
			// ルータ機器データを検索する
			this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_052(setParamRouter);
			JBSbatCommonDBInterface rcvMapRouter = db_KK_T_KKTK_SVC_KEI.selectNext();
			// ルータ有無チェック
			if(rcvMapRouter != null)
			{
				// 機器提供サービス契約番号
				String kktk_svc_kei_no = rcvMapRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
				// 住所変更番号取得チェック
				if(getStrAdchgNo == null) {
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END
					// この機器を出力するかチェック
// 2013.11.27 OM-2013-0004212 mod start
//					if(this.checkJuhenKiki(kktk_svc_kei_no))
					if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
// 2013.11.27 OM-2013-0004212 mod end
					{
						// eoBBR宅内機器型式コード
						outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
								rcvMapRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
						// eoBBR機器契約区分
						outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
								rcvMapRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
						// eoBBR識別区分
						if (outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD) != null
								&& !"".equals(outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD)))
						{
							String eoBbrTkWayCd = "";		// eoBBR識別区分
							String yryoMryoCd = "";			// 有料無料コード
							String routerSpeedSbtCd = "";	// ルーター速度種別コード

							// 宅内機器型式を検索
							JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();

							// パラメータの設定
							Object[] setParam = {
									outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD)
							};
							rcvMap = executeZM_M_TAKNKIKI_MODEL_PKSELECT(setParam);

							if (rcvMap != null)
							{
								yryoMryoCd = rcvMap.getString(JBSbatZM_M_TAKNKIKI_MODEL.YRYO_MRYO_CD);
								routerSpeedSbtCd = rcvMap.getString(JBSbatZM_M_TAKNKIKI_MODEL.ROUTER_SPEED_SBT_CD);

								// 無料・100M
								if (YRYO_MRYO_CD_0.equals(yryoMryoCd)
										&& ROUTER_SPEED_SBT_CD_10.equals(routerSpeedSbtCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_1;
								}
								// 有料・100M
								else if (YRYO_MRYO_CD_1.equals(yryoMryoCd)
										&& ROUTER_SPEED_SBT_CD_10.equals(routerSpeedSbtCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_2;
								}
								// 無料・1G
								else if (YRYO_MRYO_CD_0.equals(yryoMryoCd)
										&& ROUTER_SPEED_SBT_CD_20.equals(routerSpeedSbtCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_3;
								}
								// 有料・1G
								else if (YRYO_MRYO_CD_1.equals(yryoMryoCd)
										&& ROUTER_SPEED_SBT_CD_20.equals(routerSpeedSbtCd))
								{
									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_4;
								}
							}
							outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
						}
					}
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
				}
				else{
					getStrAdchgDtlCdNo = "03";
					// eoBBR識別区分（初期値："NULL"）
					String eoBbrTkWayCd = null;
					// 住所変更中の為、住所変更明細スキーマより変更後識別番号取得
					// { 住所変更明細種別コード, 住所変更番号 }
					Object[] setParamJUHENMEISAI = { getStrAdchgDtlCdNo, getStrAdchgNo };
					this.executeKK_T_ADCHG_DTL_KK_SELECT_047(setParamJUHENMEISAI);
					// １件目を先読み
					JBSbatCommonDBInterface rcvMapJuhenMeisaiBBR = db_KK_T_ADCHG_DTL.selectNext();
					
					while(rcvMapJuhenMeisaiBBR != null)
					{
						// 住所変更明細より変更後識別番号があれば取得
						String getStrChafSkbtNoBBR = rcvMapJuhenMeisaiBBR.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
						
						// 変更後識別番号がBBRかチェック
						// { 機器交換番号, 検索用予約適用年月日, 検索用予約適用 }
						Object[] setParamKKTKSVCKEI = { getStrChafSkbtNoBBR, rsv_date, rsv_cd };
						this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_222(setParamKKTKSVCKEI);
						JBSbatCommonDBInterface rcvMapKktkSvcCd = db_KK_T_KKTK_SVC_KEI.selectNext();
						// BBR時、識別区分設定
						if(rcvMapKktkSvcCd != null)
						{
							// eoBBR宅内機器型式コード
							outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
									rcvMapRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
							// eoBBR機器契約区分
							outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
									rcvMapRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
							// eoBBR識別区分
							if (outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD) != null
									&& !"".equals(outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD)))
							{
								eoBbrTkWayCd = "";		// eoBBR識別区分
								String yryoMryoCd = "";			// 有料無料コード
								String routerSpeedSbtCd = "";	// ルーター速度種別コード

								// 宅内機器型式を検索
								JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();

								// パラメータの設定
								Object[] setParam = {
										outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD)
								};
								rcvMap = executeZM_M_TAKNKIKI_MODEL_PKSELECT(setParam);

								if (rcvMap != null)
								{
									yryoMryoCd = rcvMap.getString(JBSbatZM_M_TAKNKIKI_MODEL.YRYO_MRYO_CD);
									routerSpeedSbtCd = rcvMap.getString(JBSbatZM_M_TAKNKIKI_MODEL.ROUTER_SPEED_SBT_CD);

									// 無料・100M
									if (YRYO_MRYO_CD_0.equals(yryoMryoCd)
											&& ROUTER_SPEED_SBT_CD_10.equals(routerSpeedSbtCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_1;
									}
									// 有料・100M
									else if (YRYO_MRYO_CD_1.equals(yryoMryoCd)
											&& ROUTER_SPEED_SBT_CD_10.equals(routerSpeedSbtCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_2;
									}
									// 無料・1G
									else if (YRYO_MRYO_CD_0.equals(yryoMryoCd)
											&& ROUTER_SPEED_SBT_CD_20.equals(routerSpeedSbtCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_3;
									}
									// 有料・1G
									else if (YRYO_MRYO_CD_1.equals(yryoMryoCd)
											&& ROUTER_SPEED_SBT_CD_20.equals(routerSpeedSbtCd))
									{
										eoBbrTkWayCd = EO_BBR_TK_WAY_CD_4;
									}
									outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
									// BBRの為、ループを終了する
									break;
								}else{
									// BBRだがｅｏＢＢＲ宅内機器型式コード不一致
									super.logPrint.printBusinessErrorLog("EKKB0720KW", new String[]{"宅内型式マスタ" + kktk_svc_kei_no});
								}
							}
						}
						// 次にデータを読む
						rcvMapJuhenMeisaiBBR = db_KK_T_ADCHG_DTL.selectNext();
					}
				}
// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END
// v7.04 2014/02/10 【OM-2014-0000637】ADD START
			}
// v7.04 2014/02/10 【OM-2014-0000637】ADD END
		}

// v7.04 2014/02/10 【OM-2014-0000637】DEL START
//		// ANK-1578-00-00 2013/11/25 ADD ST 
//		// 多機能ルーターを検索する
//		Object[] setParamTakinouRouter = { svc_kei_kaisen_ucwk_no, TAKNKIKI_SBT_CD_TKNO_ROUTER, rsv_date, rsv_cd };
//		this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_167(setParamTakinouRouter);
//		JBSbatCommonDBInterface rcvMapTknoRouter = db_KK_T_KKTK_SVC_KEI.selectNext();
//		
//		// 多機能ルータ有無チェック
//		if(rcvMapTknoRouter != null)
//		{
//			// 機器提供サービス契約番号取得
//			String kktk_svc_kei_no = rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
//			
//			// 機器オプションサービス契約スキーマより料金プランコード取得
//			Object [] setParamPlan = { kktk_svc_kei_no, rsv_date, rsv_cd, rsv_date, rsv_cd };
//			this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_168(setParamPlan);
//			JBSbatCommonDBInterface rcvMapTknoPlnCd = db_KK_T_KKTK_SVC_KEI.selectNext();
//			
//			//有線・無線ルーター機能、料金プランコード有無チェック
//			if(rcvMapTknoPlnCd != null)
//			{
//				//料金プランコードからルーター機能であるかチェック
//				String TknoPlanCd = rcvMapTknoPlnCd.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
//				if(PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd) || PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
//				{
//					// 住所変更チェック
//					if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
//					{
//						// eoBBR宅内機器型式コード
//						outmap.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
//								rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
//						// eoBBR機器契約区分
//						outmap.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD, 
//								rcvMapTknoRouter.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD));
//						// eoBBR識別区分
//						String eoBbrTkWayCd = "";		
//// 2013.12.14 IT1-2013-0001697 add start
//						if (outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD) != null
//								&& !"".equals(outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD))) {
//// 2013.12.14 IT1-2013-0001697 add end
//
//							// 宅内機器型式を検索
//							JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();
//			
//							// パラメータの設定
//							Object[] setParam = {
//									outmap.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD)
//							};
//							rcvMap = executeZM_M_TAKNKIKI_MODEL_PKSELECT(setParam);
//							
//							if (rcvMap != null)
//							{
//								// 有線ルーター機能
//								if (PPLAN_CD_TKNO_ROUTER_YUSEN.equals(TknoPlanCd))
//								{
//// 2013.12.25 IT1-2013-0001734 mod start
////									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_3;
//									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_5;
//// 2013.12.25 IT1-2013-0001734 mod end
//								}
//								// 無線ルーター機能
//								else if (PPLAN_CD_TKNO_ROUTER_MUSEN.equals(TknoPlanCd))
//								{
//// 2013.12.25 IT1-2013-0001734 mod start
////									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_4;
//									eoBbrTkWayCd = EO_BBR_TK_WAY_CD_6;
//// 2013.12.25 IT1-2013-0001734 mod end
//								}
//							}
//							outmap.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD, eoBbrTkWayCd);
//// 2013.12.14 IT1-2013-0001697 add start
//						}
//// 2013.12.14 IT1-2013-0001697 add end
//					}
//				}
//			}
//		}
//		// ANK-1578-00-00 2013/11/25 ADD ED
// v7.04 2014/02/10 【OM-2014-0000637】DEL END

		// PLC機器を取得する
		Object[] setParamPLC = { svc_kei_no, TAKNKIKI_SBT_CD_PLC_MODEM, rsv_date, rsv_cd };
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_052(setParamPLC);
		JBSbatCommonDBInterface rcvMapPLC = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		// PLC宅内機器型式コード、PLC機器契約区分を設定する
		// PLC宅内機器型式コード、PLC機器契約区分単位で、
		// ５件以上であればそれ以上設定はしないが、PLC数量は件数分カウントしていく
		while(rcvMapPLC != null)
		{
			// 機器提供サービス契約番号
			String kktk_svc_kei_no = rcvMapPLC.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
			// この機器を出力するかチェック
// 2013.11.27 OM-2013-0004212 mod start
//			if(this.checkJuhenKiki(kktk_svc_kei_no))
			if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
// 2013.11.27 OM-2013-0004212 mod end
			{
				// 取得したレコードから値を取り出す
				// 宅内機器型式コード
				String taknkiki_model_cd = rcvMapPLC.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD);
				// 機器提供種別コード
				String kktk_sbt_cd = rcvMapPLC.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD);
				//▼▼▼IT1-2012-0001038 Add Start▼▼▼
				if(null == taknkiki_model_cd)
				{
					taknkiki_model_cd = "";
				}
				if(null == kktk_sbt_cd)
				{
					kktk_sbt_cd = "";
				}
				//▲▲▲IT1-2012-0001038 Add End▲▲▲
				
				// PLC(1)〜(5)
				for(int i = 0; i < plc_taknkiki_model_cd_key.length; i++)
				{
					// 返却用マップに格納している値を取り出す
					String model_cd = outmap.getString(plc_taknkiki_model_cd_key[i]);
					String tk_sbt_cd = outmap.getString(plc_tk_sbt_cd_key[i]);
					
					// PLC宅内機器型式コード(i)、PLC機器契約区分(i)が設定されていない場合、設定する
					if((model_cd == null || "".equals(model_cd)) &&
							(tk_sbt_cd == null || "".equals(tk_sbt_cd)))
					{
						// PLC宅内機器型式コード(i)
						outmap.setString(plc_taknkiki_model_cd_key[i], taknkiki_model_cd);
						// PLC機器契約区分(i)
						outmap.setString(plc_tk_sbt_cd_key[i], kktk_sbt_cd);
						// PLC数量(i)
						outmap.setString(plc_cnt_key[i], "1");
						// 次のレコードを見る
						break;
					}
					// 設定しているPLC宅内機器型式コードとPLC機器契約区分と一致する場合、数量を増やす
					else if(model_cd.equals(taknkiki_model_cd) &&
							tk_sbt_cd.equals(kktk_sbt_cd))
					{
						// 返却用マップに格納しているPLC数量(i)を取り出す
						String plc_cnt_str = outmap.getString(plc_cnt_key[i]);
						// 数値に変換して、＋１する
						int plc_cnt_int = (Integer.parseInt(plc_cnt_str)) + 1;
						// 返却用マップに設定する
						outmap.setString(plc_cnt_key[i], plc_cnt_int + "");
						// 次のレコードを見る
						break;
					}
				}
			}
			// 次にデータを読む
			rcvMapPLC = db_KK_T_KKTK_SVC_KEI.selectNext();
		}
	}

	/**
	 * サービス契約内訳(TV_STB)取得<BR>
	 * <BR>
	 * サービス契約番号にひもづくサービス契約内訳を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getSvc_kei_ucwk_stb(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		// ＴＶ＿ＳＴＢ種別名のキー配列
		String[] tv_stb_sbt_nm_key = {
				JBSbatKKIFM003.STB_SBT_NM_1,
				JBSbatKKIFM003.STB_SBT_NM_2,
				JBSbatKKIFM003.STB_SBT_NM_3,
				JBSbatKKIFM003.STB_SBT_NM_4,
				JBSbatKKIFM003.STB_SBT_NM_5
		};
		// ＴＶ＿コース名のキー配列
		String[] tv_course_nm_key = {
				JBSbatKKIFM003.TV_COURSE_NM_1,
				JBSbatKKIFM003.TV_COURSE_NM_2,
				JBSbatKKIFM003.TV_COURSE_NM_3,
				JBSbatKKIFM003.TV_COURSE_NM_4,
				JBSbatKKIFM003.TV_COURSE_NM_5
		};
		// ＴＶ＿ＳＴＢ種別台数のキー配列
		String[] tv_stb_sbt_cnt_key = {
				JBSbatKKIFM003.STB_SBT_CNT_1,
				JBSbatKKIFM003.STB_SBT_CNT_2,
				JBSbatKKIFM003.STB_SBT_CNT_3,
				JBSbatKKIFM003.STB_SBT_CNT_4,
				JBSbatKKIFM003.STB_SBT_CNT_5
		};

// OM-2014-0002588 2014/09/01 ADD START
		boolean juhenFlg = false;
// OM-2014-0002588 2014/09/01 ADD END

		// 検索用予約適用年月日
		String rsv_date = null;
		// 住所変更中かチェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更中なので最大世代を取得する
			rsv_date = "20991231";
// OM-2014-0002588 2014/09/01 ADD START
			juhenFlg = true;
// OM-2014-0002588 2014/09/01 ADD END
		}
		else
		{
			// 運用年月日でカレント取得
			rsv_date = super.opeDate;
		}
		// パラメータの設定
// OM-2014-0002588 2014/09/01 MOD START
//		Object[] setParam = { rsv_date, rsv_date, svc_kei_no, rsv_date, rsv_date };
		Object[] setParam = { rsv_date, rsv_date, svc_kei_no, rsv_date };
// OM-2014-0002588 2014/09/01 MOD END
		executeKK_T_SVC_KEI_UCWK_KK_SELECT_058(setParam);
		JBSbatCommonDBInterface rcvMap = db_KK_T_SVC_KEI_UCWK.selectNext();
		
		// STB追加台数（１台もない場合の初期値）
		String stb_add_cnt = "0";
// OM-2014-0002588 2014/09/01 ADD START
		int add_cnt = 0;
// OM-2014-0002588 2014/09/01 ADD END
		for(int i = 0; rcvMap != null; i++)
		{
			// 機器提供サービス契約番号
			String kktk_svc_kei_no = rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
			// この機器を出力するかチェック
// 2013.11.27 OM-2013-0004212 mod start
//			if(this.checkJuhenKiki(kktk_svc_kei_no))
			if(this.checkJuhenKiki(kktk_svc_kei_no, svc_kei_no))
// 2013.11.27 OM-2013-0004212 mod end
			{
// OM-2014-0002588 2014/09/01 ADD START
				boolean kikiKaiyakuFlg = false;
				
				// 住所変更中かチェック（住所変更情報の異動区分が「住所変更・登録」）
				if(!juhenFlg)
				{
					// 住所変更中でない場合は、機器解約の予約手続中かどうかを判定する。
					// 異動予約を検索 (異動予約状態が「00:未反映」「03:予約手続中」「04:異動予約対象外」が対象)
					Object[] setIdoParam = { kktk_svc_kei_no };
					this.executeKK_T_IDO_RSV_KK_SELECT_081(setIdoParam);
					JBSbatCommonDBInterface resultIdoKiki = this.db_KK_T_IDO_RSV.selectNext();
					if (resultIdoKiki != null)
					{
						kikiKaiyakuFlg = true;
					}
				}
				// 何れかの条件に該当する場合は、機器の情報を出力を行う。
				// ・住所変更中の場合
				// ・機器解約の予約手続中でない場合
				if (!kikiKaiyakuFlg)
				{
// OM-2014-0002588 2014/09/01 ADD END
				// 機器の情報を出力
				if(i < tv_stb_sbt_nm_key.length)
				{
					// ＴＶ＿ＳＴＢ種別名
					outmap.setString(tv_stb_sbt_nm_key[i],
							this.chgHanZenMoji(rcvMap.getString(KEY_KK_SELECT_058_CD_DIV_NM)));
					
					// ＴＶ＿コース名
// OM-2014-0002588 2014/09/01 ADD START
					if(juhenFlg)
					{
						// 住所変更中の異動予約からコース変更のレコードを取得する。
						// 異動予約を検索 (異動予約状態が「00:未反映」「03:予約手続中」「04:異動予約対象外」が対象)
						String idoPcrsNm = null;
						Object[] setIdoParam = { rcvMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO), super.opeDate };
						this.executeKK_T_IDO_RSV_KK_SELECT_082(setIdoParam);
						JBSbatCommonDBInterface resultIdoCourse = this.db_KK_T_IDO_RSV.selectNext();
						if (resultIdoCourse != null)
						{
							idoPcrsNm = this.chgHanZenMoji(resultIdoCourse.getString(KEY_KK_SELECT_058_PCRS_NM));
						}
						else
						{
							idoPcrsNm = this.chgHanZenMoji(rcvMap.getString(KEY_KK_SELECT_058_PCRS_NM));
						}
						outmap.setString(tv_course_nm_key[i], idoPcrsNm);
					}
					else
					{
// OM-2014-0002588 2014/09/01 ADD END
					outmap.setString(tv_course_nm_key[i],
						this.chgHanZenMoji(rcvMap.getString(KEY_KK_SELECT_058_PCRS_NM)));
// OM-2014-0002588 2014/09/01 ADD START
					}
// OM-2014-0002588 2014/09/01 ADD END
					
					// ＴＶ＿ＳＴＢ種別台数
					outmap.setString(tv_stb_sbt_cnt_key[i], "1");
				}
				// 機器台数をインクリメント
// OM-2014-0002588 2014/09/01 ADD START
				add_cnt++;
// OM-2014-0002588 2014/09/01 ADD END
// OM-2014-0002588 2014/09/01 MOD START
//				stb_add_cnt = (i + 1) + "";
				stb_add_cnt = add_cnt + "";
// OM-2014-0002588 2014/09/01 MOD END
// OM-2014-0002588 2014/09/01 ADD START
				}
// OM-2014-0002588 2014/09/01 ADD END
			}
			// 次にデータを読む
			rcvMap = db_KK_T_SVC_KEI_UCWK.selectNext();
		}
		// ＳＴＢ追加台数
		outmap.setString(JBSbatKKIFM003.STB_ADD_CNT, stb_add_cnt);
	}
	
	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/**
	 * ケーブルガイド誌申込数を取得<BR>
	 * <BR>
	 * サービス契約番号に紐付くケーブルガイド誌の申込数を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getOp_svc_ctv_mskm(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		// 結果取得用
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();
		
		// パラメータの設定
		Object[] setParam = {
				this.opeDate,	// 運用年月日
				svc_kei_no		// サービス契約番号
		};
		
		executeKK_T_OPSVKEI_TV_KK_SELECT_004(setParam);
		
		// １件目を先読み
		rcvMap = db_KK_T_OPSVKEI_TV.selectNext();
		String cable_guide_mskm_cnt = "0";
		
		if(null != rcvMap)
		{
			cable_guide_mskm_cnt = (String)rcvMap.getString(JBSbatKK_T_OPSVKEI_TV.CABLE_GUIDE_MSKM_CNT);
		}
		outmap.setString(JBSbatKKIFM003.CABLE_GUIDE_MSKM_CNT, cable_guide_mskm_cnt);
	}
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲

	/**
	 * 割引サービス契約(キャンペーンコード)取得<BR>
	 * <BR>
	 * サービス契約番号にひもづく割引サービス契約を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_kei_no サービス契約番号
	 * @throws Exception 
	 */
	private void getWrib_svc_kei(JBSbatServiceInterfaceMap outmap, String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用
		// キャンペーンコードのキー配列
		String[] cmp_cd_key = {
				JBSbatKKIFM003.CMP_CD_1,
				JBSbatKKIFM003.CMP_CD_2,
				JBSbatKKIFM003.CMP_CD_3,
				JBSbatKKIFM003.CMP_CD_4,
				JBSbatKKIFM003.CMP_CD_5
		};
		// パラメータの設定
		Object[] setParam = {
				svc_kei_no,
				this.opeDate
		};
		
// 2012/05/21 v3.01.00 Mod Start --->
		executeKK_T_WRIB_SVC_KEI_KK_SELECT_020(setParam);
		// １件目を先読み
		rcvMap = db_KK_T_WRIB_SVC_KEI.selectNext();
		
		for(int i = 0; rcvMap != null && i < cmp_cd_key.length; i++)
		{
			// キャンペーンコード
			outmap.setString(cmp_cd_key[i],
					rcvMap.getString(JBSbatKK_M_WRIB_SVC.DSP_CAMPAIGN_CD));
			
			// 次にデータを読む
			rcvMap = db_KK_T_WRIB_SVC_KEI.selectNext();
		}
// 2012/05/21 v3.01.00 Mod End <---
	}

	// ANK-2056-00-00 2014/04/04 ADD START
	/**
	 * 割引サービス契約取得(サービス契約内訳番号にひもづく)<BR>
	 * ※eo光電話トリプルパック と eo光電話フルパック を取得
	 * <BR>
	 * サービス契約内訳番号にひもづく割引サービス契約を取得します。<BR>
	 * eo光電話トリプルパック と eo光電話フルパック のみを取得します。<BR>
	 * <BR>
	 * @param outmap 返却用Map
	 * @param svc_kei_ucwk_no サービス契約内訳番号
	 * @throws Exception 各種エラー
	 */
	private void getWrib_svc_kei_telOptPack(HashMap<String, String> outmap, String svc_kei_ucwk_no) throws Exception
	{
		int cnt = 0;
		JBSbatCommonDBInterface rcvMapWr = new JBSbatCommonDBInterface(); // 結果取得用
		
		// パラメータの設定
// IT1-2014-0000121 2014/05/01 MOD START
		//Object[] setParamWr = {
		//		svc_kei_ucwk_no,
		//		this.opeDate,
		//		this.opeDate,
		//		this.opeDate
		//};
		Object[] setParamWr = {
				this.opeDate,
				this.opeDate,
				this.opeDate,
				svc_kei_ucwk_no
		};
// IT1-2014-0000121 2014/05/01 MOD END

		executeKK_T_WRIB_SVC_KEI_KK_SELECT_058(setParamWr);

		// １件目を先読み
		rcvMapWr = db_KK_T_WRIB_SVC_KEI.selectNext();

		// 結果を取得
		while(rcvMapWr != null)
		{
			cnt++;
			// 割引サービスコード
			String wrib_svc_cd = rcvMapWr.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_CD);
			outmap.put(cnt + "", wrib_svc_cd);
			
			// 次のデータを読む
			rcvMapWr = db_KK_T_WRIB_SVC_KEI.selectNext();
		}
	}
	// ANK-2057-00-00 2014/04/03 ADD END

// IT1-2014-0000121 2014/05/01 ADD START
	/**
	 * 割引サービス契約取得(サービス契約内訳番号にひもづく)<BR>
	 * ※eo光電話トリプルパック と eo光電話フルパック を取得
	 * ※住所変更中用のメソッド
	 * <BR>
	 * サービス契約内訳番号にひもづく割引サービス契約を取得します。<BR>
	 * eo光電話トリプルパック と eo光電話フルパック のみを取得します。<BR>
	 * ※住所変更中の場合は、こちらのメソッドを使用します。
	 * <BR>
	 * @param outmap 返却用Map
	 * @param svc_kei_ucwk_no サービス契約内訳番号
	 * @throws Exception 各種エラー
	 */
	private void getWrib_svc_kei_telOptPack_juhen(HashMap<String, String> outmap, String svc_kei_ucwk_no) throws Exception
	{
		int cnt = 0;
		JBSbatCommonDBInterface rcvMapWr = new JBSbatCommonDBInterface(); // 結果取得用
		
		// パラメータの設定
		Object[] setParamWr = {
				this.opeDate,
				svc_kei_ucwk_no,
				this.opeDate,
				this.opeDate
		};

		executeKK_T_WRIB_SVC_KEI_KK_SELECT_059(setParamWr);

		// １件目を先読み
		rcvMapWr = db_KK_T_WRIB_SVC_KEI.selectNext();

		// 結果を取得
		while(rcvMapWr != null)
		{
			cnt++;
			// 割引サービスコード
			String wrib_svc_cd = rcvMapWr.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_CD);
			outmap.put(cnt + "", wrib_svc_cd);
			
			// 次のデータを読む
			rcvMapWr = db_KK_T_WRIB_SVC_KEI.selectNext();
		}
	}
// IT1-2014-0000121 2014/05/01 ADD END

	//■■■■■ 2012/07/11 改修対応 M.IKUMA START ■■■■■
	/**
	 * 半角文字列を全角文字に変換して返します。
	 * 
	 * @param trg 対象文字
	 * @return 変換実行結果
	 * @throws Exception 例外が発生した場合
	 */
	public String chgHanZenMoji(String trg) throws Exception
	{
		String rtnStr = trg;
		if(rtnStr == null)
		{
			return null;
		}
		
		// 半角文字を全角文字に変換
		for(char[] pattern : ZEN_HAN_CHG_MOJI)
		{
			rtnStr = rtnStr.replace(pattern[1], pattern[0]);
		}
		
		return rtnStr;
	}
	
	/**
	 * 機器提供サービス契約テーブルから最新の機器送付先住所を取得する
	 * 
	 * @param wkMain 契約者情報マップ
	 * @param kaisenSvcMap サービス契約回線内訳マップ
	 * @throws Exception 各種エラー
	 */
	private void getSvc_ka_uw(ArrayList<JBSbatServiceInterfaceMap> wkMain,
			HashMap<String, String[]> kaisenSvcMap) throws Exception
	{
		// 最新の機器提供サービス契約情報保持変数
		HashMap<String, JBSbatCommonDBInterface> new_kiki_data = new HashMap<String, JBSbatCommonDBInterface>();
		// 回線内訳番号リスト
		ArrayList<String> kaisenList = new ArrayList<String>();
		// 契約者住所用マップ
		JBSbatServiceInterfaceMap keiShaAdrMap = null;
		
		// 出力対象の値から機器情報を取り出す
		for(JBSbatServiceInterfaceMap wkMap : wkMain)
		{
			// 検索するサービス契約番号（サービス契約内訳情報もここから取得）
			String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// 回線内訳番号
			String kaisenUwNo = kaisenSvcMap.get(svckeino)[0];
			// 契約者住所取得用マップ保持
			if(keiShaAdrMap == null)
			{
				keiShaAdrMap = wkMap;
			}
			// #########################################################################################
			// サービス契約番号、もしくはサービス契約回線内訳番号に紐づく機器情報を取得（住所変更対応版）
			// #########################################################################################
			// 住所変更・登録中かチェック
// 2014.04.22 ANK-2093-00-00 add start
			// ANK-3387-00-00 2019/02/27 MOD START
			//boolean booAdchgEtherAdsl = false;
			boolean booAdchgEtherAdslConsent = false;
			// ANK-3387-00-00 2019/02/27 MOD END
			JBSbatCommonDBInterface resultAdchmTppv = null;
// 2014.04.22 ANK-2093-00-00 add end
			
// 2013.11.27 OM-2013-0004212 mod start
//			if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
			String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svckeino);
			if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
			{
				// 住所変更中なので変更前のサービス契約番号を取得
				svckeino = this.mJUHEN_BEFOR_SVKEINO_MAP.get(svckeino);
				if(svckeino == null)
				{
					svckeino = "";
				}
				// 住所変更前の回線内訳番号を取得
// 2013.11.27 OM-2013-0004212 mod start
//				kaisenUwNo = this.mJUHEN_KAISEN_SK[2];
				kaisenUwNo = mJUHEN_KAISEN_SK_svc[2];
// 2013.11.27 OM-2013-0004212 mod end
				
// 2014.04.23 ANK-2093-00-00 add start
				// 転居先の回線内訳番号
				String kaisenUwNoSaki = mJUHEN_KAISEN_SK_svc[0];
				
				String sysid = wkMap.getString(JBSbatKKIFM003.SYSID);
				
				// ANK-3387-00-00 2019/02/27 MOD START
				// 転居先がマンションイーサネット、または、マンションＶＤＳＬ、または、光コンセントの場合
				//booAdchgEtherAdsl = isMansionEtherOrVdsl(kaisenUwNoSaki);
				booAdchgEtherAdslConsent = isMansionEtherOrVdslOrConsent(kaisenUwNoSaki,
						wkMap.getString(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO));
				// ANK-3387-00-00 2019/02/27 MOD END
				
				// ANK-3387-00-00 2019/02/27 MOD START
				//if(booAdchgEtherAdsl) {
				if(booAdchgEtherAdslConsent) {
				// ANK-3387-00-00 2019/02/27 MOD END
					// 住所変更一時保存を参照する。(SYSID, 転居元回線番号）
					resultAdchmTppv = getAdchm_Tppv(sysid, kaisenUwNo);
					
					if (resultAdchmTppv != null) {
						// 転居先の回線内訳番号 の値で、以降、管理する。
						kaisenUwNo = kaisenUwNoSaki;
					}
				}
// 2014.04.23 ANK-2093-00-00 add end
			}
			
			// 回線内訳番号がすでに存在しているかチェック
			if(!kaisenList.contains(kaisenUwNo))
			{
				// リストに格納
				kaisenList.add(kaisenUwNo);
			}
			
// 2014.04.23 ANK-2093-00-00 add start
			// 住所変更
			// ANK-3387-00-00 2019/02/27 MOD START
			//   転居先がマンションイーサネット、または、マンションＶＤＳＬ、または、光コンセント
			//     住所変更一時保存 あり のとき
			//if (booAdchgEtherAdsl && resultAdchmTppv != null) {
			if (booAdchgEtherAdslConsent && resultAdchmTppv != null) {
			// ANK-3387-00-00 2019/02/27 MOD END
				JBSbatCommonDBInterface k_data = new_kiki_data.get(kaisenUwNo);
				if(k_data == null)
				{
					// 機器データがなかったので格納
					new_kiki_data.put(kaisenUwNo, resultAdchmTppv);
				}
			} else {
// 2014.04.23 ANK-2093-00-00 add end
				
			// 回線内訳番号とサービス契約番号に紐づく機器から最新の送付先住所を取得（運用日でＯＫ）
			Object[] setParam = { this.opeDate, svckeino, kaisenUwNo };
			executeKK_T_KKTK_SVC_KEI_KK_SELECT_078(setParam);
			JBSbatCommonDBInterface result = db_KK_T_KKTK_SVC_KEI.selectNext();
			// 取得結果の存在チェック
			if(result != null)
			{
				// 回線番号に紐づく既存のデータを取得
				JBSbatCommonDBInterface kiki_data = new_kiki_data.get(kaisenUwNo);
				if(kiki_data == null)
				{
					// 機器データがなかったので格納
					new_kiki_data.put(kaisenUwNo, result);
				}
				else
				{
					try
					{
						// 運用年月日の更新日付で最新データかチェック
// 2014.04.23 ANK-2093-00-00 mod start
//						long kizon_ymd = Long.parseLong(kiki_data.getString(JBSbatKK_T_KKTK_SVC_KEI.UPD_DTM));
//						long get_kiki_ymd = Long.parseLong(result.getString(JBSbatKK_T_KKTK_SVC_KEI.UPD_DTM));
						long kizon_ymd = Long.parseLong(kiki_data.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
						long get_kiki_ymd = Long.parseLong(result.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
// 2014.04.23 ANK-2093-00-00 mod end
						// 既存より新しいデータかチェック
						if(kizon_ymd < get_kiki_ymd)
						{
							// データを置換する
							new_kiki_data.put(kaisenUwNo, result);
						}
					}
					catch(NumberFormatException e)
					{
						// 何もしない
					}
				}
			}
// 2014.04.23 ANK-2093-00-00 add start
			}
// 2014.04.23 ANK-2093-00-00 add end
		}
		
		// 回線内訳番号毎に最新の器機送付先住所を取得する
		for(String kaisenUwKey : kaisenList)
		{
			// 住所情報マップ
			HashMap<String, String> outMap = new HashMap<String, String>();
			// マップから回線に紐づく最新の機器提供サービス契約を取り出す
			JBSbatCommonDBInterface rcvMap = new_kiki_data.get(kaisenUwKey);
			if(rcvMap != null)
			// 有効な機器提供先住所情報を出力
			{
				// 機器送付先_郵便番号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_PCD,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_PCD));
				// 機器送付先_都道府県名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_STATE_NM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM));
				// 機器送付先_市区町村名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_CITY_NM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_CITY_NM));
				// 機器送付先_大字通称名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_OAZTSU_NM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_OAZTSU_NM));
				// 機器送付先_字丁目名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_AZCHO_NM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AZCHO_NM));
				// 機器送付先_番地号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_BNCHIGO,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_BNCHIGO));
				// 機器送付先_住所補記・建物名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_ADRTTM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRTTM));
				// 機器送付先_住所補記・部屋番号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_ADRRM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRRM));
				// 機器送付先_機器送付先名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_NM,
						rcvMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM));
			}
			else
			// 機器提供先に有効な住所情報がないので契約者住所をセット
			{
				// 契約者_郵便番号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_PCD,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_PCD));
				// 契約者_都道府県名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_STATE_NM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_STATE_NM));
				// 契約者_市区町村名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_CITY_NM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_CITY_NM));
				// 契約者_大字通称名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_OAZTSU_NM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_OAZTSU_NM));
				// 契約者_字丁目名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_AZCHO_NM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_AZCHO_NM));
				// 契約者_番地号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_BNCHIGO,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_BNCHIGO));
				// 契約者_住所補記・建物名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_ADRTTM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_ADRTTM));
				// 契約者_住所補記・部屋番号
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_ADRRM,
						keiShaAdrMap.getString(JBSbatKKIFM003.KEISHA_ADRRM));
				// 契約者_機器送付先名
				outMap.put(JBSbatKKIFM003.KIKI_SOHUS_NM,
						keiShaAdrMap.getString(JBSbatKKIFM003.CUST_NM));
			}
			// 回線内訳番号に紐づく最新住所情報を格納
			this.mKikiSohuAdr.put(kaisenUwKey, outMap);
		}
	}
	//■■■■■ 2012/07/11 改修対応 M.IKUMA   END ■■■■■

	/**
	 * 加入御礼書印字名取得<BR>
	 * <BR>
	 * 加入御礼書印字名を取得します。<BR>
	 * <BR>
	 * @param outmap 返却用MAP
	 * @param svc_cd サービスコード
	 * @param pplan_cd 料金プランコード
	 * @param mans_vdsls_flg マンションVDSL-Sフラグ
	 * @param mans_tk_hoshiki_cd_1 マンション提供方式コード
	 * @param soku_wari_um 即割有無
	 * @param pcrs_cd 料金コースコード
	 * @param mansion_bukken_cd マンション物件コード
	 * @throws Exception
	 */
	private void getKors_print_nm(JBSbatServiceInterfaceMap outmap, String svc_cd, String pplan_cd, 
			String mans_vdsls_flg, String mans_tk_hoshiki_cd_1, String soku_wari_um, String pcrs_cd, String mansion_bukken_cd) throws Exception
	{
		JBSbatCommonDBInterface rcvMap = new JBSbatCommonDBInterface();		// 結果取得用
		String prc_plan_cd = "";
		String mans_vdsl_plan_cd = "";
		String mans_tk_hoshiki_cd = "";
		String soku_wari_um_val = "";
		String svc_nm = "";
		String pcrs_nm = "";
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		String mansion_bukken_val = " ";
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		
		// 料金プランコードがNULLの場合、空白に変換
		if (pplan_cd != null)
		{
			prc_plan_cd = pplan_cd;
		}
		
		// マンションVDSL-Sフラグから、マンションVDSLプランコードを判定
		// マンションVDSL-Sフラグが設定されていない場合、" "をパラメータとする
		if(mans_vdsls_flg != null && MANS_VDSLS_FLG_NOT_VDSLS.equals(mans_vdsls_flg))
		{
			mans_vdsl_plan_cd = MANS_VDSL_PLAN_CD_VDSL;
		}
		else if(mans_vdsls_flg != null && MANS_VDSLS_FLG_VDSLS.equals(mans_vdsls_flg))
		{
			mans_vdsl_plan_cd = MANS_VDSL_PLAN_CD_VDSLS;
		}
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		else
		{
			mans_vdsl_plan_cd = " ";
		}
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		
		// マンション提供方式コードnullチェック
		if(mans_tk_hoshiki_cd_1 != null)
		{
			mans_tk_hoshiki_cd = mans_tk_hoshiki_cd_1;
		}
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		else
		{
			mans_tk_hoshiki_cd = " ";
		}
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		
		// 即割有無の取得
		// 20151217 ANK-2612-00-00 MOD Start
//		if(PCRS_CD_100M.equals(pcrs_cd) || PCRS_CD_100M_P.equals(pcrs_cd) ||
//			PCRS_CD_1G.equals(pcrs_cd) || PCRS_CD_200M.equals(pcrs_cd) ||
//			PCRS_CD_M_100M.equals(pcrs_cd) || PCRS_CD_M_100M_P.equals(pcrs_cd) ||
//			PCRS_CD_M_1G.equals(pcrs_cd) || PCRS_CD_M_200M.equals(pcrs_cd))
		// 20180502 ANK-3366-00-00 MOD Start
		
//		if(PCRS_CD_100M.equals(pcrs_cd) || PCRS_CD_100M_P.equals(pcrs_cd) ||
//			PCRS_CD_1G.equals(pcrs_cd) || PCRS_CD_10G.equals(pcrs_cd) ||
//			PCRS_CD_200M.equals(pcrs_cd) ||PCRS_CD_M_100M.equals(pcrs_cd) ||
//			PCRS_CD_M_100M_P.equals(pcrs_cd) ||PCRS_CD_M_1G.equals(pcrs_cd) ||
//			PCRS_CD_M_10G.equals(pcrs_cd)|| PCRS_CD_M_200M.equals(pcrs_cd))

		// 20181024 ANK-3412-00-00 MOD Start（5GHTと5GMZを追加）
//		if(PCRS_CD_100M.equals(pcrs_cd) || PCRS_CD_100M_P.equals(pcrs_cd) ||
//			PCRS_CD_1G.equals(pcrs_cd) || PCRS_CD_10G.equals(pcrs_cd) ||
//			PCRS_CD_200M.equals(pcrs_cd) ||PCRS_CD_M_100M.equals(pcrs_cd) ||
//			PCRS_CD_M_100M_P.equals(pcrs_cd) ||PCRS_CD_M_1G.equals(pcrs_cd) ||
//			PCRS_CD_M_10G.equals(pcrs_cd)|| PCRS_CD_M_200M.equals(pcrs_cd) ||
//			PCRS_CD_O_1G.equals(pcrs_cd)

		if(PCRS_CD_100M.equals(pcrs_cd) || PCRS_CD_100M_P.equals(pcrs_cd) ||
				PCRS_CD_1G.equals(pcrs_cd) || PCRS_CD_10G.equals(pcrs_cd) ||
				PCRS_CD_200M.equals(pcrs_cd) ||PCRS_CD_M_100M.equals(pcrs_cd) ||
				PCRS_CD_M_100M_P.equals(pcrs_cd) ||PCRS_CD_M_1G.equals(pcrs_cd) ||
				PCRS_CD_M_10G.equals(pcrs_cd)|| PCRS_CD_M_200M.equals(pcrs_cd) ||
				PCRS_CD_O_1G.equals(pcrs_cd)||
				PCRS_CD_5G.equals(pcrs_cd)|| PCRS_CD_M_5G.equals(pcrs_cd)
				// ANK-3949-00-00 ADD START
				|| PCRS_CD_1G_NETFLIX.equals(pcrs_cd) || PCRS_CD_M_1G_NETFLIX.equals(pcrs_cd)
				|| PCRS_CD_5G_NETFLIX.equals(pcrs_cd) || PCRS_CD_M_5G_NETFLIX.equals(pcrs_cd)
				|| PCRS_CD_10G_NETFLIX.equals(pcrs_cd) || PCRS_CD_M_10G_NETFLIX.equals(pcrs_cd)
				// ANK-3949-00-00 ADD END
		)
		// 20181024 ANK-3412-00-00 MOD End
		// 20180502 ANK-3366-00-00 MOD End
		// 20151217 ANK-2612-00-00 MOD End
		{
			soku_wari_um_val = soku_wari_um;
		}
		else
		{
			soku_wari_um_val = " ";
		}
		
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		// ANK-4592-00-00 MOD START
//		if(PCRS_CD_EBS.equals(pcrs_cd) || PCRS_CD_SD.equals(pcrs_cd) || PCRS_CD_HD.equals(pcrs_cd))
		if(PCRS_CD_EBS.equals(pcrs_cd) || PCRS_CD_SD.equals(pcrs_cd) || PCRS_CD_HD.equals(pcrs_cd)
				|| PCRS_CD_CSBASIC.equals(pcrs_cd) || PCRS_CD_CSPREMIUM.equals(pcrs_cd))
		// ANK-4592-00-00 MOD END
		{
			if(null != mansion_bukken_cd && !("".equals(mansion_bukken_cd)))
			{
				mansion_bukken_val = mansion_bukken_cd;
			}
		}
		if(SVC_CD_NET.equals(svc_cd))
		{
			// パラメータの設定
			Object[] setParam = {
					svc_cd,
					prc_plan_cd, 
					mans_vdsl_plan_cd,
					mans_tk_hoshiki_cd,
					soku_wari_um_val,
					" ",
					this.opeDate,
			};
			executeKK_M_KORS_PRINT_NM_KK_SELECT_001(setParam);
		}
		else
		{
			// パラメータの設定
			Object[] setParam = {
					svc_cd,
					prc_plan_cd, 
					" ",
					" ",
					" ",
					mansion_bukken_val,
					this.opeDate,
			};
			executeKK_M_KORS_PRINT_NM_KK_SELECT_001(setParam);
		}
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		rcvMap = db_KK_M_KORS_PRINT_NM.selectNext();
		
		if(rcvMap != null)
		{
			svc_nm = rcvMap.getString(JBSbatKK_M_KORS_PRINT_NM.KANUORESO_PRINT_SVC_NM);
			pcrs_nm = rcvMap.getString(JBSbatKK_M_KORS_PRINT_NM.KANUORESO_PRINT_PPLAN_NM);
		}
		
		// 送信用サービス名 
		outmap.setString(JBSbatKKIFM003.SEND_YO_SVC_NM, svc_nm);
		// 送信用料金コース名 
		outmap.setString(JBSbatKKIFM003.SEND_YO_PRC_COURSE_NM, pcrs_nm);
	}

	// ▼▼▼ST2-2012-0001407 ADD START ▼▼▼
	/**
	 * 同一回線未照査サービス契約チェック<BR>
	 * <BR<
	 * @param svc_kei_no サービス契約番号
	 * @param prc_grp_cd 料金グループコード
	 * @param svc_kei_stat サービス契約ステータス
	 * @param kaisenSvcMap サービス契約−サービス契約回線内訳マップ
	 * @param kaisenNgMap 非出力サービス契約回線内訳マップ
	 * @throws Exception 
	 */
	private void getKaisenUwNo(JBSbatCommonDBInterface inRcvMap, 
			HashMap<String, String[]> kaisenSvcMap, HashMap<String, String[]> kaisenNgMap) throws Exception
	{
		// サービス契約番号
		String svc_kei_no = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		
		// ANK-2117-00-00 2014/06/04 ADD START
		// 照査年月日
		String shosa_ymd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD);
		// ANK-2117-00-00 2014/06/04 ADD END

		// 住所変更中データかチェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
// 2013.10.31 OM-2013-0003544 mod start
//			// 出力用サービス契約回線内訳マップへ登録
//			kaisenSvcMap.put(svc_kei_no, new String[]{ this.mJUHEN_KAISEN_SK[0], null, null});
			
			String kaisenUwNo = juhenKisuwMap.get(svc_kei_no);
			
			// 出力用サービス契約回線内訳マップへ登録
			if (JKKStringUtil.isNullBlank(kaisenUwNo)) {
// 2013.11.27 OM-2013-0004212 mod start
//				kaisenSvcMap.put(svc_kei_no, new String[]{ this.mJUHEN_KAISEN_SK[0], null, null});
				kaisenSvcMap.put(svc_kei_no, new String[]{ mJUHEN_KAISEN_SK_svc[0], null, null});
// 2013.11.27 OM-2013-0004212 mod end
			} else {
				// null でなければjuhenKisuwMapに設定してある値を設定する。
				kaisenSvcMap.put(svc_kei_no, new String[]{ kaisenUwNo, null, null});
			}
// 2013.10.31 OM-2013-0003544 mod end

			// ANK-2117-00-00 2014/06/04 MOD START
			// 以下の条件に1つ以上該当する場合は出力しない
			// ・照査年月日が運用日付以降
			if(shosa_ymd == null || "".equals(shosa_ymd) ||
				shosa_ymd.compareTo(this.opeDate) >= 0
			)
			{
				// 非出力用サービス契約回線内訳マップへ登録
				kaisenNgMap.put(kaisenSvcMap.get(svc_kei_no)[0], kaisenSvcMap.get(svc_kei_no));
			}
			// ANK-2117-00-00 2014/06/04 ADD END

			return;
		}
		
		// 料金グループコード
		String prc_grp_cd = inRcvMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// サービス契約ステータス
		String svc_kei_stat = inRcvMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
		// サービス契約回線内訳番号
		String[] svkei_kaisen_uw = null;

		JBSbatCommonDBInterface rcvMap = null;
		// モバイルサービス契約の場合
		if(PRC_GRP_CD_MBWIFI.equals(prc_grp_cd)
				|| PRC_GRP_CD_MBEM.equals(prc_grp_cd)
				|| PRC_GRP_CD_MBUQ.equals(prc_grp_cd))
		{
			// モバイルが割引で紐づくネットのサービス契約回線内訳番号の取得を試みる
			Object[] setParamWrib = { svc_kei_no, super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_WRIB_SVC_KEI_KK_SELECT_021(setParamWrib);
			rcvMap = db_KK_T_WRIB_SVC_KEI.selectNext();
			if (rcvMap != null)
			{
				// サービス契約回線内訳番号とカレントの世代登録年月日時分秒を取得
				svkei_kaisen_uw = new String[]{rcvMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_NO), 
						rcvMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM), null};
			}
			else
			{
				// サービス契約回線内訳番号が取得できなかった場合(モバイル単独）
				svkei_kaisen_uw = new String[]{svc_kei_no + AME_KAISEN_GRP_SKBT_NO_SET_MOJI, "", null};
			}
		}
		// モバイルで無い場合
		else
		{
			// サービス契約回線内訳番号を取得
			Object[] setParam = { svc_kei_no, super.opeDate };
			executeKK_T_SVKEI_KAISEN_UW_KK_SELECT_029(setParam);
			rcvMap = db_KK_T_SVKEI_KAISEN_UW.selectNext();
			if(rcvMap != null)
			{
				// サービス契約回線内訳番号とカレントの世代登録年月日時分秒を取得
				svkei_kaisen_uw = new String[]{ rcvMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_NO),
						rcvMap.getString(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM), null};
			}
			else
			{
				// サービス契約回線内訳番号が取得できなかった場合
				svkei_kaisen_uw = new String[]{svc_kei_no + AME_KAISEN_GRP_SKBT_NO_SET_MOJI, "", null};
			}
		}
		// 出力用サービス契約回線内訳マップへ登録
		kaisenSvcMap.put(svc_kei_no, svkei_kaisen_uw);
		
// ANK-2117-00-00 2014/06/04 MOD START
		//// サービス契約ステータスが受付済の場合は出力しない
		//if(SVC_KEI_STAT_010.equals(svc_kei_stat))
		// 以下の条件に1つ以上該当する場合は出力しない
		// ・サービス契約ステータスが"10:受付済"
		// ・照査年月日が運用日付以降
		if(SVC_KEI_STAT_010.equals(svc_kei_stat) ||
			shosa_ymd == null || "".equals(shosa_ymd) ||
			shosa_ymd.compareTo(this.opeDate) >= 0
		)
// ANK-2117-00-00 2014/06/04 MOD END
		{
			// 非出力用サービス契約回線内訳マップへ登録
			kaisenNgMap.put(svkei_kaisen_uw[0], svkei_kaisen_uw);
		}
	}
	// ▲▲▲ST2-2012-0001407 ADD END   ▲▲▲ 
	
	// 2013/9/2 OM-2013-0001260 Add Start
	/**
	 * モバイル機種コードを編集するマップを編集
	 * 
	 * @throws Exception 各種エラー
	 */
	private void setMobileType() throws Exception
	{
		this.mMobileTypeEM_RTR = new HashMap<String, String>();
		this.mMobileTypeEM_USE = new HashMap<String, String>();
		this.mMobileTypeWiMAX_RTR = new HashMap<String, String>();
		this.mMobileTypeWiMAX_USE = new HashMap<String, String>();
		
		// eoモバイルEMのルータータイプ
		this.mMobileTypeEM_RTR.put(PCRS_CD_RTR_EM, PCRS_CD_RTR_EM);
		
		// eoモバイルEMのＵＳＢタイプ
		this.mMobileTypeEM_USE.put(PCRS_CD_USB_7M, PCRS_CD_USB_7M);
		this.mMobileTypeEM_USE.put(PCRS_CD_USB_21M, PCRS_CD_USB_21M);
		this.mMobileTypeEM_USE.put(PCRS_CD_USB_7M_GD03W, PCRS_CD_USB_7M_GD03W);
		
		// eoモバイルWiMAXのルータータイプ
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ, PCRS_CD_RTR_UQ);
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ_UROAD8000, PCRS_CD_RTR_UQ_UROAD8000);
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ_UROAD7000SS_MK, PCRS_CD_RTR_UQ_UROAD7000SS_MK);
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ_UROAD8000_MK, PCRS_CD_RTR_UQ_UROAD8000_MK);
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ_SS10_AERO, PCRS_CD_RTR_UQ_SS10_AERO);
		this.mMobileTypeWiMAX_RTR.put(PCRS_CD_RTR_UQ_SS10_AERO_MK, PCRS_CD_RTR_UQ_SS10_AERO_MK);
		
		// eoモバイルWiMAXのＵＳＢタイプ
		this.mMobileTypeWiMAX_USE.put(PCRS_CD_USB_UQ, PCRS_CD_USB_UQ);
		this.mMobileTypeWiMAX_USE.put(PCRS_CD_USB_UQ_MK, PCRS_CD_USB_UQ_MK);
	}
	// 2013/9/2 OM-2013-0001260 Add End
	
	/**
	 * 加入御礼書発行条件から必要な値を全取得して各リストへ格納する
	 * 
	 * @throws Exception 各種エラー
	 */
	private void execGetKORS_LIST() throws Exception
	{
		ArrayList<String> recordList = null;
		HashMap<String, ArrayList<String>> map = null;
		// 加入御礼書発行条件 加入御礼書関連ＯＫリスト群初期化
		this.mKorsHakkoListOK = new HashMap<String, ArrayList<String>>();
		// 加入御礼書発行条件 加入御礼書関連ＮＧリスト群初期化
		this.mKorsHakkoListNG = new HashMap<String, ArrayList<String>>();
		// 加入御礼書発行条件 発行なしリスト群初期化
		this.mKorsHakkoListNON = new HashMap<String, ArrayList<String>>();
		// 20130415 IT1-2013-0000876 Add Start
		// 加入御礼書発行条件リスト初期化
		this.mKorsHakkoList = new HashMap<String, ArrayList<HashMap<String, String>>>();
		// 料金グループコード条件リスト
		ArrayList<HashMap<String, String>> subListPrcGrp = new ArrayList<HashMap<String, String>>();
		// 審査結果コード条件リスト
		ArrayList<HashMap<String, String>> subListSkekkaCd = new ArrayList<HashMap<String, String>>();
		// サービス契約ステータス条件リスト
		ArrayList<HashMap<String, String>> subListSvcKeiStat = new ArrayList<HashMap<String, String>>();
		// 発行対象外申込書番号体系条件リスト
		ArrayList<HashMap<String, String>> subListHtgMskmsho = new ArrayList<HashMap<String, String>>();
		// 契約者タイプコードリスト
		ArrayList<HashMap<String, String>> subListKeishaType = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> subMap = null;
		String shosaRsltCd = "";
		// 20130415 IT1-2013-0000876 Add End
		// 加入御礼書発行条件 種別と参照先のマッピング
		HashMap<String, String> korsMap = new HashMap<String, String>();
		korsMap.put(KORS_SBT_CD_PRGG, JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD);
		korsMap.put(KORS_SBT_CD_SKEKKA, JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD);
		korsMap.put(KORS_SBT_CD_SVSTAT, JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT);
		korsMap.put(KORS_SBT_CD_SHOSAR, JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD);
		korsMap.put(KORS_SBT_CD_MSKMSHONO, JBSbatKK_M_KORS_HAKKO_JKN.HAK_TG_GAI_MSKMSHO_NO_TIKI);
		korsMap.put(KORS_SBT_CD_KEISHAT, JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD);
		
		// 加入御礼書に関わるすべてのマスタ値を取得する（加入御礼、審査ＮＧ、発行なし）
		JBSbatCommonDBInterface params = new JBSbatCommonDBInterface();
		params.setValue(super.opeDate);
		this.db_KK_M_KORS_HAKKO_JKN.selectBySqlDefine(params, KK_M_KORS_HAKKO_JKN_KK_SELECT_002);
		JBSbatCommonDBInterface result = this.db_KK_M_KORS_HAKKO_JKN.selectNext();
		while(result != null)
		{
			// 加入御礼書発行コード取得
			String hakko_cd = result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD);
			// 加入御礼書発行の場合
			if(KORS_HAKKO_CD_OK.equals(hakko_cd))
			{
				map = this.mKorsHakkoListOK;
			}
			// 加入審査NG通知書発行の場合
			else if(KORS_HAKKO_CD_NG.equals(hakko_cd))
			{
				map = this.mKorsHakkoListNG;
			}
			// 発行なしの場合
			else if(KORS_HAKKO_CD_NON.equals(hakko_cd))
			{
				map = this.mKorsHakkoListNON;
			}
			else
			{
				// その他の場合
				map = null;
			}
			// 加入御礼書発行条件種別コードから参照先カラム名を取得
			String sbt_cd = result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_JKN_SBT_CD);
			// 20130415 IT1-2013-0000876 Add Start
			if(KORS_SBT_CD_PRGG.equals(sbt_cd))
			{
				// 料金グループコード
				subMap = new HashMap<String, String>();
				// 料金グループコード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD));
				// 加入御礼書発行コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD));
				subListPrcGrp.add(subMap);
			}
			else if(KORS_SBT_CD_SKEKKA.equals(sbt_cd))
			{
				// 審査結果コード＋照査結果コード
				subMap = new HashMap<String, String>();
				shosaRsltCd = "";
				// 審査結果コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD));
				// 照査結果コード（コード変換）
				shosaRsltCd = result.getString(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD);
				if(null == shosaRsltCd || "".equals(shosaRsltCd))
				{
					subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD, "");
				}
				else if(SHOSA_RSLT_OK.equals(shosaRsltCd))
				{
					subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD, SHOSA_OK);
				}
				else
				{
					subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.SHOSA_RSLT_CD, SHOSA_NG);
				}
				// 加入御礼書発行コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD));
				subListSkekkaCd.add(subMap);
			}
			else if(KORS_SBT_CD_SVSTAT.equals(sbt_cd))
			{
				// サービス契約ステータス
				subMap = new HashMap<String, String>();
				// サービス契約ステータス
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT));
				// 加入御礼書発行コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD));
				subListSvcKeiStat.add(subMap);
			}
			else if(KORS_SBT_CD_MSKMSHONO.equals(sbt_cd))
			{
				// 申込書番号体系
				subMap = new HashMap<String, String>();
				// 申込書番号体系
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.HAK_TG_GAI_MSKMSHO_NO_TIKI, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.HAK_TG_GAI_MSKMSHO_NO_TIKI));
				// 加入御礼書発行コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD));
				subListHtgMskmsho.add(subMap);
			}
			else if(KORS_SBT_CD_KEISHAT.equals(sbt_cd))
			{
				// 契約者タイプコード
				subMap = new HashMap<String, String>();
				// 契約者タイプコード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD));
				// 加入御礼書発行コード
				subMap.put(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD, 
						result.getString(JBSbatKK_M_KORS_HAKKO_JKN.KORS_HAKKO_CD));
				subListKeishaType.add(subMap);
			}
			// 20130415 IT1-2013-0000876 Add End
			String column_nm = korsMap.get(sbt_cd);
			if(map != null && column_nm != null)
			{
				// 条件種別に合わせたリストを抽出
				recordList = map.get(sbt_cd);
				if(recordList == null)
				{
					recordList = new ArrayList<String>();
					map.put(sbt_cd, recordList);
				}
				// カラムから値を取得してリストに格納
				recordList.add(result.getString(column_nm));
			}
			result = this.db_KK_M_KORS_HAKKO_JKN.selectNext();
		}
		// 20130415 IT1-2013-0000876 Add Start
		mKorsHakkoList.put(JBSbatKK_M_KORS_HAKKO_JKN.PRC_GRP_CD, subListPrcGrp);
		mKorsHakkoList.put(JBSbatKK_M_KORS_HAKKO_JKN.SKEKKA_CD, subListSkekkaCd);
		mKorsHakkoList.put(JBSbatKK_M_KORS_HAKKO_JKN.SVC_KEI_STAT, subListSvcKeiStat);
		mKorsHakkoList.put(JBSbatKK_M_KORS_HAKKO_JKN.HAK_TG_GAI_MSKMSHO_NO_TIKI, subListHtgMskmsho);
		mKorsHakkoList.put(JBSbatKK_M_KORS_HAKKO_JKN.KEISHA_TYPE_CD, subListKeishaType);
		// 20130415 IT1-2013-0000876 Add End
	}

	//▼▼▼ 2013/01/15 ANK-1362-00-00 M.IKUMA START ▼▼▼

	/**
	 * ファイル出力（加入御礼管理抽出結果更新ファイル KKIFM002）
	 * 
	 * @param mapKKIFM002 レコードオブジェクト
	 * @param wkMap データマップ
	 * @param skekka_send_cd 審査結果送信コード
	 * @throws Exception 各種エラー
	 */
	private void setOutputDataKKIFM002(JBSbatServiceInterfaceMap mapKKIFM002,
			JBSbatServiceInterfaceMap wkMap, String skekka_send_cd) throws Exception
	{
		// 審査結果送信コード
		mapKKIFM002.setString(JBSbatKKIFM002.SKEKKA_SEND_CD, skekka_send_cd);
		// サービス契約番号
		mapKKIFM002.setString(JBSbatKKIFM002.SVC_KEI_NO, wkMap.getString(JBSbatKKIFM003.SVC_KEI_NO));
		// 世代登録年月日時分秒
		mapKKIFM002.setString(JBSbatKKIFM002.GENE_ADD_DTM, wkMap.getString(GENE_ADD_DTM));
		// 異動区分
		mapKKIFM002.setString(JBSbatKKIFM002.IDO_DIV, wkMap.getString(JBSbatKKIFM003.IDO_DIV));
		// 進捗ステータス
		mapKKIFM002.setString(JBSbatKKIFM002.PRG_STAT, STS_SKEKKA_SEND);
	}

	/**
	 * サービス契約番号から即割の有無を返却
	 * 
	 * @param wkMap サービス契約データ
	 * @return 即割の有無
	 * @throws Exception 各種エラー
	 */
	private Object getSokuWariUm(JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// 即割の存在チェック
		this.executeKK_T_WRIB_SVC_KEI_KK_SELECT_018(new Object[]{svckeino, super.opeDate, WRIB_TYPE_CD_SOKU});
		if(null != db_KK_T_WRIB_SVC_KEI.selectNext())
		{
			// 割引サービスタイプコードが即割
			return UM_U;
		}
		else
		{
			// 割引サービスタイプコードが即割でない
			return UM_MU;
		}
	}

	/**
	 * eo光電話情報を出力レコードとしてセット
	 * 
	 * @param mapKKIFM003 出力レコードマップ
	 * @param wkMap 出力情報マップ
	 * @throws Exception 各種えらー
	 */
	private void setTelData(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// オプションサービス契約用（サービス契約内訳番号にひもづく）
		HashMap<String, Object> mapOp_svc_kei_ucwk_1 = new HashMap<String, Object>();
		HashMap<String, Object> mapOp_svc_kei_ucwk_2 = new HashMap<String, Object>();

		// ANK-2057-00-00 2014/04/03 ADD START
		// サービス契約回線内訳番号
		String svc_kei_kaisen_ucwk_no = mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO);
		// ANK-2057-00-00 2014/04/03 ADD END
		
		// サービス契約内訳用ArrayList
		ArrayList<Object> listSvc_kei_ucwk = new ArrayList<Object>();
		// ANK-2057-00-00 2014/04/03 MOD START
		//this.getSvc_kei_ucwk(listSvc_kei_ucwk, wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO),
		//		mapOp_svc_kei_ucwk_1, mapOp_svc_kei_ucwk_2, wkMap);
		this.getSvc_kei_ucwk(listSvc_kei_ucwk, wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO),
				mapOp_svc_kei_ucwk_1, mapOp_svc_kei_ucwk_2, wkMap, svc_kei_kaisen_ucwk_no);
		// ANK-2057-00-00 2014/04/03 MOD START
		
		// 電話_電話申込数
		if(listSvc_kei_ucwk.size() == 0)
		{
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_MSKM_CNT, "");
		}
		else
		{
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_MSKM_CNT, listSvc_kei_ucwk.size());
		}
		if (listSvc_kei_ucwk.size() >= 1)
		{
			JBSbatServiceInterfaceMap mapSvc_kei_ucwk = 
				(JBSbatServiceInterfaceMap)listSvc_kei_ucwk.get(0);

			// 電話_電話番号＃１
			mapKKIFM003.setString(JBSbatKKIFM003.KOPT_TELNO_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.KOPT_TELNO_1));
			// ■■■ 2012/7/11 同番移転改修対応 M.IKUMA START ■■■
			// 電話登録種別コード＃１
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_ADD_SBT_CD_1,
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TEL_ADD_SBT_CD_1));
			// ■■■ 2012/7/11 同番移転改修対応 M.IKUMA   END ■■■
			// 電話_ＮＴＴ電話番号＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_TELNO_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_TELNO_1));
			// 電話_発番通知要否＃１
			mapKKIFM003.setString(JBSbatKKIFM003.HTB_TCHI_YH_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HTB_TCHI_YH_1));
			// 電話_１０４要否＃１
			mapKKIFM003.setString(JBSbatKKIFM003.N_104_YH_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.N_104_YH_1));
			// 電話_ハロー・タウン掲載要否＃１
			mapKKIFM003.setString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_1));
			// 電話_割込電話有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.WARKMI_TEL_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.WARKMI_TEL_UM_1));
			// 電話_転送電話有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.TENSO_TEL_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TENSO_TEL_UM_1));
			// 電話_転送電話選択有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_1));
			// 電話_非通知着信拒否有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.HITCHI_INCMHI_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HITCHI_INCMHI_UM_1));
			// 電話_迷惑電話拒否有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_1));
			// 電話_指定番号着信選択有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_1));
			// 電話_通話明細送付有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_1));
			// 電話_０５０番号有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.N_050_NO_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.N_050_NO_UM_1));
			// 電話_発信者番号通知有無＃１
			mapKKIFM003.setString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_1));
			// 電話_番ポ_契約者名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_NM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_NM_1));
			// 電話_番ポ_契約者名カナ＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KSH_KANA_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KSH_KANA_1));
			// 電話_番ポ_郵便番号＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_PCD_1));
			// 電話_番ポ_都道府県名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_1));
			// 電話_番ポ_市区町村名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_1));
			// 電話_番ポ_大字通称名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_1));
			// 電話_番ポ_字丁目名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_1));
			// 電話_番ポ_番地号＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_1));
			// 電話_番ポ_住所補記・建物名＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_1));
			// 電話_番ポ_住所補記・部屋番号＃１
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_1));
			// 電話_移転元通信事業者コード＃１
			mapKKIFM003.setString(JBSbatKKIFM003.TSJGS_CD_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TSJGS_CD_1));
// ANK-2056-00-00 2014/04/22 ADD START
			// オプションパック契約有無１
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_1));
// ANK-2056-00-00 2014/04/22 ADD END
		}
		if (listSvc_kei_ucwk.size() >= 2)
		{
			JBSbatServiceInterfaceMap mapSvc_kei_ucwk = 
				(JBSbatServiceInterfaceMap)listSvc_kei_ucwk.get(1);
			
			// 電話_電話番号＃２
			mapKKIFM003.setString(JBSbatKKIFM003.KOPT_TELNO_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.KOPT_TELNO_2));
			// ■■■ 2012/7/11 同番移転改修対応 M.IKUMA START ■■■
//			// 電話_番号ポータビリティ有無＃２
//			mapKKIFM003.setString(JBSbatKKIFM003.BMP_UM_2, 
//					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.BMP_UM_2));
			// 電話登録種別コード＃２
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_ADD_SBT_CD_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TEL_ADD_SBT_CD_2));
			// ■■■ 2012/7/11 同番移転改修対応 M.IKUMA   END ■■■
			// 電話_ＮＴＴ電話番号＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_TELNO_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_TELNO_2));
			// 電話_発番通知要否＃２
			mapKKIFM003.setString(JBSbatKKIFM003.HTB_TCHI_YH_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HTB_TCHI_YH_2));
			// 電話_２０４要否＃２
			mapKKIFM003.setString(JBSbatKKIFM003.N_104_YH_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.N_104_YH_2));
			// 電話_ハロー・タウン掲載要否＃２
			mapKKIFM003.setString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HELLOTOWN_KEISAI_YH_2));
			// 電話_割込電話有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.WARKMI_TEL_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.WARKMI_TEL_UM_2));
			// 電話_転送電話有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.TENSO_TEL_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TENSO_TEL_UM_2));
			// 電話_転送電話選択有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TENSO_TEL_CHOICE_UM_2));
			// 電話_非通知着信拒否有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.HITCHI_INCMHI_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HITCHI_INCMHI_UM_2));
			// 電話_迷惑電話拒否有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.MWKTEL_KYOHI_UM_2));
			// 電話_指定番号着信選択有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.STINO_INCOMING_CHOICE_UM_2));
			// 電話_通話明細送付有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.PCALL_DTL_SOHU_UM_2));
			// 電話_０５０番号有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.N_050_NO_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.N_050_NO_UM_2));
			// 電話_発信者番号通知有無＃２
			mapKKIFM003.setString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.HASINSHA_NO_TCH_UM_2));
			// 電話_番ポ_契約者名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_NM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_NM_2));
			// 電話_番ポ_契約者名カナ＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KSH_KANA_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KSH_KANA_2));
			// 電話_番ポ_郵便番号＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_PCD_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_PCD_2));
			// 電話_番ポ_都道府県名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_STATE_NM_2));
			// 電話_番ポ_市区町村名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_CITY_NM_2));
			// 電話_番ポ_大字通称名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_OAZTSU_NM_2));
			// 電話_番ポ_字丁目名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_AZCHO_NM_2));
			// 電話_番ポ_番地号＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_BNCHIGO_2));
			// 電話_番ポ_住所補記・建物名＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_ADRTTM_2));
			// 電話_番ポ_住所補記・部屋番号＃２
			mapKKIFM003.setString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.NTT_KEISHA_ADRRM_2));
			// 電話_移転元通信事業者コード＃２
			mapKKIFM003.setString(JBSbatKKIFM003.TSJGS_CD_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TSJGS_CD_2));
// ANK-2056-00-00 2014/04/22 ADD START
			// オプションパック契約有無２
			mapKKIFM003.setString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2, 
					mapSvc_kei_ucwk.getString(JBSbatKKIFM003.TEL_OP_PACK_SKCD_2));
// ANK-2056-00-00 2014/04/22 ADD END
		}
	}

	/**
	 * サービス契約回線内訳から回線利用場所情報をセットする
	 * 
	 * @param mapKKIFM003 出力レコードマップ
	 * @param wkMap サービス契約マップ
	 * @param kaisenSvcMap サービス契約回線内訳マップ
	 * @throws Exception 各種エラー
	 */
	private void setKAISEN_PLACEdata(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap,
			HashMap<String, String[]> kaisenSvcMap,
			String kanuore_data_sbt_cd_k) throws Exception
	{
		// サービス契約回線内情報を取得
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface result = null;
		// 住所変更中かチェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		// サービス契約番号
		String svc_kei_no = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);

		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 住所変更中である
// 2013.11.27 OM-2013-0004212 mod start
//			whereMap.setValue(this.mJUHEN_KAISEN_SK[0]);
			whereMap.setValue(mJUHEN_KAISEN_SK_svc[0]);
// 2013.11.27 OM-2013-0004212 mod end
			this.db_KK_T_SVKEI_KAISEN_UW.selectBySqlDefine(whereMap, KK_T_SVKEI_KAISEN_UW_KK_SELECT_040);
			result = this.db_KK_T_SVKEI_KAISEN_UW.selectNext();
		}
		else
		{
			// 住所変更中ではない
			String[] svc_kei_kaisenUw = kaisenSvcMap.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
			whereMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.SVC_KEI_KAISEN_UCWK_NO, svc_kei_kaisenUw[0]);
			whereMap.setValue(JBSbatKK_T_SVKEI_KAISEN_UW.GENE_ADD_DTM, svc_kei_kaisenUw[1]);
			result = this.db_KK_T_SVKEI_KAISEN_UW.selectByPrimaryKeys(whereMap);
		}
		if(result != null)
		{
			// 利用場所_郵便番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_PCD, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_PCD));
			// 利用場所_都道府県名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_STATE_NM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_STATE_NM));
			// 利用場所_市区町村名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_CITY_NM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_CITY_NM));
			// 利用場所_大字通称名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_OAZTSU_NM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_OAZTSU_NM));
			// 利用場所_字丁目名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_AZCHO_NM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_AZCHO_NM));
			// 利用場所_番地号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_BNCHIGO, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_BNCHIGO));
			// 利用場所_住所補記・建物名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_ADRTTM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRTTM));
			// 利用場所_住所補記・部屋番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_ADRRM, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_ADRRM));
			// 利用場所_電話番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_TELNO, 
					result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_PLACE_TELNO));
			// 利用場所_住所未確定フラグ
			// 加入御礼書かつ
			if (KANUORE_DATA_SBT_CD_K_KANUORE.equals(kanuore_data_sbt_cd_k))
			{
				// 住所未確定の場合のみセット
				if (AD_FIX_FLG_MI.equals(result.getString(JBSbatKKIFM003.KISN_PLC_AD_MI_FIX_FLG)))
				{
					mapKKIFM003.setString(JBSbatKK_T_SVKEI_KAISEN_UW.KISN_PLC_AD_MI_FIX_FLG, AD_FIX_FLG_MI);
				}
			}
		}
// 2013/03/03 ST1-2013-0000449 add start
		// 回線内訳から取得ができなかった場合で
		// 料金グループがeoモバイル(Wi-fi)、eoモバイル(EM)、eoモバイル(UQ-WiMAX)、eoモバイル(メールアドレス)の場合
		else if(PRC_GRP_CD_MBWIFI.equals(mapKKIFM003.getString(JBSbatKKIFM003.PRC_GRP_CD)) ||
				PRC_GRP_CD_MBEM.equals(mapKKIFM003.getString(JBSbatKKIFM003.PRC_GRP_CD)) ||
				PRC_GRP_CD_MBUQ.equals(mapKKIFM003.getString(JBSbatKKIFM003.PRC_GRP_CD)) ||
				PRC_GRP_CD_MBMLAD.equals(mapKKIFM003.getString(JBSbatKKIFM003.PRC_GRP_CD)))
		{
			// 利用場所_郵便番号 ← お客様_郵便番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_PCD, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_PCD));
			// 利用場所_都道府県名 ← お客様_都道府県名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_STATE_NM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_STATE_NM));
			// 利用場所_市区町村名 ← お客様_市区町村名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_CITY_NM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_CITY_NM));
			// 利用場所_大字通称名 ← お客様_大字通称名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_OAZTSU_NM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_OAZTSU_NM));
			// 利用場所_字丁目名 ← お客様_字丁目名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_AZCHO_NM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_AZCHO_NM));
			// 利用場所_番地号 ← お客様_番地号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_BNCHIGO, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_BNCHIGO));
			// 利用場所_住所補記・建物名 ← お客様_住所補記・建物名
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_ADRTTM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_ADRTTM));
			// 利用場所_住所補記・部屋番号 ← お客様_住所補記・部屋番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_ADRRM, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_ADRRM));
			// 利用場所_電話番号 ← お客様_電話番号
			mapKKIFM003.setString(JBSbatKKIFM003.KAISEN_PLACE_TELNO, 
					mapKKIFM003.getString(JBSbatKKIFM003.KEISHA_TELNO));
		}
// 2013/03/03 ST1-2013-0000449 add end
	}

	/**
	 * サービス契約（モバイル）のモバイル種別を返却する
	 * 
	 * @param wkMap サービス契約情報マップ
	 * @return モバイル種別
	 * @throws Exception 各種エラー
	 */
	private Object getMobModCd(JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// 料金グループコード
		String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// サービス契約がモバイルかチェック
		if(!(PRC_GRP_CD_MBWIFI.equals(prc_grp_cd) ||
				PRC_GRP_CD_MBEM.equals(prc_grp_cd) ||
				PRC_GRP_CD_MBUQ.equals(prc_grp_cd)))
		{
			// モバイル以外はNullを返却
			return null;
		}
		// 2013/9/2 OM-2013-0001260 Mod Start
		if(PRC_GRP_CD_MBWIFI.equals(prc_grp_cd))
		{
			// Wi-Fiは未設定にする
			return null;
		}
		
		if(PRC_GRP_CD_MBMLAD.equals(prc_grp_cd))
		{
			// eoメールアドレスは未設定にする
			return null;
		}
		
		if(PRC_GRP_CD_MBUQ.equals(prc_grp_cd))
		{
			// eoモバイル UQ-WiMAXの場合
			// サービス契約番号
			String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// サービス契約番号から機器提供サービス契約情報を抽出
			Object[] kktkParam = { svckeino, super.opeDate };
			this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_053(kktkParam);
			JBSbatCommonDBInterface kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
			
			if(null == kktk_result)
			{
				// 機器がない場合、ＷｉＭＡＸ ＷｉＭＡＸ搭載機器タイプ
				return MOBILE_WM_WM;
			}
			// 種別が特定されるまで抽出機器をチェックする
			while(null != kktk_result)
			{
				// 機器提供サービス契約料金コースコード
				String kktk_pcrs_cd = kktk_result.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD);
				
				if(this.mMobileTypeWiMAX_RTR.containsKey(kktk_pcrs_cd))
				{
					// 機器の料金コースコードがルーターの場合、ＷｉＭＡＸ　ルータータイプ
					return MOBILE_RTR_WM;
				}
				else if(this.mMobileTypeWiMAX_USE.containsKey(kktk_pcrs_cd))
				{
					// 機器の料金コースコードがＵＳＢの場合、ＷｉＭＡＸ　ＵＳＢタイプ
					return MOBILE_USB_WM;
				}
				
				kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
			}
		}
		if(PRC_GRP_CD_MBEM.equals(prc_grp_cd))
		{
			// eoモバイル EMの場合
			
			// サービス契約料金コースコード
			String pcrs_cd = wkMap.getString(JBSbatKKIFM003.PCRS_CD);
			
			if(PCRS_CD_SVC_H372.equals(pcrs_cd))
			{
				// 3G 7.2M 光ハイブリット
				return MOBILE_HHB_3G;
			}
			else if(PCRS_CD_SVC_H342.equals(pcrs_cd))
			{
				// 3G 42M 光ハイブリット
				return MOBILE_HHB_3G;
			}
			else
			{
				// 光ハイブリッドでない場合
				
				// サービス契約番号
				String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
				// サービス契約番号から機器提供サービス契約情報を抽出
				Object[] kktkParam = { svckeino, super.opeDate };
				this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_053(kktkParam);
				JBSbatCommonDBInterface kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
				// 種別が特定されるまで抽出機器をチェックする
				while(kktk_result != null)
				{
					// 機器提供サービス契約料金コースコード
					String kktk_pcrs_cd = kktk_result.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD);
					
					// 機器提供サービス契約料金コースで振分け
					if(this.mMobileTypeEM_RTR.containsKey(kktk_pcrs_cd))
					{
						// ルータタイプ(ＥＭ)
						return MOBILE_RTR_3G;
					}
					else if(this.mMobileTypeEM_USE.containsKey(kktk_pcrs_cd))
					{
						// ＵＳＢタイプ(ＥＭ)
						return MOBILE_USB_3G;
					}
					
					kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
				}
			}
		}
//		// サービス契約番号
//		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
//		// サービス契約番号から機器提供サービス契約情報を抽出
//		Object[] kktkParam = { svckeino, super.opeDate };
//		this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_053(kktkParam);
//		JBSbatCommonDBInterface kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
//		// 種別が特定されるまで抽出機器をチェックする
//		while(kktk_result != null)
//		{
//			// サービス契約料金コースコード
//			String pcrs_cd = wkMap.getString(JBSbatKKIFM003.PCRS_CD);
//			// 機器提供サービス契約料金コースコード
//			String kktk_pcrs_cd = kktk_result.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD);
//			// サービス契約料金グループ振分け
//			if(PRC_GRP_CD_MBEM.equals(prc_grp_cd))
//			{
//				// サービス契約料金コースで振分け
//				if(PCRS_CD_SVC_372.equals(pcrs_cd))
//				// 3G 7,2M
//				{
//					// 機器提供サービス契約料金コースで振分け
//					if(PCRS_CD_RTR_EM.equals(kktk_pcrs_cd))
//					// 7.2M ルータタイプ(EM)
//					{
//						return MOBILE_RTR_3G;
//					}
//					else if(PCRS_CD_USB_7M.equals(kktk_pcrs_cd))
//					// 7.2M USBタイプ(ＥＭ)
//					{
//						return MOBILE_USB_3G;
//					}
//				}
//				else if(PCRS_CD_SVC_321.equals(pcrs_cd))
//				// 3G 21M
//				{
//					// 機器提供サービス契約料金コースで振分け
//					if(PCRS_CD_USB_21M.equals(kktk_pcrs_cd))
//					// 21M USBタイプ(EM)
//					{
//						return MOBILE_USB_3G;
//					}
//				}
//				else if(PCRS_CD_SVC_H372.equals(pcrs_cd))
//				// 3G 7.2M 光ハイブリット
//				{
//					return MOBILE_HHB_3G;
//				}
//				else if(PCRS_CD_SVC_H342.equals(pcrs_cd))
//				// 3G 42M 光りハイブリット
//				{
//					return MOBILE_HHB_3G;
//				}
//			}
//			else if(PRC_GRP_CD_MBUQ.equals(prc_grp_cd))
//			{
//				if(PCRS_CD_RTR_UQ.equals(kktk_pcrs_cd))
//				// ＷｉＭＡＸ　ルータータイプ
//				{
//					return MOBILE_RTR_WM;
//				}
//				else if(PCRS_CD_USB_UQ.equals(kktk_pcrs_cd))
//				// ＷｉＭＡＸ　ＵＳＢタイプ
//				{
//					return MOBILE_USB_WM;
//				}
//				else
//				{
//					// ＷｉＭＡＸ ＷｉＭＡＸ搭載機器タイプ）
//					return MOBILE_WM_WM;
//				}
//			}
//			else if(PRC_GRP_CD_MBWIFI.equals(prc_grp_cd))
//			{
//				// Wi-Hiは未設定にする
//				return null;
//			}
//			
//			kktk_result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
//		}
		// 2013/9/2 OM-2013-0001260 Mod End
		// 特定されなかったのでnullを返却する
		return null;
	}

	/**
	 * eo光ネット契約時にスマリン、長継割、自動継続フラグを返却する
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @param mapOp_svc_kei オプションサービス契約情報マップ
	 * @return スマリン、長継割、自動継続フラグが入った配列
	 * @throws Exception 各種エラー
	 */
	@SuppressWarnings("unchecked")
	private void setNetKeiData(JBSbatServiceInterfaceMap mapKKIFM003, JBSbatServiceInterfaceMap wkMap, HashMap mapOp_svc_kei) throws Exception
	{
		// スマートリンクプレミアム値
		String smart_link_p = null;
		// 長期継続利用割引値
		String cho_kei_wri = null;
		// 自動継続フラグ値
		String jido_kei_flg = null;
		// ANK-1421-00-00 2013/03/04 ADD START
		// ＩＰ−ＳＴＢ申込有無値
		String ipstb_rent_mskm_um = null;
		// ANK-1421-00-00 2013/03/04 ADD END
		
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// 料金グループコード
		String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// ネット契約かどうか確認
		if(PRC_GRP_CD_HT.equals(prc_grp_cd)
				|| PRC_GRP_CD_MZNT.equals(prc_grp_cd)
				|| PRC_GRP_CD_MT.equals(prc_grp_cd))
		{
			// スマートリンクプレミアムのオプションがあるかチェックしてセット
			smart_link_p = this.existOp_svc_kei(mapOp_svc_kei, SMART_LINK_PREM);
			
			// eo光ネットがホームタイプ契約かどうか確認
			if(PRC_GRP_CD_HT.equals(prc_grp_cd))
			{
				// 割引サービス契約の長期継続利用割引レコードを抽出
				Object[] w024param = { svckeino, super.opeDate, super.opeDate };
				this.executeKK_T_WRIB_SVC_KEI_KK_SELECT_024(w024param);
				JBSbatCommonDBInterface w024map = db_KK_T_WRIB_SVC_KEI.selectNext();
				if(w024map != null)
				{
					// 割引サービス契約に長期継続利用割引で編集
					cho_kei_wri = SVC_FLG_ON;
					// 自動継続フラグをそのまま出力
					jido_kei_flg = w024map.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_AT_KEIZK_SKCD);
				}
				else
				{
					// 長期継続利用割引を利用していない
					cho_kei_wri = SVC_FLG_OFF;
					// 自動継続フラグもなし
					jido_kei_flg = SVC_FLG_OFF;
				}
			}
			// ANK-1421-00-00 2013/03/04 ADD START
			// 検索用予約適用年月日
			String rsv_date = null;
			// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//			if(this.mJUHEN_KAISEN_SK != null && this.mJUHEN_KAISEN_SK[1].equals(IDO_JUHEN_ADD))
			String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svckeino);
			if(mJUHEN_KAISEN_SK_svc != null && mJUHEN_KAISEN_SK_svc[1].equals(IDO_JUHEN_ADD))
// 2013.11.27 OM-2013-0004212 mod end
			{
				// 住所変更中なので最大世代を取得する
				rsv_date = "20991231";
			}
			else
			{
				// 運用年月日でカレント取得
				rsv_date = super.opeDate;
			}
			Object[] setParamIPStb = { svckeino, KKTK_SVC_CD_IP_STB, rsv_date };

			// ＩＰ−ＳＴＢ情報を検索する
			this.executeKK_T_KKTK_SVC_KEI_KK_SELECT_135(setParamIPStb);
			JBSbatCommonDBInterface rcvMapIPStb = new JBSbatCommonDBInterface();		// 結果取得用（IP-STB）
			rcvMapIPStb = db_KK_T_KKTK_SVC_KEI.selectNext();
			if (rcvMapIPStb != null)
			{
				// 住所変更中チェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//				if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
				if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
				{
					// 住変中の場合は、機器の撤去チェックを行う
					String moto_svckei_no = this.mJUHEN_BEFOR_SVKEINO_MAP.get(svckeino);
					if (!svckeino.equals(moto_svckei_no))
					{
						// サービス契約番号の変更があれば、ＩＰ−ＳＴＢあり
						ipstb_rent_mskm_um = UM_U;
					}
					else
					{
						// サービス契約番号に変更がない場合、機器提供サービス契約の情報のみで決定できない
						// 住所変更スキーマから住所変更後の機器情報がないことで撤去されたことを確認する
						String kktk_svc_kei_no = rcvMapIPStb.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO);
						if (this.mJUHEN_KKTK_LIST.containsKey(kktk_svc_kei_no))
						{
							// 住変機器データマップに、機器提供サービス契約番号があるので、ＩＰ−ＳＴＢあり
							ipstb_rent_mskm_um = UM_U;
						}
						else
						{
							ipstb_rent_mskm_um = UM_MU;
						}
					}
				}
				else
				{
					ipstb_rent_mskm_um = UM_U;
				}
			}
			else
			{
				ipstb_rent_mskm_um = UM_MU;
			}
			// ANK-1421-00-00 2013/03/04 ADD END
		}
		// スマートリンクプレミアムフラグ編集
		mapKKIFM003.setString(JBSbatKKIFM003.PREMIUM_OP_MKM_UM, smart_link_p);
		// 割引サービス契約に長期継続利用割引で編集
		mapKKIFM003.setString(JBSbatKKIFM003.CHOKZUWRI_MSKM_UM, cho_kei_wri);
		// 自動継続フラグをそのまま出力
		mapKKIFM003.setString(JBSbatKKIFM003.CHOKZUWRI_AT_KEIZK_MSKM_UM, jido_kei_flg);
		// ANK-1421-00-00 2013/03/04 ADD START
		// ＩＰ−ＳＴＢ申込有無値編集
		mapKKIFM003.setString(JBSbatKKIFM003.IPSTB_RENT_MSKM_UM, ipstb_rent_mskm_um);
		// ANK-1421-00-00 2013/03/04 ADD END
	}

	/**
	 * 加入御礼書／審査結果NG通知書ファイル KKIFM003）
	 * 
	 * @param mapKKIFM003 KKIFM003レコードオブジェクト
	 * @param wkMap データマップ
	 * @param kaisenSvcMap サービス契約回線内訳マップ
	 * @param kanuore_data_sbt_cd_k 加入御礼データ種別コード
	 * @param newadd 未送信が新規か追加かのフラグ値
 	 * @param itenm_svc_kei_no 移転元サービス契約番号
	 * @throws Exception 各種エラー
	 */
	@SuppressWarnings("unchecked")
	private void setOutputDataKKIFM003(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap, HashMap<String, String[]> kaisenSvcMap,
			// ANK-4174-00-00 MOD START
			//String kanuore_data_sbt_cd_k) throws Exception
			String kanuore_data_sbt_cd_k,
			// ANK-4427-00-00 MOD START
//			ArrayList<JBSbatServiceInterfaceMap> wkList) throws Exception
			ArrayList<JBSbatServiceInterfaceMap> wkList,
			String typen_itenm_svc_kei_no) throws Exception
			// ANK-4427-00-00 MOD END
			// ANK-4174-00-00 MOD END
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// サービス契約番号に紐づくオプションサービス契約を取得
		HashMap mapOp_svc_kei = new HashMap();
		// ST2-2013-0001495 2013/03/18 MOD START
		this.getOp_svc_kei(mapOp_svc_kei, svckeino);
		// ST2-2013-0001495 2013/03/18 MOD END
		
		// ###############
		// 出力項目を設定
		// ###############
		
		// ANK-2057-00-00 2014/04/03 ADD START
		// 同一回線グループ番号 
		// ※下にあるeo光電話情報(setTelData)で同一回線グループ番号を使用するので、ここで設定しておく。
		mapKKIFM003.setString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO, kaisenSvcMap.get(svckeino)[0]);
		// ANK-2057-00-00 2014/04/03 ADD START

		// eo光電話情報（＃１、＃２）をセット
		this.setTelData(mapKKIFM003, wkMap);
		
		// 加入御礼データ種別コード
		mapKKIFM003.setString(JBSbatKKIFM003.KANUORE_DATA_SBT_CD, kanuore_data_sbt_cd_k);
		// データ抽出年月日時分秒 
		mapKKIFM003.setString(JBSbatKKIFM003.DATA_CHSHT_DTM, sysdate);
		// SYSID
		mapKKIFM003.setString(JBSbatKKIFM003.SYSID, wkMap.getString(JBSbatKKIFM003.SYSID));
		// ANK-2057-00-00 2014/04/03 DEL START
		// // 同一回線グループ番号
		// mapKKIFM003.setString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO, kaisenSvcMap.get(svckeino)[0]);
		// ANK-2057-00-00 2014/04/03 DEL START
		// サービス契約番号
		mapKKIFM003.setString(JBSbatKKIFM003.SVC_KEI_NO, svckeino);
		// 審査結果コード
		mapKKIFM003.setString(JBSbatKKIFM003.SKEKKA_CD, wkMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD));
		// レター種別
// IT1-2013-0001138 MOD START
		mapKKIFM003.setString(JBSbatKKIFM003.LETTER_SBT_CD, 
				this.getLettersbtcd(wkMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_NO), svckeino,
				// ANK-4427-00-00 MOD START
//				wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD)));
				wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD),
		        typen_itenm_svc_kei_no
				));
				// ANK-4427-00-00 MOD END
// IT1-2013-0001138 MOD END
		// 詳細サービス名にはNULLをセット
		
		// サービスコード
		mapKKIFM003.setString(JBSbatKKIFM003.SVC_CD, wkMap.getString(JBSbatKKIFM003.SVC_CD));
		
//2012/05/21 v3.01.00 Add Start --->
		// 料金グループコード
		mapKKIFM003.setString(JBSbatKKIFM003.PRC_GRP_CD, wkMap.getString(PRC_GRP_CD));
//2012/05/21 v3.01.00 Add End <---
		
		// 料金コースコード
		mapKKIFM003.setString(JBSbatKKIFM003.PCRS_CD, wkMap.getString(JBSbatKKIFM003.PCRS_CD));
		
//2012/05/21 v3.01.00 Add Start --->
		// 料金プランコード
		mapKKIFM003.setString(JBSbatKKIFM003.PPLAN_CD, wkMap.getString(JBSbatKKIFM003.PPLAN_CD));
//2012/05/21 v3.01.00 Add End <---
		
		// 即割有無
		mapKKIFM003.setString(JBSbatKKIFM003.SOKU_WARI_UM, this.getSokuWariUm(wkMap));
		
		// サービス開始年月日
		mapKKIFM003.setString(JBSbatKKIFM003.SVC_STAYMD, 
				wkMap.getString(JBSbatKKIFM003.SVC_STAYMD));
		// サービス課金開始年月日
		mapKKIFM003.setString(JBSbatKKIFM003.SVC_CHRG_STAYMD, 
				wkMap.getString(JBSbatKKIFM003.SVC_CHRG_STAYMD));
		// 契約状態
		mapKKIFM003.setString(JBSbatKKIFM003.SVC_KEI_STAT, 
				wkMap.getString(JBSbatKKIFM003.SVC_KEI_STAT));
		// 申込書番号
		mapKKIFM003.setString(JBSbatKKIFM003.MSKMSHO_NO, 
				wkMap.getString(JBSbatKKIFM003.MSKMSHO_NO));
		
		// ID登録証集約番号にはNULLをセット
		
		// お客様_お客様名
		mapKKIFM003.setString(JBSbatKKIFM003.CUST_NM, 
				wkMap.getString(JBSbatKKIFM003.CUST_NM));
		// お客様_郵便番号
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_PCD, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_PCD));
		// お客様_都道府県名
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_STATE_NM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_STATE_NM));
		// お客様_市区町村名
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_CITY_NM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_CITY_NM));
		// お客様_大字通称名
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_OAZTSU_NM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_OAZTSU_NM));
		// お客様_字丁目名
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_AZCHO_NM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_AZCHO_NM));
		// お客様_番地号
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_BNCHIGO, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_BNCHIGO));
		// お客様_住所補記・建物名
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_ADRTTM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_ADRTTM));
		// お客様_住所補記・部屋番号
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_ADRRM, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_ADRRM));
		// お客様_タイプコード
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_TYPE_CD, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_TYPE_CD));
		// お客様_電話番号
		mapKKIFM003.setString(JBSbatKKIFM003.KEISHA_TELNO, 
				wkMap.getString(JBSbatKKIFM003.KEISHA_TELNO));
		// レター発送仕分区分（通常住所に送付固定）
		mapKKIFM003.setString(JBSbatKKIFM003.LETTER_HASSO_SHIWAKE_DIV, LETTER_HASSO_SHIWAKE_DIV_AD);
		
		// 受付年月日
		mapKKIFM003.setString(JBSbatKKIFM003.MSKM_UK_YMD, 
				wkMap.getString(JBSbatKKIFM003.MSKM_UK_YMD));
		// 販売チャネル
		mapKKIFM003.setString(JBSbatKKIFM003.MSKM_FORM_CD, 
				wkMap.getString(JBSbatKKIFM003.MSKM_FORM_CD));
		
		// ■■■ 2012/7/6 改修 旧サービス契約番号 M.IKUMA START ■■■
		// 旧サービス契約番号は出力しない
		// ■■■ 2012/7/6 改修 旧サービス契約番号 M.IKUMA START ■■■
		
		// 同意有無
		mapKKIFM003.setString(JBSbatKKIFM003.KEPCO_CUSTINFO_JUJU_DOI_UM, 
				wkMap.getString(JBSbatKKIFM003.KEPCO_CUSTINFO_JUJU_DOI_UM));
		// 支払方法継続フラグ
		mapKKIFM003.setString(JBSbatKKIFM003.PAYWAY_KEIZOKU_FLG, 
				wkMap.getString(JBSbatKKIFM003.PAYWAY_KEIZOKU_FLG));
		// 他サービス・メール引継ぎ
		mapKKIFM003.setString(JBSbatKKIFM003.TA_SVC_ML_HKTGI_UM, 
				wkMap.getString(JBSbatKKIFM003.TA_SVC_ML_HKTGI_UM));
		// ｅｏサポートプラス加入有無、ＰＣセットアップ有無、おまかせ安心セット申込有無
		this.setSpPlus_PcSet_OmaAn(mapKKIFM003, wkMap, mapOp_svc_kei);
		
		// ファミリーパック契約有無をセット
		mapKKIFM003.setString(JBSbatKKIFM003.FAMIPA_KEI_UM, this.getFamiPack(wkMap));
		
		// 請求契約番号、支払申込書送付要否をセット
		this.setSeikyKeiNo_PayMskmShoSohuYh(mapKKIFM003, wkMap);
		
		// マンション物件コード、マンション_ＶＤＳＬ−Ｓフラグ、マンション_提供方式１、２をセット
		this.setManBuk_Vdsls_TkHo12(mapKKIFM003, wkMap);
		
		// 送信用サービス名、送信用料金コース名をセット
		this.setSendYoSvc_SendYoPrc(mapKKIFM003, wkMap);

// ANK-2299-00-00 2014/09/09 ADD START
		// 詳細サービス名
		this.setDtlSvcNm(mapKKIFM003, wkMap);
// ANK-2299-00-00 2014/09/09 ADD END

		// 利用場所情報をセット
		this.setKAISEN_PLACEdata(mapKKIFM003, wkMap, kaisenSvcMap, kanuore_data_sbt_cd_k);
		
		// 機器情報をセット（eoBBR、ＰＬＣ）
		this.setEoBBR_Plc(mapKKIFM003, wkMap);
		
		// ＴＶ＿ＳＴＢ情報、ＴＶ＿電波障害案件番号をセット
		this.setTvStb(mapKKIFM003, wkMap);
		
		// 割引サービス契約キャンペーンコード（１〜５）をセット
		this.setCmpCd(mapKKIFM003, wkMap);
		
		//■■■■■ 2012/07/11 改修対応 M.IKUMA START ■■■■■
		// 機器送付先住所をセット
		this.setKikiSohus(mapKKIFM003, wkMap, kaisenSvcMap);
		//■■■■■ 2012/07/11 改修対応 M.IKUMA   END ■■■■■
		
		// モバイル種別
		mapKKIFM003.setString(JBSbatKKIFM003.MOBILE_MODEL_CD, this.getMobModCd(wkMap));
		// 異動区分
		String ido_div = this.mKIIN_IDO_DIV_LIST.get(svckeino);
		
// v7.03 2014/02/08 【OM-2014-0000531】DEL START
//		super.logPrint.printDebugLog("## svckeino=" + svckeino + ", this.mKIIN_IDO_DIV_LIST.get(svckeino)＝" + ido_div);
// v7.03 2014/02/08 【OM-2014-0000531】DEL END
		if (ido_div != null)
		{
			mapKKIFM003.setString(JBSbatKKIFM003.IDO_DIV, ido_div);
		}
		else
		{
			mapKKIFM003.setString(JBSbatKKIFM003.IDO_DIV, wkMap.getString(JBSbatKKIFM003.IDO_DIV));
		}
		
		//■■■■■ 2012/07/11 改修対応 M.IKUMA START ■■■■■
		// eo光ネット時にスマートリンクプレミアム、長継割、自動継続フラグをセット
		this.setNetKeiData(mapKKIFM003, wkMap, mapOp_svc_kei);
		//■■■■■ 2012/07/11 改修対応 M.IKUMA   END ■■■■■
		
		// ANK-4174-00-00 ADD START
		// 電子交付同意済みフラグをセット
		String doiFlg = this.judgedoium(mapKKIFM003, wkList, kaisenSvcMap);
		mapKKIFM003.setString(JBSbatKKIFM003.DNSKH_DOI_ZM_FLG, doiFlg);
		// ANK-4174-00-00 ADD END
	}
	
	/**
	 * 機器送付先住所をセットする
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @param kaisenSvcMap サービス契約回線内訳マップ
	 * @throws Exception 各種エラー
	 */
	private void setKikiSohus(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap, HashMap<String, String[]> kaisenSvcMap) throws Exception
	{
		// 回線内訳番号取得
		String kaisen_no = kaisenSvcMap.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))[0];
// 2014.04.23 ANK-2093-00-00 add start
		// 回線内訳番号取得（住所変更、転居先）
		String kaisen_no_saki = null;
// 2014.04.23 ANK-2093-00-00 add end
		// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		// サービス契約番号
		String svc_kei_no = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// 転居前回線内訳番号を取得
// 2013.11.27 OM-2013-0004212 mod start
//			kaisen_no = this.mJUHEN_KAISEN_SK[2];
			kaisen_no = mJUHEN_KAISEN_SK_svc[2];
// 2013.11.27 OM-2013-0004212 mod end
// 2014.04.23 ANK-2093-00-00 add start
			kaisen_no_saki = mJUHEN_KAISEN_SK_svc[0];
// 2014.04.23 ANK-2093-00-00 add end
		}
		// 回線内訳番号に紐づく機器送付先データを取得
// 2014.04.23 ANK-2093-00-00 mod start
//		HashMap<String, String> adrMap = this.mKikiSohuAdr.get(kaisen_no);
		// マンションＶＤＳＬ，イーサネットのときは、転居先回線番号で格納しているので、
		// そのデータがあればそちらを優先する。
		HashMap<String, String> adrMap = null;
		if (!JKKStringUtil.isNullBlank(kaisen_no_saki)) {
			adrMap = this.mKikiSohuAdr.get(kaisen_no_saki);
		}
		if(adrMap == null) {
			adrMap = this.mKikiSohuAdr.get(kaisen_no);
		}
// 2014.04.23 ANK-2093-00-00 mod end
		
		if(adrMap != null)
		{
			// 機器送付先_郵便番号
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_PCD,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_PCD));
			// 機器送付先_都道府県名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_STATE_NM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_STATE_NM));
			// 機器送付先_市区町村名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_CITY_NM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_CITY_NM));
			// 機器送付先_大字通称名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_OAZTSU_NM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_OAZTSU_NM));
			// 機器送付先_字丁目名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_AZCHO_NM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_AZCHO_NM));
			// 機器送付先_番地号
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_BNCHIGO,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_BNCHIGO));
			// 機器送付先_住所補記・建物名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_ADRTTM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_ADRTTM));
			// 機器送付先_住所補記・部屋番号
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_ADRRM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_ADRRM));
			// 機器送付先_機器送付先名
			mapKKIFM003.setString(JBSbatKKIFM003.KIKI_SOHUS_NM,
					adrMap.get(JBSbatKKIFM003.KIKI_SOHUS_NM));
		}
	}

	/**
	 * キャンペーンコード（１〜５）をセットする
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setCmpCd(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		
		// 割引サービス契約(キャンペーンコード)取得用
		JBSbatServiceInterfaceMap mapWrib_svc_kei = new JBSbatServiceInterfaceMap();
		this.getWrib_svc_kei(mapWrib_svc_kei, svckeino);
		// キャンペーンコード１
		mapKKIFM003.setString(JBSbatKKIFM003.CMP_CD_1,
				mapWrib_svc_kei.getString(JBSbatKKIFM003.CMP_CD_1));
		// キャンペーンコード２
		mapKKIFM003.setString(JBSbatKKIFM003.CMP_CD_2,
				mapWrib_svc_kei.getString(JBSbatKKIFM003.CMP_CD_2));
		// キャンペーンコード３
		mapKKIFM003.setString(JBSbatKKIFM003.CMP_CD_3,
				mapWrib_svc_kei.getString(JBSbatKKIFM003.CMP_CD_3));
		// キャンペーンコード４
		mapKKIFM003.setString(JBSbatKKIFM003.CMP_CD_4,
				mapWrib_svc_kei.getString(JBSbatKKIFM003.CMP_CD_4));
		// キャンペーンコード５
		mapKKIFM003.setString(JBSbatKKIFM003.CMP_CD_5,
				mapWrib_svc_kei.getString(JBSbatKKIFM003.CMP_CD_5));
	}

	/**
	 * ＴＶ＿ＳＴＢ情報、ＴＶ＿電波障害案件番号をセットする
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setTvStb(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		
		// サービスコードがテレビの場合のみ設定する
		if(SVC_CD_TV.equals(wkMap.getString(JBSbatKKIFM003.SVC_CD)))
		{
			// サービス契約内訳(TV_STB)取得用
			JBSbatServiceInterfaceMap mapSvc_kei_ucwk_stb = new JBSbatServiceInterfaceMap();
			getSvc_kei_ucwk_stb(mapSvc_kei_ucwk_stb, svckeino);
			// ＴＶ_ＳＴＢ追加台数
			mapKKIFM003.setString(JBSbatKKIFM003.STB_ADD_CNT,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_ADD_CNT));
			// ＴＶ_ＳＴＢ種別名１
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_NM_1,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_NM_1));
			// ＴＶ_コース名１
			mapKKIFM003.setString(JBSbatKKIFM003.TV_COURSE_NM_1,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.TV_COURSE_NM_1));
			// ＴＶ_ＳＴＢ種別台数１
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_CNT_1,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_CNT_1));
			// ＴＶ_ＳＴＢ種別名２
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_NM_2,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_NM_2));
			// ＴＶ_コース名２
			mapKKIFM003.setString(JBSbatKKIFM003.TV_COURSE_NM_2,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.TV_COURSE_NM_2));
			// ＴＶ_ＳＴＢ種別台数２
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_CNT_2,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_CNT_2));
			// ＴＶ_ＳＴＢ種別名３
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_NM_3,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_NM_3));
			// ＴＶ_コース名３
			mapKKIFM003.setString(JBSbatKKIFM003.TV_COURSE_NM_3,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.TV_COURSE_NM_3));
			// ＴＶ_ＳＴＢ種別台数３
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_CNT_3,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_CNT_3));
			// ＴＶ_ＳＴＢ種別名４
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_NM_4,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_NM_4));
			// ＴＶ_コース名４
			mapKKIFM003.setString(JBSbatKKIFM003.TV_COURSE_NM_4,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.TV_COURSE_NM_4));
			// ＴＶ_ＳＴＢ種別台数４
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_CNT_4,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_CNT_4));
			// ＴＶ_ＳＴＢ種別名５
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_NM_5,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_NM_5));
			// ＴＶ_コース名５
			mapKKIFM003.setString(JBSbatKKIFM003.TV_COURSE_NM_5,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.TV_COURSE_NM_5));
			// ＴＶ_ＳＴＢ種別台数５
			mapKKIFM003.setString(JBSbatKKIFM003.STB_SBT_CNT_5,
					mapSvc_kei_ucwk_stb.getString(JBSbatKKIFM003.STB_SBT_CNT_5));
			// ＴＶ_ケーブルガイド申込数
			// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
			JBSbatServiceInterfaceMap mapOp_svc_tv_ctv_mskm = new JBSbatServiceInterfaceMap();
			getOp_svc_ctv_mskm(mapOp_svc_tv_ctv_mskm, svckeino);
			mapKKIFM003.setString(JBSbatKKIFM003.CABLE_GUIDE_MSKM_CNT, 
					mapOp_svc_tv_ctv_mskm.getString(JBSbatKKIFM003.CABLE_GUIDE_MSKM_CNT));
			// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		}
		
		// サービス契約＜eo光TV＞取得用
		JBSbatServiceInterfaceMap mapSvc_kei_eoh_tv = new JBSbatServiceInterfaceMap();
		this.getSvc_kei_eoh_tv(mapSvc_kei_eoh_tv, svckeino);
		// ＴＶ_電波障害案件番号
		mapKKIFM003.setString(JBSbatKKIFM003.DMPS_ANKEN_NO, 
				mapSvc_kei_eoh_tv.getString(JBSbatKKIFM003.DMPS_ANKEN_NO));
	}

	/**
	 *  機器情報をセットする（eoBBR、ＰＬＣ）
	 * 
	 * @param mapKKIFM003 出力レコードマップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setEoBBR_Plc(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		
		// 機器提供サービス契約取得用
		JBSbatServiceInterfaceMap mapKktk_svc_kei = new JBSbatServiceInterfaceMap();
		// ANK-1578-00-00 2013/11/22 EDIT ST
//		this.getKktk_svc_kei(mapKktk_svc_kei, svckeino);
// v7.04 2014/02/10 【OM-2014-0000637】MOD START
//		this.getKktk_svc_kei(mapKktk_svc_kei, svckeino, mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO));
		this.getKktk_svc_kei(mapKktk_svc_kei, svckeino, mapKKIFM003);
// v7.04 2014/02/10 【OM-2014-0000637】MOD END
		// ANK-1578-00-00 2013/11/22 EDIT ED
		
		// eoBBR宅内機器型式コード
		mapKKIFM003.setString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.EO_BBR_TAKNKIKI_MODEL_CD));
		// eoBBR機器契約区分
		mapKKIFM003.setString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.EO_BBR_TK_SBT_CD));
		// eoBBR識別区分
		mapKKIFM003.setString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.EO_BBR_TK_WAY_CD));
		// ＰＬＣ宅内機器型式コード(1)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_1,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_1));
		// ＰＬＣ機器契約区分(1)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TK_SBT_CD_1,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TK_SBT_CD_1));
		// ＰＬＣ数量(1)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_CNT_1,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_CNT_1));
		// ＰＬＣ宅内機器型式コード(2)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_2,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_2));
		// ＰＬＣ機器契約区分(2)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TK_SBT_CD_2,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TK_SBT_CD_2));
		// ＰＬＣ数量(2)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_CNT_2,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_CNT_2));
		// ＰＬＣ宅内機器型式コード(3)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_3,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_3));
		// ＰＬＣ機器契約区分(3)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TK_SBT_CD_3,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TK_SBT_CD_3));
		// ＰＬＣ数量(3)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_CNT_3,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_CNT_3));
		// ＰＬＣ宅内機器型式コード(4)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_4,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_4));
		// ＰＬＣ機器契約区分(4)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TK_SBT_CD_4,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TK_SBT_CD_4));
		// ＰＬＣ数量(4)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_CNT_4,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_CNT_4));
		// ＰＬＣ宅内機器型式コード(5)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_5,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TAKNKIKI_MODEL_CD_5));
		// ＰＬＣ機器契約区分(5)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_TK_SBT_CD_5,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_TK_SBT_CD_5));
		// ＰＬＣ数量(5)
		mapKKIFM003.setString(JBSbatKKIFM003.PLC_CNT_5,
				mapKktk_svc_kei.getString(JBSbatKKIFM003.PLC_CNT_5));
	}

	/**
	 * 送信用サービス名、送信用料金コース名をセット
	 * 
	 * @param mapKKIFM003 出力レコードマップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setSendYoSvc_SendYoPrc(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// 加入御礼書印字名取得用
		JBSbatServiceInterfaceMap mapKors_print_nm = new JBSbatServiceInterfaceMap();
		String mans_vdsls_flg = mapKKIFM003.getString(JBSbatKKIFM003.MANS_VDSLS_FLG);
		String mans_tk_hoshiki_cd = mapKKIFM003.getString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1);
		String soku_wari_um = mapKKIFM003.getString(JBSbatKKIFM003.SOKU_WARI_UM);
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		String mansion_bukken_cd = mapKKIFM003.getString(JBSbatKKIFM003.MANSION_BUKKEN_CD);
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		
//2012/05/21 v3.01.00 Add Start --->
		// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
		getKors_print_nm(mapKors_print_nm, wkMap.getString(JBSbatKKIFM003.SVC_CD), wkMap.getString(JBSbatKKIFM003.PPLAN_CD), mans_vdsls_flg, mans_tk_hoshiki_cd, soku_wari_um, wkMap.getString(JBSbatKKIFM003.PCRS_CD), mansion_bukken_cd);
		// ▲▲▲IT1-2012-0001038 Add End▲▲▲
		// ▼▼▼IT1-2012-0001038 Delete Start▼▼▼
//		getKors_print_nm(mapKors_print_nm, svc_cd, pplan_cd, mans_vdsls_flg, mans_tk_hoshiki_cd, soku_wari_um, pcrs_cd);
		// ▲▲▲IT1-2012-0001038 Delete End▲▲▲
//2012/05/21 v3.01.00 Add End <---
		
		// 送信用サービス名
		mapKKIFM003.setString(JBSbatKKIFM003.SEND_YO_SVC_NM,
				mapKors_print_nm.getString(JBSbatKKIFM003.SEND_YO_SVC_NM));
		// 送信用料金コース名
		mapKKIFM003.setString(JBSbatKKIFM003.SEND_YO_PRC_COURSE_NM,
				mapKors_print_nm.getString(JBSbatKKIFM003.SEND_YO_PRC_COURSE_NM));
	}

	/**
	 * マンション物件コード、マンション_ＶＤＳＬ−Ｓフラグ、マンション_提供方式１、２をセット
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setManBuk_Vdsls_TkHo12(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
//		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// 提供方式契約番号
		String tk_hoshiki_kei_no = wkMap.getString(TK_HOSHIKI_KEI_NO);
		
		// サービスコードがテレビか調べる
		if(SVC_CD_TV.equals(mapKKIFM003.getString(JBSbatKKIFM003.SVC_CD)))
		{
			// テレビの場合、提供方式契約番号があるかチェック
			if(tk_hoshiki_kei_no == null || "".equals(tk_hoshiki_kei_no))
			{
				// なければ同一回線のマンション物件コードを取得してセット
				mapKKIFM003.setString(JBSbatKKIFM003.MANSION_BUKKEN_CD,
						this.manshon_bkn_cd_list.get(mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO)));
			}
		}
		
		// 提供方式契約番号がセットされている場合のみ出力
		if(tk_hoshiki_kei_no != null && !("".equals(tk_hoshiki_kei_no)))
		{
			// 2012/09/11 ST1-2012-0000551 Add Start
			// 提供方式契約取得用
//			JBSbatServiceInterfaceMap mapMansion_bukken_cd = new JBSbatServiceInterfaceMap();
//			getMansion_bukken_cd(mapMansion_bukken_cd, svckeino);
			//■■■ OM-2013-0001558-1559 マンション物件取得 ■■■
			String mansion_bukken_cd = null;
			JBSbatCommonDBInterface keyMap = new JBSbatCommonDBInterface();
			keyMap.setValue(tk_hoshiki_kei_no);
			this.db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(keyMap, KK_T_TK_HOSHIKI_KEI_KK_SELECT_032);
			JBSbatCommonDBInterface resultMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();
			if(resultMap != null)
			{
				mansion_bukken_cd = resultMap.getString(JBSbatKK_T_MANSION_BUKKEN.MANSION_BUKKEN_CD);
			}
			
			//■■■ OM-2013-0001558-1559 マンション物件取得 ■■■
			// マンション物件コードを出力する
			mapKKIFM003.setString(JBSbatKKIFM003.MANSION_BUKKEN_CD, mansion_bukken_cd);
			// 回線に紐づくマンション物件コードを格納
			this.manshon_bkn_cd_list.put(mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO), mansion_bukken_cd);
			
			// マンション物件コードが"001"(マンション)の場合にのみ設定する。
			if(mansion_bukken_cd != null && mansion_bukken_cd.equals(MANSION_BUKKEN_CD_001))
			{
				// 提供方式契約取得用
				JBSbatServiceInterfaceMap mapTk_hoshiki_kei = new JBSbatServiceInterfaceMap();
				getTk_hoshiki_kei(mapTk_hoshiki_kei, tk_hoshiki_kei_no);
				
				// ANK-4244-00-00 ADD START
				// 光化マンション、既設賃貸マンションの場合、提供方式コードを変換
				getTkHoshikiCdChg(mapTk_hoshiki_kei, wkMap);
				// ANK-4244-00-00 ADD END
				
				// IT1-2012-0001008 Add Start
				// ネットサービスの場合のみマンションＶＤＳＬ−Ｓフラグを設定する。
				if(SVC_CD_NET.equals(wkMap.getString(JBSbatKKIFM003.SVC_CD)))
				{
					// マンション_ＶＤＳＬ−Ｓフラグ
					mapKKIFM003.setString(JBSbatKKIFM003.MANS_VDSLS_FLG,
							mapTk_hoshiki_kei.getString(JBSbatKKIFM003.MANS_VDSLS_FLG));
				}
				// IT1-2012-0001008 Add End
				
				// 光ネットマンションタイプのみ出力する
				if(PRC_GRP_CD_MT.equals(wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD)))
				{
					// マンション_提供方式１
					mapKKIFM003.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1,
							mapTk_hoshiki_kei.getString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1));
					// マンション_提供方式２
					mapKKIFM003.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_2,
							mapTk_hoshiki_kei.getString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_2));
				}
			}
			// 2012/09/11 ST1-2012-0000551 Add End
		}
	}

	/**
	 * 請求契約番号、支払申込書送付要否をセットする
	 * 
	 * @param mapKKIFM003 出力用レコードマップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setSeikyKeiNo_PayMskmShoSohuYh(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// 請求契約取得用
		JBSbatServiceInterfaceMap mapSeiky_kei = new JBSbatServiceInterfaceMap();
		this.getSeiky_kei(mapSeiky_kei, svckeino);
		// 請求契約番号
		mapKKIFM003.setString(JBSbatKKIFM003.SEIKY_KEI_NO, 
				mapSeiky_kei.getString(JBSbatKKIFM003.SEIKY_KEI_NO));
		// 支払申込未到着フラグ
		String payflg = mapSeiky_kei.getString(JBSbatKKIFM003.PAY_MSKMSHO_SOHU_YH);
		// 既契約に対するeoモバイルのサービス追加の場合は"0"を編集
		if (NEW_ADD_SKBT_FLG_ADD.equals(wkMap.getString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG)))
		{
			// 料金グループコード
			String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			// eoモバイル(Wi-Fi)
			if(PRC_GRP_CD_MBWIFI.equals(prc_grp_cd))
			{
				payflg = PAY_MI_ARIV_FLG_ARIV;
			}
			// eoモバイル(EM)
			else if(PRC_GRP_CD_MBEM.equals(prc_grp_cd))
			{
				payflg = PAY_MI_ARIV_FLG_ARIV;
			}
			// eoモバイル(UQ-WiMAX)
			else if(PRC_GRP_CD_MBUQ.equals(prc_grp_cd))
			{
				payflg = PAY_MI_ARIV_FLG_ARIV;
			}
		}
		mapKKIFM003.setString(JBSbatKKIFM003.PAY_MSKMSHO_SOHU_YH, payflg);
	}

	// ▼▼▼IT1-2012-0001038 Add Start▼▼▼
	/**
	 * ファミリーパック契約有無を返却
	 * 
	 * @param wkMap サービス契約情報マップ
	 * @return ファミリーパック契約有無（対象外の場合はNull返却）
	 * @throws Exception 各種エラー
	 */
	private Object getFamiPack(JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		if(PRC_GRP_CD_HT.equals(prc_grp_cd) || PRC_GRP_CD_MZNT.equals(prc_grp_cd) || PRC_GRP_CD_MT.equals(prc_grp_cd))
		{
			String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			executeKK_T_WRIB_SVC_KEI_KK_SELECT_018(new Object[]{svckeino, opeDate, WRIB_TYPE_CD_FAMIPA});
			if(null != db_KK_T_WRIB_SVC_KEI.selectNext())
			{
				return UM_U;
			}
			else
			{
				return UM_MU;
			}
		}
		return null;
	}
	// ▲▲▲IT1-2012-0001038 Add End▲▲▲

	/**
	 * ｅｏサポートプラス加入有無、ＰＣセットアップ有無、おまかせ安心セット申込有無をセット
	 * 
	 * @param mapKKIFM003 出力用レコードマップ
	 * @param wkMap サービス契約情報マップ
	 * @param mapOp_svc_kei オプションサービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	@SuppressWarnings("unchecked")
	private void setSpPlus_PcSet_OmaAn(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap, HashMap mapOp_svc_kei) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// サービス契約料金グループコード
		String prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);

		//オプションサービス契約から判断する場合はtrue
		boolean sprtplusflg = true;
		// HT/MT以外の場合はNULL
		if(!PRC_GRP_CD_HT.equals(prc_grp_cd))
		{
			if(!PRC_GRP_CD_MZNT.equals(prc_grp_cd))
			{
				if(!PRC_GRP_CD_MT.equals(prc_grp_cd))
				{
					sprtplusflg = false;
				}
			}
		}
		//◆◆ ST1-2013-0000546 START ◆◆
		// コース変更の異動によって動作は変わらないのでコメント化
//		if (sprtplusflg)
//		{
//			//異動区分が「コース変更」はNULL
//			if (IDO_KBN_AD_CHG.equals(wkMap.getString(JBSbatKK_T_SVC_KEI.IDO_DIV)))
//			{
//				sprtplusflg = false;
//			}
//		}
		//◆◆ ST1-2013-0000546 END   ◆◆
		if (sprtplusflg)
		{
			// サポート取得用
			JBSbatServiceInterfaceMap mapSupport = new JBSbatServiceInterfaceMap();
			this.getSpport(mapSupport, svckeino);
			// ＰＣセットアップ有無
			mapKKIFM003.setString(JBSbatKKIFM003.PC_SETUP_UM,
					mapSupport.getString(JBSbatKKIFM003.PC_SETUP_UM));
			// おまかせ安心セット申込有無
			mapKKIFM003.setString(JBSbatKKIFM003.OMKSANSN_SET_MSKM_UM,
					mapSupport.getString(JBSbatKKIFM003.OMKSANSN_SET_MSKM_UM));
			
			// ｅｏサポートプラス加入有無
			mapKKIFM003.setString(JBSbatKKIFM003.EO_SPRT_PLUS_KANYU_UM, 
					existOp_svc_kei(mapOp_svc_kei, OP_SVC_CD_SPRTPLUS));
		}
	}

	/**
	 * サービス契約回線内訳単位に新規追加識別フラグ用判定結果を格納する(値が取り出せたら既存あり）
	 * 
	 * @param wkMain サービス契約情報格納マップ
	 * @param kaisenSvcMap サービス契約回線内訳情報マップ
	 * @return 判定用マップ（回線内訳番号をキーに値を取り出して判定）
	 * @throws Exception 各種エラー
	 */
	private HashMap<String, String> checkKaisenUWmap(ArrayList<JBSbatServiceInterfaceMap> wkMain,
			HashMap<String, String[]> kaisenSvcMap) throws Exception
	{
		// 返却用マップ
		HashMap<String, String> flgMap = new HashMap<String, String>();
		
// 2013.11.27 OM-2013-0004212 del start ↓のループの中でサービス契約ごとに判定する。
//		// 住所変更中かチェック（起因異動区分が住所変更・登録）
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
//		{
//			// 住所変更中の回線はすべて新規で出すのでリターンする
//			return flgMap;
//		}
// 2013.11.27 OM-2013-0004212 del end
		
		// すべてのサービス契約情報に対してサービス契約回線内訳単位で既存サービスがあるかチェック
		for(JBSbatServiceInterfaceMap map : wkMain)
		{
			// サービス契約番号
			String svcKeiNo = map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
			// 審査結果送信コード
			String skekka_s_cd = map.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
			
// 2013.11.27 OM-2013-0004212 add start
			// 住所変更中かチェック（起因異動区分が住所変更・登録）
			String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svcKeiNo);
			if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1])) {
				// 住所変更中の回線はすべて新規で出すのでflgMapに設定しない。
				continue;
			}
// 2013.11.27 OM-2013-0004212 add end
			
			// 審査結果送信コードがNULLでなく、「0：未送信」でもないかチェック
			if(skekka_s_cd != null && !SKEKKA_SEND_CD_NON.equals(skekka_s_cd))
			{
				// サービス契約回線内訳情報を取得（0:サービス契約回線内訳番号 1:世代登録年月日時分秒）
				String kaisen_uw_no = kaisenSvcMap.get(svcKeiNo)[0];
				// サービス契約回線内訳番号に対して既存サービスありで登録
				flgMap.put(kaisen_uw_no, UM_U);
			}
			else
			{
				// 発行起因の異動区分が「光電話・電話番号追加」かチェック
				if(IDO_TELNO_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(svcKeiNo)))
				{
					// サービス契約回線内訳情報を取得（0:サービス契約回線内訳番号 1:世代登録年月日時分秒）
					String kaisen_uw_no = kaisenSvcMap.get(svcKeiNo)[0];
					// サービス契約回線内訳番号に対して既存サービスありで登録
					flgMap.put(kaisen_uw_no, UM_U);
				}
				// 電話番号追加でないなら新規と判断可能
			}
		}
		return flgMap;
	}

	/**
	 * 新規追加識別フラグをセット
	 * 
	 * @param mapKKIFM003 出力レコードマップ
	 * @param wkMap サービス契約情報マップ
	 * @param kaisenSvcMap サービス契約回線内訳情報マップ
	 * @param addKaisenMap サービス契約回線内訳新規追加識別結果マップ
	 * @throws Exception 各種エラー
	 */
	private void setNewAddCd(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap, HashMap<String, String[]> kaisenSvcMap,
			HashMap<String, String> addKaisenMap) throws Exception
	{
		// 審査結果送信コード
		String skekka_s_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD);
		// 住所変更中かチェック
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null)
		String svc_kei_no = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null)
// 2013.11.27 OM-2013-0004212 mod end
		{
			// ファイルへ出力する
			this.mNEW_ADD_SDBT_FLG_UM = true;
			// 料金グループコード
			String m_prc_grp_cd = wkMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			// モバイルサービス契約であることを確認
			if(PRC_GRP_CD_MBEM.equals(m_prc_grp_cd)
				|| PRC_GRP_CD_MBUQ.equals(m_prc_grp_cd)
				|| PRC_GRP_CD_MBWIFI.equals(m_prc_grp_cd))
			{
				// モバイルは必ず「３：既存」をセット
				mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_ELSE);
			}
			else
			{
// ▽▽▽ ANK-3685-00-00 ADD START
				// 全て送信済の場合は既存とし、未送信があれば新規とする。
				if (SKEKKA_SENDED.equals(mJUHEN_SEND_ST_MAP.get(mJUHEN_KAISEN_SK_svc[0])))
				{
					// 既に出力済の場合はすべて「３：既存」をセット
					mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_ELSE);
				}
				else 
				{
// △△△ ANK-3685-00-00 ADD END
					// モバイル以外の住所変更対象はすべて「１：新規」をセット
					mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_NEW);
// ▽▽▽ ANK-3685-00-00 ADD START
				}
// △△△ ANK-3685-00-00 ADD END
			}
		}
		// 審査結果送信コードがNULLではなく、「0：未送信」でもない
		else if(skekka_s_cd != null && !SKEKKA_SEND_CD_NON.equals(skekka_s_cd))
		{
			// 新規追加識別フラグへ「３：既存」をセット
			mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_ELSE);
		}
		else
		{
			// ファイルへ出力する
			this.mNEW_ADD_SDBT_FLG_UM = true;
			// 紐づいているサービス契約回線内訳に既存があるかチェック
			String resultFlg = addKaisenMap.get(kaisenSvcMap.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))[0]);
			if(resultFlg == null)
			{
				// 既存がないので「１：新規」をセット
				mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_NEW);
			}
			else
			{
				// 既存があるので「２：追加」をセット
				mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_ADD);
			}
			
			//■■■ KAD-2012-000201 電話２番号目追加対応 START ■■■
			// 加入御礼書発行起因が異動区分・光電話・番号追加かチェック
			if(IDO_TELNO_ADD.equals(this.mKIIN_IDO_DIV_LIST.get(wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO))))
			{
				// 電話番号追加なので新規追加識別コードを"4"で上書き
				mapKKIFM003.setString(JBSbatKKIFM003.NEW_ADD_SKBT_FLG, NEW_ADD_SKBT_FLG_TELADD);
			}
			//■■■ KAD-2012-000201 電話２番号目追加対応   END ■■■
		}
	}

	/**
	 * 機器提供サービス契約番号の機器が出力対象かチェック
	 * 
	 * @param kktk_svc_kei_no 機器提供サービス契約番号
	 * @return true:住所変更後、もしくは通常で使用されている false:住所変更後使用されていない
	 */
// 2013.11.27 OM-2013-0004212 mod start
//	private boolean checkJuhenKiki(String kktk_svc_kei_no)
	private boolean checkJuhenKiki(String kktk_svc_kei_no, String svc_kei_no)
// 2013.11.27 OM-2013-0004212 mod end
	{
		// 住所変更中かチェック（住所変更情報の異動区分が「住所変更・登録」）
// 2013.11.27 OM-2013-0004212 mod start
//		if(this.mJUHEN_KAISEN_SK != null && IDO_JUHEN_ADD.equals(this.mJUHEN_KAISEN_SK[1]))
		String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svc_kei_no);
		if(mJUHEN_KAISEN_SK_svc != null && IDO_JUHEN_ADD.equals(mJUHEN_KAISEN_SK_svc[1]))
// 2013.11.27 OM-2013-0004212 mod end
		{
			// この機器が住所変更後に使われているかチェック
			if(this.mJUHEN_KKTK_LIST.get(kktk_svc_kei_no) != null)
			{
				// 住所変更後使用されている
				return true;
			}
			else
			{
				// 住所変更後使用されていない
				return false;
			}
		}
		// 住所変更に無関係
		return true;
		
	}

// 2014.04.23 ANK-2093-00-00 add start
	// ANK-3387-00-00 2019/02/27 MOD START
	/**
	 * マンションイーサネット、または、マンションＶＤＳＬ、または、光コンセントの場合、
	 * trueを返却します。
	 * 指定されたサービス契約回線内訳番号からサービス契約回線内訳情報を取得し、
	 * 回線コードが1002：光回線(マンションVDSL)、1003：光回線(マンションイーサネット)であれば、
	 * trueと判定します。
	 * もしくは回線コードが1004：光回線(マンション光配線)で提供方式契約.提供方式パターンコードが「51：光コンセント」
	 * の場合trueと判定します。
	 * @param kaisenUwNo サービス契約回線内訳番号
	 * @return マンションイーサネット、または、マンションＶＤＳＬの場合、true
	 * @throws Exception
	 */
	//private boolean isMansionEtherOrVdsl(String kaisenUwNo) throws Exception {
	private boolean isMansionEtherOrVdslOrConsent(String kaisenUwNo, String tkHoshikiKeiNo) throws Exception {
	// ANK-3387-00-00 2019/02/27 MOD END
		
		// 返却値
		boolean retBoo = false;

		// 引数チェック。未設定ならfalseでリターン。
		if(JKKStringUtil.isNullBlank(kaisenUwNo)) {
			return retBoo;
		}

		// サービス契約回線内情報を取得
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface result = null;

		whereMap.setValue(kaisenUwNo);
		this.db_KK_T_SVKEI_KAISEN_UW.selectBySqlDefine(whereMap, KK_T_SVKEI_KAISEN_UW_KK_SELECT_040);
		result = this.db_KK_T_SVKEI_KAISEN_UW.selectNext();

		if(result != null) {
			
			// １件目の回線コードの値で判断する
			String kaisenCd = result.getString(JBSbatKK_T_SVKEI_KAISEN_UW.KAISEN_CD);

			// 回線コードが以下のどちらかであれば、true を返却
			// 1002	光回線(マンションVDSL)
			// 1003	光回線(マンションイーサネット)
			// ANK-3387-00-00 2019/02/27 MOD START
			//if ("1002".equals(kaisenCd) || "1003".equals(kaisenCd)) {
			if (KAISEN_CD_MT_VDSL.equals(kaisenCd) || KAISEN_CD_MT_ETHER.equals(kaisenCd)) {
			// ANK-3387-00-00 2019/02/27 MOD END
				retBoo = true;
			}
			// ANK-3387-00-00 2019/02/27 ADD START
			// 1002	光回線(マンション光配線)
			else if(KAISEN_CD_MT_HIKARI.equals(kaisenCd) && !JKKStringUtil.isNullBlank(tkHoshikiKeiNo)){
				JBSbatCommonDBInterface rcvMapPK = new JBSbatCommonDBInterface();		// 結果取得用（PK検索）
				// パラメータの設定
				Object[] setParamPK = {
						tkHoshikiKeiNo,
				};
				rcvMapPK = executeKK_T_TK_HOSHIKI_KEI_PKSELECT(setParamPK);
				if(TK_HOSHIKI_PATTERN_CD_CONSENT.equals(rcvMapPK.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_PATTERN_CD))){
					//提供方式パターンコードが「51：光コンセント」
					retBoo = true;
				}
			}
			// ANK-3387-00-00 2019/02/27 ADD END
		}
		
		return retBoo;
	}

	/**
	 * 住所変更申込一時保存スキーマを検索します。
	 * @param sysid
	 * @param kaisenUwNo
	 * @return
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getAdchm_Tppv(String sysid, String kaisenUwNo) throws Exception {
		JBSbatCommonDBInterface result = null;
		
		// 引数チェック。未設定ならfalseでリターン。
		if(JKKStringUtil.isNullBlank(sysid)) {
			return null;
		}
		if(JKKStringUtil.isNullBlank(kaisenUwNo)) {
			return null;
		}
		
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(sysid);
		paramList.setValue(kaisenUwNo);
		
		// DBアクセスを実行します
		db_KK_T_ADCHM_TPPV.selectBySqlDefine(paramList, KK_T_ADCHM_TPPV_KK_SELECT_004);
		result = this.db_KK_T_ADCHM_TPPV.selectNext();
		return result;
	}
// 2014.04.23 ANK-2093-00-00 add end

// ANK-2299-00-00 2014/09/09 ADD START
	/**
	 * 詳細サービス名をセットする
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private void setDtlSvcNm(JBSbatServiceInterfaceMap mapKKIFM003,
			JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svcKeiNo = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		
		// サービスコードがテレビで料金プランコードが「ｅｏ光テレビ　地デジ・ＢＳコース」の場合のみ設定する
		if(SVC_CD_TV.equals(wkMap.getString(JBSbatKKIFM003.SVC_CD)) &&
			PPLAN_CD_TV_DEGITAL_BS.equals(wkMap.getString(JBSbatKKIFM003.PPLAN_CD)))
		{
			// コース変更時の申込明細番号を取得する。
			String mskmDtlNo = this.mCRS_CHG_MSKM_DTL_NO_LIST.get(svcKeiNo);
			
			if (mskmDtlNo != null)
			{
				// コース変更時の申込明細番号が存在する場合
				
				// 異動予約の申込明細番号に紐付く申込時登録不可契約予約情報を抽出
				Object[] setParamAddf = { mskmDtlNo, svcKeiNo };
				this.executeKK_T_MKJ_ADDF_KEI_RV_KK_SELECT_002(setParamAddf);
				JBSbatCommonDBInterface resultAddf = this.db_KK_T_MKJ_ADDF_KEI_RV.selectNext();
				if (resultAddf != null)
				{
					// 申込時登録不可契約予約情報が存在する場合は、
					// 詳細サービス名には「Ｓ」を設定する。
					mapKKIFM003.setString(JBSbatKKIFM003.DTAIL_SVC_NM, STAR_CHANNEL_INITIAL);
				}
				else
				{
					// 申込時登録不可契約予約情報が存在しない場合は、
					// 詳細サービス名には空文字を設定する。
					mapKKIFM003.setString(JBSbatKKIFM003.DTAIL_SVC_NM, "");
				}
				
			}
			else
			{
				// コース変更時の申込明細番号が存在しない場合
				
				// サービス契約番号に紐付く割引サービス契約情報を抽出
				Object[] setParamWrib = { super.opeDate, super.opeDate, super.opeDate, svcKeiNo };
				this.executeKK_T_WRIB_SVC_KEI_KK_SELECT_063(setParamWrib);
				JBSbatCommonDBInterface resultWrib = this.db_KK_T_WRIB_SVC_KEI.selectNext();
				if (resultWrib != null)
				{
					// 割引サービス契約情報が存在する場合は、
					// 詳細サービス名には「Ｓ」を設定する。
					mapKKIFM003.setString(JBSbatKKIFM003.DTAIL_SVC_NM, STAR_CHANNEL_INITIAL);
				}
				else
				{
					// 割引サービス契約情報が存在しない場合は、
					// 詳細サービス名には空文字を設定する。
					mapKKIFM003.setString(JBSbatKKIFM003.DTAIL_SVC_NM, "");
				}
			}
		}
		else
		{
			// 上記以外の場合は、詳細サービス名には空文字を設定する。
			mapKKIFM003.setString(JBSbatKKIFM003.DTAIL_SVC_NM, "");
		}
	}
// ANK-2299-00-00 2014/09/09 ADD END

// v11.01 ADD START
	/**
	 * SQLKEY(KK_SELECT_310)で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_310(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_310);
	}

	/**
	 * SQLKEY(KK_SELECT_311)で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_311(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_311);
	}
// v11.01 ADD END

// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD START
	/**
	 * SQLKEY(KK_SELECT_024)で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_ADCHG_KK_SELECT_024(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG.selectBySqlDefine(paramList, KK_T_ADCHG_KK_SELECT_024);
	}

	/**
	 * SQLKEY(KK_SELECT_047)で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_ADCHG_DTL_KK_SELECT_047(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_047);
	}
	/**
	 * SQLKEY(KK_SELECT_222)で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_KKTK_SVC_KEI_KK_SELECT_222(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_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_222);
	}

	/**
	 * SQLKEY(KK_SELECT_028)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	機器オプションサービス契約番号
	 *		 	検索用予約適用年月日
	 *			検索用予約適用
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKOP_SVC_KEI_KK_SELECT_028(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_KKOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKOP_SVC_KEI_KK_SELECT_028);
	}
	// ANK-2726-00-00 2016.01.09 M.HAYASHI ADD END

	//---------v33.00.00 ANK-2802-00-00_ADD START---------//
	/**
	 * SQLKEY(KK_SELECT_015)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param1:サービス契約内訳番号をparam配列に入れます。バイント変数は以下に説明します。
	 *		param2:電話番号をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeTU_T_BMP_KOJI_KK_SELECT_015(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// DBアクセスを実行します
		db_TU_T_BMP_KOJI.selectBySqlDefine(paramList, TU_T_BMP_KOJI_KK_SELECT_015);
	}
	//---------v33.00.00 ANK-2802-00-00_ADD END-----------//
	
	// ANK-4174-00-00 ADD START
	/**
	 * 電子交付同意済みフラグを判定する
	 * 
	 * @param mapKKIFM003 出力レコード情報マップ
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 各種エラー
	 */
	private String judgedoium(JBSbatServiceInterfaceMap mapKKIFM003,
			ArrayList<JBSbatServiceInterfaceMap> wkList,
			HashMap<String, String[]> kaisenSvcMap) throws Exception
	{
		// OM-2022-0000933 ADD START
		// 加入御礼データ種別コード:"1"(加入御礼書)以外は常に出力する（電子同意済みフラグ:NULL）
		if(!"1".equals(mapKKIFM003.getString(JBSbatKKIFM003.KANUORE_DATA_SBT_CD)))
		{
			return "";
		}
		// OM-2022-0000933 ADD END
		
		// サービス契約回線内訳番号
		String svc_kei_kaisen_ucwk_no = mapKKIFM003.getString(JBSbatKKIFM003.SAME_KAISEN_GRP_SKBT_NO);
		String dnsDoiflg = DNSKH_DOI_ZM_FLG_MIDOI;
		
		if(svc_kei_kaisen_ucwk_no != null && svc_kei_kaisen_ucwk_no != "")
		{
			// 出力対象リストから対象データと同一回線のデータを探す
			for (JBSbatServiceInterfaceMap wkMap : wkList)
			{
				String svcKeiNo = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
				String kaisenUcwkNo = kaisenSvcMap.get(svcKeiNo)[0];
				
				if(svc_kei_kaisen_ucwk_no.equals(kaisenUcwkNo))
				{
					// 同一回線データの電子交付同意有無が全て"1"(同意あり)の場合、同意済を返却
					// 一件でも未同意が存在する場合、未同意を返却
					String doium = wkMap.getString(JBSbatKK_T_MSKM_DTL.DNSKH_DOI_UM);
					if(DNSKH_DOI_UM_ARI.equals(doium))
					{
						dnsDoiflg = DNSKH_DOI_ZM_FLG_DOIZM; // "1" (同意済)
					}
					else
					{
						dnsDoiflg = DNSKH_DOI_ZM_FLG_MIDOI; // "0" (未同意)
						break;
					}
				}
			}
		}
		
		return dnsDoiflg;
	}
	// ANK-4174-00-00 ADD END

	// ANK-4244-00-00 ADD START
	/**
	 * 提供方式コードの変換<BR>
	 * <BR>
	 * 光化マンション、既設賃貸マンションの場合、提供方式コードを変換します。<BR>
	 * <BR>
	 * @param mapTk_hoshiki_kei 返却用MAP
	 * @param wkMap サービス契約情報マップ
	 * @throws Exception 
	 */
	private void getTkHoshikiCdChg(JBSbatServiceInterfaceMap mapTk_hoshiki_kei, JBSbatServiceInterfaceMap wkMap) throws Exception
	{
		// サービス契約番号
		String svckeino = wkMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		// マンション提供方式１
		String mansTkHoshikiCd1 = mapTk_hoshiki_kei.getString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1);
		// マンション提供方式２
		String mansTkHoshikiCd2 = mapTk_hoshiki_kei.getString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_2);
		
		JBSbatCommonDBInterface rcvMap379 = new JBSbatCommonDBInterface();		// 結果取得用（KK_SELECT_379）
		
		// パラメータの設定
		Object[] setParam379 = {
				svckeino,
				this.opeDate,
				// IT1-2022-0000055 ADD START
				this.opeDate,
				this.opeDate,
				// IT1-2022-0000055 ADD END
		};
		
		// マンション提供方式１
		if (mansTkHoshikiCd1 != null && !"".equals(mansTkHoshikiCd1))
		{
			// 提供方式コードを変換するかどうかの判定を行う
			// ANK-4646-00-00 MOD START
//			executeKK_T_SVC_KEI_KK_SELECT_379(setParam379);
			String[] mJUHEN_KAISEN_SK_svc = mJUHEN_KAISEN_SK_MAP.get(svckeino);
			if(mJUHEN_KAISEN_SK_svc != null && mJUHEN_KAISEN_SK_svc[1].equals(IDO_JUHEN_ADD))
			{
				//住所変更中の場合
				executeKK_T_SVC_KEI_KK_SELECT_379(setParam379);
			} else
			{
				//住所変更中以外の場合
				executeKK_T_SVC_KEI_KK_SELECT_396(setParam379);
			}
			// ANK-4646-00-00 MOD END
			rcvMap379 = db_KK_T_SVC_KEI.selectNext();
			
			if (rcvMap379 != null && !"".equals(rcvMap379))
			{
				String tkHoshikiPatternCd = rcvMap379.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_PATTERN_CD);
				
				if (tkHoshikiPatternCd != null && !"".equals(tkHoshikiPatternCd))
				{
					if(TK_HOSHIKI_PATTERN_CD_ONU.equals(mansTkHoshikiCd1))
					{
						// マンション提供方式１
					mapTk_hoshiki_kei.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_1, MANS_TK_HOSHIKI_CD_CONSENT);
					}
				}
				
				// マンション提供方式２
				if(mansTkHoshikiCd2 != null && !"".equals(mansTkHoshikiCd2))
				{
					if(tkHoshikiPatternCd != null && !"".equals(tkHoshikiPatternCd))
					{
						if(TK_HOSHIKI_PATTERN_CD_ONU.equals(mansTkHoshikiCd2))
						{
							// マンション提供方式２
						mapTk_hoshiki_kei.setString(JBSbatKKIFM003.MANS_TK_HOSHIKI_CD_2, MANS_TK_HOSHIKI_CD_CONSENT);
						}
					}
				}
			}
		}
	}

	/**
	 * SQLKEY(KK_SELECT_379)で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_379(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// IT1-2022-0000055 ADD START
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		// IT1-2022-0000055 ADD END

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_379);
	}
	// ANK-4244-00-00 ADD END
	
	// ANK-4646-00-00 ADD START
	/**
	 * SQLKEY(KK_SELECT_396)で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_396(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// IT1-2022-0000055 ADD START
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		// IT1-2022-0000055 ADD END

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_396);
	}
	// ANK-4646-00-00 ADD END
	
	//【ANK-4543-00-00：NTT卸対応：Step0】 ADD START
	/**
	 * 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 executeKK_T_NTTORS_KEI_KK_SELECT_001(Object[] param)  throws Exception {
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_NTTORS_KEI.selectBySqlDefine(paramList, KK_T_NTTORS_KEI_KK_SELECT_001);
	}

	/**
	 * <BR>
	 * NTT卸にサービス契約番号が存在するかのチェック処理。<BR>
	 * <BR>
	 * @param svcKeiNo
	 * @return
	 * @throws Exception
	 */
	private boolean hasNTTRecord(String svcKeiNo) throws Exception {
		Object[] setParamNTT = { svcKeiNo};
		executeKK_T_NTTORS_KEI_KK_SELECT_001(setParamNTT);
		JBSbatCommonDBInterface resultNTT = db_KK_T_NTTORS_KEI.selectNext();
		return resultNTT != null ? true : false;
	}
	// 【ANK-4543-00-00：NTT卸対応：Step0】 ADD END
	// ANK-4427-00-00 ADD START
	/**
	 * typeNの場合、移転元サービス契約番号を取得し、マップに値を設定する。
	 * 
	 * @param wkMap データマップ
	 * @throws Exception 各種エラー
	 */
	private String getTypeNitenmSvcKeiNo(JBSbatServiceInterfaceMap wkMap, String prcGrpCd, String svcKeiNo) throws Exception
	{
		if (JKKStrConst.CD00133_02.equals(prcGrpCd))
		{
			Object[] setParam = { 
										svcKeiNo,				// サービス契約番号
										this.opeDate,			// 予約適用年月日
										this.opeDate,			// 予約適用年月日
										this.opeDate,			// 予約適用年月日
										this.opeDate,			// 予約適用年月日
			};
			executeKK_T_SVC_KEI_KK_SELECT_391(setParam);
			
			
			JBSbatCommonDBInterface result = db_KK_T_SVC_KEI.selectNext();
			
			if(result != null)
			{
				// NTT卸区分に値が設定されている(typeN)かつ、移転元サービス契約番号に値が設定されている場合
				// 「レター種別」に"3"(住所変更)を設定する。
				if(!JKKStringUtil.isNullBlank(result.getString(JBSbatKK_M_PCRS.NTTORS_DIV)))
				{
					return result.getString(JBSbatKK_T_MSKM.ITENM_SVC_KEI_NO);
				}
			}
			
		}
		return null;
	}
	
	/**
	 * SQLKEY(KK_SELECT_391)で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_391(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_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_391);

	}
	// ANK-4427-00-00 ADD END
}
