/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatZETKrkUcwkDataMask
*	ソースファイル名	：JBSbatZETKrkUcwkDataMask.java
*	作成者				：富士通　
*	作成日				：2012年08月23日
*＜機能概要＞
*　対応記録内訳データマスク処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/08/23   富士通		新規作成
*	v4.00.01	2013/01/18   FJ)伊藤	【IT1-2013-0000083】マスク済データ格納用テーブル名変更
*	v6.00.00	2013/10/18   FJ)小林	【OM-2013-0003449】前回実行日を更新年月日の最大に変更
*********************************************************************/
package eo.business.service;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashSet;
import java.util.List;
import java.util.Map;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JZEBatCommon;
import eo.business.util.table.JBSbatCR_MV_TAIOKRK_UCWK;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.constant.JZEStrConst;
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;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatZETKrkUcwkDataMask extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(対応記録内訳)*/
	private static final String D_TBL_NAME_CR_MV_TAIOKRK_UCWK = "CR_MV_TAIOKRK_UCWK";

	/** テーブル(マスク設定)*/
	private static final String D_TBL_NAME_ZE_M_MASK_SETTE = "ZE_M_MASK_SETTE";

	/** テーブル(マスク条件)*/
	private static final String D_TBL_NAME_ZE_M_MASK_JKN = "ZE_M_MASK_JKN";

	/** テーブル(マスク処理実績)*/
	private static final String D_TBL_NAME_ZE_M_MASK_TRAN_JSK = "ZE_M_MASK_TRAN_JSK";

	/** テーブル(マスク済対応記録内訳)*/
	private static final String D_TBL_NAME_ZE_T_MSKZM_TIOKR_UW = "ZE_T_MSKZM_TIOKR_UW";

	/** SQL定義キー(ZE_SELECT_001)*/
	private static final String CR_MV_TAIOKRK_UCWK_ZE_SELECT_001 = "ZE_SELECT_001";

	/** SQL定義キー(ZE_SELECT_002)*/
	private static final String CR_MV_TAIOKRK_UCWK_ZE_SELECT_002 = "ZE_SELECT_002";

	/** SQL定義キー(ZE_SELECT_003)*/
	private static final String CR_MV_TAIOKRK_UCWK_ZE_SELECT_003 = "ZE_SELECT_003";

	/** SQL定義キー(ZE_SELECT_001)*/
	private static final String ZE_M_MASK_SETTE_ZE_SELECT_001 = "ZE_SELECT_001";

	/** SQL定義キー(ZE_SELECT_001)*/
	private static final String ZE_M_MASK_JKN_ZE_SELECT_001 = "ZE_SELECT_001";

	/** SQL定義キー(ZE_SELECT_01)*/
	private static final String ZE_M_MASK_TRAN_JSK_ZE_SELECT_01 = "ZE_SELECT_01";

	/** SQL定義キー(ZE_UPDATE_01)*/
	private static final String ZE_M_MASK_TRAN_JSK_ZE_UPDATE_01 = "ZE_UPDATE_01";

	/** SQL定義キー(ZE_INSERT_01)*/
	private static final String ZE_M_MASK_TRAN_JSK_ZE_INSERT_01 = "ZE_INSERT_01";

	/** SQL定義キー(ZE_DELETE_001)*/
	private static final String ZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001 = "ZE_DELETE_001";

	/** SQL定義キー(ZE_INSERT_001)*/
	private static final String ZE_T_MSKZM_TIOKR_UW_ZE_INSERT_001 = "ZE_INSERT_001";

	/** SQL定義キー(ZE_INSERT_002)*/
	private static final String ZE_T_MSKZM_TIOKR_UW_ZE_INSERT_002 = "ZE_INSERT_002";

	/** SQL定義キー(ZE_UPDATE_001)*/
	private static final String ZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_001 = "ZE_UPDATE_001";

	/** SQL定義キー(ZE_UPDATE_002)*/
	private static final String ZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_002 = "ZE_UPDATE_002";

	/** テーブルアクセスクラス(対応記録内訳)*/
	private JBSbatSQLAccess db_CR_MV_TAIOKRK_UCWK = null;

	/** テーブルアクセスクラス(マスク設定)*/
	private JBSbatSQLAccess db_ZE_M_MASK_SETTE = null;

	/** テーブルアクセスクラス(マスク条件)*/
	private JBSbatSQLAccess db_ZE_M_MASK_JKN = null;

	/** テーブルアクセスクラス(マスク処理実績)*/
	private JBSbatSQLAccess db_ZE_M_MASK_TRAN_JSK = null;

	/** テーブルアクセスクラス(マスク済対応記録内訳)*/
	private JBSbatSQLAccess db_ZE_T_MSKZM_TIOKR_UW = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/* ++++++++++ v4.0.0 追加開始 ++++++++++ */
	/** 定数定義 */
	/** SQL判別コード1 */
	private static final String INS_CD1  = "INS_CD1";

	/** SQL判別コード2 */
	private static final String INS_CD2  = "INS_CD2";

	/** SQL判別コード3 */
	private static final String UPD_CD1  = "UPD_CD1";

	/** SQL判別コード4 */
	private static final String UPD_CD2  = "UPD_CD2";

	/** SQL判別コード5 */
	private static final String DEL_CD  = "DEL_CD";

	/** 対応記録内訳テーブル名 */
	private static final String CR_TKK_UCWK_TBL_NM = "CR_T_TAIOKRK_UCWK";

	/* ++++++++++ v4.00.01 修正開始 ++++++++++ */
	/** 対応記録内訳テーブル名 */
	private static final String ZE_T_MSKZM_TIOKR_UW = "ZE_T_MSKZM_TIOKR_UW";
	/* ++++++++++ v4.00.01 修正終了 ++++++++++ */

	/** 当日日付YMD */
	private String toDateYMD = null;

	/** 当日日付DTM */
	private String toDateDTM = null;

	/** 前回処理日付DTM */
	private String trnDTM = null;

	/** 更新年月日の最大DTM */
	private String maxUpdDTM = null;

	/** マスク条件格納リスト */
	private ArrayList<ArrayList<String>> maskJknList = null;

	/** マスク設定格納リスト */
	private ArrayList<ArrayList<String>> maskSetteiList = null;

	/** 対応記録マスク条件マップ */
	Map<String, Object> maskJknMap = null;

	/** 対応記録マスク対象項目セット*/
	private HashSet<String> maskKoumokuSet = null;

	/** 処理対象件数 */
	private int sumDataCnt = 0;
	/* ++++++++++ v4.0.0 追加終了 ++++++++++ */

	/* ++++++++++ v4.00.02 追加開始 ++++++++++ */
	/** 処理中のレコードの対応記録番号 */
	private String excTaioKrkNo = null;

	/** 処理中のレコードの対応記録内訳番号 */
	private String excTaioKrkUcwkNo = null;
	/* ++++++++++ v4.00.02 追加終了 ++++++++++ */

	/** 処理対象件数 */
	private int ins1TargetCnt = 0;
	/** 処理対象件数 */
	private int ins2TargetCnt = 0;
	/** 処理対象件数 */
	private int upd1TargetCnt = 0;
	/** 処理対象件数 */
	private int upd2TargetCnt = 0;
	/** 処理対象件数 */
	private int delTargetCnt = 0;

	/** 処理件数 */
	private int ins1Cnt = 0;
	/** 処理件数 */
	private int ins2Cnt = 0;
	/** 処理件数 */
	private int upd1Cnt = 0;
	/** 処理件数 */
	private int upd2Cnt = 0;
	/** 処理件数 */
	private int delCnt = 0;
	/** 処理件数 */
	private int delinsCnt = 0;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CR_MV_TAIOKRK_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_MV_TAIOKRK_UCWK);
		db_ZE_M_MASK_SETTE = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZE_M_MASK_SETTE);
		db_ZE_M_MASK_JKN = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZE_M_MASK_JKN);
		db_ZE_M_MASK_TRAN_JSK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZE_M_MASK_TRAN_JSK);
		db_ZE_T_MSKZM_TIOKR_UW = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZE_T_MSKZM_TIOKR_UW);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
		commonItem.getLogPrint().printDebugLog("処理開始：対応記録内訳データマスク処理");

		toDateYMD = JCCBatCommon.getSysDate();
		toDateDTM = JCCBatCommon.getSysDateTimeStamp();
		setMaskJknList();
		setMaskSetteiList();

		executeZE_M_MASK_TRAN_JSK_ZE_SELECT_01(new String[]{ZE_T_MSKZM_TIOKR_UW});
		JBSbatCommonDBInterface jcb = db_ZE_M_MASK_TRAN_JSK.selectNext();
		if (jcb != null)
		{
			trnDTM = jcb.getString("MASK_TRN_DTM");
		} else {
			Calendar cal = Calendar.getInstance();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
			cal.setTime(sdf.parse(toDateYMD));
			cal.add(Calendar.DAY_OF_MONTH, -1);
			trnDTM = sdf.format(cal.getTime()) + toDateDTM.substring(8);
		}

		maskJknMap = JZEBatCommon.maskJokenSeisa(commonItem, maskJknList);
		setMaskKoumoku(maskSetteiList);

		try
		{
			setMaskDataMap();
			
			sumDataCnt = ins1TargetCnt + ins2TargetCnt + upd1TargetCnt + upd2TargetCnt + delTargetCnt;
			
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "■処理対象データ合計件数　　　　　　：", sumDataCnt);
			if (sumDataCnt == 0)
			{
				// 処理対象データ合計件数が0の場合、実績が更新されない
				return null;
			}
			
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・登録対象データ件数　　　　　　　：", ins1TargetCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・登録(論理削除済)対象データ件数　：", ins2TargetCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・更新対象データ件数　　　　　　　：", upd1TargetCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・論理削除対象データ件数　　　　　：", upd2TargetCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・物理削除対象データ件数　　　　　：", delTargetCnt);

			sumDataCnt = ins1Cnt + ins2Cnt + upd1Cnt + upd2Cnt + delCnt;

			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "■反映データ合計件数　　　　　　　　：", sumDataCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・登録処理データ件数　　　　　　　：", ins1Cnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・登録(論理削除済)処理データ件数　：", ins2Cnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・更新処理データ件数　　　　　　　：", upd1Cnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・論理削除処理データ件数　　　　　：", upd2Cnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・物理削除処理データ件数　　　　　：", delCnt);
			commonItem.getLogPrint().printLogMsg(JPCBatchMessageConstant.ECRB0400AI, "　・物理削除追加処理データ件数　　　：", delinsCnt);

		}
		/* ++++++++++ v4.00.01 修正開始 ++++++++++ */
		catch (Exception ex)
		{
			commonItem.getLogPrint().printBusinessErrorLog("EZEB0130KW", new String[]{"テーブル名：マスク済対応記録内訳　対応記録番号："
					+ excTaioKrkNo + "　対応記録内訳番号：" + excTaioKrkUcwkNo});
			throw ex;
		}
		
		executeZE_M_MASK_TRAN_JSK_ZE_SELECT_01(new String[]{ZE_T_MSKZM_TIOKR_UW});
		if (jcb != null)
		{
			executeZE_M_MASK_TRAN_JSK_ZE_UPDATE_01(new String[]{maxUpdDTM, ZE_T_MSKZM_TIOKR_UW});
		}
		else
		{
			executeZE_M_MASK_TRAN_JSK_ZE_INSERT_01(new String[]{ZE_T_MSKZM_TIOKR_UW, maxUpdDTM});
		}
		/* ++++++++++ v4.00.01 修正終了 ++++++++++ */
		/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CR_MV_TAIOKRK_UCWK.close();
		db_ZE_M_MASK_SETTE.close();
		db_ZE_M_MASK_JKN.close();
		db_ZE_M_MASK_TRAN_JSK.close();
		db_ZE_T_MSKZM_TIOKR_UW.close();
		/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
		commonItem.getLogPrint().printDebugLog("処理終了：対応記録内訳データマスク処理");
		/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(ZE_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 executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CR_MV_TAIOKRK_UCWK.selectBySqlDefine(paramList, CR_MV_TAIOKRK_UCWK_ZE_SELECT_001);
	}

	/**
	 * SQLKEY(ZE_SELECT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_CR_MV_TAIOKRK_UCWK.selectBySqlDefine(paramList, CR_MV_TAIOKRK_UCWK_ZE_SELECT_002);
	}

	/**
	 * SQLKEY(ZE_SELECT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_CR_MV_TAIOKRK_UCWK.selectBySqlDefine(paramList, CR_MV_TAIOKRK_UCWK_ZE_SELECT_003);
	}

	/**
	 * SQLKEY(ZE_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 executeZE_M_MASK_SETTE_ZE_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_ZE_M_MASK_SETTE.selectBySqlDefine(paramList, ZE_M_MASK_SETTE_ZE_SELECT_001);
	}

	/**
	 * SQLKEY(ZE_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 executeZE_M_MASK_JKN_ZE_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();

		// DBアクセスを実行します
		db_ZE_M_MASK_JKN.selectBySqlDefine(paramList, ZE_M_MASK_JKN_ZE_SELECT_001);
	}

	/**
	 * SQLKEY(ZE_SELECT_01)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マスク対象スキーマ名
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_M_MASK_TRAN_JSK_ZE_SELECT_01(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_ZE_M_MASK_TRAN_JSK.selectBySqlDefine(paramList, ZE_M_MASK_TRAN_JSK_ZE_SELECT_01);
	}

	/**
	 * SQLKEY(ZE_UPDATE_01)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マスク処理年月日時分秒
	 *		 	マスク対象スキーマ名
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_M_MASK_TRAN_JSK_ZE_UPDATE_01(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_ZE_M_MASK_TRAN_JSK.executeBySqlDefine(paramList, ZE_M_MASK_TRAN_JSK_ZE_UPDATE_01);
	}

	/**
	 * SQLKEY(ZE_INSERT_01)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	マスク対象スキーマ名
	 *		 	マスク処理年月日時分秒
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_M_MASK_TRAN_JSK_ZE_INSERT_01(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_ZE_M_MASK_TRAN_JSK.executeBySqlDefine(paramList, ZE_M_MASK_TRAN_JSK_ZE_INSERT_01);
	}

	/**
	 * SQLKEY(ZE_DELETE_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 executeZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		delCnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList, ZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001);
	}

	/**
	 * SQLKEY(ZE_INSERT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	対応記録番号
	 *		 	対応記録内訳番号
	 *		 	問合せ応対区分
	 *		 	お客様の声
	 *		 	CSRの声
	 *		 	表示順序
	 *		 	登録年月日時分秒
	 *		 	登録オペレータアカウント
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_T_MSKZM_TIOKR_UW_ZE_INSERT_001(Object[] param) throws Exception
	{
		
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList2 = new JBSbatCommonDBInterface();
		paramList2.setValue(param[0].toString());
		paramList2.setValue(param[1].toString());

		// DBアクセスを実行します
		delinsCnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList2, ZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001);

		// バイント変数のリストを生成します
		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());

		// DBアクセスを実行します
		ins1Cnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList, ZE_T_MSKZM_TIOKR_UW_ZE_INSERT_001);
	}

	/**
	 * SQLKEY(ZE_INSERT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	対応記録番号
	 *		 	対応記録内訳番号
	 *		 	問合せ応対区分
	 *		 	お客様の声
	 *		 	CSRの声
	 *		 	表示順序
	 *		 	登録年月日時分秒
	 *		 	登録オペレータアカウント
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	削除年月日時分秒
	 *		 	削除オペレータアカウント
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_T_MSKZM_TIOKR_UW_ZE_INSERT_002(Object[] param) throws Exception
	{
		
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList2 = new JBSbatCommonDBInterface();
		paramList2.setValue(param[0].toString());
		paramList2.setValue(param[1].toString());

		// DBアクセスを実行します
		delinsCnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList2, ZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001);

		// バイント変数のリストを生成します
		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());

		// DBアクセスを実行します
		ins2Cnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList, ZE_T_MSKZM_TIOKR_UW_ZE_INSERT_002);
	}

	/**
	 * SQLKEY(ZE_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	問合せ応対区分
	 *		 	お客様の声
	 *		 	CSRの声
	 *		 	表示順序
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	対応記録番号
	 *		 	対応記録内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_T_MSKZM_TIOKR_UW_ZE_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());

		// DBアクセスを実行します
		upd1Cnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList, ZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_001);
	}

	/**
	 * SQLKEY(ZE_UPDATE_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	問合せ応対区分
	 *		 	お客様の声
	 *		 	CSRの声
	 *		 	表示順序
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	削除年月日時分秒
	 *		 	削除オペレータアカウント
	 *		 	対応記録番号
	 *		 	対応記録内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_002(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());

		// DBアクセスを実行します
		upd2Cnt += db_ZE_T_MSKZM_TIOKR_UW.executeBySqlDefine(paramList, ZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_002);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/* ++++++++++ v4.0.0 追加開始 ++++++++++ */

	/**
	 * マスク条件リストを設定する。<br>
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setMaskJknList() throws Exception
	{
		ArrayList<String> recList = null;
		maskJknList = new ArrayList<ArrayList<String>>();

		executeZE_M_MASK_JKN_ZE_SELECT_001(new String[]{});
		JBSbatCommonDBInterface rs = db_ZE_M_MASK_JKN.selectNext();

		while (rs != null)
		{
			recList = new ArrayList<String>();

			recList.add(rs.getString("MASK_SBT_CD"));
			recList.add(rs.getString("SEARCH_CHR"));
			recList.add(rs.getString("MASK_HOKO_SKBT_CD"));
			recList.add(rs.getString("ZENKAKU_CKAN_MOJI"));
			recList.add(rs.getString("HANKAKU_CKAN_MOJI"));
			recList.add(rs.getString("MASK_CKAN_JGI_CHR"));
			recList.add(rs.getString("MASK_KENSAKU_JGI_CHR"));
			recList.add(rs.getString("MASK_JGI_CHR"));
			recList.add(rs.getString("MASK_TRGT_MOJI_CNT"));
			recList.add(rs.getString("YUSEN_JUN_CD"));

			maskJknList.add(recList);
			rs = db_ZE_M_MASK_JKN.selectNext();
		}
	}

	/**
	 * マスク設定リストを設定する。<br>
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setMaskSetteiList() throws Exception
	{
		ArrayList<String> recList = null;
		maskSetteiList = new ArrayList<ArrayList<String>>();

		executeZE_M_MASK_SETTE_ZE_SELECT_001(new String[]{CR_TKK_UCWK_TBL_NM, toDateYMD, toDateYMD});
		JBSbatCommonDBInterface rs = db_ZE_M_MASK_SETTE.selectNext();

		while (rs != null)
		{
			recList = new ArrayList<String>();

			recList.add(rs.getString("MASK_TG_KMK_NM"));
			maskSetteiList.add(recList);
			rs = db_ZE_M_MASK_SETTE.selectNext();
		}
	}

	/**
	 * 対応記録明細マスク対象項目設定処理
	 * 
	 * 対応記録明細マスク対象項目をMapSetに設定する
	 * また、マスク制限項目がある場合には業務エラーとする。
	 * 
	 * @param maskKoumokuList マスク項目リスト
	 * @throws Exception 例外
	 */
	private void setMaskKoumoku(List<ArrayList<String>> maskKoumokuList) throws Exception
	{
		String koumokuName = null;
		maskKoumokuSet = new HashSet<String>();

		// 項目ワークリスト
		List<String> koumokuWorkList = new ArrayList<String>();
		for(int i = 0;  i < maskKoumokuList.size(); i++)
		{
			koumokuWorkList = maskKoumokuList.get(i);
			
			// マスク項目ログ出力
			for(int j = 0; j < koumokuWorkList.size(); j++)
			{
				koumokuName = koumokuWorkList.get(j);
				super.logPrint.printDebugLog("マスク対象項目" + (i + 1) + "項目:" + koumokuName);

				// マスク対象項目をMapSetに設定する
				maskKoumokuSet.add(koumokuName);
			}
		}
	}

	/**
	 * 対応記録内訳データ設定
	 * @param inMap 対応記録内訳データ
	 * @param sqlCd 登録内容判別コード
	 * @return JBSbatServiceInterfaceMap マスク済み対応記録テーブルのデータを格納したマップ
	 * @throws Exception
	 */
	public ArrayList<String> setInsTaioKrkUcwkData(JBSbatServiceInterfaceMap inMap, String sqlCd) throws Exception
	{
		ArrayList<String> paramList = new ArrayList<String>();
		
		String taiokrkData = "";

		if (INS_CD1.equals(sqlCd) || INS_CD2.equals(sqlCd))
		{
			// 対応記録番号 TAIO_KIROK_NO
			if(maskKoumokuSet.contains(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_NO))
			{
				// マスク対象項目の場合
				taiokrkData = JZEBatCommon.nullToBlank(taioKrkUcwkMaskMain(
						commonItem, inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_NO)));
				paramList.add(taiokrkData);
	
			}
			else
			{
				// マスク対象項目で無い場合
				paramList.add(
						JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_NO)));
			}
			
			// 対応記録内訳番号 TAIO_KIROK_UCWK_NO
			if(maskKoumokuSet.contains(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_UCWK_NO))
			{
				// マスク対象項目の場合
				taiokrkData = JZEBatCommon.nullToBlank(taioKrkUcwkMaskMain(
						commonItem, inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_UCWK_NO)));
				paramList.add(taiokrkData);
	
			}
			else
			{
				// マスク対象項目で無い場合
				paramList.add(
						JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_UCWK_NO)));
			}
		}

		// 問合せ応対区分 TOIAWASE_RSP_DIV
		if(maskKoumokuSet.contains(JBSbatCR_MV_TAIOKRK_UCWK.TOIAWASE_RSP_DIV))
		{
			// マスク対象項目の場合
			taiokrkData = JZEBatCommon.nullToBlank(taioKrkUcwkMaskMain(
					commonItem, inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TOIAWASE_RSP_DIV)));
			paramList.add(taiokrkData);

		}
		else
		{
			// マスク対象項目で無い場合
			paramList.add(
					JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TOIAWASE_RSP_DIV)));
		}

		// お客様の声 CUST_KOE
		if(maskKoumokuSet.contains(JBSbatCR_MV_TAIOKRK_UCWK.CUST_KOE))
		{
			// マスク対象項目の場合
			taiokrkData = JZEBatCommon.nullToBlank(taioKrkUcwkMaskMain(
					commonItem, inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.CUST_KOE)));
			paramList.add(taiokrkData);

		}
		else
		{
			// マスク対象項目で無い場合
			paramList.add(
					JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.CUST_KOE)));
		}

		// CSRの声 CSR_KOE
		if(maskKoumokuSet.contains(JBSbatCR_MV_TAIOKRK_UCWK.CSR_KOE))
		{
			// マスク対象項目の場合
			taiokrkData = JZEBatCommon.nullToBlank(taioKrkUcwkMaskMain(
					commonItem, inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.CSR_KOE)));
			paramList.add(taiokrkData);

		}
		else
		{
			// マスク対象項目で無い場合
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.CSR_KOE)));
		}

		// 表示順序 DSP_JUN
		// マスク制限項目のためマスク処理行わない。
		paramList.add(JZEBatCommon.nullToBlank(inMap.getBigDecimal(JBSbatCR_MV_TAIOKRK_UCWK.DSP_JUN)));

		if (INS_CD1.equals(sqlCd) || INS_CD2.equals(sqlCd))
		{
			// 登録年月日時分秒
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.ADD_DTM)));
	
			// 登録オペレータアカウント
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.ADD_OPEACNT)));
		}

		// 更新年月日時分秒
		paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.UPD_DTM)));

		// 更新オペレータアカウント
		paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.UPD_OPEACNT)));

		if (INS_CD2.equals(sqlCd) || UPD_CD2.equals(sqlCd))
		{
			// 削除年月日時分秒
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.DEL_DTM)));
	
			// 削除オペレータアカウント
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.DEL_OPEACNT)));
		}

		if (UPD_CD1.equals(sqlCd) || UPD_CD2.equals(sqlCd))
		{
			// 対応記録番号
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_NO)));
			paramList.add(JZEBatCommon.nullToBlank(inMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_UCWK_NO)));
		}

		return paramList;
	}

	/**
	 * 対応記録内訳マスクメイン処理
	 * @param commonItem バッチ共通パラメータ電文
	 * @param taioKrkData 対応記録内訳データ
	 * @return マスク済み対応記録内訳データ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private String taioKrkUcwkMaskMain(JBSbatCommonItem commonItem, String taioKrkData) throws Exception
	{
		List<Map<String, Object>> kensakuMojiList = (List<Map<String, Object>>)maskJknMap.get(JZEStrConst.ZE_MASK_KBN_KENSAKUMOJI);
		List<Map<String, Object>> mailAddressList = (List<Map<String, Object>>)maskJknMap.get(JZEStrConst.ZE_MASK_KBN_MAILADDRESS);
		List<Map<String, Object>> telList = (List<Map<String, Object>>)maskJknMap.get(JZEStrConst.ZE_MASK_KBN_TEL);
		String maskLineData = taioKrkData;
		
		try
		{
			// 検索文字マスク処理
			maskLineData = JZEBatCommon.maskKensakuMoji(commonItem, maskLineData, kensakuMojiList);
			
			// 電話番号マスク処理
			maskLineData = JZEBatCommon.maskTelNamber(commonItem, maskLineData, telList);
			
			// メールアドレスマスク処理
			maskLineData = JZEBatCommon.maskMailAddress(commonItem, maskLineData, mailAddressList);
		}
		catch(JBSbatBusinessException ex)
		{
			throw ex;
		}
		return maskLineData;
	}

	/**
	 * マスク対象データを設定する。<br>
	 * 
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void setMaskDataMap() throws Exception
	{
		executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_001(new String[]{trnDTM});
		
		JBSbatCommonDBInterface rs = db_CR_MV_TAIOKRK_UCWK.selectNext();
		JBSbatServiceInterfaceMap siMap = null;

		while (rs != null)
		{
			siMap = new JBSbatServiceInterfaceMap();
			siMap.setMap(rs.getMap());
			if (isInsData(rs.getString("ADD_DTM")))
			{
				if (rs.getString("MK_FLG").equals("0"))
				{
					execDataMaskRef(siMap, INS_CD1);
				}
				else
				{
					execDataMaskRef(siMap, INS_CD2);
				}
				
			}
			else
			{
				if (rs.getString("MK_FLG").equals("0"))
				{
					execDataMaskRef(siMap, UPD_CD1);
				}
				else
				{
					execDataMaskRef(siMap, UPD_CD2);
				}
			}

			rs = db_CR_MV_TAIOKRK_UCWK.selectNext();
		}

		executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_002(new String[]{});
		rs = db_CR_MV_TAIOKRK_UCWK.selectNext();
		siMap = null;
		while (rs != null)
		{
			siMap = new JBSbatServiceInterfaceMap();
			siMap.setMap(rs.getMap());
			execDataMaskRef(siMap, DEL_CD);
			rs = db_CR_MV_TAIOKRK_UCWK.selectNext();
		}

		executeCR_MV_TAIOKRK_UCWK_ZE_SELECT_003(new String[]{});
		JBSbatCommonDBInterface jcb = db_CR_MV_TAIOKRK_UCWK.selectNext();
		if (jcb != null)
		{
			maxUpdDTM = jcb.getString("MAX_UPD_DTM");
		}
	}

	/**
	 * マスク済みテーブルに対してデータを反映する。<br>
	 * 
	 * @param siMap データマップ
	 * @param sqlCd 対象SQL判別コード
	 * @return 処理件数
	 *
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int execDataMaskRef(JBSbatServiceInterfaceMap siMap, String sqlCd) throws Exception
	{
		int execCnt = 0;
		ArrayList<String> paramList = null;

		excTaioKrkNo = siMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_NO);
		excTaioKrkUcwkNo = siMap.getString(JBSbatCR_MV_TAIOKRK_UCWK.TAIO_KIROK_UCWK_NO);

		if (INS_CD1.equals(sqlCd))
		{
			paramList = setInsTaioKrkUcwkData(siMap, sqlCd);

			executeZE_T_MSKZM_TIOKR_UW_ZE_INSERT_001(paramList.toArray());

			ins1TargetCnt++;
		}
		else if (INS_CD2.equals(sqlCd))
		{
			paramList = setInsTaioKrkUcwkData(siMap, sqlCd);

			executeZE_T_MSKZM_TIOKR_UW_ZE_INSERT_002(paramList.toArray());

			ins2TargetCnt++;
		}
		else if (UPD_CD1.equals(sqlCd))
		{
			paramList = setInsTaioKrkUcwkData(siMap, sqlCd);

			executeZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_001(paramList.toArray());

			upd1TargetCnt++;
		}
		else if (UPD_CD2.equals(sqlCd))
		{
			paramList = setInsTaioKrkUcwkData(siMap, sqlCd);

			executeZE_T_MSKZM_TIOKR_UW_ZE_UPDATE_002(paramList.toArray());

			upd2TargetCnt++;
		}
		else if (DEL_CD.equals(sqlCd))
		{
			executeZE_T_MSKZM_TIOKR_UW_ZE_DELETE_001(new String[]{excTaioKrkNo, excTaioKrkUcwkNo});

			delTargetCnt++;
		}

		return execCnt;
	}

	/**
	 * 登録対象のデータがどうかを判断する。<br>
	 * 
	 * @param insDtm 更新年月日時分秒
	 * @return 登録対象判定結果
	 *
	 */
	private boolean isInsData(String insDtm)
	{
		if (Long.parseLong(insDtm) - Long.parseLong(trnDTM) <= 0)
		{
			return false;
		}
		return true;
	}
	/* ++++++++++ v4.0.0 追加終了 ++++++++++ */
}
