/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatAKYsoJskTkawsKozaHrke
*	ソースファイル名	：JBSbatAKYsoJskTkawsKozaHrke.java
*	作成者				：富士通　
*	作成日				：2013年06月18日
*＜機能概要＞
*　予想・実績突き合せ（口座振替）部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2013/06/18   富士通		新規作成
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatMatchServiceInterface;
import eo.business.util.file.JBSbatAKIFM034;
import eo.business.util.file.JBSbatAKIFM041;
import eo.business.util.file.JBSbatAKIFM044;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatAKYsoJskTkawsKozaHrke extends JBSbatBusinessService implements JBSbatMatchServiceInterface
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/

	/** キーマッチ処理フラグ */
	private boolean matchProcFlg;

	/** マスタファイル処理フラグ */
	private boolean mastProcFlg;

	/** トランファイル処理フラグ */
	private boolean tranProcFlg;

	/** マッチフラグ */
	private boolean matchFlg = false;

	/** 実績作成有無予想フラグ */
	private boolean yosoFlg = false;
	/** 実績作成有無予想：なし */
	private static final String JISSEKI_YOSO_NASHI = "0";
	/** 実績作成有無予想：あり */
	private static final String JISSEKI_YOSO_ARI = "1";

	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @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.getMap().toString() + "]") : true;
		assert tranMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute][入力Ｔ（口座振替依頼実績情報）=" + tranMap.getMap().toString() + "]") : true;

		if (mastMap != null && JISSEKI_YOSO_ARI.equals(mastMap.getString(JBSbatAKIFM034.JISSEKI_UM_YOSO))) {
			this.yosoFlg = true;
		} else {
			this.yosoFlg = false;
		}
		// 入力Ｍのみ存在する
		if (mastMap != null && tranMap == null)
		{

			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍのみ存在する]");

			// マッチフラグがtrueの場合
			// 入力Ｍとマッチしていたのでフラグを戻す。
			if(matchFlg)
			{
				this.matchFlg = false;
			}
			else
			{
				if(yosoFlg)
				{
					// マッチングの結果、口座振替依頼予想情報のみに存在しており、かつ、実績作成有無予想が「あり」なので出力対象。
					// 入力Ｍの情報をもとに、 出力レコードを編集し、出力情報に設定する。
					this.makeOutputItemMast(outputInItem, mastMap);
				}
				this.matchFlg = false;
			}

			this.setMastProcFlg(true);
		}
		// 入力Ｔのみ存在する
		else if (mastMap == null && tranMap != null)
		{

			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｔのみ存在する]");

			// 入力Ｔの情報をもとに、 出力レコードを編集し、出力情報に設定する。
			this.makeOutputItemTran(outputInItem, tranMap);
			
			this.setTranProcFlg(true);

		}
		// 入力Ｍ、入力Ｔともに存在する
		else
		{
			// マッチングキー取得
			String mastKey = mastMap.getString(JBSbatAKIFM034.SEIKY_KEI_NO);
		
			// マッチングキー取得
			String tranKey = tranMap.getString(JBSbatAKIFM041.SEIKYSHA_NO);

			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ．比較キー=" + mastKey + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｔ．比較キー=" + tranKey + "]");

			// マッチング処理
			// 入力Ｍ＝入力Ｔ（マッチ）
			if (mastKey.equals(tranKey))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ、入力Ｔともに存在する][入力Ｍ＝入力Ｔ（マッチ）]");

				if(yosoFlg) {
					// 金額比較用
					BigDecimal amnt = new BigDecimal(mastMap.getString(JBSbatAKIFM034.AMNT));

					// 金額比較用
					BigDecimal DEBIT_AMNT = new BigDecimal(tranMap.getString(JBSbatAKIFM041.DEBIT_AMNT));

					// 口座振替依頼実績情報.引落金額 <> 口座振替依頼予想情報.請求内訳.金額
					if(amnt.compareTo(DEBIT_AMNT) != 0)
					{

						// 入力Ｍ、Ｔの情報をもとに、 出力レコードを編集し、出力情報に設定する。
						//this.makeOutputItemMatch(outputInItem, mastMap, tranMap);
						this.makeOutputItemMatch(outputInItem, mastMap, tranMap, "23", "引落金額確認要");

					}

				} else {
					// 入力Ｍ、Ｔの情報をもとに、 出力レコードを編集し、出力情報に設定する。
					this.makeOutputItemMatch(outputInItem, mastMap, tranMap, "22", "予想外の口座振替依頼あり");
				}
						// マッチフラグ更新
				this.matchFlg = true;

				this.setTranProcFlg(true);

			}
			// 入力Ｍ＜入力Ｔ
			else if (mastKey.compareTo(tranKey) < 0)
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ、入力Ｔともに存在する][入力Ｍ＜入力Ｔ]");

				// マッチフラグがtrueの場合
				// 入力Ｍとマッチしていたのでフラグを戻す。
				if(matchFlg)
				{
					this.matchFlg = false;
				}
				else
				{
					if(yosoFlg)
					{
						// 上記以外の場合、口座振替依頼予想情報のみに存在しており、実績作成有無予想が「あり」なので出力対象。
						// 入力Ｍの情報をもとに、 出力レコードを編集し、出力情報に設定する。
						this.makeOutputItemMast(outputInItem, mastMap);
					}
					this.matchFlg = false;
				}

				this.setMastProcFlg(true);
			}
			// 入力Ｍ＞入力Ｔ
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][入力Ｍ、入力Ｔともに存在する][入力Ｍ＞入力Ｔ]");

				// マッチングの結果、口座振替依頼実績情報のみに存在していたので出力対象。
				// 入力Ｔの情報をもとに、 出力レコードを編集し、出力情報に設定する。
				this.makeOutputItemTran(outputInItem, tranMap);
			
				this.setTranProcFlg(true);
			}
		}

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
		return outputInItem;

	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * @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 outputInItem 出力情報
	 * @param mastMap 入力Ｍ情報
	 * @param TranMap 入力Ｔ情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	//private void makeOutputItemMatch(JBSbatOutputItem outputInItem, JBSbatServiceInterfaceMap mastMap, JBSbatServiceInterfaceMap tranMap) throws Exception
	private void makeOutputItemMatch(JBSbatOutputItem outputInItem, JBSbatServiceInterfaceMap mastMap, JBSbatServiceInterfaceMap tranMap, String reasonCd, String reason) throws Exception
	{

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeOutputItemMatch]");

		// 出力情報作成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		//outMap.setString(JBSbatAKIFM044.OUTPUT_REASON_CD, "23");
		//outMap.setString(JBSbatAKIFM044.OUTPUT_REASON, "引落金額確認要");
		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON_CD, reasonCd);
		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON, reason);

		// 入力Ｍ、Ｔの情報をセットします。
		this.setData(outMap, mastMap, tranMap);
		outMap.setOutFlg(true);

		outputInItem.addOutMapList(outMap);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeOutputItemMatch]");
		return;
	}

	/**
	 * 入力Ｍの情報をもとに、
	 * 出力レコードを編集し、出力情報に設定する。
	 * 
	 * @param outputInItem 出力情報
	 * @param mastMap 入力Ｍ情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void makeOutputItemMast(JBSbatOutputItem outputInItem, JBSbatServiceInterfaceMap mastMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeOutputItemMast]");

		// 出力情報作成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		// 入力Ｍ(消込情報)をセットします。
		outMap = mastMap;

		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON_CD, "21");
		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON, "口座振替依頼なし");

		outMap.setOutFlg(true);

		outputInItem.addOutMapList(outMap);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeOutputItemMast]");
		return;
	}

	/**
	 * 入力Ｔの情報をもとに、
	 * 出力レコードを編集し、出力情報に設定する。
	 * 
	 * @param outputInItem 出力情報
	 * @param TranMap 入力Ｔ情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void makeOutputItemTran(JBSbatOutputItem outputInItem, JBSbatServiceInterfaceMap tranMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeOutputItemTran]");

		// 出力情報作成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON_CD, "22");
		outMap.setString(JBSbatAKIFM044.OUTPUT_REASON, "予想外の口座振替依頼あり");

		// 入力Ｍ(消込結果情報)をセットします。
		// 口座振替依頼実績情報.引落銀行番号
		outMap.setString(JBSbatAKIFM044.DEBIT_BANK_NO, tranMap.getString(JBSbatAKIFM041.DEBIT_BANK_NO));

		// 口座振替依頼実績情報.引落銀行名
		outMap.setString(JBSbatAKIFM044.DEBIT_BANK_NM, tranMap.getString(JBSbatAKIFM041.DEBIT_BANK_NM));

		// 口座振替依頼実績情報.引落支店番号
		outMap.setString(JBSbatAKIFM044.DEBIT_SITEN_NO, tranMap.getString(JBSbatAKIFM041.DEBIT_SITEN_NO));

		// 口座振替依頼実績情報.引落支店名
		outMap.setString(JBSbatAKIFM044.DEBIT_SITEN_NM, tranMap.getString(JBSbatAKIFM041.DEBIT_SITEN_NM));

		// 口座振替依頼実績情報.引落金額
		outMap.setString(JBSbatAKIFM044.DEBIT_AMNT, tranMap.getString(JBSbatAKIFM041.DEBIT_AMNT));

		// 口座振替依頼実績情報.新規コード
		outMap.setString(JBSbatAKIFM044.NEW_CD, tranMap.getString(JBSbatAKIFM041.NEW_CD));

		// 口座振替依頼実績情報.委託者コード
		outMap.setString(JBSbatAKIFM044.ITKSHA_CD, tranMap.getString(JBSbatAKIFM041.ITKSHA_CD));

		// 口座振替依頼実績情報.請求年月
		outMap.setString(JBSbatAKIFM044.KOZA_JSK_SEIKY_YM, tranMap.getString(JBSbatAKIFM041.SEIKY_YM));

		// 口座振替依頼実績情報.請求者番号
		outMap.setString(JBSbatAKIFM044.SEIKYSHA_NO, tranMap.getString(JBSbatAKIFM041.SEIKYSHA_NO));

		// 口座振替依頼実績情報.群番号
		outMap.setString(JBSbatAKIFM044.GUN_NO, tranMap.getString(JBSbatAKIFM041.GUN_NO));

		outMap.setOutFlg(true);

		outputInItem.addOutMapList(outMap);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeOutputItemTran]");
		return;
	}

	/**
	 * 入力Ｍ、Ｔの情報をもとに、
	 * 出力レコードを編集し、出力情報に設定する。
	 * 
	 * @param outMap 出力情報
	 * @param mastMap 入力Ｍ情報
	 * @param tranMap 入力Ｔ情報
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void setData(JBSbatServiceInterfaceMap outMap, JBSbatServiceInterfaceMap mastMap, JBSbatServiceInterfaceMap tranMap)  throws Exception
	{

		// 請求検証情報
		// 口座振替依頼実績情報.引落銀行番号
		outMap.setString(JBSbatAKIFM044.DEBIT_BANK_NO, tranMap.getString(JBSbatAKIFM041.DEBIT_BANK_NO));

		// 口座振替依頼実績情報.引落銀行名
		outMap.setString(JBSbatAKIFM044.DEBIT_BANK_NM, tranMap.getString(JBSbatAKIFM041.DEBIT_BANK_NM));

		// 口座振替依頼実績情報.引落支店番号
		outMap.setString(JBSbatAKIFM044.DEBIT_SITEN_NO, tranMap.getString(JBSbatAKIFM041.DEBIT_SITEN_NO));

		// 口座振替依頼実績情報.引落支店名
		outMap.setString(JBSbatAKIFM044.DEBIT_SITEN_NM, tranMap.getString(JBSbatAKIFM041.DEBIT_SITEN_NM));

		// 口座振替依頼実績情報.引落金額
		outMap.setString(JBSbatAKIFM044.DEBIT_AMNT, tranMap.getString(JBSbatAKIFM041.DEBIT_AMNT));

		// 口座振替依頼実績情報.新規コード
		outMap.setString(JBSbatAKIFM044.NEW_CD, tranMap.getString(JBSbatAKIFM041.NEW_CD));

		// 口座振替依頼実績情報.委託者コード
		outMap.setString(JBSbatAKIFM044.ITKSHA_CD, tranMap.getString(JBSbatAKIFM041.ITKSHA_CD));

		// 口座振替依頼実績情報.請求年月
		outMap.setString(JBSbatAKIFM044.KOZA_JSK_SEIKY_YM, tranMap.getString(JBSbatAKIFM041.SEIKY_YM));

		// 口座振替依頼実績情報.請求者番号
		outMap.setString(JBSbatAKIFM044.SEIKYSHA_NO, tranMap.getString(JBSbatAKIFM041.SEIKYSHA_NO));

		// 口座振替依頼実績情報.群番号
		outMap.setString(JBSbatAKIFM044.GUN_NO, tranMap.getString(JBSbatAKIFM041.GUN_NO));

		// 口座振替依頼予想情報.請求番号
		outMap.setString(JBSbatAKIFM044.SEIKY_NO, mastMap.getString(JBSbatAKIFM034.SEIKY_NO));

		// 口座振替依頼予想情報.請求ステータス
		outMap.setString(JBSbatAKIFM044.SEIKY_STAT, mastMap.getString(JBSbatAKIFM034.SEIKY_STAT));

		// 口座振替依頼予想情報.請求契約番号
		outMap.setString(JBSbatAKIFM044.SEIKY_KEI_NO, mastMap.getString(JBSbatAKIFM034.SEIKY_KEI_NO));

		// 口座振替依頼予想情報.請求年月
		outMap.setString(JBSbatAKIFM044.SEIKY_YM, mastMap.getString(JBSbatAKIFM034.SEIKY_YM));

		// 口座振替依頼予想情報.請求種別コード
		outMap.setString(JBSbatAKIFM044.SEIKY_SBT_CD, mastMap.getString(JBSbatAKIFM034.SEIKY_SBT_CD));

		// 口座振替依頼予想情報.契約請求方法コード
		outMap.setString(JBSbatAKIFM044.KEI_SEIKY_WAY_CD, mastMap.getString(JBSbatAKIFM034.KEI_SEIKY_WAY_CD));

		// 口座振替依頼予想情報.料金グループコード
		outMap.setString(JBSbatAKIFM044.PRC_GRP_CD, mastMap.getString(JBSbatAKIFM034.PRC_GRP_CD));

		// 口座振替依頼予想情報.料金コースコード
		outMap.setString(JBSbatAKIFM044.PCRS_CD, mastMap.getString(JBSbatAKIFM034.PCRS_CD));

		// 口座振替依頼予想情報.料金サービスコード
		outMap.setString(JBSbatAKIFM044.PRC_SVC_CD, mastMap.getString(JBSbatAKIFM034.PRC_SVC_CD));

		// 口座振替依頼予想情報.料金項目コード
		outMap.setString(JBSbatAKIFM044.PRC_KMK_CD, mastMap.getString(JBSbatAKIFM034.PRC_KMK_CD));

		// 口座振替依頼予想情報.金額
		outMap.setString(JBSbatAKIFM044.AMNT, mastMap.getString(JBSbatAKIFM034.AMNT));

		// 口座振替依頼予想情報.料金訂正登録フラグ
		outMap.setString(JBSbatAKIFM044.PRC_TEISE_ADD_FLG, mastMap.getString(JBSbatAKIFM034.PRC_TEISE_ADD_FLG));

		// 口座振替依頼予想情報.督促番号
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_NO, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_NO));

		// 口座振替依頼予想情報.督促ステータス
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_STAT, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_STAT));

		// 口座振替依頼予想情報.督促金額
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_AMNT, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_AMNT));

		// 口座振替依頼予想情報.督促管理開始年月日
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_STAYMD, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_STAYMD));

		// 口座振替依頼予想情報.督促管理終了年月日
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_ENDYMD, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_ENDYMD));

		// 口座振替依頼予想情報.督促異動年月日
		outMap.setString(JBSbatAKIFM044.TOKUSOKU_IDO_YMD, mastMap.getString(JBSbatAKIFM034.TOKUSOKU_IDO_YMD));

		// 口座振替依頼予想情報.請求書発行請求抑止コード
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_SEIKY_YOKSI_CD, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_SEIKY_YOKSI_CD));

		// 口座振替依頼予想情報.請求書発行請求抑止フラグ
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_SEIKY_YOKSI_FLG, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_SEIKY_YOKSI_FLG));

		// 口座振替依頼予想情報.請求書発行請求抑止年月日
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_SEIKY_YOKSI_YMD, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_SEIKY_YOKSI_YMD));

		// 口座振替依頼予想情報.請求書内訳発行請求抑止コード
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_UTWK_SEIKY_YOKSI_CD, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_UTWK_SEIKY_YOKSI_CD));

		// 口座振替依頼予想情報.請求書内訳発行請求抑止フラグ
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_UTWK_SEIKY_YOKSI_FLG, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_UTWK_SEIKY_YOKSI_FLG));

		// 口座振替依頼予想情報.請求書内訳発行請求抑止年月日
		outMap.setString(JBSbatAKIFM044.SEIKYSHO_UTWK_SEIKY_YOKSI_YMD, mastMap.getString(JBSbatAKIFM034.SEIKYSHO_UTWK_SEIKY_YOKSI_YMD));

		// 口座振替依頼予想情報.合算請求抑止コード
		outMap.setString(JBSbatAKIFM044.GSN_SEIKY_YOKSI_CD, mastMap.getString(JBSbatAKIFM034.GSN_SEIKY_YOKSI_CD));

		// 口座振替依頼予想情報.合算請求抑止フラグ
		outMap.setString(JBSbatAKIFM044.GSN_SEIKY_YOKSI_FLG, mastMap.getString(JBSbatAKIFM034.GSN_SEIKY_YOKSI_FLG));

		// 口座振替依頼予想情報.合算請求抑止年月日
		outMap.setString(JBSbatAKIFM044.GSN_SEIKY_YOKSI_YMD, mastMap.getString(JBSbatAKIFM034.GSN_SEIKY_YOKSI_YMD));

		// 口座振替依頼予想情報.強制窓口請求抑止コード
		outMap.setString(JBSbatAKIFM044.KSI_MDGT_SEIKY_YOKSI_CD, mastMap.getString(JBSbatAKIFM034.KSI_MDGT_SEIKY_YOKSI_CD));

		// 口座振替依頼予想情報.強制窓口請求抑止フラグ
		outMap.setString(JBSbatAKIFM044.KSI_MDGT_SEIKY_YOKSI_FLG, mastMap.getString(JBSbatAKIFM034.KSI_MDGT_SEIKY_YOKSI_FLG));

		// 口座振替依頼予想情報.強制窓口請求抑止年月日
		outMap.setString(JBSbatAKIFM044.KSI_MDGT_SEIKY_YOKSI_YMD, mastMap.getString(JBSbatAKIFM034.KSI_MDGT_SEIKY_YOKSI_YMD));

		// 口座振替依頼予想情報.世代登録年月日時分秒
		outMap.setString(JBSbatAKIFM044.GENE_ADD_DTM, mastMap.getString(JBSbatAKIFM034.GENE_ADD_DTM));

		// 口座振替依頼予想情報.請求契約ステータス
		outMap.setString(JBSbatAKIFM044.SEIKY_KEI_STAT, mastMap.getString(JBSbatAKIFM034.SEIKY_KEI_STAT));

		// 口座振替依頼予想情報.ＳＹＳＩＤ
		outMap.setString(JBSbatAKIFM044.SYSID, mastMap.getString(JBSbatAKIFM034.SYSID));

		// 口座振替依頼予想情報.マンションオーナーＩＤ
		outMap.setString(JBSbatAKIFM044.MANSION_OWNR_ID, mastMap.getString(JBSbatAKIFM034.MANSION_OWNR_ID));

		// 口座振替依頼予想情報.請求方法コード
		outMap.setString(JBSbatAKIFM044.SEIKY_WAY_CD, mastMap.getString(JBSbatAKIFM034.SEIKY_WAY_CD));

		// 口座振替依頼予想情報.請求方法変更年月日
		outMap.setString(JBSbatAKIFM044.SEIKY_WAY_CHGE_YMD, mastMap.getString(JBSbatAKIFM034.SEIKY_WAY_CHGE_YMD));

		// 口座振替依頼予想情報.請求方法番号（口座）
		outMap.setString(JBSbatAKIFM044.SEIKY_WAY_NO_KOZA, mastMap.getString(JBSbatAKIFM034.SEIKY_WAY_NO_KOZA));

		// 口座振替依頼予想情報.請求方法番号（クレジットカード）
		outMap.setString(JBSbatAKIFM044.SEIKY_WAY_NO_CRECARD, mastMap.getString(JBSbatAKIFM034.SEIKY_WAY_NO_CRECARD));

		// 口座振替依頼予想情報.請求方法適用調整年月日
		outMap.setString(JBSbatAKIFM044.SEIKY_WAY_APLY_ADJ_YMD, mastMap.getString(JBSbatAKIFM034.SEIKY_WAY_APLY_ADJ_YMD));

		// 口座振替依頼予想情報.請求書発行要否
		outMap.setString(JBSbatAKIFM044.SEIKYUS_HAKKO_YH, mastMap.getString(JBSbatAKIFM034.SEIKYUS_HAKKO_YH));

		// 口座振替依頼予想情報.口座＿世代登録年月日時分秒
		outMap.setString(JBSbatAKIFM044.KOZA_GENE_ADD_DTM, mastMap.getString(JBSbatAKIFM034.KOZA_GENE_ADD_DTM));

		// 口座振替依頼予想情報.口座＿口座ステータス
		outMap.setString(JBSbatAKIFM044.KOZA_KOZA_STAT, mastMap.getString(JBSbatAKIFM034.KOZA_KOZA_STAT));

		// 口座振替依頼予想情報.口座＿金融機関コード
		outMap.setString(JBSbatAKIFM044.KOZA_BANK_CD, mastMap.getString(JBSbatAKIFM034.KOZA_BANK_CD));

		// 口座振替依頼予想情報.口座＿金融機関支店コード
		outMap.setString(JBSbatAKIFM044.KOZA_BANK_SHITEN_CD, mastMap.getString(JBSbatAKIFM034.KOZA_BANK_SHITEN_CD));

		// 口座振替依頼予想情報.口座＿口振手続キャンセル年月日
		outMap.setString(JBSbatAKIFM044.KOZA_KHRI_TTDK_CNCL_YMD, mastMap.getString(JBSbatAKIFM034.KOZA_KHRI_TTDK_CNCL_YMD));

		// 口座振替依頼予想情報.口座＿記載不備審査結果コード
		outMap.setString(JBSbatAKIFM044.KOZA_KSHBI_SKEKKA_CD, mastMap.getString(JBSbatAKIFM034.KOZA_KSHBI_SKEKKA_CD));

		// 口座振替依頼予想情報.口座＿支払い審査依頼年月日
		outMap.setString(JBSbatAKIFM044.KOZA_PAY_JUDGE_REQYMD, mastMap.getString(JBSbatAKIFM034.KOZA_PAY_JUDGE_REQYMD));

		// 口座振替依頼予想情報.口座＿支払い審査依頼取消年月日
		outMap.setString(JBSbatAKIFM044.KOZA_PAY_JUDGE_REQ_CL_YMD, mastMap.getString(JBSbatAKIFM034.KOZA_PAY_JUDGE_REQ_CL_YMD));

		// 口座振替依頼予想情報.口座＿支払い審査結果コード
		outMap.setString(JBSbatAKIFM044.KOZA_PAY_SKEKKA_CD, mastMap.getString(JBSbatAKIFM034.KOZA_PAY_SKEKKA_CD));

		// 口座振替依頼予想情報.口座＿外部口振審査完了年月日
		outMap.setString(JBSbatAKIFM044.KOZA_OUT_KHRI_JUDGE_FIN_YMD, mastMap.getString(JBSbatAKIFM034.KOZA_OUT_KHRI_JUDGE_FIN_YMD));

		// 口座振替依頼予想情報.口座＿有効性確認年月日
		outMap.setString(JBSbatAKIFM044.KOZA_YK_CFM_YMD, mastMap.getString(JBSbatAKIFM034.KOZA_YK_CFM_YMD));

		// 実績作成有無予想
		outMap.setString(JBSbatAKIFM044.JISSEKI_UM_YOSO, mastMap.getString(JBSbatAKIFM034.JISSEKI_UM_YOSO));
	}
	/**▲▲▲▲▲▲メソッド追加 終了▲▲▲▲▲▲*/
}
