/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKDisDelInfCht
*	ソースファイル名	：JBSbatKKDisDelInfCht.java
*	作成者				：富士通　
*	作成日				：2012年09月19日
*＜機能概要＞
*　削除不可情報抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/09/19   富士通		新規作成
*********************************************************************/
package eo.business.service;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKKBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM290;
import eo.business.util.table.JBSbatKK_T_KJNIFDEL_JDG_WK;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.util.JBSbatCheckUtil;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKDisDelInfCht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(個人情報削除判定ワーク)*/
	private static final String D_TBL_NAME_KK_T_KJNIFDEL_JDG_WK = "KK_T_KJNIFDEL_JDG_WK";

	/** テーブルアクセスクラス(個人情報削除判定ワーク)*/
	private JBSbatSQLAccess db_KK_T_KJNIFDEL_JDG_WK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** 課金開始後削除対象外期間*/
	private static final String CHRG_AF_DEL_PRD = "KK_CHRG_AF_DEL_PRD";
	
	/** 課金開始前解約削除対象外期間*/
	private static final String CHRG_BF_DEL_PRD = "KK_CHRG_BF_DSL_PRD";
	
	/** 課金開始前キャンセル削除対象外期間*/
	private static final String CHRG_BF_CNCL_PRD = "KK_CHRG_BF_CNCL_PRD" ;

	/** 文字コード */
	private static final String SJIS  = JKKBatConst.SJIS;

	/** 改行コード */
	private static final String CRLF  = "CR+LF";
	
	/** 無効フラグ(有効)*/
	private static final String MK_FLG = "0";

	/** 読込件数 */
	private int intSelectCnt = 0;
	
	/** 更新件数 */
	private int intInsertCnt = 0;

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_KJNIFDEL_JDG_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KJNIFDEL_JDG_WK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		createHznKkn(super.freeItem);
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");
		
		//DB読込件数カウントアップ
		intSelectCnt++;
		
		// 出力共通電文を生成する
		JBSbatOutputItem out_item = new JBSbatOutputItem();
		
		// 個人情報削除判定ワークへデータを登録する
		insKjnIfDelJdgWk(inMap);
		
		//削除対象外ファイルを作成する
		createDisDeldataFile(inMap,out_item);
		
		super.logPrint.printDebugLog("execute_END");
		return out_item;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/

		//DB読込件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0770AI", new String[]{"個人情報削除", Integer.toString(intSelectCnt)});
		//DB登録件数ログ出力
		super.logPrint.printBusinessErrorLog("EKKB0790AI", new String[]{"個人情報削除判定ワーク", Integer.toString(intInsertCnt)});
		
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_KJNIFDEL_JDG_WK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	請求契約番号				SEIKY_KEI_NO
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	サービスコード				SVC_CD
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	新規申込時申込書番号				NEW_MSKM_JI_MSKMSHO_NO
	 *		 	ＩＳＰ認証ＩＤ				ISP_NINSHO_ID
	 *		 	サービス解約起算年月日				SVC_DSL_KISAN_YMD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	削除処理対象抽出年月日				DEL_TRN_TG_CHSHT_YMD
	 *		 	個人情報削除理由コード				KOJIN_INFO_DEL_RSN_CD
	 *		 	削除判定コード				DEL_JDG_CD
	 *		 	契約最終更新年月日時分秒				KEI_LAST_UPD_DTM
	 *		 	カレントデータ識別コード				CRNT_DATA_SKBT_CD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KJNIFDEL_JDG_WK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SVC_KEI_NO", setParam[0]);
		setMap.setValue("SEIKY_KEI_NO", setParam[1]);
		setMap.setValue("SYSID", setParam[2]);
		setMap.setValue("SVC_CD", setParam[3]);
		setMap.setValue("PRC_GRP_CD", setParam[4]);
		setMap.setValue("PCRS_CD", setParam[5]);
		setMap.setValue("NEW_MSKM_JI_MSKMSHO_NO", setParam[6]);
		setMap.setValue("ISP_NINSHO_ID", setParam[7]);
		setMap.setValue("SVC_DSL_KISAN_YMD", setParam[8]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[9]);
		setMap.setValue("SVC_DSL_YMD", setParam[10]);
		setMap.setValue("SVC_ENDYMD", setParam[11]);
		setMap.setValue("DEL_TRN_TG_CHSHT_YMD", setParam[12]);
		setMap.setValue("KOJIN_INFO_DEL_RSN_CD", setParam[13]);
		setMap.setValue("DEL_JDG_CD", setParam[14]);
		setMap.setValue("KEI_LAST_UPD_DTM", setParam[15]);
		setMap.setValue("CRNT_DATA_SKBT_CD", setParam[16]);
		setMap.setValue("ADD_DTM", setParam[17]);
		setMap.setValue("ADD_OPEACNT", setParam[18]);
		setMap.setValue("UPD_DTM", setParam[19]);
		setMap.setValue("UPD_OPEACNT", setParam[20]);
		setMap.setValue("DEL_DTM", setParam[21]);
		setMap.setValue("DEL_OPEACNT", setParam[22]);
		setMap.setValue("MK_FLG", setParam[23]);
		setMap.setValue("ADD_UNYO_YMD", setParam[24]);
		setMap.setValue("ADD_TRN_ID", setParam[25]);
		setMap.setValue("UPD_UNYO_YMD", setParam[26]);
		setMap.setValue("UPD_TRN_ID", setParam[27]);
		setMap.setValue("DEL_UNYO_YMD", setParam[28]);
		setMap.setValue("DEL_TRN_ID", setParam[29]);
	
		// DBアクセスを実行します
		db_KK_T_KJNIFDEL_JDG_WK.insertByPrimaryKeys(setMap);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 保存期間設定ファイル作成
	 * 
	 * <p>
	 * @param inMap 個人情報削除より取得したデータ
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void createHznKkn(String filePath) throws Exception
	{
		
		JBSbatCommonDBInterface dbmap = new JBSbatCommonDBInterface();
		
		String compYear = null;
		String compMon = null;
		String compDay = null;
		
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		
		// 期間取得用
		String[] param = new String[3];
		
		// 課金開始後削除対象外期間
		String afDel = null;
		// 課金開始前削除対象外期間
		String bfDel = null;
		// 課金開始前キャンセル削除対象外期間
		String bfcncl = null;
		// 削除対象期間経過情報
		String strChrgAfDelPrd;
		String strChrgBfDelPrd;
		String strChrgBfCnclPrd;
		
		// 日付を設定
		compYear = super.opeDate.substring(0, 4);
		compMon = super.opeDate.substring(4, 6);
		compDay = super.opeDate.substring(6, 8);
		
		cal.set(Calendar.YEAR, Integer.parseInt(compYear));
		cal.set(Calendar.MONTH, Integer.parseInt(compMon) - 1);
		cal.set(Calendar.DATE, Integer.parseInt(compDay));
		
		// 課金開始後削除対象外期間取得
		// 業務パラメータID
		param[0] = CHRG_AF_DEL_PRD;
		// 業務パラメータ適用開始年月日
		param[1] = super.opeDate;
		// 業務パラメータ適用終了年月日
		param[2] = super.opeDate;
		
		// 業務パラメータよりデータを取得する
		afDel = JKKBatCommon.getWorkParamSetteValue(super.commonItem, CHRG_AF_DEL_PRD);
		if (afDel != null)
		{
			// カレンダーを文字列に変換
			strChrgAfDelPrd = sdf.format(createDelOverTerm(cal, afDel).getTime());
			super.logPrint.printDebugLog("課金開始後削除対象外期間=" + strChrgAfDelPrd);
		}
		else
		{
			throw new JBSbatBusinessException("EKKB0740CE", new String[]{"業務パラメータ", "課金開始後削除対象外期間"});
		}
		
		// 課金開始前解約削除対象外期間
		cal.clear();
		cal.set(Calendar.YEAR, Integer.parseInt(compYear));
		cal.set(Calendar.MONTH, Integer.parseInt(compMon) - 1);
		cal.set(Calendar.DATE, Integer.parseInt(compDay));
		
		param[0] = CHRG_BF_DEL_PRD;
		
		// 業務パラメータよりデータを取得する
		bfDel = JKKBatCommon.getWorkParamSetteValue(super.commonItem, CHRG_BF_DEL_PRD);
		if (bfDel != null)
		{
			// カレンダーを文字列に変換
			strChrgBfDelPrd = sdf.format(createDelOverTerm(cal, bfDel).getTime());
			super.logPrint.printDebugLog("課金開始前解約削除対象外期間=" + strChrgBfDelPrd);
		}
		else
		{
			throw new JBSbatBusinessException("EKKB0740CE", new String[]{"業務パラメータ", "課金開始前解約削除対象外期間"});
		}
		
		// 課金開始前キャンセル削除対象外期間
		cal.clear();
		cal.set(Calendar.YEAR, Integer.parseInt(compYear));
		cal.set(Calendar.MONTH, Integer.parseInt(compMon) - 1);
		cal.set(Calendar.DATE, Integer.parseInt(compDay));
		
		param[0] = CHRG_BF_CNCL_PRD;
		
		// 業務パラメータよりデータを取得する
		bfcncl = JKKBatCommon.getWorkParamSetteValue(super.commonItem, CHRG_BF_CNCL_PRD);
		if (dbmap != null)
		{
			// カレンダーを文字列に変換
			strChrgBfCnclPrd = sdf.format(createDelOverTerm(cal, bfcncl).getTime());
			super.logPrint.printDebugLog("課金開始前キャンセル削除対象外期間=" + strChrgBfCnclPrd);
		}
		else
		{
			throw new JBSbatBusinessException("EKKB0740CE", new String[]{"業務パラメータ", "課金開始前キャンセル削除対象外期間"});
		}
		
		
		
		JBSbatOutputFileUtil cntFile = new JBSbatOutputFileUtil(filePath);
		cntFile.setEncode(SJIS);
		cntFile.setLine(CRLF);
		cntFile.createWriter();
		StringBuffer sb = new StringBuffer();
		sb.append(String.valueOf(strChrgAfDelPrd));
		sb.append(String.valueOf(","));
		sb.append(String.valueOf(strChrgBfDelPrd));
		sb.append(String.valueOf(","));
		sb.append(String.valueOf(strChrgBfCnclPrd));
		cntFile.write(sb.toString());
		cntFile.close();
	}
	
	/**
	 * 削除対象期間情報作成処理 <br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * バッチ運用日をもとに期間算定を行う
	 * </pre>
	 * <p>
	 * @param cal バッチ運用日
	 * @param strTerm 保存期間
	 * @return 削除対象期間
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * 
	 */
	private Calendar createDelOverTerm(Calendar cal, String strTerm) throws Exception
	{
		Calendar calRtn = cal;
		int intMar = 2;
		int intEnd = 31;
		int intStart = 1;
		
		if(Integer.parseInt(strTerm.substring(0, 2)) >= 3)
		{
			//保存期間が3年以上の場合、年度単位で区切る
			
			// 処理年判定(年度処理)
			if (calRtn.get(Calendar.MONTH) < 3) 
			{
				// バッチ運用日が１月から３月の場合、課金後期間 + １年を差し引く
				calRtn.add(Calendar.YEAR, -(Integer.parseInt(strTerm.substring(0, 2)) + 1));
				calRtn.add(Calendar.MONTH, -(Integer.parseInt(strTerm.substring(2, 4))));
				
			}
			else 
			{
				
				// バッチ運用日が４月から１２月の場合、課金後期間を差し引く
				calRtn.add(Calendar.YEAR, -(Integer.parseInt(strTerm.substring(0, 2))));
				calRtn.add(Calendar.MONTH, -(Integer.parseInt(strTerm.substring(2, 4))));
				
			}
			
			// 年度末(3月31日)固定
			calRtn.set(Calendar.MONTH, intMar);
			calRtn.set(Calendar.DATE, intEnd);
		}
		else
		{
			//保存期間が3年未満の場合、月単位で区切る
			
			// 処理年判定(年度処理)
			// バッチ運用日から課金前キャンセル削除対象外期間を差し引く
			calRtn.add(Calendar.YEAR, -(Integer.parseInt(strTerm.substring(0, 2))));
			calRtn.add(Calendar.MONTH, -(Integer.parseInt(strTerm.substring(2, 4))));
			
			// 判定月の１日に固定
			calRtn.set(Calendar.DATE, intStart);
		}
		
		return calRtn;
	}
	
	/**
	 * 個人情報削除判定ワーク登録処理
	 * 
	 * <p>
	 * @param inMap 個人情報削除より取得したデータ
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void insKjnIfDelJdgWk(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		String[] param = new String[30];
		
		// サービス契約
		param[0] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_KEI_NO));
		// 請求契約番号
		param[1] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SEIKY_KEI_NO));
		// SYSID
		param[2] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SYSID));
		// サービスコード
		param[3] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_CD));
		// 料金グループコード
		param[4] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.PRC_GRP_CD));
		// 料金コースコード
		param[5] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.PCRS_CD));
		// 新規申込時申込書番号
		param[6] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.NEW_MSKM_JI_MSKMSHO_NO));
		// ISP認証ID
		param[7] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.ISP_NINSHO_ID));
		// サービス解約起算年月日
		param[8] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_DSL_KISAN_YMD));
		// サービスキャンセル年月日
		param[9] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_CANCEL_YMD));
		// サービス解約年月日
		param[10] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_DSL_YMD));
		// サービス終了年月日
		param[11] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_ENDYMD));
		// 削除処理対象抽出年月日
		param[12] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.DEL_TRN_TG_CHSHT_YMD));
		// 個人情報削除理由コード
		param[13] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.KOJIN_INFO_DEL_RSN_CD));
		// 削除判定コード
		param[14] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.DEL_JDG_CD));
		// 契約最終更新年月日時分秒
		param[15] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.KEI_LAST_UPD_DTM));
		// カレントデータ識別コード
		param[16] = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.CRNT_DATA_SKBT_CD));
		// 登録年月日時分秒
		param[17] = JBSbatDateUtil.getSystemDateTime();
		// 登録オペレータアカウント
		param[18] = super.batchUserId;
		// 更新年月日時分秒
		param[19] = JBSbatDateUtil.getSystemDateTime();
		// 更新オペレータアカウント
		param[20] = super.batchUserId;
		// 削除年月日時分秒
		param[21] = "";
		// 削除オペレータアカウント
		param[22] = "";
		// 無効フラグ
		param[23] = MK_FLG;
		// 登録運用年月日
		param[24] = super.opeDate;
		// 登録処理ID
		param[25] = super.jobid;
		// 更新運用年月日
		param[26] = super.opeDate;
		// 更新処理ID
		param[27] = super.jobid;
		// 削除運用年月日
		param[28] = "";
		// 削除処理ID
		param[29] = "";
		
		// 登録処理の実施。
		executeKK_T_KJNIFDEL_JDG_WK_PKINSERT(param);
		
	}
	
	/**
	 * 削除対象外ファイル作成
	 * 
	 * <p>
	 * @param inMap 個人情報削除より取得したデータ
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void createDisDeldataFile(JBSbatServiceInterfaceMap inMap,
			JBSbatOutputItem out_item) throws Exception
	{
		// 入出力インタフェースオブジェクトを生成
		JBSbatServiceInterfaceMap out_map = new JBSbatServiceInterfaceMap();
		
		out_map.setString(JBSbatKKIFM290.SVC_KEI_NO,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_KEI_NO));
		out_map.setString(JBSbatKKIFM290.SEIKY_KEI_NO,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SEIKY_KEI_NO));
		out_map.setString(JBSbatKKIFM290.SYSID,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SYSID));
		out_map.setString(JBSbatKKIFM290.SVC_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_CD));
		out_map.setString(JBSbatKKIFM290.PRC_GRP_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.PRC_GRP_CD));
		out_map.setString(JBSbatKKIFM290.PCRS_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.PCRS_CD));;
		out_map.setString(JBSbatKKIFM290.NEW_MSKM_JI_MSKMSHO_NO,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.NEW_MSKM_JI_MSKMSHO_NO));
		out_map.setString(JBSbatKKIFM290.ISP_NINSHO_ID,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.ISP_NINSHO_ID));
		out_map.setString(JBSbatKKIFM290.SVC_DSL_KISAN_YMD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_DSL_KISAN_YMD));
		out_map.setString(JBSbatKKIFM290.SVC_CANCEL_YMD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_CANCEL_YMD));
		out_map.setString(JBSbatKKIFM290.SVC_DSL_YMD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_DSL_YMD));
		out_map.setString(JBSbatKKIFM290.SVC_ENDYMD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.SVC_ENDYMD));
		out_map.setString(JBSbatKKIFM290.DEL_TRN_TG_CHSHT_YMD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.DEL_TRN_TG_CHSHT_YMD));
		out_map.setString(JBSbatKKIFM290.KOJIN_INFO_DEL_RSN_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.KOJIN_INFO_DEL_RSN_CD));
		out_map.setString(JBSbatKKIFM290.DEL_JDG_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.DEL_JDG_CD));
		out_map.setString(JBSbatKKIFM290.KEI_LAST_UPD_DTM,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.KEI_LAST_UPD_DTM));
		out_map.setString(JBSbatKKIFM290.CRNT_DATA_SKBT_CD,inMap.getString(JBSbatKK_T_KJNIFDEL_JDG_WK.CRNT_DATA_SKBT_CD));
		//出力フラグを設定
		out_map.setOutFlg(true);
		//出力共通電文に入出力インターフェースを設定する。
		out_item.addOutMapList(out_map);
	}
}
