/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKMansCmpIfSksi
*	ソースファイル名	：JBSbatKKMansCmpIfSksi.java
*	作成者				：富士通　
*	作成日				：2012年04月10日
*＜機能概要＞
*　マンションキャンペーン情報作成部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/10   富士通		新規作成
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.util.file.JBSbatKKIFM202;
import eo.business.util.table.JBSbatKK_T_KAISEN_USE_KEI;
import eo.business.util.table.JBSbatKK_T_OWNR_KEI;
import eo.business.util.table.JBSbatKK_T_TK_HOSHIKI_KEI;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKMansCmpIfSksi extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(オーナー契約)*/
	private static final String D_TBL_NAME_KK_T_OWNR_KEI = "KK_T_OWNR_KEI";

	/** テーブル(回線使用契約)*/
	private static final String D_TBL_NAME_KK_T_KAISEN_USE_KEI = "KK_T_KAISEN_USE_KEI";

	/** テーブル(提供方式契約)*/
	private static final String D_TBL_NAME_KK_T_TK_HOSHIKI_KEI = "KK_T_TK_HOSHIKI_KEI";

	/** テーブル(マンション割引サービス契約)*/
	private static final String D_TBL_NAME_KK_T_MANS_WRIBSVK = "KK_T_MANS_WRIBSVK";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_OWNR_KEI_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_KAISEN_USE_KEI_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_006)*/
	private static final String KK_T_KAISEN_USE_KEI_KK_SELECT_006 = "KK_SELECT_006";

	/** SQL定義キー(KK_SELECT_010)*/
	private static final String KK_T_TK_HOSHIKI_KEI_KK_SELECT_010 = "KK_SELECT_010";

	/** SQL定義キー(KK_INSERT_001)*/
	private static final String KK_T_MANS_WRIBSVK_KK_INSERT_001 = "KK_INSERT_001";

	/** SQL定義キー(KK_UPDATE_001)*/
	private static final String KK_T_MANS_WRIBSVK_KK_UPDATE_001 = "KK_UPDATE_001";

	/** テーブルアクセスクラス(オーナー契約)*/
	private JBSbatSQLAccess db_KK_T_OWNR_KEI = null;

	/** テーブルアクセスクラス(回線使用契約)*/
	private JBSbatSQLAccess db_KK_T_KAISEN_USE_KEI = null;

	/** テーブルアクセスクラス(提供方式契約)*/
	private JBSbatSQLAccess db_KK_T_TK_HOSHIKI_KEI = null;

	/** テーブルアクセスクラス(マンション割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_MANS_WRIBSVK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** マンション割引サービス契約番号シーケンス */
	private static final String SEQ_MANS_WRBK_SVC_NO = "SEQ_MANSION_WRIB_SVC_KEI_NO";

	/** オペレータカウント：SYSTEM */
	private String OPEACNT_SYSTEM = "SYSTEM";

	/** マンションオーナーＩＤ */
	private String MANSION_OWNR_ID = "";

	/** 回線使用契約番号 */
	private String KAISEN_USE_KEI_NO = "";

	/** 提供方式契約番号 */
	private String TK_HOSHIKI_KEI_NO = "";

	/** 運用年月日 */
	private String unyo_ymd = "";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		//運用年月日
		unyo_ymd = commonItem.getOpeDate();

		// DBアクセスクラスを生成します
		db_KK_T_OWNR_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OWNR_KEI);
		db_KK_T_KAISEN_USE_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KAISEN_USE_KEI);
		db_KK_T_TK_HOSHIKI_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_TK_HOSHIKI_KEI);
		db_KK_T_MANS_WRIBSVK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MANS_WRIBSVK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		//オーナー契約からマンションIDを取得
		JBSbatCommonDBInterface rcvMap1 = null;
		rcvMap1 = getMansionID(inMap);

		MANSION_OWNR_ID = rcvMap1.getString(JBSbatKK_T_OWNR_KEI.MANSION_OWNR_ID);

		//回線使用契約から回線使用契約を取得
		JBSbatCommonDBInterface rcvMap2 = null;
		rcvMap2 = getKaisenUseKeiNo(inMap);

		KAISEN_USE_KEI_NO = rcvMap2.getString(JBSbatKK_T_KAISEN_USE_KEI.KAISEN_USE_KEI_NO);

		//提供方式契約から提供方式契約を取得
		JBSbatCommonDBInterface rcvMap3 = null;
		//検索時の引数
		String[] HOSHIKI_KEI_PRM = 
			{inMap.getString(JBSbatKKIFM202.TK_HSK_PTN_CD) ,KAISEN_USE_KEI_NO};
		rcvMap3 = getTKHoshikiKeiNo(HOSHIKI_KEI_PRM);

		TK_HOSHIKI_KEI_NO = rcvMap3.getString(JBSbatKK_T_TK_HOSHIKI_KEI.TK_HOSHIKI_KEI_NO);

		//マンション割引サービス契約 定数追加？
		if("1".equals(inMap.getString(JBSbatKKIFM202.TRAN_DIV)))
		{
			insertMansWribsvk(inMap);
		}
		else
		{
			updateMansWribsvk(inMap);
		}

		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_OWNR_KEI.close();
		db_KK_T_KAISEN_USE_KEI.close();
		db_KK_T_TK_HOSHIKI_KEI.close();
		db_KK_T_MANS_WRIBSVK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マンションオーナーID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OWNR_KEI_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_OWNR_KEI.selectBySqlDefine(paramList, KK_T_OWNR_KEI_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マンション_ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KAISEN_USE_KEI_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KAISEN_USE_KEI.selectBySqlDefine(paramList, KK_T_KAISEN_USE_KEI_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_006)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	Cat-M管理番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KAISEN_USE_KEI_KK_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KAISEN_USE_KEI.selectBySqlDefine(paramList, KK_T_KAISEN_USE_KEI_KK_SELECT_006);
	}

	/**
	 * SQLKEY(KK_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_TK_HOSHIKI_KEI_KK_SELECT_010(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_TK_HOSHIKI_KEI.selectBySqlDefine(paramList, KK_T_TK_HOSHIKI_KEI_KK_SELECT_010);
	}

	/**
	 * SQLKEY(KK_INSERT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マンション割引サービス契約番号
	 *		 	マンションオーナーID
	 *		 	回線使用契約番号
	 *		 	提供方式契約番号
	 *		 	マンション割引サービス開始年月日
	 *		 	マンション住人申込受付開始年月日
	 *		 	マンション住人申込受付終了年月日
	 *		 	マンション住人申込条件コード
	 *		 	マンション住人申込特記事項
	 *		 	マンションキャンペーンコード
	 *		 	マンションキャンペーン名
	 *		 	マンションキャンペーンパターンコード
	 *		 	マンションキャンペーンパターン名
	 *		 	マンションキャンペーン内容
	 *		 	マンションキャンペーン種別名
	 *		 	削除年月日時分秒
	 *		 	削除オペレータアカウント
	 *		 	登録運用年月日
	 *		 	登録処理ID
	 *		 	更新運用年月日
	 *		 	更新処理ID
	 *		 	削除運用年月日
	 *		 	削除処理ID
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_MANS_WRIBSVK_KK_INSERT_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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
		paramList.setValue(param[23].toString());
		paramList.setValue(param[24].toString());
		paramList.setValue(param[25].toString());
		paramList.setValue(param[26].toString());

		// DBアクセスを実行します
		return db_KK_T_MANS_WRIBSVK.executeBySqlDefine(paramList, KK_T_MANS_WRIBSVK_KK_INSERT_001);
	}

	/**
	 * SQLKEY(KK_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マンション住人申込受付開始年月日
	 *		 	マンション住人申込受付終了年月日
	 *		 	マンション住人申込条件コード
	 *		 	マンション住人申込特記事項
	 *		 	マンションキャンペーン名
	 *		 	マンションキャンペーンパターンコード
	 *		 	マンションキャンペーンパターン名
	 *		 	マンションキャンペーン内容
	 *		 	マンションキャンペーン種別名
	 *		 	更新年月日時分秒
	 *		 	更新処理ID
	 *		 	マンションオーナーID
	 *		 	回線使用契約番号
	 *		 	提供方式契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_MANS_WRIBSVK_KK_UPDATE_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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());

		// DBアクセスを実行します
		return db_KK_T_MANS_WRIBSVK.executeBySqlDefine(paramList, KK_T_MANS_WRIBSVK_KK_UPDATE_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	//オーナー契約テーブル検索
	private JBSbatCommonDBInterface getMansionID(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String[] param = {inMap.getString(JBSbatKKIFM202.P_ID)};

		executeKK_T_OWNR_KEI_KK_SELECT_005(param);
		JBSbatCommonDBInterface dataMap = db_KK_T_OWNR_KEI.selectNext();
		if (null == dataMap)
		{
			String errParam = "、Ｐ−ＩＤ:" + inMap.getString(JBSbatKKIFM202.P_ID) + " ";
			notFoundError(new String[]{"オーナー契約" ,errParam});
		}
		return dataMap;
	}

	//回線使用契約テーブ検索
	private JBSbatCommonDBInterface getKaisenUseKeiNo(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String[] param = new String[1];
		boolean isMid = true;
		if(!"".equals(inMap.getString(JBSbatKKIFM202.M_ID)))
		{
			//ファイルにマンションIDが設定されている場合
			param[0] = inMap.getString(JBSbatKKIFM202.M_ID);
			executeKK_T_KAISEN_USE_KEI_KK_SELECT_005(param);
		}
		else
		{
			isMid = false;
			//ファイルにCAT-M管理番号が設定されている場合
			param[0] = inMap.getString(JBSbatKKIFM202.CAT_M_KANRI_NO);
			executeKK_T_KAISEN_USE_KEI_KK_SELECT_006(param);
		}

		//回線使用契約テーブル検索
		JBSbatCommonDBInterface dataMap = db_KK_T_KAISEN_USE_KEI.selectNext();
		if (null == dataMap)
		{
			String errParam = null;  //ログ出力？ 要確認
			if(isMid)
			{
				errParam = "、回線使用契約番号(Ｍ−ＩＤ):" + inMap.getString(JBSbatKKIFM202.M_ID) + " ";
			}
			else
			{
				errParam = "、回線使用契約番号(Ｃａｔ−Ｍ管理番号):" + inMap.getString(JBSbatKKIFM202.CAT_M_KANRI_NO) + " ";
			}
			notFoundError(new String[]{"回線使用契約" ,errParam});
		}

		return dataMap;
	}

	//提供方式契約テーブル検索
	private JBSbatCommonDBInterface getTKHoshikiKeiNo(String[] param) throws Exception
	{
		executeKK_T_TK_HOSHIKI_KEI_KK_SELECT_010(param);
		JBSbatCommonDBInterface dataMap = db_KK_T_TK_HOSHIKI_KEI.selectNext();
		if (null == dataMap)
		{
			String errParam = "、提供方式契約パターン:" + param[0] + " 回線使用契約番号:" + param[1] + " ";
			notFoundError(new String[]{"提供方式契約" ,errParam});
		}
		
		return dataMap;
	}

	//マンション割引登録
	private void insertMansWribsvk(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		//シーケンス 要確認
		String seq = JCCBatCommon.getNextSeq(commonItem, SEQ_MANS_WRBK_SVC_NO);
		Object[] param = {
			JBSbatStringUtil.padNumFormString(seq, 12),
			MANSION_OWNR_ID,
			KAISEN_USE_KEI_NO,
			TK_HOSHIKI_KEI_NO,
			unyo_ymd,
			inMap.getString(JBSbatKKIFM202.MKM_STA_DAY),
			inMap.getString(JBSbatKKIFM202.MKM_END_DAY),
			"",	//inMap.getString(JBSbatKKIFFE040.MKM_JKN), コードではない為
			inMap.getString(JBSbatKKIFM202.MKM_TKJK),
			inMap.getString(JBSbatKKIFM202.CMP_CD),
			inMap.getString(JBSbatKKIFM202.CMP_NM),
			inMap.getString(JBSbatKKIFM202.CMP_PTN_CD),
			inMap.getString(JBSbatKKIFM202.CMP_PTN_NM),
			inMap.getString(JBSbatKKIFM202.CMP_NYO),
			inMap.getString(JBSbatKKIFM202.CMP_SBT_NM),
			JCCBatCommon.getSysDateTimeStamp(), //システム日付？ 要確認
			OPEACNT_SYSTEM,
			JCCBatCommon.getSysDateTimeStamp(), //システム日付
			OPEACNT_SYSTEM,
			"",	//null 項目 要確認
			"",	//null 項目
			unyo_ymd,
			JCCBatCommon.getTrnId(),
			unyo_ymd,
			JCCBatCommon.getTrnId(),
			"",	//null 項目
			""	//null 項目
		};

		//エラーの場合
		if( 1 > executeKK_T_MANS_WRIBSVK_KK_INSERT_001(param))
		{
			// エラーフラグ設定
			super.commonItem.setErrFlg(true);
			String msg = "マンション割引登録失敗 マンションオーナーID:" + MANSION_OWNR_ID;
			throw new JBSbatBusinessException(msg);
		}
		commonItem.getLogPrint().printDebugLog("マンション割引 登録 マンションオーナーID:"
				+ MANSION_OWNR_ID);
	}

	//マンション割引更新
	private void updateMansWribsvk(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] param = {
				inMap.getString(JBSbatKKIFM202.MKM_STA_DAY),
				inMap.getString(JBSbatKKIFM202.MKM_END_DAY),
				"",		//inMap.getString(JBSbatKKIFM202.MKM_JKN), コードではない為
				inMap.getString(JBSbatKKIFM202.MKM_TKJK),
				inMap.getString(JBSbatKKIFM202.CMP_NM),
				inMap.getString(JBSbatKKIFM202.CMP_PTN_CD),
				inMap.getString(JBSbatKKIFM202.CMP_PTN_NM),
				inMap.getString(JBSbatKKIFM202.CMP_NYO),
				inMap.getString(JBSbatKKIFM202.CMP_SBT_NM),
				JCCBatCommon.getSysDateTimeStamp(), //システム日付
				OPEACNT_SYSTEM,			//システム 要確認
				unyo_ymd,
				JCCBatCommon.getTrnId(),
				MANSION_OWNR_ID,	//where
				KAISEN_USE_KEI_NO,
				TK_HOSHIKI_KEI_NO
		};
		String msg = "マンションオーナーID:" + MANSION_OWNR_ID + " 回線使用契約番号:" + 
						KAISEN_USE_KEI_NO + " 提供方式契約番号:" + TK_HOSHIKI_KEI_NO;

		if( 1 > executeKK_T_MANS_WRIBSVK_KK_UPDATE_001(param))
		{
			// エラーフラグ設定
			super.commonItem.setErrFlg(true);
			throw new JBSbatBusinessException("マンション割引 更新失敗 " + msg);
		}
		commonItem.getLogPrint().printDebugLog("マンション割引 更新 " + msg);
	}

	//エラーログ出力
	private void notFoundError(String[] params) throws Exception{
		// エラーフラグ設定
		super.commonItem.setErrFlg(true);
		//%1%テーブルに%2%が存在しません。
//		throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, params);
		commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKKB0210CE, params);
		throw new JBSbatBusinessError();
	}

	/**
	 * 提供方式パターンコードを５桁の文字列に変更する。
	 */
	private String padding(String cd)
	{
		if(cd == null || "".equals(cd))
		{
			return "";
		}
		else
		{
			return String.format("%05d",Integer.parseInt(cd));
		}
	}

}
