/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCHSeikyPrcInfHenshu
*	ソースファイル名	：JBSbatCHSeikyPrcInfHenshu.java
*	作成者				：富士通　
*	作成日				：2011年08月24日
*＜機能概要＞
*　請求書料金情報編集部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/24   富士通		新規作成
*	v3.00		2012/06/05   FJ）冨井	【ANK-0024-04-00】処理見直しによる修正
*	v3.01		2012/06/26   FJ）冨井	【ST2-2012-0001216】ファイル項目・請求年月追加（戻し）
*	v3.02		2012/06/26   FJ）後藤	【IT2-2012-0001202】クレジット番号暗号化対応
*	v4.00		2012/12/03   FJ）後藤	マッチングに修正
*	v4.01		2013/01/22   FJ) 小柴	【ST3-2013-0000172】内訳情報組立処理・口振警告終了
*	v4.02		2013/02/05   FJ) 小柴	【内部管理番号-0000684】カスタマバーコードの郵便番号が取得できない際に0ではなくスペースを入れるように修正
*										【内部管理番号-0000685】クレジット会社コードにセットする値をクレジット交換コードに修正
*				2013/02/18   FJ) 小柴	【内部管理番号-0000684】収入印紙マスクフラグが取得できない際に0ではなくスペースを入れるように修正
*	v4.04		2013/02/26   FJ) 小柴	【】当月金融機関情報について、当月請求がない場合は*埋めで出力するように修正
*										【】請求情報のマスキングパターンを修正
*										【】出力項目に支払方法コード（ソート用）を追加
*	v4.05		2013/03/08   FJ) 小柴	v4.04の修正不具合対応
*	v4.06		2013/03/13   FJ) 小柴	v4.04の修正不具合を再対応
*	v4.07		2013/03/21   FJ) 小柴	【IKK-2013-0000644】請求情報のマスキングパターンを再修正
*											領収のみフラグの判定条件を修正
*	v4.08		2013/03/26   FJ) 小柴	【IKK-2013-0000644】請求消費税額、請求金額をマスク化しないように修正
*	v4.09		2013/04/25   FJ) 浜口	【内部管理番号-0000879】突合試験にて、請求料金情報がアンマッチ
*	v4.10		2013/05/06   FJ) 小柴	【TG1-2013-0000248】「印刷枚数（総合計）」の取得元を「印刷面数（総合計）」から「印刷枚数（総合計）」に修正
*	v4.11		2013/05/13   FJ) 小柴	【TG1-2013-0000xxx】金融機関情報のマスキングパターンを追加
*	v4.12		2013/06/25   FJ) 小柴	【LT-2013-0000205】住所・送付先名の編集部品をkoptCommon配置の物を使用するように修正
*	v5.00		2013/07/12   FJ) 前田	【LT-2013-0000309】請求金額が0以下の場合請求年月西暦をALL*に修正
*   v13.00.00   2015/02/23   FJ) 寺園    ANK-2416-00-00_請求書のハガキ化対応
*   v52.00.00   2020/10/20   FJ) 鈴木   【ANK-3838-00-00】窓口払い手数料の顧客負担方式導入
*   v53.00.00   2021/06/01   FJ) 吉田   【ANK-4028-00-00】発行手数料の課金判定見直し対応
*   v57.00.00   2022/02/24   FJ) 森脇   【ANK-4175-00-00】明細書当月請求欄の0円以下マスク化廃止対応
*   v67.00.00	2023/06/27   FJ) 原田   【ANK-4401-00-00】インボイス対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashSet;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatInterface;
import eo.business.common.JBSbatMatchServiceInterface;
import eo.business.common.JCHbatBCDUtil;
import eo.business.common.JCHbatSeikyKaknoBusinessUtil;
import eo.business.util.file.JBSbatCHIFM087;
import eo.business.util.file.JBSbatCHIFM088;
import eo.business.util.file.JBSbatCHIFM147;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JCHCommonFormatUtil;
import eo.common.util.JKKStringConverter;
import eo.common.util.JPCFomatString;
import eo.common.util.JPCUtilCommon;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;

/**
* 請求書料金情報編集部品 <p>
*<BR>
* @author 富士通
*/
public class JBSbatCHSeikyPrcInfHenshu extends JBSbatBusinessService implements JBSbatMatchServiceInterface
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** キーマッチ処理フラグ*/
	private boolean matchProcFlg;

	/** マスタファイル処理フラグ*/
	private boolean mastProcFlg;

	/** トランファイル処理フラグ*/
	private boolean tranProcFlg;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 請求収納業務共通クラス */
	private JCHbatSeikyKaknoBusinessUtil seikyKaknoBusinessUtil = null;
	
	/** 印刷用住所編集処理クラス */
	private JCHCommonFormatUtil batAdrEdit = null;
	
	/** 支払方法 */
	private HashSet<String> payWaySet = null;
	
	/** 住所分割文字数(通常) */
	private static final int ADDRESS_NORMAL_LINE_LENGTH = 24;
	
	/** 住所分割文字数(小さいサイズ) */
	private static final int ADDRESS_SMALL_LINE_LENGTH = 31;
	
	/** 住所分割数 */
	private static final int ADDRESS_SPLIT_COUNT = 4;
	
	// 固定値項目
	/** 組立種別(固定値) */
	private String kumiSbtDef = null;

	/** 組立連番(固定値) */
	private String kumiRenbanDef = null;

	/** レコード種別(固定値) */
	private String recSbtDef = null;

	/** 同封制御＿サービス契約番号(固定値) */
	private String dofuSvcKeiNoDef = null;

	/** 同封制御＿課金先電話番号(固定値) */
	private String dofuKakinsTelNoDef = null;

	/** 封書区分(固定値) */
	private String fusyoDivDef = null;

	/** 領収方法(固定値) */
	private String receiptWayDefSp = null;

	/** 領収年月西暦(固定値) */
	private String receiptYmAdDefSp = null;

	/** 領収年月日(固定値) */
	private String receiptYmdDefSp = null;

	/** 領収金額(固定値) */
	private String receiptAmntDefSp = null;

	/** 領収消費税額(固定値) */
	private String receiptStaxAmntDefSp = null;

	/** 領収方法(固定値) */
	private String receiptWayDef = null;

	/** 領収年月西暦(固定値) */
	private String receiptYmAdDef = null;

	/** 領収年月日(固定値) */
	private String receiptYmdDef = null;

	/** 領収金額(固定値) */
	private String receiptAmntDef = null;

	/** 領収消費税額(固定値) */
	private String receiptStaxAmntDef = null;

	/** 領収銀行コード(固定値) */
	private String receiptBankCdDef = null;

	/** 領収店舗コード(固定値) */
	private String receiptBankShitenCdDef = null;

	/** 領収口座科目(固定値) */
	private String receiptKozaSbtCdDef = null;

	/** 領収口座番号(固定値) */
	private String receiptKozaNoDef = null;

	/** 領収銀行名(固定値) */
	private String receiptBankNmDef = null;

	/** 領収店舗名(固定値) */
	private String receiptBankShitenNmDef = null;

	/** 領収口座科目名(固定値) */
	private String receiptKozaKamokuNmDef = null;

	/** 銀行コード(固定値(ALLスペース)) */
	private String bankCdDefSp = null;

	/** 店舗コード(固定値(ALLスペース)) */
	private String bankShitenCdDefSp = null;

	/** 口座科目(固定値(ALLスペース)) */
	private String kozaSbtCdDefSp = null;

	/** 口座番号(固定値(ALLスペース)) */
	private String kozaNoDefSp = null;

	/** 銀行名(固定値(ALLスペース)) */
	private String bankNmDefSp = null;

	/** 店舗名(固定値(ALLスペース)) */
	private String bankShitenNmDefSp = null;

	/** 口座科目名(固定値(ALLスペース)) */
	private String kozaKamokuNmDefSp = null;

	/** 請求情報請求年月西暦(固定値) */
	private String seikyInfSeikyYmAdDef = null;

	/** 支払期限年月日西暦(固定値) */
	private String payKigenYmdAdDef = null;

	/** 支払期限日(固定値) */
	private String payKigenDayDef = null;

	/** 請求消費税額(固定値) */
	private String seikyStaxAmntEditDef = null;

	/** 請求金額(固定値) */
	private String seikyAmntEditDef = null;

	/** 請求利用期間ＦＲＯＭ(固定値) */
	private String seikyUseStaYmdDef = null;

	/** 請求利用期間ＴＯ(固定値) */
	private String seikyUseEndYmdDef = null;

	/** 月額利用期間ＦＲＯＭ(固定値) */
	private String monUseStaYmdDef = null;

	/** 月額利用期間ＴＯ(固定値) */
	private String monUseEndYmdDef = null;
	
	/** 発行シーケンス番号(固定値) */
	private String hakkoSeqNoDef = null;

	/** 発行月(固定値) */
	private String hakkoMonDef = null;

	/** 発行シーケンス(固定値) */
	private String hakkoSeqDef = null;

	/** 群コード(固定値) */
	private String gunCdDef = null;

	/** 請求書区分(固定値) */
	private String seikyCdDef = null;

	/** 変換後カスタマバーコード(固定値) */
	private String chgBarcodeDef = null;

	/** 変換後リターンコード(固定値) */
	private String chgRtnCdDef = null;

	/** 予備２(固定値) */
	private String yobi2Def = null;

	/** レコードＳＥＱ(固定値) */
	private String recSeqDef = null;

	/** クレジット会社コード */
	private String creCompCd = null;

	/** 会員名 */
	private String creCardNmKana = null;

	/** クレジット会社名 */
	private String creCardCompNm = null;

	// 出力ファイル項目桁数
	/** 桁数(同封制御レコード区分) */
	private static final int DOFU_CTRL_REC_DIV_LENGTH = 3;

	/** 桁数(同封コード) */
	private static final int DOFU_CD_LENGTH = 12;

	/** 桁数(同封制御請求契約番号) */
	private static final int DOFU_CTRL_SEIKY_KEI_NO_LENGTH = 12;

	/** 桁数(同封制御＿サービス契約番号) */
	private static final int DOFU_SVC_KEI_NO_LENGTH = 10;

	/** 桁数(同封制御＿課金先電話番号) */
	private static final int DOFU_KAKINS_TELNO_LENGTH = 12;

	/** 桁数(請求年月) */
	private static final int SEIKY_YM_LENGTH = 6;

	/** 桁数(レコード区分) */
	private static final int REC_DIV_LENGTH = 3;

	/** 桁数(請求契約番号) */
	private static final int SEIKY_KEI_NO_LENGTH = 10;

	/** 桁数(郵便番号) */
	private static final int PCD_LENGTH = 8;

	/** 桁数(封書区分) */
	private static final int FUSYO_DIV_LENGTH = 2;

	/** 桁数(同封物コード１) */
	private static final int DOHUBT_CD1_LENGTH = 3;

	/** 桁数(同封物コード１部数) */
	private static final int DOHUBT_CD1_CNT_LENGTH = 1;

	/** 桁数(同封物コード２) */
	private static final int DOHUBT_CD2_LENGTH = 3;

	/** 桁数(同封物コード２部数) */
	private static final int DOHUBT_CD2_CNT_LENGTH = 1;

	/** 桁数(同封物コード３) */
	private static final int DOHUBT_CD3_LENGTH = 3;

	/** 桁数(同封物コード３部数) */
	private static final int DOHUBT_CD3_CNT_LENGTH = 1;

	/** 桁数(同封物コード４) */
	private static final int DOHUBT_CD4_LENGTH = 3;

	/** 桁数(同封物コード４部数) */
	private static final int DOHUBT_CD4_CNT_LENGTH = 1;

	/** 桁数(同封物コード５) */
	private static final int DOHUBT_CD5_LENGTH = 3;

	/** 桁数(同封物コード５部数) */
	private static final int DOHUBT_CD5_CNT_LENGTH = 1;

	/** 桁数(同封物コード６) */
	private static final int DOHUBT_CD6_LENGTH = 3;

	/** 桁数(同封物コード６部数) */
	private static final int DOHUBT_CD6_CNT_LENGTH = 1;

	/** 桁数(印刷枚数＿総合計) */
	private static final int PRINT_CNT_TTL_LENGTH = 5;

	/** 桁数(印刷枚数＿内訳書) */
	private static final int PRINT_CNT_UCWK_LENGTH = 5;

	/** 桁数(印刷枚数＿明細書) */
	private static final int PRINT_CNT_DTL_LENGTH = 5;

	/** 桁数(送付先郵便番号) */
	private static final int SOHUS_PCD_LENGTH = 9;

	/** 桁数(住所１) */
	private static final int AD1_LENGTH = 31;

	/** 桁数(住所２) */
	private static final int AD2_LENGTH = 31;

	/** 桁数(住所３) */
	private static final int AD3_LENGTH = 31;

	/** 桁数(住所４) */
	private static final int AD4_LENGTH = 31;

	/** 桁数(住所文字サイズフラグ) */
	private static final int MOJI_SIZE_FLG_LENGTH = 1;

	/** 桁数(氏名１) */
	private static final int NM1_LENGTH = 15;

	/** 桁数(氏名２) */
	private static final int NM2_LENGTH = 15;

	/** 桁数(氏名３) */
	private static final int NM3_LENGTH = 15;

	/** 桁数(請求年月西暦) */
	private static final int SEIKY_YM_AD_LENGTH = 6;

	/** 桁数(支払方法) */
	private static final int PAY_WAY_LENGTH = 1;

	/** 桁数(銀行コード) */
	private static final int BANK_CD_LENGTH = 4;

	/** 桁数(店舗コード) */
	private static final int BANK_SHITEN_CD_LENGTH = 3;

	/** 桁数(口座科目) */
	private static final int KOZA_SBT_CD_LENGTH = 1;

	/** 桁数(口座番号) */
	private static final int KOZA_NO_LENGTH = 7;

	/** 桁数(銀行名) */
	private static final int BANK_NM_LENGTH = 15;

	/** 桁数(店舗名) */
	private static final int BANK_SHITEN_NM_LENGTH = 15;

	/** 桁数(口座科目名) */
	private static final int KOZA_KAMOKU_NM_LENGTH = 2;

	/** 桁数(クレジット会社コード) */
	private static final int CRECARD_COMP_CD_LENGTH = 5;

	/** 桁数(会員番号) */
	private static final int CRECARD_NO_LENGTH = 16;

	/** 桁数(会員名) */
	private static final int CRECARD_NM_KANA_LENGTH = 40;

	/** 桁数(クレジット会社名) */
	private static final int CRECARD_COMP_NM_LENGTH = 20;

	/** 桁数(領収方法) */
	private static final int RECEIPT_WAY_LENGTH = 1;

	/** 桁数(領収年月西暦) */
	private static final int RECEIPT_YM_AD_LENGTH = 6;

	/** 桁数(領収年月日) */
	private static final int RECEIPT_YMD_LENGTH = 8;

	/** 桁数(領収金額) */
	private static final int RECEIPT_AMNT_LENGTH = 15;

	/** 桁数(領収消費税額) */
	private static final int RECEIPT_STAX_AMNT_LENGTH = 15;

	/** 桁数(領収銀行コード) */
	private static final int RECEIPT_BANK_CD_LENGTH = 4;

	/** 桁数(領収店舗コード) */
	private static final int RECEIPT_BANK_SHITEN_CD_LENGTH = 3;

	/** 桁数(領収口座科目) */
	private static final int RECEIPT_KOZA_SBT_CD_LENGTH = 1;

	/** 桁数(領収口座番号) */
	private static final int RECEIPT_KOZA_NO_LENGTH = 7;

	/** 桁数(領収銀行名) */
	private static final int RECEIPT_BANK_NM_LENGTH = 15;

	/** 桁数(領収店舗名) */
	private static final int RECEIPT_BANK_SHITEN_NM_LENGTH = 15;

	/** 桁数(領収口座科目名) */
	private static final int RECEIPT_KOZA_KAMOKU_NM_LENGTH = 2;

	/** 桁数(発行年月日西暦) */
	private static final int HAKKOU_YM_AD_LENGTH = 8;
	
	/** 桁数(支払期限年月日西暦) */
	private static final int PAY_KIGEN_YMD_AD_LENGTH = 8;

	/** 桁数(支払期限日（曜日）) */
	private static final int PAY_KIGEN_DAY_LENGTH = 1;

	/** 桁数(請求消費税額（編集）) */
	private static final int SEIKY_STAX_AMNT_EDIT_LENGTH = 15;

	/** 桁数(請求金額（編集）) */
	private static final int SEIKY_AMNT_EDIT_LENGTH = 15;

	/** 桁数(請求消費税額) */
	private static final int SEIKY_STAX_AMNT_LENGTH = 13;

	/** 桁数(請求金額) */
	private static final int SEIKY_AMNT_LENGTH = 13;

	/** 桁数(請求利用期間ＦＲＯＭ) */
	private static final int SEIKY_USE_STA_YMD_LENGTH = 8;

	/** 桁数(請求利用期間ＴＯ) */
	private static final int SEIKYU_USE_END_YMD_LENGTH = 8;

	/** 桁数(月額利用期間ＦＲＯＭ) */
	private static final int MON_USE_STA_YMD_LENGTH = 8;

	/** 桁数(月額利用期間ＴＯ) */
	private static final int MON_USE_END_YMD_LENGTH = 8;

	/** 桁数(発行請求年月西暦) */
	private static final int HAKKO_SEIKY_YM_AD_LENGTH = 4;

	/** 桁数(発行請求契約番号) */
	private static final int HAKKO_SEIKY_KEI_NO_LENGTH = 10;

	/** 桁数(発行支払方法) */
	private static final int HAKKO_PAY_WAY_CD_LENGTH = 1;

	/** 桁数(ＯＣＲバージョン番号) */
	private static final int OCR_VER_NO_LENGTH = 1;

	/** 桁数(ＯＣＲ請求年月) */
	private static final int OCR_SEIKY_YM_LENGTH = 4;

	/** 桁数(ＯＣＲ請求契約番号) */
	private static final int OCR_SEIKY_KEI_NO_LENGTH = 10;

	/** 桁数(ＯＣＲ発行月) */
	private static final int OCR_HAKKO_MON_LENGTH = 2;

	/** 桁数(ＯＣＲ発行シーケンス) */
	private static final int OCR_HAKKO_SEQ_LENGTH = 2;

	/** 桁数(群番号) */
	private static final int OCR_GUN_NO_LENGTH = 1;

	/** 桁数(ＯＣＲ請求金額) */
	private static final int OCR_SEIKY_AMNT_LENGTH = 12;

	/** 桁数(チェックデジット) */
	private static final int CHKDGT_LENGTH = 1;

	/** 桁数(インフォメーション１) */
	private static final int INF_CD1_LENGTH = 3;

	/** 桁数(インフォメーション２) */
	private static final int INF_CD2_LENGTH = 3;

	/** 桁数(インフォメーション３) */
	private static final int INF_CD3_LENGTH = 3;
	
	/** 桁数(インフォメーション４) */
	private static final int INF_CD4_LENGTH = 3;

	/** 桁数(収入印紙マスクフラグ) */
	private static final int INSHI_MSK_FLG_LENGTH = 1;

	/** 桁数(カスタマスタートビット) */
	private static final int START_BIT_LENGTH = 1;

	/** 桁数(郵便番号（主番号）) */
	private static final int YUBIN_PCD_MAIN_NO_LENGTH = 3;

	/** 桁数(郵便番号（副番号上２桁）) */
	private static final int YUBIN_PCD_MAE_2_LENGTH = 2;

	/** 桁数(郵便番号（副番号下２桁）) */
	private static final int YUBIN_PCD_ATO_2_LENGTH = 2;

	/** 桁数(住所表示番号) */
	private static final int CUT_SOHUS_AD_CD_LENGTH = 13;

	/** 桁数(カスタマチェックデジット) */
	private static final int CUT_CHKDGT_LENGTH = 1;

	/** 桁数(カスタマストップビットコード) */
	private static final int CUT_STOP_BIT_LENGTH = 1;

	/** 桁数(変換後カスタマバーコード) */
	private static final int CHG_BARCODE_LENGTH = 50;

	/** 桁数(変換後リターンコード) */
	private static final int CHG_RTN_CD_LENGTH = 1;

	/** 桁数(識別子) */
	private static final int SKBT_LENGTH = 2;

	/** 桁数(メーカーコード) */
	private static final int MAKER_CD_LENGTH = 6;

	/** 桁数(ＥＡＮ会社コード) */
	private static final int EAN_COMP_CD_LENGTH = 5;

	/** 桁数(ＥＡＮ群番号) */
	private static final int EAN_GUN_NO_LENGTH = 1;
	
	/** 桁数(ＥＡＮ請求月) */
	private static final int EAN_SIKY_MON_LENGTH = 2;
	
	/** 桁数(ＥＡＮ請求年) */
	private static final int EAN_SIKY_YEAR_LENGTH = 2;

	/** 桁数(ＥＡＮ発行シーケンス) */
	private static final int EAN_HAKKO_SEQ_LENGTH = 1;

	/** 桁数(ＥＡＮ請求契約番号) */
	private static final int EAN_SEIKY_KEI_NO_LENGTH = 10;

	/** 桁数(ＥＡＮ再発行区分) */
	private static final int EAN_RE_HAKKO_DIV_LENGTH = 1;

	/** 桁数(ＥＡＮ支払期限日) */
	private static final int EAN_PAY_KIGEN_DAY_LENGTH = 6;

	/** 桁数(ＥＡＮ印紙フラグ) */
	private static final int EAN_INSHI_FLG_LENGTH = 1;

	/** 桁数(ＥＡＮ請求金額) */
	private static final int EAN_SEIKY_AMNT_LENGTH = 6;

	/** 桁数(ＥＡＮチェックデジット) */
	private static final int EAN_CHKDGT_LENGTH = 1;

	// v13.00.00 ADD START
	/** 桁数(請求書ハガキ化抑止フラグ) */
	private static final int SKS_HAGAKI_YOKSI_FLG_LENGTH = 1;
	// v13.00.00 ADD END
	
	// ANK-3838-00-00 ADD START
	/** 桁数(手数料負担方式コード) */
	private static final int COMMISION_FTN_HSK_CD_LENGTH = 1;
	
	/** 桁数(パーフェクト口座利用可否) */
	private static final int PKOZA_USE_KH_LENGTH = 1;
	// ANK-3838-00-00 ADD END
	
	/** 桁数(予備２) */
	// v13.00.00 MOD START
	//	ANK-3838-00-00 MOD START
//	private static final int YOBI2_LENGTH = 222;
//	private static final int YOBI2_LENGTH = 221;
	private static final int YOBI2_LENGTH = 219;
	//	ANK-3838-00-00 MOD END
	// v13.00.00 MOD START
	
	/** 桁数(レコードＳＥＱ) */
	private static final int REC_SEQ_LENGTH = 7;

	/** 入力Ｍファイル名（請求書印刷情報） */
	private static final String TRN_FILE_NM = "請求書印刷情報";
	
	/** 入力Ｔファイル名（請求書面数データ） */
	private static final String MST_FILE_NM = "請求書面数データ";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initial]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][opeDate=" + super.opeDate + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][freeItem=" + super.freeItem + "]");
		seikyKaknoBusinessUtil = new JCHbatSeikyKaknoBusinessUtil(commonItem);
		batAdrEdit = new JCHCommonFormatUtil();
		// 支払方法1、2を取り出し
		payWaySet = new HashSet<String>();
		if ((super.freeItem != null) && (super.freeItem.length() > 0))
		{
			String payWayValue[] = super.freeItem.split(JACStrConst.FREE_DIV);
			if (payWayValue.length >= 2)
			{
				// 支払方法2
				if (payWayValue[1].length() > 0)
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][payWayValue[1]:" + payWayValue[1].toString() + "]");
					payWaySet.add(payWayValue[1]);
				}
			}

			// 支払方法1
			if (payWayValue[0].length() > 0)
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][payWayValue[0]:" + payWayValue[0].toString() + "]");
				payWaySet.add(payWayValue[0]);
			}
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][initial][payWaySet:" + payWaySet.toString() + "]");
		
		// 固定値を格納する変数を初期化
		// 組立種別
		kumiSbtDef = "0";

		// 組立連番
		kumiRenbanDef = "00001";

		// レコード種別
		recSbtDef = "1";

		// 同封制御＿サービス契約番号 ALL0 
		dofuSvcKeiNoDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero,
				JACStrConst.KARA_MOJI,
				DOFU_SVC_KEI_NO_LENGTH,
				true);

		// 同封制御＿課金先電話番号 ALL0 
		dofuKakinsTelNoDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero,
				JACStrConst.KARA_MOJI,
				DOFU_KAKINS_TELNO_LENGTH,
				true);

		// 封書区分 空白
		fusyoDivDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				FUSYO_DIV_LENGTH,
				true);

		// 銀行コード
		bankCdDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				BANK_CD_LENGTH,
				true);

		// 店舗コード
		bankShitenCdDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				BANK_SHITEN_CD_LENGTH,
				true);

		// 口座科目
		kozaSbtCdDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				KOZA_SBT_CD_LENGTH,
				true);

		// 口座番号
		kozaNoDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				KOZA_NO_LENGTH,
				true);

		// 銀行名
		bankNmDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
				JACStrConst.KARA_MOJI,
				BANK_NM_LENGTH,
				true);

		// 店舗名
		bankShitenNmDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
				JACStrConst.KARA_MOJI,
				BANK_SHITEN_NM_LENGTH,
				true);

		// 口座科目名
		kozaKamokuNmDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
				JACStrConst.KARA_MOJI,
				KOZA_KAMOKU_NM_LENGTH,
				true);
		
		// クレジット会社コード
		creCompCd = "*****";

		// 会員名
		creCardNmKana = "****************************************";

		// クレジット会社名
		creCardCompNm = "＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊";

		// 領収方法
		receiptWayDef = "*";

		// 領収年月西暦
		receiptYmAdDef = "******";

		// 領収年月日
		receiptYmdDef = "********";

		// 領収金額
		receiptAmntDef = "***************";

		// 領収消費税額
		receiptStaxAmntDef = "***************";

		// 領収銀行コード
		receiptBankCdDef = "****";

		// 領収店舗コード
		receiptBankShitenCdDef = "***";

		// 領収口座科目
		receiptKozaSbtCdDef = "*";

		// 領収口座番号
		receiptKozaNoDef = "*******";

		// 領収銀行名
		receiptBankNmDef = "＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊";

		// 領収店舗名
		receiptBankShitenNmDef = "＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊";

		// 領収口座科目名
		receiptKozaKamokuNmDef = "＊＊";

		// 領収方法
		receiptWayDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				RECEIPT_WAY_LENGTH,
				true);

		// 領収年月西暦
		receiptYmAdDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				RECEIPT_YM_AD_LENGTH,
				true);

		// 領収年月日
		receiptYmdDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				RECEIPT_YMD_LENGTH,
				true);

		// 領収金額
		receiptAmntDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				RECEIPT_AMNT_LENGTH,
				true);

		// 領収消費税額
		receiptStaxAmntDefSp = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				RECEIPT_STAX_AMNT_LENGTH,
				true);

		// 請求情報請求年月西暦
		seikyInfSeikyYmAdDef = "******";

		// 支払期限年月日西暦
		payKigenYmdAdDef = "********";

		// 支払期限日（曜日）
		payKigenDayDef = "＊";

		// 請求消費税額（編集）
		seikyStaxAmntEditDef = "***************";

		// 請求金額（編集）
		seikyAmntEditDef = "***************";

		// 請求利用期間ＦＲＯＭ
		seikyUseStaYmdDef = "********";

		// 請求利用期間ＴＯ
		seikyUseEndYmdDef = "********";

		// 月額利用期間ＦＲＯＭ
		monUseStaYmdDef = "********";

		// 月額利用期間ＴＯ
		monUseEndYmdDef = "********";

		// 発行シーケンス番号 "00"
		hakkoSeqNoDef = "00";

		// 発行月
		hakkoMonDef = "00";

		// 発行シーケンス
		hakkoSeqDef = "0";

		// 群コード
		gunCdDef = "6";

		// 請求書区分
		seikyCdDef = "1";

		// 変換後カスタマバーコード 空白
		chgBarcodeDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				CHG_BARCODE_LENGTH,
				true);

		// 変換後リターンコード 空白
		chgRtnCdDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				CHG_RTN_CD_LENGTH,
				true);

		// 予備２ 空白
		yobi2Def = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				YOBI2_LENGTH,
				true);

		// レコードＳＥＱ 空白
		recSeqDef = seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
				JACStrConst.KARA_MOJI,
				REC_SEQ_LENGTH,
				true);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial]");
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param mastMap　入力電文
	 * @param tranMap　入力電文
	 * @param outputInItem  入力情報
	 * @return JBSbatOutputItem 出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap mastMap, JBSbatServiceInterfaceMap tranMap, JBSbatOutputItem outputInItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute][mastMap=" + mastMap.getMap().toString() + "]") : true;
		assert tranMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute][tranMap=" + tranMap.getMap().toString() + "]") : true;
		
		if(mastMap == null)
			// 入力MのみNullの場合
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力MのみNull]");
			
			// トランファイル処理フラグを設定する
			this.setTranProcFlg(true);
		}
		else if(tranMap == null)
			// 入力TのみNullの場合
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力TのみNull]");
			String[] msgParam = new String[] {TRN_FILE_NM, MST_FILE_NM};
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECHB1470KW, msgParam);	
			// マスタファイル処理フラグを設定する
			this.setMastProcFlg(true);
		}
		else
		{

			
			// 出力対象チェック
			// 起動引数の支払方法と請求方法コードが一致しない場合、
			String seikyWayCd = mastMap.getString(JBSbatCHIFM087.SEIKY_WAY_CD);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][seikyWayCd:" + seikyWayCd + "]");
			if (!payWaySet.contains(seikyWayCd))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][処理対象外]");

				// マスタファイル処理フラグを設定する
				this.setMastProcFlg(true);
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
				return outputInItem;
			}
			
			// マッチングキー設定
			// マスタキー
			String mastKey = mastMap.getString(JBSbatCHIFM087.SEIKY_WAY_CD)
			.concat(mastMap.getString(JBSbatCHIFM087.DOFU_CD))
			.concat(mastMap.getString(JBSbatCHIFM087.SEIKY_KEI_NO));
			// トランキー
			String tranKey = tranMap.getString(JBSbatCHIFM147.SEIKY_WAY_CD)
			.concat(tranMap.getString(JBSbatCHIFM147.DOFU_CD))
			.concat(tranMap.getString(JBSbatCHIFM147.SEIKY_KEI_NO));
			
			// マッチした場合
			if(mastKey.equals(tranKey))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ　＝　入力Ｔ]");
				// 印刷枚数オーバーフラグ　＝　'1'印刷枚数オーバーフラグ（上限以下）の場合
				if(tranMap.getString(JBSbatCHIFM147.PRINT_CNT_OVER_FLG).equals(JACStrConst.PRINT_CNT_OVER_FLG_UNDER))
				{
					// 請求書料金情報を作成する
					outputInItem = makeOutputItem(mastMap, tranMap, seikyWayCd);
				}
				// マスタファイル処理フラグを設定する
				this.setMastProcFlg(true);
			}
			// マスタ＞トランの場合
			else if(mastKey.compareTo(tranKey) > 0)
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ　＞　入力Ｔ]");
				// トランファイル処理フラグを設定する
				this.setTranProcFlg(true);
			}
			// 上記以外の場合（マスタ＜トランの場合）
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ　＜　入力Ｔ]");
				String[] msgParam = new String[] {TRN_FILE_NM, MST_FILE_NM};
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECHB1470KW, msgParam);	
				// マスタファイル処理フラグを設定する
				this.setMastProcFlg(true);
			}
		}

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
		return outputInItem;

	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 請求書料金情報を作成する
	 * @param mastMap 入力電文
	 * @param tranMap 入力電文
	 * @param seikyWayCd 請求方法コード
	 * @return 請求書料金情報
	 * @throws Exception
	 */
	private JBSbatOutputItem makeOutputItem(JBSbatServiceInterfaceMap mastMap, JBSbatServiceInterfaceMap tranMap, String seikyWayCd) throws Exception
	{
		JBSbatOutputItem outputItem = new JBSbatOutputItem();
		JBSbatServiceInterfaceMap retMap = new JBSbatServiceInterfaceMap();
		
		// 出力ファイルは区切り文字形式だが、最終的には固定長形式となるため
		// それぞれの値は桁数に合わせて適宜パディングする。

		// 支払方法コード(ソート用)
		retMap.setString(JBSbatCHIFM088.PAY_WAY_SORT, 
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SEIKY_WAY_CD),
														PAY_WAY_LENGTH,
														true));
		
		// 同封制御レコード区分(請求書印刷情報．レコード区分) 単純転送
		retMap.setString(JBSbatCHIFM088.DOFU_CTRL_REC_DIV, 
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.REC_DIV),
														DOFU_CTRL_REC_DIV_LENGTH,
														true));

		// 同封コード(請求書印刷情報．同封コード) 単純転送
		retMap.setString(JBSbatCHIFM088.DOFU_CD, 
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace, 
														mastMap.getString(JBSbatCHIFM087.DOFU_CD), DOFU_CD_LENGTH,
														true));
		
		// 同封制御請求契約番号(請求書印刷情報．請求契約番号) 単純転送
		retMap.setString(JBSbatCHIFM088.DOFU_CTRL_SEIKY_KEI_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SEIKY_KEI_NO),
														DOFU_CTRL_SEIKY_KEI_NO_LENGTH,
														true));
		
		// 組立種別 固定値
		retMap.setString(JBSbatCHIFM088.KUMI_SBT, kumiSbtDef);
		
		// 組立連番 固定値
		retMap.setString(JBSbatCHIFM088.KUMI_RENBAN, kumiRenbanDef);
		
		// 同封制御レコード種別 固定値
		retMap.setString(JBSbatCHIFM088.DOFU_REC_SBT, recSbtDef);
		
		// 同封制御＿サービス契約番号 固定値
		retMap.setString(JBSbatCHIFM088.DOFU_SVC_KEI_NO, dofuSvcKeiNoDef);
		
		// 同封制御＿課金先電話番号 固定値
		retMap.setString(JBSbatCHIFM088.DOFU_KAKINS_TELNO, dofuKakinsTelNoDef);
		
		// 請求年月
		retMap.setString(JBSbatCHIFM088.SEIKY_YM,
				seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
												mastMap.getString(JBSbatCHIFM087.SEIKY_YM),
												SEIKY_YM_LENGTH,
												true));
		
		// レコード区分(請求書印刷情報．レコード区分) 単純転送
		retMap.setString(JBSbatCHIFM088.REC_DIV,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.REC_DIV),
														REC_DIV_LENGTH,
														true));
		
		
		// 請求契約番号(請求書印刷情報．請求契約番号) 単純転送
		retMap.setString(JBSbatCHIFM088.SEIKY_KEI_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SEIKY_KEI_NO),
														SEIKY_KEI_NO_LENGTH,
														true));
		
		
		// 郵便番号(請求書印刷情報．送付先郵便番号) 単純転送
		retMap.setString(JBSbatCHIFM088.PCD,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SOHUS_PCD),
														PCD_LENGTH,
														true));
		
		// 封書区分 固定値
		retMap.setString(JBSbatCHIFM088.FUSYO_DIV, fusyoDivDef);
		
		// 同封物コード１(請求書印刷情報．同封物コード１) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD1,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD1),
														DOHUBT_CD1_LENGTH,
														true));
		
		// 同封物コード１部数(請求書印刷情報．同封物コード１部数) 単純転送
		String dohubtCd1Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD1_CNT);
		if(dohubtCd1Cnt.length() <= DOHUBT_CD1_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD1_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd1Cnt,
													DOHUBT_CD1_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD1_CNT, dohubtCd1Cnt.substring(dohubtCd1Cnt.length() - DOHUBT_CD1_CNT_LENGTH, dohubtCd1Cnt.length()));
		}

		// 同封物コード２(請求書印刷情報．同封物コード２) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD2,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD2),
														DOHUBT_CD2_LENGTH,
														true));
		
		// 同封物コード２部数(請求書印刷情報．同封物コード２部数) 単純転送
		String dohubtCd2Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD2_CNT);
		if(dohubtCd2Cnt.length() <= DOHUBT_CD2_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD2_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd2Cnt,
													DOHUBT_CD2_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD2_CNT, dohubtCd2Cnt.substring(dohubtCd2Cnt.length() - DOHUBT_CD2_CNT_LENGTH, dohubtCd2Cnt.length()));
		}
		
		// 同封物コード３(請求書印刷情報．同封物コード３) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD3,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD3),
														DOHUBT_CD3_LENGTH,
														true));
		
		// 同封物コード３部数(請求書印刷情報．同封物コード３部数) 単純転送
		String dohubtCd3Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD3_CNT);
		if(dohubtCd3Cnt.length() <= DOHUBT_CD3_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD3_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd3Cnt,
													DOHUBT_CD3_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD3_CNT, dohubtCd3Cnt.substring(dohubtCd3Cnt.length() - DOHUBT_CD3_CNT_LENGTH, dohubtCd3Cnt.length()));
		}

		// 同封物コード４(請求書印刷情報．同封物コード４) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD4,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD4),
														DOHUBT_CD4_LENGTH,
														true));
		
		// 同封物コード４部数(請求書印刷情報．同封物コード４部数) 単純転送
		String dohubtCd4Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD4_CNT);
		if(dohubtCd4Cnt.length() <= DOHUBT_CD4_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD4_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd4Cnt,
													DOHUBT_CD4_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD4_CNT, dohubtCd4Cnt.substring(dohubtCd4Cnt.length() - DOHUBT_CD4_CNT_LENGTH, dohubtCd4Cnt.length()));
		}

		// 同封物コード５(請求書印刷情報．同封物コード５) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD5,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD5),
														DOHUBT_CD5_LENGTH,
														true));

		// 同封物コード５部数(請求書印刷情報．同封物コード５部数) 単純転送
		String dohubtCd5Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD5_CNT);
		if(dohubtCd5Cnt.length() <= DOHUBT_CD5_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD5_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd5Cnt,
													DOHUBT_CD5_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD5_CNT, dohubtCd5Cnt.substring(dohubtCd5Cnt.length() - DOHUBT_CD5_CNT_LENGTH, dohubtCd5Cnt.length()));
		}
		
		// 同封物コード６(請求書印刷情報．同封物コード６) 単純転送
		retMap.setString(JBSbatCHIFM088.DOHUBT_CD6,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.DOHUBT_CD6),
														DOHUBT_CD6_LENGTH,
														true));
		
		// 同封物コード６部数(請求書印刷情報．同封物コード６部数) 単純転送
		String dohubtCd6Cnt = mastMap.getString(JBSbatCHIFM087.DOHUBT_CD6_CNT);
		if(dohubtCd6Cnt.length() <= DOHUBT_CD6_CNT_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD6_CNT,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													dohubtCd6Cnt,
													DOHUBT_CD6_CNT_LENGTH,
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.DOHUBT_CD6_CNT, dohubtCd6Cnt.substring(dohubtCd6Cnt.length() - DOHUBT_CD6_CNT_LENGTH, dohubtCd6Cnt.length()));
		}
		
		// 印刷枚数＿総合計 単純転送
		String printCntTtl = tranMap.getString(JBSbatCHIFM147.PRINT_PAGE_TTL);
		if(printCntTtl.length() <= PRINT_CNT_TTL_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_TTL, 
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero, 
													printCntTtl, 
													PRINT_CNT_TTL_LENGTH, 
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_TTL, printCntTtl.substring(printCntTtl.length() - PRINT_CNT_TTL_LENGTH, printCntTtl.length()));
		}
		
		// 印刷枚数＿内訳書 単純転送
		String printCntUcwk = tranMap.getString(JBSbatCHIFM147.PRINT_CNT_UCWK);
		if(printCntTtl.length() <= PRINT_CNT_UCWK_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_UCWK, 
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero, 
													printCntUcwk, 
													PRINT_CNT_UCWK_LENGTH, 
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_UCWK, printCntUcwk.substring(printCntUcwk.length() - PRINT_CNT_UCWK_LENGTH, printCntUcwk.length()));
		}
		
		// 印刷枚数＿明細書 単純転送
		String printCntDtl = tranMap.getString(JBSbatCHIFM147.PRINT_CNT_DTL);
		if(printCntTtl.length() <= PRINT_CNT_DTL_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_DTL, 
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero, 
													printCntDtl, 
													PRINT_CNT_DTL_LENGTH, 
													false));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.PRINT_CNT_DTL, printCntDtl.substring(printCntDtl.length() - PRINT_CNT_DTL_LENGTH, printCntDtl.length()));
		}
		
		// 領収のみフラグ
		if ((JACStrConst.PAY_WAY_CD_KHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_YHR.equals(seikyWayCd))
						&& (mastMap.getString(JBSbatCHIFM087.TOGTU_SIKY_UM).equals(JACStrConst.TOGTU_SIKY_UM_NSI))
						&& (mastMap.getString(JBSbatCHIFM087.RECEIPT_UM).equals(JACStrConst.RECEIPT_UMU_ARI)))
		{
			// 支払方法コードが口振の場合かつ、
			// 請求書印刷データ．当月請求有無 ＝ 無し かつ 領収有無 ＝ 有の場合
			// 領収のみ
			retMap.setString(JBSbatCHIFM088.RECEIPT_FLG, JACStrConst.RECEIPT_ONLY_Y);
		}
		else
		{
			// 領収のみ以外
			retMap.setString(JBSbatCHIFM088.RECEIPT_FLG, JACStrConst.RECEIPT_ONLY_N);
		}
		
		
		// 送付先郵便番号(請求書印刷情報．送付先郵便番号) 単純転送
		// ハイフンを付与し、9桁目は空白とする
		String sohusPcd = mastMap.getString(JBSbatCHIFM087.SOHUS_PCD);
		if (sohusPcd.length() < (SOHUS_PCD_LENGTH - 2))
		{
			retMap.setString(JBSbatCHIFM088.SOHUS_PCD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															sohusPcd,
															SOHUS_PCD_LENGTH,
															true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.SOHUS_PCD,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													JPCFomatString.hyhunPcd(sohusPcd),
													SOHUS_PCD_LENGTH,
													true));
		}

		// 送付先都道府県名、送付先市区町村名、送付先入力項目：大字通称名 、送付先字丁目名、
		// 送付先住所番地号、送付先住所補記・建物名、送付先住所補記・部屋番号を用い、共通処理「住所編集処理」にて編集処理を行う
		String[] paramEditAddr = {	mastMap.getString(JBSbatCHIFM087.SOHUS_STATE_NM),
									mastMap.getString(JBSbatCHIFM087.SOHUS_CITY_NM),
									mastMap.getString(JBSbatCHIFM087.SOHUS_OAZTSU_NM),
									mastMap.getString(JBSbatCHIFM087.SOHUS_AZCHO_NM),
									mastMap.getString(JBSbatCHIFM087.SOHUS_BNCHIGO),
									mastMap.getString(JBSbatCHIFM087.SOHUS_ADRTTM),
									mastMap.getString(JBSbatCHIFM087.SOHUS_ADRRM)
								};
		
		// 通常文字サイズで編集
		ArrayList<String> addList = new ArrayList<String>();
		addList.add("");
		addList.add("");
		addList.add("");
		addList.add("");

		String mojiSizeFlg = null;
		String[] retEditAddr = batAdrEdit.editAddress(paramEditAddr, ADDRESS_NORMAL_LINE_LENGTH, ADDRESS_SPLIT_COUNT);
		if (retEditAddr == null)
		{
			// 送付先がない
			mojiSizeFlg = JACStrConst.ADR_MOJI_SIZE_FLG_MID;
		}
		else
		{
			if (retEditAddr[0].equals(JCHCommonFormatUtil.EDIT_RESULT_NORMAL))
			{
				// 通常文字サイズで編集
				mojiSizeFlg = JACStrConst.ADR_MOJI_SIZE_FLG_MID;
			}
			else
			{
				// 小さい文字サイズで編集
				mojiSizeFlg = JACStrConst.ADR_MOJI_SIZE_FLG_SMALL;
				retEditAddr = batAdrEdit.editAddress(paramEditAddr, ADDRESS_SMALL_LINE_LENGTH, ADDRESS_SPLIT_COUNT);
			}
			
			for (int i = 1; i < retEditAddr.length; i++)
			{
				addList.set(i - 1, retEditAddr[i]);
			}
		}
		
		// 住所１ 全角
		retMap.setString(JBSbatCHIFM088.AD1,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, addList.get(0), AD1_LENGTH, true));
		
		// 住所２ 全角
		retMap.setString(JBSbatCHIFM088.AD2,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, addList.get(1), AD2_LENGTH, true));

		// 住所３ 全角
		retMap.setString(JBSbatCHIFM088.AD3,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, addList.get(2), AD3_LENGTH, true));

		// 住所４ 全角
		retMap.setString(JBSbatCHIFM088.AD4,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, addList.get(3), AD4_LENGTH, true));
		
		// 住所文字サイズフラグ 住所１0住所４の処理の結果により設定
		retMap.setString(JBSbatCHIFM088.MOJI_SIZE_FLG,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero, mojiSizeFlg, MOJI_SIZE_FLG_LENGTH, false));

		// 氏名１(請求書印刷情報．送付先名) 
		// 氏名２(請求書印刷情報．送付先名) 
		// 氏名３(請求書印刷情報．送付先名) 
		ArrayList<String> list = new ArrayList<String>();
		list.add(mastMap.getString(JBSbatCHIFM087.SOHUS_NM));
		list.add(mastMap.getString(JBSbatCHIFM087.SOHUS_BKM));
		list.add(mastMap.getString(JBSbatCHIFM087.SOHUS_TNTSHA_NM));
		list = batAdrEdit.editSohusNm(list);
		
		String nm1 = list.get(0);
		String nm2 = list.get(1);
		String nm3 = list.get(2);
		// 氏名１
		if (nm1.length() < NM1_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.NM1,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
													nm1,
													NM1_LENGTH,
													true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.NM1, nm1.substring(0, NM1_LENGTH));
		}
		
		// 氏名２
		if (nm2.length() < NM2_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.NM2,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
													nm2,
													NM2_LENGTH,
													true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.NM2, nm2.substring(0, NM2_LENGTH));
		}
		
		// 氏名３
		if (nm3.length() < NM3_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.NM3,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
													nm3,
													NM3_LENGTH,
													true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.NM3, nm3.substring(0, NM3_LENGTH));
		}
		
		
		
		// 請求年月西暦(請求書印刷情報．請求年月) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
		String seikyYm = mastMap.getString(JBSbatCHIFM087.SEIKY_YM);
		if (seikyYm.length() < SEIKY_YM_AD_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.SEIKY_YM_AD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															seikyYm,
															SEIKY_YM_AD_LENGTH,
															true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.SEIKY_YM_AD, seikyKaknoBusinessUtil.delZero(seikyYm));
		}
		

		// 支払方法(請求書印刷情報．支払方法コード) 単純転送
		retMap.setString(JBSbatCHIFM088.PAY_WAY,
					seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
													mastMap.getString(JBSbatCHIFM087.SEIKY_WAY_CD),
													PAY_WAY_LENGTH,
													true));
		
		// 請求金額（編集）(請求書印刷情報．請求金額)
		String seikyAmnt = mastMap.get(JBSbatCHIFM087.SEIKY_AMNT).toString();
		
		if(JACStrConst.PAY_WAY_CD_KHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_YHR.equals(seikyWayCd))
		{
			// 領収のみの場合、又は請求金額が0以下の場合は*埋めとする
			if ((JACStrConst.RECEIPT_ONLY_Y.equals(retMap.getString(JBSbatCHIFM088.RECEIPT_FLG))))
			{
				// 銀行コード(請求書印刷情報．金融機関コード)
				retMap.setString(JBSbatCHIFM088.BANK_CD,			receiptBankCdDef);
				
				// 店舗コード(請求書印刷情報．金融機関支店コード)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_CD,		receiptBankShitenCdDef);
				
				// 口座科目(請求書印刷情報．預金種目コード)
				retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,	receiptKozaSbtCdDef);
				
				// 口座番号(請求書印刷情報．口座番号)
				retMap.setString(JBSbatCHIFM088.KOZA_NO,			receiptKozaNoDef);
				
				// 銀行名(請求書印刷情報．金融機関名)
				retMap.setString(JBSbatCHIFM088.BANK_NM,			receiptBankNmDef);
				
				// 店舗名(請求書印刷情報．金融機関支店名)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,		receiptBankShitenNmDef);
				
				// 口座科目名(請求書印刷情報．口座科目名)
				retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,		receiptKozaKamokuNmDef);
			}
			// その他の場合は通常出力
			else
			{
				// 請求金額が0以下の場合は*埋めとする
				if ((seikyAmnt.length() > 0) && (Long.parseLong(seikyAmnt) > 0))
				{

					// 銀行コード(請求書印刷情報．金融機関コード) 単純転送
					retMap.setString(JBSbatCHIFM088.BANK_CD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.BANK_CD),
																BANK_CD_LENGTH,
																true));
					
					// 店舗コード(請求書印刷情報．金融機関支店コード) 単純転送
					retMap.setString(JBSbatCHIFM088.BANK_SHITEN_CD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.BANK_SHITEN_CD),
																BANK_SHITEN_CD_LENGTH,
																true));
					
					// 口座科目(請求書印刷情報．預金種目コード) 単純転送
					retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.YOKIN_SHUMOKU_CD),
																KOZA_SBT_CD_LENGTH,
																true));
					
					// 口座番号(請求書印刷情報．口座番号) 単純転送
					retMap.setString(JBSbatCHIFM088.KOZA_NO,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.KOZA_NO),
																KOZA_NO_LENGTH,
																true));
					
					// 銀行名(請求書印刷情報．金融機関名) 単純転送 【編集】先頭15文字設定
					String bankName = mastMap.getString(JBSbatCHIFM087.BANK_NM);
					if (bankName.length() <= BANK_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.BANK_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, bankName, BANK_NM_LENGTH, true));
					}
					else
					{
							retMap.setString(JBSbatCHIFM088.BANK_NM, bankName.substring(0, BANK_NM_LENGTH));
					}
					
					// 店舗名(請求書印刷情報．金融機関支店名) 単純転送 【編集】先頭15文字設定
					String bankShitenName = mastMap.getString(JBSbatCHIFM087.BANK_SHITEN_NM);
					if (bankShitenName.length() <= BANK_SHITEN_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,
										seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																		bankShitenName,
																		BANK_SHITEN_NM_LENGTH,
																		true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM, bankShitenName.substring(0, BANK_SHITEN_NM_LENGTH));
					}
						
					// 口座科目名(請求書印刷情報．口座科目名) 単純転送
					retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																	mastMap.getString(JBSbatCHIFM087.KOZA_KAMOKU_NM),
																	KOZA_KAMOKU_NM_LENGTH,
																	true));
				}
				else
				{
					// 銀行コード(請求書印刷情報．金融機関コード)
					retMap.setString(JBSbatCHIFM088.BANK_CD,			receiptBankCdDef);
					
					// 店舗コード(請求書印刷情報．金融機関支店コード)
					retMap.setString(JBSbatCHIFM088.BANK_SHITEN_CD,		receiptBankShitenCdDef);
					
// ANK-4175-00-00 MOD START
//					// 口座科目(請求書印刷情報．預金種目コード)
//					retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,	receiptKozaSbtCdDef);
//					
//					// 口座番号(請求書印刷情報．口座番号)
//					retMap.setString(JBSbatCHIFM088.KOZA_NO,			receiptKozaNoDef);
//					
//					// 銀行名(請求書印刷情報．金融機関名)
//					retMap.setString(JBSbatCHIFM088.BANK_NM,			receiptBankNmDef);
//					
//					// 店舗名(請求書印刷情報．金融機関支店名)
//					retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,		receiptBankShitenNmDef);
//					
//					// 口座科目名(請求書印刷情報．口座科目名)
//					retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,		receiptKozaKamokuNmDef);
					
					// 口座科目(請求書印刷情報．預金種目コード) 単純転送
					retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.YOKIN_SHUMOKU_CD),
																KOZA_SBT_CD_LENGTH,
																true));
					
					// 口座番号(請求書印刷情報．口座番号) 単純転送
					retMap.setString(JBSbatCHIFM088.KOZA_NO,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.KOZA_NO),
																KOZA_NO_LENGTH,
																true));
					
					// 銀行名(請求書印刷情報．金融機関名) 単純転送 【編集】先頭15文字設定
					String bankName = mastMap.getString(JBSbatCHIFM087.BANK_NM);
					if (bankName.length() <= BANK_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.BANK_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space, bankName, BANK_NM_LENGTH, true));
					}
					else
					{
							retMap.setString(JBSbatCHIFM088.BANK_NM, bankName.substring(0, BANK_NM_LENGTH));
					}
					
					// 店舗名(請求書印刷情報．金融機関支店名) 単純転送 【編集】先頭15文字設定
					String bankShitenName = mastMap.getString(JBSbatCHIFM087.BANK_SHITEN_NM);
					if (bankShitenName.length() <= BANK_SHITEN_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,
										seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																		bankShitenName,
																		BANK_SHITEN_NM_LENGTH,
																		true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM, bankShitenName.substring(0, BANK_SHITEN_NM_LENGTH));
					}
						
					// 口座科目名(請求書印刷情報．口座科目名) 単純転送
					retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																	mastMap.getString(JBSbatCHIFM087.KOZA_KAMOKU_NM),
																	KOZA_KAMOKU_NM_LENGTH,
																	true));
// ANK-4175-00-00 MOD END
				}
			}
		}
		else
		{
			// 請求金額が0以下の場合は*埋めとする
			if ((seikyAmnt.length() > 0) && (Long.parseLong(seikyAmnt) > 0))
			{
				// 銀行コード(請求書印刷情報．金融機関コード)
				retMap.setString(JBSbatCHIFM088.BANK_CD,			receiptBankCdDef);
				
				// 店舗コード(請求書印刷情報．金融機関支店コード)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_CD,		receiptBankShitenCdDef);
				
				// 口座科目(請求書印刷情報．預金種目コード)
				retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,	receiptKozaSbtCdDef);
				
				// 口座番号(請求書印刷情報．口座番号)
				retMap.setString(JBSbatCHIFM088.KOZA_NO,			receiptKozaNoDef);
				
				// 銀行名(請求書印刷情報．金融機関名)
				retMap.setString(JBSbatCHIFM088.BANK_NM,			receiptBankNmDef);
				
				// 店舗名(請求書印刷情報．金融機関支店名)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,		receiptBankShitenNmDef);
				
				// 口座科目名(請求書印刷情報．口座科目名)
				retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,		receiptKozaKamokuNmDef);
			}
			else
			{
				// 銀行コード(請求書印刷情報．金融機関コード)
				retMap.setString(JBSbatCHIFM088.BANK_CD,			bankCdDefSp);
				
				// 店舗コード(請求書印刷情報．金融機関支店コード)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_CD,		bankShitenCdDefSp);
				
				// 口座科目(請求書印刷情報．預金種目コード)
				retMap.setString(JBSbatCHIFM088.YOKIN_SHUMOKU_CD,	kozaSbtCdDefSp);
				
				// 口座番号(請求書印刷情報．口座番号)
				retMap.setString(JBSbatCHIFM088.KOZA_NO,			kozaNoDefSp);
				
				// 銀行名(請求書印刷情報．金融機関名)
				retMap.setString(JBSbatCHIFM088.BANK_NM,			bankNmDefSp);
				
				// 店舗名(請求書印刷情報．金融機関支店名)
				retMap.setString(JBSbatCHIFM088.BANK_SHITEN_NM,		bankShitenNmDefSp);
				
				// 口座科目名(請求書印刷情報．口座科目名)
				retMap.setString(JBSbatCHIFM088.KOZA_KAMOKU_NM,		kozaKamokuNmDefSp);
			}
		}
		// 請求金額が0以下の場合は*埋めとする
		if ((seikyAmnt.length() > 0) && (Long.parseLong(seikyAmnt) > 0))
		{
			// クレジット会社コード(請求書印刷情報．クレジット会社コード) 単純転送
			retMap.setString(JBSbatCHIFM088.CRECARD_COMP_CD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															mastMap.getString(JBSbatCHIFM087.CREDIT_KOKAN_CD),
															CRECARD_COMP_CD_LENGTH,
															true));
			
			// 会員番号(請求書印刷情報．クレジットカード番号) 単純転送
			// クレジット暗号化暫定対応
			retMap.setString(JBSbatCHIFM088.CRECARD_NO,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															JACStrConst.KARA_MOJI,
															CRECARD_NO_LENGTH,
															true));
			
	//		retMap.setString(JBSbatCHIFM088.CRECARD_NO,
	//				seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
	//												mastMap.getString(JBSbatCHIFM087.CRECARD_NO),
	//												CRECARD_NO_LENGTH,
	//												true));
			
			// 会員名(請求書印刷情報．クレジットカード名義人名) 単純転送 【編集】先頭40文字設定
			String creCardName = JKKStringConverter.convertHalf(mastMap.getString(JBSbatCHIFM087.CRECARD_NM_KANA));
			if (creCardName.length() <= CRECARD_NM_KANA_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.CRECARD_NM_KANA,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																creCardName,
																CRECARD_NM_KANA_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.CRECARD_NM_KANA, creCardName.substring(0, CRECARD_NM_KANA_LENGTH));
			}
			
			// クレジット会社名(請求書印刷情報．クレジット会社名) 単純転送 【編集】先頭20文字設定
			String creCardCompName = mastMap.getString(JBSbatCHIFM087.CRECARD_COMP_NM);
			if (creCardCompName.length() <= CRECARD_COMP_NM_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.CRECARD_COMP_NM,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																creCardCompName,
																CRECARD_COMP_NM_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.CRECARD_COMP_NM, creCardCompName.substring(0, CRECARD_COMP_NM_LENGTH));
			}
		}
		else
		{
			// クレジット会社コード
			retMap.setString(JBSbatCHIFM088.CRECARD_COMP_CD,			creCompCd);
			
			// 会員番号
			retMap.setString(JBSbatCHIFM088.CRECARD_NO,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															JACStrConst.KARA_MOJI,
															CRECARD_NO_LENGTH,
															true));
			
			// 会員名
			retMap.setString(JBSbatCHIFM088.CRECARD_NM_KANA,			creCardNmKana);
			
			// クレジット会社名
			retMap.setString(JBSbatCHIFM088.CRECARD_COMP_NM,			creCardCompNm);

// ANK-4175-00-00 ADD START
			// クレジットの場合マスク解除
			if(JACStrConst.PAY_WAY_CD_CRE.equals(seikyWayCd))
			{
				// 会員名(請求書印刷情報．クレジットカード名義人名) 単純転送 【編集】先頭40文字設定
				String creCardName = JKKStringConverter.convertHalf(mastMap.getString(JBSbatCHIFM087.CRECARD_NM_KANA));
				if (creCardName.length() <= CRECARD_NM_KANA_LENGTH)
				{
					retMap.setString(JBSbatCHIFM088.CRECARD_NM_KANA,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	creCardName,
																	CRECARD_NM_KANA_LENGTH,
																	true));
				}
				else
				{
					retMap.setString(JBSbatCHIFM088.CRECARD_NM_KANA, creCardName.substring(0, CRECARD_NM_KANA_LENGTH));
				}
				
				// クレジット会社名(請求書印刷情報．クレジット会社名) 単純転送 【編集】先頭20文字設定
				String creCardCompName = mastMap.getString(JBSbatCHIFM087.CRECARD_COMP_NM);
				if (creCardCompName.length() <= CRECARD_COMP_NM_LENGTH)
				{
					retMap.setString(JBSbatCHIFM088.CRECARD_COMP_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																	creCardCompName,
																	CRECARD_COMP_NM_LENGTH,
																	true));
				}
				else
				{
					retMap.setString(JBSbatCHIFM088.CRECARD_COMP_NM, creCardCompName.substring(0, CRECARD_COMP_NM_LENGTH));
				}
			}
// ANK-4175-00-00 ADD END
		}
		
		if(JACStrConst.PAY_WAY_CD_KHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_YHR.equals(seikyWayCd))
		{
			if (mastMap.getString(JBSbatCHIFM087.RECEIPT_UM).equals(JACStrConst.RECEIPT_UMU_NSI))
			{
				// 領収なしのため、領収情報はALL*設定(全角項目の場合は＊)
				// 領収方法(請求書印刷情報．領収方法) 
				retMap.setString(JBSbatCHIFM088.RECEIPT_WAY, receiptWayDef);
				
				// 領収年月西暦(請求書印刷情報．領収月)
				retMap.setString(JBSbatCHIFM088.RECEIPT_YM_AD, receiptYmAdDef);
				
				// 領収年月日(請求書印刷情報．領収年月日)
				retMap.setString(JBSbatCHIFM088.RECEIPT_YMD, receiptYmdDef);
				
				// 領収金額(請求書印刷情報．領収金額)
				retMap.setString(JBSbatCHIFM088.RECEIPT_AMNT, receiptAmntDef);
				
				// 領収消費税額(請求書印刷情報．領収消費税額)
				retMap.setString(JBSbatCHIFM088.RECEIPT_STAX_AMNT, receiptStaxAmntDef);
				
				// 領収銀行コード(請求書印刷情報．領収金融機関コード)
				retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_CD, receiptBankCdDef);
				
				// 領収店舗コード(請求書印刷情報．領収金融機関支店コード)
				retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_CD, receiptBankShitenCdDef);
				
				// 領収口座科目(請求書印刷情報．領収口座種別コード)
				retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_SBT_CD, receiptKozaSbtCdDef);
				
				// 領収口座番号(請求書印刷情報．領収口座番号)
				retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_NO, receiptKozaNoDef);
				
				// 領収銀行名(請求書印刷情報．領収金融機関名)
				retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_NM, receiptBankNmDef);
				
				// 領収店舗名(請求書印刷情報．領収金融機関支店名) 
				retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_NM, receiptBankShitenNmDef);
				
				// 領収口座科目名(請求書印刷情報．領収口座科目名
				retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_KAMOKU_NM, receiptKozaKamokuNmDef);
			}
			else
			{

				// 領収方法(請求書印刷情報．領収方法) 単純転送
				retMap.setString(JBSbatCHIFM088.RECEIPT_WAY,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																mastMap.getString(JBSbatCHIFM087.RECEIPT_WAY),
																RECEIPT_WAY_LENGTH,
																true));
				
				// 領収消費税額(請求書印刷情報．領収消費税額) 単純転送
				String receiptStaxAmnt = mastMap.get(JBSbatCHIFM087.RECEIPT_STAX_AMNT).toString();
				if ((receiptStaxAmnt.length() > 0) && ((Long.parseLong(receiptStaxAmnt) > 0)))
				{
					// 金額をカンマ区切り形式にする
					retMap.setString(JBSbatCHIFM088.RECEIPT_STAX_AMNT,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	JPCUtilCommon.formatNumber(receiptStaxAmnt),
																	RECEIPT_STAX_AMNT_LENGTH,
																	false));
				}
				else
				{
					retMap.setString(JBSbatCHIFM088.RECEIPT_STAX_AMNT, receiptStaxAmntDef);
				}
				// 領収金額
				String receiptAmnt = mastMap.get(JBSbatCHIFM087.RECEIPT_AMNT).toString();
				if ((receiptAmnt.length() > 0) && (Long.parseLong(receiptAmnt) > 0))
				{	
					// 領収年月西暦(請求書印刷情報．領収月) 日に対し6未満の場合はゼロサプレスを行う。（9999Z9）
					String receiptMon = mastMap.getString(JBSbatCHIFM087.RECEIPT_MON);
					if (receiptMon.length() < RECEIPT_YM_AD_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_YM_AD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																receiptMon,
																RECEIPT_YM_AD_LENGTH,
																true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_YM_AD, seikyKaknoBusinessUtil.delZero(receiptMon));
					}
					
					// 領収年月日(請求書印刷情報．領収年月日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9）
					String receiptYmd = mastMap.getString(JBSbatCHIFM087.RECEIPT_YMD);
					if (receiptYmd.length() < RECEIPT_YMD_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_YMD,
										seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																		receiptYmd,
																		RECEIPT_YMD_LENGTH,
																		true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_YMD, seikyKaknoBusinessUtil.delZero(receiptYmd));
					}
					
					
					// 領収金額(請求書印刷情報．領収金額) 単純転送
					// 金額をカンマ区切り形式にする
					retMap.setString(JBSbatCHIFM088.RECEIPT_AMNT,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	JPCUtilCommon.formatNumber(receiptAmnt),
																	RECEIPT_AMNT_LENGTH,
																	false));
					// 領収銀行コード(請求書印刷情報．領収金融機関コード) 単純転送
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_CD,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	mastMap.getString(JBSbatCHIFM087.RECEIPT_BANK_CD),
																	RECEIPT_BANK_CD_LENGTH,
																	true));
					
					// 領収店舗コード(請求書印刷情報．領収金融機関支店コード) 単純転送
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_CD,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	mastMap.getString(JBSbatCHIFM087.RECEIPT_BANK_SHITEN_CD),
																	RECEIPT_BANK_SHITEN_CD_LENGTH,
																	true));
					
					// 領収口座科目(請求書印刷情報．領収口座種別コード) 単純転送
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_SBT_CD,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	mastMap.getString(JBSbatCHIFM087.RECEIPT_KOZA_SBT_CD),
																	RECEIPT_KOZA_SBT_CD_LENGTH,
																	true));
					
					// 領収口座番号(請求書印刷情報．領収口座番号) 単純転送
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_NO,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	mastMap.getString(JBSbatCHIFM087.RECEIPT_KOZA_NO),
																	RECEIPT_KOZA_NO_LENGTH,
																	true));
					
					// 領収銀行名(請求書印刷情報．領収金融機関名) 単純転送 【編集】先頭15文字
					String receiptBankName = mastMap.getString(JBSbatCHIFM087.RECEIPT_BANK_NM);
					if (receiptBankName.length() < RECEIPT_BANK_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_NM, 
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
								receiptBankName,
								RECEIPT_BANK_NM_LENGTH,
								true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_NM, receiptBankName.substring(0, RECEIPT_BANK_NM_LENGTH));
					}
					
					// 領収店舗名(請求書印刷情報．領収金融機関支店名) 単純転送 【編集】先頭15文字
					String receiptShitenBankName = mastMap.getString(JBSbatCHIFM087.RECEIPT_BANK_SHITEN_NM);
					if (receiptShitenBankName.length() < RECEIPT_BANK_SHITEN_NM_LENGTH)
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_NM, 
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
										receiptShitenBankName,
										RECEIPT_BANK_SHITEN_NM_LENGTH,
										true));
					}
					else
					{
						retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_NM, receiptShitenBankName.substring(0, RECEIPT_BANK_SHITEN_NM_LENGTH));
					}
					
					// 領収口座科目名(請求書印刷情報．領収口座科目名) 単純転送
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_KAMOKU_NM,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																	mastMap.getString(JBSbatCHIFM087.RECEIPT_KOZA_KAMOKU_NM),
																	RECEIPT_KOZA_KAMOKU_NM_LENGTH,
																	true));
				}
				else
				{
					// 領収年月西暦(請求書印刷情報．領収月)
					retMap.setString(JBSbatCHIFM088.RECEIPT_YM_AD, receiptYmAdDef);
					
					// 領収年月日(請求書印刷情報．領収年月日)
					retMap.setString(JBSbatCHIFM088.RECEIPT_YMD, receiptYmdDef);
					
					// 領収金額(請求書印刷情報．領収金額)
					retMap.setString(JBSbatCHIFM088.RECEIPT_AMNT, receiptAmntDef);
					
					// 領収銀行コード(請求書印刷情報．領収金融機関コード)
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_CD, receiptBankCdDef);
					
					// 領収店舗コード(請求書印刷情報．領収金融機関支店コード)
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_CD, receiptBankShitenCdDef);
					
					// 領収口座科目(請求書印刷情報．領収口座種別コード)
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_SBT_CD, receiptKozaSbtCdDef);
					
					// 領収口座番号(請求書印刷情報．領収口座番号)
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_NO, receiptKozaNoDef);
					
					// 領収銀行名(請求書印刷情報．領収金融機関名)
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_NM, receiptBankNmDef);
					
					// 領収店舗名(請求書印刷情報．領収金融機関支店名) 
					retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_NM, receiptBankShitenNmDef);
					
					// 領収口座科目名(請求書印刷情報．領収口座科目名
					retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_KAMOKU_NM, receiptKozaKamokuNmDef);
				}
			
			}
		}
		else
		{
			// 領収なしのため、領収情報はALL*設定(全角項目の場合は＊)
			// 領収方法(請求書印刷情報．領収方法) 
			retMap.setString(JBSbatCHIFM088.RECEIPT_WAY, receiptWayDefSp);
			
			// 領収年月西暦(請求書印刷情報．領収月)
			retMap.setString(JBSbatCHIFM088.RECEIPT_YM_AD, receiptYmAdDefSp);
			
			// 領収年月日(請求書印刷情報．領収年月日)
			retMap.setString(JBSbatCHIFM088.RECEIPT_YMD, receiptYmdDefSp);
			
			// 領収金額(請求書印刷情報．領収金額)
			retMap.setString(JBSbatCHIFM088.RECEIPT_AMNT, receiptAmntDefSp);
			
			// 領収消費税額(請求書印刷情報．領収消費税額)
			retMap.setString(JBSbatCHIFM088.RECEIPT_STAX_AMNT, receiptStaxAmntDefSp);
			
			// 領収銀行コード(請求書印刷情報．領収金融機関コード)
			retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_CD, bankCdDefSp);
			
			// 領収店舗コード(請求書印刷情報．領収金融機関支店コード)
			retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_CD, bankShitenCdDefSp);
			
			// 領収口座科目(請求書印刷情報．領収口座種別コード)
			retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_SBT_CD, kozaSbtCdDefSp);
			
			// 領収口座番号(請求書印刷情報．領収口座番号)
			retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_NO, kozaNoDefSp);
			
			// 領収銀行名(請求書印刷情報．領収金融機関名)
			retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_NM, bankNmDefSp);
			
			// 領収店舗名(請求書印刷情報．領収金融機関支店名) 
			retMap.setString(JBSbatCHIFM088.RECEIPT_BANK_SHITEN_NM, bankShitenNmDefSp);
			
			// 領収口座科目名(請求書印刷情報．領収口座科目名
			retMap.setString(JBSbatCHIFM088.RECEIPT_KOZA_KAMOKU_NM, kozaKamokuNmDefSp);
		}
		
		// 当月請求なしの場合、請求情報はALL*設定(全角項目の場合は＊)
		if (mastMap.getString(JBSbatCHIFM087.TOGTU_SIKY_UM).equals(JACStrConst.TOGTU_SIKY_UM_NSI))
		{
			// 請求情報請求年月西暦
// ANK-4175-00-00 MOD START
//			retMap.setString(JBSbatCHIFM088.SEIKY_INF_SEIKY_YM_AD, seikyInfSeikyYmAdDef);
			retMap.setString(JBSbatCHIFM088.SEIKY_INF_SEIKY_YM_AD,	retMap.getString(JBSbatCHIFM088.SEIKY_YM_AD));
// ANK-4175-00-00 MOD END
			
			// 請求消費税額（編集）
			retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT, seikyStaxAmntEditDef);
			
			// 請求金額（編集）
			retMap.setString(JBSbatCHIFM088.SEIKY_AMNT_EDIT, seikyAmntEditDef);
		}
		// 当月請求がある場合は通常出力
		else
		{
			
			// 請求情報請求年月西暦(請求書印刷情報．請求年月) 日に対し6未満の場合はゼロサプレスを行う。（9999Z9）
			retMap.setString(JBSbatCHIFM088.SEIKY_INF_SEIKY_YM_AD,	retMap.getString(JBSbatCHIFM088.SEIKY_YM_AD));
							
						
			// 請求消費税額（編集）(請求書印刷情報．請求消費税額)
			String seikyStaxAmntEdit = mastMap.get(JBSbatCHIFM087.SEIKY_STAX_AMNT).toString();
			// ANK-4401-00-00 MOD START
			//if ((seikyStaxAmntEdit.length() > 0) && (Long.parseLong(seikyStaxAmntEdit) > 0))
			if ((seikyStaxAmntEdit.length() > 0) && (Long.parseLong(seikyStaxAmntEdit) == 0))
			{
				if (JACStrConst.GSAN_FLG_ON.equals(mastMap.getString(JBSbatCHIFM087.GSAN_SEIKY_UM_FLG)) ||
						JACStrConst.MAEUKKIN_SOSAI_UM_FLG_ARI.equals(mastMap.getString(JBSbatCHIFM087.MAEUKKIN_SOSAI_UM_FLG)))
				{
					// 合算請求、または前受金充当の場合はマスク
					retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT, seikyStaxAmntEditDef);
				}
				else
				{
					// 金額をカンマ区切り形式にする
					retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
									JPCUtilCommon.formatNumber(seikyStaxAmntEdit),
									SEIKY_STAX_AMNT_EDIT_LENGTH,
									false));
				}
			}
			else if ((seikyStaxAmntEdit.length() > 0) && (Long.parseLong(seikyStaxAmntEdit) > 0))
			// ANK-4401-00-00 MOD END
			{
				// 金額をカンマ区切り形式にする
				retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																JPCUtilCommon.formatNumber(seikyStaxAmntEdit),
																SEIKY_STAX_AMNT_EDIT_LENGTH,
																false));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT, seikyStaxAmntEditDef);
// ANK-4401-00-00 DEL START
//// ANK-4175-00-00 ADD START
//				// 口振、郵振、クレの場合マスク解除
//				if(JACStrConst.PAY_WAY_CD_KHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_YHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_CRE.equals(seikyWayCd))
//				{
//					if (JACStrConst.GSAN_FLG_ON.equals(mastMap.getString(JBSbatCHIFM087.GSAN_SEIKY_UM_FLG)) ||
//							JACStrConst.MAEUKKIN_SOSAI_UM_FLG_ARI.equals(mastMap.getString(JBSbatCHIFM087.MAEUKKIN_SOSAI_UM_FLG)))
//					{
//						// 合算請求、または前受金充当の場合はマスク
//					}
//					else
//					{
//						// 金額をカンマ区切り形式にする
//						retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT_EDIT,
//								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
//										JPCUtilCommon.formatNumber(seikyStaxAmntEdit),
//										SEIKY_STAX_AMNT_EDIT_LENGTH,
//										false));
//					}
//				}
//// ANK-4175-00-00 ADD END
// ANK-4401-00-00 DEL END
			}
			
			// 請求金額（編集）(請求書印刷情報．請求金額)
			String seikyAmntEdit = mastMap.get(JBSbatCHIFM087.SEIKY_AMNT).toString();
			if ((seikyAmntEdit.length() > 0) && (Long.parseLong(seikyAmntEdit) > 0))
			{
				// 金額をカンマ区切り形式にする
				retMap.setString(JBSbatCHIFM088.SEIKY_AMNT_EDIT,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																JPCUtilCommon.formatNumber(seikyAmntEdit),
																SEIKY_AMNT_EDIT_LENGTH,
																false));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.SEIKY_AMNT_EDIT, seikyAmntEditDef);
				
				// 請求情報請求年月西暦
				retMap.setString(JBSbatCHIFM088.SEIKY_INF_SEIKY_YM_AD, seikyInfSeikyYmAdDef);
// ANK-4175-00-00 ADD START
				// 口振、郵振、クレの場合マスク解除
				if(JACStrConst.PAY_WAY_CD_KHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_YHR.equals(seikyWayCd) || JACStrConst.PAY_WAY_CD_CRE.equals(seikyWayCd))
				{
					// 金額をカンマ区切り形式にする
					retMap.setString(JBSbatCHIFM088.SEIKY_AMNT_EDIT,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	JPCUtilCommon.formatNumber(seikyAmntEdit),
																	SEIKY_AMNT_EDIT_LENGTH,
																	false));

					// 請求情報請求年月西暦(請求書印刷情報．請求年月) 日に対し6未満の場合はゼロサプレスを行う。（9999Z9）
					retMap.setString(JBSbatCHIFM088.SEIKY_INF_SEIKY_YM_AD,	retMap.getString(JBSbatCHIFM088.SEIKY_YM_AD));
				}
// ANK-4175-00-00 ADD END
			}
			
		}
		
		// 発行年月日西暦はバッチ実行日付をゼロサプレスして出力 
		String hakkouYmd = super.opeDate;
		if (hakkouYmd.length() < HAKKOU_YM_AD_LENGTH)
		{
			retMap.setString(JBSbatCHIFM088.HAKKOU_YM_AD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															hakkouYmd,
															HAKKOU_YM_AD_LENGTH,
															true));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.HAKKOU_YM_AD, seikyKaknoBusinessUtil.delZero(hakkouYmd));
		}
		
		// 請求消費税額(請求書印刷情報．請求消費税額) EBCDICサイン付き対応
		String seikyStaxAmnt = JCHbatBCDUtil.toBCDString(mastMap.get(JBSbatCHIFM087.SEIKY_STAX_AMNT).toString());
		retMap.setString(JBSbatCHIFM088.SEIKY_STAX_AMNT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero,
														seikyStaxAmnt,
														SEIKY_STAX_AMNT_LENGTH,
														false));
		
		// 請求金額(請求書印刷情報．請求金額) EBCDICサイン付き対応
		String seikyAmntEbcd = JCHbatBCDUtil.toBCDString(mastMap.get(JBSbatCHIFM087.SEIKY_AMNT).toString());
		retMap.setString(JBSbatCHIFM088.SEIKY_AMNT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Zero,
														seikyAmntEbcd,
														SEIKY_AMNT_LENGTH,
														false));
		
		// 対象データの当月請求がない場合、マスク化する
		if (JACStrConst.TOGTU_SIKY_UM_NSI.equals(mastMap.getString(JBSbatCHIFM087.TOGTU_SIKY_UM)))
		{
			// 支払期限年月日西暦
			retMap.setString(JBSbatCHIFM088.PAY_KIGEN_YMD_AD, payKigenYmdAdDef);
			
			// 支払期限日（曜日）
			retMap.setString(JBSbatCHIFM088.PAY_KIGEN_DAY, payKigenDayDef);
			
			// 請求利用期間ＦＲＯＭ
			retMap.setString(JBSbatCHIFM088.SEIKY_USE_STA_YMD, seikyUseStaYmdDef);
			
			// 請求利用期間ＴＯ
			retMap.setString(JBSbatCHIFM088.SEIKYU_USE_END_YMD, seikyUseEndYmdDef);
			
			// 月額利用期間ＦＲＯＭ
			retMap.setString(JBSbatCHIFM088.MON_USE_STA_YMD, monUseStaYmdDef);
			
			// 月額利用期間ＴＯ
			retMap.setString(JBSbatCHIFM088.MON_USE_END_YMD, monUseEndYmdDef);
		}
		// 当月請求がある場合は通常出力
		else
		{
			// 請求金額が0以下の場合、マスク化する
			if ((seikyAmnt.length() > 0) && (Long.parseLong(seikyAmnt) > 0))
			{
				// 支払期限年月日西暦(請求書印刷情報．支払期限年月日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
				String payKigenYmdAd = mastMap.getString(JBSbatCHIFM087.PAY_KIGEN_YMD);
				if (payKigenYmdAd.length() < PAY_KIGEN_YMD_AD_LENGTH)
				{
					retMap.setString(JBSbatCHIFM088.PAY_KIGEN_YMD_AD,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																	payKigenYmdAd,
																	PAY_KIGEN_YMD_AD_LENGTH,
																	true));
				}
				else
				{
					retMap.setString(JBSbatCHIFM088.PAY_KIGEN_YMD_AD, seikyKaknoBusinessUtil.delZero(payKigenYmdAd));
				}
				
				// 支払期限日（曜日）(共通部品「対象日付算出処理」にて算出)
				// 支払期限年月日から曜日（数値）を取得し、その値に対応する曜日文字列を取得
				if (payKigenYmdAd.length() < PAY_KIGEN_YMD_AD_LENGTH)
				{
					retMap.setString(JBSbatCHIFM088.PAY_KIGEN_DAY,
									seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.Space,
																	"",
																	PAY_KIGEN_DAY_LENGTH,
																	true));
				}
				else
				{
					retMap.setString(JBSbatCHIFM088.PAY_KIGEN_DAY, seikyKaknoBusinessUtil.formatDayKanji(JPCUtilCommon.getDayOfWeek(payKigenYmdAd)));
				}
			}
			else
			{
				// 支払期限年月日西暦
				retMap.setString(JBSbatCHIFM088.PAY_KIGEN_YMD_AD, payKigenYmdAdDef);
				
				// 支払期限日（曜日）
				retMap.setString(JBSbatCHIFM088.PAY_KIGEN_DAY, payKigenDayDef);
			}
			// 請求利用期間、月額利用期間は請求月1日から末日までを固定入力
			String staYmd = seikyYm.concat("01");
			String endYmd = seikyYm.concat(JBSbatInterface.getEndOfMonth(seikyYm));
			
			// 請求利用期間ＦＲＯＭ(請求書印刷情報．利用期間開始日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
			//String useStaYmd = mastMap.getString(JBSbatCHIFM087.USE_STAYMD);
			if (staYmd.length() < SEIKY_USE_STA_YMD_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.SEIKY_USE_STA_YMD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																staYmd,
																SEIKY_USE_STA_YMD_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.SEIKY_USE_STA_YMD, seikyKaknoBusinessUtil.delZero(staYmd));
			}

			// 請求利用期間ＴＯ(請求書印刷情報．利用期間終了日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
			//String useEndYmd = mastMap.getString(JBSbatCHIFM087.USE_ENDYMD);
			if (endYmd.length() < SEIKYU_USE_END_YMD_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.SEIKYU_USE_END_YMD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																endYmd,
																SEIKYU_USE_END_YMD_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.SEIKYU_USE_END_YMD, seikyKaknoBusinessUtil.delZero(endYmd));
			}
			
			// 月額利用期間ＦＲＯＭ(請求書印刷情報．利用期間開始日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
			//String monUseStaYmd = mastMap.getString(JBSbatCHIFM087.USE_STAYMD);
			if (staYmd.length() < MON_USE_STA_YMD_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.MON_USE_STA_YMD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																staYmd,
																MON_USE_STA_YMD_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.MON_USE_STA_YMD, seikyKaknoBusinessUtil.delZero(staYmd));
			}
			
			// 月額利用期間ＴＯ(請求書印刷情報．利用期間終了日) 月および日に対し10未満の場合はゼロサプレスを行う。（9999Z9Z9） 
			//String monUseEndYmd = mastMap.getString(JBSbatCHIFM087.USE_ENDYMD);
			if (endYmd.length() < MON_USE_END_YMD_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.MON_USE_END_YMD,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																endYmd,
																MON_USE_END_YMD_LENGTH,
																true));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.MON_USE_END_YMD, seikyKaknoBusinessUtil.delZero(endYmd));
			}
		}
		
		
		// 発行請求年月西暦(請求書印刷情報．請求年月) 【編集】3桁-6桁目を設定 YYMM
		String hakkoSeikyYmAd = mastMap.getString(JBSbatCHIFM087.SEIKY_YM);
		if (hakkoSeikyYmAd.length() >= ("YY".length() + HAKKO_SEIKY_YM_AD_LENGTH))
		{
			retMap.setString(JBSbatCHIFM088.HAKKO_SEIKY_YM_AD, hakkoSeikyYmAd.substring(2, 2 + HAKKO_SEIKY_YM_AD_LENGTH));
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.HAKKO_SEIKY_YM_AD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															"",
															HAKKO_SEIKY_YM_AD_LENGTH,
															true));
		}
		
		// 発行請求契約番号(請求書印刷情報．請求契約番号) 単純転送
		retMap.setString(JBSbatCHIFM088.HAKKO_SEIKY_KEI_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SEIKY_KEI_NO),
														HAKKO_SEIKY_KEI_NO_LENGTH,
														true));
		
		// 発行支払方法(請求書印刷情報．支払方法コード) 単純転送
		retMap.setString(JBSbatCHIFM088.HAKKO_PAY_WAY_CD,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SEIKY_WAY_CD),
														HAKKO_PAY_WAY_CD_LENGTH,
														true));
		
		// 発行シーケンス番号 固定値
		retMap.setString(JBSbatCHIFM088.HAKKO_SEQ_NO, hakkoSeqNoDef);
		
		// 発行月 固定値
		retMap.setString(JBSbatCHIFM088.HAKKO_MON, hakkoMonDef);
		
		// 発行シーケンス 固定値
		retMap.setString(JBSbatCHIFM088.HAKKO_SEQ, hakkoSeqDef);
		
		// 群コード 固定値
		retMap.setString(JBSbatCHIFM088.GUN_CD, gunCdDef);
		
		// 請求書区分 固定値
		retMap.setString(JBSbatCHIFM088.SEIKY_CD, seikyCdDef);
		
		// ＯＣＲバージョン番号(請求書印刷情報．ＯＣＲバージョン番号) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_VER_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_VER_NO),
														OCR_VER_NO_LENGTH,
														true));
		
		// ＯＣＲ請求年月(請求書印刷情報．ＯＣＲ請求年月) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_SEIKY_YM,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_SEIKY_YM),
														OCR_SEIKY_YM_LENGTH,
														true));
		
		// ＯＣＲ請求契約番号(請求書印刷情報．ＯＣＲ請求契約番号) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_SEIKY_KEI_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_SEIKY_KEI_NO),
														OCR_SEIKY_KEI_NO_LENGTH,
														true));
		
		// ＯＣＲ発行月(請求書印刷情報．ＯＣＲ発行月) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_HAKKO_MON,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_HAKKO_MON),
														OCR_HAKKO_MON_LENGTH,
														true));
		
		// ＯＣＲ発行シーケンス(請求書印刷情報．ＯＣＲ発行シーケンス) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_HAKKO_SEQ,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_HAKKO_SEQ),
														OCR_HAKKO_SEQ_LENGTH,
														true));
		
		// 群番号(請求書印刷情報．群番号) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_GUN_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_GUN_NO),
														OCR_GUN_NO_LENGTH,
														true));
		
		// ＯＣＲ請求金額(請求書印刷情報．ＯＣＲ請求金額) 単純転送
		retMap.setString(JBSbatCHIFM088.OCR_SEIKY_AMNT, 
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.OCR_SEIKY_AMNT),
														OCR_SEIKY_AMNT_LENGTH,
														true));
		
		// チェックデジット(請求書印刷情報．チェックデジット) 単純転送
		retMap.setString(JBSbatCHIFM088.CHKDGT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.CHKDGT),
														CHKDGT_LENGTH,
														true));
		
		
		// インフォメーション１(請求書印刷情報．インフォメーション１) 単純転送
		retMap.setString(JBSbatCHIFM088.INF_CD1,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.INF_CD1),
														INF_CD1_LENGTH,
														true));
		
		// インフォメーション２(請求書印刷情報．インフォメーション２) 単純転送
		retMap.setString(JBSbatCHIFM088.INF_CD2,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.INF_CD2),
														INF_CD2_LENGTH,
														true));
		
		// インフォメーション３(請求書印刷情報．インフォメーション３) 単純転送
		retMap.setString(JBSbatCHIFM088.INF_CD3,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.INF_CD3),
														INF_CD3_LENGTH,
														true));
		
		// インフォメーション４(請求書印刷情報．インフォメーション４) 単純転送
		retMap.setString(JBSbatCHIFM088.INF_CD4,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.INF_CD4),
														INF_CD4_LENGTH,
														true));
		
		// 収入印紙マスクフラグ(請求書印刷情報．収入印紙マスクフラグ) 単純転送
		retMap.setString(JBSbatCHIFM088.INSHI_MSK_FLG,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.INSHI_MSK_FLG),
																		INSHI_MSK_FLG_LENGTH,
																		false));
		
		
		// カスタマスタートビット(請求書印刷情報．カスタマスタートビット) 単純転送
		retMap.setString(JBSbatCHIFM088.START_BIT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.START_BIT),
														START_BIT_LENGTH,
														true));
		
		// 郵便番号
		String cutSohusPcd = mastMap.getString(JBSbatCHIFM087.CUT_SOHUS_PCD);
		if (cutSohusPcd.length() >= (YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH + YUBIN_PCD_ATO_2_LENGTH))
		{
			// 郵便番号（主番号）(請求書印刷情報．カスタマ送付先郵便番号) 単純転送	【編集】1-3桁目を設定
			retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAIN_NO, cutSohusPcd.substring(0, YUBIN_PCD_MAIN_NO_LENGTH));
			
			// 郵便番号（副番号上２桁）(請求書印刷情報．カスタマ送付先郵便番号) 単純転送	【編集】4-5桁目を設定
			retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAE_2, cutSohusPcd.substring(YUBIN_PCD_MAIN_NO_LENGTH,
																				YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH));
			
			// 郵便番号（副番号下２桁）(請求書印刷情報．カスタマ送付先郵便番号) 単純転送	【編集】6-7桁目を設定
			retMap.setString(JBSbatCHIFM088.YUBIN_PCD_ATO_2,
							cutSohusPcd.substring(YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH,
												YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH + YUBIN_PCD_ATO_2_LENGTH));
		}
		else
		{
			// 郵便番号（主番号）(請求書印刷情報．カスタマ送付先郵便番号) 単純転送	【編集】1-3桁目を設定
			if (cutSohusPcd.length() >= YUBIN_PCD_MAIN_NO_LENGTH)
			{
				retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAIN_NO, cutSohusPcd.substring(0, YUBIN_PCD_MAIN_NO_LENGTH));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAIN_NO,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																"",
																YUBIN_PCD_MAIN_NO_LENGTH,
																false));
			}
			
			// 郵便番号（副番号上２桁）(請求書印刷情報．カスタマ送付先郵便番号) 単純転送	【編集】4-5桁目を設定
			if (cutSohusPcd.length() >= (YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH))
			{
				retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAE_2, cutSohusPcd.substring(YUBIN_PCD_MAIN_NO_LENGTH, 
																YUBIN_PCD_MAIN_NO_LENGTH + YUBIN_PCD_MAE_2_LENGTH));
			}
			else
			{
				retMap.setString(JBSbatCHIFM088.YUBIN_PCD_MAE_2,
								seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
																"",
																YUBIN_PCD_MAE_2_LENGTH,
																false));
			}
			
			// 郵便番号（副番号下２桁）(請求書印刷情報．カスタマ送付先郵便番号)
			retMap.setString(JBSbatCHIFM088.YUBIN_PCD_ATO_2,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															"",
															YUBIN_PCD_ATO_2_LENGTH,
															false));
		}
		
		// 住所表示番号(請求書印刷情報．カスタマ送付先住所コード) 単純転送
		retMap.setString(JBSbatCHIFM088.CUT_SOHUS_AD_CD,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.CUT_SOHUS_AD_CD),
														CUT_SOHUS_AD_CD_LENGTH,
														true));
		
		// カスタマチェックデジット(請求書印刷情報．カスタマチェックデジット) 単純転送
		retMap.setString(JBSbatCHIFM088.CUT_CHKDGT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.CUT_CHKDGT),
														CUT_CHKDGT_LENGTH,
														true));
		
		// カスタマストップビットコード(請求書印刷情報．カスタマストップビットコード) 単純転送
		retMap.setString(JBSbatCHIFM088.CUT_STOP_BIT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.CUT_STOP_BIT),
														CUT_STOP_BIT_LENGTH,
														true));
		
		
		// 変換後カスタマバーコード 固定値
		retMap.setString(JBSbatCHIFM088.CHG_BARCODE, chgBarcodeDef);
		
		// 変換後リターンコード 固定値
		retMap.setString(JBSbatCHIFM088.CHG_RTN_CD, chgRtnCdDef);
		
		// 識別子(請求書印刷情報．識別子) 単純転送
		retMap.setString(JBSbatCHIFM088.SKBT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SKBT),
														SKBT_LENGTH,
														true));
		
		// メーカーコード(請求書印刷情報．メーカーコード) 単純転送
		retMap.setString(JBSbatCHIFM088.MAKER_CD,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.MAKER_CD),
														MAKER_CD_LENGTH,
														true));
		
		// ＥＡＮ会社コード(請求書印刷情報．ＥＡＮ会社コード) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_COMP_CD,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_COMP_CD),
														EAN_COMP_CD_LENGTH,
														true));
		
		// ＥＡＮ請求月(請求書印刷情報．ＥＡＮ請求月) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_SIKY_MON,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_SIKY_MON),
														EAN_SIKY_MON_LENGTH,
														true));
		
		// ＥＡＮ請求年(請求書印刷情報．ＥＡＮ請求年) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_SIKY_YEAR,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_SIKY_YEAR),
														EAN_SIKY_YEAR_LENGTH,
														true));
		
		// ＥＡＮ群番号(請求書印刷情報．ＥＡＮ群番号) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_GUN_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_GUN_NO),
														EAN_GUN_NO_LENGTH,
														true));
		
		// ＥＡＮ発行シーケンス(請求書印刷情報．ＥＡＮ発行シーケンス) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_HAKKO_SEQ,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_HAKKO_SEQ),
														EAN_HAKKO_SEQ_LENGTH,
														true));
		
		// ＥＡＮ請求契約番号(請求書印刷情報．ＥＡＮ請求契約番号) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_SEIKY_KEI_NO,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_SEIKY_KEI_NO),
														EAN_SEIKY_KEI_NO_LENGTH,
														true));
		
		// ＥＡＮ再発行区分(請求書印刷情報．ＥＡＮ再発行区分) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_RE_HAKKO_DIV,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_RE_HAKKO_DIV),
														EAN_RE_HAKKO_DIV_LENGTH,
														true));
		
		// ＥＡＮ支払期限日(請求書印刷情報．ＥＡＮ支払期限日) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_PAY_KIGEN_DAY,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_PAY_KIGEN_DAY),
														EAN_PAY_KIGEN_DAY_LENGTH,
														true));
		
		// ＥＡＮ印紙フラグ(請求書印刷情報．ＥＡＮ印紙フラグ) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_INSHI_FLG,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_INSHI_FLG),
														EAN_INSHI_FLG_LENGTH,
														true));
		
		// ＥＡＮ請求金額(請求書印刷情報．ＥＡＮ請求金額) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_SEIKY_AMNT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_SEIKY_AMNT).toString(),
														EAN_SEIKY_AMNT_LENGTH,
														true));
		
		// ＥＡＮチェックデジット(請求書印刷情報．ＥＡＮチェックデジット) 単純転送
		retMap.setString(JBSbatCHIFM088.EAN_CHKDGT,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.EAN_CHKDGT),
														EAN_CHKDGT_LENGTH,
														true));

		// v13.00.00 ADD START
		// 請求書ハガキ化抑止フラグ(請求書印刷情報．請求書ハガキ化抑止フラグ) 単純転送
		retMap.setString(JBSbatCHIFM088.SKS_HAGAKI_YOKSI_FLG,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.SKS_HAGAKI_YOKSI_FLG),
														SKS_HAGAKI_YOKSI_FLG_LENGTH,
														true));
		// v13.00.00 ADD END
		
		// ANK-3838-00-00 ADD START
		// 手数料負担方式コード(請求書印刷情報．手数料負担方式コード) 
		// ANK-4028-00-00 ADD START
		if (JACStrConst.PAY_WAY_CD_MDG.equals(seikyWayCd))
		{
		// ANK-4028-00-00 ADD END
			retMap.setString(JBSbatCHIFM088.COMMISION_FTN_HSK_CD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															mastMap.getString(JBSbatCHIFM087.COMMISION_FTN_HSK_CD),
															COMMISION_FTN_HSK_CD_LENGTH,
															true));
		// ANK-4028-00-00 ADD START
		}
		else
		{
			retMap.setString(JBSbatCHIFM088.COMMISION_FTN_HSK_CD,
							seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
															"",
															COMMISION_FTN_HSK_CD_LENGTH,
															true));
		}
		// ANK-4028-00-00 ADD END
		
		// パーフェクト口座利用可否(請求書印刷情報．パーフェクト口座利用可否) 単純転送
		retMap.setString(JBSbatCHIFM088.PKOZA_USE_KH,
						seikyKaknoBusinessUtil.fillString(JCHbatSeikyKaknoBusinessUtil.FillType.HalfSpace,
														mastMap.getString(JBSbatCHIFM087.PKOZA_USE_KH),
														PKOZA_USE_KH_LENGTH,
														true));

		// ANK-3838-00-00 ADD END
		
		// 予備２ 固定値
		retMap.setString(JBSbatCHIFM088.YOBI2, yobi2Def);
		
		// レコードＳＥＱ 固定値
		retMap.setString(JBSbatCHIFM088.REC_SEQ, recSeqDef);
		
		// 出力フラグを設定(ファイル出力する)
		retMap.setOutFlg(true);

		// 出力共通電文に入出力インターフェースを設定する
		outputItem.addOutMapList(retMap);
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeSeikyData]");
		return outputItem;
	}
	
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		
		seikyKaknoBusinessUtil.close();
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][terminal]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][terminal]");
		
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 * @return mastProcFlg を戻します。
	 */
	public boolean isMastProcFlg()
	{
		return mastProcFlg;
	}

	/**
	 * @return matchProcFlg を戻します。
	 */
	public boolean isMatchProcFlg()
	{
		return matchProcFlg;
	}

	/**
	 * @return tranProcFlg を戻します。
	 */
	public boolean isTranProcFlg()
	{
		return tranProcFlg;
	}

	/**
	 * @param mast_ProcFlg 設定する mastProcFlg。
	 */
	public void setMastProcFlg(boolean mast_ProcFlg)
	{
		this.mastProcFlg = mast_ProcFlg;
	}

	/**
	 * @param match_ProcFlg 設定する matchProcFlg。
	 */
	public void setMatchProcFlg(boolean match_ProcFlg)
	{
		this.matchProcFlg = match_ProcFlg;
	}

	/**
	 * @param tran_ProcFlg 設定する tranProcFlg。
	 */
	public void setTranProcFlg(boolean tran_ProcFlg)
	{
		this.tranProcFlg = tran_ProcFlg;
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
