/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCHUwInfoKumiTeisei
*	ソースファイル名	：JBSbatCHUwInfoKumiTeisei.java
*	作成者				：富士通　
*	作成日				：2023年06月21日
*＜機能概要＞
*　修正版内訳情報組立処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2023/06/21  FJ)枡岡		新規作成
*               2023/09/25  FJ)松永		【ST-2023-0000012】最終行に格納される料金項目が請求書印刷データに出力されない
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JACbatParamUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatMatchServiceInterface;
import eo.business.common.JCHbatBCDUtil;
import eo.business.util.file.JBSbatCHIFM058;
import eo.business.util.file.JBSbatCHIFM429;
import eo.common.constant.JACStrConst;
import eo.common.util.JPCUtilCommon;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* 修正版内訳情報組立処理 <p>
*<BR>
* @author 富士通
*/
public class JBSbatCHUwInfoKumiTeisei extends JBSbatBusinessService implements JBSbatMatchServiceInterface
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** キーマッチ処理フラグ*/
	private boolean matchProcFlg;

	/** マスタファイル処理フラグ*/
	private boolean mastProcFlg;

	/** トランファイル処理フラグ*/
	private boolean tranProcFlg;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	// 料金内訳情報部インデックス
	/** インデックス＿料金内訳情報部１ */
	private final int IDX_PRC_UCWK_INFO_1 = 0;
	
	/** インデックス＿料金内訳情報部２ */
	private final int IDX_PRC_UCWK_INFO_2 = 1;
	
	/** インデックス＿料金内訳情報部３ */
	private final int IDX_PRC_UCWK_INFO_3 = 2;
	
	/** インデックス＿料金内訳情報部４ */
	private final int IDX_PRC_UCWK_INFO_4 = 3;
	
	/** インデックス＿料金内訳情報部５ */
	private final int IDX_PRC_UCWK_INFO_5 = 4;
	
	/** インデックス＿料金内訳情報部６ */
	private final int IDX_PRC_UCWK_INFO_6 = 5;
	
	/** インデックス＿料金内訳情報部７ */
	private final int IDX_PRC_UCWK_INFO_7 = 6;
	
	// 同封制御項目格納マップキー
	/** レコード区分 */
	private final String REC_DIV = "REC_DIV";
	
	/** 同封コード */
	private final String SORT_DOFU_CD = "SORT_DOFU_CD";
	
	/** 請求契約番号 */
	private final String DOFU_SEIKY_KEI_NO = "DOFU_SEIKY_KEI_NO";
	
	/** 組立種別 */
	private final String KUMI_SBT = "KUMI_SBT";
	
	/** 組立連番 */
	private final String KUMI_RNB = "KUMI_RNB";
	
	/** レコード種別 */
	private final String REC_SBT = "REC_SBT";
	
	/** サービス契約番号 */
	private final String SVC_KEI_NO = "SVC_KEI_NO";
	
	/** 課金先電話番号 */
	private final String KAKINS_TELNO = "KAKINS_TELNO";
	
	// 印刷制御情報格納マップキー
	/** 支払方法コード（ソート順） */
	private final String PRINT_KEY_PAY_WAY_SORT = "PAY_WAY_SORT";
	
	/** 請求年月 */
	private final String PRINT_SEIKY_YM = "SEIKY_YM";
	
	/** レコード種別 */
	private final String PRINT_KEY_REC_SBT = "REC_SBT";
	
	/** レコード区分 */
	private final String PRINT_KEY_REC_DIV = "REC_DIV";
	
	/** 請求契約番号 */
	private final String PRINT_KEY_SEIKY_KEI_NO = "SEIKY_KEI_NO";
	
	/** 印刷電話番号 */
	private final String PRINT_KEY_PRINT_TEL_NO = "PRINT_TEL_NO";
	
	/** 郵便番号 */
	private final String PRINT_KEY_SOHUS_PCD = "SOHUS_PCD";
	
	/** 封書区分 */
	private final String PRINT_KEY_FUSYO_DIV = "FUSYO_DIV";
	
	/** 同封物種別１ */
	private final String PRINT_KEY_DOHUBT_SBT1 = "DOHUBT_SBT1";
	
	/** 同封物種別１部数 */
	private final String PRINT_KEY_DOHUBT_SBT1_CNT = "DOHUBT_SBT1_CNT";
	
	/** 同封物種別２ */
	private final String PRINT_KEY_DOHUBT_SBT2 = "DOHUBT_SBT2";
	
	/** 同封物種別２部数 */
	private final String PRINT_KEY_DOHUBT_SBT2_CNT = "DOHUBT_SBT2_CNT";
	
	/** 同封物種別３ */
	private final String PRINT_KEY_DOHUBT_SBT3 = "DOHUBT_SBT3";
	
	/** 同封物種別３部数 */
	private final String PRINT_KEY_DOHUBT_SBT3_CNT = "DOHUBT_SBT3_CNT";
	
	/** 同封物種別４ */
	private final String PRINT_KEY_DOHUBT_SBT4 = "DOHUBT_SBT4";
	
	/** 同封物種別４部数 */
	private final String PRINT_KEY_DOHUBT_SBT4_CNT = "DOHUBT_SBT4_CNT";
	
	/** 同封物種別５ */
	private final String PRINT_KEY_DOHUBT_SBT5 = "DOHUBT_SBT5";
	
	/** 同封物種別５部数 */
	private final String PRINT_KEY_DOHUBT_SBT5_CNT = "DOHUBT_SBT5_CNT";
	
	/** 同封物種別６ */
	private final String PRINT_KEY_DOHUBT_SBT6 = "DOHUBT_SBT6";
	
	/** 同封物種別６部数 */
	private final String PRINT_KEY_DOHUBT_SBT6_CNT = "DOHUBT_SBT6_CNT";
	
	/** レコードＳＥＱ１ */
	private final String PRINT_KEY_REC_SEQ = "REC_SEQ";
	
	// 料金内訳情報格納マップキー
	/** 枚数 */
	private final String PRC_KEY_CNT = "CNT";
	
	/** 表裏区分 */
	private final String PRC_KEY_UPDOWN_DIV = "UPDOWN_DIV";
	
	/** 行 */
	private final String PRC_KEY_ROW = "ROW";
	
	/** 内訳面数 */
	private final String PRC_KEY_UW_CNT = "UW_CNT";
	
	/** ＮＯ */
	private final String PRC_KEY_NO = "NO";
	
	/** 電話番号 */
	private final String PRC_KEY_TEL_NO = "TEL_NO";
	
	/** 電話番号編集 */
	private final String PRC_KEY_TELNO_HENSHU = "TELNO_HENSHU";
	
	/** 料金コード */
	private final String PRC_KEY_PRC_CD = "PRC_CD";
	
	/** 料金名称 */
	private final String PRC_KEY_PRC_NM = "PRC_NM";
	
	/** 税区分 */
	private final String PRC_KEY_TAX_DIV = "TAX_DIV";
	
	/** 金額 */
	private final String PRC_KEY_AMNT = "AMNT";
	
	/** 金額内訳 */
	private final String PRC_KEY_AMNT_UCWK = "AMNT_UCWK";
	
	/** 編集金額 */
	private final String PRC_KEY_HENSHU_AMNT = "HENSHU_AMNT";
	
	/** 編集金額内訳 */
	private final String PRC_KEY_HENSHU_AMNT_UCWK = "HENSHU_AMNT_UCWK";
	
	/** 利用期間 */
	private final String PRC_KEY_CHRG_PCALL_CNT = "CHRG_PCALL_CNT";
	
	/** 予備２ */
	private final String PRINT_KEY_YOBI2 = "YOBI2";
	
	// ファイル項目桁数
	/** 桁数＿支払方法コード（ソート順） */
	private final int LENGTH_PAY_WAY_SORT = 1;
	 
	/** 桁数＿レコード区分 */
	 private final int LENGTH_REC_DIV = 3;
	 
	/** 桁数＿シーケンス番号 */
	 private final int LENGTH_SEQ_NO = 5;
	 
	/** 桁数＿請求契約番号 */
	 private final int LENGTH_SEIKY_KEI_NO = 10;
	 
	/** 桁数＿印刷電話番号 */
	 private final int LENGTH_PRINT_TEL_NO = 12;
	 
	/** 桁数＿郵便番号 */
	 private final int LENGTH_SOHUS_PCD = 8;
	 
	/** 桁数＿封書区分 */
	 private final int LENGTH_FUSYO_DIV = 2;
	 
	/** 桁数＿同封物種別１ */
	 private final int LENGTH_DOHUBT_SBT1 = 3;
	 
	/** 桁数＿同封物種別２ */
	 private final int LENGTH_DOHUBT_SBT2 = 3;
	 
	/** 桁数＿同封物種別３ */
	 private final int LENGTH_DOHUBT_SBT3 = 3;
	 
	/** 桁数＿同封物種別４ */
	 private final int LENGTH_DOHUBT_SBT4 = 3;
	 
	/** 桁数＿同封物種別５ */
	 private final int LENGTH_DOHUBT_SBT5 = 3;
	 
	/** 桁数＿同封物種別６ */
	 private final int LENGTH_DOHUBT_SBT6 = 3;
	 
	/** 桁数＿予備２ */
	 private final int LENGTH_YOBI2 = 22;
	 
	/** 桁数＿枚数 */
	private final int LENGTH_CNT = 4;
	
	/** 桁数＿行 */
	private final int LENGTH_ROW = 2;
	
	/** 桁数＿内訳面数 */
	private final int LENGTH_UW_CNT = 4;
	
	/** 桁数＿ＮＯ */
	private final int LENGTH_NO = 15;
	
	/** 桁数＿電話番号 */
	private final int LENGTH_TEL_NO = 12;
	
	/** 桁数＿電話番号編集 */
	private final int LENGTH_TELNO_HENSHU = 14;
	
	/** 桁数＿料金コード */
	private final int LENGTH_PRC_CD = 4;
	
	/** 桁数＿料金名称 */
	private final int LENGTH_PRC_NM = 30;
	
	/** 桁数＿税区分 */
	private final int LENGTH_TAX_DIV = 1;
	
	/** 桁数＿金額 */
	private final int LENGTH_AMNT = 12;
	
	/** 桁数＿金額内訳 */
	private final int LENGTH_AMNT_UCWK = 12;
	
	/** 桁数＿編集金額 */
	private final int LENGTH_HENSHU_AMNT = 12;
	
	/** 桁数＿編集金額内訳 */
	private final int LENGTH_HENSHU_AMNT_UCWK = 12;
	
	/** 桁数＿利用期間数 */
	private final int LENGTH_CHRG_PCALL_CNT = 13;
	
	/** 桁数＿同封請求契約番号 */
	 private final int LENGTH_DOFU_SEIKY_KEI_NO = 12;
	
	/** 桁数＿サービス契約番号 */
	private final int LENGTH_SVC_KEI_NO = 10;
	
	/** 桁数＿課金先電話番号 */
	private final int LENGTH_KAKINS_TELNO = 12;
	
	/** レコードＳＥＱ */
	 private final int LENGTH_REC_SEQ = 7;
	
	// その他定数
	
	/** レコード種別（データレコード） */
	private final String REC_SBT_DATA = "1";
	
	/** レコード種別（データレコード） */
	private final String KUMI_SBT_DATA = "1";
	
	/** 組立連番 */
	private final String DOFU_KUMI_RNB = "99999";
	
	/** 固定値：9 */
	private final String NINE = "9";	
	
	/** 行 */
	private final String ROW = "99";
	
	/** 枚数、内訳面数 */
	private final String CNT = "9999";
	
	/** 全角空白 */
	private final String FULL_SPACE = "　";
	
	// 退避情報
	/**  支払方法 */
	private HashSet<String> payWaySet = null;
	
	/** 同封制御項目 */
	private HashMap<String, String> dofuCtrlInfoMap = null;
	
	/** 印刷制御情報 */
	private HashMap<String, String> printCtrlInfoMap = null;
	
	/** 料金内訳情報リスト */
	private ArrayList<HashMap<String, String>> prcUcwkInfoList = null;
	
	/** 料金内訳情報リストカウンタ */
	private int prcUcwkInfoListCnt = 0;
	
	/** 処理件数 */
	private int trnCnt = 0;
	
	/** 料金内訳格納数 */
	private int ucwkOccursCnt = 0;

	/** シーケンス番号 */
	private int seqNo = 0;
	
	/** 退避．前回ＫＥＹ１（請求年月＋請求契約番号） */
	private String tihBfKey1 = null;
	
	/** 退避．前回ＫＥＹ２（請求契約番号） */
	private String tihBfKey2 = null;
	
	/** 退避．ＫＥＹ２（請求契約番号） */
	private String tihKey2 = null;
	
	
	/**
	 * 初期処理
	 * @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, "[S][initial][opeDate=" + super.opeDate + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initial][freeItem=" + super.freeItem + "]");
		
		payWaySet = new HashSet<String>();
		
		// バッチ共通パラメータ．フリー項目から支払方法を取得
		if (super.freeItem != null)
		{
			String[] payWayArray = super.freeItem.split(JACStrConst.FREE_DIV);
			
			for (int i = 0; i < payWayArray.length; i++)
			{
				payWaySet.add(payWayArray[i]);
			}
		}
		
		// 料金内訳情報格納数取得
		JACbatParamUtil paramUtil = new JACbatParamUtil(super.commonItem);
		ucwkOccursCnt = Integer.parseInt(paramUtil.getGyoumuParameter(JACStrConst.WKPARA_CH_UCWK_OCCURS_CNT));
		paramUtil.close();
		
		// 料金内訳情報リスト
		prcUcwkInfoList = new ArrayList<HashMap<String,String>>();
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial]");
		
		/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param mastMap　入力電文
	 * @param outputInItem  入力情報
	 * @return JBSbatOutputItem 出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap mastMap, 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;
		
		if(mastMap == null)
			// 入力MのみNullの場合
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力MのみNull]");
			
			// ST-2023-0000012 MOD START
			// 最終行読み込み後の最後の請求内訳情報組立ファイル出力情報作成 
			// 当処理によって、出力電文の2番目に作成した請求内訳情報組立ファイル出力情報が格納される
			outputInItem = makeUcwkInfoKumiFile(outputInItem, mastMap, false);
			
//			JBSbatServiceInterfaceMap tmpOutMap =
//				(JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(0);
			// 上記で格納した請求内訳情報組立ファイル出力情報を出力ファイルと指定する
			JBSbatServiceInterfaceMap tmpOutMap =
				(JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(1);
			// ST-2023-0000012 MOD END
			
			tmpOutMap.setOutFlg(true);
		}
		else
		{

			// 出力対象チェック
			// 起動引数の支払方法と請求方法コードが一致しない場合、
			String seikyWayCd = mastMap.getString(JBSbatCHIFM058.PAYWAY_CD);
			if (!payWaySet.contains(seikyWayCd))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][処理対象外]");

				// マスタファイル処理フラグを設定する
				this.setMastProcFlg(true);
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
				return outputInItem;
			}
			
			outputInItem = executeUcwkInfoKumi(outputInItem, mastMap);
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
		
		return outputInItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 内訳情報組立処理を実施します。
	 * 
	 * @param outputItem 出力情報
	 * @param mastMap 入力電文
	 * @return 出力情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private JBSbatOutputItem executeUcwkInfoKumi(JBSbatOutputItem outputItem, JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][executeSeikyUwInfoKumi]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][executeSeikyUwInfoKumi][mastMap=" + mastMap.getMap().toString() + "]") : true;
		
		// 入力ＫＥＹ１（請求書内訳印刷データ．同封コード＋請求書内訳印刷データ．請求契約番号）
		String key1 = makeStr(mastMap.getString(JBSbatCHIFM058.SEIKY_YM), mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][executeUcwkInfoKumi][key1=" + key1 + "]");
		
		// 退避．前回ＫＥＹ１ ＝ 入力ＫＥＹ１ の場合
		if (key1.equals(this.tihBfKey1))
		{
			// 処理件数カウントアップ
			trnCnt++;
			
			// 料金内訳情報リストカウンタのカウントアップ
			prcUcwkInfoListCnt++;
			
			// 格納数を超えた場合
			if (ucwkOccursCnt < trnCnt)
			{
				
				// 処理件数クリア
				trnCnt = 1;
				
				// 料金内訳情報リストカウンタの初期化
				prcUcwkInfoListCnt = 0;
				
				
				outputItem = new JBSbatOutputItem();
				
				
				// 請求内訳情報組立ファイル出力情報作成 
				outputItem = makeUcwkInfoKumiFile(outputItem, mastMap, false);
				
				JBSbatServiceInterfaceMap tmpOutMap =
					(JBSbatServiceInterfaceMap)outputItem.getOutMapList().get(0);
				
				tmpOutMap.setOutFlg(true);
				
				prcUcwkInfoList.clear();
				
				
				// 料金内訳情報リスト編集
				editPrcUcwkInfoList(mastMap);
				
				// 請求内訳情報組立ファイル出力情報作成 
				outputItem = makeUcwkInfoKumiFile(outputItem, mastMap, true);

			}
			
			// 料金内訳情報リスト編集
			editPrcUcwkInfoList(mastMap);
		}
		
		// キーブレーク
		else if(!key1.equals(this.tihBfKey1))
		{
			// 処理件数初期化
			trnCnt = 1;
			
			// 料金内訳情報リストカウンタの初期化
			prcUcwkInfoListCnt = 0;
			
			// 入力ＫＥＹ３（請求書内訳印刷データ．請求契約番号）
			tihKey2 = makeStr(mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO));

			// 初回レコード以外の場合
			if (this.tihBfKey1 != null)
			{
				outputItem = new JBSbatOutputItem();
				
				
				// 請求内訳情報組立ファイル出力情報作成 
				outputItem = makeUcwkInfoKumiFile(outputItem, mastMap, false);
				
				JBSbatServiceInterfaceMap tmpOutMap =
					(JBSbatServiceInterfaceMap)outputItem.getOutMapList().get(0);
				
				tmpOutMap.setOutFlg(true);
				
				prcUcwkInfoList.clear();
				
				
				// 料金内訳情報リスト編集
				editPrcUcwkInfoList(mastMap);
				
				// 請求内訳情報組立ファイル出力情報作成 
				outputItem = makeUcwkInfoKumiFile(outputItem, mastMap, true);

			}
			else
			{
				// 料金内訳情報リスト編集
				editPrcUcwkInfoList(mastMap);
				
				// 請求内訳情報組立ファイル出力情報作成 
				outputItem = makeUcwkInfoKumiFile(outputItem, mastMap, true);
			}
			
			// 退避処理
			this.tihBfKey1 = key1;
			
			
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][executeSeikyUwInfoKumi]");
		
		return outputItem;
	}

	/**
	 * 料金内訳情報リストを編集します。
	 * 
	 * @param mastMap 入力情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void editPrcUcwkInfoList(JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrcUcwkInfoList]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrcUcwkInfoList][mastMap=" + mastMap.getMap().toString() + "]") : true;
		
		if(trnCnt == 1)
		{
			// 同封制御項目編集
			editDofuCtrlInfo(mastMap);
			
			// 印刷制御情報部編集
			editPrintCtrlInfo(mastMap);
			
			// 料金内訳情報リスト初期化
			initPrcUcwkInfoList();
		}
		
		// 料金内訳情報部編集
		editPrcUcwkInfo(mastMap);
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][editPrcUcwkInfoList]");
	}

	/**
	 * 請求書内訳情報組立ファイルの同封制御項目を編集します。
	 * 
	 * @param mastMap 入力電文
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void editDofuCtrlInfo(JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrintCtrlInfo]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrintCtrlInfo][mastMap=" + mastMap.getMap().toString() + "]") : true;
		
		// 印刷制御情報
		dofuCtrlInfoMap = new HashMap<String, String>();
		
		// 支払方法コード（ソート順）
		if (JBSbatCHIFM058.PAYWAY_CD.trim().length() != 0)
		{
			dofuCtrlInfoMap.put(PRINT_KEY_PAY_WAY_SORT, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.PAYWAY_CD), LENGTH_PAY_WAY_SORT, true));
		}
		else
		{
			dofuCtrlInfoMap.put(PRINT_KEY_PAY_WAY_SORT, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_PAY_WAY_SORT, true));
		}
		// レコード区分
		dofuCtrlInfoMap.put(REC_DIV, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.REC_DIV), LENGTH_REC_DIV, true));
		// 同封コード
		dofuCtrlInfoMap.put(SORT_DOFU_CD, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO), LENGTH_DOFU_SEIKY_KEI_NO, true));
		// 請求契約番号
		dofuCtrlInfoMap.put(DOFU_SEIKY_KEI_NO, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO), LENGTH_DOFU_SEIKY_KEI_NO, true));
		// 組立種別
		dofuCtrlInfoMap.put(KUMI_SBT, KUMI_SBT_DATA);
		// 組立連番
		dofuCtrlInfoMap.put(KUMI_RNB, DOFU_KUMI_RNB);
		// レコード種別
		dofuCtrlInfoMap.put(REC_SBT, REC_SBT_DATA);
		// サービス契約番号
		String keiNo = "0";
		dofuCtrlInfoMap.put(SVC_KEI_NO, JPCUtilCommon.fillZero(keiNo, LENGTH_SVC_KEI_NO, false));
		// 課金先電話番号
		String telNo = "0";
		dofuCtrlInfoMap.put(KAKINS_TELNO, JPCUtilCommon.fillZero(telNo, LENGTH_KAKINS_TELNO, false));
		// 請求年月
		dofuCtrlInfoMap.put(PRINT_SEIKY_YM, mastMap.getString(JBSbatCHIFM058.SEIKY_YM));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][editCtrlInfo]");
	}
	
	/**
	 * 請求書内訳情報組立ファイルの印刷制御情報部を編集します。
	 * 
	 * @param mastMap 入力電文
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void editPrintCtrlInfo(JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrintCtrlInfo]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrintCtrlInfo][mastMap=" + mastMap.getMap().toString() + "]") : true;
		
		// 印刷制御情報
		printCtrlInfoMap = new HashMap<String, String>();
		
		// 請求年月
		printCtrlInfoMap.put(PRINT_SEIKY_YM, mastMap.getString(JBSbatCHIFM058.SEIKY_YM));
		// レコード種別
		printCtrlInfoMap.put(PRINT_KEY_REC_SBT, REC_SBT_DATA);
		// レコード区分
		if(mastMap.getString(JBSbatCHIFM058.REC_DIV).trim().length() != 0)
		{
			printCtrlInfoMap.put(PRINT_KEY_REC_DIV, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.REC_DIV), LENGTH_REC_DIV, true));
		}
		else
		{
			printCtrlInfoMap.put(PRINT_KEY_REC_DIV, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_REC_DIV, true));
		}

		// 請求契約番号
		if(mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO).trim().length() != 0)
		{
			printCtrlInfoMap.put(PRINT_KEY_SEIKY_KEI_NO, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.SEIKY_KEI_NO), LENGTH_SEIKY_KEI_NO, true));
		}
		else
		{
			printCtrlInfoMap.put(PRINT_KEY_SEIKY_KEI_NO, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_SEIKY_KEI_NO, true));
		}
		// 印刷電話番号
		printCtrlInfoMap.put(PRINT_KEY_PRINT_TEL_NO, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_PRINT_TEL_NO, true));
		// 郵便番号
		if(mastMap.getString(JBSbatCHIFM058.SOHUS_PCD).trim().length() != 0)
		{
			printCtrlInfoMap.put(PRINT_KEY_SOHUS_PCD, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.SOHUS_PCD), LENGTH_SOHUS_PCD, true));
		}
		else
		{
			printCtrlInfoMap.put(PRINT_KEY_SOHUS_PCD, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_SOHUS_PCD, true));
		}
		
		// 封書区分
		if(mastMap.getString(JBSbatCHIFM058.FUSHO_DIV).trim().length() != 0)
		{
			printCtrlInfoMap.put(PRINT_KEY_FUSYO_DIV, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.FUSHO_DIV), LENGTH_FUSYO_DIV, true));
		}
		else
		{
			printCtrlInfoMap.put(PRINT_KEY_FUSYO_DIV, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_FUSYO_DIV, true));
		}
		// 同封物種別１
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT1, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT1, true));
		// 同封物種別１部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT1_CNT, JACStrConst.SPACE_1);
		// 同封物種別２
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT2, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT2, true));
		// 同封物種別２部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT2_CNT, JACStrConst.SPACE_1);
		// 同封物種別３
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT3, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT3, true));
		// 同封物種別３部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT3_CNT, JACStrConst.SPACE_1);
		// 同封物種別４
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT4, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT4, true));
		// 同封物種別４部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT4_CNT, JACStrConst.SPACE_1);
		// 同封物種別５
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT5, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT5, true));
		// 同封物種別５部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT5_CNT, JACStrConst.SPACE_1);
		// 同封物種別６
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT6, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_DOHUBT_SBT6, true));
		// 同封物種別６部数
		printCtrlInfoMap.put(PRINT_KEY_DOHUBT_SBT6_CNT, JACStrConst.SPACE_1);
		// 予備２
		printCtrlInfoMap.put(PRINT_KEY_YOBI2,  JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_YOBI2, true));
		// レコードＳＥＱ
		printCtrlInfoMap.put(PRINT_KEY_REC_SEQ,  JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_REC_SEQ, true));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][editPrintCtrlInfo]");
	}

	/**
	 * 料金内訳情報リストの初期化を行う。
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void initPrcUcwkInfoList() throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initPrcUcwkInfoRecList]");
		
		// 料金内訳情報
		HashMap<String, String> prcUcwkInfoMap = null;
		
		// 料金内訳格納数分、繰り返す
		for(int i = 0; i < ucwkOccursCnt; i++)
		{
			prcUcwkInfoMap = new HashMap<String, String>();
			// 枚数
			prcUcwkInfoMap.put(PRC_KEY_CNT, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_CNT, true));
			// 表裏区分
			prcUcwkInfoMap.put(PRC_KEY_UPDOWN_DIV, JACStrConst.SPACE_1);
			// 行
			prcUcwkInfoMap.put(PRC_KEY_ROW, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_ROW, true));
			// 内訳面数
			prcUcwkInfoMap.put(PRC_KEY_UW_CNT, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_UW_CNT, true));
			// ＮＯ
			prcUcwkInfoMap.put(PRC_KEY_NO, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_NO, true));
			// 電話番号
			prcUcwkInfoMap.put(PRC_KEY_TEL_NO, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_TEL_NO, true));
			// 電話番号編集
			prcUcwkInfoMap.put(PRC_KEY_TELNO_HENSHU, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_TELNO_HENSHU, true));
			// 料金コード
			prcUcwkInfoMap.put(PRC_KEY_PRC_CD, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_PRC_CD, true));
			// 料金名称
			prcUcwkInfoMap.put(PRC_KEY_PRC_NM, JPCUtilCommon.fillSpace(FULL_SPACE, LENGTH_PRC_NM, true));
			// 税区分
			prcUcwkInfoMap.put(PRC_KEY_TAX_DIV, JPCUtilCommon.fillSpace(JACStrConst.FULL_SPACE_1, LENGTH_TAX_DIV, true));
			// 金額
			prcUcwkInfoMap.put(PRC_KEY_AMNT, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_AMNT, true));
			// 金額内訳
			prcUcwkInfoMap.put(PRC_KEY_AMNT_UCWK, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_AMNT_UCWK, true));
			// 編集金額
			prcUcwkInfoMap.put(PRC_KEY_HENSHU_AMNT, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_HENSHU_AMNT, true));
			// 編集金額内訳
			prcUcwkInfoMap.put(PRC_KEY_HENSHU_AMNT_UCWK, JPCUtilCommon.fillHalfSpace(JACStrConst.SPACE_1, LENGTH_HENSHU_AMNT_UCWK, true));
			// 利用期間
			prcUcwkInfoMap.put(PRC_KEY_CHRG_PCALL_CNT, JPCUtilCommon.fillSpace(JACStrConst.FULL_SPACE_1, LENGTH_CHRG_PCALL_CNT, true));
			// 出力フラグ
			prcUcwkInfoMap.put("outFlg", "0");
			
			prcUcwkInfoList.add(prcUcwkInfoMap);
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initPrcUcwkInfoRecList]");
	}

	/**
	 * 請求書内訳情報組立ファイルの料金内訳情報部を編集します。
	 * 
	 * @param mastMap 入力電文
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void editPrcUcwkInfo(JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrcUcwkInfo]");
		assert mastMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][editPrcUcwkInfo][mastMap=" + mastMap.getMap().toString() + "]") : true;
		
		// 料金内訳情報
		HashMap<String, String> prcUcwkInfoMap = prcUcwkInfoList.get(prcUcwkInfoListCnt);
		
		// ＮＯ 右埋め半角空白
		if(mastMap.getString(JBSbatCHIFM058.NO_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_NO, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.NO_RAN), LENGTH_NO, true));
		}
		
		// 料金コード 右埋め半角空白設定
		if(mastMap.getString(JBSbatCHIFM058.PRC_CD_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_PRC_CD, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.PRC_CD_RAN), LENGTH_PRC_CD, true));
		}
		
		// 料金名称
		if(mastMap.getString(JBSbatCHIFM058.PRC_NM_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_PRC_NM, JPCUtilCommon.fillSpace(mastMap.getString(JBSbatCHIFM058.PRC_NM_RAN), LENGTH_PRC_NM, true));
		}
		// 税区分
		if(mastMap.getString(JBSbatCHIFM058.TAXAREA_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_TAX_DIV, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.TAXAREA_RAN), LENGTH_TAX_DIV, true));
		}
		// 金額
		if(mastMap.getString(JBSbatCHIFM058.AMNT_RAN).trim().length() != 0)
		{
			String amnt = JCHbatBCDUtil.toBCDString(mastMap.get(JBSbatCHIFM058.AMNT_RAN).toString());
			prcUcwkInfoMap.put(PRC_KEY_AMNT, JPCUtilCommon.fillZero(amnt, LENGTH_AMNT, false));
		}
		
		// 金額内訳
		if(mastMap.getString(JBSbatCHIFM058.UCWK_AMNT_RAN).trim().length() != 0)
		{
			String ucwkAmnt = JCHbatBCDUtil.toBCDString(mastMap.get(JBSbatCHIFM058.UCWK_AMNT_RAN).toString());
			prcUcwkInfoMap.put(PRC_KEY_AMNT_UCWK, JPCUtilCommon.fillZero(ucwkAmnt, LENGTH_AMNT_UCWK, false));
		}
		
		// 編集金額欄
		if(mastMap.getString(JBSbatCHIFM058.HENSHU_AMNT_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_HENSHU_AMNT, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.HENSHU_AMNT_RAN), LENGTH_HENSHU_AMNT, true));
		}
		
		// 編集金額内訳
		if(mastMap.getString(JBSbatCHIFM058.HENSHU_UCWK_AMNT_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_HENSHU_AMNT_UCWK, JPCUtilCommon.fillHalfSpace(mastMap.getString(JBSbatCHIFM058.HENSHU_UCWK_AMNT_RAN), LENGTH_HENSHU_AMNT_UCWK, true));
		}
		
		// 利用期間
		if(mastMap.getString(JBSbatCHIFM058.USE_PRD_RAN).trim().length() != 0)
		{
			prcUcwkInfoMap.put(PRC_KEY_CHRG_PCALL_CNT, JPCUtilCommon.fillSpace(mastMap.getString(JBSbatCHIFM058.USE_PRD_RAN), LENGTH_CHRG_PCALL_CNT, true));
		}
		
		prcUcwkInfoMap.put("outFlg", "1");

		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][editPrcUcwkInfo]");
	}

	/**
	 * 請求書内訳情報組立ファイルを作成します。
	 * 
	 * outputItem 出力情報
	 * @param mastMap　入力電文
	 * @return 出力情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private JBSbatOutputItem makeUcwkInfoKumiFile(JBSbatOutputItem outputItem, JBSbatServiceInterfaceMap mastMap, boolean cntUpFlg) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeUcwkInfoKumiFile]");
		
		if(cntUpFlg){
		// 同封内出力連番件数設定

		// 入力ＫＥＹ３（請求書内訳印刷データ．請求契約番号）

		// 退避．ＫＥＹ３ ＝ 入力ＫＥＹ３ の場合
		if(this.tihKey2 != null && this.tihKey2.equals(this.tihBfKey2))
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeUcwkInfoKumiFile][退避．ＫＥＹ３ ＝ 入力ＫＥＹ３]");
			// シーケンス番号をカウントアップ
			this.seqNo++;
		}
		else
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeUcwkInfoKumiFile][退避．ＫＥＹ３ ≠ 入力ＫＥＹ３]");
			// シーケンス番号の初期化
			this.seqNo = 1;
		}
		// 退避処理
		this.tihBfKey2 = this.tihKey2;
		}
		// 請求書内訳情報組立ファイルへの出力情報設定
		JBSbatServiceInterfaceMap ucwkInfoKumiFileInfo = setUcwkInfoKumiFile();
		
		assert ucwkInfoKumiFileInfo != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][makeUcwkInfoKumiFile][ucwkInfoKumiFileInfo=" + ucwkInfoKumiFileInfo.getMap().toString() + "]") : true;
		
		// 最終レコードの場合
		if(outputItem == null)
		{
			outputItem = new JBSbatOutputItem();
		}
		// 出力共通電文設定
		outputItem.addOutMapList(ucwkInfoKumiFileInfo);
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeUcwkInfoKumiFile]");
		
		return outputItem;
	}

	/**
	 * 請求書内訳情報組立ファイルへの出力情報を設定します。
	 * 
	 * @return 請求書内訳情報組立ファイル情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private JBSbatServiceInterfaceMap setUcwkInfoKumiFile() throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][setUcwkInfoKumiFile]");
		
		// 請求書内訳情報組立ファイル情報
		JBSbatServiceInterfaceMap ucwkInfoKumiFileInfo = new JBSbatServiceInterfaceMap();
		
		// 支払方法ソート
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PAY_WAY_SORT, dofuCtrlInfoMap.get(PRINT_KEY_PAY_WAY_SORT));
		// レコード区分
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.REC_KBN, dofuCtrlInfoMap.get(REC_DIV));
		
		/* 同封制御項目 */
		// 同封コード
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOFU_CD, dofuCtrlInfoMap.get(SORT_DOFU_CD));
		// 請求契約番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOFU_SEIKY_KEI_NO, dofuCtrlInfoMap.get(DOFU_SEIKY_KEI_NO));
		// 組立種別
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.KUMI_SBT, dofuCtrlInfoMap.get(KUMI_SBT));
		// 組立連番
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.KUMI_REN_NO, dofuCtrlInfoMap.get(KUMI_RNB));
		// レコード種別
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.REC_SBT, dofuCtrlInfoMap.get(REC_SBT));
		// サービス契約番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.SVC_KEI_NO, dofuCtrlInfoMap.get(SVC_KEI_NO));
		// 課金先電話番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.KAKINS_TELNO, dofuCtrlInfoMap.get(KAKINS_TELNO));
		
		/* 印刷制御情報部 */
		// レコード区分
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.REC_DIV, printCtrlInfoMap.get(PRINT_KEY_REC_DIV));
		// シーケンス番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.SEQ_NO, JPCUtilCommon.fillZero(String.valueOf(this.seqNo), LENGTH_SEQ_NO, false));
		// 請求契約番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.SEIKY_KEI_NO, printCtrlInfoMap.get(PRINT_KEY_SEIKY_KEI_NO));
		// 郵便番号
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.SOHUS_PCD, printCtrlInfoMap.get(PRINT_KEY_SOHUS_PCD));
		// 封書区分
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.FUSHO_DIV, printCtrlInfoMap.get(PRINT_KEY_FUSYO_DIV));
		// 同封物種別１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT1, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT1));
		// 同封物種別１部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT1_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT1_CNT));
		// 同封物種別２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT2, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT2));
		// 同封物種別２部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT2_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT2_CNT));
		// 同封物種別３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT3, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT3));
		// 同封物種別３部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT3_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT3_CNT));
		// 同封物種別４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT4, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT4));
		// 同封物種別４部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT4_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT4_CNT));
		// 同封物種別５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT5, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT5));
		// 同封物種別５部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT5_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT5_CNT));
		// 同封物種別６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT6, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT6));
		// 同封物種別６部数
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.DOHUBT_SBT6_CNT, printCtrlInfoMap.get(PRINT_KEY_DOHUBT_SBT6_CNT));
		// 請求年月
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.SEIKY_YM, printCtrlInfoMap.get(PRINT_SEIKY_YM));
		// 予備
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.YOBI2, printCtrlInfoMap.get(PRINT_KEY_YOBI2));
		// レコードＳＥＱ
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.REC_SEQ, printCtrlInfoMap.get(PRINT_KEY_REC_SEQ));
		
		/* 料金内訳情報部１ */
		// 料金内訳情報部１格納マップ取得
		HashMap<String, String> prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_1);
		
		// 枚数＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_1, CNT);
		// 表裏区分＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_1, NINE);
		// 行＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_1, ROW);
		// 内訳面数＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_1, CNT);
		// ＮＯ＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_1, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_1, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_1, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_1, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_1, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_1, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_1, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_1, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿１
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_1, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部２ */
		// 料金内訳情報部２格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_2);
		
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_2, "    ");
			// 表裏区分＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_2, " ");
			// 行＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_2, "  ");
			// 内訳面数＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_2, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_2, CNT);
			// 表裏区分＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_2, NINE);
			// 行＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_2, ROW);
			// 内訳面数＿２
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_2, CNT);
		}
		
		// ＮＯ＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_2, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_2, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_2, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_2, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_2, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_2, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_2, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_2, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿２
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_2, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部３ */
		// 料金内訳情報部３格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_3);
		
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_3, "    ");
			// 表裏区分＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_3, " ");
			// 行＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_3, "  ");
			// 内訳面数＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_3, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_3, CNT);
			// 表裏区分＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_3, NINE);
			// 行＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_3, ROW);
			// 内訳面数＿３
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_3, CNT);
		}
		
		// ＮＯ＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_3, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_3, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_3, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_3, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_3, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_3, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_3, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_3, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿３
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_3, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部４ */
		// 料金内訳情報部４格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_4);
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_4, "    ");
			// 表裏区分＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_4, " ");
			// 行＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_4, "  ");
			// 内訳面数＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_4, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_4, CNT);
			// 表裏区分＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_4, NINE);
			// 行＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_4, ROW);
			// 内訳面数＿４
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_4, CNT);
		}
		
		// ＮＯ＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_4, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_4, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_4, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_4, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_4, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_4, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_4, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_4, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿４
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_4, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部５ */
		// 料金内訳情報部５格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_5);
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_5, "    ");
			// 表裏区分＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_5, " ");
			// 行＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_5, "  ");
			// 内訳面数＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_5, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_5, CNT);
			// 表裏区分＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_5, NINE);
			// 行＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_5, ROW);
			// 内訳面数＿５
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_5, CNT);
		}
		
		// ＮＯ＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_5, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_5, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_5, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_5, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_5, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_5, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_5, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_5, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿５
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_5, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部６ */
		// 料金内訳情報部６格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_6);
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_6, "    ");
			// 表裏区分＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_6, " ");
			// 行＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_6, "  ");
			// 内訳面数＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_6, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_6, CNT);
			// 表裏区分＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_6, NINE);
			// 行＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_6, ROW);
			// 内訳面数＿６
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_6, CNT);
		}
		// ＮＯ＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_6, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_6, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_6, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_6, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_6, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_6, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_6, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_6, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿６
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_6, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		
		/* 料金内訳情報部７ */
		// 料金内訳情報部７格納マップ取得
		prcUcwkInfoMap = prcUcwkInfoList.get(IDX_PRC_UCWK_INFO_7);
		if("0".equals(prcUcwkInfoMap.get("outFlg"))){
			// 枚数＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_7,"    ");
			// 表裏区分＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_7, " ");
			// 行＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_7, "  ");
			// 内訳面数＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_7, "    ");
		}
		else if("1".equals(prcUcwkInfoMap.get("outFlg")))
		{
			// 枚数＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CNT_7,CNT);
			// 表裏区分＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UPDOWN_DIV_7, NINE);
			// 行＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.ROW_7, ROW);
			// 内訳面数＿７
			ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.UW_CNT_7, CNT);
		}
		// ＮＯ＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.NO_7, prcUcwkInfoMap.get(PRC_KEY_NO));
		// 料金コード＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_CD_7, prcUcwkInfoMap.get(PRC_KEY_PRC_CD));
		// 料金名称＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.PRC_NM_7, prcUcwkInfoMap.get(PRC_KEY_PRC_NM));
		// 税区分＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.TAX_DIV_7, prcUcwkInfoMap.get(PRC_KEY_TAX_DIV));
		// 金額＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_7, prcUcwkInfoMap.get(PRC_KEY_AMNT));
		// 金額内訳＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.AMNT_UCWK_7, prcUcwkInfoMap.get(PRC_KEY_AMNT_UCWK));
		// 編集金額＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_7, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT));
		// 編集金額内訳＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.HENSHU_AMNT_UCWK_7, prcUcwkInfoMap.get(PRC_KEY_HENSHU_AMNT_UCWK));
		// 利用期間＿７
		ucwkInfoKumiFileInfo.set(JBSbatCHIFM429.CHRG_PCALL_CNT_7, prcUcwkInfoMap.get(PRC_KEY_CHRG_PCALL_CNT));
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][setUcwkInfoKumiFile]");
		
		return ucwkInfoKumiFileInfo;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
				
		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;
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 文字を連結します
	 * @param  string 文字
	 * @return strBuf 連結した文字列
	 */
	private String makeStr(String ...string)
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeStr]");
		
		StringBuffer strBuf = new StringBuffer();
		for(String str:string)
		{
			if(str == null)
			{
				strBuf.append(JACStrConst.KARA_MOJI);
			}
			else
			{
				strBuf.append(str);
			}
		}
		
		assert strBuf != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][strBuf][strBuf = " + strBuf.toString() + "]") : true;
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeStr]");
		
		return strBuf.toString();
	}
}
