/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：プロジェクト共通
*   モジュール名    ：JTUBatCheckUtil
*   ソースファイル名：JTUBatCheckUtil.java
*   作成者          ：富士通
*   日付            ：2012年04月20日
*＜機能概要＞
*   値取得部品
*＜修正履歴＞
*   バージョン  修正日		修正者		修正内容
*	v3.00.00	2012/04/20	FJ) 北村	新規作成
*	v4.00.00	2012/08/03	FJ) 北村	【TAI-2012-0000094】JBSbatSQLAccessを複数回実行回避対応
*
**********************************************************************/
package eo.business.common;

import eo.business.util.table.JBSbatTU_M_TUSHIN_JGYOSHA;
import eo.business.util.table.JBSbatZM_M_WORK_PARAM_KNRI;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;

/**
 * 電話手続システム用共通値取得処理を提供する。<p>
 * ジョブで実装します。
 * <BR>
 * @author 富士通
 */
public class JTUBatGetValueUtil extends JCCBatCommon {
	
	/** SQL定義キー(TU_SELECT_001)*/
	private static final String TUSHIN_JGYOSHA_SELECT_001 = "TU_SELECT_001";
	
	/** SQL定義キー(TU_SELECT_001)*/
	private static final String WORK_PARAM_KNRI_SELECT_001 = "TU_SELECT_001";
	
	/**
	 * 自社通信事業者コード取得部品
	 * <br>
	 * @param commonItem バッチ共通パラメータ電文
	 * @param dbTushinJgyosha テーブルアクセスクラス
	 * @return 通信事業者コード
	 * @throws Exception      業務サービス内で発生した例外全般。
	 */
	public String getJishaTsjgsCd(JBSbatCommonItem commonItem, JBSbatSQLAccess dbTushinJgyosha) throws Exception 
	{
		
		// 条件を設定
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		
		dbTushinJgyosha.selectBySqlDefine(whereMap, TUSHIN_JGYOSHA_SELECT_001);
		
		JBSbatCommonDBInterface rsDBTushinJgyosha = dbTushinJgyosha.selectNext();
		String tsjgsCd = null;
		
		if(rsDBTushinJgyosha != null)
		{
			tsjgsCd = rsDBTushinJgyosha.getString(JBSbatTU_M_TUSHIN_JGYOSHA.TSJGS_CD);
		}
		
		return tsjgsCd;
	}
	
	/**
	 * 業務パラメータ設定値取得部品
	 * <br>
	 * @param commonItem バッチ共通パラメータ電文
	 * @param workParamSetteValue 業務パラメータID
	 * @param dbWorkParamKnri テーブルアクセスクラス
	 * @return 業務パラメータ設定値
	 * @throws Exception      業務サービス内で発生した例外全般。
	 */
	public String getWorkParamSetteValue(JBSbatCommonItem commonItem, String workParamSetteValue, JBSbatSQLAccess dbWorkParamKnri) throws Exception 
	{
		
		// 条件を設定
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(workParamSetteValue); 				// 業務パラメータID
		whereMap.setValue(commonItem.getOpeDate()); 			// 運用日
		
		dbWorkParamKnri.selectBySqlDefine(whereMap, WORK_PARAM_KNRI_SELECT_001);
		
		JBSbatCommonDBInterface rsDBWorkParamKnri = dbWorkParamKnri.selectNext();
		String workParmSetteValue = null;
		
		if(rsDBWorkParamKnri != null)
		{
			workParmSetteValue = rsDBWorkParamKnri.getString(JBSbatZM_M_WORK_PARAM_KNRI.WORK_PARAM_SETTE_VALUE);
		}
		
		return workParmSetteValue;
	}
}
