/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKBmpKaihkPrdChokNoDel
*	ソースファイル名	：JBSbatKKBmpKaihkPrdChokNoDel.java
*	作成者				：富士通　
*	作成日				：2012年04月09日
*＜機能概要＞
*　番ポ回復期間超過番号削除部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/09   富士通		新規作成
*	v10.00.00	2014/08/22   FJ）中野  【OM-2014-0002520】番ポ廃止登録を行ったらエラーで登録出来ない 
*	v10.01.00	2014/09/08   FJ）中野  【OM-2014-0002834】番ポ廃止にて移行データ不備にてシステムエラー 
*********************************************************************/
package eo.business.service;

import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatKKIFM171;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_SVKEIUW_EOH_TEL;
import eo.common.constant.JKKStrConst;
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;
import eo.framework.util.JBSbatCheckUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
* 削除番ポ番号情報中間ファイルから、電話番号とエイジング番号を入力する。
* 入力した電話番号とエイジング番号が、番ポ回復期間超過番号であることを確認し、
* 電話番号スキーマ・エイジングスキーマの該当レコードを論理削除する。
*<BR>
* @author 富士通
*/
public class JBSbatKKBmpKaihkPrdChokNoDel extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(電話番号削除可能チェック)*/
	private static final String D_TBL_NAME_ZM_M_TELNO = "ZM_M_TELNO";

	/** テーブル(サービス契約内訳削除対象チェック)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(エイジング削除)*/
	private static final String D_TBL_NAME_ZM_T_AGING = "ZM_T_AGING";
	
	// ▼▼▼▼▼2014/08/22 OM-2014-0002520 ADD START▼▼▼▼▼
	/** テーブル(エイジング削除)*/
	private static final String D_TBL_NAME_TU_T_BMP_KOJI = "TU_T_BMP_KOJI";
	// ▲▲▲▲▲2014/08/22 OM-2014-0002520 ADD END  ▲▲▲▲▲

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String ZM_M_TELNO_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_063)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_063 = "KK_SELECT_063";

	/** SQL定義キー(KK_UPDATE_001)*/
	//private static final String ZM_M_TELNO_KK_UPDATE_001 = "KK_UPDATE_001";
	private static final String ZM_M_TELNO_KK_UPDATE_001 = "KK_DELETE_001";

	/** SQL定義キー(KK_UPDATE_002)*/
	//private static final String ZM_T_AGING_KK_UPDATE_002 = "KK_UPDATE_002";
	private static final String ZM_T_AGING_KK_UPDATE_002 = "KK_DELETE_002";
	

	/** テーブルアクセスクラス(電話番号削除可能チェック)*/
	private JBSbatSQLAccess db_ZM_M_TELNO = null;

	/** テーブルアクセスクラス(サービス契約内訳削除対象チェック)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(エイジング削除)*/
	private JBSbatSQLAccess db_ZM_T_AGING = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	// ▼▼▼▼▼2014/08/22 OM-2014-0002520 ADD START▼▼▼▼▼
	/**
	 * 空文字
	 */
	public static final String STRING_BLANK = "";
	
	/** テーブルアクセスクラス(番ポ工事)*/
	private JBSbatSQLAccess db_TU_T_BMP_KOJI = null;
	
	/** SQL定義キー(KK_SELECT_063)*/
	private static final String TU_T_BMP_KOJI_KK_SELECT_012 = "KK_SELECT_012";
	
	// ▲▲▲▲▲2014/08/22 OM-2014-0002520 ADD END  ▲▲▲▲▲
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_ZM_M_TELNO = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_M_TELNO);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_ZM_T_AGING = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_AGING);

		// ▼▼▼▼▼2014/08/22 OM-2014-0002520 ADD START▼▼▼▼▼
		db_TU_T_BMP_KOJI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_TU_T_BMP_KOJI);
		// ▲▲▲▲▲2014/08/22 OM-2014-0002520 ADD END  ▲▲▲▲▲
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		// 入力情報の単項目チェック
//		if (!isSingleCheckKKIFM171_INF1(inMap.getMap(), getItemvalueMap()))
//		{
//			// エラーフラグ設定
//			super.commonItem.setErrFlg(true);
//			return null;
//		}
		
		//電話番号とエイジングの削除可能チェック
		executeZM_M_TELNO_KK_SELECT_003(getTelno_S003Param(inMap));
		
		//削除可能チェック結果
		JBSbatCommonDBInterface rsltMap = new JBSbatCommonDBInterface();
		
		//削除可能チェック結果を取得
		rsltMap = db_ZM_M_TELNO.selectNext();
		
		if(null != rsltMap && 0 != rsltMap.getBigDecimal("CNT").intValue())
		{
			//サービス契約内訳の削除対象チェック
			executeKK_T_SVC_KEI_UCWK_KK_SELECT_063(getSvcKeiUcwk_S063Param(inMap));
		
			// ▼▼▼▼▼2014/09/08 OM-2014-0002834 MOD START▼▼▼▼▼
			// 電話番号に紐づく内訳一覧を取得してその結果を確認
			
			// 削除可否フラグ
			boolean delKhFlg = false;
			
			//削除対象チェック結果を取得
			while (null != ( rsltMap = db_KK_T_SVC_KEI_UCWK.selectNext()))
			{
				// 取得できたので後続処理を実施
				// ▼▼▼▼▼2014/08/22 OM-2014-0002520 ADD START▼▼▼▼▼
				String svcKeiUcwkNo = trim(rsltMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
				String svcKeiUcwkStat = trim(rsltMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT));
				
				// 取得したサービス契約内訳ステータスによって処理を振分
				if("010".equals(svcKeiUcwkStat) || "020".equals(svcKeiUcwkStat) || "030".equals(svcKeiUcwkStat) || "100".equals(svcKeiUcwkStat) || "210".equals(svcKeiUcwkStat) || "220".equals(svcKeiUcwkStat))
				{
					// サービス契約内訳ステータスが受付済、照査済、締結済、提供中、休止中、停止中の場合は何もしない
					delKhFlg = false;
					break;
				}
				else if("920".equals(svcKeiUcwkStat))
				{
					// サービス契約内訳ステータスがキャンセル済の場合、電話番号マスタより消す
					delKhFlg = true;
				}
				else if("910".equals(svcKeiUcwkStat))
				{
					// サービス契約内訳ステータスが解約済の場合、番ポ工事を参照し消していいのか、廃止登録で消されるのかを切り分ける。
					executeTU_T_BMP_KOJI_KK_SELECT_012(getBMPKojiParam(svcKeiUcwkNo));
					
					//番ポ工事結果を取得
					rsltMap = db_TU_T_BMP_KOJI.selectNext();

					// 結果が取得できた場合は電話番号マスタを削除する(廃止登録しなくていいため)
					if(null != rsltMap)
					{
						delKhFlg = true;
					}
					else
					{
						// 取得できなかった時は電話番号マスタは消せない
						delKhFlg = false;
					}
				}
				else
				{
					// 上記以外の場合何もしない
					delKhFlg = false;
				}
				// ▲▲▲▲▲2014/08/22 OM-2014-0002520 ADD END  ▲▲▲▲▲
				
			}
			
			// フラグ可否にて削除を実行
			if(delKhFlg == false)
			{
				// 消せないので何もしない
			}
			else
			{
				// 電話番号マスタより削除する
				executeZM_M_TELNO_KK_UPDATE_001(getTelno_U001Param(inMap));
			}
			// ▲▲▲▲▲2014/09/08 OM-2014-0002834 MOD END  ▲▲▲▲▲
			
			// ▼▼▼▼▼2014/08/22 OM-2014-0002520 DEL START▼▼▼▼▼
//			// OM-2013-0002823 2013/10/03 START
////			if(null != rsltMap && 0 != rsltMap.getBigDecimal("CNT").intValue())
//			if(null != rsltMap && 0 == rsltMap.getBigDecimal("CNT").intValue())
//// OM-2013-0002823 2013/10/03 END
//			{
//				//電話番号の論理削除
//				executeZM_M_TELNO_KK_UPDATE_001(getTelno_U001Param(inMap));
//				//エイジングの論理削除
//				// 案件ANK-1670-00-00 2013/11/08 DEL START
////				executeZM_T_AGING_KK_UPDATE_002(getAging_U002Param(inMap));
//				// 案件ANK-1670-00-00 2013/11/08 DEL START
//			}
			// ▲▲▲▲▲2014/08/22 OM-2014-0002520 DEL END  ▲▲▲▲▲
		}
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * エラーメッセージに関する項目値を格納されたHashMap<String, String>を生成します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.エラーメッセージに関する項目値を格納されたHashMapを生成する。<br>
	 *
	 * 2.エラーメッセージに関する項目値を格納されたHashMapに値を設定する。<br>
	 * </pre>
	 * <p>
	 * @return itemvalueMap エラーメッセージに関する項目値を格納されたHashMap
	 */
	private HashMap<String, String> getItemvalueMap()
	{
		// エラーメッセージに関する項目値が格納されたHashMapを設定
		HashMap<String, String> itemvalueMap = new HashMap<String, String>();
		itemvalueMap.put("TXT-KKIFM171-INF1.TELNO", "電話番号");
		itemvalueMap.put("TXT-KKIFM171-INF1.AGINGNO", "エイジング番号");
		
		return itemvalueMap;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_ZM_M_TELNO.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_ZM_T_AGING.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	
	/**
	 *入力情報（削除番ポ番号情報中間ファイル）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM171-INF1.TELNO			削除番ポ番号情報中間ファイル.電話番号
	 *			 TXT-KKIFM171-INF1.TELNO			削除番ポ番号情報中間ファイル.電話番号
	 *			 TXT-KKIFM171-INF1.TELNO			削除番ポ番号情報中間ファイル.電話番号
	 *			 TXT-KKIFM171-INF1.AGINGNO			削除番ポ番号情報中間ファイル.エイジング番号
	 *			 TXT-KKIFM171-INF1.AGINGNO			削除番ポ番号情報中間ファイル.エイジング番号
	 *			 TXT-KKIFM171-INF1.AGINGNO			削除番ポ番号情報中間ファイル.エイジング番号
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKKIFM171_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// 電話番号項目チェック
		strValue = (String)rsMap.get("TELNO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM171-INF1.TELNO")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "11"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM171-INF1.TELNO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"tel2"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM171-INF1.TELNO")});
			return false;
		}

		// 案件ANK-1670-00-00 2013/11/08 DEL START
//		// エイジング番号項目チェック
//		strValue = (String)rsMap.get("AGINGNO");
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM171-INF1.AGINGNO")});
//			return false;
//		}
//		// 桁数チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM171-INF1.AGINGNO")});
//			return false;
//		}
//		// 属性チェック
//		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM171-INF1.AGINGNO")});
//			return false;
//		}
		// 案件ANK-1670-00-00 2013/11/08 DEL END

		return true;
	}

	/**
	 * 電話番号とエイジングの削除可能チェック<br>
	 * SQLKEY(KK_SELECT_003)でDBアクセスを行います。<br>
	 * 戻り値が１でなければ、削除不可能。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	電話番号
	 *		 	エイジング番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_M_TELNO_KK_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		// 案件ANK-1670-00-00 2013/11/08 MOD START
		paramList.setValue(param[1].toString());
		paramList.setValue(param[1].toString());
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[2].toString());
//		paramList.setValue(param[2].toString());
//		paramList.setValue(param[2].toString());
		// 案件ANK-1670-00-00 2013/11/08 MOD END

		// DBアクセスを実行します
		db_ZM_M_TELNO.selectBySqlDefine(paramList, ZM_M_TELNO_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_063)で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_KK_SELECT_063(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		// ▼▼▼▼▼2013/11/10 OM-2013-0004083 ADD START▼▼▼▼▼
		paramList.setValue(param[1].toString());
		// ▼▼▼▼▼2014/08/22 OM-2014-0002520 DEL START▼▼▼▼▼
		// 最新の内訳番号とステータスを取得しその結果で判定するように変更
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[1].toString());
//		paramList.setValue(param[1].toString());
		// ▲▲▲▲▲2014/08/22 OM-2014-0002520 DEL END  ▲▲▲▲▲
		// ▲▲▲▲▲2013/11/10 OM-2013-0004083 ADD END  ▲▲▲▲▲
		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_063);
	}

	/**
	 * SQLKEY(KK_UPDATE_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 executeZM_M_TELNO_KK_UPDATE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZM_M_TELNO.executeBySqlDefine(paramList, ZM_M_TELNO_KK_UPDATE_001);
	}

	/**
	 * SQLKEY(KK_UPDATE_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	エイジング番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// 案件ANK-1670-00-00 2013/11/08 DEL START
//	private void executeZM_T_AGING_KK_UPDATE_002(Object[] param) throws Exception
//	{
//		// バイント変数のリストを生成します
//		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
//		paramList.setValue(param[0].toString());
//
//		// DBアクセスを実行します
//		db_ZM_T_AGING.executeBySqlDefine(paramList, ZM_T_AGING_KK_UPDATE_002);
//	}
	// 案件ANK-1670-00-00 2013/11/08 DEL END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getTelno_S003Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM171.TELNO)), // 電話番号
			// 案件ANK-1670-00-00 2013/11/08 DEL START
//			JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM171.AGINGNO)), // エイジング番号
			// 案件ANK-1670-00-00 2013/11/08 DEL END
			JBSbatStringUtil.Rtrim(super.opeDate)//運用日
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_058)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_058)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getSvcKeiUcwk_S063Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM171.TELNO)) // 電話番号
			// ▼▼▼▼▼2013/11/10 OM-2013-0004083 ADD START▼▼▼▼▼
			,JBSbatStringUtil.Rtrim(super.opeDate)//運用日
			// ▲▲▲▲▲2013/11/10 OM-2013-0004083 ADD END  ▲▲▲▲▲
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_UPDATE_001)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_UPDATE_001)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getTelno_U001Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM171.TELNO)) // 電話番号
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_UPDATE_002)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_UPDATE_002)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getAging_U002Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
			JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM171.AGINGNO)) // エイジング番号
		};
		return ret_Param;
	}

	// ▼▼▼▼▼2014/08/22 OM-2014-0002520 ADD START▼▼▼▼▼
	/**
	 * trimを行う。nullの場合は空白を返却する
	 * @param param
	 * @return String
	 */
	protected String trim(String param)
	{
		if(null != param)
		{
			return param.trim();
		}
		return STRING_BLANK;
	}
	/**
	 * SQLKEY(KK_SELECT_012)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_012)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getBMPKojiParam(String svcKeiUcwkNo) throws Exception
	{
		Object[] ret_Param = {
			JBSbatStringUtil.Rtrim(svcKeiUcwkNo) // サービス契約内訳番号
		};
		return ret_Param;
	}
	
	/**
	 * SQLKEY(KK_SELECT_012)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeTU_T_BMP_KOJI_KK_SELECT_012(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		
		db_TU_T_BMP_KOJI.selectBySqlDefine(paramList, TU_T_BMP_KOJI_KK_SELECT_012);
	}
	// ▲▲▲▲▲2014/08/22 OM-2014-0002520 ADD END  ▲▲▲▲▲

}
