/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACIcjknUpdInfCst
*	ソースファイル名	：JBSbatACIcjknUpdInfCst.java
*	作成者				：富士通　
*	作成日				：2011年09月07日
*＜機能概要＞
*　一時金更新情報抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/07   富士通		新規作成
*	v8.00.00	2013/12/13   FJ)鈴木	【ANK-1794-00-00】L2-MVNO対応（請求書電話番号表示（LC含む））
*	v9.00.00	2014/07/28   FJ)桑島	【OM-2014-0002407】レコード種類判定条件変更対応
*	v9.00.01	2014/08/07   FJ)鈴木	【OM-2014-0002407】操作者名のチェックをはずす（バッチからの登録の場合、未設定の場合あり）
*********************************************************************/
package eo.business.service;

import eo.business.common.JACbatParamUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatACIFM094;
import eo.business.util.table.JBSbatAC_T_ICJKN;
import eo.business.util.table.JBSbatCH_M_PRC_KMK_OPUT_NM;
import eo.business.util.table.JBSbatKK_T_SEIKY_KEI;
//import eo.business.util.table.JBSbatZM_M_CD_NM_KANRI;
import eo.business.util.table.JBSbatZM_M_USER;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.util.JBSbatStringUtil;

/**
* 一時金更新情報抽出部品です。
* 当日分登録された一時金の結果を抽出する。 <p>
*<BR>
* @author 富士通
*/
public class JBSbatACIcjknUpdInfCst extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** レコード識別（登録） */
	private String recSkbtAdd = null;
	
	/** レコード識別（更新前） */
	private String recSkbtChBf = null;
	
	/** レコード識別（更新後） */
	private String recSkbtChAf = null;
	
	/** レコード識別（削除） */
	private String recSkbtDel = null;
	
	/** 一時金(前レコード) */
	private JBSbatServiceInterfaceMap bkMap = null;
	
	/** 出力マップ */
	private JBSbatServiceInterfaceMap outMap = null;
	
	/** 枝番 */
	private static final int SEQ_1 = 1;
	
	/** 一時金登録番号 */
	private String ichPrc = null;
	
	/** 退避.入力情報 */
	private JBSbatServiceInterfaceMap thInMap = null;
	
	//OM-2014-0002407 MOD START
	/** 登録操作者名 */
	private String USER_NM_ADD = "USER_NM_ADD";
	
	/** 更新操作者名 */
	private String USER_NM_UPD = "USER_NM_UPD";
	
	/** 枝番 */
	private static final String STR_SEQ_01 = "01";
	//OM-2014-0002407 MOD END
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		// パラメータ取得クラス生成
		JACbatParamUtil paramUtil = new JACbatParamUtil(commonItem);
		
		try
		{
			// 業務パラメータを取得する
			// レコード識別（登録）
			this.recSkbtAdd 	= paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_REC_SKBT_ADD);
			
			// レコード識別（更新前）
			this.recSkbtChBf 	= paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_REC_SKBT_CHBF);
			
			// レコード識別（更新後）
			this.recSkbtChAf 	= paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_REC_SKBT_CHAF);
			
			// レコード識別（削除）
			this.recSkbtDel 	= paramUtil.getGyoumuParameter(JACStrConst.WKPARA_AC_REC_SKBT_DEL);
		}
		finally
		{
			paramUtil.close();
		}
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @param outputInItem 入力情報
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap, JBSbatOutputItem outputInItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		super.logPrint.printDebugLog("execute start");
		
		// 出力マップ
		this.outMap = new JBSbatServiceInterfaceMap();
		
		// 退避.入力情報がnullの場合(初回起動時)
		if(this.thInMap == null)
		{
			// 入力電文を退避
			this.thInMap = inMap;
			// 一時金登録番号を退避
			this.ichPrc = inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ);
			JBSbatServiceInterfaceMap dummyMap = new JBSbatServiceInterfaceMap();
			outputInItem.addOutMapList(dummyMap);
			return outputInItem;
		}
		
		// 一時金更新枝番
		int updSeq 			= Integer.parseInt(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ));
		
		String trkmStat 	= this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_TRKM_STAT); 		// 一時金取込ステータス
		String kmkNm 		= this.thInMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_KMK_NM); 	// 料金内訳名
		String shsKana 		= this.thInMap.getString(JBSbatKK_T_SEIKY_KEI.SHS_KANA); 			// 請求先カナ名
// 2014.08.07 OM-2014-0002407 del start
//		String userNm 		= this.thInMap.getString(JBSbatZM_M_USER.USER_NM); 					// 操作者名
// 2014.08.07 OM-2014-0002407 del end
		
		
		super.logPrint.printDebugLog("一時金取込ステータス-----" +trkmStat);
		
		boolean brkFlg 	= false;
		// 料金内訳名を取得できなかった
		if(kmkNm == null)
		{
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0250CE,
					new String[] {JBSbatCH_M_PRC_KMK_OPUT_NM.TABLE_NAME.concat(JACStrConst.COMMA).concat(JBSbatAC_T_ICJKN.TABLE_NAME),
						this.makeKeyString(new String[]{this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ), this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ)})});
		}
		
		// 請求先カナ名を取得できなかった
		if(shsKana == null)
		{
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0250CE,
					new String[] {JBSbatKK_T_SEIKY_KEI.TABLE_NAME, this.makeKeyString(new String[]{this.thInMap.getString(JBSbatAC_T_ICJKN.SEIKY_KEI_NO)})});
		}
// 2014.08.07 OM-2014-0002407 del start
//		// 操作者名を取得できなかった
//		if(userNm == null)
//		{
//			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EACB0250CE,
//					new String[] {JBSbatZM_M_USER.TABLE_NAME, this.makeKeyString(new String[]{this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_USER_ID)})});
//		}
// 2014.08.07 OM-2014-0002407 del end
		
		// 入力電文にデータがある場合
		if(inMap != null)
		{
			super.logPrint.printDebugLog("入力電文にデータがある場合");
			
			super.logPrint.printDebugLog("退避.一時金登録番号----"+this.ichPrc);
			super.logPrint.printDebugLog("一時金登録番号----"+inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ));
			
			// 退避.一時金登録番号≠入力.一時金登録番号
			if(!this.ichPrc.equals(inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ)))
			{
				// 一時金登録番号を退避
				this.ichPrc = inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ);
				brkFlg = true;
			}
			
			super.logPrint.printDebugLog("退避.一時金登録番号----"+this.ichPrc);
			super.logPrint.printDebugLog("一時金更新枝番-----" +updSeq);
			// 登録レコード
			if(updSeq == SEQ_1)
			{
				//OM-2014-0002407 MOD START
				// 登録レコードの一時金登録年月日が当日の場合
//				if(super.opeDate.equals(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM).substring(0, 8)))
//				{
//					// 登録レコードを出力
//					this.getOutUpdAf(this.thInMap, this.recSkbtAdd);
//				}
				//一時金登録年月日時分秒が未設定ではなく、バッチ運用年月日と同じ場合
				if(!JACStrConst.KARA_MOJI.equals(JBSbatStringUtil.Rtrim(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM))))
				{
					if(super.opeDate.equals(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM).substring(0, 8)))
					{
						// 登録レコードを出力
						this.getOutUpdAf(this.thInMap, this.recSkbtAdd);
					}
				}
				//OM-2014-0002407 MOD END
				
				if(brkFlg)
				{
					// 更新前レコード初期化
					this.bkMap = null;
					
				}
				else
				{
					// 更新前レコードとして退避
					this.bkMap = this.thInMap;
				}
				// 入力電文を退避
				this.thInMap = inMap;
			}
			else if(JACStrConst.ICJKN_TRKM_STAT_DEL.equals(trkmStat) && brkFlg)
			{
				super.logPrint.printDebugLog("削除レコードを出力");
				// 更新前レコード初期化
				this.bkMap = null;
				
				this.getOutUpdAf(this.thInMap, this.recSkbtDel);
				// 入力電文を退避
				this.thInMap = inMap;
				brkFlg = false;
			}
			// 更新レコード
			else
			{
				super.logPrint.printDebugLog("更新レコードを出力");
				// 更新前レコードにデータがある場合
				if(this.bkMap != null)
				{
					super.logPrint.printDebugLog("更新前,更新後情報を出力");
					this.getOutUpdBf(this.thInMap, this.recSkbtChBf); 	// 更新前情報取得
					this.getOutUpdAf(this.thInMap, this.recSkbtChAf); 	// 更新後情報取得
				}
				
				// 更新前レコードとして退避
				this.bkMap = this.thInMap;
				// 入力電文を退避
				this.thInMap = inMap;
				if(brkFlg)
				{
					// 更新前レコード初期化
					this.bkMap = null;
					
				}
			}
		}
		// 最終レコード処理
		else
		{
			// 登録レコード
			if(updSeq == SEQ_1)
			{
				super.logPrint.printDebugLog("登録レコードを出力");
				//OM-2014-0002407 MOD START
				// 登録レコードの一時金登録年月日が当日の場合
//				if(super.opeDate.equals(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM).substring(0, 8)))
//				{
//					// 登録レコードを出力
//					this.getOutUpdAf(this.thInMap, this.recSkbtAdd);
//				}
				//一時金登録年月日時分秒が未設定ではなく、バッチ運用年月日と同じ場合
				if(!JACStrConst.KARA_MOJI.equals(JBSbatStringUtil.Rtrim(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM))))
				{
					if(super.opeDate.equals(this.thInMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM).substring(0, 8)))
					{
						// 登録レコードを出力
						this.getOutUpdAf(this.thInMap, this.recSkbtAdd);
					}
				}
				//OM-2014-0002407 MOD END
				
				// 更新前レコードとして退避
				this.bkMap = this.thInMap;
				// 入力電文を退避
				this.thInMap = inMap;
			}
			// 取込ステータス"9"
			else if(JACStrConst.ICJKN_TRKM_STAT_DEL.equals(trkmStat))
			// 削除レコード
			{
				super.logPrint.printDebugLog("削除レコードを出力");
				this.getOutUpdAf(this.thInMap, this.recSkbtDel);
				// 入力電文を退避
				this.thInMap = inMap;
			}
			// 更新レコード
			else
			{
				super.logPrint.printDebugLog("更新レコードを出力");
				// 更新前レコードにデータがある場合
				if(this.bkMap != null)
				{
					super.logPrint.printDebugLog("更新前,更新後情報を出力");
					this.getOutUpdBf(this.thInMap, this.recSkbtChBf); 	// 更新前情報取得
					this.getOutUpdAf(this.thInMap, this.recSkbtChAf); 	// 更新後情報取得
				}
				
				// 更新前レコードとして退避
				this.bkMap = this.thInMap;
				// 入力電文を退避
				this.thInMap = inMap;
			}
		}
		outputInItem.addOutMapList(this.outMap);
		
		super.logPrint.printDebugLog("execute end");
		
		return(outputInItem);
		
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	/**
	 * 更新前項目作成
	 * 
	 * @param inMap 入力情報
	 * @param recSkbt レコード識別
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void getOutUpdBf(JBSbatServiceInterfaceMap inMap, String recSkbt) throws Exception
	{
		this.outMap.setString(JBSbatACIFM094.ICJKN_ADD_SEQ_CHBF,	this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ));			// 更新前・一時金登録番号
		this.outMap.setString(JBSbatACIFM094.ICJKN_UPD_SEQ_CHBF,	this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ));			// 更新前・一時金更新枝番
		
		//OM-2014-0002407　MOD START
//		this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHBF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_USER_ID));			// 更新前・操作者ＩＤ
//		this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHBF,			inMap.getString(JBSbatZM_M_USER.USER_NM));						// 更新前・操作者名
//		this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_DTM));			// 更新前・更新日時
		//一時金更新枝番を取得
		String icjknUpdSeq = JBSbatStringUtil.Rtrim(this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ));
		
		if(STR_SEQ_01.equals(icjknUpdSeq))
		{
			this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_USER_ID));			// 更新前・操作者ＩＤ(登録者)
			this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHBF,			this.bkMap.getString(USER_NM_ADD));						// 更新前・操作者名(登録者)
			this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM));			// 更新前・更新日時(登録者)
		}
		else
		{
			this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_USER_ID));			// 更新前・操作者ＩＤ(更新者)
			this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHBF,			this.bkMap.getString(USER_NM_UPD));						// 更新前・操作者名(更新者)
			this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_DTM));			// 更新前・更新日時(更新者)
		}
		//OM-2014-0002407　MOD END

		this.outMap.setString(JBSbatACIFM094.REC_SKBT_CHBF,			recSkbt);														// 更新前・レコード識別
		this.outMap.setString(JBSbatACIFM094.ADD_SBT_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.ICJKN_SBT_CD));			// 更新前・登録種別
		this.outMap.setString(JBSbatACIFM094.SEIKY_KEI_NO_CHBF,		this.bkMap.getString(JBSbatAC_T_ICJKN.SEIKY_KEI_NO));			// 更新前・請求契約番号
		this.outMap.setString(JBSbatACIFM094.SIKYS_KANA_CHBF,		this.bkMap.getString(JBSbatKK_T_SEIKY_KEI.SHS_KANA));			// 更新前・請求先カナ名
		this.outMap.setString(JBSbatACIFM094.SVC_KEI_NO_CHBF,		this.bkMap.getString(JBSbatAC_T_ICJKN.SVC_KEI_NO));				// 更新前・サービス契約番号
		this.outMap.setString(JBSbatACIFM094.PCRS_CD_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.PCRS_CD));				// 更新前・料金コースコード
		this.outMap.setString(JBSbatACIFM094.PRC_SVC_CD_CHBF,		this.bkMap.getString(JBSbatAC_T_ICJKN.PRC_SVC_CD));				// 更新前・料金サービスコード
		this.outMap.setString(JBSbatACIFM094.PRC_KMK_CD_CHBF,		this.bkMap.getString(JBSbatAC_T_ICJKN.PRC_KMK_CD));				// 更新前・料金項目コード
		this.outMap.setString(JBSbatACIFM094.PRC_UW_NM_CHBF,		this.bkMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_KMK_NM));	// 更新前・料金内訳名
		this.outMap.setString(JBSbatACIFM094.SIKY_AMNT_CHBF,		this.bkMap.getBigDecimal(JBSbatAC_T_ICJKN.ICJKN_PRC));			// 更新前・請求額
		this.outMap.setString(JBSbatACIFM094.TONYU_DIV_CHBF,		this.bkMap.getString(JBSbatAC_T_ICJKN.TONYU_DIV));				// 更新前・投入区分
		this.outMap.setString(JBSbatACIFM094.SEIKY_YM_CHBF,			this.bkMap.getString(JBSbatAC_T_ICJKN.SEIKY_YM));				// 更新前・請求年月
		this.outMap.setString(JBSbatACIFM094.SVC_DTL_SKBT_NO_CHBF,	this.bkMap.getString(JBSbatAC_T_ICJKN.SVC_DTL_SKBT_NO));		// 更新前・サービス詳細識別番号
	}
	
	/**
	 * 更新後項目作成
	 * 
	 * @param inMap 入力情報
	 * @param recSkbt レコード識別
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private void getOutUpdAf(JBSbatServiceInterfaceMap inMap, String recSkbt) throws Exception
	{
		
		super.logPrint.printDebugLog("登録レコードを出力");
		
		this.outMap.setString(JBSbatACIFM094.ICJKN_ADD_SEQ_CHAF,	inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_SEQ));			// 更新後・一時金登録番号
		this.outMap.setString(JBSbatACIFM094.ICJKN_UPD_SEQ_CHAF,	inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ));			// 更新後・一時金更新枝番
		//OM-2014-0002407　MOD START
//		this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_USER_ID));		// 更新後・操作者ＩＤ
//		this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHAF, 			inMap.getString(JBSbatZM_M_USER.USER_NM));					// 更新後・操作者名
//		this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_DTM));			// 更新後・更新日時
		//一時金更新枝番を取得
		String icjknUpdSeq = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_SEQ));
		
		if(STR_SEQ_01.equals(icjknUpdSeq))
		{
			this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_USER_ID));			// 更新前・操作者ＩＤ(登録者)
			this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHAF,			inMap.getString(USER_NM_ADD));						// 更新前・操作者名(登録者)
			this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_ADD_DTM));			// 更新後・更新日時(登録者)
		}
		else
		{
			this.outMap.setString(JBSbatACIFM094.OPRT_ID_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_USER_ID));			// 更新前・操作者ＩＤ(更新者)
			this.outMap.setString(JBSbatACIFM094.OPRT_NM_CHAF,			inMap.getString(USER_NM_UPD));						// 更新前・操作者名(更新者)
			this.outMap.setString(JBSbatACIFM094.UPD_DTM_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_UPD_DTM));			// 更新後・更新日時(更新者)
		}
		//OM-2014-0002407　MOD END

		this.outMap.setString(JBSbatACIFM094.REC_SKBT_CHAF,			recSkbt);													// 更新後・レコード識別
		this.outMap.setString(JBSbatACIFM094.ADD_SBT_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.ICJKN_SBT_CD));			// 更新後・登録種別
		this.outMap.setString(JBSbatACIFM094.SEIKY_KEI_NO_CHAF,		inMap.getString(JBSbatAC_T_ICJKN.SEIKY_KEI_NO));			// 更新後・請求契約番号
		this.outMap.setString(JBSbatACIFM094.SIKYS_KANA_CHAF,		inMap.getString(JBSbatKK_T_SEIKY_KEI.SHS_KANA));			// 更新後・請求先カナ名
		this.outMap.setString(JBSbatACIFM094.SVC_KEI_NO_CHAF,		inMap.getString(JBSbatAC_T_ICJKN.SVC_KEI_NO));				// 更新後・サービス契約番号
		this.outMap.setString(JBSbatACIFM094.PCRS_CD_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.PCRS_CD));					// 更新後・料金コースコード
		this.outMap.setString(JBSbatACIFM094.PRC_SVC_CD_CHAF,		inMap.getString(JBSbatAC_T_ICJKN.PRC_SVC_CD));				// 更新後・料金サービスコード
		this.outMap.setString(JBSbatACIFM094.PRC_KMK_CD_CHAF,		inMap.getString(JBSbatAC_T_ICJKN.PRC_KMK_CD));				// 更新後・料金項目コード
		this.outMap.setString(JBSbatACIFM094.PRC_UW_NM_CHAF,		inMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_KMK_NM));	// 更新後・料金内訳名
		this.outMap.setString(JBSbatACIFM094.SIKY_AMNT_CHAF,		inMap.getBigDecimal(JBSbatAC_T_ICJKN.ICJKN_PRC));			// 更新後・請求額
		this.outMap.setString(JBSbatACIFM094.TONYU_DIV_CHAF,		inMap.getString(JBSbatAC_T_ICJKN.TONYU_DIV));				// 更新後・投入区分
		this.outMap.setString(JBSbatACIFM094.SEIKY_YM_CHAF,			inMap.getString(JBSbatAC_T_ICJKN.SEIKY_YM));				// 更新後・請求年月
		this.outMap.setString(JBSbatACIFM094.SVC_DTL_SKBT_NO_CHAF,	inMap.getString(JBSbatAC_T_ICJKN.SVC_DTL_SKBT_NO));			// 更新後・サービス詳細識別番号
	
		this.outMap.setOutFlg(true);
	}
	
	/**
	 * キー文字列作成
	 * 
	 * @param str[] キー文字列
	 * @return String キー文字列作成後文字列
	 * @throws Exception 業務サービス内で発生した例外全般
	 */
	private String makeKeyString(String[] str) throws Exception
	{
		StringBuffer buf = new StringBuffer();
		int i;
		
		
		buf.append("[");
		for(i = 0; i < str.length - 1; i++)
		{
			buf.append(str[i]);
			buf.append(JACStrConst.COMMA);
			buf.append(JACStrConst.SPACE_1);
		}
		buf.append(str[i]);
		buf.append("]");
		
		
		return(buf.toString());
	}
}
