/*********************************************************************
*  All Rights reserved,Copyright (c)  K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCHKakugetsuSeikyuTrgtAddEvenMonUse
*	ソースファイル名	：JBSbatCHKakugetsuSeikyuTrgtAddEvenMonUse.java
*	作成者				：富士通　
*	作成日				：2019年10月10日
*＜機能概要＞
*	隔月請求登録（偶数月利用分）部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2019/10/10   富士通		【ANK-3586-00-00】隔月合算請求 新規作成
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKKBatCommon;
import eo.business.util.file.JBSbatCHIFM334;
import eo.business.util.file.JBSbatCHIFM335;
import eo.business.util.table.JBSbatKK_T_SEIKY_YOKSI;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
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.JBSbatDateUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatCHKakugetsuSeikyuTrgtAddEvenMonUse extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(請求)*/
	private static final String D_TBL_NAME_CH_T_SEIKY = "CH_T_SEIKY";
	
	/** テーブル(請求抑止)*/
	private static final String D_TBL_NAME_KK_T_SEIKY_YOKSI = "KK_T_SEIKY_YOKSI";
	
	/** テーブル(料金対応記録)*/
	private static final String D_TBL_NAME_CH_T_PRC_TAIOKRK = "CH_T_PRC_TAIOKRK";
	
	/** SQL定義キー(CH_SELECT_050)*/
	private static final String CH_T_SEIKY_CH_SELECT_050 = "CH_SELECT_050";
	
	/** SQL定義キー(CH_SELECT_011)*/
	private static final String KK_T_SEIKY_YOKSI_CH_SELECT_011 = "CH_SELECT_011";
	
	/** テーブルアクセスクラス(請求)*/
	private JBSbatSQLAccess db_CH_T_SEIKY = null;
	
	/** テーブルアクセスクラス(請求抑止)*/
	private JBSbatSQLAccess db_KK_T_SEIKY_YOKSI = null;
	private JBSbatSQLAccess db_KK_T_SEIKY_YOKSI2 = null;
	
	/** テーブルアクセスクラス(料金対応記録)*/
	private JBSbatSQLAccess db_CH_T_PRC_TAIOKRK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 請求抑止フラグ(有効)*/
	private static final String SEIKY_YOKSI_FLG_YK = "1";
	/** 督促抑止フラグ(無効)*/
	private static final String TOKUSOKU_YOKSI_FLG_MK = "0";
	/** 督促抑止フラグ(有効)*/
	private static final String TOKUSOKU_YOKSI_FLG_YK = "1";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CH_T_SEIKY = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_T_SEIKY);
		db_KK_T_SEIKY_YOKSI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_YOKSI);
		db_KK_T_SEIKY_YOKSI2 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIKY_YOKSI);
		db_CH_T_PRC_TAIOKRK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_T_PRC_TAIOKRK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		//初めに請求DBに対する処理（
		
		
		String seikyNo = inMap.getString(JBSbatCHIFM334.SEIKY_NO);
		String seikyKeiNo = inMap.getString(JBSbatCHIFM334.SEIKY_KEI_NO);
		

		executeCH_T_SEIKY_CH_SELECT_050(new Object[]{seikyNo});
		JBSbatCommonDBInterface retSeiky = db_CH_T_SEIKY.selectNext();
		
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		// 督促抑止フラグ（ファイル出力用）
		String tokusokuYoksiFlg = TOKUSOKU_YOKSI_FLG_MK;
		
		//レコードが取得できれば、更新対象
		if(null != retSeiky) {
			//DB更新
			updateSeiky(seikyNo);
			// 料金対応記録の登録
			insertPrcTaioKrk(seikyKeiNo, JACStrConst.TKRK_SBTD_SKIP_KAKUGETSU_SEIKY);
		}else{
			//請求DBに更新対象がない場合は、異常系のため処理を終了
			return null;
		}
		
		
		boolean  tkskFlg = false;
		executeKK_T_SEIKY_YOKSI_CH_SELECT_011(new Object[]{seikyKeiNo});
		JBSbatCommonDBInterface retSeikyYoksi = db_KK_T_SEIKY_YOKSI.selectNext();

		//レコードが存在しない場合、DB登録処理
		if(null == retSeikyYoksi) {
			tkskFlg = true;
			// DB登録処理
			// 督促抑止
			insertDB(seikyKeiNo, JACStrConst.SEIKY_YOKSI_CD_TKSK, JACStrConst.TKRK_SBTD_YKSI_TOKUSOKU);
			// 翌月解除するため、督促抑止フラグをON
			tokusokuYoksiFlg = TOKUSOKU_YOKSI_FLG_YK;
		}

		// 請求抑止登録・更新処理
		while(!tkskFlg) {
			// 未存在チェック(無効フラグ"1")
			if(JACStrConst.MK_FLG_YK.equals(retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.MK_FLG))) {
				// 存在チェック(請求抑止フラグ"0")
				if(JACStrConst.YOKSI_FLG_NASHI.equals(retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_FLG))) {

					// 督促抑止
					if(JACStrConst.SEIKY_YOKSI_CD_TKSK.equals(retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_CD))) {
						tkskFlg = true;

						updateSeikyYoksi(seikyKeiNo, JACStrConst.SEIKY_YOKSI_CD_TKSK, JACStrConst.TKRK_SBTD_YKSI_TOKUSOKU);
						// 翌月解除するため、督促抑止フラグをON
						tokusokuYoksiFlg = TOKUSOKU_YOKSI_FLG_YK;
					}
				// 存在しない場合は更新・ファイル出力を行わない。
				} else {

					if(JACStrConst.SEIKY_YOKSI_CD_TKSK.equals(retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_CD))) {
						tkskFlg = true;
					}
				}
			}
			// 存在する場合はメッセージ出力し、更新・ファイル出力を行わない。
			else {
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECHB0400CW,
						new String[] {JBSbatKK_T_SEIKY_YOKSI.TABLE_NAME,
						JBSbatKK_T_SEIKY_YOKSI.SEIKY_KEI_NO + "," + JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_CD + ":"
						+ seikyKeiNo + "," + retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_CD),
						"処理対象外のため処理をスキップしました。"});

				if(JACStrConst.SEIKY_YOKSI_CD_TKSK.equals(retSeikyYoksi.getValue(JBSbatKK_T_SEIKY_YOKSI.SEIKY_YOKSI_CD))) {
					tkskFlg = true;
				}
			}

			retSeikyYoksi = db_KK_T_SEIKY_YOKSI.selectNext();

		}
		
		//ファイル出力処理（★追加）ここから
		// ファイル出力処理（督促抑止登録実績情報）
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		outmap = outPutFile(seikyNo, seikyKeiNo, JACStrConst.SEIKY_YOKSI_CD_TKSK, tokusokuYoksiFlg);
		outputBean.addOutMapList(outmap);

		
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 請求抑止、料金対応記録に登録します
	 * @param seikyKeiNo 請求契約番号
	 * @param seikyYoksiCd 請求抑止コード
	 * @param tkrkSbtd 料金対応記録種別詳細コード
	 */
	private void insertDB(String seikyKeiNo, String seikyYoksiCd, String tkrkSbtd) throws Exception {

		// 設定値(請求抑止)
		JBSbatCommonDBInterface setParam = new JBSbatCommonDBInterface();

		// 請求契約番号
		setParam.setValue(seikyKeiNo);

		// 請求抑止コード
		setParam.setValue(seikyYoksiCd);

		// 請求抑止フラグ
		setParam.setValue(SEIKY_YOKSI_FLG_YK);

		// 請求抑止年月日
		setParam.setValue(super.opeDate);
		
		// 請求抑止解除年月日
		setParam.setValue(null);
		
		// 請求抑止解除予定年月日
		setParam.setValue(null);
		
		// 登録実行（PK全項目登録）
		executeKK_T_SEIKY_YOKSI_PKINSERT(setParam.getList().toArray());
		
		// 料金対応記録の登録
		insertPrcTaioKrk(seikyKeiNo, tkrkSbtd);

	}

	/**
	 * 料金対応記録に登録します
	 * @param seikyKeiNo 請求契約番号
	 * @param tkrkSbtd 料金対応記録種別詳細コード
	 * @return JBSbatServiceInterfaceMap
	 */
	private void insertPrcTaioKrk(String seikyKeiNo, String tkrkSbtd) throws Exception {
		// 設定値
		String[] setParam = new String[]{
				JKKBatCommon.getFormatedNextSeq(commonItem, "SEQ_PRC_TAIO_KIROK_NO", "", 12),	// 料金対応記録番号
				batchUserId,																	// 料金対応ユーザID
				seikyKeiNo,																		// 請求契約番号
				JBSbatDateUtil.getSystemDateTimeStamp(),										// 対応年月日時分秒
				JACStrConst.TKRK_SBT_KAKUGETSU_SEIKY_UPD_BATCH,									// 料金対応記録種別コード
				tkrkSbtd,																		// 料金対応記録種別詳細コード
				"",																				// タイトル
				"スキップ（隔月請求）",															// 記事
				"",																				// 変更前コード種別コード
				"",																				// 変更前コード区分
				"",																				// 変更後コード種別コード
				"",																				// 変更後コード区分
				"",																				// 変更前料金グループコード
				"",																				// 変更前料金コースコード
				"",																				// 変更前料金サービスコード
				"",																				// 変更前料金項目コード
				"",																				// 変更後料金グループコード
				"",																				// 変更後料金コースコード
				"",																				// 変更後料金サービスコード
				"",																				// 変更後料金項目コード
				"",																				// 変更前年月日
				"",																				// 変更後年月日
				"",																				// 変更前金額
				"",																				// 変更後金額
				"",																				// 記録対象年月
				JACStrConst.TAIORRKI_RENDO_TG_FLG_HIHYOJI,										// 対応履歴連動対象フラグ
				"",																				// 対応記録番号
				"",																				// サービス契約番号
				"",																				// 督促番号
				"",																				// 督促異動番号
				"",																				// 請求番号
				"",																				// 金庫番号
				"",																				// 債権番号
				"",																				// 入金番号
				""																				// 電子ファイル管理番号
		};
		executeCH_T_PRC_TAIOKRK_PKINSERT(setParam);
	}

	
	/**
	 * 請求を更新します(2:スキップ対象月）
	 * @param seikyNo 請求番号
	 */
	private void updateSeiky(String seikyNo) throws Exception {
		// 設定値
		JBSbatCommonDBInterface setParam = new JBSbatCommonDBInterface();

		// 隔月請求スキップフラグ
		setParam.setValue(JACStrConst.KAKGT_SEIKY_SKIP_FLG_SKIP_M);
		
		// 条件値
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();

		// 請求番号
		whereParam.setValue(seikyNo);

		// 更新実行（PK更新）
		executeCH_T_SEIKY_PKUPDATE(setParam.getList().toArray(), whereParam.getList().toArray());

}
	
	
	/**
	 * 請求抑止を更新します
	 * @param seikyKeiNo 請求契約番号
	 * @param seikyYoksiCd 請求抑止コード
	 * @param tkrkSbtd 料金対応記録種別コード
	 */
	private void updateSeikyYoksi(String seikyKeiNo, String seikyYoksiCd, String tkrkSbtd) throws Exception {
		// 設定値
		JBSbatCommonDBInterface setParam = new JBSbatCommonDBInterface();

		// 請求抑止フラグ
		setParam.setValue(SEIKY_YOKSI_FLG_YK);

		// 請求抑止年月日
		setParam.setValue(super.opeDate);
		
		// 請求抑止解除年月日
		setParam.setValue(null);
		
		// 請求抑止解除予定年月日
		setParam.setValue(null);
		
		// 条件値
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();

		// 請求契約番号
		whereParam.setValue(seikyKeiNo);

		// 請求抑止コード
		whereParam.setValue(seikyYoksiCd);

		// 更新実行（PK更新）
		executeKK_T_SEIKY_YOKSI_PKUPDATE(setParam.getList().toArray(), whereParam.getList().toArray());

		// 料金対応記録の登録
		insertPrcTaioKrk(seikyKeiNo, tkrkSbtd);
}

	/**
	 * ファイル出力項目を設定します
	 * @param seikyKeiNo 請求契約番号
	 * @param seikyYoksiCd 請求抑止コード
	 * @param tokusokuYoksiFlg 督促抑止フラグ
	 * @return JBSbatServiceInterfaceMap
	 */
	private JBSbatServiceInterfaceMap outPutFile(String seikyNo, String seikyKeiNo, String seikyYoksiCd, String tokusokuYoksiFlg) throws Exception {
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		
		outmap.setString(JBSbatCHIFM335.SEIKY_NO, seikyNo);
		outmap.setString(JBSbatCHIFM335.SEIKY_KEI_NO, seikyKeiNo);
		outmap.setString(JBSbatCHIFM335.SEIKY_YOKSI_CD, seikyYoksiCd);
		outmap.setString(JBSbatCHIFM335.TOKUSOKU_YOKSI_FLG, tokusokuYoksiFlg);
		
		outmap.setOutFlg(true);

		return outmap;
	}
	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CH_T_SEIKY.close();
		db_KK_T_SEIKY_YOKSI.close();
		db_KK_T_SEIKY_YOKSI2.close();
		db_CH_T_PRC_TAIOKRK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(CH_SELECT_050)で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_T_SEIKY_CH_SELECT_050(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CH_T_SEIKY.selectBySqlDefine(paramList, CH_T_SEIKY_CH_SELECT_050);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	隔月請求スキップフラグ		KAKGT_SEIKY_SKIP_FLG
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SEIKY_KEI_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_T_SEIKY_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("KAKGT_SEIKY_SKIP_FLG", setParam[0]);
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SEIKY_NO", whereParam[0]);

		// DBアクセスを実行します
		db_CH_T_SEIKY.updateByPrimaryKeys(whereMap, setMap);
	}
	

	/**
	 * SQLKEY(CH_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_SEIKY_YOKSI_CH_SELECT_011(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SEIKY_YOKSI.selectBySqlDefine(paramList, KK_T_SEIKY_YOKSI_CH_SELECT_011);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	請求抑止コード				SEIKY_YOKSI_CD
	 *		 	請求抑止フラグ				SEIKY_YOKSI_FLG
	 *		 	請求抑止年月日				SEIKY_YOKSI_YMD
	 *		 	請求抑止解除年月日				SEIKY_YOKSI_RLS_YMD
	 *		 	請求抑止解除予定年月日				SEIKY_YOKSI_RLS_RSV_YMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIKY_YOKSI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SEIKY_KEI_NO", setParam[0]);
		setMap.setValue("SEIKY_YOKSI_CD", setParam[1]);
		setMap.setValue("SEIKY_YOKSI_FLG", setParam[2]);
		setMap.setValue("SEIKY_YOKSI_YMD", setParam[3]);
		setMap.setValue("SEIKY_YOKSI_RLS_YMD", setParam[4]);
		setMap.setValue("SEIKY_YOKSI_RLS_RSV_YMD", setParam[5]);
	
		// DBアクセスを実行します
		db_KK_T_SEIKY_YOKSI2.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	請求抑止フラグ				SEIKY_YOKSI_FLG
	 *		 	請求抑止年月日				SEIKY_YOKSI_YMD
	 *		 	請求抑止解除年月日				SEIKY_YOKSI_RLS_YMD
	 *		 	請求抑止解除予定年月日				SEIKY_YOKSI_RLS_RSV_YMD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SEIKY_KEI_NO
	 *		 	SEIKY_YOKSI_CD
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIKY_YOKSI_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SEIKY_YOKSI_FLG", setParam[0]);
		setMap.setValue("SEIKY_YOKSI_YMD", setParam[1]);
		setMap.setValue("SEIKY_YOKSI_RLS_YMD", setParam[2]);
		setMap.setValue("SEIKY_YOKSI_RLS_RSV_YMD", setParam[3]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SEIKY_KEI_NO", whereParam[0]);
		whereMap.setValue("SEIKY_YOKSI_CD", whereParam[1]);

		// DBアクセスを実行します
		db_KK_T_SEIKY_YOKSI2.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	料金対応記録番号				PRC_TAIO_KIROK_NO
	 *		 	料金対応ユーザＩＤ				PRC_TAIO_USER_ID
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	対応年月日時分秒				TAIO_DTM
	 *		 	料金対応記録種別コード				PRC_TAIO_KIROK_SBT_CD
	 *		 	料金対応記録種別詳細コード				PRC_TAIO_KIROK_SBT_DTL_CD
	 *		 	タイトル				TITLE
	 *		 	記事				KIJI
	 *		 	変更前コード種別コード				CHG_BF_CD_SBT_CD
	 *		 	変更前コード区分				CHG_BF_CD_DIV
	 *		 	変更後コード種別コード				CHG_AF_CD_SBT_CD
	 *		 	変更後コード区分				CHG_AF_CD_DIV
	 *		 	変更前料金グループコード				CHG_BF_PRC_GRP_CD
	 *		 	変更前料金コースコード				CHG_BF_PCRS_CD
	 *		 	変更前料金サービスコード				CHG_BF_PRC_SVC_CD
	 *		 	変更前料金項目コード				CHG_BF_PRC_KMK_CD
	 *		 	変更後料金グループコード				CHG_AF_PRC_GRP_CD
	 *		 	変更後料金コースコード				CHG_AF_PCRS_CD
	 *		 	変更後料金サービスコード				CHG_AF_PRC_SVC_CD
	 *		 	変更後料金項目コード				CHG_AF_PRC_KMK_CD
	 *		 	変更前年月日				CHG_BF_YMD
	 *		 	変更後年月日				CHG_AF_YMD
	 *		 	変更前金額				CHG_BF_AMNT
	 *		 	変更後金額				CHG_AF_AMNT
	 *		 	記録対象年月				KIROK_TG_YM
	 *		 	対応履歴連動対象フラグ				TAIORRKI_RENDO_TG_FLG
	 *		 	対応記録番号				TAIO_KIROK_NO
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	督促番号				TOKUSOKU_NO
	 *		 	督促異動番号				TOKUSOKU_IDO_NO
	 *		 	請求番号				SEIKY_NO
	 *		 	金庫番号				KNK_NO
	 *		 	債権番号				SAIKEN_NO
	 *		 	入金番号				NYUKIN_NO
	 *		 	電子ファイル管理番号				EFILE_KANRI_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCH_T_PRC_TAIOKRK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("PRC_TAIO_KIROK_NO", setParam[0]);
		setMap.setValue("PRC_TAIO_USER_ID", setParam[1]);
		setMap.setValue("SEIKY_KEI_NO", setParam[2]);
		setMap.setValue("TAIO_DTM", setParam[3]);
		setMap.setValue("PRC_TAIO_KIROK_SBT_CD", setParam[4]);
		setMap.setValue("PRC_TAIO_KIROK_SBT_DTL_CD", setParam[5]);
		setMap.setValue("TITLE", setParam[6]);
		setMap.setValue("KIJI", setParam[7]);
		setMap.setValue("CHG_BF_CD_SBT_CD", setParam[8]);
		setMap.setValue("CHG_BF_CD_DIV", setParam[9]);
		setMap.setValue("CHG_AF_CD_SBT_CD", setParam[10]);
		setMap.setValue("CHG_AF_CD_DIV", setParam[11]);
		setMap.setValue("CHG_BF_PRC_GRP_CD", setParam[12]);
		setMap.setValue("CHG_BF_PCRS_CD", setParam[13]);
		setMap.setValue("CHG_BF_PRC_SVC_CD", setParam[14]);
		setMap.setValue("CHG_BF_PRC_KMK_CD", setParam[15]);
		setMap.setValue("CHG_AF_PRC_GRP_CD", setParam[16]);
		setMap.setValue("CHG_AF_PCRS_CD", setParam[17]);
		setMap.setValue("CHG_AF_PRC_SVC_CD", setParam[18]);
		setMap.setValue("CHG_AF_PRC_KMK_CD", setParam[19]);
		setMap.setValue("CHG_BF_YMD", setParam[20]);
		setMap.setValue("CHG_AF_YMD", setParam[21]);
		setMap.setValue("CHG_BF_AMNT", setParam[22]);
		setMap.setValue("CHG_AF_AMNT", setParam[23]);
		setMap.setValue("KIROK_TG_YM", setParam[24]);
		setMap.setValue("TAIORRKI_RENDO_TG_FLG", setParam[25]);
		setMap.setValue("TAIO_KIROK_NO", setParam[26]);
		setMap.setValue("SVC_KEI_NO", setParam[27]);
		setMap.setValue("TOKUSOKU_NO", setParam[28]);
		setMap.setValue("TOKUSOKU_IDO_NO", setParam[29]);
		setMap.setValue("SEIKY_NO", setParam[30]);
		setMap.setValue("KNK_NO", setParam[31]);
		setMap.setValue("SAIKEN_NO", setParam[32]);
		setMap.setValue("NYUKIN_NO", setParam[33]);
		setMap.setValue("EFILE_KANRI_NO", setParam[34]);
	
		// DBアクセスを実行します
		db_CH_T_PRC_TAIOKRK.insertByPrimaryKeys(setMap);
	}
	
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
