/*********************************************************************
*  All Rights reserved,Copyright (c) Fujitsu ,2011					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatACNHKWtchegIfFileStku
*	ソースファイル名	：JBSbatACNHKWtchegIfFileStku.java
*	作成者				：富士通　
*	作成日				：2011年06月29日
*＜機能概要＞
*　ＮＨＫ視聴課金情報ファイル取得部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/29   富士通		新規作成
*   v1.00.05    2011/07/27   富士通     料金スケジュール定義の取得結果判定修正
*   v1.00.06    2011/07/27   富士通     ディレイド処理依頼の取得結果判定追加
*   v4.00.00	2013/04/16   FJ) 小柴  【ST6-2013-0000030】ディレイド処理依頼テーブルから値を取得できなかった場合に、エラーではなく処理を終了するように修正
*	v5.00.00	2013/10/15   FJ)前田	【OM-2013-0001120】ディレイド二重起動防止対応
*	v12.00.00	2014/10/02   FJ)岡田	【ANK-2248-00-00】NHK団体一括契約の受付拡充
*	v12.00.01	2014/11/10   FJ)鈴木	【IT2-2014-0000322】請求年月を取得するとき「料金計算日」を使うように修正
*********************************************************************/
package eo.business.service;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatInterface;
import eo.business.common.JCCBatCommon;
import eo.business.common.JCCbatShoriIraiUtil;
import eo.business.util.table.JBSbatCC_T_DLYD_TRN_REQ;
import eo.business.util.table.JBSbatCH_M_PRC_SCHDL_TEIGI;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
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;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatACNHKWtchegIfFileStku extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(料金スケジュール定義)*/
	private static final String D_TBL_NAME_CH_M_PRC_SCHDL_TEIGI = "CH_M_PRC_SCHDL_TEIGI";

	/** テーブル(ＮＨＫ視聴課金処理状況)*/
	private static final String D_TBL_NAME_AC_T_NHK_WTCHCRG_TJK = "AC_T_NHK_WTCHCRG_TJK";

	/** テーブル(ディレイド処理依頼)*/
	private static final String D_TBL_NAME_CC_T_DLYD_TRN_REQ = "CC_T_DLYD_TRN_REQ";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CH_M_PRC_SCHDL_TEIGI_AC_SELECT_001 = "AC_SELECT_001";

	/** SQL定義キー(AC_DELETE_001)*/
	private static final String AC_T_NHK_WTCHCRG_TJK_AC_DELETE_001 = "AC_DELETE_001";

	/** SQL定義キー(AC_SELECT_001)*/
	private static final String CC_T_DLYD_TRN_REQ_AC_SELECT_001 = "AC_SELECT_001";

	/** テーブルアクセスクラス(料金スケジュール定義)*/
	private JBSbatSQLAccess db_CH_M_PRC_SCHDL_TEIGI = null;

	/** テーブルアクセスクラス(ＮＨＫ視聴課金処理状況)*/
	private JBSbatSQLAccess db_AC_T_NHK_WTCHCRG_TJK = null;

	/** テーブルアクセスクラス(ディレイド処理依頼)*/
	private JBSbatSQLAccess db_CC_T_DLYD_TRN_REQ = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	/** 請求年月 */
	private String seikyYm = "";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CH_M_PRC_SCHDL_TEIGI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CH_M_PRC_SCHDL_TEIGI);
		db_AC_T_NHK_WTCHCRG_TJK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_AC_T_NHK_WTCHCRG_TJK);
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		super.logPrint.printDebugLog("onlineOpeDate：" + super.onlineOpeDate);
		// 料金スケジュール定義より料金スケジュール管理年月(請求年月)を取得
// 2014.11.10 IT2-2014-0000322 mod start
		// イベントコード（料金計算日）を使うように修正。
//		executeCH_M_PRC_SCHDL_TEIGI_AC_SELECT_001(new Object[] {JACStrConst.EVENT_CD_SIKY_TRN_DAY, super.onlineOpeDate});
		executeCH_M_PRC_SCHDL_TEIGI_AC_SELECT_001(new Object[] {JACStrConst.EVENT_CD_PRC_CALC_DAY, super.onlineOpeDate});
// 2014.11.10 IT2-2014-0000322 mod end
		JBSbatCommonDBInterface record = db_CH_M_PRC_SCHDL_TEIGI.selectNext();
// 2011.07.27 Update Start
		//if(record != null)
		if(record.getString(JBSbatCH_M_PRC_SCHDL_TEIGI.SEIKY_YM) != null)
// 2011.07.27 Update End
		{
			seikyYm = record.getString(JBSbatCH_M_PRC_SCHDL_TEIGI.SEIKY_YM);
			super.logPrint.printDebugLog("seikyYm：" + seikyYm);
		}
		else
		{
			// 料金スケジュール管理テーブルから取得できない場合はエラーとする
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EACB0440CE, new String[] { JBSbatCH_M_PRC_SCHDL_TEIGI.TABLE_NAME });
		}
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		// 変数宣言
		String nhkSeqNo = "";
		String shoriIraiNo = "";
		String denshiKanriNo = "";
		String opeacntId = "";
		boolean succesFlg = false;
// 2011.07.27 Add Start
		boolean selectErrFlg = false;
// 2011.07.27 Add End
		Object[] setParam = null;
		List<HashMap<String, Object>> infoNhkList = new ArrayList<HashMap<String, Object>>();
		FileOutputStream fStream = null;
		BufferedOutputStream bStream = null;
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		
		try
		{
			/** (1) NHK視聴課金情報ファイル取得 */
			// 電子ファイル(NHK視聴課金情報ファイル)を取得
			infoNhkList = JCCbatShoriIraiUtil.getShoriIraiInfo(commonItem, this.jobid);
// 2011.07.27 Add Start
			// 電子ファイルが取得できなかった場合
			if (infoNhkList != null)
			{
				/** (2) NHK視聴課金情報ファイル作成 */
				// NHK視聴課金情報ファイルの1件を取得
				resultMap = (HashMap) infoNhkList.get(0);
				
				// 各情報を取得
				nhkSeqNo = JCCBatCommon.getFormatedNextSeq(commonItem, JACStrConst.SEQ_NHK_WTCHCRG_TJK_NO, "", 20);
				denshiKanriNo = (String)resultMap.get("INPUT_EFILE_KANRI_NO");	// 電子ファイル管理番号
				shoriIraiNo = (String)resultMap.get("DLYD_TRN_REQ_NO");		// ディレイド処理依頼番号
				
				// NHK視聴課金取込ユーザーIDの取得
				executeCC_T_DLYD_TRN_REQ_AC_SELECT_001(new Object[] {shoriIraiNo, super.onlineOpeDate});
				JBSbatCommonDBInterface record = db_CC_T_DLYD_TRN_REQ.selectNext();
				if(record != null)
				{
					opeacntId = record.getString(JBSbatCC_T_DLYD_TRN_REQ.ADD_OPEACNT);
				}
				else
				{
					selectErrFlg = true;
					
				}				
			}
			else
			{
				selectErrFlg = true;
				
			}
			
			// 上記処理でエラーが発生した場合
			if (selectErrFlg)
			{
				// ディレイド処理依頼から取得できない場合は処理を終了する
				return null;
			}
// 2011.07.27 Add End
			
			// ファイル出力実施
			String fileName = this.freeItem;
			byte[] eBinaryFile = (byte[])resultMap.get("INPUT_EFILE");	// 入力電子ファイル
			if (eBinaryFile != null)
			{
				fStream = new FileOutputStream(fileName);
				bStream = new BufferedOutputStream(fStream);
				bStream.write(eBinaryFile);
			}
			
			// 処理成功フラグの設定
			succesFlg = true;
			
			/** (3)NHK視聴課金処理状況登録 */
			// NHK視聴課金処理状況登録へのパラメータ設定
			setParam = new Object[] {
					nhkSeqNo,
					denshiKanriNo,
					shoriIraiNo,
					seikyYm,
					JBSbatInterface.getSystemDateTimeStamp(),
					0,
					JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_CHU,
					null,
					// ANK-2248-00-00 MOD START
					//opeacntId};
					opeacntId,
					0,
					0};
					// ANK-2248-00-00 MOD END
			
			nhkDeleteInsert(setParam);
			
		}
		catch (Exception e)
		{
			if (succesFlg == false)
			{
				// ロールバック実行
				this.commonItem.getConnection().rollback();
				
				// ディレイド処理依頼への更新
				JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, JACStrConst.DLYD_TRN_RSLT_CD_WORK_ERR, null);
				
				// NHK視聴課金処理状況登録実施
				setParam = new Object[] {
						nhkSeqNo,
						denshiKanriNo,
						shoriIraiNo,
						seikyYm,
						JBSbatInterface.getSystemDateTimeStamp(),
						0,
						JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR,
						null,
						// ANK-2248-00-00 MOD START
						//opeacntId};
						opeacntId,
						0,
						0};
						// ANK-2248-00-00 MOD END

				// NHK視聴課金処理状況登録実施
				nhkDeleteInsert(setParam);
				
				// コミット実行
				this.commonItem.getConnection().commit();
				
			}
			else
			{
				// ロールバック実行
				this.commonItem.getConnection().rollback();
				
				// ディレイド処理依頼への更新
				JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, JACStrConst.DLYD_TRN_RSLT_CD_SYS_ERR , null);
				
				// NHK視聴課金処理状況登録実施
				setParam = new Object[] {
						nhkSeqNo,
						denshiKanriNo,
						shoriIraiNo,
						seikyYm,
						JBSbatInterface.getSystemDateTimeStamp(),
						0,
						JACStrConst.AC_T_NHK_WTCHCRG_TJK_TRKM_ERR,
						null,
						// ANK-2248-00-00 MOD START
						//opeacntId};
						opeacntId,
						0,
						0};
						// ANK-2248-00-00 MOD END

				// NHK視聴課金処理状況登録実施
				nhkDeleteInsert(setParam);
				
				// コミット実行
				this.commonItem.getConnection().commit();
			}
			
			throw e;
			
		}
		finally
		{
			if (bStream != null)
			{
				bStream.close();
				
			}
		}
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CH_M_PRC_SCHDL_TEIGI.close();
		db_AC_T_NHK_WTCHCRG_TJK.close();
		db_CC_T_DLYD_TRN_REQ.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * 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_SCHDL_TEIGI_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CH_M_PRC_SCHDL_TEIGI.selectBySqlDefine(paramList, CH_M_PRC_SCHDL_TEIGI_AC_SELECT_001);
	}

	/**
	 * SQLKEY(AC_DELETE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_CHRG_JOKYO_AC_DELETE_001() throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_TJK.executeBySqlDefine(paramList, AC_T_NHK_WTCHCRG_TJK_AC_DELETE_001);
	}

	// ANK-2248-00-00 MOD START
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ＮＨＫ視聴課金処理番号				NHK_WATCH_CHRG_TRN_CD
	 *		 	電子ファイル管理番号				EFILE_KANRI_NO
	 *		 	ディレイド処理依頼番号				DLYD_TRN_REQ_NO
	 *		 	請求年月				SEIKY_YM
	 *		 	ファイル取込年月日時分秒				FILE_TRKM_DTM
	 *		 	データ取込件数				DATA_TRKM_CNT
	 *		 	ＮＨＫ視聴課金処理コード				NHK_WATCH_CHRG_TRN_CD
	 *		 	外部料金ファイル作成年月日時分秒				OUT_PRC_FILE_SAKSEI_DTM
	 *		 	ＮＨＫ視聴課金取込ユーザＩＤ				NHK_WTCHCRG_TRKM_USER_ID
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
/*	private void executeAC_T_NHK_CHRG_JOKYO_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("NHK_WTCHCRG_TJK_NO", setParam[0]);
		setMap.setValue("EFILE_KANRI_NO", setParam[1]);
		setMap.setValue("DLYD_TRN_REQ_NO", setParam[2]);
		setMap.setValue("SEIKY_YM", setParam[3]);
		setMap.setValue("FILE_TRKM_DTM", setParam[4]);
		setMap.setValue("DATA_TRKM_CNT", setParam[5]);
		setMap.setValue("NHK_WATCH_CHRG_TRN_CD", setParam[6]);
		setMap.setValue("OUT_PRC_FILE_SAKSEI_DTM", setParam[7]);
		setMap.setValue("NHK_WTCHCRG_TRKM_USER_ID", setParam[8]);

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_TJK.insertByPrimaryKeys(setMap);
	}
*/	
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	ＮＨＫ視聴課金処理番号				NHK_WATCH_CHRG_TRN_CD
	 *		 	電子ファイル管理番号				EFILE_KANRI_NO
	 *		 	ディレイド処理依頼番号				DLYD_TRN_REQ_NO
	 *		 	請求年月				SEIKY_YM
	 *		 	ファイル取込年月日時分秒				FILE_TRKM_DTM
	 *		 	データ取込件数				DATA_TRKM_CNT
	 *		 	ＮＨＫ視聴課金処理コード				NHK_WATCH_CHRG_TRN_CD
	 *		 	外部料金ファイル作成年月日時分秒				OUT_PRC_FILE_SAKSEI_DTM
	 *		 	ＮＨＫ視聴課金取込ユーザＩＤ				NHK_WTCHCRG_TRKM_USER_ID
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	課金対象件数				CHRG_TG_CNT
	 *		 	課金合計金額				CHRG_AMNT_GK
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeAC_T_NHK_CHRG_JOKYO_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("NHK_WTCHCRG_TJK_NO", setParam[0]);
		setMap.setValue("EFILE_KANRI_NO", setParam[1]);
		setMap.setValue("DLYD_TRN_REQ_NO", setParam[2]);
		setMap.setValue("SEIKY_YM", setParam[3]);
		setMap.setValue("FILE_TRKM_DTM", setParam[4]);
		setMap.setValue("DATA_TRKM_CNT", setParam[5]);
		setMap.setValue("NHK_WATCH_CHRG_TRN_CD", setParam[6]);
		setMap.setValue("OUT_PRC_FILE_SAKSEI_DTM", setParam[7]);
		setMap.setValue("NHK_WTCHCRG_TRKM_USER_ID", setParam[8]);
		setMap.setValue("CHRG_TG_CNT", setParam[9]);
		setMap.setValue("CHRG_AMNT_GK", setParam[10]);

		// DBアクセスを実行します
		db_AC_T_NHK_WTCHCRG_TJK.insertByPrimaryKeys(setMap);
	}
	// ANK-2248-00-00 MOD END
	
	/**
	 * 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 executeCC_T_DLYD_TRN_REQ_AC_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CC_T_DLYD_TRN_REQ.selectBySqlDefine(paramList, CC_T_DLYD_TRN_REQ_AC_SELECT_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * NHK視聴課金処理状況へのDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param NHK視聴課金処理状況の登録を行うためのバイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void nhkDeleteInsert(Object[] param) throws Exception
	{
		// (a) NHK視聴課金処理状況削除実施
		executeAC_T_NHK_CHRG_JOKYO_AC_DELETE_001();
		
		// (b) NHK視聴課金処理状況登録実施
		executeAC_T_NHK_CHRG_JOKYO_PKINSERT(param);
	}
}
