/*********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom  					 *
 **********************************************************************
 *＜プログラム内容＞
 *	システム名			：eo顧客基幹システム
 *	モジュール名		：JCHbatPrcAdjChgeUtil
 *	ソースファイル名	：JCHbatPrcAdjChgeUtil.java
 *	作成者				：富士通　
 *	作成日				：2013年04月23日
 *＜機能概要＞
 *　一括料金調整、一括料金変更、料金再調整共通部品。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v5.03		2013/03/15   Fip
 *	v5.04		2013/09/02   FJ)後藤	【OM-2013-0001137】料金再調整追加
 *	v5.05		2013/09/17	 FJ)垣内	【随時-13-5005】（請求抑止対応）料金変更の機能コード変更
 *	v8.00		2014/01/22	 FJ)伊藤	【ANK-1794-00-00】請求書電話番号表示対応
 *	v9.00.00	2014/05/09   FJ) 狭間	【ANK-2054-00-00】スマートリンク端末補償対応
 *	v9.00.01	2014/07/12   FJ) 小野	【OM-2014-0002397】料金変更時の不良顧客削除処理を追加。
 *	v24.00.00	2016/02/18   FJ)宇野	【IT1-2016-0000030】対応
 *	v67.00.00	2023/06/22   FJ) 松永	【ANK-4401-00-00】インボイス対応
 *********************************************************************/
package eo.business.common;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import eo.business.service.JBSbatCHPrcIktChge;
import eo.business.util.table.JBSbatCC_T_DLYD_TRN_REQ;
import eo.common.constant.JACStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;

/**
 * 一括料金調整、一括料金変更、料金再調整共通部品です。
 * <p>
 *<BR>
 * 
 * @author 富士通
 */
public class JCHbatPrcAdjChgeUtil
{
	/** バッチ共通パラメータ */
	private JBSbatCommonItem commonItem = null;

	/** ユースケースID(料金調整)*/
	public static final String USECASE_ID_ADJ = "CHSV0026";
	/** ユースケースID(料金変更)*/
	public static final String USECASE_ID_CHGE = "CHSV0020";
	/** ユースケースID(料金再調整)*/
	public static final String USECASE_ID_READJ = "CHSV0075";

	/** 料金調整＿料金調整登録SC */
	private static final String SERVICE_COMP_ID_ADJ_01 = "CHSV002601SC";
	/** 料金調整＿電子ファイル管理登録SC */
	private static final String SERVICE_COMP_ID_ADJ_02 = "CHSV002602SC";
	/** 料金変更＿料金変更登録SC */
	private static final String SERVICE_COMP_ID_CHGE_01 = "CHSV002001SC";
	/** 料金変更＿電子ファイル管理登録SC */
	private static final String SERVICE_COMP_ID_CHGE_02 = "CHSV002002SC";
	/** 料金調整＿料金再調整登録SC */
	private static final String SERVICE_COMP_ID_READJ_01 = "CHSV007501SC";

	/** 共通コンポーネントID＿料金調整変更リスト作成CC */
	private static final String COMMON_COMP_ID_PRCCHOSEIHENKOCREATECC = "PRCCHOSEIHENKOCREATECC";
	/** 共通コンポーネントID＿対応記録登録料金用CC */
	private static final String COMMON_COMP_ID_TAIOKIROKADDCC = "TAIOKIROKADDCC";
	/** 共通コンポーネントID＿不良顧客削除CC */
	private static final String COMMON_COMP_ID_HURYOCUSTDELCC = "HURYOCUSTDELCC";
	/** 共通コンポーネントID＿対応記録ホットボイス登録CC */
	private static final String COMMON_COMP_ID_ADDHOTVOICCC = "ADDHOTVOICCC";
	/** 共通コンポーネントID＿料金対応記録登録CC */
	private static final String COMMON_COMP_ID_PRCTAIOKIROKADDCC = "PRCTAIOKIROKADDCC";

	/** 料金調整＿料金調整登録一覧明細 */
	private static final String ADJ_INPUT_LIST1 = "ECH0101D011CBSMsg1List";
	/** 料金調整＿料金調整登録一覧明細（表示用） */
	private static final String ADJ_INPUT_LIST2 = "ECH0101D011CBSMsg2List";
	/** 料金調整＿料金調整登録一覧明細＿分割分 */
	private static final String ADJ_INPUT_LIST5 = "ECH0101D011CBSMsg5List";
	/** 料金変更＿料金変更登録一覧明細 */
	private static final String CHGE_INPUT_LIST1 = "ECH0101D012CBSMsg1List";
	/** 料金変更＿料金変更登録一覧明細（表示用） */
	private static final String CHGE_INPUT_LIST2 = "ECH0101D012CBSMsg2List";
	/** 料金変更＿料金変更登録一覧明細＿分割分 */
	private static final String CHGE_INPUT_LIST5 = "ECH0101D012CBSMsg5List";

	/** テーブル(ディレイド処理依頼)*/
	private static final String D_TBL_NAME_CC_T_DLYD_TRN_REQ = "CC_T_DLYD_TRN_REQ";

	/** テーブルアクセスクラス(ディレイド処理依頼)*/
	private JBSbatSQLAccess db_CC_T_DLYD_TRN_REQ = null;

	/** 料金調整、変更区分 */
	public static final String SHORI_KBN_ADJ = "1";
	/** 料金調整、変更区分 */
	public static final String SHORI_KBN_CHGE = "2";
	/** 料金再調整区分 */
	public static final String SHORI_KBN_READJ = "3";

	/** リスト名1 */
	public static final String LIST_NAME1 = "listName1";
	/** リスト名2 */
	public static final String LIST_NAME2 = "listName2";
	/** リスト名5 */
	public static final String LIST_NAME5 = "listName5";
	/** サービスコンポーンネントID1 */
	public static final String SVC_COMP_ID1 = "svcCompId1";
	/** サービスコンポーンネントID2 */
	public static final String SVC_COMP_ID2 = "svcCompId2";
	// ANK-4401-00-00 ADD START
	/** サービスコンポーンネントID4 */
	public static final String SVC_COMP_ID4 = "svcCompId4";
	// ANK-4401-00-00 ADD END
	/** 料金対応記録種別コード */
	public static final String PRC_TAIO_KIROK_SBT_CD = "prcTaioKirokSbtCd";
	/** 料金対応記録種別詳細コード */
	public static final String PRC_TAIO_KIROK_SBT_DTL_CD = "prcTaioKirokSbtDtlCd";
	/** タイトル */
	public static final String TITLE = "title";

	/** ユーザーID */
	public static final String USER_ID = "userId";
	/** ユーザー名 */
	public static final String USER_NM = "userNm";
	/** 業務個別設定組織コード */
	public static final String WKKBT_ORG_CD = "wkkbtOrgCd";
	/** 業務個別設定組織名 */
	public static final String WKKBT_ORG_NM = "wkkbtOrgNm";

	/** 文字列としてのゼロ */
	public static final String STRING_ZERO = "0";
	/** サービスの単項目チェックを通すためのダミー値(実際に登録される値はサービス内で採番される) */
	public static final String DUMMY_NO_12 = "000000000000";

	/** サービス詳細識別番号区分（電話） */
	public static final String SVC_DTL_SKBT_NO_NBN_TEL = "2";
	/** サービス詳細識別番号区分（タブレット） */
	public static final String SVC_DTL_SKBT_NO_NBN_TBT = "1";

	/** マッピングキー：請求契約番号 */
	public static final String MAP_KEY_SEIKY_KEI_NO = "seiky_kei_no";
	/** マッピングキー：請求年月 */
	public static final String MAP_KEY_SEIKY_YM = "seiky_ym";
	/** マッピングキー：請求番号 */
	public static final String MAP_KEY_SEIKY_NO = "seiky_no";
	/** マッピングキー：請求ステータス */
	public static final String MAP_KEY_SEIKY_STAT = "seiky_stat";
	/** マッピングキー：請求金額調整年月日 */
	public static final String MAP_KEY_SEIKY_AMNT_AJST_YMD = "seiky_amnt_ajst_ymd";
	/** マッピングキー：債権番号 */
	public static final String MAP_KEY_SAIKEN_NO = "saiken_no";
	/** マッピングキー：債権調整年月日 */
	public static final String MAP_KEY_SAIKEN_AJST_YMD = "saiken_ajst_ymd";
	/** マッピングキー：債権額 */
	public static final String MAP_KEY_SAIKEN_AMNT = "saiken_amnt";
	/** マッピングキー：うち消費税額 */
	public static final String MAP_KEY_UCHI_AMNT_STAX = "uchi_amnt_stax";
	/** マッピングキー：請求額 */
	public static final String MAP_KEY_SEIKY_AMNT = "seiky_amnt";
	/** マッピングキー：前受金充当額 */
	public static final String MAP_KEY_MAEUK_JUTO_AMNT = "maeuk_juto_amnt";
	/** マッピングキー：預り金額 */
	public static final String MAP_KEY_AZKR_AMNT = "azkr_amnt";
	/** マッピングキー：前受金額 */
	public static final String MAP_KEY_MAEUK_AMNT = "maeuk_amnt";
	/** マッピングキー：請求種別コード */
	public static final String MAP_KEY_SEIKY_SBT_CD = "seiky_sbt_cd";
	/** マッピングキー：システムコード */
	public static final String MAP_KEY_SYS_CD = "sys_cd";
	/** マッピングキー：業務機能識別コード */
	public static final String MAP_KEY_WORK_KINO_SKBT_CD = "work_kino_skbt_cd";
	/** マッピングキー：業務機能識別コード＿料金訂正可否 */
	public static final String MAP_KEY_WORK_KINO_SKBT_CD_PRC_TEISEI = "work_kino_skbt_cd_prc_teisei";
	/** マッピングキー：業務機能識別コード＿訂正ボタン */
	public static final String MAP_KEY_WORK_KINO_SKBT_TEISE_BTN = "work_kino_skbt_teise_btn";
	/** マッピングキー：料金項目名称種別コード */
	public static final String MAP_KEY_PRC_KMK_NM_SBT_CD = "prc_kmk_nm_sbt_cd";
	/** マッピングキー：更新前請求更新年月日時分秒 */
	public static final String MAP_KEY_SEIKY_UPD_DTM_AF = "seiky_upd_dtm_af";
	/** マッピングキー：更新前債権更新年月日時分秒 */
	public static final String MAP_KEY_SAIKEN_UPD_DTM_AF = "saiken_upd_dtm_af";
	/** マッピングキー：補償費有無フラグ */
	public static final String MAP_KEY_COMPENSATION_UM_FLG = "compensation_um_flg";
	/** マッピングキー：整理番号 */
	public static final String MAP_KEY_SEIRI_NO = "seiri_no";
	/** マッピングキー：サービス契約番号 */
	public static final String MAP_KEY_SVC_KEI_NO = "svc_kei_no";
	/** マッピングキー：利用開始年月日 */
	public static final String MAP_KEY_USE_STAYMD = "use_staymd";
	/** マッピングキー：変更前利用開始年月日 */
	public static final String MAP_KEY_USE_STAYMD_BF = "use_staymd_bf";
	/** マッピングキー：利用終了年月日 */
	public static final String MAP_KEY_USE_ENDYMD = "use_endymd";
	/** マッピングキー：変更前利用終了年月日 */
	public static final String MAP_KEY_USE_ENDYMD_BF = "use_endymd_bf";
	/** マッピングキー：料金グループコード */
	public static final String MAP_KEY_PRC_GRP_CD = "prc_grp_cd";
	/** マッピングキー：料金コースコード */
	public static final String MAP_KEY_PCRS_CD = "pcrs_cd";
	/** マッピングキー：料金サービスコード */
	public static final String MAP_KEY_PRC_SVC_CD = "prc_svc_cd";
	/** マッピングキー：料金項目コード */
	public static final String MAP_KEY_PRC_KMK_CD = "prc_kmk_cd";
	/** マッピングキー：マンションＩＤ */
	public static final String MAP_KEY_MANSION_ID = "mansion_id";
	/** マッピングキー：回線場所住所補記＿部屋番号 */
	public static final String MAP_KEY_KAISEN_PLACE_ADRRM = "kaisen_place_adrrm";
	/** マッピングキー：調整前金額 */
	public static final String MAP_KEY_AJST_BF_AMNT = "ajst_bf_amnt";
	/** マッピングキー：調整後金額 */
	public static final String MAP_KEY_AJST_AF_AMNT = "ajst_af_amnt";
	/** マッピングキー：料金調整区分 */
	public static final String MAP_KEY_AJST_DIV = "ajst_div";
	/** マッピングキー：調整フラグ */
	public static final String MAP_KEY_AJST_FLG = "ajst_flg";
	/** マッピングキー：請求先名（カナ） */
	public static final String MAP_KEY_SHS_KANA = "shs_kana";
	/** マッピングキー：督促ステータス */
	public static final String MAP_KEY_TOKUSOKU_STAT = "tokusoku_stat";
	/** マッピングキー：料金訂正可否 */
	public static final String MAP_KEY_PRC_TEISE_KH = "prc_teise_kh";
	/** マッピングキー：記事 */
	public static final String MAP_KEY_KIJI = "kiji";
	/** マッピングキー：操作者ＩＤ */
	public static final String MAP_KEY_OPE_ID = "ope_id";
	/** マッピングキー：操作者名 */
	public static final String MAP_KEY_OPE_NM = "ope_nm";
	/** マッピングキー：操作時間 */
	public static final String MAP_KEY_OPE_DATE = "ope_date";
	/** マッピングキー：キー料金項目コード */
	public static final String MAP_KEY_KEY_PRC_KMK_CD = "key_prc_kmk_cd";
	/** マッピングキー：対応履歴連動対象フラグ */
	public static final String MAP_KEY_TAIORRKI_RENDO_TG_FLG = "taiorrki_rendo_tg_flg";
	/** マッピングキー：サービス詳細識別番号 */
	public static final String MAP_KEY_SVC_DTL_SKBT_NO = "svc_dtl_skbt_no";
	/** マッピングキー：請求内訳番号 */
	public static final String MAP_KEY_SEIKY_UCWK_NO = "seiky_ucwk_no";
	/** マッピングキー：サービス詳細識別番号区分 */
	public static final String MAP_KEY_SVC_DTL_SKBT_NO_KBN = "svc_dtl_skbt_no_kbn";
	
	// v24.00.00 IT1-2016-0000030 START
	// 督促一意照会SC追加
	/** 料金変更＿督促一意照会SC */
	private static final String SERVICE_COMP_ID_CHGE_03 = "CHSV002003SC";
	
	// 料金指示書登録CC追加
	/** 共通コンポーネントID＿料金指示書登録CC */
	private static final String COMMON_COMP_ID_JCHPRCSHIJISHOCC = "JCHPRCSHIJISHOCC";
	
	// 料金指示書登録CC追加
	/** 共通コンポーネントID＿料金指示書登録CC */
	private static final String COMMON_COMP_ID_JKKUSESTPKAIJOADDSHIJISHOCC = "JKKUSESTPKAIJOADDSHIJISHOCC";
	// v24.00.00 IT1-2016-0000030 END
	
	// ANK-4401-00-00 ADD START
	/** 料金変更フラグ更新SC */
	private static final String SERVICE_COMP_ID_CHGE_04 = "CHSV002004SC";
	// ANK-4401-00-00 ADD END
	
	/**
	 * コンストラクタ
	 * 
	 * @param item バッチ共通パラメータ
	 * @param dlydTrnReqNo ディレイド処理依頼番号
	 * @throws Exception
	 */
	public JCHbatPrcAdjChgeUtil(JBSbatCommonItem item, String dlydTrnReqNo) throws Exception
	{
		commonItem = item;
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
	}

	/**
	 * コンストラクタ
	 * 
	 * @param item バッチ共通パラメータ
	 * @throws Exception
	 */
	public JCHbatPrcAdjChgeUtil(JBSbatCommonItem item) throws Exception
	{
		commonItem = item;
		db_CC_T_DLYD_TRN_REQ = new JBSbatSQLAccess(commonItem, D_TBL_NAME_CC_T_DLYD_TRN_REQ);
	}

	/**
	 * 料金調整登録SC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param paramList inputリスト
	 * @param svcMap サービス関連マップ
	 * @param svcMap サービス関連マップ
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 * @param shoriKbn 処理区分
	 */
	public void mapping2JKanryoSC1(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList,
			HashMap<String, String> svcMap, HashMap<String, String> shoriGroupMap, String shoriKbn)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 料金調整登録サービスIFのヘッダ項目を設定
		if (!paramList.isEmpty())
		{
			if(JCHbatPrcAdjChgeUtil.SHORI_KBN_ADJ.equals(shoriKbn))
			{
				// 料金一括調整の場合、機能コード"3"
				dataMap.put("func_code", "3");
			}
			else
			{
				// 料金一括変更の場合、機能コード"4"（呼び出すSIFは料金変更）
				// 料金再調整の場合、機能コード"4"（呼び出すSIFは料金調整）
				dataMap.put("func_code", "4");
			}
			dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
			dataMap.put(MAP_KEY_SEIKY_YM, shoriGroupMap.get(MAP_KEY_SEIKY_YM));
			dataMap.put(MAP_KEY_SEIKY_NO, shoriGroupMap.get(MAP_KEY_SEIKY_NO));
			dataMap.put(MAP_KEY_SEIKY_STAT, shoriGroupMap.get(MAP_KEY_SEIKY_STAT));
			dataMap.put(MAP_KEY_SEIKY_AMNT_AJST_YMD, null);
			dataMap.put(MAP_KEY_SAIKEN_NO, shoriGroupMap.get(MAP_KEY_SAIKEN_NO));
			dataMap.put(MAP_KEY_SAIKEN_AJST_YMD, null);

			// 金額の各種項目はサービス内の集計処理で作成するため、マッピングでは0を指定する
			dataMap.put(MAP_KEY_SAIKEN_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_UCHI_AMNT_STAX, STRING_ZERO);
			dataMap.put(MAP_KEY_SEIKY_AMNT, shoriGroupMap.get(MAP_KEY_SEIKY_AMNT));
			dataMap.put(MAP_KEY_MAEUK_JUTO_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_AZKR_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_MAEUK_AMNT, STRING_ZERO);

			dataMap.put(MAP_KEY_SEIKY_SBT_CD, shoriGroupMap.get(MAP_KEY_SEIKY_SBT_CD));
			dataMap.put(MAP_KEY_SYS_CD, JACStrConst.SYS_CD_CH);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_CD, JACStrConst.WORK_KINO_SKBT_ADJ_U_DSP);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_CD_PRC_TEISEI, JACStrConst.WORK_KINO_SKBT_TEISE_PSB);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_TEISE_BTN, JACStrConst.WORK_KINO_SKBT_TUSHIN_PRC);
			dataMap.put(MAP_KEY_PRC_KMK_NM_SBT_CD, JACStrConst.PRC_KMK_NM_SBT_CD_PRC_KMK);
			dataMap.put(MAP_KEY_SEIKY_UPD_DTM_AF, shoriGroupMap.get(MAP_KEY_SEIKY_UPD_DTM_AF));
			dataMap.put(MAP_KEY_SAIKEN_UPD_DTM_AF, shoriGroupMap.get(MAP_KEY_SAIKEN_UPD_DTM_AF));
			dataMap.put(MAP_KEY_COMPENSATION_UM_FLG, shoriGroupMap.get(MAP_KEY_COMPENSATION_UM_FLG));
		}

		// 料金調整登録サービスIFの明細項目を設定
		List<HashMap<String, String>> inputList = new ArrayList<HashMap<String, String>>();

		int size = paramList.size();
		for (int i = 0; i < size; i++)
		{
			HashMap<String, String> workMap = new HashMap<String, String>();
			HashMap<String, String> map = paramList.get(i);
			workMap.put(MAP_KEY_SEIRI_NO, (String)map.get(MAP_KEY_SEIRI_NO));
			workMap.put(MAP_KEY_SVC_KEI_NO, (String)map.get(MAP_KEY_SVC_KEI_NO));
			workMap.put(MAP_KEY_USE_STAYMD, (String)map.get(MAP_KEY_USE_STAYMD));
			workMap.put(MAP_KEY_USE_ENDYMD, (String)map.get(MAP_KEY_USE_ENDYMD));
			workMap.put(MAP_KEY_PRC_GRP_CD, (String)map.get(MAP_KEY_PRC_GRP_CD));
			workMap.put(MAP_KEY_PCRS_CD, (String)map.get(MAP_KEY_PCRS_CD));
			workMap.put(MAP_KEY_PRC_SVC_CD, (String)map.get(MAP_KEY_PRC_SVC_CD));
			workMap.put(MAP_KEY_PRC_KMK_CD, (String)map.get(MAP_KEY_PRC_KMK_CD));
			workMap.put(MAP_KEY_MANSION_ID, (String)map.get(MAP_KEY_MANSION_ID));
			workMap.put(MAP_KEY_KAISEN_PLACE_ADRRM, (String)map.get(MAP_KEY_KAISEN_PLACE_ADRRM));
			workMap.put(MAP_KEY_AJST_BF_AMNT, (String)map.get(MAP_KEY_AJST_BF_AMNT));
			workMap.put(MAP_KEY_AJST_AF_AMNT, (String)map.get(MAP_KEY_AJST_AF_AMNT));
			workMap.put(MAP_KEY_AJST_DIV, (String)map.get(MAP_KEY_AJST_DIV));
			workMap.put(MAP_KEY_AJST_FLG, (String)map.get(MAP_KEY_AJST_FLG));
			workMap.put(MAP_KEY_SVC_DTL_SKBT_NO, (String)map.get(MAP_KEY_SVC_DTL_SKBT_NO));
			workMap.put(MAP_KEY_SVC_DTL_SKBT_NO_KBN, (String)map.get(MAP_KEY_SVC_DTL_SKBT_NO_KBN));
			workMap.put(MAP_KEY_SEIKY_UCWK_NO, (String)map.get(MAP_KEY_SEIKY_UCWK_NO));

			inputList.add(workMap);
		}

		dataMap.put(svcMap.get(LIST_NAME1), inputList);
		dataMap.put(svcMap.get(LIST_NAME5), new ArrayList<HashMap<String, String>>());

		inputMap.put(svcMap.get(SVC_COMP_ID1), dataMap);
	}

	/**
	 * 電子ファイル管理登録SC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param paramList inputリスト
	 * @param svcMap サービス関連マップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2KanryoSC2(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList,
			HashMap<String, String> svcMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 料金調整登録サービスIFのヘッダ項目を設定
		if (!paramList.isEmpty())
		{
			dataMap.put("func_code", "1");
			dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
			dataMap.put(MAP_KEY_SEIKY_YM, shoriGroupMap.get(MAP_KEY_SEIKY_YM));
			dataMap.put(MAP_KEY_SEIKY_NO, shoriGroupMap.get(MAP_KEY_SEIKY_NO));
			dataMap.put(MAP_KEY_SEIKY_STAT, shoriGroupMap.get(MAP_KEY_SEIKY_STAT));
			dataMap.put(MAP_KEY_SEIKY_AMNT_AJST_YMD, null);
			dataMap.put(MAP_KEY_SAIKEN_NO, shoriGroupMap.get(MAP_KEY_SAIKEN_NO));
			dataMap.put(MAP_KEY_SAIKEN_AJST_YMD, null);

			// 金額の各種項目はサービス内の集計処理で作成するため、マッピングでは0を指定する
			dataMap.put(MAP_KEY_SAIKEN_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_UCHI_AMNT_STAX, STRING_ZERO);
			dataMap.put(MAP_KEY_SEIKY_AMNT, shoriGroupMap.get(MAP_KEY_SEIKY_AMNT));
			dataMap.put(MAP_KEY_MAEUK_JUTO_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_AZKR_AMNT, STRING_ZERO);
			dataMap.put(MAP_KEY_MAEUK_AMNT, STRING_ZERO);

			dataMap.put(MAP_KEY_SEIKY_SBT_CD, shoriGroupMap.get(MAP_KEY_SEIKY_SBT_CD));
			dataMap.put(MAP_KEY_SYS_CD, JACStrConst.SYS_CD_CH);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_CD, JACStrConst.WORK_KINO_SKBT_ADJ_U_DSP);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_CD_PRC_TEISEI, JACStrConst.WORK_KINO_SKBT_TEISE_PSB);
			dataMap.put(MAP_KEY_WORK_KINO_SKBT_TEISE_BTN, JACStrConst.WORK_KINO_SKBT_TUSHIN_PRC);
			dataMap.put(MAP_KEY_PRC_KMK_NM_SBT_CD, JACStrConst.PRC_KMK_NM_SBT_CD_PRC_KMK);
			dataMap.put(MAP_KEY_SEIKY_UPD_DTM_AF, shoriGroupMap.get(MAP_KEY_SEIKY_UPD_DTM_AF));
			dataMap.put(MAP_KEY_SAIKEN_UPD_DTM_AF, shoriGroupMap.get(MAP_KEY_SAIKEN_UPD_DTM_AF));
			dataMap.put(MAP_KEY_COMPENSATION_UM_FLG, shoriGroupMap.get(MAP_KEY_COMPENSATION_UM_FLG));
		}

		// 料金調整登録サービスIFの明細項目を設定
		List<HashMap<String, String>> inputList = new ArrayList<HashMap<String, String>>();

		int size = paramList.size();
		for (int i = 0; i < size; i++)
		{
			HashMap<String, String> workMap = new HashMap<String, String>();
			HashMap<String, String> map = paramList.get(i);
			workMap.put(MAP_KEY_SEIRI_NO, (String)map.get(MAP_KEY_SEIRI_NO));
			workMap.put(MAP_KEY_SVC_KEI_NO, (String)map.get(MAP_KEY_SVC_KEI_NO));
			workMap.put(MAP_KEY_USE_STAYMD, (String)map.get(MAP_KEY_USE_STAYMD));
			workMap.put(MAP_KEY_USE_ENDYMD, (String)map.get(MAP_KEY_USE_ENDYMD));
			workMap.put(MAP_KEY_PRC_GRP_CD, (String)map.get(MAP_KEY_PRC_GRP_CD));
			workMap.put(MAP_KEY_PCRS_CD, (String)map.get(MAP_KEY_PCRS_CD));
			workMap.put(MAP_KEY_PRC_SVC_CD, (String)map.get(MAP_KEY_PRC_SVC_CD));
			workMap.put(MAP_KEY_PRC_KMK_CD, (String)map.get(MAP_KEY_PRC_KMK_CD));
			workMap.put(MAP_KEY_MANSION_ID, (String)map.get(MAP_KEY_MANSION_ID));
			workMap.put(MAP_KEY_KAISEN_PLACE_ADRRM, (String)map.get(MAP_KEY_KAISEN_PLACE_ADRRM));
			workMap.put(MAP_KEY_AJST_BF_AMNT, (String)map.get(MAP_KEY_AJST_BF_AMNT));
			workMap.put(MAP_KEY_AJST_AF_AMNT, (String)map.get(MAP_KEY_AJST_AF_AMNT));
			workMap.put(MAP_KEY_AJST_DIV, (String)map.get(MAP_KEY_AJST_DIV));
			workMap.put(MAP_KEY_AJST_FLG, (String)map.get(MAP_KEY_AJST_FLG));
			workMap.put(MAP_KEY_SVC_DTL_SKBT_NO, (String)map.get(MAP_KEY_SVC_DTL_SKBT_NO));
			workMap.put(MAP_KEY_SVC_DTL_SKBT_NO_KBN, (String)map.get(MAP_KEY_SVC_DTL_SKBT_NO_KBN));
			workMap.put(MAP_KEY_SEIKY_UCWK_NO, (String)map.get(MAP_KEY_SEIKY_UCWK_NO));

			inputList.add(workMap);
		}

		dataMap.put(svcMap.get(LIST_NAME2), inputList);

		inputMap.put(svcMap.get(SVC_COMP_ID2), dataMap);
	}

	/**
	 * 料金調整変更リスト作成CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param userMap ユーザー関連マップ
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 * @param paramList inputリスト
	 */
	public void mapping2JCHPrcChoseiHenkoCreateCC(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList
			, HashMap<String, String> userMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 料金調整変更リスト作成CCのヘッダ項目を設定
		if (!paramList.isEmpty())
		{
			dataMap.put(MAP_KEY_SEIKY_YM, shoriGroupMap.get(MAP_KEY_SEIKY_YM));
			dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
			dataMap.put(MAP_KEY_SHS_KANA, shoriGroupMap.get(MAP_KEY_SHS_KANA));
			dataMap.put(MAP_KEY_TOKUSOKU_STAT, shoriGroupMap.get(MAP_KEY_TOKUSOKU_STAT));
			dataMap.put(MAP_KEY_KIJI, shoriGroupMap.get(MAP_KEY_KIJI));
			dataMap.put(MAP_KEY_OPE_ID, userMap.get(JCHbatPrcAdjChgeUtil.USER_ID));
			dataMap.put(MAP_KEY_OPE_NM, userMap.get(JCHbatPrcAdjChgeUtil.USER_NM));
			dataMap.put(MAP_KEY_OPE_DATE, commonItem.getOnlineOpeDate().concat("000000"));
		}

		// 料金調整変更リスト作成CCの明細項目を設定
		List<HashMap<String, String>> inputList = new ArrayList<HashMap<String, String>>();

		int size = paramList.size();
		for (int i = 0; i < size; i++)
		{
			HashMap<String, String> workMap = new HashMap<String, String>();
			HashMap<String, String> map = paramList.get(i);
			workMap.put(MAP_KEY_USE_STAYMD, (String)map.get(MAP_KEY_USE_STAYMD));
			workMap.put(MAP_KEY_USE_ENDYMD, (String)map.get(MAP_KEY_USE_ENDYMD));
			workMap.put(MAP_KEY_KEY_PRC_KMK_CD, (String)map.get(MAP_KEY_KEY_PRC_KMK_CD));

			inputList.add(workMap);
		}
		dataMap.put("useStaEndYmdMapList", inputList);

		inputMap.put(COMMON_COMP_ID_PRCCHOSEIHENKOCREATECC, dataMap);
	}

	/**
	 * 不良顧客削除CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param paramList inputリスト
	 * @param svcMap サービス関連マップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2JCHHuryoCustDelCC(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList,
			HashMap<String, String> svcMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");

		dataMap.put("key_seiky_kei_no", shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));

		// 料金対応記録追加モード"1"(請求先単位)
		dataMap.put("prc_taio_kirok_add_mode", "1");

		// 料金対応記録種別コード
		String prcTaioKirokSbtCd = svcMap.get(PRC_TAIO_KIROK_SBT_CD);
		dataMap.put("prc_taio_kirok_sbt_cd", prcTaioKirokSbtCd);
		inputMap.put(COMMON_COMP_ID_HURYOCUSTDELCC, dataMap);
	}

	/**
	 * 対応記録登録料金用CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param paramList inputリスト
	 * @param svcMap サービス関連マップ
	 * @param userMap ユーザー関連マップ
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 * @param shoriKbn 処理区分
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	public void mapping2JACTaioKirokAddCC(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList,
			HashMap<String, String> svcMap, HashMap<String, String> userMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");

		HashMap<String, Object> workMap = new HashMap<String, Object>();

		String prcTaioKirokSbtCd = svcMap.get(PRC_TAIO_KIROK_SBT_CD);
		workMap.put("prc_taio_kirok_sbt_cd", prcTaioKirokSbtCd);

		String prcTaioKirokSbtDtlCd = svcMap.get(PRC_TAIO_KIROK_SBT_DTL_CD);
		workMap.put("prc_taio_kirok_dtl_bunrui_cd", prcTaioKirokSbtDtlCd);

		workMap.put("title", svcMap.get(TITLE));
		workMap.put("toiawase_naiyo", shoriGroupMap.get(MAP_KEY_KIJI));
		workMap.put("wkkbt_org_cd", userMap.get(JCHbatPrcAdjChgeUtil.WKKBT_ORG_CD));
		workMap.put("wkkbt_org_nm", userMap.get(JCHbatPrcAdjChgeUtil.WKKBT_ORG_NM));
		workMap.put("user_id", userMap.get(JCHbatPrcAdjChgeUtil.USER_ID));
		workMap.put("user_nm", userMap.get(JCHbatPrcAdjChgeUtil.USER_NM));
		workMap.put("dtm", JCCBatCommon.getSysDateTime());

		// 応対区分カテゴリーリストの作成
		ArrayList<HashMap<String, Object>> rspCtgrList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> ctgrMap = new HashMap<String, Object>();

		// 対応記録登録マップ.応対区分カテゴリーリスト.料金対応記録種別コード
		ctgrMap.put("prc_taio_kirok_sbt_cd", prcTaioKirokSbtCd);
		// 対応記録登録マップ.応対区分カテゴリーリスト.料金対応記録種別詳細コード
		ctgrMap.put("prc_taio_kirok_dtl_bunrui_cd", prcTaioKirokSbtDtlCd);

		// taio_kirok_add_listにrsp_ctgr_listを追加
		rspCtgrList.add(ctgrMap);
		workMap.put("rsp_ctgr_list", rspCtgrList);

		List<HashMap<String, Object>> inputList = new ArrayList<HashMap<String, Object>>();
		inputList.add(workMap);
		dataMap.put("taio_kirok_add_list", inputList);

		dataMap.put("seiky_kei_no", shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));

		inputMap.put(COMMON_COMP_ID_TAIOKIROKADDCC, dataMap);
	}

	/**
	 * 対応記録ホットボイス登録CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 */
	public void mapping2JCRAddHotVoicCC(HashMap<String, HashMap<String, Object>> inputMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");

		ArrayList<HashMap<String, Object>> rspCtgrList = new ArrayList<HashMap<String, Object>>();

		HashMap<String, Object> ctgrMap = new HashMap<String, Object>();
		rspCtgrList.add(ctgrMap);
		dataMap.put("RSP_CTGR_List", rspCtgrList);
		inputMap.put(COMMON_COMP_ID_ADDHOTVOICCC, dataMap);
	}

	/**
	 * 料金対応記録登録CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param paramList inputリスト
	 * @param svcMap サービス関連マップ
	 * @param userMap ユーザー関連マップ
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2JCHPrcTaioKirokAddCC(HashMap<String, HashMap<String, Object>> inputMap, List<HashMap<String, String>> paramList,
			HashMap<String, String> svcMap, HashMap<String, String> userMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");

		String sysTimeStamp = JCCBatCommon.getSysDateTimeStamp();

		HashMap<String, String> workMap = new HashMap<String, String>();
		workMap.put("taiorrki_rendo_tg_flg", shoriGroupMap.get(MAP_KEY_TAIORRKI_RENDO_TG_FLG));
		workMap.put("chg_bf_amnt", STRING_ZERO);
		workMap.put("add_dtm", sysTimeStamp);
		workMap.put("taio_dtm", sysTimeStamp);
		workMap.put("saiken_no", shoriGroupMap.get(MAP_KEY_SAIKEN_NO));
		workMap.put("chg_bf_cd_div", null);
		workMap.put("chg_af_cd_sbt_cd", null);
		workMap.put("prc_taio_kirok_sbt_dtl_cd", svcMap.get(PRC_TAIO_KIROK_SBT_DTL_CD));
		workMap.put("seiky_kei_no", shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
		workMap.put("add_opeacnt", userMap.get(USER_ID));
		workMap.put("prc_taio_kirok_sbt_cd", svcMap.get(PRC_TAIO_KIROK_SBT_CD));
		workMap.put("prc_taio_user_id", userMap.get(USER_ID));
		workMap.put("kiji", shoriGroupMap.get(MAP_KEY_KIJI));
		workMap.put("title", svcMap.get(TITLE));
		workMap.put("upd_dtm", sysTimeStamp);
		workMap.put("upd_opeacnt", userMap.get(USER_ID));
		workMap.put("prc_taio_kirok_no", DUMMY_NO_12);
		workMap.put("mk_flg", STRING_ZERO);
		workMap.put("chg_bf_cd_sbt_cd", null);
		workMap.put("chg_af_amnt", STRING_ZERO);
		workMap.put("kirok_tg_ym", shoriGroupMap.get(MAP_KEY_SEIKY_YM));
		workMap.put("chg_af_cd_div", null);

		List<HashMap<String, String>> inputList = new ArrayList<HashMap<String, String>>();
		inputList.add(workMap);
		dataMap.put("prc_taio_kirok_list", inputList);

		inputMap.put(COMMON_COMP_ID_PRCTAIOKIROKADDCC, dataMap);
	}
	
	// v24.00.00 IT1-2016-0000030 START
	// 督促一意照会SC
	/**
	 * 督促一意照会SC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2TokusokuInfoSC(HashMap<String, HashMap<String, Object>> inputMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "2");

		dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
		
		inputMap.put(SERVICE_COMP_ID_CHGE_03, dataMap);
	}
	
	/**
	 * 料金指示書登録CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2JCHPrcShijishoCC(HashMap<String, HashMap<String, Object>> inputMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");

		dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
		
		inputMap.put(COMMON_COMP_ID_JCHPRCSHIJISHOCC, dataMap);
	}
	
	/**
	 * 利用停止解除後指示書登録CC インプット情報編集処理。
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2JKKUseStpKaijoAddShijishoCC(HashMap<String, HashMap<String, Object>> inputMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		dataMap.put("func_code", "1");
		dataMap.put("func_cd", "1");

		dataMap.put(MAP_KEY_SEIKY_KEI_NO, shoriGroupMap.get(MAP_KEY_SEIKY_KEI_NO));
		
		inputMap.put(COMMON_COMP_ID_JKKUSESTPKAIJOADDSHIJISHOCC, dataMap);
	}
	// v24.00.00 IT1-2016-0000030 END
	
	// ANK-4401-00-00 ADD START
	/**
	 * 料金変更フラグ更新SC 
	 * @param inputMap サービスに渡す業務データを格納するMAP
	 * @param shoriGroupMap 処理グループ単位情報保持マップ
	 */
	public void mapping2prcChgFlgUpdateSC(HashMap<String, HashMap<String, Object>> inputMap, HashMap<String, String> shoriGroupMap)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		dataMap.put("func_code", "1");
		dataMap.put(MAP_KEY_SEIKY_NO, shoriGroupMap.get(MAP_KEY_SEIKY_NO));
		
		inputMap.put(SERVICE_COMP_ID_CHGE_04, dataMap);

	}
	// ANK-4401-00-00 ADD END
	
	/**
	 * ユーザーIDを取得します。
	 * 
	 * @param dlydTrnReqNo ディレイド処理依頼番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private String getUserId(String dlydTrnReqNo) throws Exception
	{
		JBSbatCommonDBInterface whereParam = new JBSbatCommonDBInterface();
		
		// ディレイド処理依頼番号
		whereParam.setValue(dlydTrnReqNo);
		
		// SQL実行
		JBSbatCommonDBInterface dbMap = executeCC_T_DLYD_TRN_REQ_PKSELECT(whereParam.getList().toArray());
		
		// 取得なしの場合
		if(null == dbMap)
		{
			// ログ出力（【最重要】ＤＢ未存在エラー）
			String[] msgParam = new String[]
			{ JBSbatCC_T_DLYD_TRN_REQ.TABLE_NAME, whereParam.getList().toString() };
			throw new JBSbatBusinessException(JPCBatchMessageConstant.ECHB0270CH, msgParam);
		}
		
		// 登録オペレータアカウント
		String userId = dbMap.getString(JBSbatCC_T_DLYD_TRN_REQ.ADD_OPEACNT);

		db_CC_T_DLYD_TRN_REQ.close();

		return userId;
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	DLYD_TRN_REQ_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeCC_T_DLYD_TRN_REQ_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("DLYD_TRN_REQ_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_CC_T_DLYD_TRN_REQ.selectByPrimaryKeys(whereMap);
	}

	/**
	 * 料金対応記録種別詳細コードを返します。
	 * @param shoriKbn 処理区分
	 */
	private String getPrcTaioKirokSbtDtlCd(String shoriKbn)
	{
		String prcTaioKirokSbtTdlCd = "";
		if (SHORI_KBN_ADJ.equals(shoriKbn))
		{
			prcTaioKirokSbtTdlCd = JACStrConst.TKRK_SBTD_SEIKY_AMNT_ADJ_BATCH;
		}
		else
		{
			prcTaioKirokSbtTdlCd = JACStrConst.TKRK_SBTD_SEIKY_AMNT_CHG_BATCH;
		}

		return prcTaioKirokSbtTdlCd;
	}

	/**
	 * サービス関連の情報（バッチ→サービス間マッピングで必要な情報）を取得します。
	 * 初期処理で一度だけ取得する。
	 * @param item バッチ共通パラメータ
	 * @param shoriKbn 処理区分
	 * @throws Exception
	 * @throws SQLException SQL例外が発生した場合
	 */
	public HashMap<String, String> getSvcMap(JBSbatCommonItem item, String shoriKbn) throws Exception
	{
		String listName1 = null;
		String listName2 = null;
		String listName5 = null;
		String svcCompId1 = null;
		String svcCompId2 = null;
		String prcTaioKirokSbtCd = null;
		String title = null;

		if (SHORI_KBN_ADJ.equals(shoriKbn))
		{
			listName1 = ADJ_INPUT_LIST1;
			listName2 = ADJ_INPUT_LIST2;
			listName5 = ADJ_INPUT_LIST5;
			svcCompId1 = SERVICE_COMP_ID_ADJ_01;
			svcCompId2 = SERVICE_COMP_ID_ADJ_02;
			prcTaioKirokSbtCd = JACStrConst.TKRK_SBT_PRC_ADJ;
			title = JACStrConst.SCREEN_NAME_IKT_ADJ;
		}
		else if(SHORI_KBN_CHGE.equals(shoriKbn))
		{
			listName1 = CHGE_INPUT_LIST1;
			listName2 = CHGE_INPUT_LIST2;
			listName5 = CHGE_INPUT_LIST5;
			svcCompId1 = SERVICE_COMP_ID_CHGE_01;
			svcCompId2 = SERVICE_COMP_ID_CHGE_02;
			prcTaioKirokSbtCd = JACStrConst.TKRK_SBT_PRC_CHG;
			title = JACStrConst.SCREEN_NAME_IKT_CHGE;
		}
		else
		{
			listName1 = ADJ_INPUT_LIST1;
			listName2 = ADJ_INPUT_LIST2;
			listName5 = ADJ_INPUT_LIST5;
			svcCompId1 = SERVICE_COMP_ID_READJ_01;
		}

		HashMap<String, String> svcMap = new HashMap<String, String>();
		svcMap.put(LIST_NAME1, listName1);
		svcMap.put(LIST_NAME2, listName2);
		svcMap.put(LIST_NAME5, listName5);
		svcMap.put(SVC_COMP_ID1, svcCompId1);
		svcMap.put(SVC_COMP_ID2, svcCompId2);
		svcMap.put(PRC_TAIO_KIROK_SBT_CD, prcTaioKirokSbtCd);
		svcMap.put(PRC_TAIO_KIROK_SBT_DTL_CD, getPrcTaioKirokSbtDtlCd(shoriKbn));
		svcMap.put(TITLE, title);

		return svcMap;
	}

	/**
	 * ユーザー関連の情報を取得します。
	 * 初期処理で一度だけ取得する。
	 * @param item バッチ共通パラメータ
	 * @param dlydTrnReqNo ディレイド処理依頼番号
	 * @throws Exception
	 * @throws SQLException SQL例外が発生した場合
	 */
	public HashMap<String, String> getUserMap(JBSbatCommonItem item, String dlydTrnReqNo) throws Exception
	{
		commonItem = item;

		// ユーザーID取得
		String userId = getUserId(dlydTrnReqNo);

		// 対応記録関連データ登録部品を使用しユーザー名、業務個別設定組織コード、業務個別設定組織名取得
		JCHbatTaiorrkDataAdd jchbatTaiorrkDataAdd = new JCHbatTaiorrkDataAdd(item, userId);

		// ユーザー名取得
		String userNm = jchbatTaiorrkDataAdd.getUserNm();
		// 業務個別設定組織コード取得
		String wkkbtOrgCd = jchbatTaiorrkDataAdd.getWkkbtOrgCd();
		// 業務個別設定組織名取得
		String wkkbtOrgNm = jchbatTaiorrkDataAdd.getWkkbtOrgNm();

		HashMap<String, String> userMap = new HashMap<String, String>();
		userMap.put(USER_ID, userId);
		userMap.put(USER_NM, userNm);
		userMap.put(WKKBT_ORG_CD, wkkbtOrgCd);
		userMap.put(WKKBT_ORG_NM, wkkbtOrgNm);

		return userMap;
	}

	/**
	 * テーブルアクセスクラスをクローズします。
	 * @throws SQLException SQL例外が発生した場合
	 */
	public void close() throws SQLException
	{
		// ディレイド処理依頼
		if (db_CC_T_DLYD_TRN_REQ != null)
		{
			db_CC_T_DLYD_TRN_REQ.close();
		}

		// 対応履歴データアクセスオブジェクトクローズ
		JACBatCommon.closeDataAccessObj(commonItem);
	}

}
