/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACUpplWrbTgDataChst
*	ソースファイル名	：JBSbatACUpplWrbTgDataChst.java
*	作成者				：富士通　
*	作成日				：2012年02月20日
*＜機能概要＞
*　上限割引対象データ抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/20   富士通		新規作成
*	v8.00.00	2013/12/13   FJ)鈴木	【ANK-1794-00-00】L2-MVNO対応（請求書電話番号表示（LC含む））
*********************************************************************/
package eo.business.service;

import java.util.HashMap;

import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JACbatSchdlUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatACIFI016;
import eo.business.util.file.JBSbatACIFM129;
import eo.business.util.table.JBSbatCH_M_PRC_KMK_OPUT_NM;
import eo.business.util.table.JBSbatKK_M_WRIB_SVC_TANKA;
import eo.common.constant.JACStrConst;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.db.JBSbatSQLAccess;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatACUpplWrbTgDataChst extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(料金項目出力名称)*/
	private static final String D_TBL_NAME_CH_M_PRC_KMK_OPUT_NM = "CH_M_PRC_KMK_OPUT_NM";

	/** テーブル(割引サービス単価)*/
	private static final String D_TBL_NAME_KK_M_WRIB_SVC_TANKA = "KK_M_WRIB_SVC_TANKA";

	/** SQL定義キー(AC_SELECT_008)*/
	private static final String CH_M_PRC_KMK_OPUT_NM_AC_SELECT_008 = "AC_SELECT_008";

	/** SQL定義キー(AC_SELECT_003)*/
	private static final String KK_M_WRIB_SVC_TANKA_AC_SELECT_003 = "AC_SELECT_003";

	/** テーブルアクセスクラス(料金項目出力名称)*/
	private JBSbatSQLAccess db_CH_M_PRC_KMK_OPUT_NM = null;

	/** テーブルアクセスクラス(割引サービス単価)*/
	private JBSbatSQLAccess db_KK_M_WRIB_SVC_TANKA = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 料金スケジュール定義部品 */
	private JACbatSchdlUtil schdlUtil 	= null;
	/** 処理日 */
	private String opeYmd 				= null;
	/** 割引サービス単価マップ */
	private HashMap<String, String> wrbsvcTankaMap 	= null;
	/** 料金項目出力名称マップ */
	private HashMap<String, String> prcKmkOutNmMap 	= null;
	/** 割引サービスコード */
	private String wrbSvcCd 			= null;
	/** 表示順 */
	private String dspJun 				= null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CH_M_PRC_KMK_OPUT_NM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_KMK_OPUT_NM);
		db_KK_M_WRIB_SVC_TANKA = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_WRIB_SVC_TANKA);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		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 + "]");
		// 退避.料金項目出力名称マップ初期化
		this.prcKmkOutNmMap 	= new HashMap<String, String>();
		// 退避.割引サービス単価マップ初期化
		this.wrbsvcTankaMap 	= new HashMap<String, String>();

		// 処理日の取得
		getOpeYmd();
		// 料金項目出力名称マップ作成
		getPrcKmkOutNm();
		// 割引サービス単価マップ作成
		getWrbSvcTanka();
		
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][initial]");
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute]");
		assert 	inMap != null ? JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][execute][inMap=" + inMap.getMap().toString() + "]") : true;
		
		// 出力情報
		JBSbatOutputItem outputItem = new JBSbatOutputItem();
		// 入力.上限判定優先順位≠""の場合
		if(!JACStrConst.KARA_MOJI.equals(inMap.getString(JBSbatACIFI016.UPPL_JUDGE_YUSEN_JUN)))
		{
			// 料金項目出力名称マップ検索キー
			StringBuffer srcPrcKmkOutMapKey = new StringBuffer();
			srcPrcKmkOutMapKey.append(inMap.getString(JBSbatACIFI016.PCRS_CD)); 	// 料金コースコード
			srcPrcKmkOutMapKey.append(inMap.getString(JBSbatACIFI016.PRC_SVC_CD)); 	// 料金サービスコード
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][srcPrcKmkOutMapKey=" + srcPrcKmkOutMapKey.toString() + "]");
			// 割引サービス単価マップ検索キー
			String srcWrbSvcMapKey = inMap.getString(JBSbatACIFI016.PRC_SVC_CD); 	// 料金サービスコード
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute][srcWrbSvcMapKey=" + srcWrbSvcMapKey + "]");
			// 料金項目出力名称マップに検索キーが含まれている場合
			if(this.prcKmkOutNmMap.containsKey(srcPrcKmkOutMapKey.toString()))
			{
				// 表示順取得
				this.dspJun = this.prcKmkOutNmMap.get(srcPrcKmkOutMapKey.toString());
			}
			// 割引サービス単価マップに検索キーが含まれている場合
			if(this.wrbsvcTankaMap.containsKey(srcWrbSvcMapKey))
			{
				// 割引サービスコード取得
				this.wrbSvcCd = this.wrbsvcTankaMap.get(srcWrbSvcMapKey);
			}
			// 出力処理
			outputItem.addOutMapList(makeOUtInfo(inMap));
		}
		
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");

		return outputItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CH_M_PRC_KMK_OPUT_NM.close();
		db_KK_M_WRIB_SVC_TANKA.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][terminal]");
		
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][terminal]");
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 * SQLKEY(AC_SELECT_008)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	料金項目出力名称．料金項目名称種別コード
	 *		 	料金項目出力名称．適用開始年月日
	 *		 	料金項目出力名称．適用終了年月日
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_M_PRC_KMK_OPUT_NM_AC_SELECT_008(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_CH_M_PRC_KMK_OPUT_NM.selectBySqlDefine(paramList, CH_M_PRC_KMK_OPUT_NM_AC_SELECT_008);
	}

	/**
	 * SQLKEY(AC_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	適用開始年月日
	 *		 	適用終了年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_WRIB_SVC_TANKA_AC_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_M_WRIB_SVC_TANKA.selectBySqlDefine(paramList, KK_M_WRIB_SVC_TANKA_AC_SELECT_003);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 処理日の取得
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void getOpeYmd() throws Exception
	{
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getOpeYmd]");
		// 請求年月
		String skyYmd 	= null;
		// 料金スケジュール定義部品の初期化
		schdlUtil 		= new JACbatSchdlUtil(commonItem);
		
		// 請求年月取得処理 イベントコード:"03"(料金計算日)
		skyYmd 			= schdlUtil.getBillDate(super.opeDate, JACStrConst.EVENT_CD_RYOKIN_KEISAN_YMD);
		
		// イベント日付取得処理 イベントコード:"01"(利用開始日) "02"(利用終了日)
		String[] eveDay 		= schdlUtil.getUseStrEnd(skyYmd
														, JACStrConst.EVENT_CD_USE_STAYMD
														, JACStrConst.EVENT_CD_USE_ENDYMD);
		
		// バッチ運用日と取得した利用終了日を比較し値の小さい方を設定する。
		if(super.opeDate.compareTo(eveDay[1]) < 0)
		{
			// 処理日にバッチ運用日を設定
			this.opeYmd = super.opeDate;
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getOpeYmd][opeDate=" + super.opeDate + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getOpeYmd][opeYmd=" + this.opeYmd + "]");
		}
		else
		{
			// 処理日に前月末日を設定
			this.opeYmd = eveDay[1];
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getOpeYmd][opeDate=" + super.opeDate + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getOpeYmd][opeYmd=" + this.opeYmd + "]");
		}
		// 料金スケジュール定義クローズ
		schdlUtil.close();
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getOpeYmd]");
	}
	
	/**
	 * 料金項目出力名称マップ作成
	 * @throws Exception        業務サービス内で発生した例外全般。
	 */
	private void getPrcKmkOutNm() throws Exception
	{
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getPrcKmkOutNm]");
		
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(JACStrConst.PRC_KMK_NM_SBT_CD_PRC_NM); 	// 名称種別コード(料金項目名称)
		paramList.setValue(this.opeYmd); 							// 処理日
		paramList.setValue(this.opeYmd); 							// 処理日
		paramList.setValue(this.opeYmd); 							// 処理日
		// SQL実行
		executeCH_M_PRC_KMK_OPUT_NM_AC_SELECT_008(paramList.getList().toArray());
		// 結果を取得
		JBSbatCommonDBInterface dbMap 		=  db_CH_M_PRC_KMK_OPUT_NM.selectNext();
		
		// 取得結果≠nullの場合
		if(dbMap != null)
		{
			// マップキー
			StringBuffer mapKey = null;
			// 取得結果の件数分処理を続ける
			while(dbMap != null)
			{
				mapKey = new StringBuffer();
				mapKey.append(dbMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PCRS_CD)); 	// 料金コースコード
				mapKey.append(dbMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_SVC_CD)); 	// 料金サービスコード
				
				// マップにキーと値を設定する
				this.prcKmkOutNmMap.put(mapKey.toString(), dbMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.DSP_JUN));
				
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcKmkOutNm][key=" + mapKey.toString() + "]");
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcKmkOutNm][value=" + dbMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.DSP_JUN) + "]");

				dbMap =  db_CH_M_PRC_KMK_OPUT_NM.selectNext();
				
			}
		}
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getPrcKmkOutNm]");
	}

	/**
	 * 割引サービス単価マップ作成
	 * @throws Exception        業務サービス内で発生した例外全般。
	 */
	private void getWrbSvcTanka() throws Exception
	{
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getWrbSvcTanka]");
		
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		// 処理日
		paramList.setValue(this.opeYmd);
		// 処理日
		paramList.setValue(this.opeYmd);
		
		// SQL実行
		executeKK_M_WRIB_SVC_TANKA_AC_SELECT_003(paramList.getList().toArray());
		// 結果を取得
		JBSbatCommonDBInterface dbMap 		=  db_KK_M_WRIB_SVC_TANKA.selectNext();
		
		// 取得結果≠nullの場合
		if(dbMap != null)
		{
			// 取得結果の件数分処理を続ける
			while(dbMap != null)
			{
				// マップにキーと値を設定する
				this.wrbsvcTankaMap.put(dbMap.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO) 				// 割引サービス単価番号
														, dbMap.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_CD)); 	// 割引サービスコード
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getWrbSvcTanka][key=" + dbMap.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_TANKA_NO) + "]");
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getWrbSvcTanka][value=" + dbMap.getString(JBSbatKK_M_WRIB_SVC_TANKA.WRIB_SVC_CD) + "]");

				dbMap =  db_KK_M_WRIB_SVC_TANKA.selectNext();
			}
		}
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getWrbSvcTanka]");
	}

	/**
	 * 出力情報編集
	 * @param  inMap      入力情報
	 * @return outMap     出力情報
	 * @throws Exception  業務サービス内で発生した例外全般
	 */
	private JBSbatServiceInterfaceMap makeOUtInfo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][makeOUtInfo]");
		
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		outMap.set(JBSbatACIFM129.SEIKY_KEI_NO, 			inMap.get(JBSbatACIFI016.SEIKY_KEI_NO)); 			// 01.請求先番号
		outMap.set(JBSbatACIFM129.SEIKY_YM, 				inMap.get(JBSbatACIFI016.SEIKY_YM)); 				// 02.請求年月
		outMap.set(JBSbatACIFM129.WRIB_SVC_KEI_NO, 			inMap.get(JBSbatACIFI016.WRIB_SVC_KEI_NO)); 		// 03.割引サービス契約番号
		outMap.set(JBSbatACIFM129.WRISVC_TRGT_KEI_NO, 		inMap.get(JBSbatACIFI016.WRISVC_TRGT_KEI_NO)); 		// 04.割引サービス対象契約番号
		outMap.set(JBSbatACIFM129.SVC_NO, 					inMap.get(JBSbatACIFI016.SVC_NO)); 					// 05.サービス番号
		outMap.set(JBSbatACIFM129.SVC_CD, 					inMap.get(JBSbatACIFI016.SVC_SKBT_CD)); 			// 06.サービス識別
		outMap.set(JBSbatACIFM129.PCRS_CD, 					inMap.get(JBSbatACIFI016.PCRS_CD)); 				// 07.料金コースコード
		outMap.set(JBSbatACIFM129.PRC_SVC_CD, 				inMap.get(JBSbatACIFI016.PRC_SVC_CD)); 				// 08.料金サービスコード
		outMap.set(JBSbatACIFM129.PRC_KMK_CD, 				inMap.get(JBSbatACIFI016.PRC_KMK_CD)); 				// 09.料金項目コード
		outMap.set(JBSbatACIFM129.COLLECT_PATTERN_CD, 		inMap.get(JBSbatACIFI016.COLLECT_PATTERN_CD)); 		// 10.徴収パターンコード
		outMap.set(JBSbatACIFM129.PRC, 						inMap.get(JBSbatACIFI016.PRC)); 					// 11.料金
		outMap.set(JBSbatACIFM129.USE_STAYMD, 				inMap.get(JBSbatACIFI016.USE_STAYMD)); 				// 12.利用開始日
		outMap.set(JBSbatACIFM129.USE_ENDYMD, 				inMap.get(JBSbatACIFI016.USE_ENDYMD)); 				// 13.利用終了日
		outMap.set(JBSbatACIFM129.SVC_STAYMD, 				inMap.get(JBSbatACIFI016.SVC_STAYMD)); 				// 14.サービス開始日
		outMap.set(JBSbatACIFM129.FIRST_CHRG_STAYMD, 		inMap.get(JBSbatACIFI016.FIRST_CHRG_STAYMD)); 		// 15.初回課金開始日
		outMap.set(JBSbatACIFM129.SVC_DSL_YMD, 				inMap.get(JBSbatACIFI016.SVC_DSL_YMD)); 			// 16.サービス解約日
		outMap.set(JBSbatACIFM129.SVC_DLRE, 				inMap.get(JBSbatACIFI016.SVC_DLRE)); 				// 17.サービス解約理由
		outMap.set(JBSbatACIFM129.SVC_KAIHK_DAY, 			inMap.get(JBSbatACIFI016.SVC_KAIHK_DAY)); 			// 18.サービス回復日
		outMap.set(JBSbatACIFM129.USE_DAY_CNT, 				inMap.get(JBSbatACIFI016.USE_DAY_CNT)); 			// 19.利用日数
		outMap.set(JBSbatACIFM129.USE_FAIL_DAY_CNT, 		inMap.get(JBSbatACIFI016.USE_FAIL_DAY_CNT)); 		// 20.利用不可日数
		outMap.set(JBSbatACIFM129.AIT_DIV, 					inMap.get(JBSbatACIFI016.AIT_DIV)); 				// 21.相対区分
		outMap.set(JBSbatACIFM129.SIME_DAY, 				inMap.get(JBSbatACIFI016.SIME_DAY)); 				// 22.締め日
		outMap.set(JBSbatACIFM129.USE_FAIL_APLY_KH, 		inMap.get(JBSbatACIFI016.USE_APLY_KH_CD)); 			// 23.利用不可適用可否
		outMap.set(JBSbatACIFM129.MAEUKE_SOSAI_YUSEN_JUN, 	inMap.get(JBSbatACIFI016.MAE_YUSEN_JUN)); 			// 24.前受相殺優先順位
		outMap.set(JBSbatACIFM129.WRIB_YUSEN_JUN, 			inMap.get(JBSbatACIFI016.WRIB_YUSEN_JUN)); 			// 25.割引優先順位
		outMap.set(JBSbatACIFM129.SEIRI_NO, 				inMap.get(JBSbatACIFI016.SEIRI_NO)); 				// 26.整理番号
		outMap.set(JBSbatACIFM129.UPPL_JUDGE_YUSEN_JUN, 	inMap.get(JBSbatACIFI016.UPPL_JUDGE_YUSEN_JUN)); 	// 27.上限判定優先順位
		outMap.set(JBSbatACIFM129.DSP_JUN, 					this.dspJun); 										// 28.表示順
		outMap.set(JBSbatACIFM129.WRIB_SVC_CD, 				this.wrbSvcCd); 									// 29.割引サービスコード
		outMap.set(JBSbatACIFM129.SVC_DTL_SKBT_NO, 			inMap.get(JBSbatACIFI016.SVC_DTL_SKBT_NO)); 		// 30.サービス詳細識別番号
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][makeOUtInfo][outMap=" + outMap.getMap().toString() + "]");

		outMap.setOutFlg(true);
		assert 	JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][makeOUtInfo]");
		return outMap;
	}

}
