/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKIdTchishoChshtForMrgc
*	ソースファイル名	：JBSbatKKIdTchishoChshtForMrgc.java
*	作成者				：富士通　
*	作成日				：2012年04月20日
*＜機能概要＞
*　ID通知書データ抽出（守口印刷）部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00		2012/04/20	FJ)伊藤		新規作成
*	v3.01		2012/06/11	FJ)伊藤		【IT1-2012-0000646】
*	v3.02		2012/06/13	FJ)伊藤		【IT1-2012-0000805】
*	v3.03		2012/08/07	FJ)伊藤		【IT1-2012-0000925】【IT1-2012-0000929】
*	v3.04		2012/09/12	FJ)伊藤		【ST1-2012-0000553】
*	v4.00		2012/08/22	FJ)伊藤		【ANK-0410-00-00】ID登録証様式フォロー１
*	v4.01		2012/09/26	FJ)伊藤		【TAI-2012-0000084】プレミアム追加対応・サービス追加に伴う保守性改善
*										【ANK-1210-00-00】ID登録証番号の表示名、表示形式統一
*										【ANK-1204-00-00】イーアクセス連携ファイル対応
*	v4.02		2012/11/13	FJ)井熊		【IT2-2012-0001665】住所更新中間ファイル必須エラー対応
*	v4.03		2012/12/07	FJ)砂川		【ANK-1392-00-00】回線使用契約物件スキーマ削除対応
*										【ST1-2012-0001091】利用開始日、サーバ名の表示不具合対応
*	v4.04		2012/12/21	FJ)砂川		【IT2-2012-0002131】通知書内訳登録用中間ファイルにPOPIDパスワードを設定する対応
*	v4.05		2012/12/22	FJ)大西		【IT1-2012-0002533】料金グループ[eoモバイル(メールアドレス)]の通知書コード出力対応
*	v4.06		2013/01/16	FJ)砂川		【ST2-2012-0000092】通知書内訳更新ファイルにサーバ名を全パターンで出力する対応
*	v4.07		2013/01/17	FJ)藤原		【ST2-2013-0000097】電話・テレビの通知書コード設定時に整理番号で紐づくネットがマンションである場合の処理を追加
*	v4.08		2013/02/09	FJ)近藤		【IT1-2013-0000241】テレビのサービス契約名称の取得方法を修正
*	v4.09		2013/02/09	FJ)井熊							eoメールアドレス用通知書内訳情報出力
*	v4.10		2013/02/13	FJ)鷲塚		【IT1-2013-0000266】守口倉庫I/F対応(トレーラレコード出力)
*	v4.11		2013/02/18	FJ)井熊		【ST2-2013-0000593】KKIFE039の出力ログが出ないように変更
*	v4.12		2013/02/19	FJ)井熊		【IT1-2013-0000304】住所変更中のオプション契約情報出力対応
*	v4.13		2013/03/12	FJ)井熊		【IT1-2013-0000453】eoIDが初期eoIDと同じなら出力しない対応
*	v5.00		2013/03/31	FJ)井熊		【OT-2013-0000311】 電話番号内訳仕様変更対応
*	v5.01		2013/05/04	FJ)井熊		【IT1-2013-0001136】モバイル６４ＣＰ系の通知書印字名が出ない故障対応、コース変更対応、再発行時の機器住所送付先対応
*	v5.02		2013/05/31	FJ)米谷		【KT1-2013-0000595】アンロード化対応
*	v5.03		2013/08/22	FJ)砂川		【OM-2013-0000669】サービス契約内訳番号の初期化を追加。認証ＩＤを＠で区切る処理をやめて、桁数を10→64に変更する。
*	v5.04		2013/08/24	FJ)鈴木		【OM-2013-0000836】ＴＶのコース変更手続き中に変更後のコースを表示するように修正。
*	v5.05		2013/08/28	FJ)砂川		【OM-2013-0001075】サービス開始前のeo光ネットマンションの場合、利用開始日にサービス利用開始希望年月日を設定する対応
*	v5.06		2013/08/28	FJ)坂東		【OM-2013-0001203】申込明細検索時の申込明細番号の取得を通知書スキーマより取得するよう修正
*	v5.07		2013/09/02	FJ)鈴木		【OM-2013-0001494】認証IDパスワード、メールパスワード、WebIDパスワードの再振出後の出力内容不備対応
*	v5.08		2013/09/11	FJ)鈴木		【OM-2013-0001952】通知書送付先名に契約者名を設定するように修正
*	v5.09		2013/09/13	FJ)砂川		【OM-2013-0001948】発信者番号通知コードの不一致対応
*	v5.10		2013/09/15	FJ)砂川		【OM-2013-0002143】市区町村名がNULLで番地号が15文字以下の場合に名寄せされない場合の補正対応
*	v5.11		2013/09/16	FJ)砂川		【OM-2013-0002020】未確定住所対応
*	v5.12		2013/09/20	FJ)砂川		【OM-2013-0002424】番号変更中の場合、変更後の番号を出力する対応
*	v5.13		2013/09/24	FJ)砂川		【OM-2013-0002367】オプション部にPOPIDPWとWEBIDPWを設定する仕様変更対応
*	v5.14		2013/09/24	FJ)砂川		【OM-2013-0002239】送付先住所が機器の場合に通知書住所更新用ファイルに機器住所を設定する対応
*	v5.15		2013/09/27	FJ)坂東		【OM-2013-0002611】番号追加・削除時に変更後のコース・料金プランを出力するように修正
*	v5.16		2013/10/02	FJ)坂東		【OM-2013-0002704】オプションサービスの検索時に、番号変更前のサービス内訳番号を設定するように修正
*	v5.17		2013/10/08	FJ)山裾		【OM-2013-0003121】連携ファイルにSYSIDを追加
*	v5.18		2013/10/15	FJ)管谷		【OM-2013-0003217】住所変更で解約したオプションを出力対象外とするための処理を追加
*	v5.19		2013/10/21	FJ)管谷		【OM-2013-0003311】通知書コードの出力内容を通知書スキーマにある値を使うように修正
*	v5.20		2013/10/21	FJ)山裾		【OM-2013-0003228】電話番号変更時の通知書再発行の発信者番号通知表示不正対応
*	v5.21		2013/10/23	FJ)管谷		【OM-2013-0003585】住所変更で解約したオプションを出力対象外とするための処理を追加・変更
*	v5.22		2013/10/28	FJ)鈴木		【OM-2013-0003623】住所変更でサービスが解約⇒新規となるとき、既に解約済となっているときに正しくオプションが引き継がれるように修正
*	v5.23		2013/10/30	FJ)山裾		【OM-2013-0003656】電話番号変更で番ポありの場合は、旧番号の内訳番号に紐付くオプションを参照するように修正
*	v5.24		2013/11/19	FJ)管谷		【OM-2013-0004184】通知書送付先を検索するとき、回線に紐づく機器の場合、サービス契約回線内訳番号で検索するように修正
*	v5.25		2013/11/20	FJ)山裾		【OM-2013-0003310】ポート番号の設定不備の修正
*	v6.00		2013/11/26	FJ)管谷		【OM-2013-0004694】複数のメールアドレスが存在するとき、通知書内訳スキーマに正しくアドレスが出力されるように修正  
*	v6.01		2013/12/06	FJ)山裾		【OM-2013-0004977】コース変更後に通知書出力対象となった契約の通知書を出力するように修正
*	v6.02		2013/12/22	FJ)鈴木		【OM-2013-0005289】性能改善：業務パラメータ管理からの取得を初期処理で実行するように修正。
*	v6.03	    2013/12/21  FJ)管谷     【OM-2013-0005286】TVの印字サービス名取得処理を修正。地デジＢＳコースのときはサービス契約内訳を見ないようにする。
*	v7.00	    2014/02/24  FJ)鈴木     【OM-2014-0000756】機器送付先情報の取得処理を修正。契約にひもづく機器と回線にひもづく機器のうち新しい方を採用する対応
*	v8.00	    2014/03/31  FJ)山裾     【OM-2014-0001218】最新の機器送付先住所の判定条件を、更新年月日時分秒から世代登録年月日時分秒に修正する
*	v8.01	    2014/04/09  FJ)山裾     【OM-2014-0001451】住所変更時にオプション状態を引き継がない場合のオプション情報を、住所変更後のオプション情報から設定するように修正する
*	v8.02	    2014/04/16  FJ)山裾     【ANK-1946-00-00】 再発行時の通知書送付先情報を、通知書スキーマに設定されている内容を優先して設定する
*	v8.03	    2014/04/25  FJ)山裾     【OM-2014-0001579】住所変更の場合は変更前の電話番号に紐づくオプション情報を、住所変更でない場合は変更後の電話番号に紐づくオプション情報を取得するように修正する
*	v9.00	    2014/08/18  FJ)山裾     【OM-2014-0002721】マンションイーサで利用開始希望年月日設定されている場合、通知書内訳スキーマに利用開始年月日として反映するように修正
*	v10.00	    2014/07/03  FJ)米田     【ANK-2135-00-00】 スターチャンネルセット割対応
*	v10.01	    2014/07/24  FJ)米田     【IT1-2014-0000246】コース変更時のスターチャンネルセット割の障害対応
*	v10.02	    2014/07/28  FJ)米田     【IT1-2014-0000256】スターチャンネルセット割のキャンセル時の障害対応
*	v10.03	    2014/09/30  FJ)山裾     【OM-2014-0003172】機器提供サービス契約のカレントデータ取得条件に「予約中」も含める
*	v11.00	    2014/10/21  FJ)山裾     【ANK-2332-00-00】、【ANK-2333-00-00】
*	v23.00	    2016/04/04  FJ)栗秋     【OM-2016-0000858】POPIDパスワードとWEBIDパスワードの設定内容不正の対応
*	v26.00.00	2016/10/26  FJ)中山     【OM-2016-0002236】外部連携のPOPIDパスワードとWEBIDパスワードの設定内容不正の対応
*	v28.00.00	2016/12/16  FJ)中山     【OM-2016-0002393】外部連携のWEBIDパスワード空白対応
*	v33.00.00	2017/09/20  FJ)中原     【ANK-3139-02-00】ID登録証のSMTP・IMAPサーバー表示変更
*   v56.00.00   2021/12/09  FJ)西窪     【ANK-4174-00-00】開通前マイページ関連業務改善（2022年1月下旬リリース）
*   v56.00.01   2021/12/09  FJ)西窪     【IT1-2022-0000002】通知書送付先コード出力内容不備対応
*   v57.00.00	2022/01/31  FJ)杉本     【ANK-4075-00-00】マンション卸回線(WI-FIスキーム)の不備対応
*   v59.00.00   2022/04/14  FJ)南       【ANK-4240-00-00】開通前マイページ関連業務改善（2022年6月下旬リリース）
*   v71.00.00   2024/05/01  GDC)a.lobiano     【ANK-4543-00-00】NTT卸対応：Step0
*   v73.00.00	2024/10/04	FJ)柴田		【ANK-4493-00-00】光配線マンションのコースアップ対応
*********************************************************************/
package eo.business.service;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.common.JCRBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.common.JKKBatWorkParamKanriUtil;
import eo.business.common.JTUBatStringUtil;
import eo.business.util.file.JBSbatKKIFM003;
import eo.business.util.file.JBSbatKKIFM195;
import eo.business.util.file.JBSbatKKIFM489;
import eo.business.util.table.JBSbatCK_T_CUST;
import eo.business.util.table.JBSbatCK_T_GRP;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatKK_M_PPLAN;
import eo.business.util.table.JBSbatKK_M_PPLAN_KTTANKA;
import eo.business.util.table.JBSbatKK_T_ADCHG_DTL;
import eo.business.util.table.JBSbatKK_T_ADSL_KOJI;
import eo.business.util.table.JBSbatKK_T_IDO_RSV;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_MSKM_DTL;
import eo.business.util.table.JBSbatKK_T_OPSVKEI_ISP;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOADSL;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_NET;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.business.util.table.JBSbatKK_T_TCHISHO;
import eo.business.util.table.JBSbatKK_T_TCHI_TG_BPIN;
import eo.business.util.table.JBSbatKK_T_TK_HOSHIKI_KEI;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.common.util.JKKStringUtil;
import eo.common.util.JZMAdOutputEdit;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKIdTchishoChshtForMrgc extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(通知書)*/
	private static final String D_TBL_NAME_KK_T_TCHISHO = "KK_T_TCHISHO";
	/** テーブル(サービス契約内訳＜ｅｏ光電話＞)*/
	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_SVC_KEI = "KK_T_SVC_KEI";
	/** テーブル(サービス契約内訳＜ｅｏ光ネット＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_NET = "KK_T_SVKEIUW_EOH_NET";
	/** テーブル(オプションサービス契約＜ＩＳＰ＞)*/
	private static final String D_TBL_NAME_KK_T_OPSVKEI_ISP = "KK_T_OPSVKEI_ISP";
	/** テーブル(お客様)*/
	private static final String D_TBL_NAME_CK_T_CUST = "CK_T_CUST";
	/** テーブル(お客様グループ設定)*/
	private static final String D_TBL_NAME_CK_T_CUST_GRP_SETTE = "CK_T_CUST_GRP_SETTE";
	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";
	/** テーブル(機器提供サービス契約)*/
	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_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";
	/** テーブル(申込明細)*/
	private static final String D_TBL_NAME_KK_T_MSKM_DTL = "KK_T_MSKM_DTL";
	/** テーブル(料金プラン)*/
	private static final String D_TBL_NAME_KK_M_PPLAN = "KK_M_PPLAN";
	/** テーブル(サービス契約内訳＜ｅｏＡＤＳＬ＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOADSL = "KK_T_SVKEIUW_EOADSL";
	/** テーブル(ＡＤＳＬ工事)*/
	private static final String D_TBL_NAME_KK_T_ADSL_KOJI = "KK_T_ADSL_KOJI";
	/** テーブル(回線使用契約物件)*/
	private static final String D_TBL_NAME_KK_T_KISNUSEKEI_BKN = "KK_T_KISNUSEKEI_BKN";
	// ▼▼▼ ANK-1392-00-00 Add Start ▼▼▼
	/** テーブル(提供方式契約)*/
	private static final String D_TBL_NAME_KK_T_TK_HOSHIKI_KEI = "KK_T_TK_HOSHIKI_KEI";
	// ▲▲▲ ANK-1392-00-00 Add End   ▲▲▲
// 2014/07/03 ANK-2135-00-00 ADD START
	/** テーブル(申込時登録不可契約予約)*/
	private static final String D_TBL_NAME_KK_T_MKJ_ADDF_KEI_RV = "KK_T_MKJ_ADDF_KEI_RV";
// 2014/07/03 ANK-2135-00-00 ADD END
// 2014/07/28 IT1-2014-0000256 ADD START
	/** テーブル(申込時登録不可契約予約)*/
	private static final String D_TBL_NAME_KK_T_WRIB_SVC_KEI = "KK_T_WRIB_SVC_KEI";
// 2014/07/28 IT1-2014-0000256 ADD END
//ANK-4543-00-00_NTT卸対応：Step0 ADD START
	/** テーブル(NTT卸契約)*/
	private static final String D_TBL_NAME_KK_T_NTTORS_KEI = "KK_T_NTTORS_KEI";
//ANK-4543-00-00_NTT卸対応：Step0 ADD END
	// ANK-4493-00-00 ADD START
	/** テーブル(業務パラメータ管理) */
	private static final String D_TBL_NAME_ZM_M_WORK_PARAM_KNRI = "ZM_M_WORK_PARAM_KNRI";
	// ANK-4493-00-00 ADD END
//	/** SQL定義キー(KK_SELECT_002)*/
//	private static final String KK_T_TCHISHO_KK_SELECT_002 = "KK_SELECT_002";
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_SELECT_004 = "KK_SELECT_004";
	/** SQL定義キー(KK_SELECT_019)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_019 = "KK_SELECT_019";
// 2013.10.28 OM-2013-0003623 start
	/** SQL定義キー(KK_SELECT_275) */
	private static final String KK_T_SVC_KEI_KK_SELECT_275 = "KK_SELECT_275";
// 2013.10.28 OM-2013-0003623 end
	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_T_SVKEIUW_EOH_NET_KK_SELECT_007 = "KK_SELECT_007";
	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_OPSVKEI_ISP_KK_SELECT_016 = "KK_SELECT_016";
// 2013.10.28 OM-2013-0003623 start
	/** SQL定義キー(KK_SELECT_023) */
	private static final String KK_T_OPSVKEI_ISP_KK_SELECT_023 = "KK_SELECT_023";
// 2013.10.28 OM-2013-0003623 end
	/** SQL定義キー(KK_SELECT_002)*/
	private static final String CK_T_CUST_KK_SELECT_002 = "KK_SELECT_002";
	/** SQL定義キー(KK_SELECT_001)*/
	private static final String CK_T_CUST_GRP_SETTE_KK_SELECT_001 = "KK_SELECT_001";
	/** SQL定義キー(KK_SELECT_053)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_053 = "KK_SELECT_053";
	/** SQL定義キー(KK_SELECT_063)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_063 = "KK_SELECT_063";
	/** SQL定義キー(KK_SELECT_067)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_067 = "KK_SELECT_067";
	/** SQL定義キー(KK_SELECT_019)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_SELECT_019 = "KK_SELECT_019";
	/** SQL定義キー(KK_SELECT_013)*/
	private static final String KK_T_MSKM_DTL_KK_SELECT_013 = "KK_SELECT_013";
	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_M_PPLAN_KK_SELECT_004 = "KK_SELECT_004";
	/** SQL定義キー(KK_SELECT_080)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_080 = "KK_SELECT_080";
// ▼▼▼ 【OM-2013-0004184】 Add START ▼▼▼
	/** SQL定義キー(KK_SELECT_161)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_161 = "KK_SELECT_161";
// ▲▲▲ 【OM-2013-0004184】 Add END ▲▲▲
	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_SVKEIUW_EOADSL_KK_SELECT_003 = "KK_SELECT_003";
	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_ADSL_KOJI_KK_SELECT_006 = "KK_SELECT_006";
	// ANK-4493-00-00 ADD START
	/** SQL定義キー(KK_SELECT_035)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_035 = "KK_SELECT_035";
	// ANK-4493-00-00 ADD END
	/** SQL定義キー(KK_SELECT_098)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_098 = "KK_SELECT_098";
	/** SQL定義キー(KK_SELECT_099)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_099 = "KK_SELECT_099";
	/** SQL定義キー(KK_SELECT_077)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_077 = "KK_SELECT_077";
	/** SQL定義キー(KK_SELECT_141)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_141 = "KK_SELECT_141";
// 2014/07/03 ANK-2135-00-00 ADD START
	/** SQL定義キー(KK_SELECT_302)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_302 = "KK_SELECT_302";
	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_MKJ_ADDF_KEI_RV_KK_SELECT_001 = "KK_SELECT_001";
// 2014/07/03 ANK-2135-00-00 ADD END
// 2014/07/28 IT1-2014-0000256 ADD START
	/** SQL定義キー(KK_SELECT_062)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_062 = "KK_SELECT_062";
// 2014/07/28 IT1-2014-0000256 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";
//ANK-4543-00-00_NTT卸対応：Step0 ADD END
	// ANK-4493-00-00 ADD START
	/** SQL定義キー(KK_SELECT_017)*/
	private static final String ZM_M_WORK_PARAM_KNRI_KK_SELECT_017 = "KK_SELECT_017";
	/** SQL定義キー(KK_SELECT_301) */
	private static final String KK_T_SVC_KEI_KK_SELECT_301 = "KK_SELECT_301";
	/** テーブルアクセスクラス(業務パラメータ管理) */
	private JBSbatSQLAccess db_ZM_M_WORK_PARAM_KNRI = null;
	// ANK-4493-00-00 ADD END
	/** テーブルアクセスクラス(通知書)*/
	private JBSbatSQLAccess db_KK_T_TCHISHO = null;
	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光ネット＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_NET = null;
	/** テーブルアクセスクラス(オプションサービス契約＜ＩＳＰ＞)*/
	private JBSbatSQLAccess db_KK_T_OPSVKEI_ISP = null;
	/** テーブルアクセスクラス(お客様)*/
	private JBSbatSQLAccess db_CK_T_CUST = null;
	/** テーブルアクセスクラス(お客様グループ設定)*/
	private JBSbatSQLAccess db_CK_T_CUST_GRP_SETTE = null;
	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;
	/** テーブルアクセスクラス(申込明細)*/
	private JBSbatSQLAccess db_KK_T_MSKM_DTL = null;
	/** テーブルアクセスクラス(料金プラン)*/
	private JBSbatSQLAccess db_KK_M_PPLAN = null;
	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏＡＤＳＬ＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOADSL = null;
	/** テーブルアクセスクラス(ＡＤＳＬ工事)*/
	private JBSbatSQLAccess db_KK_T_ADSL_KOJI = null;
	/** テーブルアクセスクラス(回線使用契約物件)*/
	private JBSbatSQLAccess db_KK_T_KISNUSEKEI_BKN = null;
	/** テーブルアクセスクラス(提供方式契約)*/
	private JBSbatSQLAccess db_KK_T_TK_HOSHIKI_KEI = null;
// 2014/07/03 ANK-2135-00-00 ADD START
	/** テーブルアクセスクラス(申込時登録不可契約予約)*/
	private JBSbatSQLAccess db_KK_T_MKJ_ADDF_KEI_RV = null;
// 2014/07/03 ANK-2135-00-00 ADD END
// 2014/07/28 IT1-2014-0000256 ADD START
	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRIB_SVC_KEI = null;
// 2014/07/28 IT1-2014-0000256 ADD END
//ANK-4543-00-00_NTT卸対応：Step0 ADD START
	/** テーブルアクセスクラス(NTT卸契約)*/
	private JBSbatSQLAccess db_KK_T_NTTORS_KEI = null;
//ANK-4543-00-00_NTT卸対応：Step0 ADD END
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	/** テーブル(局番)*/
	private static final String D_TBL_NAME_ZM_M_KYOKU_NO = "ZM_M_KYOKU_NO";	
	
// 2013.10.15 OM-2013-0003217 add start	
	/** SQL定義キー(KK_SELECT_001)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_003 = "KK_SELECT_003";
	/** 住所変更番号*/
	private String ADCHG_NO = null;
// 2013.10.15 OM-2013-0003217 add end	

	/** テーブルアクセスクラス(局番)*/
	private JBSbatSQLAccess db_ZM_M_KYOKU_NO = null;
//	/** 通知書ステータス 受付済 */
//	private static final String TCHISHO_STAT_010 = "010";
	/** オプションサービスコード:電話番号通知 */
	private static final String OP_SVC_CD_B022 = "B022";
	/** 業務パラメータコード:FTPサーバURL */
	private static final String GYM_PRM_CD_FTP = "KK_SERVER_NM_FTP";
	/** 業務パラメータコード:POPサーバURL */
	private static final String GYM_PRM_CD_POP = "KK_SERVER_NM_POP";
	/** 業務パラメータコード:SMTPサーバURL */
	private static final String GYM_PRM_CD_SMTP = "KK_SERVER_NM_SMTP";
	/** 業務パラメータコード:IEEE802_1X_SSID */
	private static final String GYM_PRM_CD_IEEE802_1X_SSID = "KK_MB_IEEE802_SSID";
	/** 業務パラメータコード:WPA2_AES_SSID */
	private static final String GYM_PRM_CD_WPA2_AES_SSID = "KK_MB_WPA2_AES_SSID";
	/** 業務パラメータコード:WEP_SSID */
	private static final String GYM_PRM_CD_WEP_SSID = "KK_MB_WEP_SSID";
	/** 業務パラメータコード:WEPキー */
	private static final String GYM_PRM_CD_WEP_KEY = "KK_MB_WEP_KEY";
// 2014/07/03 ANK-2135-00-00 ADD START
	/** 業務パラメータコード:スターチャンネルセット */
	private static final String GYM_PRM_CD_STCH = "KK_IDTSP_PP_TBS_STCH";
// 2014/07/03 ANK-2135-00-00 ADD END
	// ANK-4493-00-00 ADD START
	/** 業務パラメータコード：マンション料金プランコード */
	private static final String GYM_PRM_CD_MANS_PPLAN = "MANS_PPLAN_CHG";
	// ANK-4493-00-00 ADD END
	/** 通知書内訳種別コード ID速報書情報 */
	private static final String TCHISHO_UCWK_SBT_CD_020 = "020";
	/** 通知書内訳種別コード eoID情報 */
	private static final String TCHISHO_UCWK_SBT_CD_030 = "030";
	/** 通知書内訳種別コード インターネット情報 */
	private static final String TCHISHO_UCWK_SBT_CD_040 = "040";
	/** 通知書内訳種別コード メール情報 */
	private static final String TCHISHO_UCWK_SBT_CD_050 = "050";
	/** 通知書内訳種別コード ホームページ情報 */
	private static final String TCHISHO_UCWK_SBT_CD_060 = "060";
	/** 通知書内訳種別コード eo光電話情報 */
	private static final String TCHISHO_UCWK_SBT_CD_070 = "070";
	/** 通知書内訳種別コード eo光テレビ情報 */
	private static final String TCHISHO_UCWK_SBT_CD_080 = "080";
	/** 通知書内訳種別コード eoモバイル情報 */
	private static final String TCHISHO_UCWK_SBT_CD_090 = "090";
	/** 通知書内訳種別コード eoメールアドレス情報 */
	private static final String TCHISHO_UCWK_SBT_CD_100 = "100";
	/** レコード種別 基本 */
	private static final String RCD_SBT_BASE = "91";
	/** レコード種別 オプション */
	private static final String RCD_SBT_OPTION = "92";
	/** レコード種別 トレーラ */
	private static final String RCD_SBT_TRAILER = "93";
	/** 通知書送付先コード 契約者住所 */
	private static final String TCHISHO_SOHUS_CD_KEI = "1";
	/** 通知書送付先コード 機器配送先住所 */
	private static final String TCHISHO_SOHUS_CD_KIKI = "2";
	/** 発信者番号通知 通知する */
	private static final String HSS_NO_NOTICE = "通知する";
	/** 発信者番号通知 通知しない */
	private static final String HSS_NO_NO_NOTICE = "通知しない";
	// 2013/9/13 OM-2013-0001948 Add Start
	/** 発信者番号通知コード 通知する */
	private static final String HSS_NO_NOTICE_CD = "1";
	/** 発信者番号通知コード 通知しない */
	private static final String HSS_NO_NO_NOTICE_CD = "2";
	// 2013/9/13 OM-2013-0001948 Add End
	/** 通知書種別コード:ｅｏ光登録証【ホーム／メゾン用】 */
	private static final String TCHISHO_SBT_3TS = "010";
	/** 通知書種別コード:ｅｏ光登録証【マンションプライベート用】*/
	private static final String TCHISHO_SBT_MP = "030";
	/** 通知書種別コード:ｅｏ光登録証【マンショングローバル用】*/
	private static final String TCHISHO_SBT_GL = "020";
	/** 通知書種別コード:ｅｏモバイル用登録証 */
	private static final String TCHISHO_SBT_MOBAL = "040";
	/** 通知書種別コード:ｅｏメールアドレス用登録証 */
	private static final String TCHISHO_SBT_MLADR = "050";
	/** 通知書種別コード:ｅｏＡＤＳＬ（フレッツ）用登録証) */
	private static final String TCHISHO_SBT_ADSL_F = "070";
	/** 通知書種別コード:ｅｏＡＤＳＬ（ｅＡｃｃｅｓｓ）用登録証 */
	private static final String TCHISHO_SBT_ADSL_E = "060";
	/** 機器提供種別コード 持込 */
	private static final String KKTK_SBT_CD_03 = "03";
	/** アドレス区分 送付先 */
	private static final String ADDRESS_KBN_SOHUS = "1";
	/** アドレス区分 設置先 */
	private static final String ADDRESS_KBN_SCS = "2";
	/** アドレス区分 契約者 */
	private static final String ADDRESS_KBN_KEISHA = "3";
	/** 通知書発行コード:新規発行 */
	private static final String TCHISHO_HAKKO_CD_NEW = "1";
	/** 通知書発行識別コード 1:発行 */
	private static final String TCHISHO_HAKKO_SHIKIBETSU_CD_1 = "1";
	/** 通知書発行識別コード 3:発行 */
	private static final String TCHISHO_HAKKO_SHIKIBETSU_CD_3 = "3";
	/** 通知書発行識別コード 4:プライベート物流倉庫連携 */
	private static final String TCHISHO_HAKKO_SHIKIBETSU_CD_4 = "4";
	
	// 2013/12/06 OM-2013-0004977 Add Start
	/** 通知書発行識別コード 2:守口印刷所連携 */
	private static final String TCHISHO_HAKKO_SHIKIBETSU_CD_2 = "2";
	/** 通知書発行識別コード 5:光ハイブリッド物流倉庫連携 */
	private static final String TCHISHO_HAKKO_SHIKIBETSU_CD_5 = "5";
	// 2013/12/06 OM-2013-0004977 Add End
	
	/** 宅内機器種別コード STB */
	private static final String TAKNKIKI_SBT_CD_STB = "A0";
	/** 通知書住所更新ファイル */
	private String tchishoAdrsUpdFile = null;
	/** 改行コード */
	private static final String CRLF  = "CR+LF";
	/** 文字コード */
	private static final String MS932  = "MS932";
	/** 通知書住所更新情報リスト */
	private ArrayList<HashMap<String, Object>> tchishoUpdAdrsInfoList = new ArrayList<HashMap<String,Object>>();
	/** 通知書内訳マップ */
	private HashMap<String, Object> svcKeiUcwkMap = new HashMap<String, Object>();
	// ANK-4493-00-00 ADD START
	/** マンション料金プラン変換マップ*/
	private Map<String, String> mansPplanChgMap = new HashMap<String, String>();
	// ANK-4493-00-00 ADD END
	/** 外部インターフェースファイルオブジェクト */
	private JBSbatOutputFileUtil outPutFile = null;
	/** テーブル(住所変更明細)*/
	private static final String D_TBL_NAME_KK_T_ADCHG_DTL = "KK_T_ADCHG_DTL";
	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_ADCHG_DTL_KK_SELECT_016 = "KK_SELECT_016";
	/** テーブルアクセスクラス(住所変更明細)*/
	private JBSbatSQLAccess db_KK_T_ADCHG_DTL = null;
	/** 住所変更中フラグ（値があれば住所変更前サービス契約番号）*/
	private String mJUHEN_FLG = null;
	/** 住所変更後に新規サービス追加された場合にセット（住所変更前サービス契約番号の代わり */
	private static final String BEFOR_SVC_KEI_NO_DUMMY = "NULLWORD";
	/** テーブル(異動予約)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSV = "KK_T_IDO_RSV";
	/** SQL定義キー(KK_SELECT_042)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_043 = "KK_SELECT_043";
// 2013.08.24 OM-2013-0000836 add start
	/** SQL定義キー(KK_SELECT_054)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_054 = "KK_SELECT_054";
// 2013.08.24 OM-2013-0000836 add end

	// 2013/12/06 OM-2013-0004977 Add Start
	/** SQL定義キー(KK_SELECT_062)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_062 = "KK_SELECT_062";
	
	/** テーブル(料金コース)*/
	private static final String D_TBL_NAME_KK_M_PCRS = "KK_M_PCRS";
	
	/** SQL定義キー(KK_SELECT_008)*/
	private static final String KK_M_PCRS_KK_SELECT_008 = "KK_SELECT_008";
	
	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;
	// 2013/12/06 OM-2013-0004977 Add End
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV = null;
// 2013.05.30 KT1-2013-0000595 add start
	/** 通知書番号退避用変数 */
	private String keepTchishoNo = null;
	/** KKIFE039002　出力件数(トレーラーレコード出力用) */
	private int dataCount = 0;
	/** KKIFM195002 */
	private JBSbatOutputItem outputItem = null;
	/** サービス契約内訳情報 */
	private JBSbatCommonDBInterface svcUcwkInfo = null;
	/** ワーク用 */
	private HashMap<String, Object> workMap = null;
	/** inMap.サービス契約番号 */
	private String svcKeiNo = null;
	/** inMap.サービス契約内訳番号 */
	private String svcKeiUcwkNo = null;
	/** inMap.サービスコード*/
	private String svcCd = null;
	/** inMap.SYS_ID */
	private String sysid = null;
	/** inMap.通知書番号 */
	private String tchishoNo = null;
	/** inMap.申込番号 */
	private String mskmDtlNo = null;
	/** KKIFM218002 */
	private JBSbatOutputFileUtil updAdrsInfoFile = null;
// 2013.05.30 KT1-2013-0000595 add end
	
	// 2013/9/16 OM-2013-0002020 Add Start
	/** 住所コード：未確定 */
	private static final String ADD_CD_NO_CFM = "00000000000";
	// 2013/9/16 OM-2013-0002020 Add End
	
	// 2013/9/22 OM-2013-0002424 Add Start
	/** SQL定義キー(KK_SELECT_055)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_055 = "KK_SELECT_055";
	/** VAポート番号有無フラグ */
	private boolean vaPortUmFlg = false;
	// 2013/9/22 OM-2013-0002424 Add End
	
	// 2013/10/31 OM-2013-0003656 Add Start
	/** 番ポあり */
	private static final String BMP_ARI = "1";

	/** 変更手続き中 */
	private static final String KEI_CHGECHU = "1";
	// 2013/10/31 OM-2013-0003656 Add End

	// 2013/09/27 OM-2013-0002611 add Start
	/** 電話解約用異動予約フラグ フラグが立つと住変時の電話異動予約あり */
	private boolean TEL_DSL_IDO_RSV_FLG = false;
	/** 料金コースコード（電話１番号）*/
	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";
	// 2013/09/27 OM-2013-0002611 add End
	// ANK-4493-00-00 ADD START
	/** 提供方式パターンコード（光配線コース変更可能）*/
	private static final String TK_HOSHIKI_PATTERN_CD_HHChrsChgPsbr = "53";
	// ANK-4493-00-00 ADD END
	// 2013/10/02 OM-2013-0002704 Add Start
	/** SQL定義キー(KK_SELECT_057)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_057 = "KK_SELECT_057";
	// 2013/10/02 OM-2013-0002704 Add End
	
	// 2013/12/06 OM-2013-0004977 Add Start
	/** 料金コースに紐づくID通知書発行識別コードマップ */
	private HashMap<String, String> mPCRS_SKBT_CD_LIST = null;
	// 2013/12/06 OM-2013-0004977 Add End

// 2013.12.22 OM-2013-0005289 add start
	/** 業務パラメータ管理からの共通情報 */ 
	private HashMap<String, Object> workParamMapIni = null;
// 2013.12.22 OM-2013-0005289 add end

// 2014/07/24 IT1-2014-0000246 ADD START
	/** 異動予約の申込明細番号 */
	private String mIdoMskmDtlNo = null;
// 2014/07/24 IT1-2014-0000246 ADD END
	// ANK-4075-00-00 ADD START
	/** スキームタイプリスト */
	private static List<String> scmTypeList = Arrays.asList(new String[]{"A", "B"});
	// ANK-4075-00-00 ADD END
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_TCHISHO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TCHISHO);
		db_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVKEIUW_EOH_NET = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_NET);
		db_KK_T_OPSVKEI_ISP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OPSVKEI_ISP);
		db_CK_T_CUST = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST);
		db_CK_T_CUST_GRP_SETTE = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CK_T_CUST_GRP_SETTE);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_MSKM_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM_DTL);
		db_KK_M_PPLAN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PPLAN);
		db_KK_T_SVKEIUW_EOADSL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOADSL);
		db_KK_T_ADSL_KOJI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADSL_KOJI);
		db_KK_T_KISNUSEKEI_BKN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KISNUSEKEI_BKN);
		db_KK_T_TK_HOSHIKI_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TK_HOSHIKI_KEI);
		db_ZM_M_KYOKU_NO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_KYOKU_NO);
		db_KK_T_ADCHG_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ADCHG_DTL);
		db_KK_T_IDO_RSV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		
		// 2013/12/06 OM-2013-0004977 Add Start
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		// 2013/12/06 OM-2013-0004977 Add End
		
// 2014/07/03 ANK-2135-00-00 ADD START
		db_KK_T_MKJ_ADDF_KEI_RV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MKJ_ADDF_KEI_RV);
// 2014/07/03 ANK-2135-00-00 ADD END
// 2014/07/28 IT1-2014-0000256 ADD START
		/** テーブルアクセスクラス(割引サービス契約)*/
		db_KK_T_WRIB_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRIB_SVC_KEI);
// 2014/07/28 IT1-2014-0000256 ADD END
//ANK-4543-00-00_NTT卸対応：Step0 ADD START
		/** テーブルアクセスクラス(NTT卸契約)*/
		db_KK_T_NTTORS_KEI =  new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_NTTORS_KEI);
//ANK-4543-00-00_NTT卸対応：Step0 ADD END
		// ANK-4493-00-00 ADD START
		/** テーブルアクセスクラス(業務パラメータ管理)*/
		db_ZM_M_WORK_PARAM_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_WORK_PARAM_KNRI);
		// ANK-4493-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
// 2013.05.30 KT1-2013-0000595 add start
		createCsvFiles();
// 2013.05.30 KT1-2013-0000595 add end
		
		// 2013/12/06 OM-2013-0004977 Add Start
		this.mPCRS_SKBT_CD_LIST = new HashMap<String, String>();
		// 2013/12/06 OM-2013-0004977 Add End

// 2013.12.22 OM-2013-0005289 add start
		// --------------------------------------------------------------
		// 業務パラメータ管理から共通情報を取得する。
		// --------------------------------------------------------------
		this.workParamMapIni = new HashMap<String, Object>();
		getWorkParamKanri(workParamMapIni);
// 2013.12.22 OM-2013-0005289 add end
		
		// ANK-4493-00-00 ADD START
		// 料金プランダミーコードのマップを取得
		setPplanChgMap();
		// ANK-4493-00-00 ADD END

	}

	/**
	 * ファイルを作成します。
	 * シェルからフリーパラメータで受け取ったファイルパスを元にファイルを作成します。
	 * @throws Exception
	 * @throws IOException
	 */
	private void createCsvFiles() throws Exception, IOException {
		// 外部インターフェースファイルパス
		String[] mFREE_ITEM = super.freeItem.split(";");
		String gaibu_FilePath = mFREE_ITEM[mFREE_ITEM.length - 1];

		// フリー項目より住所変更情報ファイルのフルパスを取得
		this.tchishoAdrsUpdFile = mFREE_ITEM[0];
		
		// KKIFE039002ファイル作成
		this.outPutFile = new JBSbatOutputFileUtil(gaibu_FilePath);
		this.outPutFile.setEncode(JKKBatConst.SJIS);
		this.outPutFile.setLine(CRLF);
		this.outPutFile.createWriter();
		
		// KKIFM218002ファイル作成
		updAdrsInfoFile = new JBSbatOutputFileUtil(this.tchishoAdrsUpdFile);
		updAdrsInfoFile.setEncode(MS932);
		updAdrsInfoFile.setLine(CRLF);
		updAdrsInfoFile.createWriter();
	}
//	private int cnt = 0;
	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
// 2013.05.30 KT1-2013-0000595 del start
// ↓↓↓ initialに移動 ↓↓↓
//		// 外部インターフェースファイルパス
//		String[] mFREE_ITEM = super.freeItem.split(";");
//		String gaibu_FilePath = mFREE_ITEM[mFREE_ITEM.length - 1];
//
//		// フリー項目より住所変更情報ファイルのフルパスを取得
//		this.tchishoAdrsUpdFile = mFREE_ITEM[0];
//		
//		this.outPutFile = new JBSbatOutputFileUtil(gaibu_FilePath);
//		this.outPutFile.setEncode(JKKBatConst.SJIS);
//		this.outPutFile.setLine(CRLF);
//		this.outPutFile.createWriter();
// ↑↑↑ initialに移動 ↑↑↑
// ↓↓↓　クラス変数に変更　↓↓↓
//		JBSbatOutputItem outputItem = new JBSbatOutputItem();
//		//JBSbatCommonDBInterface tchishoInfo = null;
//		JBSbatCommonDBInterface svcUcwkInfo = null;
//		HashMap<String, Object> workMap = null;
//		String svcKeiNo = null;
//		String svcKeiUcwkNo = null;
//		String svcCd = null;
//		String sysid = null;
//		String tchishoNo = null;
//		String mskmDtlNo = null;
//		String keepTchishoNo = null;
//		int dataCount = 0;
// ↑↑↑　クラス変数に変更　↑↑↑	
// ↓↓↓　外出し　↓↓↓
//		// 通知対象のデータを検索する。
//		String[] param = new String[]{TCHISHO_STAT_010, super.opeDate,
//				JKKBatConst.CD_SBT_SVC_KEI_STAT_020, JKKBatConst.CD_SBT_SVC_KEI_STAT_030, 
//				JKKBatConst.CD_SBT_SVC_KEI_STAT_100, JKKBatConst.CD_SBT_SVC_KEI_STAT_210, 
//				JKKBatConst.CD_SBT_SVC_KEI_STAT_220, super.opeDate, super.opeDate};
//		List<JBSbatCommonDBInterface> tchishoList = executeKK_T_TCHISHO_KK_SELECT_002(param);
// ↑↑↑　外出し　↑↑↑
// 2013.05.30 KT1-2013-0000595 del end
// 2013.12.22 OM-2013-0005289 del start （下に移動）
//		String[] param = null;
// ↓↓↓　初期化　↓↓↓
//
//		outputItem = new JBSbatOutputItem();
//
//		// 2013/10/02 OM-2013-0002704 Add Start
//		String keizkMtSvcKeiUcwkNo = null;
//		// 2013/10/02 OM-2013-0002704 Add End
//		
//		// 2013/10/31 OM-2013-0003656 Add Start
//		String svcKeiUcwkStat = null;
//		String keizkAfKeiShgechuFlg = null;
//		// 2013/10/31 OM-2013-0003656 Add End
//
//		// --------------------------------------------------------------
//		// 業務パラメータ管理から共通情報を取得する。
//		// --------------------------------------------------------------
//		HashMap<String, Object> workParamMap = new HashMap<String, Object>();
//		getWorkParamKanri(workParamMap);
// 2013.12.22 OM-2013-0005289 del end （下に移動）

		// --------------------------------------------------------------
		// 通知対象検索結果の件数分、ループ処理を行ない各種情報を検索する。
		// --------------------------------------------------------------
// 2013.05.30 KT1-2013-0000595 mod start　ループ処理をはずしました。
//		JBSbatCommonDBInterface tchishoInfo = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface tchishoInfo = setTchishoInfo(inMap);
		// ANK-4493-00-00 ADD START
		// 提供方式契約番号を取得
		String tkHoshikiKeiyakuNo = null;
		svcKeiNo = tchishoInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO);
		JBSbatCommonDBInterface tkhoshikiInfo = this.executeKK_T_SVC_KEI_KK_SELECT_301(svcKeiNo);
		tkHoshikiKeiyakuNo = tkhoshikiInfo.getString(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO);
		// ANK-4493-00-00 ADD END
		//ANK-4543-00-00_NTT卸対応：Step0 ADD START
		//取得したサービス契約番号がNTT卸契約のテーブルに存在する場合はスキップする
		List<JBSbatCommonDBInterface> listNTT = this.executeKK_T_NTTORS_KEI_KK_SELECT_001( new Object[]{ JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SVC_KEI_NO))});
		if(listNTT != null && listNTT.size() > 0) 
		{
			return null;
		}
		////ANK-4543-00-00_NTT卸対応：Step0 ADD END
// 2013.12.22 OM-2013-0005289 mod start
		// 料金コースを見て（コース変更があればコース変更後の料金コース）、ID通知書の出力を判断する。
		if (! isHakkoTarget(tchishoInfo)) {
			// 対象外なので、nullでリターンする。
			return null;
		}
		
		String[] param = null;
		// ↓↓↓　初期化　↓↓↓
		outputItem = new JBSbatOutputItem();

		// 2013/10/02 OM-2013-0002704 Add Start
		String keizkMtSvcKeiUcwkNo = null;
		// 2013/10/02 OM-2013-0002704 Add End
		
		// 2013/10/31 OM-2013-0003656 Add Start
		String svcKeiUcwkStat = null;
		String keizkAfKeiShgechuFlg = null;
		// 2013/10/31 OM-2013-0003656 Add End

		// --------------------------------------------------------------
		// 業務パラメータ管理から共通情報を取得する。
		// --------------------------------------------------------------
		HashMap<String, Object> workParamMap = this.workParamMapIni;
// 2013.12.22 OM-2013-0005289 mod end
		
		tchishoNo = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO));
		mskmDtlNo = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));
		svcKeiNo = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SVC_KEI_NO));

		// 住所変更中フラグをリセット
		this.mJUHEN_FLG = null;
		
// 2013.10.15 OM-2013-0003217 add start
		// 住所変更番号をリセット
		this.ADCHG_NO = null;
//2013.10.15 OM-2013-0003217 add end

		
		//####################
		//# 住所変更チェック #
		//####################
		JBSbatCommonDBInterface adcgh_params = new JBSbatCommonDBInterface();
		adcgh_params.setValue(svcKeiNo);
		this.db_KK_T_ADCHG_DTL.selectBySqlDefine(adcgh_params, KK_T_ADCHG_DTL_KK_SELECT_016);
		JBSbatCommonDBInterface result = this.db_KK_T_ADCHG_DTL.selectNext();
		// 住所変更されたサービス契約番号かチェック
		if(result != null)
		{
			// 住所変更前のサービス契約番号を取得
			String befor_no = result.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO);
			
// 2013.10.15 OM-2013-0003217 add start
			// 住所変更番号を取得
			this.ADCHG_NO = result.getString(JBSbatKK_T_ADCHG_DTL.ADCHG_NO);
// 2013.10.15 OM-2013-0003217 add end
			
			// 住所変更中フラグを立てる（住所変更前サービス契約番号保持）
			if(befor_no != null && !"".equals(befor_no))
			{
				this.mJUHEN_FLG = befor_no;
			}
			else
			{
				// 住所変更前番号がないので住所変更判断用にダミーを入れておく
				this.mJUHEN_FLG = BEFOR_SVC_KEI_NO_DUMMY;
			}
		}
		
		// 申込明細番号がない場合、ファイルに出力しない
		if (null == mskmDtlNo || "".equals(mskmDtlNo))
		{
			return null;
		}
		
		// ID通知書発行識別コードが「3：発行」で通知書発行コードが「1：新規発行」の場合
		if (TCHISHO_HAKKO_SHIKIBETSU_CD_3.equals(
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD))
				&& TCHISHO_HAKKO_CD_NEW.equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD)))
		{
			// --------------------------------------------------------------
			// ファイル抽出対象のサービス契約かを判断する。
			// --------------------------------------------------------------
			// サービス契約に紐づく機器提供サービス契約のデータを取得する。
			param = new String[]{svcKeiNo, super.opeDate};
			List<JBSbatCommonDBInterface> kikiList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_063(param);
			
			if (null == kikiList || kikiList.isEmpty())
			{
				// サービス契約回線内訳に紐づく機器提供サービス契約のデータを取得する
				param = new String[]{svcKeiNo, super.opeDate, super.opeDate, super.opeDate};
				kikiList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_098(param);
			}
			
			if (null == kikiList || kikiList.isEmpty())
			{
				// サービス契約内訳に紐づく機器提供サービス契約のデータを取得する
				param = new String[]{svcKeiNo, super.opeDate, super.opeDate};
				kikiList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_099(param);
			}
			
			if (null != kikiList && !kikiList.isEmpty())
			{
				JBSbatCommonDBInterface kikiInfo = null;
				boolean noTargetFlg = true;
				String kktkSbtCd = null;
				for (int j = 0; j < kikiList.size(); j++)
				{
					kikiInfo = kikiList.get(j);
					kktkSbtCd = kikiInfo.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD);
					
					if (KKTK_SBT_CD_03.equals(kktkSbtCd))
					{
						noTargetFlg = false;
						break;
					}
				}
				
				// 機器提供種別コードが「03:持込」であれば、連携対象とする。
				if (noTargetFlg)
				{
					StringBuilder sb = new StringBuilder();
					sb.append("サービス契約番号：");
					sb.append(svcKeiNo);
					sb.append("は持込機器ではないため、出力対象外です。");
					
					// デバッグログ出力
					super.logPrint.printDebugLog(sb.toString());
					return null;
				}
			}
		}
		
		// 料金グループコードがeoＡＤＳＬ（ｅＡｃｃｅｓｓ）の場合
		if (JBSbatKKConst.PGRP_ADSL_05.equals(tchishoInfo.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD)))
		{
			param = new String[] {svcKeiNo};
			List<JBSbatCommonDBInterface> adslKojiList = executeKK_T_ADSL_KOJI_KK_SELECT_006(param);
			boolean noTargetFlg = true;
			
			if (null == adslKojiList || adslKojiList.isEmpty())
			{
				//continue;
				return null;
			}
			JBSbatCommonDBInterface adslKojiInfo = null;
			String adslNinshoId = null;
			for (int j = 0; j < adslKojiList.size(); j++)
			{
				adslKojiInfo = adslKojiList.get(j);
				adslNinshoId = adslKojiInfo.getString(JBSbatKK_T_ADSL_KOJI.ADSL_NINSHO_ID);
				
				if (null != adslNinshoId && !"".equals(adslNinshoId))
				{
					noTargetFlg = false;
					break;
				}
			}
			
			if (noTargetFlg)
			{
				return null;
			}
		}
		
		svcKeiNo = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SVC_KEI_NO));
		// 2013/10/08 OM-2013-0003121 Mod Start
		//sysid = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SYSID));
		sysid = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_SVC_KEI.SYSID));
		// 2013/10/08 OM-2013-0003121 Mod End
		svcCd = JBSbatStringUtil.Rtrim(tchishoInfo.getString(JBSbatKK_T_SVC_KEI.SVC_CD));

		// --------------------------------------------------------------
		// サービス契約情報を取得する。
		// --------------------------------------------------------------
		workMap = new HashMap<String, Object>();
		param = new String[]{ svcKeiNo, super.opeDate };
		// ANK-4493-00-00 MOD START
		// 提供方式契約番号を引数に追加
		//List<JBSbatCommonDBInterface> svcKeiList = executeKK_T_SVC_KEI_KK_SELECT_019(param,
		//		tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD));
		List<JBSbatCommonDBInterface> svcKeiList = executeKK_T_SVC_KEI_KK_SELECT_019(param,
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
				tkHoshikiKeiyakuNo);
		// ANK-4493-00-00 MOD END
		workMap.put(D_TBL_NAME_KK_T_SVC_KEI, svcKeiList);
		
		// --------------------------------------------------------------
		// サービス契約内訳情報を取得する。
		// --------------------------------------------------------------
		param = new String[]{svcKeiNo, super.opeDate};
		List<JBSbatCommonDBInterface> svcUcwkList = executeKK_T_SVC_KEI_UCWK_KK_SELECT_067(param);
		
		// --------------------------------------------------------------
		// サービス契約内訳<eo光電話>を取得
		// --------------------------------------------------------------
		param = new String[]{svcKeiNo, super.opeDate};
		List<JBSbatCommonDBInterface> svcUcwkTelList = executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_019(param, svcUcwkList);
		
		// v4.08 IT1-2013-0000241 ADD START
		svcKeiUcwkMap = new HashMap<String, Object>();
		svcKeiUcwkMap.put(D_TBL_NAME_KK_T_SVC_KEI_UCWK, svcUcwkList);
		// v4.08 IT1-2013-0000241 ADD END

		if (null != svcUcwkList && !svcUcwkList.isEmpty())
		{
			for (int j = 0; j < svcUcwkList.size(); j++)
			{
				// 継続元サービス契約内訳番号の初期化
				keizkMtSvcKeiUcwkNo = null;
				// 2013/10/02 OM-2013-0002704 Add End
				
				// 2013/10/31 OM-2013-0003656 Add Start
				svcKeiUcwkStat = null;
				keizkAfKeiShgechuFlg = null;
				// 2013/10/31 OM-2013-0003656 Add End

				// 2013/10/31 OM-2013-0003656 Add Start
				// 継続元サービス契約内訳番号・サービス契約内訳ステータス・継続後契約変更手続中フラグを既存判定条件の外で取得するように修正
				if (JKKBatConst.SVC_CD_TEL.equals(svcCd))
				{
					JBSbatCommonDBInterface svcUcwkTelInfo_old = svcUcwkTelList.get(j);
					svcKeiUcwkNo = svcUcwkTelInfo_old.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
					svcUcwkInfo = getSvcUcwkInfo(svcUcwkList, svcKeiUcwkNo);

					// 継続元サービス契約内訳番号を取得
					keizkMtSvcKeiUcwkNo = svcUcwkTelInfo_old.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO);
					
					//サービス契約内訳ステータスを取得
					svcKeiUcwkStat = svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT);
					
					//継続後契約変更手続中フラグを取得
					keizkAfKeiShgechuFlg = svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG);
				}
				
				// 2013/10/31 OM-2013-0003656 Add End
				
				// サービスが光電話で、サービス契約内訳が複数存在する場合、
				// eo光電話2番号であるため、電話番号順に処理する。
				if (JKKBatConst.SVC_CD_TEL.equals(svcCd) && 1 < svcUcwkList.size())
				{
					JBSbatCommonDBInterface svcUcwkTelInfo = svcUcwkTelList.get(j);
					svcKeiUcwkNo = svcUcwkTelInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
					svcUcwkInfo = getSvcUcwkInfo(svcUcwkList, svcKeiUcwkNo);
					// 2013/10/02 OM-2013-0002704 Add Start
					// 2013/10/21 OM-2013-0003228 Mod Start
					// サービス契約内訳情報が照査済・締結済・サービス提供中以外の場合
					//if(!JKKBatConst.CD_SBT_SVC_KEI_STAT_100.equals(svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT))){

					// 2013/10/31 OM-2013-0003656 Del Start
					// サービス契約内訳ステータスの判定条件と継続元サービス契約内訳番号の設定を削除
//					if ((!JKKBatConst.CD_SBT_SVC_KEI_STAT_020.equals(svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT))) &&
//						(!JKKBatConst.CD_SBT_SVC_KEI_STAT_030.equals(svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT))) &&
//						(!JKKBatConst.CD_SBT_SVC_KEI_STAT_100.equals(svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT))))
//					{
					// 2013/10/21 OM-2013-0003228 Mod End
						// 継続元サービス契約内訳番号を取得
//						keizkMtSvcKeiUcwkNo = svcUcwkTelInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO);
//					}
					// 2013/10/31 OM-2013-0003656 Del End

					// 2013/10/02 OM-2013-0002704 Add End
				}
				else
				{
					// --ST1-2012-0000553--MOD--
					// 電話以外のサービス契約内訳が2件以上ある場合、2件目以上は無視する
					if (0 < j)
					{
						break;
					}
					// --ST1-2012-0000553--MOD--
					svcUcwkInfo = svcUcwkList.get(j);
					svcKeiUcwkNo = svcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				}
		
				// 作業マップを作成する。
				workMap = new HashMap<String, Object>();
				
				// 各種情報を取得する。
				// 2013/8/28 OM-2013-0001203 Mod Start
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, sysid,
//						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD));
				// 2013/10/02 OM-2013-0002704 Mod Start
				// 継続元サービス契約内訳番号を引数に追加
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, sysid,
//						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//						tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));

				// 2013/10/31 OM-2013-0003656 Mod Start
				// サービス契約内訳ステータス・継続後契約変更手続中フラグを引数に追加
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, keizkMtSvcKeiUcwkNo, sysid,
//						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//						tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));
				
				// 2013/11/19 OM-2013-0003310 Mod Start
				// サービス契約内訳<eo光電話>を引数に追加
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, keizkMtSvcKeiUcwkNo, sysid,
//						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//						tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
//						svcKeiUcwkStat,
//						keizkAfKeiShgechuFlg);
				// ANK-4493-00-00 MOD START
				// 提供方式契約番号を引数に追加
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, keizkMtSvcKeiUcwkNo, sysid,
//						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//						tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
//						svcKeiUcwkStat,
//						keizkAfKeiShgechuFlg,
//						svcUcwkTelList);
				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, keizkMtSvcKeiUcwkNo, sysid,
						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
						svcKeiUcwkStat,
						keizkAfKeiShgechuFlg,
						svcUcwkTelList,
						tkHoshikiKeiyakuNo);
				// ANK-4493-00-00 MOD END
				// 2013/11/19 OM-2013-0003310 Mod End
				
				// 2013/10/31 OM-2013-0003656 Mod End
				
				// 2013/10/02 OM-2013-0002704 Mod End
				// 2013/8/28 OM-2013-0001203 Mod End
				
				// 2013/09/27 OM-2013-0002611 add Start
				changeCd(workMap, svcUcwkTelList.size());
				// 2013/09/27 OM-2013-0002611 add End
				
				// --------------------------------------------------------------
				// 各情報の検索結果から内部連携ファイル出力用のオブジェクトを作成する
				// --------------------------------------------------------------
				if (0 == j)
				{
					// 通知書番号1件につき、１レコードでよいため、処理を切り分ける
					if (null == keepTchishoNo || !keepTchishoNo.equals(tchishoNo))
					{
						// ID速報書情報
						setIdSokuhoInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
						// eoID情報
						setEoIdInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					}
					// インターネット情報
					setInterNetInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					// メール情報
					setMailInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					// ホームページ情報
					setHomePageInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
				}
				
				// eo光電話情報
				setTelInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo, svcKeiUcwkNo);
				
				if (0 == j)
				{
					// eo光テレビ情報
					setTvInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					// eoモバイルWi-Fi接続情報
					setMobileInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					
					// ◆◆◆【IT1-2013-0000241】eoメールアドレス出力 M.IKUMA ◆◆◆
					// eoメールアドレス情報
					setEoMailInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
					// ◆◆◆【IT1-2013-0000241】eoメールアドレス出力         ◆◆◆
				}
				
				// --------------------------------------------------------------
				// 各情報の検索結果から外部連携ファイル出力用のオブジェクトを作成する
				// --------------------------------------------------------------
//OM-2016-0002236 MOD START
//				dataCount = setOutPutData(workMap, workParamMap, tchishoInfo, svcKeiUcwkNo, dataCount);
				// ANK-4075-00-00 ADD START
				if (!scmTypeList.contains(getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SCM_TYPE_CD)))
				{
				// ANK-4075-00-00 ADD END
					dataCount = setOutPutData(workMap, workParamMap, tchishoInfo, svcKeiUcwkNo, dataCount, outputItem);
				// ANK-4075-00-00 ADD START
				}
				// ANK-4075-00-00 ADD END
//OM-2016-0002236 MOD END
				
				// 出力済の通知書番号を保持する
				keepTchishoNo = tchishoNo;
			}
		}
		else
		{
// 2013.08.22 OM-2013-0000669 add start
			svcKeiUcwkNo = null;
// 2013.08.22 OM-2013-0000669 add end
			// 各種情報を取得する。
			// 2013/8/28 OM-2013-0001203 Mod Sta
//			getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, sysid,
//					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD));
			// 2013/10/02 OM-2013-0002704 Mod Start
			// 継続元サービス契約内訳番号を引数に追加
//			getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, sysid,
//					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//					tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));

			// 2013/10/31 OM-2013-0003656 Mod Start
			// サービス契約内訳ステータス・継続後契約変更手続中フラグを引数に追加
//			getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, null, sysid,
//					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//					tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));

			// 2013/11/19 OM-2013-0003310 Mod Start
			// サービス契約内訳<eo光電話>を引数に追加
//			getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, null, sysid,
//					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//					tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
//					null,
//					null);
			// ANK-4493-00-00 MOD START
			// 提供方式契約番号を引数に追加
//				getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, null, sysid,
//				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
//				tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
//				null,
//				null,
//				null);
			getInfoForOutput(workMap, svcKeiNo, svcKeiUcwkNo, null, sysid,
					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO),
					null,
					null,
					null,
					tkHoshikiKeiyakuNo);
			// ANK-4493-00-00 MOD END
			// 2013/11/19 OM-2013-0003310 Mod End
			
			// 2013/10/31 OM-2013-0003656 Mod End

			// 2013/10/02 OM-2013-0002704 Mod End
			// 2013/8/28 OM-2013-0001203 Mod End
			
			// 通知書番号1件につき、１レコードでよいため、処理を切り分ける
			if (null == keepTchishoNo || !keepTchishoNo.equals(tchishoNo))
			{
				// ID速報書情報
				setIdSokuhoInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
				// eoID情報
				setEoIdInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			}
			// インターネット情報
			setInterNetInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			// メール情報
			setMailInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			// ホームページ情報
			setHomePageInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			// eo光電話情報
			setTelInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo, svcKeiUcwkNo);
			// eo光テレビ情報
			setTvInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			// eoモバイルWi-Fi接続情報
			setMobileInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);

			// ◆◆◆【IT1-2013-0000241】eoメールアドレス出力 M.IKUMA ◆◆◆
			// eoメールアドレス情報
			setEoMailInfo(outputItem, workMap, workParamMap, tchishoInfo, svcKeiNo);
			// ◆◆◆【IT1-2013-0000241】eoメールアドレス出力         ◆◆◆

			// --------------------------------------------------------------
			// 各情報の検索結果から外部連携ファイル出力用のオブジェクトを作成する
			// --------------------------------------------------------------
//OM-2016-0002236 MOD START
//			dataCount = setOutPutData(workMap, workParamMap, tchishoInfo, svcKeiUcwkNo, dataCount);
			// ANK-4075-00-00 ADD START
			if (!scmTypeList.contains(getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SCM_TYPE_CD)))
			{
			// ANK-4075-00-00 ADD END
				dataCount = setOutPutData(workMap, workParamMap, tchishoInfo, svcKeiUcwkNo, dataCount, outputItem);
			// ANK-4075-00-00 ADD START
			}
			// ANK-4075-00-00 ADD END
//OM-2016-0002236 MOD END
			
			// 出力済の通知書番号を保持する
			keepTchishoNo = tchishoNo;
		}
// 2013.05.30 KT1-2013-0000595 mod end ループ処理をはずしました。
// 2013.05.30 KT1-2013-0000595 del start
// ↑↑↑ 修正前のループ処理の終了 ↑↑↑
// ↓↓↓ terminalに処理を移動します。 ↓↓↓
//		StringBuilder str = new StringBuilder();
//		appendStr(str, RCD_SBT_TRAILER, 2, true, true);
//		appendStr(str, new StringBuilder().append(dataCount + 1).toString(), 6, true, true);
//		appendStr(str, super.opeDate, 8, false, true);
//		this.outPutFile.write(str.toString());
// ↑↑↑ terminalに処理を移動します。 ↑↑↑
		
		// 更新住所情報ファイルを作成し、更新住所情報を出力
// ↓↓↓ クラス変数に変更 ↓↓↓
//			JBSbatOutputFileUtil updAdrsInfoFile = new JBSbatOutputFileUtil(this.tchishoAdrsUpdFile);
// ↑↑↑ クラス変数に変更 ↑↑↑
//		updAdrsInfoFile = new JBSbatOutputFileUtil(this.tchishoAdrsUpdFile);
//		updAdrsInfoFile.setEncode(MS932);
//		updAdrsInfoFile.setLine(CRLF);
//		updAdrsInfoFile.createWriter();
//		this.writeKKIFM218002();
//		updAdrsInfoFile.close();
//		this.outPutFile.close();
// ↑↑↑ terminalに移動 ↑↑↑
// 2013.05.30 KT1-2013-0000595 del end
		return outputItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	//ANK-4543-00-00_NTT卸対応：Step0 ADD START 
	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 	 	サービス契約番号
	 * </pre>
	 * <p>
	 * 
	 * @param param
	 *            サービス契約番号。
	 * @return list
	 * @throws Exception
	 *             業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> 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);

		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_NTTORS_KEI.selectNext();

		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_NTTORS_KEI.selectNext();
		}

		return list;
	}
	//ANK-4543-00-00_NTT卸対応：Step0 ADD END
	
	// 2013.12.22 OM-2013-0005289 add start
	/**
	 * コース変更がある場合はコース変更後、なければそのままの料金コースから、
	 * ID通知書発行識別を見てID通知書出力有無を判断します。
	 * @param tchishoInfo
	 * @return true: 出力する。 false:出力しない。
	 * @throws Exception
	 */
	private boolean isHakkoTarget(JBSbatCommonDBInterface tchishoInfo) throws Exception
	{
		// 2013/12/06 OM-2013-0004977 Add Start
		// コース変更予約がある場合、ID通知書発行識別コードをコース変更後の料金で置き換える
		Object[] param_KK_T_IDO_RSV = { tchishoInfo.getValue(JBSbatKK_T_TCHI_TG_BPIN.SVC_KEI_NO) };
		this.executeKK_T_IDO_RSV_KK_SELECT_062(param_KK_T_IDO_RSV);
		JBSbatCommonDBInterface result_KK_T_IDO_RSV = db_KK_T_IDO_RSV.selectNext();
		
		if (result_KK_T_IDO_RSV != null)
		{
			// HashMapに取得済みのID通知書発行識別コードが存在するかどうかを確認する
			String newPcrsCd = result_KK_T_IDO_RSV.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD);
			if (newPcrsCd != null) {
				String newIdtchishoHakSkbtCd = this.mPCRS_SKBT_CD_LIST.get(newPcrsCd);
				
				if (newIdtchishoHakSkbtCd == null)
				{
					this.setIdTchishoHakSkbtCd(newPcrsCd);
					newIdtchishoHakSkbtCd = this.mPCRS_SKBT_CD_LIST.get(newPcrsCd);
				}
				
				if (newIdtchishoHakSkbtCd != null)
				{
					tchishoInfo.setValue(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD , newIdtchishoHakSkbtCd);
				}
			}
		}
		
		// ID通知書発行識別コードが通知書発行対象外の場合はスキップする
		String tchishoHakkoCd = (String)tchishoInfo.getValue(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD);
		String idTchishoHakSkbtCd = (String)tchishoInfo.getValue(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD);
		
		// 通知書発行コードが新規発行（１）の場合
		if (TCHISHO_HAKKO_CD_NEW.equals(tchishoHakkoCd))
		{
			if ((!TCHISHO_HAKKO_SHIKIBETSU_CD_2.equals(idTchishoHakSkbtCd)) &&
				(!TCHISHO_HAKKO_SHIKIBETSU_CD_3.equals(idTchishoHakSkbtCd)))
			{
				// ANK-4174-00-00 ADD START
				String tchishoPrintJssiSkCd = (String)tchishoInfo.getValue(JBSbatKK_T_TCHISHO.TCHISHO_PRINT_JSSI_SK_CD);
				// ANK-4240-00-00 MOD START
				// if(!"01".equals(tchishoPrintJssiSkCd))
				if(!("01".equals(tchishoPrintJssiSkCd) && TCHISHO_HAKKO_SHIKIBETSU_CD_1.equals(idTchishoHakSkbtCd)))
				// ANK-4240-00-00 MOD END
				{
				// ANK-4174-00-00 ADD END
					return false;
				// ANK-4174-00-00 ADD START
				}
				// ANK-4174-00-00 ADD END
			}
		}
		else
		{
			// 通知書発行コードが再発行（２）／レター同梱（３）／再発行（レター同梱）（４）の場合
			if ((!TCHISHO_HAKKO_SHIKIBETSU_CD_1.equals(idTchishoHakSkbtCd)) &&
				(!TCHISHO_HAKKO_SHIKIBETSU_CD_2.equals(idTchishoHakSkbtCd)) &&
				(!TCHISHO_HAKKO_SHIKIBETSU_CD_3.equals(idTchishoHakSkbtCd)) &&
				(!TCHISHO_HAKKO_SHIKIBETSU_CD_4.equals(idTchishoHakSkbtCd)) &&
				(!TCHISHO_HAKKO_SHIKIBETSU_CD_5.equals(idTchishoHakSkbtCd)))
			{
				return false;
			}
		}
		return true;
	}
// 2013.12.22 OM-2013-0005289 add end
	
	/** 料金グループコード eoメールアドレス .*/
	private static final String PRC_GRP_CD_ML = "16";

	private void setEoMailInfo(JBSbatOutputItem outputItem,
			HashMap<String, Object> workMap,
			HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception
	{
		// サービスコード取得
		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		// 料金グループコード取得
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// サース契約がeoメールアドレスかチェック
		if (!PRC_GRP_CD_ML.equals(prcGrpCd))
		{
			// 出力対象外なので抜ける
			return;
		}
		
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		// サービス契約出力項目
		setSvcKeiOutPutInfo(
				outMap, workMap, svcCd, prcGrpCd, 
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD), svcKeiNo);
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_100);
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲

		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_TCHISHO.close();
		db_KK_T_SVKEIUW_EOH_TEL.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVKEIUW_EOH_NET.close();
		db_KK_T_OPSVKEI_ISP.close();
		db_CK_T_CUST.close();
		db_CK_T_CUST_GRP_SETTE.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_MSKM_DTL.close();
		db_KK_M_PPLAN.close();
		db_KK_T_KISNUSEKEI_BKN.close();
		db_KK_T_ADCHG_DTL.close();
		db_KK_T_TK_HOSHIKI_KEI.close();
		db_ZM_M_KYOKU_NO.close();
		
		// 2013/12/06 OM-2013-0004977 Add Start
		db_KK_M_PCRS.close();
		// 2013/12/06 OM-2013-0004977 Add End

// 2014/07/03 ANK-2135-00-00 ADD START
		db_KK_T_MKJ_ADDF_KEI_RV.close();
// 2014/07/03 ANK-2135-00-00 ADD END
// 2014/07/28 IT1-2014-0000256 ADD START
		db_KK_T_WRIB_SVC_KEI.close();
// 2014/07/28 IT1-2014-0000256 ADD END
//ANK-4543-00-00_NTT卸対応：Step0 ADD START
		db_KK_T_NTTORS_KEI.close();
//ANK-4543-00-00_NTT卸対応：Step0 ADD END
		// ANK-4493-00-00 ADD START
		db_ZM_M_WORK_PARAM_KNRI.close();
		// ANK-4493-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
// 2013.05.30 KT1-2013-0000595 add start
		// ファイル出力処理
		writeKKIFE039002();
		writeKKIFM218002();
// 2013.05.30 KT1-2013-0000595 add end
	}

	/**
	 * KKIFE039002CSV書き込み処理
	 * @throws Exception
	 */
	private void writeKKIFE039002() throws Exception {
		StringBuilder str = new StringBuilder();
		appendStr(str, RCD_SBT_TRAILER, 2, true, true);
		appendStr(str, new StringBuilder().append(dataCount + 1).toString(), 6, true, true);
		appendStr(str, super.opeDate, 8, false, true);
		this.outPutFile.write(str.toString());
		this.outPutFile.close();
	}
	
	/**
	 * KKIFM218002CSV書き込み処理
	 * 
	 * @throws Exception
	 */
	private void writeKKIFM218002() throws Exception {
		StringBuilder sb = null;
		HashMap<String, Object> updAdrsInfoMap = null;
		List<String> tchishoNoList = new ArrayList<String>();
		
		if (!this.tchishoUpdAdrsInfoList.isEmpty())
		{
			for (int i = 0; i < this.tchishoUpdAdrsInfoList.size(); i++)
			{
				updAdrsInfoMap = this.tchishoUpdAdrsInfoList.get(i);

				if (!tchishoNoList.contains(updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_NO)))
				{
					sb = new StringBuilder();

					// 通知書番号
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_NO), 12, true, false);
					// 通知書送付先名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM), 242, true, false);
					// 通知書送付先コード
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD), 1, true, false);
					// 通知書送付先住所コード
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD), 11, true, false);
					// 通知書送付先郵便番号
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD), 7, true, false);
					// 通知書送付先都道府県名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM), 8, true, false);
					// 通知書送付先市区町村名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM), 24, true, false);
					// 通知書送付先大字通称名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM), 36, true, false);
					// 通知書送付先字丁目名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM), 24, true, false);
					// 通知書送付先番地号
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO), 122, true, false);
					// 通知書送付先住所補記・建物名
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM), 90, true, false);
					// 通知書送付先住所補記・部屋番号
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM), 30, true, false);
					// 通知書送付先電話番号
					appendStr(sb, (String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO), 11, false, false);
					
					updAdrsInfoFile.write(sb.toString());
					tchishoNoList.add((String)updAdrsInfoMap.get(JBSbatKK_T_TCHISHO.TCHISHO_NO));
				}
			}
		}
		
		// ファイルを閉じます。
		updAdrsInfoFile.close();
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
//	/**
//	 * 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 List<JBSbatCommonDBInterface>
//	 * @throws Exception 業務サービス内で発生した例外全般。
//	 */
//	private List<JBSbatCommonDBInterface> executeKK_T_TCHISHO_KK_SELECT_002(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[2].toString());
//		paramList.setValue(param[3].toString());
//		paramList.setValue(param[4].toString());
//		paramList.setValue(param[5].toString());
//		paramList.setValue(param[6].toString());
//		paramList.setValue(param[7].toString());
//		paramList.setValue(param[8].toString());
//
//		// DBアクセスを実行します
//		db_KK_T_TCHISHO.selectBySqlDefine(paramList, KK_T_TCHISHO_KK_SELECT_002);
//		
//		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
//		JBSbatCommonDBInterface resultInfo = db_KK_T_TCHISHO.selectNext();
//		
//		while (null != resultInfo)
//		{
//			list.add(resultInfo);
//			resultInfo = db_KK_T_TCHISHO.selectNext();
//		}
//		
//		return list;
//	}

	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_SVKEIUW_EOH_TEL_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_SVKEIUW_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_SELECT_004);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		}
		
		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_019)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// ANK-4493-00-00 MOD START
	// 業務パラメータマップを引数に追加
//	private List<JBSbatCommonDBInterface> executeKK_T_SVC_KEI_KK_SELECT_019(Object[] param, String hak_sbt_cd) throws Exception
	private List<JBSbatCommonDBInterface> executeKK_T_SVC_KEI_KK_SELECT_019(Object[] param, String hak_sbt_cd, String tkHoshikiKeiyakuNo) throws Exception
	// ANK-4493-00-00 MOD END
	{
		// バイント変数のリストを生成します
		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_019);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVC_KEI.selectNext();
		
		if(resultInfo != null)
		{
			// コース変更があるかチェックして反映
			this.checkIDO_RSV_CRS(resultInfo);
			// 通知書印字名を特定する
			this.getPrtNm(param[0].toString(), resultInfo, hak_sbt_cd);
			// ANK-4493-00-00 ADD START
			// 料金プランコードのダミー変換を行う
			this.checkPplanDummy(resultInfo, tkHoshikiKeiyakuNo);
			// ANK-4493-00-00 ADD END
			// データをリストへ格納
			list.add(resultInfo);
		}
		return list;
	}

	//ANK-4493-00-00 ADD START
	private void checkPplanDummy(JBSbatCommonDBInterface resultInfo,
			String tkHoshikiKeiyakuNo) throws Exception{
		// 料金プランコード
		String pplan = null;
		pplan = resultInfo.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
		// 光配線コース変更可能マンションの判定
		Boolean isMansionHikariCrsChePsbrFlg = false;
		isMansionHikariCrsChePsbrFlg = isMansionHikariCrsChgPsbr(tkHoshikiKeiyakuNo);
		// 料金プランコードがダミーコードのマップに存在する場合、ダミーコードに変換
		String dummyPplan = mansPplanChgMap.get(pplan);
		if (dummyPplan != null && !("".equals(dummyPplan)) && isMansionHikariCrsChePsbrFlg)
		{
			resultInfo.setValue(JBSbatKK_T_SVC_KEI.PPLAN_CD, dummyPplan);
		}
	}
	// ANK-4493-00-00 ADD END

	// ANK-4493-00-00 ADD START
	/**
	 * 提供方式契約番号をキーに提供方式契約を参照して、提供方式パターンコード＝５３のとき
	 * 光配線コース変更可能マンションと判断します。
	 * @param tk_hoshiki_keiyaku_no 提供方式契約番号
	 * @return 提供方式パターンコード = 53のとき、true.
	 */
	private boolean isMansionHikariCrsChgPsbr(String tkHoshikiKeiyakuNo)  throws Exception
	{
		boolean retBoo = false;
		
		// tkHoshikiKeiyakuNo が未設定のとき、マンション光配線ではないので、false
		if (JKKStringUtil.isNullBlank(tkHoshikiKeiyakuNo))
		{
			return retBoo;
		}
		
		// 提供方式契約番号をキーに、提供方式契約(KK_T_TK_HOSHIKI_KEI-KK_SELECT_035)を実行する。
		JBSbatCommonDBInterface hoshikiInfo = executeKK_T_TK_HOSHIKI_KEI_BY_PK(tkHoshikiKeiyakuNo);
		if (hoshikiInfo != null)
		{
			// 提供方式パターンコード
			String tk_hoshiki_pattern_cd = hoshikiInfo.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_PATTERN_CD);
			
			// 提供方式パターンコード = 53(光配線コース変更可能マンション)のとき、true
			if (!JKKStringUtil.isNullBlank(tk_hoshiki_pattern_cd) && TK_HOSHIKI_PATTERN_CD_HHChrsChgPsbr.equals(tk_hoshiki_pattern_cd))
			{
				retBoo = true;
			}
		}
		
		return retBoo;
	}
	// ANK-4493-00-00 ADD END

	/**
	 * SQLKEY(KK_SELECT_007)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_SVKEIUW_EOH_NET_KK_SELECT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEIUW_EOH_NET.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_NET_KK_SELECT_007);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVKEIUW_EOH_NET.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_SVKEIUW_EOH_NET.selectNext();
		}
		
		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_016)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 *		 	オプションサービスコード
	 *		 	オプションサービスコード
	 *		 	オプションサービスコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_OPSVKEI_ISP_KK_SELECT_016(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_OPSVKEI_ISP.selectBySqlDefine(paramList, KK_T_OPSVKEI_ISP_KK_SELECT_016);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_OPSVKEI_ISP.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_OPSVKEI_ISP.selectNext();
		}
		
		return list;
	}

	/**
	 * 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 List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeCK_T_CUST_KK_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CK_T_CUST.selectBySqlDefine(paramList, CK_T_CUST_KK_SELECT_002);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_CK_T_CUST.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_CK_T_CUST.selectNext();
		}
		
		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	SYSID
	 *		 	お客様グループ設定無効年月日
	 *		 	予約適用年月日
	 *		 	グループ適用開始年月日
	 *		 	グループ適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeCK_T_CUST_GRP_SETTE_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());

		// DBアクセスを実行します
		db_CK_T_CUST_GRP_SETTE.selectBySqlDefine(paramList, CK_T_CUST_GRP_SETTE_KK_SELECT_001);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_CK_T_CUST_GRP_SETTE.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_CK_T_CUST_GRP_SETTE.selectNext();
		}
		
		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_053)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 *		 	オプションサービスコード
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_OP_SVC_KEI_KK_SELECT_053(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_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_053);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_OP_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_OP_SVC_KEI.selectNext();
		}
		
		return list;
	}

	/**
	 * 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 List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_KKTK_SVC_KEI_KK_SELECT_063(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_063);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		}
		
		return list;
	}
	
	
// 2013.10.15 OM-2013-0003217 add start	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 	 	サービス契約内訳番号
	 * 	 	予約適用年月日
	 * 	 	オプションサービスコード
	 * </pre>
	 * <p>
	 * 
	 * @param param
	 *            バイント変数の値配列。
	 * @return list 取得結果リスト
	 * @throws Exception
	 *             業務サービス内で発生した例外全般。
	 */

	private List<JBSbatCommonDBInterface> executeKK_T_ADCHG_DTL_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_ADCHG_DTL.selectBySqlDefine(paramList, KK_T_ADCHG_DTL_KK_SELECT_003);

		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_ADCHG_DTL.selectNext();

		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_ADCHG_DTL.selectNext();
		}

		return list;
	}	
// 2013.10.15 OM-2013-0003217 add end

	
	
	
	

	/**
	 * SQLKEY(KK_SELECT_067)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_SVC_KEI_UCWK_KK_SELECT_067(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_067);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVC_KEI_UCWK.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_SVC_KEI_UCWK.selectNext();
		}
		
		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_019)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private List<JBSbatCommonDBInterface> executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_019(Object[] param, List<JBSbatCommonDBInterface> svcUcwkList) throws Exception
	{
		// サービス契約内訳取り出し用リストクローニング
		ArrayList<JBSbatCommonDBInterface> svcUcList = (ArrayList<JBSbatCommonDBInterface>)svcUcwkList;
		Object svUwClone = svcUcList.clone();
		ArrayList<JBSbatCommonDBInterface> cloneList = (ArrayList<JBSbatCommonDBInterface>)svUwClone;

		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEIUW_EOH_TEL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_SELECT_019);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();

		// ■■■ OT-2013-0000311 2013/03/31 M.IKUMA Start ■■■
		// 電話番号１
		JBSbatCommonDBInterface telno_f = null;
		// 電話番号２
		JBSbatCommonDBInterface telno_s = null;
		// 2013/9/22 OM-2013-0002424 Mod Start
		// VAポート番号有無フラグをfalseに初期化
		this.vaPortUmFlg = false;
//		// 住所変更中かチェック
//		if(this.mJUHEN_FLG != null || BEFOR_SVC_KEI_NO_DUMMY.equals(this.mJUHEN_FLG))
//		{
//			// 出力対象の電話２番号を選別する
//			while(resultInfo != null)
//			{
//				// 電話番号１が確定しているかチェック
//				if(telno_f == null)
//				{
//					// 無条件で最初のインスタンスで確定可能
//					telno_f = resultInfo;
//				}
//				else
//				{
//					// 変更中フラグ取得
//					String chgFlg = resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG);
//					// 変更中か確認する
//					if(chgFlg != null && chgFlg.equals("1"))
//					{
//						// 変更中は優先的に確定する
//						telno_s = resultInfo;
//						break;
//					}
//					else
//					{
//						// 電話番号順を取得
//						String telno_jun = resultInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN);
//						// 変更中でない場合は電話番号順が「２」か確認
//						if(telno_s == null && telno_jun != null && telno_jun.equals("2"))
//						{
//							// 電話番号順「２」なので確定可能
//							telno_s = resultInfo;
//							break;
//						}
//					}
//				}
//				// 次の内訳を取得
//				resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
//			}
//		}
//		else
//		// 住所変更中以外は使用中の番号を出す
//		{
//			while(resultInfo != null)
//			{
//				// 変更中フラグ取得
//				String chgFlg = resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG);
//				// 変更中かチェック
//				if(chgFlg != null && chgFlg.equals("1"))
//				{
//					// 変更中なのでスキップする
//					resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
//					continue;
//				}
//				
//				// 変更中でない場合、１番号目として確定する
//				if(telno_f == null && chgFlg.equals("0"))
//				{
//					// 使用中を優先的に確定する
//					telno_f = resultInfo;
//					// 次へスキップ
//					resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
//					continue;
//				}
//				
//				// 変更中でない場合、２番号目として確定する
//				if(telno_s == null && chgFlg.equals("0"))
//				{
//					// 使用中を優先的に確定する
//					telno_s = resultInfo;
//					// 終了
//					break;
//				}
//			}
//		}
		// 内訳情報一時保存リスト
		List<JBSbatCommonDBInterface> tmpList = new ArrayList<JBSbatCommonDBInterface>();
		// 継続元サービス契約内訳番号記憶マップ
		HashMap chgBfSvcKeiUwNoMap = null;
		String keizkMtSvcKeiUcwkNo = null;
		while(null != resultInfo)
		{
			// 内訳情報をLISTに退避
			tmpList.add(resultInfo);
			// 継続元サービス契約内訳番号がある場合、継続元サービス契約内訳番号記憶マップに格納
			if(null != resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO) 
					&& !("".equals(resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO))))
			{
				if(null == chgBfSvcKeiUwNoMap)
				{
					chgBfSvcKeiUwNoMap = new HashMap();
				}
				keizkMtSvcKeiUcwkNo = resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO);
				chgBfSvcKeiUwNoMap.put(keizkMtSvcKeiUcwkNo, keizkMtSvcKeiUcwkNo);
			}
			resultInfo = db_KK_T_SVKEIUW_EOH_TEL.selectNext();
		}
		
		// 2013/11/19 OM-2013-0003310 Add Start
		// 内訳情報一時保存リストのＶＡポート番号を再設定
		if(null != tmpList && tmpList.size() > 0)
		{
			tmpList = this.setVaPortNo(tmpList);
		}
		// 2013/11/19 OM-2013-0003310 Add End
		
		// 継続元サービス契約内訳番号記憶マップに格納したサービス契約内訳番号と一致するマップを一時記憶リストから削除する
		if(null != tmpList && tmpList.size() > 0 && null != chgBfSvcKeiUwNoMap)
		{
			String svcKeiUcwkNo = null;
			for(int i = tmpList.size() -1; i >= 0; i--)
			{
				resultInfo = tmpList.get(i);
				
				svcKeiUcwkNo = resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				
				if(chgBfSvcKeiUwNoMap.containsKey(svcKeiUcwkNo))
				{
					tmpList.remove(i);
				}
			}
		}
		
		// 番号解約の予約の存在を確認し、予約解約の内訳情報をリストから削除する
		if(null != tmpList && tmpList.size() > 0)
		{
			String svcKeiUcwkNo = null;
			JBSbatCommonDBInterface whereMap = null;
			for(int i = tmpList.size() -1; i >= 0; i--)
			{
				resultInfo = tmpList.get(i);
				svcKeiUcwkNo = resultInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO);
				whereMap = new JBSbatCommonDBInterface();
				whereMap.setValue(svcKeiUcwkNo);
				this.db_KK_T_IDO_RSV.selectBySqlDefine(whereMap, KK_T_IDO_RSV_KK_SELECT_055);
				JBSbatCommonDBInterface resultIdo = this.db_KK_T_IDO_RSV.selectNext();
				
				if(null != resultIdo)
				{
					tmpList.remove(i);
				}
			}
		}
		// 電話番号１・２にマップを格納する。
		if(null != tmpList && tmpList.size() > 0)
		{
			for(int i = 0; i < tmpList.size(); i++)
			{
				resultInfo = tmpList.get(i);
				
				if(null == telno_f)
				{
					telno_f = resultInfo;
				}
				else
				{
					telno_s = resultInfo;
					this.vaPortUmFlg = true;
				}
			}
			
		}
		// 2013/9/22 OM-2013-0002424 Mod End
		
		// 電話番号情報が取得できたかチェック
		if(telno_f != null)
		{
			// 電話番号１を格納
			list.add(telno_f);
			// サービス契約内訳から親内訳を取得する
			String ko_no = telno_f.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.SVC_KEI_UCWK_NO);
			for(JBSbatCommonDBInterface oyaUcwk : cloneList)
			{
				// サービス契約内訳番号を突き合わせる
				if(ko_no.equals(oyaUcwk.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)))
				{
					// 内訳をクリアーする
					svcUcwkList.clear();
					// 対象の親サービス契約内訳を保持
					svcUcwkList.add(oyaUcwk);
					break;
				}
			}
			// ２番号目があるかチェック
			if(telno_s != null)
			{
				// ２番号目を格納
				list.add(telno_s);
				// サービス契約内訳から親内訳を取得する
				ko_no = telno_s.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.SVC_KEI_UCWK_NO);
				for(JBSbatCommonDBInterface oyaUcwk : cloneList)
				{
					// サービス契約内訳番号を突き合わせる
					if(ko_no.equals(oyaUcwk.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)))
					{
						// 対象の親サービス契約内訳を保持
						svcUcwkList.add(oyaUcwk);
						break;
					}
				}
			}
		}
		// ■■■ OT-2013-0000311 2013/03/31 M.IKUMA End    ■■■
		return list;
	}
	
	/**
	 * SQLKEY(KK_SELECT_013)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 申込明細情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_MSKM_DTL_KK_SELECT_013(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		// 2013/8/28 OM-2013-0001203 Del Start
//		paramList.setValue(param[1].toString());
		// 2013/8/28 OM-2013-0001203 Del End

		// DBアクセスを実行します
		db_KK_T_MSKM_DTL.selectBySqlDefine(paramList, KK_T_MSKM_DTL_KK_SELECT_013);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_MSKM_DTL.selectNext();

		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_MSKM_DTL.selectNext();
		}

		return list;
	}
	
	/**
	 * SQLKEY(KK_SELECT_080)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	適用開始年月日
	 *		 	整理番号
	 *		 	適用開始年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 機器提供サービス契約住所情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_KKTK_SVC_KEI_KK_SELECT_080(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_080);
		
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		}

		return list;
	}
	
	// ▼▼▼ 【OM-2013-0004184】 Add START ▼▼▼
	/**
	 * SQLKEY(KK_SELECT_161)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	適用開始年月日
	 *			サービス契約番号
	 *		 	適用開始年月日
	 *		 	適用開始年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 機器提供サービス契約住所情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_KKTK_SVC_KEI_KK_SELECT_161(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_161);
		
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		}

		return list;
	}

// ▲▲▲ 【OM-2013-0004184】 Add END ▲▲▲
	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return サービス契約内訳<eoADSL?情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_SVKEIUW_EOADSL_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVKEIUW_EOADSL.selectBySqlDefine(paramList, KK_T_SVKEIUW_EOADSL_KK_SELECT_003);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVKEIUW_EOADSL.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_SVKEIUW_EOADSL.selectNext();
		}

		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_006)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return ADSL工事情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_ADSL_KOJI_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ADSL_KOJI.selectBySqlDefine(paramList, KK_T_ADSL_KOJI_KK_SELECT_006);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_ADSL_KOJI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_ADSL_KOJI.selectNext();
		}

		return list;
	}

	// ▼▼▼ ANK-1392-00-00 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 バイント変数の値配列。
	 * @return 提供方式契約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_022(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// 守口印刷は工事・機器出荷のないサービスを対象とするため、提供方式契約が発生しない
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();

		return list;
	}
	// ▲▲▲ ANK-1392-00-00 Add End   ▲▲▲
	
	// ANK-4493-00-00 ADD START
	/**
	 * SQLKEY(KK_T_TK_HOSHIKI_KEI_KK_SELECT_035)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 	 	提供方式契約番号
	 * </pre>
	 * <p>
	 * 
	 * @param param バイント変数の値配列。
	 * @return list 取得結果リスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_TK_HOSHIKI_KEI_BY_PK(String tk_hoshiki_keiyaku_no) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// 検索条件パラメータ
		paramList.setValue(tk_hoshiki_keiyaku_no);
		
		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_035);
		JBSbatCommonDBInterface resultInfo = db_KK_T_TK_HOSHIKI_KEI.selectNext();

		// １件を返却
		return resultInfo;
	}
	// ANK-4493-00-00 ADD END
	
	
	/**
	 * SQLKEY(KK_SELECT_098)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	運用日
	 *		 	運用日
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 機器提供サービス契約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_KKTK_SVC_KEI_KK_SELECT_098(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_098);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		}

		return list;
	}

	/**
	 * SQLKEY(KK_SELECT_099)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	運用日
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @return 機器提供サービス契約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_KKTK_SVC_KEI_KK_SELECT_099(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_099);
		
		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		
		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_KKTK_SVC_KEI.selectNext();
		}

		return list;
	}
	
// 2013/01/17 ST2-2013-0000097 add start
	
	/**
	 * SQLKEY(KK_SELECT_077)で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_077(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_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_077);
	}
// 2013/01/17 ST2-2013-0000097 add end

	// 2013/12/06 OM-2013-0004977 Add Start
	/**
	 * SQLKEY(KK_SELECT_062)で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_IDO_RSV_KK_SELECT_062(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_062);
	}
	
	/**
	 * SQLKEY(KK_SELECT_008)で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_M_PCRS_KK_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_KK_SELECT_008);
	}
	// 2013/12/06 OM-2013-0004977 Add End

// 2014/07/03 ANK-2135-00-00 ADD START
	/**
	 * SQLKEY(KK_SELECT_302)で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_SVC_KEI_KK_SELECT_302(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_302);
	}
// 2014/07/03 ANK-2135-00-00 ADD END
	
// 2014/07/03 ANK-2135-00-00 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 バイント変数の値配列。
	 * @return 申込時登録不可契約予約情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MKJ_ADDF_KEI_RV_KK_SELECT_001(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_001);
	}
// 2014/07/03 ANK-2135-00-00 ADD END

// 2014/07/28 IT1-2014-0000256 ADD START
	/**
	 * SQLKEY(KK_SELECT_062)で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_062(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_062);
	}
// 2014/07/28 IT1-2014-0000256 ADD END

	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 業務パラメータ管理から設定値を取得します。
	 * 
	 * @param workParamMap 業務パラメータマップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void getWorkParamKanri(HashMap<String, Object> workParamMap) throws Exception 
	{
		
		// FTPサーバURL
		String ftpUrl = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_FTP);
		workParamMap.put(GYM_PRM_CD_FTP, ftpUrl);

		// POPサーバURL
		String popUrl = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_POP);
		workParamMap.put(GYM_PRM_CD_POP, popUrl);

		// SMTPサーバURL
		String smtpUrl = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_SMTP);
		workParamMap.put(GYM_PRM_CD_SMTP, smtpUrl);

		// IEEE802_1X_SSID
		String ieeeSsid = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_IEEE802_1X_SSID);
		workParamMap.put(GYM_PRM_CD_IEEE802_1X_SSID, ieeeSsid);

		// WPA2_AES_SSID
		String wpa2Ssid = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_WPA2_AES_SSID);
		workParamMap.put(GYM_PRM_CD_WPA2_AES_SSID, wpa2Ssid);

		// WEP_SSID
		String wepSsid = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_WEP_SSID);
		workParamMap.put(GYM_PRM_CD_WEP_SSID, wepSsid);

		// WEPキー
		String wepKey = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_WEP_KEY);
		workParamMap.put(GYM_PRM_CD_WEP_KEY, wepKey);

// 2014/07/03 ANK-2135-00-00 ADD START
		// スターチャンネルセット
		String stch = JKKBatWorkParamKanriUtil.getWorkParamSetteValue(this.commonItem, GYM_PRM_CD_STCH);
		workParamMap.put(GYM_PRM_CD_STCH, stch);
// 2014/07/03 ANK-2135-00-00 ADD END
	}
	
	/**
	 * ファイルに出力する情報を取得します。
	 * 
	 * @param workMap ワーキングマップ
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * 
	 * @param sysid SYSID
	 * @param mskmDtlNo 申込明細番号
	 * @param svcKeiUcwkStat サービス契約内訳ステータス
	 * @param keizkAfKeiShgechuFlg 継続後契約変更手続中フラグ
	 * @param svcUcwkTelList サービス契約内訳<eo光電話>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// 2013/10/31 OM-2013-0003656 Mod
	// サービス契約内訳ステータス・継続後契約変更手続中フラグを引数に追加
	// 2013/11/19 OM-2013-0003310 Mod
	// サービス契約内訳<eo光電話>を引数に追加
	// ANK-4493-00-00 MOD START
	// 業務パラメータマップを引数に追加
//	private void getInfoForOutput(
//			HashMap<String, Object> workMap, String svcKeiNo, String svcKeiUcwkNo, String keizkMtSvcKeiUcwkNo, String sysid,
//			String hak_sbt_cd, String mskmDtlNo, String svcKeiUcwkStat, String keizkAfKeiShgechuFlg, List<JBSbatCommonDBInterface> svcUcwkTelList) throws Exception 
	private void getInfoForOutput(
			HashMap<String, Object> workMap, String svcKeiNo, String svcKeiUcwkNo, String keizkMtSvcKeiUcwkNo, String sysid,
			String hak_sbt_cd, String mskmDtlNo, String svcKeiUcwkStat, String keizkAfKeiShgechuFlg, List<JBSbatCommonDBInterface> svcUcwkTelList, String tkHoshikiKeiyakuNo) throws Exception 
	// ANK-4493-00-00 MOD END
	{
		
		// --------------------------------------------------------------
		// サービス契約情報を取得する。
		// --------------------------------------------------------------
		String[] param = new String[]{ svcKeiNo, super.opeDate };
		// ANK-4493-00-00 MOD START
		//List<JBSbatCommonDBInterface> svcKeiList = executeKK_T_SVC_KEI_KK_SELECT_019(param, hak_sbt_cd);
		List<JBSbatCommonDBInterface> svcKeiList = executeKK_T_SVC_KEI_KK_SELECT_019(param, hak_sbt_cd, tkHoshikiKeiyakuNo);
		// ANK-4493-00-00 MOD END
		workMap.put(D_TBL_NAME_KK_T_SVC_KEI, svcKeiList);
		
		List<JBSbatCommonDBInterface> telList = null;
		List<JBSbatCommonDBInterface> netList = null;
		List<JBSbatCommonDBInterface> svcUcwkAdslList = null;

		// 2013/11/19 OM-2013-0003310 Add Start
		JBSbatCommonDBInterface svcUcwkTelInfo = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface telInfo = new JBSbatCommonDBInterface();
		// 2013/11/19 OM-2013-0003310 Add End
		
		if (null != svcKeiUcwkNo && !"".equals(svcKeiUcwkNo)){
			// --------------------------------------------------------------
			// サービス契約内訳<eo光電話>情報を取得する。
			// --------------------------------------------------------------
			param = new String[]{ svcKeiUcwkNo, super.opeDate };
			telList = executeKK_T_SVKEIUW_EOH_TEL_KK_SELECT_004(param);
			
			// 2013/11/19 OM-2013-0003310 Add Start
			// telList にあるポート番号を設定しなおす（サービス契約内訳番号に紐付くデータは１件しか存在しない）
			if(null != svcUcwkTelList && svcUcwkTelList.size() > 0)
			{
				for(int i = 0; i < svcUcwkTelList.size(); i++)
				{
					svcUcwkTelInfo = svcUcwkTelList.get(i);
					
					if (svcKeiUcwkNo.equals(svcUcwkTelInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.SVC_KEI_UCWK_NO)))
					{
						telInfo = telList.get(0);
						telInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO, svcUcwkTelInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO));
					}
				}
			}
			// 2013/11/19 OM-2013-0003310 Add End
			
			workMap.put(D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, telList);
			
			// --------------------------------------------------------------
			// サービス契約内訳<eo光ネット>情報を取得する。
			// --------------------------------------------------------------
			param = new String[]{ svcKeiUcwkNo, super.opeDate };
			netList = executeKK_T_SVKEIUW_EOH_NET_KK_SELECT_007(param);
			workMap.put(D_TBL_NAME_KK_T_SVKEIUW_EOH_NET, netList);
			
			// --------------------------------------------------------------
			// サービス契約内訳<eoADSL>情報を取得する
			// --------------------------------------------------------------
			param = new String[] {svcKeiUcwkNo};
			svcUcwkAdslList = executeKK_T_SVKEIUW_EOADSL_KK_SELECT_003(param);
			workMap.put(D_TBL_NAME_KK_T_SVKEIUW_EOADSL, svcUcwkAdslList);
		}
		
		// --------------------------------------------------------------
		// お客様情報を取得する。
		// --------------------------------------------------------------
		param = new String[]{ sysid, super.opeDate };
		List<JBSbatCommonDBInterface> custList = executeCK_T_CUST_KK_SELECT_002(param);
		workMap.put(D_TBL_NAME_CK_T_CUST, custList);
		
		// --------------------------------------------------------------
		// お客様グループ設定情報を取得する。
		// --------------------------------------------------------------
		param = new String[]{ sysid, super.opeDate, super.opeDate, super.opeDate, super.opeDate };
		List<JBSbatCommonDBInterface> grpList = executeCK_T_CUST_GRP_SETTE_KK_SELECT_001(param);
		workMap.put(D_TBL_NAME_CK_T_CUST_GRP_SETTE, grpList);
		
		// --------------------------------------------------------------
		// オプションサービス契約情報を取得する。
		// --------------------------------------------------------------
		if (null != telList && !telList.isEmpty())
		{
			List<JBSbatCommonDBInterface> editOptList = new ArrayList<JBSbatCommonDBInterface>();
			
			for (int j = 0; j < telList.size(); j++)
			{
				// 2013/10/02 OM-2013-0002704 Mod Start
//				param = new String[]{ svcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
//				List<JBSbatCommonDBInterface> optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
				List<JBSbatCommonDBInterface> optList = null;
				
				// オプションサービス契約の検索を継続元で行うか判定する

				// 2013/10/30 OM-2013-0003656 Mod Start
//				if(JKKStringUtil.isNullBlank(keizkMtSvcKeiUcwkNo)){
//					param = new String[] { svcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
//					optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
//				}
//				else {
//					// 継続元サービス契約番号より検索を行う
//					param = new String[] { keizkMtSvcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
//					optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
//				}
				
				// 継続元サービス契約番号が未設定の場合は変更後
				if(JKKStringUtil.isNullBlank(keizkMtSvcKeiUcwkNo))
				{
					param = new String[] { svcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
					optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
				}
				else
				{
					// 2014/04/25 OM-2014-0001579 Mod Start
//					// 照査済・締結済・サービス提供中以外　または　番ポで変更手続き中の場合は継続元
//					if (((!JKKBatConst.CD_SBT_SVC_KEI_STAT_020.equals(svcKeiUcwkStat)) &&
//						  (!JKKBatConst.CD_SBT_SVC_KEI_STAT_030.equals(svcKeiUcwkStat)) &&
//						  (!JKKBatConst.CD_SBT_SVC_KEI_STAT_100.equals(svcKeiUcwkStat))) ||
//						((BMP_ARI.equals(getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM))) &&
//						 (KEI_CHGECHU.equals(keizkAfKeiShgechuFlg))))
					// 住所変更の場合は継続元
					if(this.mJUHEN_FLG != null && !BEFOR_SVC_KEI_NO_DUMMY.equals(this.mJUHEN_FLG))
					// 2014/04/25 OM-2014-0001579 Mod End
					{
						param = new String[] { keizkMtSvcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
						optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
						
					}
					else
					{
						// 上記以外は変更後
						param = new String[] { svcKeiUcwkNo, super.opeDate, OP_SVC_CD_B022 };
						optList = executeKK_T_OP_SVC_KEI_KK_SELECT_053(param);
					}
				}
				// 2013/10/30 OM-2013-0003656 Mod End

				// オプションが取得できた場合
				if(!optList.isEmpty()){
					JBSbatCommonDBInterface opInfo = optList.get(0);
					// オプションサービス契約番号を取得する
					String opSvcKeiNo = opInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
					// オプションサービスより異動予約が取得できた場合
					if(null != getIdoRsvByOpSvcKei(opSvcKeiNo)){
						// 解約予定なのでリストをクリアする
						optList.clear();
					}
				}
				// 2013/10/02 OM-2013-0002704 Mod End
				if (!optList.isEmpty())
				{
					editOptList.addAll(optList);
				}
			}
			workMap.put(D_TBL_NAME_KK_T_OP_SVC_KEI, editOptList);
		}
		
		// --------------------------------------------------------------
		// オプションサービス契約<ISP>情報を取得する。
		// --------------------------------------------------------------
		//####################
		//# 住所変更チェック #
		//####################
// 2013.10.28 OM-2013-0003623 add start
		JBSbatCommonDBInterface svcKeiInfoJuhenMae = null;
		List<JBSbatCommonDBInterface> optIspListDsl = null;
// 2013.10.28 OM-2013-0003623 add end
		
		// 2014.04.09 OM-2014-0001451 Add Start
		List<JBSbatCommonDBInterface> optIspListAdchgAf = null;
		// 2014.04.09 OM-2014-0001451 Add End

		
		if(this.mJUHEN_FLG != null && !BEFOR_SVC_KEI_NO_DUMMY.equals(this.mJUHEN_FLG))
		{
			param = new String[] { this.mJUHEN_FLG, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP };

// 2013.10.28 OM-2013-0003623 add start
			// --------------------------------------------------------------
			// 住所変更でサービス契約が解約・新規（住変前サビ契!=サビ契)となるときに、
			// 住所変更前のサービス契約番号で、サービス契約情報を取得する。
			// そのサービス契約が解約済のとき、オプションのステータスが解約済のものを取得する。
			// --------------------------------------------------------------
			if ( ! this.mJUHEN_FLG.equals(svcKeiNo) ) {
				svcKeiInfoJuhenMae = executeKK_T_SVC_KEI_JuhenMae(this.mJUHEN_FLG);
				optIspListDsl = getOptIspListDsl(this.mJUHEN_FLG, svcKeiInfoJuhenMae);
				
				// 2014.04.09 OM-2014-0001451 Add Start
				// サービス契約が解約・新規（住所変更時、オプション情報を引き継がない）の場合、新住所に紐づくオプションの情報を取得する
				String[] param02 = new String[] { svcKeiNo, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP };
				optIspListAdchgAf = executeKK_T_OPSVKEI_ISP_KK_SELECT_016(param02);
				// 2014.04.09 OM-2014-0001451 Add End
			}
// 2013.10.28 OM-2013-0003623 add end
		}
		else
		{
			param = new String[] { svcKeiNo, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP };
		}
		
		List<JBSbatCommonDBInterface> optIspList = executeKK_T_OPSVKEI_ISP_KK_SELECT_016(param);
		
// 2013.10.15 OM-2013-0003217 add start
		// 住所変更で解約したオプションを出力対象外とするための処理
// 2013.10.28 OM-2013-0003623 mod start
//		rmAdchgDslOpt(optIspList);

//OM-2016-0002393 MOD START
//		// 2014.04.09 OM-2014-0001451 Mod Start
////		rmAdchgDslOpt(optIspList, optIspListDsl);
//		rmAdchgDslOpt(optIspList, optIspListDsl, optIspListAdchgAf);
//		// 2014.04.09 OM-2014-0001451 Mod End
		rmAdchgDslOpt(optIspList, optIspListDsl, optIspListAdchgAf, svcKeiNo);
//OM-2016-0002393 MOD END
		
// 2013.10.28 OM-2013-0003623 mod end
// 2013.10.15 OM-2013-0003217 add end
		
		
		workMap.put(D_TBL_NAME_KK_T_OPSVKEI_ISP, optIspList);
		
// 2014.02.24 OM-2014-0000756 del start
//		// --------------------------------------------------------------
//		// 機器提供サービス契約情報を取得する。
//		// --------------------------------------------------------------
//		param = new String[]{ svcKeiNo, super.opeDate };
//		List<JBSbatCommonDBInterface> kktkList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_063(param);
//		workMap.put(D_TBL_NAME_KK_T_KKTK_SVC_KEI, kktkList);
// 2014.02.24 OM-2014-0000756 del end
		
		// --------------------------------------------------------------
		// 申込明細情報を取得する。
		// --------------------------------------------------------------
		// 2013/8/28 OM-2013-0001203 Mod Start
//		param = new String[] { svcKeiNo, super.opeDate };
		param = new String[] { mskmDtlNo };
		// 2013/8/28 OM-2013-0001203 Mod End
		List<JBSbatCommonDBInterface> mskmDtlList = executeKK_T_MSKM_DTL_KK_SELECT_013(param);
		workMap.put(D_TBL_NAME_KK_T_MSKM_DTL, mskmDtlList);
		
		// --------------------------------------------------------------
		// 整理番号に紐づく機器提供サービス契約送付先住所情報を取得する
		// --------------------------------------------------------------
		String seiriNo = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SEIRI_NO);
		if (null != seiriNo && !"".equals(seiriNo))
		{
			
			// 2014/09/30 OM-2014-0003172 Mod Start
//			param = new String[] { super.opeDate, seiriNo, super.opeDate };
			param = new String[] { JBSbatKKConst.S_MAX_DATE, seiriNo, super.opeDate };
			// 2014/09/30 OM-2014-0003172 Mod End
			
			List<JBSbatCommonDBInterface> kktkSohskAdrsList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_080(param);
// 2014.02.24 OM-2014-0000756 mod start
//// ▼▼▼ 【OM-2013-0004184】Add START ▼▼▼
//			if (null == kktkSohskAdrsList || kktkSohskAdrsList.isEmpty())
//			{
//				if (null != svcKeiNo && !"".equals(svcKeiNo))
//				{
//					param = new String[] {super.opeDate, svcKeiNo, super.opeDate, super.opeDate};
//					kktkSohskAdrsList = executeKK_T_KKTK_SVC_KEI_KK_SELECT_161(param);
//				}
//			}
//// ▲▲▲ 【OM-2013-0004184】Add END ▲▲▲	
//			workMap.put(KK_T_KKTK_SVC_KEI_KK_SELECT_080, kktkSohskAdrsList);

			List<JBSbatCommonDBInterface> kktkSohskAdrsList2 = null;
			if (null != svcKeiNo && !"".equals(svcKeiNo))
			{
				
				// 2014/09/30 OM-2014-0003172 Mod Start
//				param = new String[] {super.opeDate, svcKeiNo, super.opeDate, super.opeDate};
				param = new String[] {JBSbatKKConst.S_MAX_DATE, svcKeiNo, super.opeDate, super.opeDate};
				// 2014/09/30 OM-2014-0003172 Mod End
				
				kktkSohskAdrsList2 = executeKK_T_KKTK_SVC_KEI_KK_SELECT_161(param);
			}
			List<JBSbatCommonDBInterface> kktkSohskAdrsListRet = jdgKiki(kktkSohskAdrsList, kktkSohskAdrsList2);
			workMap.put(KK_T_KKTK_SVC_KEI_KK_SELECT_080, kktkSohskAdrsListRet);
// 2014.02.24 OM-2014-0000756 mod end
		}
		
		// --------------------------------------------------------------
		// ADSL工事情報を取得する
		// --------------------------------------------------------------
		param = new String[] {svcKeiNo};
		List<JBSbatCommonDBInterface> adslKojiList = executeKK_T_ADSL_KOJI_KK_SELECT_006(param);
		workMap.put(D_TBL_NAME_KK_T_ADSL_KOJI, adslKojiList);
		
		// ▼▼▼ ANK-1392-00-00 Add Start ▼▼▼
		// --------------------------------------------------------------
		// 提供方式契約情報を取得する
		// --------------------------------------------------------------
		param = new String[] {svcKeiNo, super.opeDate};
		List<JBSbatCommonDBInterface> TkHoshikiKeiList = executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_022(param);
		workMap.put(D_TBL_NAME_KK_T_TK_HOSHIKI_KEI, TkHoshikiKeiList);
		// ▲▲▲ ANK-1392-00-00 Add End   ▲▲▲
	}
	
// 2014.02.24 OM-2014-0000756 add start
	/**
	 * 機器情報１、機器情報２のうち、更新日時が新しい方を選択します。
	 */
	private List<JBSbatCommonDBInterface> jdgKiki(List<JBSbatCommonDBInterface> kikiList1, List<JBSbatCommonDBInterface> kikiList2) 
	throws Exception {
		
		String updKiki1 = "";
		String updKiki2 = "";
		
		if (kikiList1 != null && !kikiList1.isEmpty()) {
			JBSbatCommonDBInterface kiki1 = kikiList1.get(0);
			
			// 2014/03/31 OM-2014-0001218 Mod Start
//			updKiki1 = kiki1.getString(JBSbatKK_T_KKTK_SVC_KEI.UPD_DTM);
			updKiki1 = kiki1.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM);
			// 2014/03/31 OM-2014-0001218 Mod End
			
		}
		if (kikiList2 != null && !kikiList2.isEmpty()) {
			JBSbatCommonDBInterface kiki2 = kikiList2.get(0);
			
			// 2014/03/31 OM-2014-0001218 Mod Start
//			updKiki2 = kiki2.getString(JBSbatKK_T_KKTK_SVC_KEI.UPD_DTM);
			updKiki2 = kiki2.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM);
			// 2014/03/31 OM-2014-0001218 Mod End
			
		}

		// 両方とも設定されている場合、更新日時が新しい方を選択する。
		if (!JKKStringUtil.isNullBlank(updKiki1) && !JKKStringUtil.isNullBlank(updKiki2)) {
			if (updKiki1.compareTo(updKiki2) > 0) {
				return kikiList1;
			} else {
				return kikiList2;
			}
		} else if (!JKKStringUtil.isNullBlank(updKiki1) && JKKStringUtil.isNullBlank(updKiki2)) {
			// kiki1だけ設定のときは、kiki1を選択
			return kikiList1;
		} else {
			// 以外のときはkiki2を選択
			return kikiList2;
		}
	}
// 2014.02.24 OM-2014-0000756 add end
	
// 2013.10.15 OM-2013-0003217 add start
	/**
	 * 住所変更で解約したオプションを出力対象外とするための処理です。
	 * 住所変更明細の変更後識別番号（住所変更明細種別＝０４）にないオプションＳＶＣ契約番号を対象外にします。
	 * @param optIspList
	 * @param optIspDslList
	 * @param optIspListAdchgAf
	 * @param svcKeiNo サービス契約番号（住所変更中の場合、転居先サービス契約番号）
	 * @throws Exception
	 */
//OM-2016-0002393 MOD START
//	// 2014.04.09 OM-2014-0001451 Mod Start
////	private void rmAdchgDslOpt(List<JBSbatCommonDBInterface> optIspList)
////	private void rmAdchgDslOpt(List<JBSbatCommonDBInterface> optIspList, List<JBSbatCommonDBInterface> optIspDslList)
//	private void rmAdchgDslOpt(List<JBSbatCommonDBInterface> optIspList, List<JBSbatCommonDBInterface> optIspDslList, List<JBSbatCommonDBInterface> optIspListAdchgAf)
//	// 2014.04.09 OM-2014-0001451 Mod End
//	throws Exception {
	private void rmAdchgDslOpt(List<JBSbatCommonDBInterface> optIspList, List<JBSbatCommonDBInterface> optIspDslList,
			List<JBSbatCommonDBInterface> optIspListAdchgAf, String svcKeiNo) throws Exception
	{
//OM-2016-0002393 MOD END
		String[] param;
		if(this.mJUHEN_FLG != null && !BEFOR_SVC_KEI_NO_DUMMY.equals(this.mJUHEN_FLG)) {

// 2013.10.28 OM-2013-0003623 add start
			// optIspList に optIspDslList を追加する。
			if (optIspDslList != null && !optIspDslList.isEmpty()) {
				optIspList.addAll(optIspDslList);
			}
// 2013.10.28 OM-2013-0003623 add end

			if (!JKKStringUtil.isNullBlank(this.ADCHG_NO)) {

				// 住所変更明細を取得する(KK_T_ADCHG_DTL  KK_SELECT_003）。
				// パラメータ：住所変更番号、住所変更明細種別コード
				param = new String[] {this.ADCHG_NO, "04" };
				List<JBSbatCommonDBInterface> adchgOpsList = executeKK_T_ADCHG_DTL_KK_SELECT_003(param);

// 2013.10.23 OM-2013-0003585 add start
				// 変更前識別番号だけのリスト
				List<String> opSvcNoAdchgBFList = new ArrayList<String>();
// 2013.10.23 OM-2013-0003585 add end
				
				// 変更後識別番号だけのリスト
				List<String> opSvcNoAdchgAFList = new ArrayList<String>();
				for (JBSbatCommonDBInterface  adchgOps : adchgOpsList) {

// 2013.10.23 OM-2013-0003585 add start
					// 変更前識別番号を取得
					String opSvcKeiNoAdchgBF = adchgOps.getString(JBSbatKK_T_ADCHG_DTL.CHBF_SKBT_NO);
					if(!JKKStringUtil.isNullBlank(opSvcKeiNoAdchgBF)) {
						opSvcNoAdchgBFList.add(opSvcKeiNoAdchgBF);
					}
// 2013.10.23 OM-2013-0003585 add end
					
					// 変更後識別番号を取得
					String opSvcKeiNoAdchgAF = adchgOps.getString(JBSbatKK_T_ADCHG_DTL.CHAF_SKBT_NO);
					if (!JKKStringUtil.isNullBlank(opSvcKeiNoAdchgAF)) {
						opSvcNoAdchgAFList.add(opSvcKeiNoAdchgAF);
					}
				}

				// 住所変更明細種別コード=04 で、変更後識別番号に存在しないオプションサービス契約番号の
				// 情報をoptIspListから除去する。
				
				// 2014.04.09 OM-2014-0001451 Mod Start
//				for (int i=0; i <  optIspList.size() ; i++) {
				for (int i=optIspList.size() - 1; i >= 0 ; i--) {
				// 2014.04.09 OM-2014-0001451 Mod End

					JBSbatCommonDBInterface opSvcKeiIspInfo = optIspList.get(i);
					// オプションＳＶＣ契約番号
					String opSvcKeiNo = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.OP_SVC_KEI_NO);

//OM-2016-0002393 MOD START
//// 2013.10.23 OM-2013-0003585 mod start
////					if (!opSvcNoAdchgAFList.contains(opSvcKeiNo) ) {
//					// @opSvcKeiNoがadchgOpsListの変更前識別番号に含まれていて、かつ、変更後識別番号に含まれていなければoptIspListから除去する
//					// （住所変更画面で引継でなく、解約したオプションを除去する）
//					if (opSvcNoAdchgBFList.contains(opSvcKeiNo) && !opSvcNoAdchgAFList.contains(opSvcKeiNo) ) {
//// 2013.10.23 OM-2013-0003585 mod end
//						optIspList.remove(i);
//					}
					// 転居元のオプションサービス契約は以下のように分類される。
					//   (1) 住所変更明細で引継対象になっている
					//   (2) 住所変更明細で解約対象になっている
					//   (3) 住所変更明細未登録(ステータスが「締結済」)
					// 解約・新規の住所変更の場合、(1)のみを通知書出力対象とする。(3)の分は転居先に既に登録されている。
					// 解約・新規でない住所変更の場合、(1)、(3)を通知書出力対象とする。
					if (!opSvcNoAdchgAFList.contains(opSvcKeiNo))
					{
						if (!this.mJUHEN_FLG.equals(svcKeiNo)
								|| opSvcNoAdchgBFList.contains(opSvcKeiNo))
						{
							optIspList.remove(i);
						}
					}
//OM-2016-0002393 MOD END
				}
				
				// 2014.04.09 OM-2014-0001451 Add Start
				// 新住所情報が存在しなければサービス提供中・解約済み以外のオプションを除去し、紐づくオプションの情報を追加する
				if (optIspListAdchgAf != null)
				{
//OM-2016-0002393 DEL START
//					for (int i = optIspList.size() - 1; i >= 0 ; i--)
//					{
//						JBSbatCommonDBInterface opSvcKeiIspInfo = optIspList.get(i);
//						String opSvcKeiStat = opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_STAT);
//						
//						if ((!JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU.equals(opSvcKeiStat)) &&
//							(!JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(opSvcKeiStat)))
//						{
//							optIspList.remove(i);
//						}
//					}
//OM-2016-0002393 DEL END
					
					for (JBSbatCommonDBInterface  optIspAdchgAf : optIspListAdchgAf)
					{
						optIspList.add(optIspAdchgAf);
					}
				}
				
				// メール⇒ホームページの順序で内部ソート
				TreeMap<String, JBSbatCommonDBInterface> wkOptIspMap = new TreeMap<String,JBSbatCommonDBInterface>();
				
				// いったんツリーマップに格納
				for (int i = 0; i < optIspList.size() ; i++)
				{
					JBSbatCommonDBInterface opSvcKeiIspInfo = optIspList.get(i);
					wkOptIspMap.put(opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD) + opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.TSYRN_SVKEI_CD_SEQ), opSvcKeiIspInfo);
				}
				
				// オプション情報をクリアする
				optIspList.clear();
				
				// ツリーマップに格納した内容を順番に取り出し、オプション情報に再設定する
				Iterator<String> iteOptIspMap = wkOptIspMap.keySet().iterator();
				while (iteOptIspMap.hasNext())
				{
					String iteOptIspMapKey = (String)iteOptIspMap.next();
					optIspList.add(wkOptIspMap.get(iteOptIspMapKey));
				}
				
				// 2014.04.09 OM-2014-0001451 Add End
			}

		}
	}

// 2013.10.15 OM-2013-0003217 add end
	
	
	
	// 2013/09/27 OM-2013-0002611 add Start
	/**
	 * 変更後のコースを設定しなおす
	 * 
	 * @param workMap
	 *            ワーキングマップ
	 * @param size
	 *            サービス契約内訳<eo光電話>のサイズ
	 * @throws Exception
	 *             業務サービス内で発生した例外全般。
	 */
	private void changeCd(HashMap<String, Object> workMap, int size) throws Exception{
		// 異動予約がない場合、出力する内訳の数とコースを合わせる
		if(!this.TEL_DSL_IDO_RSV_FLG && size > 0){
			// 内訳が1件の場合
			if(size == 1)
			{
				// 料金コースが1番号でなければ変更する
				String pcrs = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKKIFM003.PCRS_CD);
				if(!pcrs.equals(PCRS_CD_TEL_1))
				{
					// 料金コースを１番号コースへ変更
					List<JBSbatCommonDBInterface>  list = (List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_SVC_KEI);
					JBSbatCommonDBInterface  resultInfo = list.get(0);
					
					// 料金プランを変更する
					String pplan = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKKIFM003.PPLAN_CD);
					// 変更後料金プラン
					String pplan2 = pplan;
					if(pplan.equals(PPLAN_CD_TEL_H_2))
					{
						// ホーム１番号へ
						pplan2 = PPLAN_CD_TEL_H_1;
					}
					else if(pplan.equals(PPLAN_CD_TEL_ME_2))
					{
						// メゾン１番号へ
						pplan2 = PPLAN_CD_TEL_ME_1;
					}
					else if(pplan.equals(PPLAN_CD_TEL_MA_2))
					{
						// マンション１番号へ
						pplan2 = PPLAN_CD_TEL_MA_1;
					}
					else if(pplan.equals(PPLAN_CD_TEL_MAH_2))
					{
						// マンション１番号へ
						pplan2 = PPLAN_CD_TEL_MAH_1;
					}
					// 料金コースと料金プランを変更
					resultInfo.setValue(JBSbatKKIFM003.PCRS_CD, PCRS_CD_TEL_1);
					resultInfo.setValue(JBSbatKKIFM003.PPLAN_CD, pplan2);
				}
			}
			else if(size == 2)
			{
				// 料金コースが2番号でなければ変更する
				String pcrs = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKKIFM003.PCRS_CD);
				if(!pcrs.equals(PCRS_CD_TEL_2))
				{
					// 料金コースを２番号コースへ変更
					List<JBSbatCommonDBInterface>  list = (List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_SVC_KEI);
					JBSbatCommonDBInterface  resultInfo = list.get(0);
					// 料金プランを変更する
					String pplan = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKKIFM003.PPLAN_CD);
					// 変更後料金プラン
					String pplan2 = pplan;
					if(pplan.equals(PPLAN_CD_TEL_H_1))
					{
						// ホーム２番号へ
						pplan2 = PPLAN_CD_TEL_H_2;
					}
					else if(pplan.equals(PPLAN_CD_TEL_ME_1))
					{
						// メゾン２番号へ
						pplan2 = PPLAN_CD_TEL_ME_2;
					}
					else if(pplan.equals(PPLAN_CD_TEL_MA_1))
					{
						// マンション２番号へ
						pplan2 = PPLAN_CD_TEL_MA_2;
					}
					else if(pplan.equals(PPLAN_CD_TEL_MAH_1))
					{
						// マンション２番号へ
						pplan2 = PPLAN_CD_TEL_MAH_2;
					}
					// 料金コースと料金プランを変更
					resultInfo.setValue(JBSbatKKIFM003.PCRS_CD, PCRS_CD_TEL_2);
					resultInfo.setValue(JBSbatKKIFM003.PPLAN_CD, pplan2);
				}
			}
			
		}
		else{
			// 異動予約検索結果を初期化
			this.TEL_DSL_IDO_RSV_FLG = false;
		}
	}
	// 2013/09/27 OM-2013-0002611 add End
	
	/**
	 * ID速報書情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setIdSokuhoInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{

		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_020);
		// 整理番号
		outMap.setString(JBSbatKKIFM195.SEIRI_NO, 
				this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SEIRI_NO));
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲
		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * eoID情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setEoIdInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{
		
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_030);
		// 初期eoID
		String s_eo_ID = getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SHK_EOID);
		outMap.setString(JBSbatKKIFM195.SHK_EOID, s_eo_ID);
		// 初期eoIDパスワード
		outMap.setString(JBSbatKKIFM195.SHK_EOID_PWD, 
				this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SHK_EOID_PWD));

		//▼▼▼ IT1-2013-0000453 2013/03/12 M.IKUMA START ▼▼▼
		// eoID（初期eoIDと同じの場合は出力しない）
		String eo_ID = this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.EOID);
		if(s_eo_ID != null && !s_eo_ID.equals(eo_ID))
		{
			// 値が違うので出力する
			outMap.setString(JBSbatKKIFM195.EOID, eo_ID);
		}
		else
		{
			// 値が同一なのでカラ文字出力
			outMap.setString(JBSbatKKIFM195.EOID, "");
		}
		//▲▲▲ IT1-2013-0000453 2013/03/12 M.IKUMA   END ▲▲▲

		// 家族入会コード
		outMap.setString(JBSbatKKIFM195.FAMILY_JOIN_CD, 
				this.getValue(workMap, D_TBL_NAME_CK_T_CUST_GRP_SETTE, JBSbatCK_T_GRP.GRP_JOIN_CD));
		// 家族入会コードパスワード
		outMap.setString(JBSbatKKIFM195.FAMILY_JOIN_CD_PWD, 
				this.getValue(workMap, D_TBL_NAME_CK_T_CUST_GRP_SETTE, JBSbatCK_T_GRP.GRP_JOIN_CD_PWD));
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲

		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * インターネット情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param cdNmMap コード名称マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setInterNetInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{
		

		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		
		if (!JKKBatConst.SVC_CD_NET.equals(svcCd) || isMobileSvc(prcGrpCd))
		{
			return;
		}

		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		// サービス契約出力項目
		setSvcKeiOutPutInfo(
				outMap, workMap, svcCd, prcGrpCd, 
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD), svcKeiNo);
		
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_040);
		

		if (JKKBatConst.PRC_GRP_CD_NET_HM.equals(prcGrpCd)
				|| JKKBatConst.PRC_GRP_CD_NET_MZ.equals(prcGrpCd)
				|| JKKBatConst.PRC_GRP_CD_NET_MT.equals(prcGrpCd))
		{
			// 2014/08/18 OM-2014-0002721 Mod Start
//			// 利用開始年月日
//			String use_staymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_STA_YMD);
//			if(null == use_staymd || "".equals(use_staymd))
//			{
//				outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
//			}
//			else
//			{
//				outMap.setString(JBSbatKKIFM195.USE_STAYMD, use_staymd);
//			}
			// eo光ネットマンションタイプの場合のみ、
			if (JKKBatConst.PRC_GRP_CD_NET_MT.equals(prcGrpCd))
			{
				// 利用開始年月日
				String use_staymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_STA_YMD);
				
				if(null == use_staymd || "".equals(use_staymd))
				{
					// サービス開始前の場合、サービス利用開始希望年月日を設定する。
					use_staymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_USE_STA_KIBO_YMD);
					if(null != use_staymd && !("".equals(use_staymd)))
					{
						outMap.setString(JBSbatKKIFM195.USE_STAYMD, use_staymd);
					}
					else
					{
						// サービス利用開始希望年月日が取得できない場合、NULLではなく"99999999"を設定する。
						outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
					}
				}
				else
				{
					outMap.setString(JBSbatKKIFM195.USE_STAYMD, use_staymd);
				}
			}
			else
			{
				outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
			}
			// 2014/08/18 OM-2014-0002721 Mod End
			
			// ＡＤＳＬ利用開始年月日
			outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		}
		else
		{
			// 利用開始年月日
			outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
			// ＡＤＳＬ利用開始年月日
			String adsl_use_staymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_STA_YMD);
			if(null == adsl_use_staymd || "".equals(adsl_use_staymd))
			{
				outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
			}
			else
			{
				outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, adsl_use_staymd);
			}
		}

		// 認証ＩＤ
		outMap.setString(
				JBSbatKKIFM195.NINSHO_ID, 
				getNinshoIdInfo(workMap).get(JBSbatKKIFM195.NINSHO_ID));
		// 認証ＩＤパスワード
		outMap.setString(
				JBSbatKKIFM195.NINSHO_ID_PWD, 
				getNinshoIdInfo(workMap).get(JBSbatKKIFM195.NINSHO_ID_PWD));
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲

		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * メール情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private void setMailInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{

		List<JBSbatCommonDBInterface> opSvcKeiIspList = 
			(List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_OPSVKEI_ISP);

		JBSbatCommonDBInterface opSvcKeiIspInfo = null;
// ▼▼▼ 20131126【OM-2013-0004694】Del START ▼▼▼  
//		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
// ▲▲▲ 20131126【OM-2013-0004694】Del End ▲▲▲  

		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			
			for (int i = 0; i < opSvcKeiIspList.size(); i++)
			{
// ▼▼▼ 20131126【OM-2013-0004694】Del START ▼▼▼  
				JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
// ▲▲▲ 20131126【OM-2013-0004694】Del End ▲▲▲  

				opSvcKeiIspInfo = opSvcKeiIspList.get(i);
				if (JBSbatKKConst.OP_SVC_CD_EMAIL.equals(
						opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD)))
				{
					
					// 共通出力項目
					setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
					// 通知内訳種別コード
					outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_050);
					// メールアドレス
					outMap.setString(
							JBSbatKKIFM195.MLAD, 
							opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.MLAD));
// 2016.04.04 OM-2016-0000858 mod start
// 2013.09.02 OM-2013-0001494 mod start
//
//					String shkPopIdPwd = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD);
//					
//					if(null != shkPopIdPwd && !("".equals(shkPopIdPwd))) {
//						// メールパスワード
//						outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shkPopIdPwd);
//					} else {
//						String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
//						if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd)))
//						{
//							// メールパスワード
//							outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
//						} else {
//							outMap.setString(JBSbatKKIFM195.POP_ID_PWD, "");
//						}
//					}
//
//					// ▼▼▼ IT2-2012-0002131 Add Start ▼▼▼
////				String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
////				
////				if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd)))
////				{
////					// メールパスワード
////					outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
////				}
////				else
////				{
////					// メールパスワード
////					outMap.setString(JBSbatKKIFM195.POP_ID_PWD, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD));
////				}
////				// ▲▲▲ IT2-2012-0002131 Add End   ▲▲▲
// 2013.09.02 OM-2013-0001494 mod end
					//住所変更中ではない、または住所変更前後でサービス契約番号が同じ
					if(this.mJUHEN_FLG != null && (this.mJUHEN_FLG == BEFOR_SVC_KEI_NO_DUMMY || svcKeiNo.equals(this.mJUHEN_FLG))){
						String shkPopIdPwd = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD);
						if(null != shkPopIdPwd && !("".equals(shkPopIdPwd))) {
							// メールパスワード
							outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shkPopIdPwd);
						} else {
							String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
							// メールパスワード
							if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
								outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
							} else {
								outMap.setString(JBSbatKKIFM195.POP_ID_PWD, "");
							}
						}
					}else{
						//住所変更前後でサービス契約番号が異なる
						List<JBSbatCommonDBInterface> optIspListAdchgAf = null;

						//新住所に紐づくオプションの情報を取得する
						String[] param02 = new String[] { svcKeiNo, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP };
						optIspListAdchgAf = executeKK_T_OPSVKEI_ISP_KK_SELECT_016(param02);
						JBSbatCommonDBInterface opSvcKeiIspInfoAdchgAf = null;
						if (null != optIspListAdchgAf && !optIspListAdchgAf.isEmpty())
						{
							int list_num = -1;
							//新サービスに紐づくオプションの初期POPIDパスワードを設定する
							for (int j = 0; j < optIspListAdchgAf.size(); j++){
								opSvcKeiIspInfoAdchgAf = optIspListAdchgAf.get(j);
								if(JBSbatKKConst.OP_SVC_CD_EMAIL.equals(opSvcKeiIspInfoAdchgAf.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD))){
									list_num = j;
									String shkPopIdPwd = opSvcKeiIspInfoAdchgAf.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD);
									//初期POPIDパスワードを設定する
									if(null != shkPopIdPwd && !("".equals(shkPopIdPwd))) {
										// メールパスワード
										outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shkPopIdPwd);
										break;
									}else{
										//初期POPIDパスワードがNULLなら初期デフォルトパスワードを設定する
										String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
										// メールパスワード
										if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
											outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
											break;
										} else {
											outMap.setString(JBSbatKKIFM195.POP_ID_PWD, "");
										}
									}
								}
							}
							//新住所に紐づくオプション(メール)が無い場合
							if(list_num == -1)
							{
								//初期POPIDパスワードがNULLなら初期デフォルトパスワードを設定する
								String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
								// メールパスワード
								if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
									outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
								} else {
									outMap.setString(JBSbatKKIFM195.POP_ID_PWD, "");
								}
							}
						}else{
							//新住所に紐づくオプションが無ければ初期デフォルトパスワードを設定する
							String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
							// メールパスワード
							if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
								outMap.setString(JBSbatKKIFM195.POP_ID_PWD, shk_dflt_pwd);
							} else {
								outMap.setString(JBSbatKKIFM195.POP_ID_PWD, "");
							}
						}
					}
// 2016.04.04 OM-2016-0000858 mod end
					
					// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
					// 利用開始年月日
					outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
					// ＡＤＳＬ利用開始年月日
					outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
					
					// FTPサーバURL
					String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
					outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

					// POPサーバURL
					String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
					outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

					// SMTPサーバURL
					String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
					outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
					// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
					// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
					// SYSID
					outMap.setString(JBSbatKKIFM195.SYSID, sysid);
					// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲
					// 出力フラグ
					outMap.setOutFlg(true);
					outputItem.addOutMapList(outMap);
				}
			}
		}
		else
		{
			return;
		}
	}
	
	/**
	 * ホームページ情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private void setHomePageInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{
		
		List<JBSbatCommonDBInterface> opSvcKeiIspList = 
			(List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_OPSVKEI_ISP);

		JBSbatCommonDBInterface opSvcKeiIspInfo = null;
//OM-2016-0002393 DEL START
//		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
//OM-2016-0002393 DEL END

		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			
			for (int i = 0; i < opSvcKeiIspList.size(); i++)
			{
				opSvcKeiIspInfo = opSvcKeiIspList.get(i);
				if (JBSbatKKConst.OP_SVC_CD_MY_HP.equals(
						opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD)))
				{
//OM-2016-0002393 ADD START
					JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
//OM-2016-0002393 ADD END
					// 共通出力項目
					setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
					
					// 通知内訳種別コード
					outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_060);
					// WEBID
					outMap.setString(
							JBSbatKKIFM195.WEB_ID, 
							opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.WEB_ID));
					// WEBIDパスワード
// 2016.04.04 OM-2016-0000858 mod start
// 2013.09.02 OM-2013-0001494 mod start
//					String shkWebIdPwd = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_WEB_ID_PWD);
//					
//					if(null != shkWebIdPwd && !("".equals(shkWebIdPwd))) {
//						outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shkWebIdPwd);
//					} else {
//						String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
//						
//						if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd)))
//						{
//							outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
//						} else {
//							outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, "");
//						}
//					}
//					
////				// ▼▼▼ IT2-2012-0002131 Add Start ▼▼▼
////				String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
////				
////				if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd)))
////				{
////					outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
////				}
////				else
////				{
////					outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_WEB_ID_PWD));
////				}
////				// ▲▲▲ IT2-2012-0002131 Add End   ▲▲▲
// 2013.09.02 OM-2013-0001494 mod end
					//住所変更中ではない、または住所変更前後でサービス契約番号が同じ
					if(this.mJUHEN_FLG != null && (this.mJUHEN_FLG == BEFOR_SVC_KEI_NO_DUMMY || svcKeiNo.equals(this.mJUHEN_FLG))){
						String shkWebIdPwd = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_WEB_ID_PWD);
						if(null != shkWebIdPwd && !("".equals(shkWebIdPwd))) {
							outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shkWebIdPwd);
						} else {
							String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
							if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
								outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
							} else {
								outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, "");
							}
						}
					}else{
						//住所変更前後でサービス契約番号が異なる
						List<JBSbatCommonDBInterface> optIspListAdchgAf = null;

						//新住所に紐づくオプションの情報を取得する
						String[] param02 = new String[] { svcKeiNo, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP };
						optIspListAdchgAf = executeKK_T_OPSVKEI_ISP_KK_SELECT_016(param02);
						JBSbatCommonDBInterface opSvcKeiIspInfoAdchgAf = null;
						if (null != optIspListAdchgAf && !optIspListAdchgAf.isEmpty())
						{
							int list_num = -1;
							//新サービスに紐づくオプションの初期WEBIDパスワードを設定する
							for (int j = 0; j < optIspListAdchgAf.size(); j++){
								opSvcKeiIspInfoAdchgAf = optIspListAdchgAf.get(j);
								if(JBSbatKKConst.OP_SVC_CD_MY_HP.equals(opSvcKeiIspInfoAdchgAf.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD))){
									list_num = j;
									String shkWebIdPwd = opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_WEB_ID_PWD);
									//初期WEBIDパスワードを設定する
									if(null != shkWebIdPwd && !("".equals(shkWebIdPwd))) {
										// WEBIDパスワード
										outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shkWebIdPwd);
										break;
									}else{
										//初期WEBIDパスワードがNULLなら初期デフォルトパスワードを設定する
										String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
										// WEBIDパスワード
										if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
											outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
											break;
										} else {
											outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, "");
										}
									}
								}
							}
							//新住所に紐づくオプション(ホームページ)が無い場合
							if(list_num == -1)
							{
								//初期WEBIDパスワードがNULLなら初期デフォルトパスワードを設定する
								String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
								// WEBIDパスワード
								if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
									outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
								} else {
									outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, "");
								}
							}
						}else{
							//新住所に紐づくオプションが無ければ初期デフォルトパスワードを設定する
							String shk_dflt_pwd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
							// WEBIDパスワード
							if(null != shk_dflt_pwd && !("".equals(shk_dflt_pwd))) {
								outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, shk_dflt_pwd);
							} else {
								outMap.setString(JBSbatKKIFM195.WEB_ID_PWD, "");
							}
						}
					}
// 2016.04.04 OM-2016-0000858 mod end
					// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
					// 利用開始年月日
					outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
					// ＡＤＳＬ利用開始年月日
					outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
					
					// FTPサーバURL
					String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
					outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

					// POPサーバURL
					String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
					outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

					// SMTPサーバURL
					String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
					outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
					// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
					// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
					// SYSID
					outMap.setString(JBSbatKKIFM195.SYSID, sysid);
					// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲
					// 出力フラグ
					outMap.setOutFlg(true);
					outputItem.addOutMapList(outMap);
				}
			}
		}
		else
		{
			return;
		}
	}
	
	/**
	 * 光電話情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param cdNmMap コード名称マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private void setTelInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo, String svcKeiUcwkNo) throws Exception 
	{
		
		List<JBSbatCommonDBInterface> opSvcKeiList = 
			(List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_OP_SVC_KEI);
		
		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		
		if (!JKKBatConst.SVC_CD_TEL.equals(svcCd))
		{
			return;
		}

		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		// サービス契約出力項目
		setSvcKeiOutPutInfo(
				outMap, workMap, svcCd, prcGrpCd, 
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD), svcKeiNo);
		
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_070);
		// サービス契約内訳番号
		outMap.setString(JBSbatKKIFM195.SVC_KEI_UCWK_NO, svcKeiUcwkNo);
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		// KOPT電話番号
		outMap.setString(
				JBSbatKKIFM195.KOPT_TELNO, 
				this.getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO));
		// 発信者番号通知コード
		if (null != opSvcKeiList && !opSvcKeiList.isEmpty())
		{
			opSvcKeiList.get(0);
			// 2013/9/13 OM-2013-0001948 Mod Start
//			outMap.setString(JBSbatKKIFM195.HASINSHA_NO_TCH_CD, "2");
			outMap.setString(JBSbatKKIFM195.HASINSHA_NO_TCH_CD, HSS_NO_NOTICE_CD);
			// 2013/9/13 OM-2013-0001948 Mod End
		}
		else
		{
			// 2013/9/13 OM-2013-0001948 Mod Start
//			outMap.setString(JBSbatKKIFM195.HASINSHA_NO_TCH_CD, "1");
			outMap.setString(JBSbatKKIFM195.HASINSHA_NO_TCH_CD, HSS_NO_NO_NOTICE_CD);
			// 2013/9/13 OM-2013-0001948 Mod End
		}
		// ＶＡポート番号
		// 2013/9/22 OM-2013-0002424 Mod Start
		
		// 2013/11/19 OM-2013-0003310 Mod Start
		// ＶＡポート番号は無条件に設定するように変更
		
//		if(this.vaPortUmFlg)
//		{
			outMap.setString(
					JBSbatKKIFM195.VA_PORT_NO, 
					this.getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO));
//		}
		// 2013/11/19 OM-2013-0003310 Mod End
		
//		outMap.setString(
//				JBSbatKKIFM195.VA_PORT_NO, 
//				this.getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO));
		// 2013/9/22 OM-2013-0002424 Mod End
		// 電話オプション設定用リモート操作用パスワード
		outMap.setString(
				JBSbatKKIFM195.TEL_OP_SETTE_RMTS_PWD, 
				this.getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.TEL_OP_SETTE_RMTS_PWD));
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲
		
		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * 光テレビ情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param cdNmMap コード名称マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setTvInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap,HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{

		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		
		if (!JKKBatConst.SVC_CD_TV.equals(svcCd))
		{
			return;
		}
		
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		// サービス契約出力項目
		setSvcKeiOutPutInfo(
				outMap, workMap, svcCd, prcGrpCd, 
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD), svcKeiNo);
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_080);
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲

		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * モバイル情報を設定します。
	 * 
	 * @param outputItem 出力オブジェクト
	 * @param workMap ワーキングマップ
	 * @param cdNmMap コード名称マップ
	 * @param workParamMap パラメータ管理マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setMobileInfo(
			JBSbatOutputItem outputItem, HashMap<String, Object> workMap,
			HashMap<String, Object> workParamMap, 
			JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{

		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		
		if (!JBSbatKKConst.PGRP_MOB_07.equals(prcGrpCd) 
				&& !JBSbatKKConst.PGRP_MOB_08.equals(prcGrpCd) 
				&& !JBSbatKKConst.PGRP_MOB_09.equals(prcGrpCd))
		{
			return;
		}
		
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		// 共通出力項目
		setCommonOutPutInfo(outMap, tchishoInfo, svcKeiNo);
		// サービス契約出力項目
		setSvcKeiOutPutInfo(
				outMap, workMap, svcCd, prcGrpCd,
				tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD), svcKeiNo);
		
		// 通知内訳種別コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD, TCHISHO_UCWK_SBT_CD_090);		
		// 利用開始年月日
		outMap.setString(JBSbatKKIFM195.USE_STAYMD, "99999999");
		// ＡＤＳＬ利用開始年月日
		outMap.setString(JBSbatKKIFM195.ADSL_USE_STAYMD, "99999999");
		
		// IEEE802.1X用SSID
		String ieeeSsid = (String)workParamMap.get(GYM_PRM_CD_IEEE802_1X_SSID);
		outMap.setString(JBSbatKKIFM195.IEEE802_1X_SSID, ieeeSsid);

		// WPA2/AES用SSID
		String wpa2Ssid = (String)workParamMap.get(GYM_PRM_CD_WPA2_AES_SSID);
		outMap.setString(JBSbatKKIFM195.WPA2_AES_SSID, wpa2Ssid);

		// WEP用SSID
		String wepSsid = (String)workParamMap.get(GYM_PRM_CD_WEP_SSID);
		outMap.setString(JBSbatKKIFM195.WEP_SSID, wepSsid);

		// WEPキー
		String wepKey = (String)workParamMap.get(GYM_PRM_CD_WEP_KEY);
		outMap.setString(JBSbatKKIFM195.WEP_KEY, wepKey);

		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		outMap.setString(JBSbatKKIFM195.FTP_SERVER_URL, ftpUrl);

		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		outMap.setString(JBSbatKKIFM195.POP_SERVER_URL, popUrl);

		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		outMap.setString(JBSbatKKIFM195.SMTP_SERVER_URL, smtpUrl);
		// ▼▼▼ OM-2013-0003121 Add Start ▼▼▼
		// SYSID
		outMap.setString(JBSbatKKIFM195.SYSID, sysid);
		// ▲▲▲ OM-2013-0003121 Add End   ▲▲▲
		// 出力フラグ
		outMap.setOutFlg(true);
		outputItem.addOutMapList(outMap);

	}
	
	/**
	 * 共通出力項目を設定します。
	 * 
	 * @param outMap 出力用マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setCommonOutPutInfo(
			JBSbatServiceInterfaceMap outMap, JBSbatCommonDBInterface tchishoInfo, String svcKeiNo) throws Exception 
	{
		
		// サービス契約番号
		outMap.setString(JBSbatKKIFM195.SVC_KEI_NO, svcKeiNo);
		// 申込明細番号
		outMap.setString(JBSbatKKIFM195.MSKM_DTL_NO, 
				tchishoInfo.getString(JBSbatKK_T_TCHISHO.MSKM_DTL_NO));
		// 通知書番号
		outMap.setString(JBSbatKKIFM195.TCHISHO_NO, 
				tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO));
		// 通知書発行コード
		outMap.setString(JBSbatKKIFM195.TCHISHO_HAKKO_CD, 
				tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD));
		// 通知完了済フラグ
		outMap.setString(JBSbatKKIFM195.TCHI_FIN_ZM_FLG, tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.TCHI_FIN_ZM_FLG));
		// 更新年月日時分秒
		outMap.setString(JBSbatKKIFM195.UPD_DTM_BF, tchishoInfo.getString(JBSbatKK_T_TCHISHO.UPD_DTM));
	}
	
	/**
	 * サービス契約出力情報を設定します。
	 * 
	 * @param outMap 出力用マップ
	 * @param workMap ワーキングマップ
	 * @param cdNmMap コード名称マップ
	 * @param svcCd サービスコード
	 * @param prcGrpCd 料金グループコード
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setSvcKeiOutPutInfo(
			JBSbatServiceInterfaceMap outMap, HashMap<String, Object> workMap,
			String svcCd, String prcGrpCd, String idTchishoHakSkbtCd, String svcKeiNo) throws Exception
	{
		// サービスコード
		outMap.setString(JBSbatKKIFM195.SVC_CD, svcCd);
		// 料金グループコード
		outMap.setString(JBSbatKKIFM195.PRC_GRP_CD, prcGrpCd);
		// 料金コースコード
		outMap.setString(JBSbatKKIFM195.PCRS_CD, 
				this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PCRS_CD));
		// 料金プランコード
		outMap.setString(JBSbatKKIFM195.PPLAN_CD, 
				this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PPLAN_CD));
		// 通知書印字名
		outMap.setString(JBSbatKKIFM195.TCHISHO_PRT_NM, this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM));
	}
	
	/**
	 * ワーキングマップから対象テーブル検索結果の特定の値を取得します。
	 * 
	 * @param workMap ワーキングマップ
	 * @param tableName テーブル名
	 * @param key キー
	 * @return 取得値
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
	private String getValue(HashMap<String, Object> workMap, String tableName, String key) throws Exception 
	{
		
		List<JBSbatCommonDBInterface> list = 
			(List<JBSbatCommonDBInterface>)workMap.get(tableName);
		JBSbatCommonDBInterface info = null;
		
		if (null != list && !list.isEmpty())
		{
			info = list.get(0);
			return info.getString(key);
		}
		
		return "";
	}
	
	/**
	 * 印字用名称を取得してセットする
	 * 
	 * @param svcKeiNo サービス契約番号 
	 * @param svcKeiMap サービス契約データマップ
	 * @param hakko_cd 通知書発行コード
	 * @throws Exception 各種エラー
	 */
	private void getPrtNm(String svcKeiNo, JBSbatCommonDBInterface svcKeiMap, String hak_sbt_cd) throws Exception
	{
		// 料金グループ
		String prc_grp_cd = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// 料金コース
		String pcrs_cd = null;
		// 料金プラン
		String pplan_cd = null;
		
		// 料金グループコードが「08:ｅｏモバイル（ＥＭ）」の場合
		if(JBSbatKKConst.PGRP_MOB_08.equals(prc_grp_cd))
		{
			// 発行識別コードが「１」物流倉庫連携かチェック
			if(TCHISHO_HAKKO_SHIKIBETSU_CD_1.equals(hak_sbt_cd))
			{
				// 機器提供サービス契約をチェック
				String[] values = this.chekKKTK(svcKeiNo);
				if(values != null)
				{
					// 料金コースコード
					pcrs_cd = values[0];
					// 料金プランコード
					pplan_cd = values[1];
				}
			}
		}
		// 料金グループコードが「09：eoモバイル（ＵＱ−ＷｉＭＡＸ）の場合
		else if(JBSbatKKConst.PGRP_MOB_09.equals(prc_grp_cd))
		{
			// 機器提供サービス契約をチェック
			String[] values = this.chekKKTK(svcKeiNo);
			if(values != null)
			{
				// 料金コースコード
				pcrs_cd = values[0];
				// 料金プランコード
				pplan_cd = values[1];
			}
		}
		// 料金グループコードが「11：ｅｏ光テレビ」「13：ｅｏ光テレビ再送信（多チャンネル）の場合
		else if(JBSbatKKConst.PGRP_TV_11.equals(prc_grp_cd) || JBSbatKKConst.PGRP_TV_13.equals(prc_grp_cd))
		{
// ▼▼▼ 2013.12.21【OM-2013-0005286】Add START▼▼▼
			// サービス契約の料金コース
			String pcrs_cdTv = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD);
			// サービス契約の料金プラン
			String pplan_cdTv = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
			if("PA3701".equals(pplan_cdTv))
			{
				// 料金プランマスタから料金コース、プランに紐づく印字名を取得
				JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
				// 主キーで検索マップを生成する
				whereParam.setValue(JBSbatKK_M_PPLAN.PCRS_CD, pcrs_cdTv);
				whereParam.setValue(JBSbatKK_M_PPLAN.PPLAN_CD, pplan_cdTv);
				// 一意検索を実行
				JBSbatCommonDBInterface result = this.db_KK_M_PPLAN.selectByPrimaryKeys(whereParam);
				if(result != null)
				{
// 2014/07/03 ANK-2135-00-00 DEL START
//					// 取得した印字名をサービス契約のマップにセットする
//					svcKeiMap.setValue(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM,
//							result.getString(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM));
// 2014/07/03 ANK-2135-00-00 DEL END

// 2014/07/03 ANK-2135-00-00 ADD START
					// 料金プランマスタから取得した印字名
					String idTchishoPrtYoPPlanNm = result.getString(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM);
					
// 2014/07/28 IT1-2014-0000256 DEL START
//					// 申込明細番号
//					String mskmDtlNo = null;
// 2014/07/28 IT1-2014-0000256 DEL END

// 2014/07/24 IT1-2014-0000246 ADD START
					if (this.mIdoMskmDtlNo != null)
					{
// 2014/07/28 IT1-2014-0000256 DEL START
//						mskmDtlNo = this.mIdoMskmDtlNo;
// 2014/07/28 IT1-2014-0000256 DEL END
// 2014/07/28 IT1-2014-0000256 ADD START
						// 異動予約の申込明細番号に紐付く申込時登録不可契約予約情報を抽出
						Object[] setParamAddf = { this.mIdoMskmDtlNo, svcKeiNo };
						this.executeKK_T_MKJ_ADDF_KEI_RV_KK_SELECT_001(setParamAddf);
						JBSbatCommonDBInterface resultAddf = this.db_KK_T_MKJ_ADDF_KEI_RV.selectNext();
						if (resultAddf != null)
						{
							// 申込時登録不可契約予約情報が存在する場合は、以下の形式で印字名を取得する。
							// ID通知書印字用料金プラン名 ＋ 全角空白 ＋ 業務パラメータ設定値
							idTchishoPrtYoPPlanNm = idTchishoPrtYoPPlanNm + "　" + (String)this.workParamMapIni.get(GYM_PRM_CD_STCH);
						}
// 2014/07/28 IT1-2014-0000256 ADD END
					}
					else
					{
// 2014/07/24 IT1-2014-0000246 ADD END
// 2014/07/28 IT1-2014-0000256 DEL START
//					// サービス契約番号に紐付く通知書発行対象の異動があった申込明細番号を取得する。
//					Object[] setParamSvc = { svcKeiNo, super.opeDate };
//					this.executeKK_T_SVC_KEI_KK_SELECT_302(setParamSvc);
//					JBSbatCommonDBInterface resultSvc = this.db_KK_T_SVC_KEI.selectNext();
//					if (resultSvc != null)
//					{
//						mskmDtlNo = resultSvc.getString(JBSbatKK_T_SVC_KEI.MSKM_DTL_NO);
//					}
// 2014/07/28 IT1-2014-0000256 DEL END
// 2014/07/28 IT1-2014-0000256 ADD START
						// 申込時登録不可契約予約情報が存在しない場合は、
						// サービス契約番号に紐付く割引サービス契約情報を抽出
						Object[] setParamWrib = { super.opeDate, super.opeDate, super.opeDate, svcKeiNo };
						this.executeKK_T_WRIB_SVC_KEI_KK_SELECT_062(setParamWrib);
						JBSbatCommonDBInterface resultWrib = this.db_KK_T_WRIB_SVC_KEI.selectNext();
						if (resultWrib != null)
						{
							// 割引サービス契約情報が存在する場合は、以下の形式で印字名を取得する。
							// ID通知書印字用料金プラン名 ＋ 全角空白 ＋ 業務パラメータ設定値
							idTchishoPrtYoPPlanNm = idTchishoPrtYoPPlanNm + "　" + (String)this.workParamMapIni.get(GYM_PRM_CD_STCH);
						}
// 2014/07/28 IT1-2014-0000256 ADD END
// 2014/07/24 IT1-2014-0000246 ADD START
					}
// 2014/07/24 IT1-2014-0000246 ADD END

// 2014/07/28 IT1-2014-0000256 DEL START
//					// 申込明細番号に紐付く申込時登録不可契約予約情報を抽出
//					Object[] setParamAddf = { mskmDtlNo, svcKeiNo };
//					this.executeKK_T_MKJ_ADDF_KEI_RV_KK_SELECT_001(setParamAddf);
//					JBSbatCommonDBInterface resultAddf = this.db_KK_T_MKJ_ADDF_KEI_RV.selectNext();
//					if (resultAddf != null)
//					{
//						// 申込時登録不可契約予約情報が存在する場合は、以下の形式で印字名を取得する。
//						// ID通知書印字用料金プラン名 ＋ 全角空白 ＋ 業務パラメータ設定値
//						idTchishoPrtYoPPlanNm = idTchishoPrtYoPPlanNm + "　" + (String)this.workParamMapIni.get(GYM_PRM_CD_STCH);
//					}
// 2014/07/28 IT1-2014-0000256 DEL END
					// 取得した印字名をサービス契約のマップにセットする
					svcKeiMap.setValue(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM, idTchishoPrtYoPPlanNm);
// 2014/07/03 ANK-2135-00-00 ADD END
				}
				// 印字名取得完了
				return;
			}
// ▲▲▲ 2013.12.21【OM-2013-0005286】Add END▲▲▲
			// ▼▼▼ ST2-2013-0000090 Add Start ▼▼▼
			// サービス契約内訳に紐づく機器提供サービス契約のデータを取得する
			JBSbatCommonDBInterface param = new JBSbatCommonDBInterface();
			param.setValue(svcKeiNo);
			param.setValue(super.opeDate);
			param.setValue(super.opeDate);
			this.db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(param, KK_T_KKTK_SVC_KEI_KK_SELECT_099);
			JBSbatCommonDBInterface result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
			// ＳＴＢ格納用リスト
			ArrayList<JBSbatCommonDBInterface> stb_list = new ArrayList<JBSbatCommonDBInterface>();
			while(result != null)
			{
				String chTnKkSbtCd = result.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD);
				// 宅内機器種別コードがSTBかをチェック
				if (TAKNKIKI_SBT_CD_STB.equals(chTnKkSbtCd))
				{
// 2013.08.24 2013OM-2013-0000836 add start
					// 取得したサービス契約内訳番号をキーに異動予約を再度検索する。
					// 異動区分 in (00009,00019,00068)、 異動予約詳細 in (003)、異動予約ステータス in (00, 03)
					String idoRsvSvckeiUcwk = result.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_UCWK_NO);
					
					if (!JKKStringUtil.isNullBlank(idoRsvSvckeiUcwk)) {
						JBSbatCommonDBInterface resultIdo = getIdoRsvBySvcKeiUcwk(idoRsvSvckeiUcwk);

						// 異動予約が取得できたら、新料金コースCD,新料金プランCDで、PCRS_CD,PPLAN_CD を上書きする。
						if (resultIdo != null) {
							String newPcrcCd = resultIdo.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD);     // 新料金コースCD
							String newPplanCd = resultIdo.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD);   // 新料金プランCD
						
							// null はsetValueできないので空文字に置き換える
							if(newPcrcCd == null) {
								newPcrcCd = "";
							}
							if(newPplanCd == null) {
								newPplanCd = "";
							}
							result.setValue(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD, newPcrcCd);
							result.setValue(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD, newPplanCd);
						}
					}
					
					// PCRS_CD,PPLAN_CDが設定されている場合に、ＳＴＢリストに格納する。
					String pcrcCd = result.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD);
					String pplanCd = result.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD);
					if (!JKKStringUtil.isNullBlank(pcrcCd) && !JKKStringUtil.isNullBlank(pplanCd)) {
// 2013.08.24 2013OM-2013-0000836 add end
						// ＳＴＢなのでリストへ格納する
						stb_list.add(result);
// 2013.08.24 2013OM-2013-0000836 add start
					}
// 2013.08.24 2013OM-2013-0000836 add end
				}
				// 次のレコード
				result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
			}
			
			// 一時料金コース
			String pcrs_cd_itiji = null;
			// 一時料金プラン
			String pplan_cd_itiji = null;
			// 最大固定料金
			BigDecimal max_value = null;
			// ＳＴＢのリストから固定料金が一番高額なレコードを選択する
			for(JBSbatCommonDBInterface dataMap : stb_list)
			{
				// 機器提供サービス契約のＳＴＢに紐づくサービス契約内訳の料金コースコード
				String kktkPcrsCd = dataMap.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD);
				// 機器提供サービス契約のＳＴＢに紐づくサービス契約内訳の料金プランコード
				String kktkPplanCd = dataMap.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD);
				// 料金プランの下ひとけたが偶数かチェック
				int val = Integer.parseInt(kktkPplanCd.substring(5));
				if (0 == val%2 && 0 != val)
				{
					// 下ひとけたを奇数にして戻す
					StringBuilder sb = new StringBuilder();
					sb.append(kktkPplanCd.substring(0, 5));
					sb.append(val-1);
					kktkPplanCd = sb.toString();
				}
				
				// 料金固定金額を取得する
				JBSbatCommonDBInterface koteiParam = new JBSbatCommonDBInterface();
				koteiParam.setValue(kktkPcrsCd);
				koteiParam.setValue(kktkPplanCd);
				koteiParam.setValue(super.opeDate);
				koteiParam.setValue(super.opeDate);
				koteiParam.setValue(super.opeDate);
				// 固定料金取得ＳＱＬ発行
				this.db_KK_M_PPLAN.selectBySqlDefine(koteiParam, KK_M_PPLAN_KK_SELECT_004);
				JBSbatCommonDBInterface koteiResult = this.db_KK_M_PPLAN.selectNext();
				if(koteiResult != null)
				{
					// 一時保持にデータがあるかチェック
					if(pcrs_cd_itiji == null && pplan_cd_itiji == null)
					{
						// ないので初期値を格納
						pcrs_cd_itiji = kktkPcrsCd;
						pplan_cd_itiji = kktkPplanCd;
						max_value = koteiResult.getBigDecimal(JBSbatKK_M_PPLAN_KTTANKA.PPLAN_KOTEI_AMNT);
					}
					else
					{
						// あるので一時保持している固定金額と比較する
// 2013.08.24 2013OM-2013-0000836 mod start
//						if(max_value != null && max_value.compareTo(koteiResult.getBigDecimal(JBSbatKK_M_PPLAN_KTTANKA.PPLAN_KOTEI_AMNT)) > 0)
						if(max_value != null && max_value.compareTo(koteiResult.getBigDecimal(JBSbatKK_M_PPLAN_KTTANKA.PPLAN_KOTEI_AMNT)) < 0)
// 2013.08.24 2013OM-2013-0000836 mod end
						{
							// 新たに保持する
							pcrs_cd_itiji = kktkPcrsCd;
							pplan_cd_itiji = kktkPplanCd;
							max_value = koteiResult.getBigDecimal(JBSbatKK_M_PPLAN_KTTANKA.PPLAN_KOTEI_AMNT);
						}
					}
				}
			}
			// 一時保持していた料金コース、料金プランを取り出す
			pcrs_cd = pcrs_cd_itiji;
			pplan_cd = pplan_cd_itiji;
			// ▲▲▲ ST2-2013-0000090 Add End   ▲▲▲
		}
		
		// ここまでに料金コース、料金プランがセットされているかチェック
		if(pcrs_cd == null && pplan_cd == null)
		{
			// サービス契約の料金コース
			pcrs_cd = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD);
			// サービス契約の料金プラン
			pplan_cd = svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
		}
		// 料金プランマスタから料金コース、プランに紐づく印字名を取得
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		// 主キーで検索マップを生成する
		whereParam.setValue(JBSbatKK_M_PPLAN.PCRS_CD, pcrs_cd);
		whereParam.setValue(JBSbatKK_M_PPLAN.PPLAN_CD, pplan_cd);
		// 一意検索を実行
		JBSbatCommonDBInterface result = this.db_KK_M_PPLAN.selectByPrimaryKeys(whereParam);
		if(result != null)
		{
			// 取得した印字名をサービス契約のマップにセットする
			svcKeiMap.setValue(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM,
					result.getString(JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM));
		}
		// 印字名取得完了
		return;
	}

// 2013.08.24 OM-2013-0000836 add start
	/**
	 * 異動予約スキーマを検索します。
	 * 条件：入力のサービス契約番号
	 * @param idoRsvSvckeiUcwk
	 * @return
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getIdoRsvBySvcKeiUcwk(
			String idoRsvSvckeiUcwk) throws Exception {
		// サービス契約番号の検索マップを生成する
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(idoRsvSvckeiUcwk);
		this.db_KK_T_IDO_RSV.selectBySqlDefine(whereMap, KK_T_IDO_RSV_KK_SELECT_054);
		JBSbatCommonDBInterface resultIdo = this.db_KK_T_IDO_RSV.selectNext();
		return resultIdo;
	}
// 2013.08.24 OM-2013-0000836 add end
	
// 2013.10.02 OM-2013-0002704 add start
	/**
	 * 異動予約スキーマを検索します。
	 * 条件：入力のオプションサービス契約番号
	 * @param idoRsvSvckeiUcwk
	 * @return
	 * @throws Exception
	 */
	private JBSbatCommonDBInterface getIdoRsvByOpSvcKei(
			String idoRsvOpSvckei) throws Exception {
		// サービス契約番号の検索マップを生成する
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(idoRsvOpSvckei);
		this.db_KK_T_IDO_RSV.selectBySqlDefine(whereMap, KK_T_IDO_RSV_KK_SELECT_057);
		JBSbatCommonDBInterface resultIdo = this.db_KK_T_IDO_RSV.selectNext();
		return resultIdo;
	}
// 2013.10.02 OM-2013-0002704 add end

	/**
	 * 外部出力用のファイル出力項目を設定します。
	 * 
	 * @param workMap ワーキングマップ
	 * @param workParamMap 業務パラメータマップ
	 * @param cdNmMap コード名称マップ
	 * @param tchishoInfo 通知書情報
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param dataCnt データ出力数
	 * @param outputItem 出力情報
	 * @return dataCnt ファイル出力数
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	@SuppressWarnings("unchecked")
//OM-2016-0002236 MOD START
//	private int setOutPutData(
//			HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
//			JBSbatCommonDBInterface tchishoInfo, String svcKeiUcwkNo, int dataCnt) throws Exception
	private int setOutPutData(
			HashMap<String, Object> workMap, HashMap<String, Object> workParamMap,
			JBSbatCommonDBInterface tchishoInfo, String svcKeiUcwkNo, int dataCnt,
			JBSbatOutputItem outputItem) throws Exception
//OM-2016-0002236 MOD END
	{
		
		StringBuilder str = new StringBuilder();
		
		// IEEE802.1X用SSID
		String ieeeSsid = (String)workParamMap.get(GYM_PRM_CD_IEEE802_1X_SSID);
		// WPA2/AES用SSID
		String wpa2Ssid = (String)workParamMap.get(GYM_PRM_CD_WPA2_AES_SSID);
		// WEP用SSID
		String wepSsid = (String)workParamMap.get(GYM_PRM_CD_WEP_SSID);
		// WEPキー
		String wepKey = (String)workParamMap.get(GYM_PRM_CD_WEP_KEY);
		// FTPサーバURL
		String ftpUrl = (String)workParamMap.get(GYM_PRM_CD_FTP);
		// POPサーバURL
		String popUrl = (String)workParamMap.get(GYM_PRM_CD_POP);
		// SMTPサーバURL
		String smtpUrl = (String)workParamMap.get(GYM_PRM_CD_SMTP);
		
		// ----------------------------------------
		// 基本部を出力する。
		// ----------------------------------------
		// レコード種別
		appendStr(str, RCD_SBT_BASE, 2, true, true);
		// 通知書番号
		appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO), 12, true, true);
		// 契約サービス
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD), 2, true, true);
		// 料金グループ
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD), 2, true, true);
		// 料金コース
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PCRS_CD), 3, true, true);
		// 料金プラン
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PPLAN_CD), 6, true, true);
		// 発行依頼日
		// --ST1-2012-0000553--MOD--
		appendStr(str, this.opeDate, 8, true, true);
		// --ST1-2012-0000553--MOD--
		
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		// 利用開始年月日
		// ▼▼▼ ST1-2012-0001091 Add Start ▼▼▼
		// eo光ネットマンションタイプの場合のみ、
		if (JKKBatConst.PRC_GRP_CD_NET_MT.equals(prcGrpCd))
		// ▲▲▲ ST1-2012-0001091 Add End   ▲▲▲
		{
			// ▼▼▼ ST1-2012-0001091 Add Start ▼▼▼
			String use_sta_ymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_STA_YMD);
			if(null != use_sta_ymd && !("".equals(use_sta_ymd)))
			{
				appendStr(str, use_sta_ymd, 8, true, true);
			}
			else
			{
				// 2013/8/28 OM-2013-0001075 Mod Start
				// サービス開始前の場合、サービス利用開始希望年月日を設定する。
				use_sta_ymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_USE_STA_KIBO_YMD);
				if(null != use_sta_ymd && !("".equals(use_sta_ymd)))
				{
					appendStr(str, use_sta_ymd, 8, true, true);
				}
				else
				{
					// サービス利用開始希望年月日が取得できない場合、NULLではなく"99999999"を設定する。
					appendStr(str, "99999999", 8, true, true);
				}
//				// サービス開始前の場合、NULLではなく"99999999"を設定する。
//				appendStr(str, "99999999", 8, true, true);
				// 2013/8/28 OM-2013-0001075 Mod End
			}
			// ▲▲▲ ST1-2012-0001091 Add End   ▲▲▲
		}
		else
		{
			appendStr(str, "99999999", 8, true, true);
		}
		// ADSL利用開始日
		if (JBSbatKKConst.PGRP_ADSL_05.equals(prcGrpCd) || JBSbatKKConst.PGRP_ADSL_06.equals(prcGrpCd))
		{
			// ▼▼▼ ST1-2012-0001091 Add Start ▼▼▼
			String use_sta_ymd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_STA_YMD);
			if(null != use_sta_ymd && !("".equals(use_sta_ymd)))
			{
				appendStr(str, use_sta_ymd, 8, true, true);
			}
			else
			{
				// サービス開始前の場合、NULLではなく"99999999"を設定する。
				appendStr(str, "99999999", 8, true, true);
			}
		}
		else
		{
			appendStr(str, "99999999", 8, true, true);
		}
		
		// ＳＹＳＩＤ
		// 2013/10/08 OM-2013-0003121 Mod Start
		//appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SYSID), 10, true, true);
		appendStr(str, tchishoInfo.getString(JBSbatKK_T_SVC_KEI.SYSID), 10, true, true);
		// 2013/10/08 OM-2013-0003121 Mod End
		// サービス契約番号
		appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHI_TG_BPIN.SVC_KEI_NO), 10, true, true);
		// サービス契約内訳番号
		appendStr(str, svcKeiUcwkNo, 12, true, true);
		// お客様ID初期パスワード
		String defaultPassword = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD);
		String shkPopIdPwd = null;
		JBSbatCommonDBInterface optionIspInfo = null;
		List<JBSbatCommonDBInterface> opSvcKeiIspList = 
			(List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_OPSVKEI_ISP);
		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			for (int i = 0; i < opSvcKeiIspList.size(); i++)
			{
				optionIspInfo = opSvcKeiIspList.get(i);
				
				if (null == optionIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD) 
						&& !"".equals(optionIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD)))
				{
					shkPopIdPwd = optionIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD);
					break;
				}
			}
		}
		if (null != defaultPassword && !"".equals(defaultPassword))
		{
			appendStr(str, defaultPassword, 8, true, true);
		}
		else
		{
			appendStr(str, shkPopIdPwd, 8, true, true);
		}
		// 契約付加情報
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_MSKM_DTL, JBSbatKK_T_MSKM_DTL.KEI_HUKA_CD), 3, true, true);
		
		// ▼▼▼ ST1-2012-0001091 Add Start ▼▼▼
		// FTPサーバー名
		appendStr(str, ftpUrl, 20, true, true);
		// POPサーバー名
// ANK-3139-02-00 MOD START
//		appendStr(str, popUrl, 16, true, true);
		appendStr(str, popUrl, 20, true, true);
// ANK-3139-02-00 MOD END
		// SMTPサーバー名
		appendStr(str, smtpUrl, 20, true, true);
		// ▲▲▲ ST1-2012-0001091 Add End   ▲▲▲
		
		// 電話番号(契約者)
		appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_TELNO), 12, true, true);
		
// 2013.09.11 OM-2013-0001952 add start
		// 契約者名
		String cust_name = getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM);
// 2013.09.11 OM-2013-0001952 add end

		// 通知書発行コードが新規発行の場合
		// IT1-2022-0000002 MOD START
		//if (TCHISHO_HAKKO_CD_NEW.equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD)))
		if (TCHISHO_HAKKO_CD_NEW.equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD))
			&& !"01".equals(tchishoInfo.getValue(JBSbatKK_T_TCHISHO.TCHISHO_PRINT_JSSI_SK_CD)))
		// IT1-2022-0000002 MOD END
		{
			// 2013/9/16 OM-2013-0002020 Mod Start
			// 通知書の住所が空でない場合、設定された住所を連携する
//			if (null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD)
//					&& null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM)
//					&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD))
//					&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM)))
			// 通知書の住所が空でなく、未確定でもない場合、設定された住所を連携する
			if (null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD)
					&& null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM)
					&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD))
					&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM))
					&& !(ADD_CD_NO_CFM.equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD))))
					// 2013/9/16 OM-2013-0002020 Mod End
			{
				// 通知書送付先名
				appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM), 90, true, true);
				// 通知書送付先コード 住所変更より住所が連携されるため、決め打ちで機器配送先住所とする
				appendStr(str, TCHISHO_SOHUS_CD_KIKI, 1, true, true);
				// 通知書送付先郵便番号
				appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD), 7, true, true);
				
				String[] address = JZMAdOutputEdit.getPtn07(
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM),
						tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM));
				
				// 2013/9/15 OM-2013-0002143 Add Start
				nayoseHosei(address);
				// 2013/9/15 OM-2013-0002143 Add End
				
				// 通知書送付先都道府県名
				appendStr(str, address[0], 8, true, true);
				// 通知書送付先市区町村名
				appendStr(str, address[1], 24, true, true);
				// 通知書送付先大字通称名
				appendStr(str, address[2], 36, true, true);
				// 通知書送付先字丁目名
				appendStr(str, address[3], 24, true, true);
				// 通知書送付先番地号
				appendStr(str, address[4], 122, true, true);
				// 通知書送付先住所補記・建物名
				appendStr(str, address[5], 90, true, true);
				// 通知書送付先住所補記・部屋番号
				appendStr(str, address[6], 30, true, true);
			}
			// 通知書の住所が空の場合
			else
			{
				// 機器設置先名は値が入らないので判断用参照先を都道府県に変更
				String kikiSofusNm = getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM);
				String kikiStcNm = getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_STATE_NM);
				String keishaNm = getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_STATE_NM);
				
				// 2013/9/16 OM-2013-0002020 Add Start
				String kikiSofusAdcd = this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AD_CD);
				if(null == kikiSofusAdcd || "".equals(kikiSofusAdcd) || ADD_CD_NO_CFM.equals(kikiSofusAdcd))
				{
					kikiSofusNm = "";
				}
				String kikiStcAdcd = this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AD_CD);
				if(null == kikiStcAdcd || "".equals(kikiStcAdcd) || ADD_CD_NO_CFM.equals(kikiStcAdcd))
				{
					kikiStcNm = "";
				}
				// 2013/9/16 OM-2013-0002020 Add End
				
				String addressKbn = checkAddressInfo(kikiSofusNm, kikiStcNm, keishaNm);
				if (ADDRESS_KBN_SOHUS.equals(addressKbn))
				{
					// 通知書送付先名
// 2013.09.11 OM-2013-0001952 mod start
//					appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM), 90, true, true);
					// 契約者名を優先して設定する。
					if ( ! JKKStringUtil.isNullBlank(cust_name) ) {
						appendStr(str, cust_name, 90, true, true);
					} else {
						appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM), 90, true, true);
					}
// 2013.09.11 OM-2013-0001952 mod end
					// 通知書送付先コード
					appendStr(str, TCHISHO_SOHUS_CD_KIKI, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_PCD), 7, true, true);
					
					String[] address = JZMAdOutputEdit.getPtn07(
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_CITY_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_OAZTSU_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AZCHO_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_BNCHIGO),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRTTM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRRM));
					
					// 2013/9/15 OM-2013-0002143 Add Start
					nayoseHosei(address);
					// 2013/9/15 OM-2013-0002143 Add End
					
					// 通知書送付先都道府県名
					appendStr(str, address[0], 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, address[1], 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, address[2], 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, address[3], 24, true, true);
					// 通知書送付先番地号
					appendStr(str, address[4], 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, address[5], 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, address[6], 30, true, true);
				}
				else if (ADDRESS_KBN_SCS.equals(addressKbn))
				{
					// 通知書送付先名
// 2013.09.11 OM-2013-0001952 mod start
//					appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_NM), 90, true, true);
					// 契約者名を優先して設定する。
					if ( ! JKKStringUtil.isNullBlank(cust_name) ) {
						appendStr(str, cust_name, 90, true, true);
					} else {
						appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_NM), 90, true, true);
					}
// 2013.09.11 OM-2013-0001952 mod end
					
					// 通知書送付先コード
					appendStr(str, TCHISHO_SOHUS_CD_KIKI, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_PCD), 7, true, true);
					String[] address = JZMAdOutputEdit.getPtn07(
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_STATE_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_CITY_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_OAZTSU_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AZCHO_NM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_BNCHIGO),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRTTM),
							this.getValue(workMap, KK_T_KKTK_SVC_KEI_KK_SELECT_080, JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRRM));
					
					// 2013/9/15 OM-2013-0002143 Add Start
					nayoseHosei(address);
					// 2013/9/15 OM-2013-0002143 Add End
					
					// 通知書送付先都道府県名
					appendStr(str, address[0], 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, address[1], 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, address[2], 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, address[3], 24, true, true);
					// 通知書送付先番地号
					appendStr(str, address[4], 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, address[5], 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, address[6], 30, true, true);
				}
				else if (ADDRESS_KBN_KEISHA.equals(addressKbn))
				{
					// 通知書送付先名
					appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM), 90, true, true);
					// 通知書送付先コード
					appendStr(str, TCHISHO_SOHUS_CD_KEI, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_PCD), 7, true, true);
					String[] address = JZMAdOutputEdit.getPtn07(
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_STATE_NM),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_CITY_NM),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_OAZTSU_NM),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_AZCHO_NM),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_BNCHIGO),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRTTM),
							this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRRM));
					
					// 2013/9/15 OM-2013-0002143 Add Start
					nayoseHosei(address);
					// 2013/9/15 OM-2013-0002143 Add End
					
					// 通知書送付先都道府県名
					appendStr(str, address[0], 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, address[1], 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, address[2], 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, address[3], 24, true, true);
					// 通知書送付先番地号
					appendStr(str, address[4], 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, address[5], 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, address[6], 30, true, true);
				}
				else
				{
					// 通知書送付先名
					appendStr(str, null, 90, true, true);
					// 通知書送付先コード
					appendStr(str, null, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, null, 7, true, true);
					// 通知書送付先都道府県名
					appendStr(str, null, 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, null, 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, null, 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, null, 24, true, true);
					// 通知書送付先番地号
					appendStr(str, null, 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, null, 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, null, 30, true, true);
				}
				
				// 更新対象の住所情報をリストに設定する
				setUpdAdrsInfo(workMap, addressKbn, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO), tchishoInfo, null);
			}
		}
		// 通知書再発行の場合
		else
		{
			// 2014.04.16 ANK-1946-00-00 Add Start
			// 通知書の住所が空でなく、未確定でもない場合、設定された住所を連携する
			if (null != tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_AD_CD)
					&& null != tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_NM)
					&& !"".equals(tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_AD_CD))
					&& !"".equals(tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_NM))
					&& !(ADD_CD_NO_CFM.equals(tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_AD_CD))))
			{
				// 通知書送付先名
				appendStr(str, tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_NM), 90, true, true);
				// 通知書送付先コード
				appendStr(str, tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_CD), 1, true, true);
				// 通知書送付先郵便番号
				appendStr(str, tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_PCD), 7, true, true);
				
				String[] address = JZMAdOutputEdit.getPtn07(
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_STATE_NM),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_CITY_NM),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_OAZTSU_NM),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_AZCHO_NM),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_BNCHIGO),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_ADRTTM),
						tchishoInfo.getString(JBSbatKKIFM489.TCHISHO_SOHUS_ADRRM));
				
				nayoseHosei(address);
				
				// 通知書送付先都道府県名
				appendStr(str, address[0], 8, true, true);
				// 通知書送付先市区町村名
				appendStr(str, address[1], 24, true, true);
				// 通知書送付先大字通称名
				appendStr(str, address[2], 36, true, true);
				// 通知書送付先字丁目名
				appendStr(str, address[3], 24, true, true);
				// 通知書送付先番地号
				appendStr(str, address[4], 122, true, true);
				// 通知書送付先住所補記・建物名
				appendStr(str, address[5], 90, true, true);
				// 通知書送付先住所補記・部屋番号
				appendStr(str, address[6], 30, true, true);
			}
			// 通知書の住所が空の場合
			else
			{
				// 2014.04.16 ANK-1946-00-00 Add End
				
			// 2013/9/24 OM-2013-0002239 Add Start
			String addressKbn = "999";
			// 2013/9/24 OM-2013-0002239 Add End
			// 通知書送付先コードを取得する
			String tchiSofusCd = tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD);
			// 通知書から機器提供サービス契約番号を取得
			String sohu_kktk_svckeiNo = tchishoInfo.getString(JBSbatKK_T_TCHISHO.KKTK_SVC_KEI_NO);
			// 機器データ変数
			JBSbatCommonDBInterface sohu_kk_data = null;
			// 送付先コードが存在しない場合、もしくは機器送付先指定で機器提供サービス契約番号がない場合
			if(tchiSofusCd == null || (tchiSofusCd.equals(TCHISHO_SOHUS_CD_KIKI) && sohu_kktk_svckeiNo == null))
			{
				// 送付先を契約者住所にする
				tchiSofusCd = TCHISHO_SOHUS_CD_KEI;
			}
			
			// 通知書送付コード先コードが機器の場合、送付先情報の取得を試みる
			if(tchiSofusCd.equals(TCHISHO_SOHUS_CD_KIKI))
			{
				// 機器提供サービス契約番号からカレント情報を取得する
				JBSbatCommonDBInterface paramMap = new JBSbatCommonDBInterface();
				paramMap.setValue(sohu_kktk_svckeiNo);
				paramMap.setValue(super.opeDate);
				this.db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramMap, KK_T_KKTK_SVC_KEI_KK_SELECT_141);
				sohu_kk_data = this.db_KK_T_KKTK_SVC_KEI.selectNext();
				if(sohu_kk_data == null)
				{
					// 送付先を契約者住所にする
					tchiSofusCd = TCHISHO_SOHUS_CD_KEI;
				}
			}
			
			// 送付先コードが契約者住所かチェック
			if (TCHISHO_SOHUS_CD_KEI.equals(tchiSofusCd))
			{
				// 通知書送付先名
				appendStr(str, this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM), 90, true, true);
				// 通知書送付先コード
				appendStr(str, tchiSofusCd, 1, true, true);
				// 通知書送付先郵便番号
				appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_PCD), 7, true, true);
				String[] address = JZMAdOutputEdit.getPtn07(
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_STATE_NM),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_CITY_NM),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_OAZTSU_NM),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_AZCHO_NM),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_BNCHIGO),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRTTM),
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRRM));
				
				// 2013/9/15 OM-2013-0002143 Add Start
				nayoseHosei(address);
				// 2013/9/15 OM-2013-0002143 Add End
				
				// 通知書送付先都道府県名
				appendStr(str, address[0], 8, true, true);
				// 通知書送付先市区町村名
				appendStr(str, address[1], 24, true, true);
				// 通知書送付先大字通称名
				appendStr(str, address[2], 36, true, true);
				// 通知書送付先字丁目名
				appendStr(str, address[3], 24, true, true);
				// 通知書送付先番地号
				appendStr(str, address[4], 122, true, true);
				// 通知書送付先住所補記・建物名
				appendStr(str, address[5], 90, true, true);
				// 通知書送付先住所補記・部屋番号
				appendStr(str, address[6], 30, true, true);
				
				// 2013/9/24 OM-2013-0002239 Add Start
				addressKbn = ADDRESS_KBN_KEISHA;
				// 2013/9/24 OM-2013-0002239 Add End
			}
			// 送付先住所が機器送付先住所かチェック
			else if (TCHISHO_SOHUS_CD_KIKI.equals(tchiSofusCd))
			{
				// 機器送付先を取得
				String kikiSofusNm = sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM);
				// 機器送付先に値があるかチェック
				if (kikiSofusNm != null && !"".equals(kikiSofusNm))
				{
					// 通知書送付先名
// 2013.09.11 OM-2013-0001952 mod start
//					appendStr(str, sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM), 90, true, true);
					// 契約者名を優先して設定する。
					if ( ! JKKStringUtil.isNullBlank(cust_name) ) {
						appendStr(str, cust_name, 90, true, true);
					} else {
						appendStr(str, sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM), 90, true, true);
					}
// 2013.09.11 OM-2013-0001952 mod end
					// 通知書送付先コード
					appendStr(str, tchiSofusCd, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_PCD), 7, true, true);
					String[] address = JZMAdOutputEdit.getPtn07(
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_CITY_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_OAZTSU_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AZCHO_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_BNCHIGO),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRTTM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRRM));
					
					// 2013/9/15 OM-2013-0002143 Add Start
					nayoseHosei(address);
					// 2013/9/15 OM-2013-0002143 Add End
					
					// 通知書送付先都道府県名
					appendStr(str, address[0], 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, address[1], 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, address[2], 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, address[3], 24, true, true);
					// 通知書送付先番地号
					appendStr(str, address[4], 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, address[5], 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, address[6], 30, true, true);
					
					// 2013/9/24 OM-2013-0002239 Add Start
					addressKbn = ADDRESS_KBN_SOHUS;
					// 2013/9/24 OM-2013-0002239 Add End
				}
				else
				{
					// 通知書送付先名
					// 機器設置先名は値が入ってこないので契約者名を編集する
					appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM), 90, true, true);
					// 通知書送付先コード
					appendStr(str, tchiSofusCd, 1, true, true);
					// 通知書送付先郵便番号
					appendStr(str, sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_PCD), 7, true, true);
					String[] address = JZMAdOutputEdit.getPtn07(
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_STATE_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_CITY_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_OAZTSU_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AZCHO_NM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_BNCHIGO),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRTTM),
							sohu_kk_data.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRRM));
					
					// 2013/9/15 OM-2013-0002143 Add Start
					nayoseHosei(address);
					// 2013/9/15 OM-2013-0002143 Add End
					
					// 通知書送付先都道府県名
					appendStr(str, address[0], 8, true, true);
					// 通知書送付先市区町村名
					appendStr(str, address[1], 24, true, true);
					// 通知書送付先大字通称名
					appendStr(str, address[2], 36, true, true);
					// 通知書送付先字丁目名
					appendStr(str, address[3], 24, true, true);
					// 通知書送付先番地号
					appendStr(str, address[4], 122, true, true);
					// 通知書送付先住所補記・建物名
					appendStr(str, address[5], 90, true, true);
					// 通知書送付先住所補記・部屋番号
					appendStr(str, address[6], 30, true, true);
					
					// 2013/9/24 OM-2013-0002239 Add Start
					addressKbn = ADDRESS_KBN_SCS;
					// 2013/9/24 OM-2013-0002239 Add End
				}
			}
			// 更新対象の住所情報をリストに設定する
			// 2013/9/24 OM-2013-0002239 Mod Start
//			setUpdAdrsInfo(workMap, "999", tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO), tchishoInfo, sohu_kk_data);
			setUpdAdrsInfo(workMap, addressKbn, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO), tchishoInfo, sohu_kk_data);
			// 2013/9/24 OM-2013-0002239 Mod End
			
			// 2014.04.16 ANK-1946-00-00 Add Start
			}
			// 2014.04.16 ANK-1946-00-00 Add End
		}
		
		// 作成日
		appendStr(str, super.opeDate, 8, true, true);
		// 総オプションデータ数
		int opCnt = 0;
		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			opCnt = getOptionCount(opSvcKeiIspList);
		}
		appendStr(str, new StringBuilder().append(opCnt).toString(), 3, true, true);
		
		// 入居開始日
		// ▼▼▼ ANK-1392-00-00 Add Start ▼▼▼
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_TK_HOSHIKI_KEI, JBSbatKK_T_TK_HOSHIKI_KEI.SHUNKO_YMD), 8, true, true);
		// ▲▲▲ ANK-1392-00-00 Add End   ▲▲▲
		
		// 初期ｅｏＩＤ
		String s_eo_ID = getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SHK_EOID);
		appendStr(str, s_eo_ID, 12, true, true);
		// 初期ｅｏＩＤパスワード
		appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.SHK_EOID_PWD), 8, true, true);
		// 家族入会コード
		appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST_GRP_SETTE, JBSbatCK_T_GRP.GRP_JOIN_CD), 12, true, true);
		// 家族入会コードパスワード
		appendStr(str, getValue(workMap, D_TBL_NAME_CK_T_CUST_GRP_SETTE, JBSbatCK_T_GRP.GRP_JOIN_CD_PWD), 8, true, true);
		// 通知書発行コード
		appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_HAKKO_CD), 1, true, true);
		if (isMobileSvc(prcGrpCd))
		{
			// ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ
			appendStr(str, ieeeSsid, 9, true, true);
			// ＷＰＡ２／ＡＥＳ用ＳＳＩＤ
			appendStr(str, wpa2Ssid, 11, true, true);
			// ＷＥＰ用ＳＳＩＤ
			appendStr(str, wepSsid, 2, true, true);
			// ＷＥＰキー
			appendStr(str, wepKey, 13, true, true);
		}
		else
		{
			// ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ
			appendStr(str, null, 9, true, true);
			// ＷＰＡ２／ＡＥＳ用ＳＳＩＤ
			appendStr(str, null, 11, true, true);
			// ＷＥＰ用ＳＳＩＤ
			appendStr(str, null, 2, true, true);
			// ＷＥＰキー
			appendStr(str, null, 13, true, true);
		}
		// ID速報書のみフラグ
		appendStr(str, null, 1, true, true);

		//▼▼▼ IT1-2013-0000453 2013/03/12 M.IKUMA START ▼▼▼
		// eoID（初期eoIDと同じの場合は出力しない）
		String eo_ID = getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.EOID);
		if(s_eo_ID != null && !s_eo_ID.equals(eo_ID))
		{
			// 値が違うので出力する
			appendStr(str, eo_ID, 80, true, true);
		}
		else
		{
			// 値が同一なのでカラ文字出力
			appendStr(str, "", 80, true, true);
		}
		//▲▲▲ IT1-2013-0000453 2013/03/12 M.IKUMA   END ▲▲▲

		// 整理番号
		appendStr(str, formatSeiriNo(getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SEIRI_NO)), 15, true, true);
		// サービス契約名
		appendStr(str, this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_M_PPLAN.ID_TCHISHO_PRT_YO_PPLAN_NM), 100, true, true);
		// 通知書コード
// OM-2013-0003311 2013.10.21 mod start
//// 2013/01/17 ST2-2013-0000097 chg start
//			String tchishoCd = getTchishoType(
//					prcGrpCd, 																			// 料金グループコード
//					this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PCRS_CD),		// 料金コースコード
//					tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),						// ID通知書発行識別コード
//					this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SEIRI_NO));		// 整理番号
//// 2013/01/17 ST2-2013-0000097 chg end

			String tchishoCd = tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_CD);
			// 通知書コードがnullか空白の場合
			if(JKKStringUtil.isNullBlank(tchishoCd))
			{
				tchishoCd = getTchishoType(
						prcGrpCd, 																			// 料金グループコード
						this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PCRS_CD),		// 料金コースコード
						tchishoInfo.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD),						// ID通知書発行識別コード
						this.getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SEIRI_NO));		// 整理番号
			}
// OM-2013-0003311 2013.10.21 mod end
		appendStr(str, tchishoCd, 3, true, true);
		// 認証ＩＤ
// 2013.08.22 OM-2013-0000669 mod  10から64に変更
		appendStr(str, (String)getNinshoIdInfo(workMap).get(JBSbatKKIFM195.NINSHO_ID), 64, true, true);
		// 認証ＩＤパスワード
		appendStr(str, (String)getNinshoIdInfo(workMap).get(JBSbatKKIFM195.NINSHO_ID_PWD), 8, true, true);

		// 発信者番号通知
		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		if (JKKBatConst.SVC_CD_TEL.equals(svcCd))
		{
			List<JBSbatCommonDBInterface> opSvcKeiList = 
				(List<JBSbatCommonDBInterface>)workMap.get(D_TBL_NAME_KK_T_OP_SVC_KEI);
			if (null != opSvcKeiList && !opSvcKeiList.isEmpty())
			{
				appendStr(str, HSS_NO_NOTICE, 10, true, true);
			}
			else
			{
				appendStr(str, HSS_NO_NO_NOTICE, 10, true, true);
			}
		}
		else
		{
			appendStr(str, null, 10, true, true);
		}
		// ポート番号
		// 2013/9/22 OM-2013-0002424 Mod Start

		// 2013/11/19 OM-2013-0003310 Mod Start
		// ＶＡポート番号は無条件に設定するように変更
//		if(this.vaPortUmFlg)
//		{
			appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO), 1, true, true);
//		}
		
//		else
//		{
//			appendStr(str, null, 1, true, true);
//		}
		// 2013/11/19 OM-2013-0003310 Mod End
		
		//		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO), 1, true, true);
		// 2013/9/22 OM-2013-0002424 Mod End
		// ｅｏ電話番号
		String eoTelNo = getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO);
		{
			JTUBatStringUtil util = new JTUBatStringUtil();
			eoTelNo = util.editTln(super.commonItem, eoTelNo, db_ZM_M_KYOKU_NO);
		}
		appendStr(str, eoTelNo, 14, true, true);
		// リモート操作パスワード
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.TEL_OP_SETTE_RMTS_PWD), 8, true, true);
		// 番ポ有無
		// v11.00 2014/10/21 Mod Start
//		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM), 1, false, true);
		appendStr(str, getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL, JBSbatKK_T_SVKEIUW_EOH_TEL.BMP_UM), 1, true, true);

		// 申込年月日（守口印刷へは連携しないため、NULLでOK）
		appendStr(str, null, 1, true, true);
		
		// 申込形態コード（守口印刷へは連携しないため、NULLでOK）
		appendStr(str, null, 1, false, true);
		// v11.00 2014/10/21 Mod End
		
		this.outPutFile.write(str.toString());
		dataCnt++;
		
		// ----------------------------------------
		// オプション部を出力する。
		// ----------------------------------------
		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			JBSbatCommonDBInterface opSvcKeiIspInfo = null;
			for (int i = 0; i < opSvcKeiIspList.size(); i++)
			{
				str = new StringBuilder();
				opSvcKeiIspInfo = opSvcKeiIspList.get(i);
				
				// レコード種別
				appendStr(str, RCD_SBT_OPTION, 2, true, true);
				// 通知書番号
				appendStr(str, tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_NO), 12, true, true);
				// オプション種別
				appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD), 4, true, true);
				// オプション通番
				// ▼▼▼ ANK-1392-00-00 Add Start ▼▼▼
				String op_cnt = new StringBuilder().append(i + 1).toString();
				String set_op_cnt = "";
				if(1 == op_cnt.length())
				{
					set_op_cnt = "00" + op_cnt;
				}
				else if(2 == op_cnt.length())
				{
					set_op_cnt = "0" + op_cnt;
				}
				else
				{
					set_op_cnt = op_cnt;
				}
				appendStr(str, set_op_cnt, 3, true, true);
				// ▲▲▲ ANK-1392-00-00 Add End   ▲▲▲
				
				if (JBSbatKKConst.OP_SVC_CD_EMAIL.equals(
						opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD)))
				{
					// データ項目１
					// POPID
					appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.POP_ID), 500, true, true);
					// データ項目２
					// メールアドレス
					appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.MLAD), 500, true, true);
					// データ項目３
					// 2013/9/24 OM-2013-0002367 Mod Start
					// ＰＯＰＩＤパスワード
//OM-2016-0002236 MOD START
//					appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_POP_ID_PWD), 500, true, true);
					String popIdPwd = getPasswordFromOutputItem(outputItem, TCHISHO_UCWK_SBT_CD_050,
							opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.MLAD));
					if (null == popIdPwd)
					{
						popIdPwd = "";
					}
					appendStr(str, popIdPwd, 500, true, true);
//OM-2016-0002236 MOD END
//					appendStr(str, null, 500, true, true);
					// 2013/9/24 OM-2013-0002367 Mod End
					// データ項目４
					appendStr(str, null, 500, true, true);
					// データ項目５
					appendStr(str, null, 500, true, true);
					// データ項目６
					appendStr(str, null, 500, true, true);
					// データ項目７
					appendStr(str, null, 500, true, true);
					// データ項目８
					appendStr(str, null, 500, true, true);
					// データ項目９
					appendStr(str, null, 500, true, true);
					// データ項目１０
					appendStr(str, null, 500, true, true);
					// データ項目１１
					appendStr(str, null, 500, true, true);
					// データ項目１２
					appendStr(str, null, 500, true, true);

				}
				else if(JBSbatKKConst.OP_SVC_CD_MY_HP.equals(
						opSvcKeiIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD)))
				{
					
					// データ項目１
					// WEBID
					appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.WEB_ID), 500, true, true);
					// データ項目２
					appendStr(str, null, 500, true, true);
					// データ項目３
					// 2013/9/24 OM-2013-0002367 Mod Start
					// ＷｅｂＩＤパスワード
//OM-2016-0002236 MOD START
//					appendStr(str, opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.SHK_WEB_ID_PWD), 500, true, true);
					String webIdPwd = getPasswordFromOutputItem(outputItem, TCHISHO_UCWK_SBT_CD_060,
							opSvcKeiIspInfo.getString(JBSbatKK_T_OPSVKEI_ISP.WEB_ID));
					if (null == webIdPwd)
					{
						webIdPwd = "";
					}
					appendStr(str, webIdPwd, 500, true, true);
//OM-2016-0002236 MOD END
//					appendStr(str, null, 500, true, true);
					// 2013/9/24 OM-2013-0002367 Mod End
					// データ項目４
					appendStr(str, null, 500, true, true);
					// データ項目５
					appendStr(str, null, 500, true, true);
					// データ項目６
					appendStr(str, null, 500, true, true);
					// データ項目７
					appendStr(str, null, 500, true, true);
					// データ項目８
					appendStr(str, null, 500, true, true);
					// データ項目９
					appendStr(str, null, 500, true, true);
					// データ項目１０
					appendStr(str, null, 500, true, true);
					// データ項目１１
					appendStr(str, null, 500, true, true);
					// データ項目１２
					appendStr(str, null, 500, true, true);

					
				}
				// データ項目１３
				appendStr(str, null, 500, true, true);
				// データ項目１４
				appendStr(str, null, 500, true, true);
				// データ項目１５
				appendStr(str, null, 500, true, true);
				// データ項目１６
				appendStr(str, null, 500, true, true);
				// データ項目１７
				appendStr(str, null, 500, true, true);
				// データ項目１８
				appendStr(str, null, 500, true, true);
				// データ項目１９
				appendStr(str, null, 500, true, true);
				// データ項目２０
				appendStr(str, null, 500, false, true);
				
				this.outPutFile.write(str.toString());
				dataCnt++;
			}
		}
		
		return dataCnt;
	}

	// 2013/9/15 OM-2013-0002143 Add Start
	/**
	 * 名寄せ補正<br>
	 * 名寄せ処理後に市区町村名がNULLまたは空の場合、番地号の先頭1文字で補正する。
	 * 
	 * @param address 名寄せ後住所情報
	 */
	private void nayoseHosei(String[] address) 
	{
		// 名寄せ処理後に市区町村名がNULLまたは空の場合、番地号の先頭1文字で補正する。
		if((null == address[1] || "".equals(address[1])) && (null != address[4] && address[4].length() > 1))
		{
			// 市区町村名に番地号の先頭1文字を設定
			address[1] = address[4].substring(0, 1);
			// 番地号に番地号の2文字目以降を設定
			address[4] = address[4].substring(1, address[4].length());
		}
	}
	// 2013/9/15 OM-2013-0002143 Add End
	
// 2013/01/17 ST2-2013-0000097 chg start

	/**
	 * 通知書種別を判断し返します。
	 * @param prcGrpCd 料金グループコード
	 * @param pcrsCd 料金コースコード
	 * @param idTchishoHakSkbtCd ID通知書発行識別コード
	 * @param seiriNo 整理番号
	 * @return 通知書種別コード
	 * @throws Exception 
	 */
	private String getTchishoType(String prcGrpCd, String pcrsCd, String idTchishoHakSkbtCd, String seiriNo) throws Exception
	{
// 2013/01/17 ST2-2013-0000097 chg end
		String tchishoType = TCHISHO_SBT_3TS;
		
		if(seiriNo == null)
		{
			seiriNo = "";
		}

		// eo64エア
		if (JBSbatKKConst.PGRP_64_AIR.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MLADR;
		}
		// eo光ネットホームタイプ
		else if (JKKBatConst.PRC_GRP_CD_NET_HM.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光ネットメゾンタイプ
		else if (JKKBatConst.PRC_GRP_CD_NET_MZ.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光ネットマンションタイプ
		else if (JKKBatConst.PRC_GRP_CD_NET_MT.equals(prcGrpCd))
		{
			// 料金コースコードがマンションプライベート対象である場合
			if (TCHISHO_HAKKO_SHIKIBETSU_CD_4.equals(idTchishoHakSkbtCd))
			{
				tchishoType = TCHISHO_SBT_MP;
			}
			else
			{
				tchishoType = TCHISHO_SBT_GL;
			}
		}
		// eoADSL(eAccess)
		else if (JBSbatKKConst.PGRP_ADSL_05.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_ADSL_E;
		}
		// eoADSL(フレッツ)
		else if (JBSbatKKConst.PGRP_ADSL_06.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_ADSL_F;
		}
		// eoモバイル(Wi-Fi)
		else if (JBSbatKKConst.PGRP_MOB_07.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(EM)
		else if (JBSbatKKConst.PGRP_MOB_08.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(UQ-WiMAX)
		else if (JBSbatKKConst.PGRP_MOB_09.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eo光電話
		else if (JBSbatKKConst.PGRP_TEL.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
// 2013/01/17 ST2-2013-0000097 add start
			// 整理番号に紐づくマンションのサービスが存在するか検索する
			Object[] whereParam = new Object[]{seiriNo, super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_SVC_KEI_KK_SELECT_077(whereParam);
			// 整理番号に紐づくマンションのサービスが存在する場合
			if(null != db_KK_T_SVC_KEI.selectNext())
			{
				tchishoType = TCHISHO_SBT_GL;
			}
// 2013/01/17 ST2-2013-0000097 add end
		}
		// eo光テレビ(K-CAT)
		else if (JBSbatKKConst.PGRP_TV_11.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
// 2013/01/17 ST2-2013-0000097 add start
			// 整理番号に紐づくマンションのサービスが存在するか検索する
			Object[] whereParam = new Object[]{seiriNo, super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_SVC_KEI_KK_SELECT_077(whereParam);
			// 整理番号に紐づくマンションのサービスが存在する場合
			if(null != db_KK_T_SVC_KEI.selectNext())
			{
				tchishoType = TCHISHO_SBT_GL;
			}
// 2013/01/17 ST2-2013-0000097 add end
		}
		// eo光テレビ(KCN)
		else if (JBSbatKKConst.PGRP_TV_12.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
// 2013/01/17 ST2-2013-0000097 add start
			// 整理番号に紐づくマンションのサービスが存在するか検索する
			Object[] whereParam = new Object[]{seiriNo, super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_SVC_KEI_KK_SELECT_077(whereParam);
			// 整理番号に紐づくマンションのサービスが存在する場合
			if(null != db_KK_T_SVC_KEI.selectNext())
			{
				tchishoType = TCHISHO_SBT_GL;
			}
// 2013/01/17 ST2-2013-0000097 add end
		}
		// eo光テレビ(再送信)
		else if (JBSbatKKConst.PGRP_TV_13.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
// 2013/01/17 ST2-2013-0000097 add start
			// 整理番号に紐づくマンションのサービスが存在するか検索する
			Object[] whereParam = new Object[]{seiriNo, super.opeDate, super.opeDate, super.opeDate};
			executeKK_T_SVC_KEI_KK_SELECT_077(whereParam);
			// 整理番号に紐づくマンションのサービスが存在する場合
			if(null != db_KK_T_SVC_KEI.selectNext())
			{
				tchishoType = TCHISHO_SBT_GL;
			}
// 2013/01/17 ST2-2013-0000097 add end
		}
		// ▼▼▼ IT1-2012-0002533 Add Start ▼▼▼
		// ｅｏモバイル（メールアドレス）
		else if (JBSbatKKConst.PGRP_MOB_16.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MLADR;
		}
		// ▲▲▲ IT1-2012-0002533 Add End   ▲▲▲
		// その他
		else
		{
			tchishoType = null;
		}

		return tchishoType;
	}
	
	/**
	 * 文字列を連結します。
	 * 
	 * @param str
	 *            文字列
	 * @param value
	 *            連結対象の文字列
	 * @param size
	 *            サイズ
	 * @param continueFlg
	 *            継続フラグ
	 * @throws Exception 
	 */
	private void appendStr(StringBuilder str, String value, int size, boolean continueFlg, boolean doubleQuoteFlg) throws Exception
	{
		String preValue = value;

		if (null == value)
		{
			preValue = "";
		}
		
		if (doubleQuoteFlg)
		{
			str.append("\"");
		}
		
		str.append(adjustCharSize(preValue, size));
		
		if (doubleQuoteFlg)
		{
			str.append("\"");
		}

		if (continueFlg)
		{
			str.append(JBSbatKKConst.STR_COMMA);
		}
	}
	
	/**
	 * 対象のサービスがモバイルか判断します。
	 * 
	 * @param prcGrpCd 料金グループコード
	 * @return モバイルであれば、true
	 */
	private boolean isMobileSvc(String prcGrpCd)
	{
		
		if (JBSbatKKConst.PGRP_MOB_07.equals(prcGrpCd) 
				|| JBSbatKKConst.PGRP_MOB_08.equals(prcGrpCd) 
				|| JBSbatKKConst.PGRP_MOB_09.equals(prcGrpCd))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * 指定したサービス契約内訳番号のサービス契約内訳情報を取得します。
	 * 
	 * @param svcUcwkList サービス契約内訳情報リスト
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return サービス契約内訳情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface getSvcUcwkInfo(
			List<JBSbatCommonDBInterface> svcUcwkList, String svcKeiUcwkNo) throws Exception
	{
		
		for (int k = 0; k < svcUcwkList.size(); k++)
		{
			JBSbatCommonDBInterface preSvcUcwkInfo = svcUcwkList.get(k);
			if (svcKeiUcwkNo.equals(preSvcUcwkInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)))
			{
				return preSvcUcwkInfo;
			}
		}
		
		return null;
	}
	
	/**
	 * 文字列を指定されたサイズに調整する。<BR>
	 * 指定サイズが文字列のサイズより小さい場合は、文字列の語尾を切り捨てる。
	 * <BR>
	 * @param para 調整前の文字列
	 * @param size 指定サイズ（バイト数）
	 * @param encode 文字コード（ＯＳ準拠の場合は""（空）を指定）
	 * @return String 調整後の文字列
	 * @throws Exception
	 */
	public String adjustCharSize(String para, int size)
			throws Exception
	{
		String retStr = "";
		byte[] paraByte = null;
		if (null == para)
		{
			return retStr;
		}
		if (0 >= size)
		{
			return retStr;
		}
		// 入力文字列のバイト配列を取得する
		paraByte = para.getBytes(MS932);

		// 入力文字列のバイトサイズを取得する
		int paraByteSize = paraByte.length;

		// 入力文字列のバイトサイズ ≦ 指定サイズの場合
		if (paraByteSize <= size)
		{
			retStr = para;
		}
		// 入力文字列のバイトサイズ ＞ 指定サイズの場合
		else
		{ 
			// 指定サイズ分の文字列を生成する
//			retStr = new String(paraByte, 0, size);
			retStr = new String(paraByte, 0, size, MS932);

		}

		return retStr;
	}
	
	/**
	 * 取得した住所情報のうち、適切な住所を判断します
	 * 
	 * @param kikiSofusNm 機器送付先名称
	 * @param kikiStcNm 機器設置先名称
	 * @param keishaNm 契約者名称
	 * @return 住所情報区分
	 */
	private String checkAddressInfo(String kikiSofusNm, String kikiStcNm, String keishaNm)
	{
		String addressKbn = null;
		
		if (null != kikiSofusNm && !"".equals(kikiSofusNm))
		{
			addressKbn = ADDRESS_KBN_SOHUS;
		}
		else
		{
			if (null != kikiStcNm && !"".equals(kikiStcNm))
			{
				addressKbn = ADDRESS_KBN_SCS;
			}
			else
			{
				if (null != keishaNm && !"".equals(keishaNm))
				{
					addressKbn = ADDRESS_KBN_KEISHA;
				}
			}
		}		
		return addressKbn;
	}
	
	/**
	 * 更新対象の住所情報を設定します
	 * 
	 * @param workMap ワーキングマップ
	 * @param addressKbn アドレス区分
	 * @param tchishoNo 通知書番号
	 * @param tchishoInfo 通知書情報
	 * @param sohu_kk_data 指定された機器提供サービス契約情報
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void setUpdAdrsInfo(
			HashMap<String, Object> workMap, String addressKbn, 
			String tchishoNo, JBSbatCommonDBInterface tchishoInfo, JBSbatCommonDBInterface sohu_kk_data) throws Exception
	{
		if (null == addressKbn)
		{
			return;
		}
		
		HashMap<String, Object> updAdrsInfoMap = new HashMap<String, Object>();
		
		// 通知書番号
		updAdrsInfoMap.put(JBSbatKK_T_TCHISHO.TCHISHO_NO, tchishoNo);

// 2013.09.11 OM-2013-0001952 add start
		String cust_name = this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM);
// 2013.09.11 OM-2013-0001952 add end
		
		// 通知書の住所が空でない場合、設定された住所を連携する
		if (!"999".equals(addressKbn)
				&& null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD)
				&& null != tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM)
				&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD))
				// 2013/9/16 OM-2013-0002020 Mod Start
//				&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM)))
				&& !"".equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM))
				&& !(ADD_CD_NO_CFM.equals(tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM))))
				// 2013/9/16 OM-2013-0002020 Mod End
		{
			// 通知書送付先名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM));
			// 通知書送付先コード
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_KIKI);
			// 通知書送付先住所コード
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD));
			// 通知書送付先郵便番号
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD));
			// 通知書送付先都道府県名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM));
			// 通知書送付先市区町村名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM));
			// 通知書送付先大字通称名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM));
			// 通知書送付先字丁目名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM));
			// 通知書送付先番地号
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO));
			// 通知書送付先住所補記・建物名
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM));
			// 通知書送付先住所補記・部屋番号
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM));
			// 通知書送付先電話番号
			updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO, 
					tchishoInfo.getString(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO));
		}
		// その他、アドレス区分に合わせて出力する
		else
		{
			// 住所用ハッシュマップ
			HashMap<String, String> add_map = null;
			/// 再発行で機器提供サービス契約が指定されているかチェック
			if(sohu_kk_data != null	)
			{
				// 指定されている機器情報のハッシュマップをセット
				add_map = sohu_kk_data.getMap();
			}
			else
			{
				// この通知書の整理番号に紐づく機器情報のハッシュマップをセット
				List<JBSbatCommonDBInterface> list = (List<JBSbatCommonDBInterface>)workMap.get(KK_T_KKTK_SVC_KEI_KK_SELECT_080);
				if(list != null && list.size() >= 1)
				{
					// リストから元になるハッシュマップデータを取り出す
					JBSbatCommonDBInterface data = list.get(0);
					add_map = data.getMap();
				}
				else
				{
					// 空のハッシュマップを作製する
					add_map = new HashMap<String, String>();
				}
			}
			// アドレス区分が機器提供サービス契約送付先かチェック
			if (ADDRESS_KBN_SOHUS.equals(addressKbn))
			{
				// ■■■IT2-2012-0001665 2012/11/13 住所更新ファイル必須エラー対応 M.IKUMA START ■■■
				// 通知書送付先名
// 2013.09.11 OM-2013-0001952 mod start
//				updAdrsInfoMap.put(
//						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
//						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM));
				// 契約者名を優先して設定する。
				if ( ! JKKStringUtil.isNullBlank(cust_name) ) {
					updAdrsInfoMap.put(
					JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
					cust_name);
				} else {
					updAdrsInfoMap.put(
							JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
							add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM));
				}
// 2013.09.11 OM-2013-0001952 mod end
				// 通知書送付先コード
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_KIKI);
				// 通知書送付先住所コード
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AD_CD));
				// 通知書送付先郵便番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_PCD));
				// 通知書送付先都道府県名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM));
				// 通知書送付先市区町村名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_CITY_NM));
				// 通知書送付先大字通称名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_OAZTSU_NM));
				// 通知書送付先字丁目名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AZCHO_NM));
				// 通知書送付先番地号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_BNCHIGO));
				// 通知書送付先住所補記・建物名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRTTM));
				// 通知書送付先住所補記・部屋番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRRM));
				// 通知書送付先電話番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_TELNO));
			}
			// 機器設置先かチェック
			else if (ADDRESS_KBN_SCS.equals(addressKbn))
			{
				// 通知書送付先名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
						// 機器設置先名は値が入ってこないので契約者名を編集する
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM));
				// 通知書送付先コード
				updAdrsInfoMap.put(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_KIKI);
				// 通知書送付先住所コード
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AD_CD));
				// 通知書送付先郵便番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_PCD));
				// 通知書送付先都道府県名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_STATE_NM));
				// 通知書送付先市区町村名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_CITY_NM));
				// 通知書送付先大字通称名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_OAZTSU_NM));
				// 通知書送付先字丁目名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AZCHO_NM));
				// 通知書送付先番地号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_BNCHIGO));
				// 通知書送付先住所補記・建物名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRTTM));
				// 通知書送付先住所補記・部屋番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRRM));
				// 通知書送付先電話番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO, 
						add_map.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SK_TELNO));
				// ■■■IT2-2012-0001665 2012/11/13 住所更新ファイル必須エラー対応 M.IKUMA   END ■■■
			}
			// 契約者住所で出力する
			else
			{
				// 通知書送付先名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_NM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.CUST_NM));
				// 通知書送付先コード
				updAdrsInfoMap.put(JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CD, TCHISHO_SOHUS_CD_KEI);
				// 通知書送付先住所コード
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AD_CD, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_AD_CD));
				// 通知書送付先郵便番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_PCD, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_PCD));
				// 通知書送付先都道府県名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_STATE_NM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_STATE_NM));
				// 通知書送付先市区町村名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_CITY_NM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_CITY_NM));
				// 通知書送付先大字通称名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_OAZTSU_NM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_OAZTSU_NM));
				// 通知書送付先字丁目名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_AZCHO_NM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_AZCHO_NM));
				// 通知書送付先番地号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_BNCHIGO, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_BNCHIGO));
				// 通知書送付先住所補記・建物名
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRTTM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRTTM));
				// 通知書送付先住所補記・部屋番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_ADRRM, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_ADRRM));
				// 通知書送付先電話番号
				updAdrsInfoMap.put(
						JBSbatKK_T_TCHISHO.TCHISHO_SOHUS_TELNO, 
						this.getValue(workMap, D_TBL_NAME_CK_T_CUST, JBSbatCK_T_CUST.KEISHA_TELNO));
			}
		}
		this.tchishoUpdAdrsInfoList.add(updAdrsInfoMap);
	}
	
	/**
	 * サービスに合った認証ID情報を返します。
	 * 
	 * @param workMap ワークマップ
	 * @return 認証ID情報
	 * @throws Exception
	 */
	private HashMap<String, Object> getNinshoIdInfo(HashMap<String, Object> workMap) throws Exception
	{
		String svcCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.SVC_CD);
		String prcGrpCd = getValue(workMap, D_TBL_NAME_KK_T_SVC_KEI, JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
		String ninshoId = "";
		String ninshoIdPwd = "";
		HashMap<String, Object> ninshoIdInfoMap = new HashMap<String, Object>();

		if (!JKKBatConst.SVC_CD_NET.equals(svcCd))
		{
			return ninshoIdInfoMap;
		}

		// 料金グループが「光ネット」系列の場合
		if (JKKBatConst.PRC_GRP_CD_NET_HM.equals(prcGrpCd) || JKKBatConst.PRC_GRP_CD_NET_MZ.equals(prcGrpCd)
				|| JKKBatConst.PRC_GRP_CD_NET_MT.equals(prcGrpCd))
		{
			// 認証ＩＤ
			ninshoId = getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_NET, JBSbatKK_T_SVKEIUW_EOH_NET.ISP_NINSHO_ID);
			// 認証ＩＤパスワード
			ninshoIdPwd = getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOH_NET, JBSbatKK_T_SVKEIUW_EOH_NET.SHK_ISP_NINSHO_ID_PWD);
		}
		else
		{
			// 料金グループコードがeoADSL(eAccess)の場合
			if (JBSbatKKConst.PGRP_ADSL_05.equals(prcGrpCd))
			{
				// 認証ＩＤ
// 2013.08.22 OM-2013-0000669 mod start
//				ninshoId = splitAtMark(getValue(workMap, D_TBL_NAME_KK_T_ADSL_KOJI, JBSbatKK_T_ADSL_KOJI.ADSL_NINSHO_ID));
				ninshoId = getValue(workMap, D_TBL_NAME_KK_T_ADSL_KOJI, JBSbatKK_T_ADSL_KOJI.ADSL_NINSHO_ID);
// 2013.08.22 OM-2013-0000669 mod end
			}
			// 料金グループコードがeoADSL(フレッツ)の場合
			else if (JBSbatKKConst.PGRP_ADSL_06.equals(prcGrpCd))
			{
				// 認証ＩＤ
// 2013.08.22 OM-2013-0000669 mod start
//				ninshoId = splitAtMark(getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOADSL, JBSbatKK_T_SVKEIUW_EOADSL.ADSL_NINSHO_ID));
				ninshoId = getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOADSL, JBSbatKK_T_SVKEIUW_EOADSL.ADSL_NINSHO_ID);
// 2013.08.22 OM-2013-0000669 mod end
				// 認証ＩＤパスワード
				ninshoIdPwd = getValue(workMap, D_TBL_NAME_KK_T_SVKEIUW_EOADSL, JBSbatKK_T_SVKEIUW_EOADSL.ADSL_NINSHO_ID_PWD);
			}
		}
		
		ninshoIdInfoMap.put(JBSbatKKIFM195.NINSHO_ID, ninshoId);
		ninshoIdInfoMap.put(JBSbatKKIFM195.NINSHO_ID_PWD, ninshoIdPwd);
		
		return ninshoIdInfoMap;
	}
	
//	/**
//	 * ＠マークよりも前の文字列を返却します。
//	 * 
//	 * @param ninshoId 認証ID
//	 * @return ＠マーク以前の文字列
//	 */
//	private String splitAtMark(String ninshoId)
//	{
//		if (null == ninshoId)
//		{
//			return "";
//		}
//		
//		String splitStr[] = ninshoId.split("@");
//		return splitStr[0];
//	}
	
	/**
	 * 総オプション数を取得します。
	 * 
	 * @param opSvcKeiIspList オプションサービス契約<ISP>リスト
	 * @return 総オプション数
	 * @throws Exception
	 */
	private int getOptionCount(List<JBSbatCommonDBInterface> opSvcKeiIspList) throws Exception
	{
		JBSbatCommonDBInterface optionIspInfo = null;
		int cnt = 0;
		
		if (null != opSvcKeiIspList && !opSvcKeiIspList.isEmpty())
		{
			for (int i = 0; i < opSvcKeiIspList.size(); i++)
			{
				optionIspInfo = opSvcKeiIspList.get(i);

				if (JBSbatKKConst.OP_SVC_CD_EMAIL.equals(optionIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD))
						|| JBSbatKKConst.OP_SVC_CD_MY_HP.equals(optionIspInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD)))
				{
					cnt++;
				}
			}
		}
		
		return cnt;
	}
	
	/**
	 * 整理番号を「XXXXXXXXX-NNNN」にフォーマットします
	 * 
	 * @param seiriNo 整理番号
	 * @return フォーマットされた整理番号
	 */
	private String formatSeiriNo(String seiriNo)
	{
		if (null == seiriNo || "".equals(seiriNo) || 14 != seiriNo.length())
		{
			return "";
		}
		StringBuilder sb = new StringBuilder();
		int cnt = Integer.parseInt(seiriNo.substring(10));
		sb.append(seiriNo.substring(0, 10));
		sb.append("-");
		sb.append(cnt);
		
		return sb.toString();
		
	}

	/**
	 * コース変更が行われているかチェックしてステータスを反映させる
	 * 
	 * @param resultInfo サービス契約情報
	 * @throws Exception 各種エラー
	 */
	private void checkIDO_RSV_CRS(JBSbatCommonDBInterface resultInfo) throws Exception
	{
// 2014/07/24 IT1-2014-0000246 ADD START
		// 異動予約の申込明細番号の初期化
		this.mIdoMskmDtlNo = null;
// 2014/07/24 IT1-2014-0000246 ADD END
		
		// サービス契約番号の検索マップを生成する
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(resultInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		this.db_KK_T_IDO_RSV.selectBySqlDefine(whereMap, KK_T_IDO_RSV_KK_SELECT_043);
		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)
			{
				// 置換
				resultInfo.setValue(JBSbatKK_T_SVC_KEI.PPLAN_CD, var);
			}
			// 料金コースコード
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD);
			if(var != null)
			{
				// 置換
				resultInfo.setValue(JBSbatKK_T_SVC_KEI.PCRS_CD, var);
			}
			// 料金グループコード
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_PRC_GRP_CD);
			if(var != null)
			{
				// 2013/09/27 OM-2013-0002611 add Start
				// 電話の異動予約がとれたかどうかチェック
				if(var.equals(JBSbatKKConst.PGRP_TEL))
				{
					// 電話の異動予約があるのでフラグを立てる（この予約を優先で使用する）
					this.TEL_DSL_IDO_RSV_FLG = true;
				}
				// 2013/09/27 OM-2013-0002611 add End
				// 置換
				resultInfo.setValue(JBSbatKK_T_SVC_KEI.PRC_GRP_CD, var);
			}
			// 提供方式契約番号
			var = result.getString(JBSbatKK_T_IDO_RSV.NEW_TK_HOSHIKI_KEI_NO);
			if(var != null)
			{
				// 置換
				resultInfo.setValue(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO, var);
			}
// 2014/07/24 IT1-2014-0000246 ADD START
			// 申込明細番号
			this.mIdoMskmDtlNo = result.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO);
// 2014/07/24 IT1-2014-0000246 ADD END
		}
	}

	/**
	 * サービス契約番号に紐づく機器をチェックして料金コース、プランをセットする
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @throws Exception 各種エラー
	 */
	private String[] chekKKTK(String svcKeiNo) throws Exception
	{
		// サービス契約番号で機器提供サービス契約をチェック
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(svcKeiNo);
		whereMap.setValue(super.opeDate);
		this.db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(whereMap, KK_T_KKTK_SVC_KEI_KK_SELECT_063);
		JBSbatCommonDBInterface result = this.db_KK_T_KKTK_SVC_KEI.selectNext();
		// 機器が存在しているかチェック
		if(result != null)
		{
			// 機器の料金コース
			String pcrs_cd = result.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD);
			// 機器の料金プラン
			String pplan_cd = result.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD);
			// 値を返す
			return new String[]{ pcrs_cd, pplan_cd };
		}
		// 値なし
		return null;
	}
	
	/**
	 * inMapの中身をすべて通知書情報に設定します。
	 * (inMapの中身をチェックしてカラ文字はすべてNULLに置換する)
	 * 
	 * @param inMap 入力レコード
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private JBSbatCommonDBInterface setTchishoInfo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		JBSbatCommonDBInterface tchishoInfo = new JBSbatCommonDBInterface();
		// 入力マップを取り出す
		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);
			}
			
			// 通知書情報に入れ替えを行います。
			tchishoInfo.getMap().put(m.getKey(), m.getValue());
		}
		
		return tchishoInfo;
	}

// 2013.10.28 OM-2013-09993623 add start
	private List<JBSbatCommonDBInterface> getOptIspListDsl(String svcKeiNo, JBSbatCommonDBInterface svcKeiInfoJuhenMae) throws Exception
	{
		List<JBSbatCommonDBInterface> optIspListDsl = null;
		String svcKeiJuhenMae_Stat = null;
		String svcKeiJuhenMae_DslYmd = null;
		
		if (svcKeiInfoJuhenMae != null) {
			// データ取得できたとき
			// サービス契約ステータス
			svcKeiJuhenMae_Stat = svcKeiInfoJuhenMae.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT);
			// サービス解約年月日
			svcKeiJuhenMae_DslYmd = svcKeiInfoJuhenMae.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_YMD);
		}
		
		// 住変前のサービス契約がステータスが解約済のとき
		if (svcKeiJuhenMae_Stat != null && JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(svcKeiJuhenMae_Stat)) {
			if (svcKeiJuhenMae_DslYmd != null && !"".equals(svcKeiJuhenMae_DslYmd) && !JBSbatKKConst.S_MAX_DATE.equals(svcKeiJuhenMae_DslYmd)) {
				// オプションのステータスが解約済を対象にして取得する。
				String[] param = new String[] { svcKeiNo, super.opeDate, JBSbatKKConst.OP_SVC_CD_EMAIL, JBSbatKKConst.OP_SVC_CD_MY_HP , svcKeiJuhenMae_DslYmd};
				optIspListDsl = executeKK_T_OPSVKEI_ISP_KK_SELECT_023(param);
			}
		}
		return optIspListDsl;
	}

	/**
	 * SQLKEY(KK_SELECT_019)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 	 	サービス契約番号
	 * 	 	予約適用年月日
	 * </pre>
	 * <p>
	 * 
	 * @param param バイント変数の値配列。
	 * @param hak_sbt_cd 通知書発行識別コード
	 * @return list 取得結果リスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_JuhenMae(String svcKeiNo) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// 検索条件パラメータ
		paramList.setValue(svcKeiNo);
		paramList.setValue(super.opeDate);
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_275);
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVC_KEI.selectNext();

		// １件を返却
		return resultInfo;
	}
	
	/**
	 * SQLKEY(KK_SELECT_016)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 	 	サービス契約番号
	 * 	 	予約適用年月日
	 * 	 	オプションサービスコード
	 * 	 	オプションサービスコード
	 * 	 	オプションサービスコード
	 * </pre>
	 * <p>
	 * 
	 * @param param
	 *            バイント変数の値配列。
	 * @return list 取得結果リスト
	 * @throws Exception
	 *             業務サービス内で発生した例外全般。
	 */
	private List<JBSbatCommonDBInterface> executeKK_T_OPSVKEI_ISP_KK_SELECT_023(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_OPSVKEI_ISP.selectBySqlDefine(paramList, KK_T_OPSVKEI_ISP_KK_SELECT_023);

		List<JBSbatCommonDBInterface> list = new ArrayList<JBSbatCommonDBInterface>();
		JBSbatCommonDBInterface resultInfo = db_KK_T_OPSVKEI_ISP.selectNext();

		while (null != resultInfo)
		{
			list.add(resultInfo);
			resultInfo = db_KK_T_OPSVKEI_ISP.selectNext();
		}

		return list;
	}
// 2013.10.28 OM-2013-09993623 add end

// 2013/11/19 OM-2013-0003310 Add Start
	/**
	 * サービス契約内訳番号から、該当契約に紐付くサービス契約内訳番号をすべて取得し
	 * ポート番号を付与し、結果を返却します。
	 * 
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private List<JBSbatCommonDBInterface> setVaPortNo(List<JBSbatCommonDBInterface> tmpList) throws Exception
	{
		JBSbatCommonDBInterface tmpInfo = new JBSbatCommonDBInterface();
		String w_Port1_Flg = "";
		String w_Port2_Flg = "";
		String w_Port1_AftFlg = "";
		String w_Port2_AftFlg = "";
		String w_Keizk_Find_Flg = "";
		int w_Base_Count = 0;
		int w_Chg_Count = 0;
		
		// サービス契約内訳のポート番号に何が設定されているかを確認する
		for(int i = 0; i < tmpList.size(); i++)
		{
			tmpInfo = tmpList.get(i);

			// 継続元が設定されていない場合
			
			// 2013/12/06 OM-2013-0004977 Mod Start
			if (!isKeizkMtCheck(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO),
								tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG)))
//			if (this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO)))
			// 2013/12/06 OM-2013-0004977 Mod End
				
			{
				w_Base_Count++;
				if ("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO)))
				{
					w_Port1_Flg = "1";
				}
				
				if ("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO)))
				{
					w_Port2_Flg = "1";
				}
			}
			
			// 継続元が設定されている場合
			else
			{
				w_Chg_Count++;
				w_Keizk_Find_Flg = "1";
				if ("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO)))
				{
					w_Port1_AftFlg = "1";
				}
				
				if ("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO)))
				{
					w_Port2_AftFlg = "1";
				}
			}
		}
		
		// １番号コースの場合は、設定されたポート番号をそのまま使用（サービス契約内訳番号に紐付くＶＡポート番号マップには、サービス契約番号に紐づくサービス契約内訳番号が設定されている）
		if (!((w_Base_Count <= 1) && (w_Chg_Count <= 1)))
		{
			// 継続元が設定されていないサービス契約内訳のポート番号に値を設定する
			for(int i = 0; i < tmpList.size(); i++)
			{
				tmpInfo = tmpList.get(i);

				// 2013/12/06 OM-2013-0004977 Mod Start
				if ((!isKeizkMtCheck(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO),
						 tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG))) &&
				// if ((this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO))) &&
				// 2013/12/06 OM-2013-0004977 Mod End

						 (this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO))))
				{
					// 電話番号順が１で１フラグＯＦＦ
					if (("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port1_Flg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"1");
						w_Port1_Flg = "1";
					}
					
					// 電話番号順が１で２フラグＯＦＦ
					else if (("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port2_Flg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"2");
						w_Port2_Flg = "1";
					}
					
					// 電話番号順が２で２フラグＯＦＦ
					else if (("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port2_Flg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"2");
						w_Port2_Flg = "1";
					}
					
					// 電話番号順が２で１フラグＯＦＦ
					else if (("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port1_Flg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"1");
						w_Port1_Flg = "1";
					}
				}
			}
			
			// １フラグ、２フラグともにＯＦＦのとき⇒継続元が設定されているサービス契約内訳のポート番号に番号順を設定
			if ((this.isNullOrEmpty(w_Port1_AftFlg)) &&
				(this.isNullOrEmpty(w_Port2_AftFlg)) &&
				(!this.isNullOrEmpty(w_Keizk_Find_Flg)))
			{
				for(int i = 0; i < tmpList.size(); i++)
				{
					tmpInfo = tmpList.get(i);
					if (!this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO , tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN));
					}
				}
			}
			
			// 継続元が設定されているサービス契約内訳のポート番号に値を設定する
			for(int i = 0; i < tmpList.size(); i++)
			{
				tmpInfo = tmpList.get(i);

				// 2013/12/06 OM-2013-0004977 Mod Start
				if ((isKeizkMtCheck(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO),
						tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG))) &&
				// if ((!this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO))) &&
				// 2013/12/06 OM-2013-0004977 Mod End

						(this.isNullOrEmpty(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO))))
				{
					// 電話番号順が１で１フラグＯＦＦ
					if (("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port1_AftFlg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"1");
						w_Port1_AftFlg = "1";
					}
					
					// 電話番号順が１で２フラグＯＦＦ
					else if (("1".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port2_AftFlg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"2");
						w_Port2_AftFlg = "1";
					}
					
					// 電話番号順が２で２フラグＯＦＦ
					else if (("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port2_AftFlg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"2");
						w_Port2_AftFlg = "1";
					}
					
					// 電話番号順が２で１フラグＯＦＦ
					else if (("2".equals(tmpInfo.getString(JBSbatKK_T_SVKEIUW_EOH_TEL.TELNO_JUN))) &&
						(this.isNullOrEmpty(w_Port1_AftFlg)))
					{
						tmpInfo.setValue(JBSbatKK_T_SVKEIUW_EOH_TEL.VA_PORT_NO,"1");
						w_Port1_AftFlg = "1";
					}
				}
			}
		}
		
		return tmpList;
	}

	/**
	 * nullか空白の判定処理
	 * @param value　判定対象
	 * @return boolean　（true:null、false:null以外）
	 */
	private boolean isNullOrEmpty(String value)
	{
		if ("".equals(value) || value == null)
		{
			return true;
		}

		return false;
	}
	// 2013/11/19 OM-2013-0003310 Add End
	// 2013/12/06 OM-2013-0004977 Add Start
	/**
	 * 継続元が存在するかどうかの判定処理
	 * @param keizkMtSvcKeiUcwkNo　継続元サービス契約内訳番号
	 * @param keizkAfKeiChgchuFlg　継続後契約変更手続中フラグ
	 * @return boolean　（true:継続元が存在する、false:継続元が存在しない）
	 */
	private boolean isKeizkMtCheck(String keizkMtSvcKeiUcwkNo , String keizkAfKeiChgchuFlg)
	{
		// 継続元サービス契約内訳番号が設定されていない
		if (this.isNullOrEmpty(keizkMtSvcKeiUcwkNo))
		{
			return false;
		}
		
		// 継続元サービス契約内訳番号が設定されているが、継続後が契約変更手続中
		else if ("1".equals(keizkAfKeiChgchuFlg))
		{
			return true;
		}
		
		// 継続元サービス契約内訳番号が設定されていて、継続後が契約変更済
		else
		{
			return false;
		}
	}

	/**
	 * ID通知書発行識別コードマップに値を設定
	 * @param pcrsCd　料金コースコード
	 */
	private void setIdTchishoHakSkbtCd(String pcrsCd) throws Exception
	{
		// 料金コースに紐づくID通知書発行識別コードを取得する
		Object[] param_KK_M_PCRS = { pcrsCd , super.opeDate };
		this.executeKK_M_PCRS_KK_SELECT_008(param_KK_M_PCRS);
		JBSbatCommonDBInterface result_KK_M_PCRS = db_KK_M_PCRS.selectNext();
		
		// 料金コースコードが設定されていない
		if (result_KK_M_PCRS != null)
		{
			this.mPCRS_SKBT_CD_LIST.put(pcrsCd, result_KK_M_PCRS.getString(JBSbatKK_M_PCRS.ID_TCHISHO_HAK_SKBT_CD));
		}
	}
	// 2013/12/06 OM-2013-0004977 Add End
//OM-2016-0002236 ADD START
	
	/**
	 * 出力情報から指定IDに対応するパスワードを取得します。
	 * <br>
	 * @param outputItem 出力情報
	 * @param tchishoUcwkSbtCd 通知書内訳種別コード
	 * @param id ID
	 * @return パスワード
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private String getPasswordFromOutputItem(JBSbatOutputItem outputItem, String tchishoUcwkSbtCd, String id)
			throws Exception
	{
		String keyId = null;
		String keyPwd = null;
		
		if (null == outputItem || null == id)
		{
			return null;
		}
		
		if (TCHISHO_UCWK_SBT_CD_050.equals(tchishoUcwkSbtCd))
		{
			keyId = JBSbatKKIFM195.MLAD;
			keyPwd = JBSbatKKIFM195.POP_ID_PWD;
		}
		else if (TCHISHO_UCWK_SBT_CD_060.equals(tchishoUcwkSbtCd))
		{
			keyId = JBSbatKKIFM195.WEB_ID;
			keyPwd = JBSbatKKIFM195.WEB_ID_PWD;
		}
		else
		{
			return null;
		}
		
		List<JBSbatServiceInterfaceMap> outMapList = outputItem.getOutMapList();
		if (outMapList != null)
		{
			for (JBSbatServiceInterfaceMap outMap : outMapList)
			{
				if (tchishoUcwkSbtCd.equals(outMap.getString(JBSbatKKIFM195.TCHISHO_UCWK_SBT_CD))
						&& id.equals(outMap.getString(keyId)))
				{
					return outMap.getString(keyPwd);
				}
			}
		}
		return null;
	}
//OM-2016-0002236 ADD END
	// ANK-4493-00-00 ADD START
	/**
	 * 料金プラン変換設定情報を取得する
	 * @throws Exception 例外
	 */
	private void setPplanChgMap() throws Exception
	{
		// 業務パラメータから「料金プランのダミーコード」の設定を取得
		String sysDate = super.opeDate;
		executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017(new String[] {GYM_PRM_CD_MANS_PPLAN, sysDate, sysDate});
		List<JBSbatCommonDBInterface> pplanChgList = JCRBatCommon.getSelectedDataList(db_ZM_M_WORK_PARAM_KNRI);
		if (pplanChgList != null)
		{
			for (int i = 0; i < pplanChgList.size(); i++)
			{
				JBSbatCommonDBInterface pplanChgData = pplanChgList.get(i);
				String pplanChgDef = pplanChgData.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
				if (pplanChgDef != null && !("".equals(pplanChgDef)))
				{
					String[] pplanChgDefArray = pplanChgDef.split(",");
					if (pplanChgDefArray != null)
					{
						String key = pplanChgDefArray[0].trim();
						String value = pplanChgDefArray[1].trim();
						if (key != null && !("".equals(key)))
						{
							if (value == null)
							{
								value = "";
							}
							mansPplanChgMap.put(key, value);
						}
					}
				}
			}
		}
	}
	
	/**
	 * SQLKEY(KK_SELECT_017)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			業務パラメータID (採番部分以外)
	 *		 	業務パラメータ適用開始年月日
	 *		 	業務パラメータ適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_WORK_PARAM_KNRI_KK_SELECT_017(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString()+"%");
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_ZM_M_WORK_PARAM_KNRI.selectBySqlDefine(paramList, ZM_M_WORK_PARAM_KNRI_KK_SELECT_017);
	}
	// ANK-4493-00-00 ADD END
	
	// ANK-4493-00-00 ADD START
	/**
	 * SQLKEY(KK_SELECT_301)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * 
	 * <pre>
	 * 1.引数でバイント変数を設定します。&lt;br&gt;
	 * 
	 * 2.DBアクセスを実行します。&lt;br&gt;
	 * 
	 * 3.メソッドの呼び出し方です。&lt;br&gt;
	 * 	引数:
	 * 	param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * 予約適用年月日	 	
	 * サービス契約番号
	 * </pre>
	 * <p>
	 * 
	 * @param param バイント変数の値配列。
	 * @return list 取得結果リスト
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_KK_SELECT_301(String svcKeiNo) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// 検索条件パラメータ
		paramList.setValue(super.opeDate);
		paramList.setValue(svcKeiNo);		
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_301);
		JBSbatCommonDBInterface resultInfo = db_KK_T_SVC_KEI.selectNext();

		// １件を返却
		return resultInfo;
	}
	
	// ANK-4493-00-00 ADD END
}
