/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatCRMailSendIkt
*	ソースファイル名	：JBSbatCRMailSendIkt.java
*	作成者				：富士通　
*	作成日				：2011年11月08日
*＜機能概要＞
*　メール送信一括処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/11/08   富士通		新規作成
*	v5.00.00	2013/08/25	FJ）斉藤(諭)	OM-2013-0000519対応
*	v5.00.01	2013/08/31	FJ）斉藤(諭)	OM-2013-0001243対応
*	v6.00.01	2013/11/26	FJ）斉藤(諭)	ANK-1637-00-00対応
*	v71.00.01	2024/05/31	FJ）中川		ANK-4575-00-00対応
*********************************************************************/
package eo.business.service;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JCRBatCommon;
import eo.business.util.table.JBSbatCC_T_DLYD_TRN_REQ;
import eo.business.util.table.JBSbatCR_T_MYBOX;
import eo.business.util.table.JBSbatCR_T_TAIOKRK_DTL;
import eo.business.util.table.JBSbatCR_T_TAIO_KIROK;
import eo.business.util.table.JBSbatCR_T_TORK_EFILE_KNRI;
import eo.business.util.table.JBSbatZM_M_CD_NM_KANRI;
import eo.common.constant.JCRStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JCRUtilCommon;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.application.JCCbatFrameworkException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.log.JBSbatLogPrintControl;
import eo.framework.util.JCCBatchEsbInterface;

/**
* メール送信一括処理 <p>
*<BR>
* @author 富士通
*/
public class JBSbatCRMailSendIkt extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(ＭＹＢＯＸ)*/
	private static final String D_TBL_NAME_CR_T_MYBOX = "CR_T_MYBOX";

	/** テーブル(対応記録)*/
	private static final String D_TBL_NAME_CR_T_TAIO_KIROK = "CR_T_TAIO_KIROK";

	/** テーブル(対応記録明細)*/
	private static final String D_TBL_NAME_CR_T_TAIOKRK_DTL = "CR_T_TAIOKRK_DTL";

	/** テーブル(対応履歴電子ファイル管理)*/
	private static final String D_TBL_NAME_CR_T_TORK_EFILE_KNRI = "CR_T_TORK_EFILE_KNRI";

	/** テーブル(キューＢＯＸ)*/
	private static final String D_TBL_NAME_CR_T_QUE_BOX = "CR_T_QUE_BOX";

	/** SQL定義キー(CR_SELECT_001)*/
	private static final String CR_T_MYBOX_CR_SELECT_001 = "CR_SELECT_001";

	/** SQL定義キー(CR_SELECT_017)*/
	private static final String CR_T_TAIO_KIROK_CR_SELECT_017 = "CR_SELECT_017";

	/** SQL定義キー(CR_SELECT_007)*/
	private static final String CR_T_TAIOKRK_DTL_CR_SELECT_007 = "CR_SELECT_007";

	/** SQL定義キー(CR_SELECT_006)*/
	private static final String CR_T_TORK_EFILE_KNRI_CR_SELECT_006 = "CR_SELECT_006";

	/** SQL定義キー(CR_UPDATE_005)*/
	private static final String CR_T_TAIO_KIROK_CR_UPDATE_005 = "CR_UPDATE_005";

	/** SQL定義キー(CR_UPDATE_006)*/
	private static final String CR_T_TAIO_KIROK_CR_UPDATE_006 = "CR_UPDATE_006";

	/** SQL定義キー(CR_UPDATE_007)*/
	private static final String CR_T_TAIO_KIROK_CR_UPDATE_007 = "CR_UPDATE_007";

	/** SQL定義キー(CR_SELECT_006)*/
	private static final String CR_T_TAIOKRK_DTL_CR_SELECT_006 = "CR_SELECT_006";

	/** SQL定義キー(CR_UPDATE_003)*/
	private static final String CR_T_TAIOKRK_DTL_CR_UPDATE_003 = "CR_UPDATE_003";

	/** SQL定義キー(CR_UPDATE_002)*/
	private static final String CR_T_QUE_BOX_CR_UPDATE_002 = "CR_UPDATE_002";

	/** SQL定義キー(CR_UPDATE_001)*/
	private static final String CR_T_MYBOX_CR_UPDATE_001 = "CR_UPDATE_001";

	/** テーブルアクセスクラス(ＭＹＢＯＸ)*/
	private JBSbatSQLAccess db_CR_T_MYBOX = null;

	/** テーブルアクセスクラス(対応記録)*/
	private JBSbatSQLAccess db_CR_T_TAIO_KIROK = null;

	/** テーブルアクセスクラス(対応記録明細)*/
	private JBSbatSQLAccess db_CR_T_TAIOKRK_DTL = null;

	/** テーブルアクセスクラス(対応履歴電子ファイル管理)*/
	private JBSbatSQLAccess db_CR_T_TORK_EFILE_KNRI = null;

	/** テーブルアクセスクラス(キューＢＯＸ)*/
	private JBSbatSQLAccess db_CR_T_QUE_BOX = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** 対応履歴一時ファイル保存先パス */
	private String tmpFileDir = null;

	/** 返信用メールコード */
	private String mailCdForHensin = null;

	/** 転送用メールコード */
	private String mailCdForTensou = null;

// ANK-4575-00-00 ADD START
	/** 返信用メールコード(Genesis向け) */
	private String mailCdForHensinGenesis = null;
	
	/** Genesis向け返信メールアドレス */
	private String mladForHensinGenesis = null;
// ANK-4575-00-00 ADD END

	/** 返信転送記号Map */
	private Map<String, String> hensinKigouMap = null;

	/** 送信メールタイプMap */
	private Map<String, String> sendMailTypeMap = null;

	/** 初期処理エラーメッセージ */
	private String initErrMessage = null;

	/** クローズ有無区分　0(無) */
	private static final String CLOSE_UMU_NASHI = "0";

	/** クローズ有無区分　1(有) */
	private static final String CLOSE_UMU_ARI = "1";

	/** 返信転送記号コード　0(未選択) */
	private static final String HENSIN_KIGOU_MISENTAKU = "0";

	/** 1行目の項目数 */
	private static final int KOUMOKUSU_1GYOUME = 5;

	/** 項目数 */
	private static final int KOUMOKUSU = 3;

	/** 件数取得項目名 */
	private static final String CNT = "CNT";

	/** 対応記録明細番号の桁数 */
	private static final int KETA_TAIO_KIROK_DTL_NO = 10;

	/** YYYYMMDDHHmmの桁数 */
	private static final int KETA_YYYYMMDDHHMM = 12;

	/** 対応履歴電子ファイル管理番号の桁数 */
	private static final int KETA_TORK_EFILE_KNRI_NO = 10;

	/** 更新日時取得キー */
	private static final String KEY_UPDATE_DTM = "KEY_UPDATE_DTM";

	/** エラーメッセージ取得キー */
	private static final String KEY_ERR_MESSAGE = "KEY_ERR_MESSAGE";

	/** クローズ有無区分取得キー */
	private static final String KEY_CLOSE_UMU_KBN = "CLOSE_UMU_KBN";

	/** ログインユーザーID取得キー */
	private static final String KEY_LOGIN_USER_ID = "LOGIN_USER_ID";

	/** ログインユーザー名取得キー */
	private static final String KEY_LOGIN_USER_NM = "LOGIN_USER_NM";

	/** ログインユーザーのMYBOX番号取得キー */
	private static final String KEY_LOGIN_USER_MYBOX_NO = "LOGIN_USER_MYBOX_NO";

	/** ログインユーザーの業務個別設定組織コード取得キー */
	private static final String KEY_LOGIN_USER_WKKBT_ORG_CD = "LOGIN_USER_WKKBT_ORG_CD";

	/** ログインユーザーの業務個別設定組織名取得キー */
	private static final String KEY_LOGIN_USER_WKKBT_ORG_NM = "LOGIN_USER_WKKBT_ORG_NM";

	/** 対応記録番号取得キー */
	private static final String KEY_TAIO_KRK_NO = "TAIO_KRK_NO";

	/** 対応記録明細番号取得キー */
	private static final String KEY_TAIO_KRK_DTL_NO = "TAIO_KRK_DTL_NO";

	/** ユースケースID (メール送信サービス用) */
	private static final String USECASE_ID_SEND_MAIL = "CRSV0229";

	/** 業務データ入力情報格納キー メール送信情報 */
	private static final String KEY_SEND_DATA = "SENDMAILCC";

	/** 業務データ入力情報格納キー 機能コード */
	private static final String KEY_FUNC_CODE = "func_code";

	/** 業務データ入力情報格納キー メールコード */
	private static final String KEY_MAIL_CD = "mail_cd";

	/** 業務データ入力情報格納キー メール送受信日時 */
	private static final String KEY_MAIL_SEND_RCV_DTM = "mail_send_rcv_dtm";

	/** 業務データ入力情報格納キー 送信元メールアドレス */
	private static final String KEY_SENDM_MLAD = "sendm_mlad";

	/** 業務データ入力情報格納キー 送信元名 */
	private static final String KEY_SENDM_MLAD_DSP_NM = "sendm_mlad_dsp_nm";

	/** 業務データ入力情報格納キー メール送信パターンコード */
	private static final String KEY_MAIL_SEND_PATTERN_CD = "mail_send_pattern_cd";

	/** 業務データ入力情報格納キー 送信先リスト */
	private static final String KEY_SEND_SAKI_LIST = "ECC0021D010CBSMsg1List";

	/** 業務データ入力情報格納キー 置換文字リスト */
	private static final String KEY_CKAM_MOJI_LIST = "ECC0021D010CBSMsg2List";

	/** 業務データ入力情報格納キー 添付ファイルリスト */
	private static final String KEY_TEMP_FILE_LIST = "ECC0021D010CBSMsg3List";

	/** 業務データ入力情報格納キー メールヘッダーリスト */
	private static final String KEY_MAIL_MEISAI_LIST = "ECC0021D010CBSMsg4List";

	/** 業務データ入力情報格納キー メールヘッダーリスト */
	private static final String KEY_MAIL_HEADER_LIST = "ECC0021D010CBSMsg5List";

	/** 業務データ入力情報格納キー メールアドレス */
	private static final String KEY_MLAD = "mlad";

	/** 業務データ入力情報格納キー 送信先名 */
	private static final String KEY_MLAD_DSP_NM = "mlad_dsp_nm";

	/** 業務データ入力情報格納キー メールアドレス設定フィールドコード */
	private static final String KEY_MLAD_SET_FIELD_CD = "mlad_set_field_cd";

	/** 業務データ入力情報格納キー 置換文字 */
	private static final String KEY_TEXT_HTK_CKAM_MOJI = "text_htk_ckam_moji";

	/** 業務データ入力情報格納キー 電子ファイル管理番号 */
	private static final String KEY_EFILE_KANRI_NO = "efile_kanri_no";

	/** 業務データ入力情報格納キー ファイル名 */
	private static final String KEY_FILE_NM = "file_nm";

	/** 業務データ入力情報格納キー メールヘッダーキー */
	private static final String KEY_MAIL_HEADER_KEY = "mail_header_key";

	/** 業務データ入力情報格納キー メールヘッダー値 */
	private static final String KEY_MAIL_HEADER_VALUE = "mail_header_value";

	/** 業務データ入力情報格納キー メール送信番号 */
	private static final String KEY_MAIL_SEND_NO = "mail_send_no";

	/** 業務データ入力情報格納キー 件名のヘッダーキー */
	private static final String KEY_SUBJECT = "Subject";

	/** メール送信パターンコード　01(リアルタイム) */
	private static final String SEND_PTN_REALTIME = "01";

	/** リターンコード　0(成功) */
	private static final String RETURN_CD_SUCCESS = "0000";

	/** 業務データ入力情報格納キー 機能コード 登録・チェック */
	private static final String FUNC_CO_ENTRY = "1";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_CR_T_MYBOX = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_MYBOX);
		db_CR_T_TAIO_KIROK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_TAIO_KIROK);
		db_CR_T_TAIOKRK_DTL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_TAIOKRK_DTL);
		db_CR_T_TORK_EFILE_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_TORK_EFILE_KNRI);
		db_CR_T_QUE_BOX = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CR_T_QUE_BOX);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/

		try
		{
			// プロパティーチェック
			initErrMessage = checkProperty();

			if (initErrMessage == null)
			{
				// 初期処理チェックでエラーがない場合

				// 返信転送記号Map作成
				hensinKigouMap = createHensinKigouMap();

				// 送信メールタイプMap作成
				sendMailTypeMap = createSendMailTypeMap();
			}
		}
		catch (Exception e)
		{
			// ECRB0260KW:%1%処理中に予期せぬエラーが発生しました。　%2%
			initErrMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0260KW, new String[] {"メール送信一括", e.toString()});
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0260KW, new String[] {"メール送信一括", e.toString()});
			super.logPrint.printDebugLog("例外発生:" + e.toString());
			super.logPrint.printDebugLog("　　　　:" + e.getMessage());
		}

	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * プロパティーチェック
	 * @return エラーメッセージ
	 * @throws Exception 例外
	 */
	private String checkProperty() throws Exception
	{
		// プロパティーチェック
		String errMessage = null;
		boolean existError = false;

		// 対応履歴一時ファイル保存先パス
		String tmpFileDirWk = JCRBatCommon.getApplicationConst("CR_TEMP_FILE_DIR");

		if (tmpFileDirWk == null || "".equals(tmpFileDirWk.trim()))
		{
			// ECRB0010KW:プロパティーファイルの設定が正しくありません。(項目名:%1%)
			errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_TEMP_FILE_DIR"});
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_TEMP_FILE_DIR"});
			existError = true;
		}
		else if (JCRUtilCommon.checkDirExist(tmpFileDirWk) == null)
		{
			// 存在しない場合
			// ECRB0160KW:指定されたパスが存在しません。(%1%)
			errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0160KW, new String[] {tmpFileDirWk});
			super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0160KW, new String[] {tmpFileDirWk});
			existError = true;
		}

		if (existError == false)
		{
			tmpFileDir = tmpFileDirWk;
		}
		super.logPrint.printDebugLog("対応履歴一時ファイル保存先パス:" + tmpFileDir);

		if (existError == false)
		{
			// 返信用メールコード
			mailCdForHensin = JCRBatCommon.getApplicationConst("CR_MAIL_CD_HENSIN");
			if (mailCdForHensin == null || "".equals(mailCdForHensin.trim()))
			{
				// ECRB0010KW:プロパティーファイルの設定が正しくありません。(項目名:%1%)
				errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_HENSIN"});
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_HENSIN"});
				existError = true;
			}
			super.logPrint.printDebugLog("返信用メールコード:" + mailCdForHensin);
		}

		if (existError == false)
		{
			// 転送用メールコード
			mailCdForTensou = JCRBatCommon.getApplicationConst("CR_MAIL_CD_TENSOU");
			if (mailCdForTensou == null || "".equals(mailCdForTensou.trim()))
			{
				// ECRB0010KW:プロパティーファイルの設定が正しくありません。(項目名:%1%)
				errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_TENSOU"});
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_TENSOU"});
				existError = true;
			}
			super.logPrint.printDebugLog("転送用メールコード:" + mailCdForTensou);
		}

// ANK-4575-00-00 ADD START
		if (existError == false)
		{
			// 返信用メールコード(Genesis向け)
			mailCdForHensinGenesis = JCRBatCommon.getApplicationConst("CR_MAIL_CD_HENSIN_GENESIS");
			if (mailCdForHensinGenesis == null || "".equals(mailCdForHensinGenesis.trim()))
			{
				// ECRB0010KW:プロパティーファイルの設定が正しくありません。(項目名:%1%)
				errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_HENSIN_GENESIS"});
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_MAIL_CD_HENSIN_GENESIS"});
				existError = true;
			}
			super.logPrint.printDebugLog("返信用メールコード(Genesis向け):" + mailCdForHensinGenesis);
		}
		
		if (existError == false)
		{
			// Genesis向け返信メールアドレス
			mladForHensinGenesis = JCRBatCommon.getApplicationConst("CR_GENESIS_MLAD");
			if (mladForHensinGenesis == null || "".equals(mladForHensinGenesis.trim()))
			{
				// ECRB0010KW:プロパティーファイルの設定が正しくありません。(項目名:%1%)
				errMessage = JBSbatLogPrintControl.getMessage(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_GENESIS_MLAD"});
				super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0010KW, new String[] {"CR_GENESIS_MLAD"});
				existError = true;
			}
			super.logPrint.printDebugLog("Genesis向け返信メールアドレス:" + mladForHensinGenesis);
		}
// ANK-4575-00-00 ADD END
		return errMessage;
	}

	/**
	 * 返信転送記号Map作成
	 * @return 返信転送記号Map
	 * @throws Exception 例外
	 */
	private Map<String, String> createHensinKigouMap() throws Exception
	{
		return createCdNmMap(JCRBatCommon.getCodeNm(commonItem, JZM0171Constant.CD00305));
	}

	/**
	 * 送信メールタイプMap作成
	 * @param codeDataList コード名称管理データ
	 * @return コード名称Map
	 * @throws Exception 例外
	 */
	private Map<String, String> createCdNmMap(List<JBSbatCommonDBInterface> codeDataList) throws Exception
	{
		Map<String, String> map = new HashMap<String, String>();
		if (codeDataList != null)
		{
			for(int i = 0; i < codeDataList.size(); i++)
			{
				// ファイル名を取得
				JBSbatCommonDBInterface hensinKigouData = codeDataList.get(i);
				String cd = hensinKigouData.getString(JBSbatZM_M_CD_NM_KANRI.CD_DIV);
				String nm = hensinKigouData.getString(JBSbatZM_M_CD_NM_KANRI.CD_DIV_NM);
				map.put(cd, nm);
			}
		}
		return map;
	}

	/**
	 * 送信メールタイプMap作成
	 * @return 送信メールタイプMap
	 * @throws Exception 例外
	 */
	private Map<String, String> createSendMailTypeMap() throws Exception
	{
		return createCdNmMap(JCRBatCommon.getCodeNm(commonItem, JZM0171Constant.CD00240));
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		// 2-(1) ディレイド処理依頼情報取得
		ArrayList<HashMap<String, Object>> shoriIraiInfoList = JCRBatCommon.getShoriIraiInfo(commonItem, super.jobid);
		if (shoriIraiInfoList != null)
		{
			// 処理件数ログ出力
			JCRBatCommon.printShoriCountLog(commonItem, "ディレイド処理依頼件数", shoriIraiInfoList.size());

			for (int i = 0; i < shoriIraiInfoList.size(); i++)
			{
				// ディレイド処理結果コード
				String shoriKekkaCd = JCRStrConst.DLYD_SYSTEM_ERR;	// 一旦システムエラーのコードを設定

				String shoriiraiNo = null;		// ディレイド処理依頼番号
				List<String> errList = null;	// エラー情報List

				try
				{
					// 2-(2) ディレイド処理依頼情報1件読込
					HashMap<String, Object> shoriIraiInfoMap = shoriIraiInfoList.get(i);
					// ディレイド処理依頼番号
					shoriiraiNo = shoriIraiInfoMap.get(JBSbatCC_T_DLYD_TRN_REQ.DLYD_TRN_REQ_NO).toString();

					if (initErrMessage == null)
					{
						// 初期処理チェックでエラーがない場合

						// 2-(3) 画面入力情報ファイル取得
						byte[] gamenDataBytes = (byte[])shoriIraiInfoMap.get("INPUT_EFILE");

						// メール送信一括処理実行
						errList = executeMailSend(gamenDataBytes);

						// 処理結果コード設定
						if (errList == null || errList.isEmpty())
						{
							shoriKekkaCd = JCRStrConst.DLYD_OK;
						}
						else
						{
							shoriKekkaCd = JCRStrConst.DLYD_GYOMU_ERR;
						}

					}
					else
					{
						// 初期処理チェックでエラーがある場合
						if (tmpFileDir != null && !("".equals(tmpFileDir.trim())))
						{
							// 対応履歴一時ファイル保存先パスの設定が正しい場合
							errList = new ArrayList<String>();		// 画面に返すエラー情報を保持
							errList.add(initErrMessage);
							shoriKekkaCd = JCRStrConst.DLYD_GYOMU_ERR;
						}
					}
				}
				catch (JBSbatBusinessException ex)
				{
					// システムエラーフラグを設定する
					shoriKekkaCd = JCRStrConst.DLYD_SYSTEM_ERR;
					super.logPrint.printDebugLog("システムエラー発生:" + ex.toString());
					super.logPrint.printDebugLog("　　　　　　　　　:" + ex.getMessage());
				}
				finally
				{
					// (8) 終了処理
					end(shoriiraiNo, shoriKekkaCd, errList);
				}
			}
		}
		else
		{
			// 処理件数ログ出力
			JCRBatCommon.printShoriCountLog(commonItem, "ディレイド処理依頼件数", 0);
		}
		return null;

	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * メール送信一括処理実行
	 * @param gamenDataBytes 画面入力情報ファイルデータ
	 * @return エラー情報List
	 * @throws Exception 例外
	 */
	private List<String> executeMailSend(byte[] gamenDataBytes) throws Exception
	{
		List<String> errList = new ArrayList<String>();		// 画面に返すエラー情報を保持
		boolean existDtlError = false;						// 1行毎にエラー有無を保持

		// 対応記録の更新日時を格納するMap
		// (キー：対応記録番号、値：更新年月日時分秒)
		Map<String, String> updateDtmMap = new HashMap<String, String>();

		BufferedReader gamenDataFile = null;
		int rowNum = 0;		// 行番号

		try
		{
			// 2-(3) 画面入力情報ファイル取得
			gamenDataFile = new BufferedReader(new StringReader(new String(gamenDataBytes, JCRStrConst.DEFAULT_ENCODE)));

			// 2-(4) 行読込
			String gamenData = gamenDataFile.readLine();

			// 1行目の情報
			String closeUmu = 				null;		// クローズ有無
			String loginUserId = 			null;		// 画面のログインユーザーID
			String loginUserNm = 			null;		// 画面のログインユーザー名
			String loginUserWkKbtOrgCd = 	null;		// 画面の業務個別設定組織コード
			String loginUserWkKbtOrgNm = 	null;		// 画面の業務個別設定組織名
			String loginUserMyBoxNo = 		null;		// 画面のログインユーザーのMYBOX番号

			// 2行目以降の情報
			String taioKrkNo = 				null;		// 対応記録番号
			String taioKrkDtlNo = 			null;		// 対応記録明細番号
			String updateDtm = 				null;		// 対応記録．更新年月日時分秒

			Map<String, String> taioKrkInfoMap = null;	// 対応記録情報

			while (gamenData != null)
			{
				// 2-(5) 画面入力情報取得

				existDtlError = false;
				++rowNum;

				// (a) 画面入力項目取得
				List<String> oneLineKoumokuList = JCRUtilCommon.convStringToList(gamenData);

				// (b) 項目数チェック
				String errMessage = checkKoumokuSu(rowNum, oneLineKoumokuList.size());
				if (errMessage != null)
				{
					existDtlError = true;
					errList.add(errMessage);
					if (rowNum == 1)
					{
						// 1行目で項目数エラーの場合は処理終了
						return errList;
					}
				}

				if (existDtlError == false)
				{
					if (rowNum == 1)
					{
						// 1行目の場合
						// (c) クローズ有無取得

						// 1 クローズ有無取得
						closeUmu = oneLineKoumokuList.get(0);

						// 2 クローズ有無チェック
						if (CLOSE_UMU_NASHI.equals(closeUmu) == false && CLOSE_UMU_ARI.equals(closeUmu) == false)
						{
							// ECRB0190KW:%1%の内容が正しくありません。（%2%）
							String messageId = JPCBatchMessageConstant.ECRB0190KW;
							String[] logParam = new String[]{"画面入力情報", "クローズ有無不正"};
							errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
							existDtlError = true;
							errList.add(errMessage);
							super.logPrint.printBusinessErrorLog(messageId, logParam);
							return errList;
						}

						loginUserId = 			oneLineKoumokuList.get(1);	// 画面のログインユーザーID
						loginUserNm = 			oneLineKoumokuList.get(2);	// 画面のログインユーザー名
						loginUserWkKbtOrgCd = 	oneLineKoumokuList.get(3);	// 画面の業務個別設定組織コード
						loginUserWkKbtOrgNm = 	oneLineKoumokuList.get(4);	// 画面の業務個別設定組織名

						// (d) 画面ログインユーザーのMYBOX情報取得
						Map<String, String> myBoxInfoMap = getMyBox(loginUserId);
						errMessage = myBoxInfoMap.get(KEY_ERR_MESSAGE);
						if (errMessage != null)
						{
							existDtlError = true;
							errList.add(errMessage);
							return errList;
						}
						else
						{
							loginUserMyBoxNo = myBoxInfoMap.get(JBSbatCR_T_MYBOX.MYBOX_NO);
						}
					}
					else
					{
						// 2行目以降の場合
						// (e) メール送信情報取得
						taioKrkNo = oneLineKoumokuList.get(0);			// 対応記録番号
						taioKrkDtlNo = oneLineKoumokuList.get(1);		// 対応記録明細番号

						updateDtm = updateDtmMap.get(taioKrkNo);
						if (updateDtm == null)
						{
							updateDtm = oneLineKoumokuList.get(2);		// 対応記録．更新年月日時分秒
						}

						taioKrkInfoMap = getMailSendInfo(taioKrkNo, taioKrkDtlNo, updateDtm);
						errMessage = taioKrkInfoMap.get(KEY_ERR_MESSAGE);
						if (errMessage != null)
						{
							existDtlError = true;
							errList.add(errMessage);
						}
					}
				}

				if (existDtlError == false)
				{
					// 2-(6) データチェック処理
					if (rowNum >= 2)
					{
						// 2行目以降の場合

						// データチェック
						String tiawsJotaiCd = 		taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.TOIAWASE_STAT_CD);			// 問合せ状態コード
						String sendMailTypeCd = 	taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD);		// 送信メールタイプコード
						String ichijiHozonUmu = 	taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.TMP_SAVE_UM);				// 一時保存有無
						errMessage = checkData(tiawsJotaiCd, sendMailTypeCd, ichijiHozonUmu, taioKrkNo, taioKrkDtlNo);
						if (errMessage != null)
						{
							existDtlError = true;
							errList.add(errMessage);
						}
					}
				}

				// 2-(7) メール送信関連処理
				if (existDtlError == false)
				{
					if (rowNum >= 2)
					{
						// 2行目以降の場合

						Map<String, String> paramMap = new HashMap<String, String>();
						paramMap.put(KEY_CLOSE_UMU_KBN, 			closeUmu);				// クローズ有無区分
						paramMap.put(KEY_LOGIN_USER_MYBOX_NO, 		loginUserMyBoxNo);		// ログインユーザーのMYBOX番号
						paramMap.put(KEY_LOGIN_USER_ID, 			loginUserId);			// 画面のログインユーザーID
						paramMap.put(KEY_LOGIN_USER_NM, 			loginUserNm);			// 画面のログインユーザー名
						paramMap.put(KEY_LOGIN_USER_WKKBT_ORG_CD, 	loginUserWkKbtOrgCd);	// 画面ログインユーザーの業務個別設定組織コード
						paramMap.put(KEY_LOGIN_USER_WKKBT_ORG_NM, 	loginUserWkKbtOrgNm);	// 画面ログインユーザーの業務個別設定組織名
						paramMap.put(KEY_TAIO_KRK_NO, 				taioKrkNo);				// 対応記録番号
						paramMap.put(KEY_TAIO_KRK_DTL_NO, 			taioKrkDtlNo);			// 対応記録明細番号

						// 登録更新処理
						Map<String, String> entryResMap = entry(paramMap, taioKrkInfoMap);
						errMessage = entryResMap.get(KEY_ERR_MESSAGE);
						if (errMessage != null)
						{
							existDtlError = true;
							errList.add(errMessage);
						}
						else
						{
							String taioKirkUpdateDtm = entryResMap.get(KEY_UPDATE_DTM);		// 対応記録の更新年月日時分秒
							updateDtmMap.put(taioKrkNo, taioKirkUpdateDtm);
						}
					}
				}
				gamenData = gamenDataFile.readLine();
			}
		}
		finally
		{
			// 処理件数ログ出力
			JCRBatCommon.printShoriCountLog(commonItem, "処理行数", rowNum);

			if (gamenDataFile != null)
			{
				try
				{
					gamenDataFile.close();
				}
				catch (IOException ioe)
				{
					// ECRB0260KW %1%処理中に予期せぬエラーが発生しました。　%2%
					super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.ECRB0260KW, new String[]{"画面入力情報ファイルクローズ", "(処理は続行します)"});
				}
			}
		}
		return errList;
	}

	/**
	 * 項目数チェック
	 * @param rowNum 行番号
	 * @param koumokuSu 項目数
	 * @return エラーメッセージ
	 */
	private String checkKoumokuSu(int rowNum, int koumokuSu)
	{
		String errMessage = null;

		if (rowNum == 1)
		{
			// 1行目の場合
			if (koumokuSu != KOUMOKUSU_1GYOUME)
			{
				// ECRB0180KW:項目数が正しくありません。（%1%）
				String messageId = JPCBatchMessageConstant.ECRB0180KW;
				String[] logParam = new String[]{"1行目"};
				errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
				super.logPrint.printBusinessErrorLog(messageId, logParam);
			}
		}
		else
		{
			// 2行目以降の場合
			if (koumokuSu != KOUMOKUSU)
			{
				// ECRB0180KW:項目数が正しくありません。（%1%）
				String messageId = JPCBatchMessageConstant.ECRB0180KW;
				String[] logParam = new String[]{rowNum + "行目"};
				errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
				super.logPrint.printBusinessErrorLog(messageId, logParam);
			}
		}

		return errMessage;
	}

	/**
	 * MYBOX情報取得
	 * @param userId ユーザーID
	 * @return キューBOX情報Map
	 * 			キー				値
	 * 			KEY_ERR_MESSAGE		エラーメッセージ
	 * 			MYBOX_NO			MYBOX番号
	 * @throws Exception 例外
	 */
	private Map<String, String> getMyBox(String userId) throws Exception
	{
		Map<String, String> resMap = new HashMap<String, String>();
		String errMessage = null;

		// MYBOX情報取得
		executeCR_T_MYBOX_CR_SELECT_001(new String[]{userId});
		JBSbatCommonDBInterface myBoxData = db_CR_T_MYBOX.selectNext();
		if (myBoxData != null)
		{
			resMap.put(JBSbatCR_T_MYBOX.MYBOX_NO, myBoxData.getString(JBSbatCR_T_MYBOX.MYBOX_NO));
		}
		else
		{
			// ECRB0250KW:データが登録されていません。（%1%）
			String messageId = JPCBatchMessageConstant.ECRB0250KW;
			String[] logParam = new String[]{"MYBOX未登録　ユーザーID:" + userId};
			errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
			super.logPrint.printBusinessErrorLog(messageId, logParam);
		}

		resMap.put(KEY_ERR_MESSAGE, errMessage);

		return resMap;
	}

	/**
	 * メール送信情報取得
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param updateDtm 対応記録．更新年月日時分秒
	 * @return 対応記録情報Map
	 * 			キー					値
	 * 			KEY_ERR_MESSAGE			エラーメッセージ
	 * 			TAIO_USER_ID			対応ユーザーID
	 * 			MYBOX_NO				MYBOX番号
	 * 			QUE_BOX_NO				キューBOX番号
	 * 			TAIO_STA_DTM			対応開始年月日時分秒
	 * 			TOIAWASE_STAT_CD		問合せ状態コード
	 * 			TAIO_KIROK_RIREKI		対応記録履歴
	 * 			TMP_SAVE_UM				一時保存有無
	 * 			TOIAWASE_NAIYO			問合せ内容
	 * 			MAIL_TITLE				メール件名
	 * 			MAIL_HEADER				メールヘッダー
	 * 			MAIL_FOOTER				メールフッター
	 * 			MAIL_TEXT				メール本文
	 * 			SENDS_MLAD				送信先メールアドレス
	 * 			SENDM_MLAD				送信元メールアドレス
	 * 			CC_MLAD					CCメールアドレス
	 * 			SEND_MAIL_TYPE_CD		送信メールタイプコード
	 * 			HNSIN_TENSO_SYMBOL_CD	返信転送記号コード
	 * @throws Exception 例外
	 */
	private Map<String, String> getMailSendInfo(String taioKrkNo, String taioKrkDtlNo, String updateDtm) throws Exception
	{
		Map<String, String> resMap = new HashMap<String, String>();
		String errMessage = null;

		executeCR_T_TAIO_KIROK_CR_SELECT_017(new String[]{taioKrkNo, taioKrkNo, taioKrkDtlNo, updateDtm});
		JBSbatCommonDBInterface taioKrkData = db_CR_T_TAIO_KIROK.selectNext();
		if (taioKrkData != null)
		{
			resMap.put(JBSbatCR_T_TAIO_KIROK.TAIO_USER_ID, 				taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.TAIO_USER_ID));				// 対応ユーザーID
			resMap.put(JBSbatCR_T_TAIO_KIROK.MYBOX_NO, 					taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.MYBOX_NO));					// MYBOX番号
			resMap.put(JBSbatCR_T_TAIO_KIROK.QUE_BOX_NO, 				taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.QUE_BOX_NO));				// キューBOX番号
			resMap.put(JBSbatCR_T_TAIO_KIROK.TAIO_STA_DTM, 				taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.TAIO_STA_DTM));				// 対応開始年月日時分秒
			resMap.put(JBSbatCR_T_TAIO_KIROK.TOIAWASE_STAT_CD, 			taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.TOIAWASE_STAT_CD));			// 問合せ状態コード
			resMap.put(JBSbatCR_T_TAIO_KIROK.TAIO_KIROK_RIREKI, 		taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.TAIO_KIROK_RIREKI));		// 対応記録履歴
			resMap.put(JBSbatCR_T_TAIO_KIROK.TMP_SAVE_UM, 				taioKrkData.getString(JBSbatCR_T_TAIO_KIROK.TMP_SAVE_UM));				// 一時保存有無
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.ACTION_TYPE_CD, 			taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.ACTION_TYPE_CD));			// アクションタイプコード
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.TOIAWASE_NAIYO, 			taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.TOIAWASE_NAIYO));			// 問合せ内容
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.MAIL_TITLE, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.MAIL_TITLE));				// メール件名
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.MAIL_HEADER, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.MAIL_HEADER));				// メールヘッダー
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.MAIL_FOOTER, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.MAIL_FOOTER));				// メールフッター
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.MAIL_TEXT, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.MAIL_TEXT));				// メール本文
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.SENDS_MLAD, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.SENDS_MLAD));				// 送信先メールアドレス
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.SENDM_MLAD, 				taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.SENDM_MLAD));				// 送信元メールアドレス
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.CC_MLAD, 					taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.CC_MLAD));					// CCメールアドレス
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD, 		taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD));		// 送信メールタイプコード
			resMap.put(JBSbatCR_T_TAIOKRK_DTL.HNSIN_TENSO_SYMBOL_CD, 	taioKrkData.getString(JBSbatCR_T_TAIOKRK_DTL.HNSIN_TENSO_SYMBOL_CD));	// 返信転送記号CD
		}
		else
		{
			// ECRB0250KW:データが登録されていません。（%1%）
			String messageId = JPCBatchMessageConstant.ECRB0250KW;
			String[] logParam = new String[]{"[対応記録テーブル] 問合せID:" + taioKrkNo + "、明細番号:" + taioKrkDtlNo};
			errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
			super.logPrint.printBusinessErrorLog(messageId, logParam);
		}

		resMap.put(KEY_ERR_MESSAGE, errMessage);

		return resMap;
	}

	/**
	 * 2-(6) データチェック処理
	 * @param tiawsJotaiCd 問合せ状態コード
	 * @param sendMailTypeCd 送信メールタイプコード
	 * @param ichijiHozonUmu 一時保存有無
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @return エラーメッセージ
	 */
	private String checkData(String tiawsJotaiCd, String sendMailTypeCd, String ichijiHozonUmu, String taioKrkNo, String taioKrkDtlNo)
	{
		// 2-(6) データチェック処理

		String errMessage = null;
		String messageId = JPCBatchMessageConstant.ECRB0190KW;

		// (a) 問合せ状態チェック
		if (JCRStrConst.CD_DIV_TOIAWASE_STAT_CD_ESCL.equals(tiawsJotaiCd) == false)
		{
			// 問合せ状態が「エスカレーション」でない場合
			// ECRB0190KW:%1%の内容が正しくありません。（%2%）
			String sendMailType = sendMailTypeMap.get(sendMailTypeCd);
			String[] logParam = new String[]{"問合せ状態", "問合せID:" + taioKrkNo + "、送信区分:" + sendMailType};
			errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
			super.logPrint.printBusinessErrorLog(messageId, logParam);
		}

		// (b) 送信メールタイプチェック
		if (errMessage == null)
		{
			if (JCRStrConst.SEND_MAIL_TYPE_CD_REPLY.equals(sendMailTypeCd) == false
				&& JCRStrConst.SEND_MAIL_TYPE_CD_FORWARD.equals(sendMailTypeCd) == false)
			{
				// 送信メールタイプが「返信」「転送」でない場合
				// ECRB0190KW:%1%の内容が正しくありません。（%2%）
				String sendMailType = sendMailTypeMap.get(sendMailTypeCd);
				String[] logParam = new String[]{"送信メールタイプ", "問合せID:" + taioKrkNo + "、送信区分:" + sendMailType};
				errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
				super.logPrint.printBusinessErrorLog(messageId, logParam);
			}
		}

		// (c) 一時保存有無チェック
		if (errMessage == null)
		{
			if (JCRStrConst.TEMP_SAVE_OFF.equals(ichijiHozonUmu) == false)
			{
				// 一時保存有無が「無」でない場合
				// ECRB0190KW:%1%の内容が正しくありません。（%2%）
				String sendMailType = sendMailTypeMap.get(sendMailTypeCd);
				String[] logParam = new String[]{"一時保存有無", "問合せID:" + taioKrkNo + "、送信区分:" + sendMailType + "　一時保存中"};
				errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
				super.logPrint.printBusinessErrorLog(messageId, logParam);
			}
		}

		return errMessage;
	}

	/**
	 * 2-(7) メール送信関連処理
	 * @param paramMap 引数格納Map
	 * @param taioKrkInfoMap 対応記録情報Map
	 * @return 処理結果情報Map
	 * 			キー				値
	 * 			KEY_UPDATE_DTM		対応記録．更新年月日時分秒
	 * 			KEY_ERR_MESSAGE		エラーメッセージ
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	private Map<String, String> entry(Map<String, String> paramMap, Map<String, String> taioKrkInfoMap) throws Exception
	{
		// 2-(7) メール送信関連処理

		Map<String, String> resMap = new HashMap<String, String>();

		String errMessage = null;
		String closeUmuKbn = 			paramMap.get(KEY_CLOSE_UMU_KBN);			// クローズ有無区分
		String loginUserId = 			paramMap.get(KEY_LOGIN_USER_ID);			// ログインユーザーID
		String loginUserNm = 			paramMap.get(KEY_LOGIN_USER_NM);			// ログインユーザー名
		String loginUserWkKbtOrgCd = 	paramMap.get(KEY_LOGIN_USER_WKKBT_ORG_CD);	// ログインユーザーの業務個別設定組織コード
		String loginUserMyBoxNo = 		paramMap.get(KEY_LOGIN_USER_MYBOX_NO);		// ログインユーザーのMYBOX番号
		String taioKrkNo = 				paramMap.get(KEY_TAIO_KRK_NO);				// 対応記録番号
		String taioKrkDtlNo = 			paramMap.get(KEY_TAIO_KRK_DTL_NO);			// 対応記録明細番号

		// (a) 未送信明細有無判定
		boolean existMisousinMeisai = existMisousinMeisai(taioKrkNo, taioKrkDtlNo, taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.ACTION_TYPE_CD));

		// (b) 添付ファイル情報取得
		executeCR_T_TORK_EFILE_KNRI_CR_SELECT_006(new String[]{taioKrkNo, taioKrkDtlNo});
		List<JBSbatCommonDBInterface> tempFileDataList = JCRBatCommon.getSelectedDataList(db_CR_T_TORK_EFILE_KNRI);

		// (c) 返信転送記号取得
		String hensinKigouCd = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.HNSIN_TENSO_SYMBOL_CD);
		String hensinKigou = null;
		if (HENSIN_KIGOU_MISENTAKU.equals(hensinKigouCd) == false)
		{
			// 「返信転送記号コード」が'0'(未選択)でない場合
			hensinKigou = hensinKigouMap.get(hensinKigouCd);
		}
		// メール件名生成
		String kenmei = (hensinKigou == null ? "" : hensinKigou) + taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_TITLE);

		// (d) 対応記録更新
		String updateDtm = updateTaioKrk(existMisousinMeisai, closeUmuKbn, kenmei, tempFileDataList, taioKrkInfoMap, paramMap);

		// (e) 対応記録明細登録・更新
		String mailMeisaiNo = entryTaioKirkDtl(taioKrkNo, taioKrkDtlNo, loginUserId, loginUserWkKbtOrgCd, existMisousinMeisai, closeUmuKbn, taioKrkInfoMap);

		// (f) 対応履歴電子ファイル管理登録(添付ファイル)
		if ((tempFileDataList != null) && (tempFileDataList.size() > 0))
		{
			entryTaiorkEFileKanri(tempFileDataList, taioKrkNo, mailMeisaiNo);
		}

		// (g) キューBOX更新	(現在格納数 - 1)
		if (existMisousinMeisai == false)
		{
			// 未送信明細無の場合
			String[] param = new String[]{"-1", JCRBatCommon.getSysDateTimeStamp(), batchUserId, taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.QUE_BOX_NO)};
			executeCR_T_QUE_BOX_CR_UPDATE_002(param);
		}

		// (h) MYBOX更新		(現在格納数 + 1)
		if ((existMisousinMeisai == false) && (CLOSE_UMU_NASHI.equals(closeUmuKbn)))
		{
			// 未送信明細無かつ、クローズ無の場合
			String sysDtms = JCRBatCommon.getSysDateTimeStamp();
			String[] param = new String[]{"1", sysDtms, sysDtms, batchUserId, loginUserMyBoxNo};
			executeCR_T_MYBOX_CR_UPDATE_001(param);
		}

		// (i) 問合せモニタワーク登録
		entryTiawsMonitor(closeUmuKbn,
						existMisousinMeisai,
						taioKrkNo,
						taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.QUE_BOX_NO),
						loginUserId,
						loginUserNm,
						loginUserWkKbtOrgCd);

		// (j) メール送信
		HashMap<String, Object> outputMap = sendMail(taioKrkNo, taioKrkDtlNo, taioKrkInfoMap, tempFileDataList, kenmei);

		// メール送信結果取得
		String returnCd = JCRBatCommon.getReturnCode(outputMap);
		commonItem.getLogPrint().printDebugLog("メール送信サービス　リターンコード：" + returnCd);

		if (RETURN_CD_SUCCESS.equals(returnCd))
		{
			// (k) メール送信正常終了時処理

			// 1 更新処理コミット
			super.commit();

			// 2 メール送信番号取得
			Map<String, String> mailSendMap = (Map<String, String>)outputMap.get(KEY_SEND_DATA);
			String mailSendNo = mailSendMap.get(KEY_MAIL_SEND_NO);

			// 3 メール送信番号更新
			updateTaioKirkDtlMailSendNo(taioKrkNo, mailMeisaiNo, mailSendNo);

			// 4 メール送信番号更新コミット
			super.commit();
		}
		else
		{
			// (l) メール送信異常終了時処理
			// 1 更新処理ロールバック
			commonItem.getConnection().rollback();

			// ECRB0430KW：メール送信が失敗しました。 %1%
			String messageId = JPCBatchMessageConstant.ECRB0430KW;
			String sendMailTypeCd = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD);	// 送信メールタイプコード
			String sendMailType = sendMailTypeMap.get(sendMailTypeCd);
			String[] logParam = new String[]{"問合せID:" + taioKrkNo + "、送信区分:" + sendMailType + "、明細番号:" + taioKrkDtlNo};
			errMessage = JBSbatLogPrintControl.getMessage(messageId, logParam);
			super.logPrint.printBusinessErrorLog(messageId, logParam);
		}

		resMap.put(KEY_UPDATE_DTM, updateDtm);
		resMap.put(KEY_ERR_MESSAGE, errMessage);

		return resMap;
	}

	/**
	 * 未送信状態の対応記録明細レコード有無を取得する
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param actionTypeCd アクションタイプコード
	 * @return 未送信状態の対応記録明細レコードが存在する場合 true
	 * @throws Exception 例外
	 */
	private boolean existMisousinMeisai(String taioKrkNo, String taioKrkDtlNo, String actionTypeCd) throws Exception
	{
		executeCR_T_TAIOKRK_DTL_CR_SELECT_007(new String[]{taioKrkNo, taioKrkDtlNo, actionTypeCd});
		JBSbatCommonDBInterface taioKrkMeisaiData = db_CR_T_TAIOKRK_DTL.selectNext();
		int count = taioKrkMeisaiData.getBigDecimal(CNT).intValue();
		return (count > 0);
	}

	/**
	 * 対応記録更新
	 * @param existMisousinMeisai 未送信明細有無
	 * @param closeUmuKbn クローズ有無区分
	 * @param kenmei メール件名
	 * @param tempFileDataList 添付ファイル情報List
	 * @param taioKrkInfoMap 対応記録情報Map
	 * @param paramMap 引数格納Map
	 * @return 更新年月日時分秒
	 * @throws Exception 例外
	 */
	private String updateTaioKrk(boolean existMisousinMeisai,
								String closeUmuKbn,
								String kenmei,
								List<JBSbatCommonDBInterface> tempFileDataList,
								Map<String, String> taioKrkInfoMap,
								Map<String, String> paramMap) throws Exception
	{
		String loginUserMyBoxNo = 		paramMap.get(KEY_LOGIN_USER_MYBOX_NO);			// ログインユーザーのMYBOX番号
		String loginUserId = 			paramMap.get(KEY_LOGIN_USER_ID);				// 画面のログインユーザーID
		String loginUserNm = 			paramMap.get(KEY_LOGIN_USER_NM);				// 画面のログインユーザー名
		String loginUserWkKbtOrgNm = 	paramMap.get(KEY_LOGIN_USER_WKKBT_ORG_NM);		// 画面の業務個別設定組織名
		String taioKrkNo = 				paramMap.get(KEY_TAIO_KRK_NO);					// 対応記録番号

		String sysDtms = JCRBatCommon.getSysDateTimeStamp();
		String sysDtm = JCRBatCommon.getSysDateTime();

		// 対応記録履歴編集
		String rireki = makeRireki(existMisousinMeisai,
								closeUmuKbn,
								kenmei,
								tempFileDataList,
								loginUserNm,
								loginUserWkKbtOrgNm,
								taioKrkInfoMap);

		if (existMisousinMeisai == false)
		{
			// 未送信明細無の場合

			if (CLOSE_UMU_NASHI.equals(closeUmuKbn))
			{
				// クローズ無の場合

				String[] params = new String[]{
					loginUserId,						// 対応ユーザーID
					loginUserMyBoxNo,					// MYBOX番号
					sysDtm,								// MYBOX番号格納年月日時分秒
					rireki,	 							// 対応記録履歴
					sysDtms,							// 更新年月日時分秒
					batchUserId,						// 更新オペレータアカウント
					taioKrkNo							// 対応記録番号
				};
				executeCR_T_TAIO_KIROK_CR_UPDATE_005(params);
			}
			else
			{
				// クローズ有の場合

				// 対応開始年月日時分秒
				String taioKaishiDtm = taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.TAIO_STA_DTM);

				String[] params = new String[]{
					loginUserId,						// 対応ユーザーID
					loginUserMyBoxNo,					// MYBOX番号
					sysDtm,								// MYBOX番号格納年月日時分秒
					sysDtm,								// 対応完了年月日時分秒
					sysDtm,								// 対応クローズ年月日時分秒
					JCRBatCommon.calcTotalTranTime(taioKaishiDtm, sysDtm),	// トータル処理時間
					rireki,	 							// 対応記録履歴
					sysDtms,							// 更新年月日時分秒
					batchUserId,						// 更新オペレータアカウント
					taioKrkNo							// 対応記録番号
				};
				executeCR_T_TAIO_KIROK_CR_UPDATE_006(params);
			}
		}
		else
		{
			// 未送信明細有の場合

			String[] params = new String[]{
				rireki,	 								// 対応記録履歴
				sysDtms,								// 更新年月日時分秒
				batchUserId,							// 更新オペレータアカウント
				taioKrkNo								// 対応記録番号
			};
			executeCR_T_TAIO_KIROK_CR_UPDATE_007(params);
		}

		return sysDtms;
	}

	/**
	 * 対応記録履歴生成
	 * @param existMisousinMeisai 未送信明細有無
	 * @param closeUmuKbn クローズ有無区分
	 * @param kenmei メール件名
	 * @param tempFileDataList 添付ファイル情報List
	 * @param loginUserNm ログインユーザー名
	 * @param loginUserWkKbtOrgNm ログインユーザーの業務個別設定組織名
	 * @param taioKrkInfoMap 対応記録情報Map
	 * @return 生成された対応記録履歴
	 * @throws Exception 例外
	 */
	private String makeRireki(boolean existMisousinMeisai,
			String closeUmuKbn,
							String kenmei,
							List<JBSbatCommonDBInterface> tempFileDataList,
							String loginUserNm,
							String loginUserWkKbtOrgNm,
							Map<String, String> taioKrkInfoMap) throws Exception
	{
		StringBuilder sb = new StringBuilder();
		String sysDtm = JCRBatCommon.getSysDateTime();
		String dtm = JCRBatCommon.formatDatetimeMM(sysDtm.substring(0, KETA_YYYYMMDDHHMM));

		String taioKirokRireki = taioKrkInfoMap.get(JBSbatCR_T_TAIO_KIROK.TAIO_KIROK_RIREKI);

		// 対応記録履歴の終端改行コード付加処理
		taioKirokRireki = JCRUtilCommon.addCRLF(taioKirokRireki);

		sb.append(taioKirokRireki);

		if (existMisousinMeisai == false)
		{
			// 未送信明細無の場合
			sb.append("□アクセプト：　").append(loginUserWkKbtOrgNm).append("(").append(loginUserNm).append(") ");
			sb.append(dtm).append(JCRStrConst.KAIGYO_CD);
			sb.append("------------------------------------------------------------").append(JCRStrConst.KAIGYO_CD);
		}

		String sendMailTypeCd = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD);	// 送信メールタイプコード

		String taioSbt = "メール返信";
		if (JCRStrConst.SEND_MAIL_TYPE_CD_FORWARD.equals(sendMailTypeCd))
		{
			taioSbt = "メール転送";
		}
		sb.append("◆対応箇所：　").append(loginUserWkKbtOrgNm).append("(").append(loginUserNm).append(") ").append(JCRStrConst.KAIGYO_CD);
		sb.append("　対応日時：　").append(dtm).append(JCRStrConst.KAIGYO_CD);
		sb.append("　対応種別：　").append(taioSbt).append(JCRStrConst.KAIGYO_CD);
		sb.append(JCRStrConst.KAIGYO_CD);
		sb.append("■送信").append(JCRStrConst.KAIGYO_CD);
		sb.append("From：　").append(taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDM_MLAD)).append(JCRStrConst.KAIGYO_CD);

		String toMlad = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDS_MLAD);
		sb.append("To  ：　").append(toMlad == null ? "" : toMlad).append(JCRStrConst.KAIGYO_CD);

		String ccMlad = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.CC_MLAD);
		sb.append("Cc  ：　").append(ccMlad == null ? "" : ccMlad).append(JCRStrConst.KAIGYO_CD);

		sb.append("件名：　").append(kenmei == null ? "" : kenmei).append(JCRStrConst.KAIGYO_CD);

		sb.append("内容：　----------------------------------------").append(JCRStrConst.KAIGYO_CD);

		String honbun = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_TEXT);
		sb.append(honbun == null ? "" : honbun).append(JCRStrConst.KAIGYO_CD);

		String footer = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_FOOTER);
		sb.append(footer == null ? "" : footer).append(JCRStrConst.KAIGYO_CD);

		String tiawsNaiyo = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.TOIAWASE_NAIYO);
		sb.append(tiawsNaiyo == null ? "" : addIndentSign(tiawsNaiyo)).append(JCRStrConst.KAIGYO_CD);

		if ((tempFileDataList != null) && (tempFileDataList.size() > 0))
		{
			String tempFileTitle = "<< 返信時添付ファイル >>";
			if (JCRStrConst.SEND_MAIL_TYPE_CD_FORWARD.equals(sendMailTypeCd))
			{
				tempFileTitle = "<< 転送時添付ファイル >>";
			}
			sb.append(tempFileTitle).append(JCRStrConst.KAIGYO_CD);
			for (int i = 0; i < tempFileDataList.size(); i++)
			{
				JBSbatCommonDBInterface tempFileData = tempFileDataList.get(i);
				String tempFileNm = tempFileData.getString(JBSbatCR_T_TORK_EFILE_KNRI.TAIORRKI_BUNSHO_FILE_NM);
				sb.append("⇒").append(tempFileNm).append(JCRStrConst.KAIGYO_CD);
			}
		}
		sb.append("------------------------------------------------------------").append(JCRStrConst.KAIGYO_CD);

		if ((existMisousinMeisai == false) && (CLOSE_UMU_ARI.equals(closeUmuKbn)))
		{
			// 未送信明細無かつクローズ有の場合
			sb.append("◇クローズ：　").append(loginUserWkKbtOrgNm).append("(").append(loginUserNm).append(") ");
			sb.append(dtm).append(JCRStrConst.KAIGYO_CD);
			sb.append("------------------------------------------------------------").append(JCRStrConst.KAIGYO_CD);
		}

		commonItem.getLogPrint().printDebugLog("メール送信一括　履歴情報：" + JCRStrConst.KAIGYO_CD + sb);

		return sb.toString();
	}

	/**
	 * メール用インデント記号付加
	 * @param text 対象文字列
	 * @return 例外
	 */
	private static String addIndentSign(String text)
	{
		String res = text;
		if (text != null && !("".equals(text.trim())))
		{
			res = JCRStrConst.STR_GREATER + res;
			res = res.replaceAll(JCRStrConst.KAIGYO_CD, JCRStrConst.KAIGYO_CD + JCRStrConst.STR_GREATER);
		}
		return res;
	}

	/**
	 * 2-(7)-(e) 対応記録明細登録・更新
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param loginUserId ログインユーザーID
	 * @param wkKbtOrgCd 業務個別設定組織コード
	 * @param existMisousinMeisai 未送信明細有無
	 * @param closeUmuKbn クローズ有無区分
	 * @param taioKrkInfoMap 対応記録情報
	 * @return メール送信登録時の対応記録明細番号
	 * @throws Exception 例外
	 */
	private String entryTaioKirkDtl(String taioKrkNo,
									String taioKrkDtlNo,
									String loginUserId,
									String wkKbtOrgCd,
									boolean existMisousinMeisai,
									String closeUmuKbn,
									Map<String, String> taioKrkInfoMap) throws Exception
	{
		// 2-(7)-(e) 対応記録明細登録・更新

		// 1 最大対応記録明細番号取得
		executeCR_T_TAIOKRK_DTL_CR_SELECT_006(new String[]{taioKrkNo});
		JBSbatCommonDBInterface taioKrkMeisaiData = db_CR_T_TAIOKRK_DTL.selectNext();
		int maxTaioKrkDtlNo = taioKrkMeisaiData.getBigDecimal(JBSbatCR_T_TAIOKRK_DTL.TAIO_KIROK_DTL_NO).intValue();

		// 2 対応記録明細登録(アクセプト)
		if (existMisousinMeisai == false)
		{
			// 未送信明細が「無」の場合
			String acceptMeisaiNo = JCRBatCommon.fillZero(String.valueOf(++maxTaioKrkDtlNo), KETA_TAIO_KIROK_DTL_NO, false);
			entryTaioKirkDtlForAccept(taioKrkNo, acceptMeisaiNo, loginUserId, wkKbtOrgCd);
		}

		// 3 対応記録明細登録(メール送信(転送))
		String mailMeisaiNo = JCRBatCommon.fillZero(String.valueOf(++maxTaioKrkDtlNo), KETA_TAIO_KIROK_DTL_NO, false);
		entryTaioKirkDtlForMail(taioKrkNo, mailMeisaiNo, loginUserId, wkKbtOrgCd, taioKrkInfoMap);

		// 4 対応記録明細登録(クローズ)
		if ((existMisousinMeisai == false) && CLOSE_UMU_ARI.equals(closeUmuKbn))
		{
			// 未送信明細無かつクローズ有無＝有の場合
			String closeMeisaiNo = JCRBatCommon.fillZero(String.valueOf(++maxTaioKrkDtlNo), KETA_TAIO_KIROK_DTL_NO, false);
			entryTaioKirkDtlForClose(taioKrkNo, closeMeisaiNo, loginUserId, wkKbtOrgCd);
		}

		// 5 対応記録明細更新(送信済)
		updateTaioKirkDtlSendSumi(taioKrkNo, taioKrkDtlNo, loginUserId);

		// 6 対応記録明細更新(送信不要)
		updateTaioKirkDtlSendHuyou(taioKrkNo, taioKrkDtlNo, taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.ACTION_TYPE_CD));

		return mailMeisaiNo;
	}

	/**
	 * 対応記録明細登録(アクセプト)
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param taioUserId 対応ユーザーID
	 * @param wkKbtOrgCd 業務個別設定組織コード
	 * @throws Exception 例外
	 */
	private void entryTaioKirkDtlForAccept(String taioKrkNo, String taioKrkDtlNo, String taioUserId, String wkKbtOrgCd) throws Exception
	{
		String sysDtm = JCRBatCommon.getSysDateTime();
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		String[] param = new String[]{
				taioKrkNo,										// 対応記録番号
				taioKrkDtlNo,									// 対応記録明細番号
				JCRStrConst.CD_DIV_ACTION_TYPE_CD_ACCEPT,		// アクションタイプコード(アクセプト)
				sysDtm,											// アクション開始年月日時分秒
				sysDtm,											// アクション完了年月日時分秒
				taioUserId,										// 対応ユーザーＩＤ
				null,											// 問合せ内容
				null,											// 問合せ元名
				null,											// 回答内容
				null,											// コンタクト先コード
				null,											// メモ内容
				null,											// メモタイプコード
				JCRStrConst.CD_DIV_HENSHU_STAT_FLG_KANRYO ,		// 編集中フラグ
				null,											// メール受信番号
				null,											// メールヘッダー内タイトル
				null,											// メールヘッダー内送信者メールアドレス
				null,											// メールヘッダー内宛先メールアドレス
				null,											// メールヘッダー内ＣＣメールアドレス
				null,											// メールヘッダー内メッセージＩＤ
				null,											// メールヘッダー内送信年月日時分秒
				null,											// メールヘッダー内受信年月日時分秒
				null,											// メール送信番号
				null,											// メールタイトル
				null,											// メール受信本文
				null,											// 元メールアドレス
				null,											// メールヘッダー
				null,											// メールフッター
				null,											// メール本文
				null,											// 送信先メールアドレス
				null,											// 送信元メールアドレス
				null,											// ＣＣメールアドレス
				null,											// 送信メールタイプコード
				null,											// メール送信年月日時分秒
				null,											// 送信ユーザーＩＤ
				null,											// 送信状態コード
				null,											// 返信記号コード
				sysDtms,										// 登録年月日時分秒
				batchUserId,									// 登録オペレータアカウント
				sysDtms,										// 更新年月日時分秒
				batchUserId,									// 更新オペレータアカウント
				null,											// 削除年月日時分秒
				null,											// 削除オペレータアカウント
				JCRStrConst.CD_DIV_MK_FLG_YUKO,					// 無効フラグ
				null,											// 登録運用年月日
				null,											// 登録処理ＩＤ
				null,											// 更新運用年月日
				null,											// 更新処理ＩＤ
				null,											// 削除運用年月日
				null,											// 削除処理ＩＤ
				wkKbtOrgCd										// 業務個別設定組織コード
		};
		// 対応記録明細登録
		executeCR_T_TAIOKRK_DTL_PKINSERT(param);
	}

	/**
	 * 対応記録明細登録(メール送信(転送))
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param taioUserId 対応ユーザーID
	 * @param wkKbtOrgCd 業務個別設定組織コード
	 * @param taioKrkInfoMap 対応記録情報Map
	 * @throws Exception 例外
	 */
	private void entryTaioKirkDtlForMail(String taioKrkNo,
										String taioKrkDtlNo,
										String taioUserId,
										String wkKbtOrgCd,
										Map<String, String> taioKrkInfoMap) throws Exception
	{
		String sysDtm = JCRBatCommon.getSysDateTime();
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		String sendMailTypeCd = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD);	// 送信メールタイプコード
		String actionType = JCRStrConst.CD_DIV_ACTION_TYPE_CD_MLSSN;	// メール送信
		if (JCRStrConst.SEND_MAIL_TYPE_CD_FORWARD.equals(sendMailTypeCd))
		{
			actionType = JCRStrConst.CD_DIV_ACTION_TYPE_CD_MLTNSO;		// メール転送
		}

		String[] param = new String[]{
				taioKrkNo,															// 対応記録番号
				taioKrkDtlNo,														// 対応記録明細番号
				actionType,															// アクションタイプコード
				sysDtm,																// アクション開始年月日時分秒
				sysDtm,																// アクション完了年月日時分秒
				taioUserId,															// 対応ユーザーＩＤ
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.TOIAWASE_NAIYO),			// 問合せ内容
				null,																// 問合せ元名
				null,																// 回答内容
				null,																// コンタクト先コード
				null,																// メモ内容
				null,																// メモタイプコード
				JCRStrConst.CD_DIV_HENSHU_STAT_FLG_KANRYO ,							// 編集中フラグ
				null,																// メール受信番号
				null,																// メールヘッダー内タイトル
				null,																// メールヘッダー内送信者メールアドレス
				null,																// メールヘッダー内宛先メールアドレス
				null,																// メールヘッダー内ＣＣメールアドレス
				null,																// メールヘッダー内メッセージＩＤ
				null,																// メールヘッダー内送信年月日時分秒
				null,																// メールヘッダー内受信年月日時分秒
				null,																// メール送信番号
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_TITLE),				// メールタイトル
				null,																// メール受信本文
				null,																// 元メールアドレス
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_HEADER),				// メールヘッダー
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_FOOTER),				// メールフッター
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_TEXT),				// メール本文
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDS_MLAD),				// 送信先メールアドレス
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDM_MLAD),				// 送信元メールアドレス
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.CC_MLAD),					// ＣＣメールアドレス
				sendMailTypeCd,														// 送信メールタイプコード
				sysDtm,																// メール送信年月日時分秒
				taioUserId,															// 送信ユーザーＩＤ
				JCRStrConst.SEND_STAT_CD_SNDZM,										// 送信状態コード
				taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.HNSIN_TENSO_SYMBOL_CD),	// 返信転送記号コード
				sysDtms,															// 登録年月日時分秒
				batchUserId,														// 登録オペレータアカウント
				sysDtms,															// 更新年月日時分秒
				batchUserId,														// 更新オペレータアカウント
				null,																// 削除年月日時分秒
				null,																// 削除オペレータアカウント
				JCRStrConst.CD_DIV_MK_FLG_YUKO,										// 無効フラグ
				null,																// 登録運用年月日
				null,																// 登録処理ＩＤ
				null,																// 更新運用年月日
				null,																// 更新処理ＩＤ
				null,																// 削除運用年月日
				null,																// 削除処理ＩＤ
				wkKbtOrgCd															// 業務個別設定組織コード
		};
		// 対応記録明細登録
		executeCR_T_TAIOKRK_DTL_PKINSERT(param);
	}

	/**
	 * 対応記録明細登録(クローズ)
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param taioUserId 対応ユーザーID
	 * @param wkKbtOrgCd 業務個別設定組織コード
	 * @throws Exception 例外
	 */
	private void entryTaioKirkDtlForClose(String taioKrkNo, String taioKrkDtlNo, String taioUserId, String wkKbtOrgCd) throws Exception
	{
		String sysDtm = JCRBatCommon.getSysDateTime();
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		String[] param = new String[]{
				taioKrkNo,										// 対応記録番号
				taioKrkDtlNo,									// 対応記録明細番号
				JCRStrConst.CD_DIV_ACTION_TYPE_CD_CLOSE,		// アクションタイプコード(メモ登録)
				sysDtm,											// アクション開始年月日時分秒
				sysDtm,											// アクション完了年月日時分秒
				taioUserId,										// 対応ユーザーＩＤ
				null,											// 問合せ内容
				null,											// 問合せ元名
				null,											// 回答内容
				null,											// コンタクト先コード
				null,											// メモ内容
				null,											// メモタイプコード
				JCRStrConst.CD_DIV_HENSHU_STAT_FLG_KANRYO ,		// 編集中フラグ
				null,											// メール受信番号
				null,											// メールヘッダー内タイトル
				null,											// メールヘッダー内送信者メールアドレス
				null,											// メールヘッダー内宛先メールアドレス
				null,											// メールヘッダー内ＣＣメールアドレス
				null,											// メールヘッダー内メッセージＩＤ
				null,											// メールヘッダー内送信年月日時分秒
				null,											// メールヘッダー内受信年月日時分秒
				null,											// メール送信番号
				null,											// メールタイトル
				null,											// メール受信本文
				null,											// 元メールアドレス
				null,											// メールヘッダー
				null,											// メールフッター
				null,											// メール本文
				null,											// 送信先メールアドレス
				null,											// 送信元メールアドレス
				null,											// ＣＣメールアドレス
				null,											// 送信メールタイプコード
				null,											// メール送信年月日時分秒
				null,											// 送信ユーザーＩＤ
				null,											// 送信状態コード
				null,											// 返信記号コード
				sysDtms,										// 登録年月日時分秒
				batchUserId,									// 登録オペレータアカウント
				sysDtms,										// 更新年月日時分秒
				batchUserId,									// 更新オペレータアカウント
				null,											// 削除年月日時分秒
				null,											// 削除オペレータアカウント
				JCRStrConst.CD_DIV_MK_FLG_YUKO,					// 無効フラグ
				null,											// 登録運用年月日
				null,											// 登録処理ＩＤ
				null,											// 更新運用年月日
				null,											// 更新処理ＩＤ
				null,											// 削除運用年月日
				null,											// 削除処理ＩＤ
				wkKbtOrgCd										// 業務個別設定組織コード
		};
		// 対応記録明細登録
		executeCR_T_TAIOKRK_DTL_PKINSERT(param);
	}

	/**
	 * 対応記録明細　送信状態更新(送信済)
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param sendUserId 送信ユーザーID
	 * @throws Exception 例外
	 */
	private void updateTaioKirkDtlSendSumi(String taioKrkNo, String taioKrkDtlNo, String sendUserId) throws Exception
	{
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		// 設定項目
		String[] setParam = new String[]{sendUserId, JCRStrConst.SEND_STAT_CD_SNDZM , sysDtms, batchUserId};

		// 条件
		String[] whereParam = new String[]{taioKrkNo, taioKrkDtlNo};

		executeCR_T_TAIOKRK_DTL_PKUPDATE(setParam, whereParam);
	}

	/**
	 * 対応記録明細　送信状態更新(送信不要)
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param actionTypeCd アクションタイプコード
	 * @throws Exception 例外
	 */
	private void updateTaioKirkDtlSendHuyou(String taioKrkNo, String taioKrkDtlNo, String actionTypeCd) throws Exception
	{
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		// 条件
		String[] whereParam = new String[]{sysDtms, batchUserId, taioKrkNo, taioKrkDtlNo, actionTypeCd};

		executeCR_T_TAIOKRK_DTL_CR_UPDATE_003(whereParam);
	}

	/**
	 * 対応履歴電子ファイル管理登録
	 * @param tempFileDataList 添付ファイル情報List
	 * @param taioKirokNo 対応記録番号
	 * @param taioKirkDtlNo 対応記録明細番号(メール送信登録時の対応記録明細番号)
	 * @throws Exception 例外
	 */
	private void entryTaiorkEFileKanri(List<JBSbatCommonDBInterface> tempFileDataList, String taioKirokNo, String taioKirkDtlNo) throws Exception
	{
		String sysDtms = JCRBatCommon.getSysDateTimeStamp();

		for (int i = 0; i < tempFileDataList.size(); i++)
		{
			JBSbatCommonDBInterface tempFileData = tempFileDataList.get(i);
			String fileNm = tempFileData.getString(JBSbatCR_T_TORK_EFILE_KNRI.TAIORRKI_BUNSHO_FILE_NM);
			String eFileKanriNo = tempFileData.getString(JBSbatCR_T_TORK_EFILE_KNRI.EFILE_KANRI_NO);
			String torkEfileKnriNo = JCCBatCommon.getFormatedNextSeq(commonItem, JCRStrConst.SEQ_TORK_EFILE_KNRI_NO, "", KETA_TORK_EFILE_KNRI_NO);

			// 対応記録明細用データ登録
			String[] param = new String[]{
					torkEfileKnriNo,								// 対応履歴電子ファイル管理番号
					JCRStrConst.CD_DIV_BUNSHO_SBT_CD_TAIOKRK_DTL,	// 文書種別コード
					taioKirokNo,									// 対応記録番号
					taioKirkDtlNo,									// 対応記録明細番号
					null,											// クエリ番号
					eFileKanriNo,									// 電子ファイル管理番号
					fileNm,											// 対応履歴文書ファイル名
					sysDtms,										// 対応履歴文書作成年月日時分秒
					null,											// 業務個別設定組織コード
					null,											// 業務個別設定立場コード
					sysDtms,										// 登録年月日時分秒
					batchUserId,									// 登録オペレータアカウント
					sysDtms,										// 更新年月日時分秒
					batchUserId,									// 更新オペレータアカウント
					null,											// 削除年月日時分秒
					null,											// 削除オペレータアカウント
					JCRStrConst.CD_DIV_MK_FLG_YUKO					// 無効フラグ
			};
			// 対応履歴電子ファイル管理登録
			executeCR_T_TORK_EFILE_KNRI_PKINSERT(param);
		}
	}

	/**
	 * 2-(7)-(i) 問合せモニタワーク登録
	 * @param closeUmuKbn クローズ有無区分
	 * @param existMisousinMeisai 未送信明細有無
	 * @param taioKrkNo 対応記録番号
	 * @param queboxNo キューBOX番号
	 * @param loginUserId ログインユーザーID
	 * @param loginUserNm ログインユーザー名
	 * @param loginUserWkKbtOrgCd ログインユーザーの業務個別設定組織コード
	 * @throws Exception 例外
	 */
	private void entryTiawsMonitor(String closeUmuKbn,
									boolean existMisousinMeisai,
									String taioKrkNo,
									String queboxNo,
									String loginUserId,
									String loginUserNm,
									String loginUserWkKbtOrgCd) throws Exception
	{
		// 1 ユーザー別問合せモニタワーク登録		(クローズデータ)

		if ((existMisousinMeisai == false) && CLOSE_UMU_ARI.equals(closeUmuKbn))
		{
			// 未送信明細無かつクローズ有無＝有の場合
			JCRBatCommon.entryTiawsMonitorData(commonItem,
											JCRStrConst.DATA_SBT_CD_CLOSE,
											taioKrkNo,
											loginUserId,
											loginUserNm,
											loginUserWkKbtOrgCd);
		}

		// 2 キューBOX別問合せモニタワーク登録		(アクセプトデータ)
		if (existMisousinMeisai == false)
		{
			// 未送信明細が「無」の場合
			JCRBatCommon.entryTiawsMontQueMvData(commonItem,
												JCRStrConst.DATA_SBT_CD_ACCEPT,
												taioKrkNo,
												queboxNo,
												null,
												batchUserId);
		}
	}

	/**
	 * メール送信登録処理
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param taioKrkInfoMap 対応記録情報Map
	 * @param tempFileDataList 添付ファイル情報Map
	 * @param kenmei メール件名
	 * @return 処理結果Map
	 * @throws Exception 例外
	 */
	private HashMap<String, Object> sendMail(String taioKrkNo,
									String taioKrkDtlNo,
									Map<String, String> taioKrkInfoMap,
									List<JBSbatCommonDBInterface> tempFileDataList,
									String kenmei) throws Exception
	{
		// 2-(7)-(j) メール送信

		// 第2引数用Map(ユースケースID格納)
		HashMap<String, String> usecaseMap = new HashMap<String, String>();
		usecaseMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, USECASE_ID_SEND_MAIL);

		// 第3引数用Map(業務データ入力情報格納)
		HashMap<String, Map<String, Object>> inputMap = new HashMap<String, Map<String, Object>>();

		// メール送信情報Map
		Map<String, Object> sendCcMap = new HashMap<String, Object>();
		inputMap.put(KEY_SEND_DATA, sendCcMap);
		sendCcMap.put(KEY_FUNC_CODE, FUNC_CO_ENTRY);

		String sendMailTypeCd = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SEND_MAIL_TYPE_CD);	// 送信メールタイプコード
		String mailCd = mailCdForHensin;
		if (JCRStrConst.SEND_MAIL_TYPE_CD_FORWARD.equals(sendMailTypeCd))
		{
			mailCd = mailCdForTensou;
		}
		sendCcMap.put(KEY_MAIL_CD, mailCd);							// メールコード
		sendCcMap.put(KEY_MAIL_SEND_RCV_DTM, "");					// 送信予定年月日時分秒
		sendCcMap.put(KEY_SENDM_MLAD, taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDM_MLAD));	// 送信元メールアドレス
		sendCcMap.put(KEY_SENDM_MLAD_DSP_NM, "");					// 送信元名
		sendCcMap.put(KEY_MAIL_SEND_PATTERN_CD, SEND_PTN_REALTIME);	// メール送信パターンコード

		// 送信先List
		ArrayList<HashMap<String, String>> sendsList = new ArrayList<HashMap<String, String>>();
		// 送信先メールアドレス
		String sendsMlad = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.SENDS_MLAD);
		if (sendsMlad != null && ("".equals(sendsMlad.trim()) == false))
		{
			String[] toAddress = sendsMlad.split(";");
			for (int i = 0; i < toAddress.length; i++)
			{
				HashMap<String, String> sendsMap = new HashMap<String, String>();
				sendsMap.put(KEY_MLAD, toAddress[i].trim());
				sendsMap.put(KEY_MLAD_DSP_NM, "");
				sendsMap.put(KEY_MLAD_SET_FIELD_CD, JCRStrConst.CD_DIV_MLAD_SET_FIELD_CD_TO);
				sendsList.add(sendsMap);
			}
		}

		// CCメールアドレス
		String ccMlad = taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.CC_MLAD);
		if (ccMlad != null && ("".equals(ccMlad.trim()) == false))
		{
			String[] ccAddress = ccMlad.split(";");
			for (int i = 0; i < ccAddress.length; i++)
			{
				HashMap<String, String> ccMap = new HashMap<String, String>();
				ccMap.put(KEY_MLAD, ccAddress[i].trim());
				ccMap.put(KEY_MLAD_DSP_NM, "");
				ccMap.put(KEY_MLAD_SET_FIELD_CD, JCRStrConst.CD_DIV_MLAD_SET_FIELD_CD_CC);
				sendsList.add(ccMap);
			}
		}

		sendCcMap.put(KEY_SEND_SAKI_LIST, sendsList);
		
// ANK-4575-00-00 ADD START
		// メールアドレスを「@」にて分割し、「@」以降の値がGenesis向けメールアドレスか判定する
		String[] mladDomain = sendsMlad.split(JCRStrConst.ATMARK);
		if (mladDomain.length > 1 && mladDomain[1].equals(mladForHensinGenesis))
		{
			// 送信先がGenesis向けメールアドレスの場合に返信用メールコード(Genesis向け)を使用する
			mailCd = mailCdForHensinGenesis;
			sendCcMap.remove(KEY_MAIL_CD);
			sendCcMap.put(KEY_MAIL_CD, mailCd);
		}
// ANK-4575-00-00 ADD END

		// 置換文字List
		ArrayList<HashMap<String, String>> ckamMojiList = new ArrayList<HashMap<String, String>>();

		// メール本文
		HashMap<String, String> honbunMap = new HashMap<String, String>();
		honbunMap.put(KEY_TEXT_HTK_CKAM_MOJI, taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_TEXT));
		ckamMojiList.add(honbunMap);

		// メールフッター
		HashMap<String, String> footerMap = new HashMap<String, String>();
		footerMap.put(KEY_TEXT_HTK_CKAM_MOJI, taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_FOOTER));
		ckamMojiList.add(footerMap);

		// 問合せ内容
		HashMap<String, String> naiyouMap = new HashMap<String, String>();
		naiyouMap.put(KEY_TEXT_HTK_CKAM_MOJI, addIndentSign(taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.TOIAWASE_NAIYO)));
		ckamMojiList.add(naiyouMap);

		sendCcMap.put(KEY_CKAM_MOJI_LIST, ckamMojiList);

		// 添付ファイルList
		ArrayList<HashMap<String, String>> tempFileList = new ArrayList<HashMap<String, String>>();

		if (tempFileDataList != null)
		{
			for (int i = 0; i < tempFileDataList.size(); i++)
			{
				JBSbatCommonDBInterface tempFileData = tempFileDataList.get(i);
				String eFileNo = tempFileData.getString(JBSbatCR_T_TORK_EFILE_KNRI.EFILE_KANRI_NO);				// 電子ファイル管理番号
				String tempFileNm = tempFileData.getString(JBSbatCR_T_TORK_EFILE_KNRI.TAIORRKI_BUNSHO_FILE_NM);	// 対応履歴文書ファイル名
				HashMap<String, String> tempFileMap = new HashMap<String, String>();
				tempFileMap.put(KEY_EFILE_KANRI_NO, eFileNo);
				tempFileMap.put(KEY_FILE_NM, tempFileNm);
				tempFileList.add(tempFileMap);
			}
		}

		sendCcMap.put(KEY_TEMP_FILE_LIST, tempFileList);

		// メール明細List	※ 当機能では未使用(サービスIF仕様により空のArrayListを設定)
		sendCcMap.put(KEY_MAIL_MEISAI_LIST, new ArrayList<HashMap<String, String>>());

		// メールヘッダーList
		ArrayList<HashMap<String, String>> mailHeaderList = new ArrayList<HashMap<String, String>>();

		HashMap<String, String> mailHeaderMap = JCRBatCommon.getMailHeader(taioKrkInfoMap.get(JBSbatCR_T_TAIOKRK_DTL.MAIL_HEADER));

		if (mailHeaderMap != null)
		{
			Set<String> mailHeaderKeys = mailHeaderMap.keySet();
			Iterator<String> it = mailHeaderKeys.iterator();
			while (it.hasNext())
			{
				String key = it.next();
				String value = mailHeaderMap.get(key);
				HashMap<String, String> map = new HashMap<String, String>();
				map.put(KEY_MAIL_HEADER_KEY, key);
				map.put(KEY_MAIL_HEADER_VALUE, value);
				mailHeaderList.add(map);
			}
		}

		// 件名をメールヘッダーに設定する
		HashMap<String, String> map = new HashMap<String, String>();
		map.put(KEY_MAIL_HEADER_KEY, KEY_SUBJECT);
		map.put(KEY_MAIL_HEADER_VALUE, kenmei);
		mailHeaderList.add(map);

		sendCcMap.put(KEY_MAIL_HEADER_LIST, mailHeaderList);

		// 第4引数用Map(処理結果受取用Map)
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// メール送信サービス呼び出し
		try
		{
			JCRBatCommon.invokeService(commonItem, usecaseMap, inputMap, outputMap);
		}
		catch(JCCbatFrameworkException fe)
		{
			super.logPrint.printDebugLog("メール送信例外発生：" + fe.getMessage());
		}

		return outputMap;
	}

	/**
	 * 対応記録明細　メール送信番号更新
	 * @param taioKrkNo 対応記録番号
	 * @param taioKrkDtlNo 対応記録明細番号
	 * @param mailSendNo メール送信番号
	 * @throws Exception 例外
	 */
	private void updateTaioKirkDtlMailSendNo(String taioKrkNo, String taioKrkDtlNo, String mailSendNo) throws Exception
	{
		// 設定項目
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue(JBSbatCR_T_TAIOKRK_DTL.MAIL_SEND_NO, mailSendNo);
		setMap.setValue(JBSbatCR_T_TAIOKRK_DTL.UPD_DTM, JCRBatCommon.getSysDateTimeStamp());
		setMap.setValue(JBSbatCR_T_TAIOKRK_DTL.UPD_OPEACNT, batchUserId);

		// 条件
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(JBSbatCR_T_TAIOKRK_DTL.TAIO_KIROK_NO, taioKrkNo);
		whereMap.setValue(JBSbatCR_T_TAIOKRK_DTL.TAIO_KIROK_DTL_NO, taioKrkDtlNo);

		db_CR_T_TAIOKRK_DTL.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * 終了処理
	 * @param shoriiraiNo ディレイド処理依頼番号
	 * @param shoriKekkaCd ディレイド処理結果コード
	 * @param errList エラー情報List
	 * @throws Exception 例外
	 */
	private void end(String shoriiraiNo, String shoriKekkaCd, List<String> errList) throws Exception
	{
		// (8)-(a) システムエラー時のロールバック
		if (JCRStrConst.DLYD_SYSTEM_ERR.equals(shoriKekkaCd))
		{
			// システムエラーの場合
			// ロールバック
			commonItem.getConnection().rollback();
		}

		// (8)-(b) エラー情報ファイル出力
		String errFilePath = null;
		if (errList != null && (errList.isEmpty() == false))
		{
			errFilePath = entryErrFile(errList);
		}

		// (8)-(c) ディレイド処理依頼結果更新処理
		entryShoriKekka(shoriiraiNo, shoriKekkaCd, errFilePath);

		// (8)-(d) 一時ファイル削除
		JCRUtilCommon.deleteTempFile(errFilePath);
	}

	/**
	 * エラーファイル作成
	 * @param errList	エラーリスト
	 * @return エラーファイル名
	 * @throws Exception 例外
	 */
	private String entryErrFile(List<String> errList) throws Exception
	{
		String errFilePath = tmpFileDir + File.separator + super.jobid + "_" + JCRBatCommon.getSysDateTimeStamp() + ".TXT";
		JCRBatCommon.entryErrFileData(commonItem, errFilePath, errList);

		return errFilePath;
	}

	/**
	 * 処理依頼結果登録
	 * @param shoriiraiNo ディレイド処理依頼番号
	 * @param shoriKekkaCd ディレイド処理結果コード
	 * @param errFilePath エラーファイルパス(エラーが無い場合はnull)
	 * @throws Exception 例外
	 */
	private void entryShoriKekka(String shoriiraiNo, String shoriKekkaCd, String errFilePath) throws Exception
	{
		// (8)-(b)-1 ディレイド処理依頼結果更新処理
		JCRBatCommon.updateShoriIraiResult(commonItem, shoriiraiNo, shoriKekkaCd, errFilePath);

		// (8)-(b)-2 ディレイド処理結果登録コミット
		super.commit();
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_CR_T_MYBOX.close();
		db_CR_T_TAIO_KIROK.close();
		db_CR_T_TAIOKRK_DTL.close();
		db_CR_T_TORK_EFILE_KNRI.close();
		db_CR_T_QUE_BOX.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/

		// データアクセスオブジェクトクローズ
		JCRBatCommon.closeDataAccessObj(commonItem);

	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(CR_SELECT_001)で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 executeCR_T_MYBOX_CR_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CR_T_MYBOX.selectBySqlDefine(paramList, CR_T_MYBOX_CR_SELECT_001);
	}

	/**
	 * SQLKEY(CR_SELECT_017)で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_T_TAIO_KIROK_CR_SELECT_017(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());

		// DBアクセスを実行します
		db_CR_T_TAIO_KIROK.selectBySqlDefine(paramList, CR_T_TAIO_KIROK_CR_SELECT_017);
	}

	/**
	 * SQLKEY(CR_SELECT_007)で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_T_TAIOKRK_DTL_CR_SELECT_007(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_CR_T_TAIOKRK_DTL.selectBySqlDefine(paramList, CR_T_TAIOKRK_DTL_CR_SELECT_007);
	}

	/**
	 * SQLKEY(CR_SELECT_006)で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_T_TORK_EFILE_KNRI_CR_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_CR_T_TORK_EFILE_KNRI.selectBySqlDefine(paramList, CR_T_TORK_EFILE_KNRI_CR_SELECT_006);
	}

	/**
	 * SQLKEY(CR_UPDATE_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	対応ユーザーID
	 *		 	MYBOX番号
	 *		 	MYBOX格納年月日時分秒
	 *		 	対応記録履歴
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	対応記録番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_TAIO_KIROK_CR_UPDATE_005(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());

		// DBアクセスを実行します
		db_CR_T_TAIO_KIROK.executeBySqlDefine(paramList, CR_T_TAIO_KIROK_CR_UPDATE_005);
	}

	/**
	 * SQLKEY(CR_UPDATE_006)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	対応ユーザーID
	 *		 	MYBOX番号
	 *		 	MYBOX格納年月日時分秒
	 *		 	対応完了年月日時分秒
	 *		 	対応クローズ年月日時分秒
	 *		 	トータル処理時間
	 *		 	対応記録履歴
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	対応記録番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_TAIO_KIROK_CR_UPDATE_006(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アクセスを実行します
		db_CR_T_TAIO_KIROK.executeBySqlDefine(paramList, CR_T_TAIO_KIROK_CR_UPDATE_006);
	}

	/**
	 * SQLKEY(CR_UPDATE_007)で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_T_TAIO_KIROK_CR_UPDATE_007(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());

		// DBアクセスを実行します
		db_CR_T_TAIO_KIROK.executeBySqlDefine(paramList, CR_T_TAIO_KIROK_CR_UPDATE_007);
	}

	/**
	 * SQLKEY(CR_SELECT_006)で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_T_TAIOKRK_DTL_CR_SELECT_006(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_CR_T_TAIOKRK_DTL.selectBySqlDefine(paramList, CR_T_TAIOKRK_DTL_CR_SELECT_006);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	対応記録番号				TAIO_KIROK_NO
	 *		 	対応記録明細番号				TAIO_KIROK_DTL_NO
	 *		 	アクションタイプコード				ACTION_TYPE_CD
	 *		 	アクション開始年月日時分秒				ACTION_STA_DTM
	 *		 	アクション完了年月日時分秒				ACTION_FIN_DTM
	 *		 	対応ユーザーＩＤ				TAIO_USER_ID
	 *		 	問合せ内容				TOIAWASE_NAIYO
	 *		 	問合せ元名				TOIAWASE_MOTO_NM
	 *		 	回答内容				ANS_NAIYO
	 *		 	コンタクト先コード				CONTACT_SAKI_CD
	 *		 	メモ内容				MEMO_NAIYO
	 *		 	メモタイプコード				MEMO_TYPE_CD
	 *		 	編集状態フラグ				HENSHU_STAT_FLG
	 *		 	メール受信番号				MAIL_RCV_NO
	 *		 	メールヘッダー内タイトル				ML_HEADER_NAI_TITLE
	 *		 	メールヘッダー内送信者メールアドレス				ML_HEADER_NAI_SENDER_MLAD
	 *		 	メールヘッダー内宛先メールアドレス				ML_HEADER_NAI_AD_MLAD
	 *		 	メールヘッダー内ＣＣメールアドレス				ML_HEADER_NAI_CC_MLAD
	 *		 	メールヘッダー内メッセージＩＤ				MAIL_HEADER_NAI_MSG_ID
	 *		 	メールヘッダー内送信年月日時分秒				MAIL_HEADER_NAI_SEND_DTM
	 *		 	メールヘッダー内受信年月日時分秒				MAIL_HEADER_NAI_RCV_DTM
	 *		 	メール送信番号				MAIL_SEND_NO
	 *		 	メールタイトル				MAIL_TITLE
	 *		 	メール受信本文				ML_RCV_TEXT
	 *		 	元メールアドレス				MOTO_MLAD
	 *		 	メールヘッダー				MAIL_HEADER
	 *		 	メールフッター				MAIL_FOOTER
	 *		 	メール本文				MAIL_TEXT
	 *		 	送信先メールアドレス				SENDS_MLAD
	 *		 	送信元メールアドレス				SENDM_MLAD
	 *		 	ＣＣメールアドレス				CC_MLAD
	 *		 	送信メールタイプコード				SEND_MAIL_TYPE_CD
	 *		 	メール送信年月日時分秒				MAIL_SEND_DTM
	 *		 	送信ユーザーＩＤ				SEND_USER_ID
	 *		 	送信状態コード				SEND_STAT_CD
	 *		 	返信転送記号コード				HNSIN_TENSO_SYMBOL_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
	 *		 	業務個別設定組織コード				WKKBT_ORG_CD
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_TAIOKRK_DTL_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TAIO_KIROK_NO", setParam[0]);
		setMap.setValue("TAIO_KIROK_DTL_NO", setParam[1]);
		setMap.setValue("ACTION_TYPE_CD", setParam[2]);
		setMap.setValue("ACTION_STA_DTM", setParam[3]);
		setMap.setValue("ACTION_FIN_DTM", setParam[4]);
		setMap.setValue("TAIO_USER_ID", setParam[5]);
		setMap.setValue("TOIAWASE_NAIYO", setParam[6]);
		setMap.setValue("TOIAWASE_MOTO_NM", setParam[7]);
		setMap.setValue("ANS_NAIYO", setParam[8]);
		setMap.setValue("CONTACT_SAKI_CD", setParam[9]);
		setMap.setValue("MEMO_NAIYO", setParam[10]);
		setMap.setValue("MEMO_TYPE_CD", setParam[11]);
		setMap.setValue("HENSHU_STAT_FLG", setParam[12]);
		setMap.setValue("MAIL_RCV_NO", setParam[13]);
		setMap.setValue("ML_HEADER_NAI_TITLE", setParam[14]);
		setMap.setValue("ML_HEADER_NAI_SENDER_MLAD", setParam[15]);
		setMap.setValue("ML_HEADER_NAI_AD_MLAD", setParam[16]);
		setMap.setValue("ML_HEADER_NAI_CC_MLAD", setParam[17]);
		setMap.setValue("MAIL_HEADER_NAI_MSG_ID", setParam[18]);
		setMap.setValue("MAIL_HEADER_NAI_SEND_DTM", setParam[19]);
		setMap.setValue("MAIL_HEADER_NAI_RCV_DTM", setParam[20]);
		setMap.setValue("MAIL_SEND_NO", setParam[21]);
		setMap.setValue("MAIL_TITLE", setParam[22]);
		setMap.setValue("ML_RCV_TEXT", setParam[23]);
		setMap.setValue("MOTO_MLAD", setParam[24]);
		setMap.setValue("MAIL_HEADER", setParam[25]);
		setMap.setValue("MAIL_FOOTER", setParam[26]);
		setMap.setValue("MAIL_TEXT", setParam[27]);
		setMap.setValue("SENDS_MLAD", setParam[28]);
		setMap.setValue("SENDM_MLAD", setParam[29]);
		setMap.setValue("CC_MLAD", setParam[30]);
		setMap.setValue("SEND_MAIL_TYPE_CD", setParam[31]);
		setMap.setValue("MAIL_SEND_DTM", setParam[32]);
		setMap.setValue("SEND_USER_ID", setParam[33]);
		setMap.setValue("SEND_STAT_CD", setParam[34]);
		setMap.setValue("HNSIN_TENSO_SYMBOL_CD", setParam[35]);
		setMap.setValue("ADD_DTM", setParam[36]);
		setMap.setValue("ADD_OPEACNT", setParam[37]);
		setMap.setValue("UPD_DTM", setParam[38]);
		setMap.setValue("UPD_OPEACNT", setParam[39]);
		setMap.setValue("DEL_DTM", setParam[40]);
		setMap.setValue("DEL_OPEACNT", setParam[41]);
		setMap.setValue("MK_FLG", setParam[42]);
		setMap.setValue("ADD_UNYO_YMD", setParam[43]);
		setMap.setValue("ADD_TRN_ID", setParam[44]);
		setMap.setValue("UPD_UNYO_YMD", setParam[45]);
		setMap.setValue("UPD_TRN_ID", setParam[46]);
		setMap.setValue("DEL_UNYO_YMD", setParam[47]);
		setMap.setValue("DEL_TRN_ID", setParam[48]);
		setMap.setValue("WKKBT_ORG_CD", setParam[49]);
	
		// DBアクセスを実行します
		db_CR_T_TAIOKRK_DTL.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	送信ユーザーＩＤ				SEND_USER_ID
	 *		 	送信状態コード				SEND_STAT_CD
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	TAIO_KIROK_NO
	 *		 	TAIO_KIROK_DTL_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_TAIOKRK_DTL_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SEND_USER_ID", setParam[0]);
		setMap.setValue("SEND_STAT_CD", setParam[1]);
		setMap.setValue("UPD_DTM", setParam[2]);
		setMap.setValue("UPD_OPEACNT", setParam[3]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("TAIO_KIROK_NO", whereParam[0]);
		whereMap.setValue("TAIO_KIROK_DTL_NO", whereParam[1]);

		// DBアクセスを実行します
		db_CR_T_TAIOKRK_DTL.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * SQLKEY(CR_UPDATE_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_T_TAIOKRK_DTL_CR_UPDATE_003(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());

		// DBアクセスを実行します
		db_CR_T_TAIOKRK_DTL.executeBySqlDefine(paramList, CR_T_TAIOKRK_DTL_CR_UPDATE_003);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	対応履歴電子ファイル管理番号				TORK_EFILE_KNRI_NO
	 *		 	文書種別コード				BUNSHO_SBT_CD
	 *		 	対応記録番号				TAIO_KIROK_NO
	 *		 	対応記録明細番号				TAIO_KIROK_DTL_NO
	 *		 	クエリ番号				QUERY_NO
	 *		 	電子ファイル管理番号				EFILE_KANRI_NO
	 *		 	対応履歴文書ファイル名				TAIORRKI_BUNSHO_FILE_NM
	 *		 	対応履歴文書作成年月日時分秒				TAIORRKI_BUNSHO_SAKSEI_DTM
	 *		 	業務個別設定組織コード				WKKBT_ORG_CD
	 *		 	業務個別設定立場コード				WKKBT_POSITION_CD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_TORK_EFILE_KNRI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("TORK_EFILE_KNRI_NO", setParam[0]);
		setMap.setValue("BUNSHO_SBT_CD", setParam[1]);
		setMap.setValue("TAIO_KIROK_NO", setParam[2]);
		setMap.setValue("TAIO_KIROK_DTL_NO", setParam[3]);
		setMap.setValue("QUERY_NO", setParam[4]);
		setMap.setValue("EFILE_KANRI_NO", setParam[5]);
		setMap.setValue("TAIORRKI_BUNSHO_FILE_NM", setParam[6]);
		setMap.setValue("TAIORRKI_BUNSHO_SAKSEI_DTM", setParam[7]);
		setMap.setValue("WKKBT_ORG_CD", setParam[8]);
		setMap.setValue("WKKBT_POSITION_CD", setParam[9]);
		setMap.setValue("ADD_DTM", setParam[10]);
		setMap.setValue("ADD_OPEACNT", setParam[11]);
		setMap.setValue("UPD_DTM", setParam[12]);
		setMap.setValue("UPD_OPEACNT", setParam[13]);
		setMap.setValue("DEL_DTM", setParam[14]);
		setMap.setValue("DEL_OPEACNT", setParam[15]);
		setMap.setValue("MK_FLG", setParam[16]);
	
		// DBアクセスを実行します
		db_CR_T_TORK_EFILE_KNRI.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(CR_UPDATE_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	現在格納数
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	キューBOX番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_QUE_BOX_CR_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());

		// DBアクセスを実行します
		db_CR_T_QUE_BOX.executeBySqlDefine(paramList, CR_T_QUE_BOX_CR_UPDATE_002);
	}

	/**
	 * SQLKEY(CR_UPDATE_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	加算件数
	 *		 	最終格納年月日時分秒
	 *		 	更新年月日時分秒
	 *		 	更新オペレータアカウント
	 *		 	MYBOX番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeCR_T_MYBOX_CR_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());

		// DBアクセスを実行します
		db_CR_T_MYBOX.executeBySqlDefine(paramList, CR_T_MYBOX_CR_UPDATE_001);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
