/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCHSakuraNkinSokhoOutput
*	ソースファイル名		：JBSbatCHSakuraNkinSokhoOutput.java
*	作成者			：富士通　
*	作成日			：2020年10月06日
*＜機能概要＞
*　入金変換データ（速報）作成（さくらＫＣＳ）部品です。
*＜修正履歴＞
*	バージョン		修正日		修正者			修正内容
*	v52.00       2020/10/02  GDC)ジョバニー     【ANK-3838-00-00】窓口払い手数料の顧客負担方式導入
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatCHIFM043;
import eo.common.constant.JACStrConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
 * 
 * @author j.hortilano
 *
 */
public class JBSbatCHSakuraNkinSokhoOutput extends JBSbatBusinessService{
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception {
		
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
	}
	
	
	/** 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	
		// 出力電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		//Generate output map
		JBSbatServiceInterfaceMap outPutMap = generateOutputMap(inMap);
		
		//出力内容を設定
		outputBean.addOutMapList(outPutMap);
		
		return outputBean;
	}
	
	
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception {
		
		// Termination
	}
	
	
	/**
	 * 
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	private JBSbatServiceInterfaceMap generateOutputMap(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		// 請求契約番号
		outMap.set(JBSbatCHIFM043.SEIKY_KEI_NO,							inMap.getString(JBSbatCHIFM043.SEIKY_KEI_NO));
		// 請求年月
		outMap.set(JBSbatCHIFM043.SEIKY_YM,								inMap.getString(JBSbatCHIFM043.SEIKY_YM));
		// 請求番号
		outMap.set(JBSbatCHIFM043.SEIKY_NO,								inMap.getString(JBSbatCHIFM043.SEIKY_NO));
		// 請求書発行シーケンス
		outMap.set(JBSbatCHIFM043.SKS_HAKKO_SEQ,						inMap.getString(JBSbatCHIFM043.SKS_HAKKO_SEQ));
		// 入金経路コード
		outMap.set(JBSbatCHIFM043.NYUKIN_ROUTE_CD,						inMap.getString(JBSbatCHIFM043.NYUKIN_ROUTE_CD));
		// 収納機関コード
		outMap.set(JBSbatCHIFM043.SHUNOKIKAN_CD,						inMap.getString(JBSbatCHIFM043.SHUNOKIKAN_CD));
		// 収納年月日
		outMap.set(JBSbatCHIFM043.OUT_ORG_SHUNO_YMD,					inMap.getString(JBSbatCHIFM043.OUT_ORG_SHUNO_YMD));
		// 入金額
		outMap.set(JBSbatCHIFM043.NYUKIN_AMNT,							inMap.getString(JBSbatCHIFM043.NYUKIN_AMNT));
		// 領収年月日
		outMap.set(JBSbatCHIFM043.RECEIPT_YMD,							inMap.getString(JBSbatCHIFM043.RECEIPT_YMD));
		// 領収時分秒
		outMap.set(JBSbatCHIFM043.RECEIPT_HMS,							inMap.getString(JBSbatCHIFM043.RECEIPT_HMS));
		// 入金処理済フラグ
		outMap.set(JBSbatCHIFM043.NYUKIN_SYRZM_FLG,						inMap.getString(JBSbatCHIFM043.NYUKIN_SYRZM_FLG));
		// 窓口金融機関コード
		outMap.set(JBSbatCHIFM043.MADOGUCHI_BANK_CD,					inMap.getString(JBSbatCHIFM043.MADOGUCHI_BANK_CD));
		// 窓口金融機関支店コード
		outMap.set(JBSbatCHIFM043.MADOGUCHI_BANK_SHITEN_CD,				inMap.getString(JBSbatCHIFM043.MADOGUCHI_BANK_SHITEN_CD));
		// コンビニエンスストアコード
		outMap.set(JBSbatCHIFM043.CVSTORE_CD,							inMap.getString(JBSbatCHIFM043.CVSTORE_CD));
		// コンビニ受付店コード
		outMap.set(JBSbatCHIFM043.CVSTORE_UK_TEN_CD,					inMap.getString(JBSbatCHIFM043.CVSTORE_UK_TEN_CD));
		// コンビニリアル業務区分コード
		outMap.set(JBSbatCHIFM043.WORK_DIV,								null);
		// コンビニリアル速報通知年月日
		outMap.set(JBSbatCHIFM043.CVSTORE_REAL_SOKHO_TCH_YMD,			null);
		// コンビニリアル速報通知時分秒
		outMap.set(JBSbatCHIFM043.CVSTORE_REAL_SOKHO_TCH_HMS,			null);
		// コンビニリアル速報処理済フラグ
		outMap.set(JBSbatCHIFM043.CVS_REAL_SOKHO_SYRZM_FLG,				null);
		// コンビニデータ種別
		outMap.set(JBSbatCHIFM043.CVSTORE_DATA_SBT,						JACStrConst.SOKHO_DIV_SOKHO);
		// コンビ二速報通知年月日
		outMap.set(JBSbatCHIFM043.CVSTORE_SOKHO_TCH_YMD,				inMap.getString(JBSbatCHIFM043.CVSTORE_REAL_SOKHO_TCH_YMD));
		// コンビニ速報処理済フラグ
		outMap.set(JBSbatCHIFM043.CVSTORE_SOKHO_SYRZM_FLG,				inMap.getString(JBSbatCHIFM043.CVS_REAL_SOKHO_SYRZM_FLG));
		// コンビニ確報通知年月日
		outMap.set(JBSbatCHIFM043.CVSTORE_KAKHO_TCH_YMD,				null);
		// コンビニ速報取消通知年月日
		outMap.set(JBSbatCHIFM043.CVSTORE_SOKHO_CL_TCH_YMD,				null);
		// コンビニ支払予定年月日
		outMap.set(JBSbatCHIFM043.CVSTORE_PAY_RSV_YMD,					inMap.getString(JBSbatCHIFM043.CVSTORE_PAY_RSV_YMD));
		// コンビニ収納代行会社
		outMap.set(JBSbatCHIFM043.CVSTORE_KAKNO_DAIKO_COMP,				inMap.getString(JBSbatCHIFM043.CVSTORE_KAKNO_DAIKO_COMP));
		// 振替結果コード
		outMap.set(JBSbatCHIFM043.FURIKAE_RSLT_CD,						inMap.getString(JBSbatCHIFM043.FURIKAE_RSLT_CD));
		// 履歴詳細区分
		outMap.set(JBSbatCHIFM043.RIREKI_DTL_DIV,						inMap.getString(JBSbatCHIFM043.RIREKI_DTL_DIV));
		// 請求契約存在有無 *
		outMap.set(JBSbatCHIFM043.SEIKY_KEI_UMU,						inMap.getString(JBSbatCHIFM043.SEIKY_KEI_UMU));
		
		
		outMap.setOutFlg(true);

		return outMap;
		
	}
}
