/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACPrcUcwkNmHoten
*	ソースファイル名	：JBSbatACPrcUcwkNmHoten.java
*	作成者				：富士通　
*	作成日				：2014年04月07日
*＜機能概要＞
*　料金内訳名称補填部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v8.00.00	2014/04/07   FJ)小掠		新規作成 【OM-2014-0000835】料金項目名称をサービス契約、サービス契約内訳、料金項目名称から取得
*********************************************************************/
package eo.business.service;

import eo.business.common.JACBatCommon;
import eo.business.common.JACbatDebugLogUtil;
import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatACIFM244;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatCH_M_PRC_KMK_OPUT_NM;
import eo.business.util.table.JBSbatCH_M_PRC_SCHDL_TEIGI;
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.item.JBSbatCommonDBInterface;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatDateUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatACPrcUcwkNmHoten extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(料金項目出力名称)*/
	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_CH_M_PRC_SCHDL_TEIGI = "CH_M_PRC_SCHDL_TEIGI";
	
	/** SQL定義キー(AC_SELECT_033)*/
	private static final String KK_T_SVC_KEI_AC_SELECT_033 = "AC_SELECT_033";

	/** SQL定義キー(AC_SELECT_034)*/
	private static final String KK_T_SVC_KEI_AC_SELECT_034 = "AC_SELECT_034";

	/** SQL定義キー(AC_SELECT_035)*/
	private static final String KK_T_SVC_KEI_AC_SELECT_035 = "AC_SELECT_035";

	/** SQL定義キー(AC_SELECT_009)*/
	private static final String KK_T_SVC_KEI_UCWK_AC_SELECT_009 = "AC_SELECT_009";

	/** SQL定義キー(AC_SELECT_010)*/
	private static final String KK_T_SVC_KEI_UCWK_AC_SELECT_010 = "AC_SELECT_010";

	/** SQL定義キー(AC_SELECT_011)*/
	private static final String KK_T_SVC_KEI_UCWK_AC_SELECT_011 = "AC_SELECT_011";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CH_M_PRC_KMK_OPUT_NM_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_SELECT_003)*/
	private static final String CH_M_PRC_SCHDL_TEIGI_CH_SELECT_003 = "CH_SELECT_003";
	
	/** 料金内訳名称(名称なし)*/
	private static final String PRCUCWK_MSG_NM_NOYHING = "名称なし―システム問い合わせをお願いいたします";
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(料金項目出力名称)*/
	private JBSbatSQLAccess db_CH_M_PRC_KMK_OPUT_NM = null;

	/** テーブルアクセスクラス(スケジュール定義)*/
	private JBSbatSQLAccess db_CH_M_PRC_SCHDL_TEIGI = null;

	/**料金グループコード退避用 */
	private String cdPrcGrpWk = null;

	/**料金コースコード退避用 */
	private String cdPrcPcrsWk = null;

	/**料金プランコード退避用 */
	private String cdPplanWk = null;
	
	/**料金項目名称退避用 */
	private String PrcKmkNm = null;
	
	/**請求年月退避用 */
	private String seikyDateYm = null;
		
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_CH_M_PRC_KMK_OPUT_NM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_KMK_OPUT_NM);
		db_CH_M_PRC_SCHDL_TEIGI= new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_SCHDL_TEIGI);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][initial]");
		
		this.seikyDateYm = getSeikyYm(super.opeDate);
		
		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();
		
		String prcUcwkNmSet = JACStrConst.KARA_MOJI;
		
		//料金内訳名称
		String prcUcwkNm = inMap.getString(JBSbatACIFM244.PRC_UW_NM);
		//料金項目コード
		String prcKmkCd = inMap.getString(JBSbatACIFM244.PRC_KMK_CD);
		//サービス契約番号
		String svcKeiNo = inMap.getString(JBSbatACIFM244.SVC_KEI_NO);

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] 料金内訳名称=" + prcUcwkNm );
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] 料金項目コード=" + prcKmkCd );
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] サービス契約番号=" + svcKeiNo );
		
		//料金内訳名称ありなら処理終了
		if(!JACStrConst.KARA_MOJI.equals(prcUcwkNm.trim()) && null != prcUcwkNm)
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] 料金内訳名称あり");
			// 出力項目設定
			outputItem.addOutMapList(this.getOutputInf(inMap, prcUcwkNmSet));
			return outputItem;
		}
		
		//料金項目コードなしなら処理終了
		if(JACStrConst.KARA_MOJI.equals(prcKmkCd.trim()) || null == prcKmkCd)
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] 料金項目コードなし");
			// 出力項目設定
			outputItem.addOutMapList(this.getOutputInf(inMap, prcUcwkNmSet));
			return outputItem;
		}
		
		//サービス契約番号なしなら処理終了
		if(JACStrConst.KARA_MOJI.equals(svcKeiNo.trim()) || null == svcKeiNo)
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] サービス契約番号なし");
			// 出力項目設定
			outputItem.addOutMapList(this.getOutputInf(inMap, prcUcwkNmSet));
			return outputItem;
		}
		
		//料金内訳名称のに設定する文字を判定します。
		prcUcwkNmSet = prcNmJudge(inMap);
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][execute] 判定後文字　" + prcUcwkNmSet );
		
		// 出力項目設定
		outputItem.addOutMapList(this.getOutputInf(inMap, prcUcwkNmSet));
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][execute]");
		return outputItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][terminal]");

		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_CH_M_PRC_KMK_OPUT_NM.close();
		db_CH_M_PRC_SCHDL_TEIGI.close();

		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][terminal]");
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
	
	/**
	 * 料金内訳名称のに設定する文字を判定します。
	 * 
	 * @param inMap 入力情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String prcNmJudge(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][prcNmJudge]");
		//料金項目コード
		String prcKmkCd = inMap.getString(JBSbatACIFM244.PRC_KMK_CD);
		//サービス契約番号
		String svcKeiNo = inMap.getString(JBSbatACIFM244.SVC_KEI_NO);
		//請求年月
		String seikyYm = inMap.getString(JBSbatACIFM244.SEIKY_YM).replace("/", "");
		
		if(JACStrConst.KARA_MOJI.equals(seikyYm) || null == seikyYm)
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge][請求年月なし]");
			//請求年月なしの場合バッチ運用日から料金計算日を基準とした請求年月を求める
			seikyYm = seikyDateYm;
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] seikyYm=" + seikyYm);
		}
		
		// 末日算出
		String seikyYmd = seikyYm + (JBSbatDateUtil.getEndOfMonth(seikyYm));
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] seikyYmd=" + seikyYmd);
		
		if(getSvsMonKakin(svcKeiNo, seikyYmd))
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の月末課金契約あり");
			//サービス契約の月末課金契約あり
			this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] PrcKmkNm = " + PrcKmkNm);
			if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称あり");
				//名称が入っていたら、料金内訳名称とする
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
				return this.PrcKmkNm;
			}
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称なし");
				//名称が入っていない場合
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
				return prcNmJudge2(svcKeiNo, prcKmkCd, seikyYmd);
			}
		}
		else
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の月末課金契約なし");
			//サービス契約の月末課金契約なし
			if(getSvsMonUse(svcKeiNo, seikyYmd))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の月末利用契約あり");
				//サービス契約の月末利用契約あり
				this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] PrcKmkNm = " + PrcKmkNm);
				if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称あり");
					//名称が入っていたら、料金内訳名称とする
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
					return this.PrcKmkNm;
				}
				else
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称なし");
					//名称が入っていない場合
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
					return prcNmJudge2(svcKeiNo, prcKmkCd, seikyYmd);
				}
			}
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の月末利用契約なし");
				//サービス契約の月末利用契約なし
				if(getSvskMaxKei(svcKeiNo))
				{
					//サービス契約の世代最新契約あり
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の世代最新契約あり");
					this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] PrcKmkNm = " + PrcKmkNm);
					if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
					{
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称あり");
						//名称が入っていたら、料金内訳名称とする
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
						return this.PrcKmkNm;
					}
					else
					{
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] 料金項目名称なし");
						//名称が入っていない場合
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
						return prcNmJudge2(svcKeiNo, prcKmkCd, seikyYmd);
					}
				}
				else
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge] サービス契約の世代最新契約なし");
					//サービス契約の世代最新契約なし
					//契約不整合
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge]");
					return PRCUCWK_MSG_NM_NOYHING;
				}
			}
		}
	}	
	
	/**
	 * 料金内訳名称のに設定する文字を判定します。
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @param prcKmkCd 料金項目コード
	 * @param seikyYmd 請求年月日
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String prcNmJudge2(String svcKeiNo, String prcKmkCd, String seikyYmd) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][prcNmJudge2]");

		if(getSvsUcwkMonKakin(svcKeiNo, seikyYmd))
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の月末課金契約あり");
			//サービス契約内訳の月末課金契約あり
			this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] PrcKmkNm = " + PrcKmkNm);
			if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称あり");
				//名称が入っていたら、料金内訳名称とする
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
				return this.PrcKmkNm;
			}
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称なし");
				//名称なし-セット
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
				return PRCUCWK_MSG_NM_NOYHING;
			}
		}
		else
		{
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の月末課金契約なし");
			//サービス契約内訳の月末課金契約なし
			if(getSvsUcwkMonUse(svcKeiNo, seikyYmd))
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の月末利用契約あり");
				//サービス契約内訳の月末利用契約あり
				this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] PrcKmkNm = " + PrcKmkNm);
				if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称あり");
					//名称が入っていたら、料金内訳名称とする
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
					return this.PrcKmkNm;
				}
				else
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称なし");
					//名称なし-セット
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
					return PRCUCWK_MSG_NM_NOYHING;
				}
			}
			else
			{
				assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の月末利用契約なし");
				//サービス契約内訳の月末利用契約なし
				if(getSvsUcwkMaxKei(svcKeiNo))
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の世代最新契約あり");
					//サービス契約内訳の世代最新契約あり
					this.PrcKmkNm = getPrcOutNm(this.cdPrcGrpWk, this.cdPrcPcrsWk, this.cdPplanWk, prcKmkCd, seikyYmd);
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] PrcKmkNm = " + PrcKmkNm);
					if(!JACStrConst.KARA_MOJI.equals(this.PrcKmkNm))
					{
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称あり");
						//名称が入っていたら、料金内訳名称とする
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
						return this.PrcKmkNm;
					}
					else
					{
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] 料金項目名称なし");
						//名称なし-セット
						assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
						return PRCUCWK_MSG_NM_NOYHING;
					}
				}
				else
				{
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][prcNmJudge2] サービス契約内訳の世代最新契約なし");
					//サービス契約内訳の世代最新契約なし
					//契約不整合
					assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][prcNmJudge2]");
					return PRCUCWK_MSG_NM_NOYHING;
				}
			}
		}
	}	
	
	/**
	 * 出力情報を取得します。
	 * 
	 * @param inMap 入力情報
	 * @param prcUcwkNm 料金内訳名称
	 * @return JBSbatServiceInterfaceMap 出力情報
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap getOutputInf(JBSbatServiceInterfaceMap inMap, String prcUcwkNm) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getOutputInf]");
		
		JBSbatServiceInterfaceMap outputMap = new JBSbatServiceInterfaceMap();
		
		outputMap.setString(JBSbatACIFM244.RSLT_NYO_CD,			inMap.getString(JBSbatACIFM244.RSLT_NYO_CD));		// 結果内容コード
		
		outputMap.setString(JBSbatACIFM244.RSLT_NYO,			inMap.getString(JBSbatACIFM244.RSLT_NYO));			// 結果内容
		
		outputMap.setString(JBSbatACIFM244.TRN_YMD,				inMap.getString(JBSbatACIFM244.TRN_YMD));			// 処理日
		
		outputMap.setString(JBSbatACIFM244.SEIKY_KEI_NO,		inMap.getString(JBSbatACIFM244.SEIKY_KEI_NO));		// 請求契約番号
		
		outputMap.setString(JBSbatACIFM244.SIKYS_KANA,			inMap.getString(JBSbatACIFM244.SIKYS_KANA));		// 請求先カナ名
		
		outputMap.setString(JBSbatACIFM244.SVC_KEI_NO,			inMap.getString(JBSbatACIFM244.SVC_KEI_NO));		// サービス契約番号
		
		outputMap.setString(JBSbatACIFM244.SVC_DTL_SKBT_NO,		inMap.getString(JBSbatACIFM244.SVC_DTL_SKBT_NO));	// サービス識別詳細番号
		
		outputMap.setString(JBSbatACIFM244.SEIKY_YM,			inMap.getString(JBSbatACIFM244.SEIKY_YM));			// 請求年月
		
		outputMap.setString(JBSbatACIFM244.PRC_KMK_CD,			inMap.getString(JBSbatACIFM244.PRC_KMK_CD));		// 料金項目コード
		
		//空文字でなければ、料金内訳名称を設定する
		if(JACStrConst.KARA_MOJI.equals(prcUcwkNm.trim()))
		{
			outputMap.setString(JBSbatACIFM244.PCRS_CD,				inMap.getString(JBSbatACIFM244.PCRS_CD));			// 料金コースコード
			
			outputMap.setString(JBSbatACIFM244.PRC_SVC_CD,			inMap.getString(JBSbatACIFM244.PRC_SVC_CD));		// 料金サービスコード
			
			outputMap.setString(JBSbatACIFM244.PRC_UW_NM,			inMap.getString(JBSbatACIFM244.PRC_UW_NM));		// 料金内訳名称
		}
		else
		{
			outputMap.setString(JBSbatACIFM244.PCRS_CD,				this.cdPrcPcrsWk);			// 料金コースコード
			
			outputMap.setString(JBSbatACIFM244.PRC_SVC_CD,			this.cdPplanWk);			// 料金サービスコード
			
			outputMap.setString(JBSbatACIFM244.PRC_UW_NM,			prcUcwkNm);										// 料金内訳名称
		}
		
		outputMap.setString(JBSbatACIFM244.SIKY_AMNT,			inMap.getString(JBSbatACIFM244.SIKY_AMNT));			// 請求金額
		
		outputMap.setString(JBSbatACIFM244.TSRYO,				inMap.getString(JBSbatACIFM244.TSRYO));				// 通信量
		
		outputMap.setString(JBSbatACIFM244.TONYU_DIV,			inMap.getString(JBSbatACIFM244.TONYU_DIV));			// 投入区分
		
		outputMap.setOutFlg(true);
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getOutputInf]");
		return outputMap;
	}
	
	/**
	 * 指定されたバッチ運用日から当日を含む、
	 * 未来直近の請求年月を取得します。
	 * 
	 * @param opeDate バッチ運用日
	 * @return 請求年月（yyyyMM）
	 * @throws Exception マスタ情報の取得結果が0件の場合
	 */
	public String getSeikyYm(String opeDate) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(commonItem.getLogPrint(), "[S][getSeikyYm]");
		assert JACbatDebugLogUtil.printDebugLog(commonItem.getLogPrint(), "[S][getSeikyYm][opeDate=" + opeDate + "]");
		
		// テーブルアクセスクラス生成
		if (db_CH_M_PRC_SCHDL_TEIGI == null)
		{
			db_CH_M_PRC_SCHDL_TEIGI = new JBSbatSQLAccess(commonItem, JBSbatCH_M_PRC_SCHDL_TEIGI.TABLE_NAME);
		}
		
		JBSbatCommonDBInterface paramMap = new JBSbatCommonDBInterface();
		
		// イベントコード
		paramMap.setValue(JACStrConst.EVENT_CD_SEIKY_SHORI_YMD);
		// バッチ運用日
		paramMap.setValue(opeDate);

		assert JACbatDebugLogUtil.printDebugLog(commonItem.getLogPrint(), "[L][getSeikyYm][paramMap=" + paramMap.getList().toString() + "]");
		
		// 料金スケジュール定義情報取得
		db_CH_M_PRC_SCHDL_TEIGI.selectBySqlDefine(paramMap, CH_M_PRC_SCHDL_TEIGI_CH_SELECT_003);
		JBSbatCommonDBInterface prcSchdlTeigi = db_CH_M_PRC_SCHDL_TEIGI.selectNext();
		
		// 取得結果判定
		String seikyYm = null;
		if (prcSchdlTeigi != null)
		{
			// 請求年月取得
			seikyYm = prcSchdlTeigi.getString(JBSbatCH_M_PRC_SCHDL_TEIGI.SEIKY_YM);
		}
		else
		{
			// マスタ未存在エラー
			String[] msgParam = new String[]
			{ JBSbatCH_M_PRC_SCHDL_TEIGI.TABLE_NAME, paramMap.getList().toString() };
			throw new JBSbatBusinessException(JPCBatchMessageConstant.ECHB0270CH, msgParam);
		}
		assert JACbatDebugLogUtil.printDebugLog(commonItem.getLogPrint(), "[E][getSeikyYm]");
		assert JACbatDebugLogUtil.printDebugLog(commonItem.getLogPrint(), "[E][getSeikyYm][seikyYm=" + seikyYm + "]");
		return seikyYm;
	}
	
	/**
	 * サービス契約から月末課金契約の料金プラン(cdPplanWk),料金グループコード(cdPrcGrpWk),料金コースコード (cdPrcPcrsWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @param seikyYMD	請求年月日（末日）
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvsMonKakin(String cdSrvKei, String seikyYMD) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvsMonKakin]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		whereParam.setValue(seikyYMD);			// プラン課金開始年月日
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		whereParam.setValue(seikyYMD);			// 予約適用年月日
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_AC_SELECT_033(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// 空文字を設定
			// 料金グループコード
			this.cdPrcGrpWk = JACStrConst.KARA_MOJI;
			// 料金コースコード
			this.cdPrcPcrsWk = JACStrConst.KARA_MOJI;
			// 料金プランコード
			this.cdPplanWk = JACStrConst.KARA_MOJI;
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
		}
		// 上記以外の場合
		else
		{
			// 料金グループコード
			this.cdPrcGrpWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			// 料金コースコード
			this.cdPrcPcrsWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD);
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvsMonKakin]");
		return rtnFlg;
	}
	
	/**
	 * サービス契約から月末利用契約の料金プラン(cdPplanWk),料金グループコード(cdPrcGrpWk),料金コースコード (cdPrcPcrsWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @param seikyYMD	請求年月日（末日）
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvsMonUse(String cdSrvKei, String seikyYMD) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvsMonUse]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		whereParam.setValue(seikyYMD);			// プラン課金開始年月日
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		whereParam.setValue(seikyYMD);			// 予約適用年月日
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonUse][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_AC_SELECT_034(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// 空文字を設定
			// 料金グループコード
			this.cdPrcGrpWk = JACStrConst.KARA_MOJI;
			// 料金コースコード
			this.cdPrcPcrsWk = JACStrConst.KARA_MOJI;
			// 料金プランコード
			this.cdPplanWk = JACStrConst.KARA_MOJI;
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
		}
		// 上記以外の場合
		else
		{
			// 料金グループコード
			this.cdPrcGrpWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			// 料金コースコード
			this.cdPrcPcrsWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD);
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonUse][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvsMonUse]");
		return rtnFlg;
	}
	
	/**
	 * サービス契約から世代最新契約の料金プラン(cdPplanWk),料金グループコード(cdPrcGrpWk),料金コースコード (cdPrcPcrsWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvskMaxKei(String cdSrvKei) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvskMaxKei]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvskMaxKei][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_AC_SELECT_035(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// 空文字を設定
			// 料金グループコード
			this.cdPrcGrpWk = JACStrConst.KARA_MOJI;
			// 料金コースコード
			this.cdPrcPcrsWk = JACStrConst.KARA_MOJI;
			// 料金プランコード
			this.cdPplanWk = JACStrConst.KARA_MOJI;
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
		}
		// 上記以外の場合
		else
		{
			// 料金グループコード
			this.cdPrcGrpWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD);
			// 料金コースコード
			this.cdPrcPcrsWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD);
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD);
			
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcGrpWk=" + cdPrcGrpWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPrcPcrsWk=" + cdPrcPcrsWk + "]");
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvskMaxKei][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvskMaxKei]");
		return rtnFlg;
	}
	
	/**
	 * サービス契約内訳から月末課金契約の料金プラン(cdPplanWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @param seikyYMD	請求年月日（末日）
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvsUcwkMonKakin(String cdSrvKei, String seikyYMD) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvsUcwkMonKakin]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		whereParam.setValue(seikyYMD);			// プラン課金開始年月日
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		whereParam.setValue(seikyYMD);			// 予約適用年月日
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMonKakin][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_UCWK_AC_SELECT_009(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI_UCWK.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// セットしない
		}
		// 上記以外の場合
		else
		{
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMonKakin][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvsUcwkMonKakin]");
		return rtnFlg;
	}
	
	/**
	 * サービス契約内訳から月末利用契約の料金プラン(cdPplanWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @param seikyYMD	請求年月日（末日）
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvsUcwkMonUse(String cdSrvKei, String seikyYMD) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvsUcwkMonUse]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		whereParam.setValue(seikyYMD);			// プラン課金開始年月日
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		whereParam.setValue(seikyYMD);			// 予約適用年月日
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMonUse][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_UCWK_AC_SELECT_010(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI_UCWK.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// セットしない
		}
		// 上記以外の場合
		else
		{
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMonUse][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvsUcwkMonUse]");
		return rtnFlg;
	}
	
	/**
	 * サービス契約内訳から世代最新契約の料金プラン(cdPplanWk)を取得する
	 * @param cdSrvKei	サービス契約番号
	 * @return	Boolean	存在ｆｌｇ　ture:存在　false:未存在 
	 * @throws Exception
	 */
	private Boolean getSvsUcwkMaxKei(String cdSrvKei) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getSvsUcwkMaxKei]");
		Boolean rtnFlg = false;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdSrvKei);			// サービス契約番号
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMaxKei][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeKK_T_SVC_KEI_UCWK_AC_SELECT_011(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_KK_T_SVC_KEI_UCWK.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// セットしない
		}
		// 上記以外の場合
		else
		{
			// 料金プランコード
			this.cdPplanWk = dbMap.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsMonKakin][cdPplanWk=" +cdPplanWk + "]");
			rtnFlg = true;
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getSvsUcwkMaxKei][rtnStr=" + rtnFlg + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getSvsUcwkMaxKei]");
		return rtnFlg;
	}
	
	/**
	 * 料金項目出力名称から料金項目出力名称を取得する
	 * @param cdPrcGrp	料金グループコード
	 * @param cdPcrs	料金コースコード
	 * @param cdPrcSvc	料金サービスコード
	 * @param cdPrcKmk	料金項目コード
	 * @param seikyYMD	請求年月日（末日）
	 * @return	String	料金項目出力名称
	 * @throws Exception
	 */
	private String getPrcOutNm(String cdPrcGrp, String cdPcrs, String cdPrcSvc, String cdPrcKmk, String seikyYMD) throws Exception
	{
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[S][getPrcOutNm]");
		String rtnStr = null;
		
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		whereParam.setValue(cdPrcGrp);			// 料金グループコード
		whereParam.setValue(cdPcrs);			// 料金コースコード
		whereParam.setValue(cdPrcSvc);			// 料金サービスコード
		whereParam.setValue(cdPrcKmk);			// 料金項目コード
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		whereParam.setValue(seikyYMD);			// 請求年月日（末日）
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcOutNm][whereParam=" + whereParam.getList().toString() + "]");
		
		// SQL実行
		executeCH_M_PRC_KMK_OPUT_NM_AC_SELECT_001(whereParam.getList().toArray());
		
		JBSbatCommonDBInterface dbMap = db_CH_M_PRC_KMK_OPUT_NM.selectNext();
		// 取得できなかった場合
		if(dbMap == null)
		{
			// 空文字を設定
			rtnStr = JACStrConst.KARA_MOJI;
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcOutNm][rtnStr=" +rtnStr + "]");
		}
		// 上記以外の場合
		else
		{
			// 料金項目名
			rtnStr = dbMap.getString(JBSbatCH_M_PRC_KMK_OPUT_NM.PRC_KMK_NM);
			assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcOutNm][rtnStr=" +rtnStr + "]");
		}
		
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[L][getPrcOutNm][rtnStr=" + rtnStr + "]");
		assert JACbatDebugLogUtil.printDebugLog(super.logPrint, "[E][getPrcOutNm]");
		return rtnStr;
	}
	
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(AC_SELECT_033)で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_T_SVC_KEI_AC_SELECT_033(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_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_AC_SELECT_033);
	}

	/**
	 * SQLKEY(AC_SELECT_034)で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_T_SVC_KEI_AC_SELECT_034(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_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_AC_SELECT_034);
	}

	/**
	 * SQLKEY(AC_SELECT_035)で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_T_SVC_KEI_AC_SELECT_035(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_AC_SELECT_035);
	}

	/**
	 * SQLKEY(AC_SELECT_009)で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_T_SVC_KEI_UCWK_AC_SELECT_009(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_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_AC_SELECT_009);
	}

	/**
	 * SQLKEY(AC_SELECT_010)で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_T_SVC_KEI_UCWK_AC_SELECT_010(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_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_AC_SELECT_010);
	}

	/**
	 * SQLKEY(AC_SELECT_011)で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_T_SVC_KEI_UCWK_AC_SELECT_011(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_AC_SELECT_011);
	}

	/**
	 * SQLKEY(AC_SELECT_001)で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_001(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());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());

		// DBアクセスを実行します
		db_CH_M_PRC_KMK_OPUT_NM.selectBySqlDefine(paramList, CH_M_PRC_KMK_OPUT_NM_AC_SELECT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
