/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JDKCtrlTnInfo
*   ソースファイル名：JDKCtrlTnInfo.java
*   作成者          ：富士通
*   日付            ：2012年02月17日
*＜機能概要＞
*   宅内機器連携（Stub向け）コマンド発行部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/02/17   FJ) 富士通  新規作成
*   v32.00.00   2017/05/29   FJ) 河邊   【OM-2017-0000488】オープンカーソルエラー
*
**********************************************************************/
package eo.ejb.common;

import static eo.ejb.common.JDKModelCommon.cd;
import static eo.ejb.common.JDKModelCommon.resultSetToListOfMap;
import static eo.ejb.common.JDKModelCommon.setOf;
import static eo.ejb.common.JDKModelCommon.update;
import static eo.ejb.common.JDKModelCommon.whereOf;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.model.ejb.common.JSYejbLog;

import eo.ejb.cbs.cbsmsg.EDKA0010001CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010001ConditionList;
import eo.ejb.cbs.cbsmsg.EDKA0010002CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010003CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDKA0010004CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDKA0010004CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EDKA0010005CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDKA0010005CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EDKA0010006CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010006CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDKA0010006CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EDKA0010007CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010007CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDKA0010008CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010008ConditionList;
import eo.ejb.cbs.cbsmsg.EDKA0010009CBSMsg;
import eo.ejb.cbs.cbsmsg.EDKA0010009ConditionList;
import eo.ejb.cbs.cbsmsg.EDKA0010010CBSMsg;
import eo.ejb.common.JDKModelCommon.COMMA;

/**
 * 物流宅内スタブ
 * @author FJ
 *
 */
public class JDKCtrlTnInfoStubImpl extends JDKCtrlTnInfo
{
	private JDKCtrlTnInfoImpl realConnector = JDKCtrlTnInfoImpl.getInstance();
	
	/**
	 * カラム<->ＩＦ項目名変換テーブル
	 */
	private static final Map<String, String> TRANS = new HashMap<String, String>();
	static
	{
		TRANS.put("shelf_mv_sji_cnt",          "SLF_MV_SJI_NUM");
		TRANS.put("tjitu_nyuka_cnt",           "TJITU_NYUKA_NUM");
		TRANS.put("tjitu_haiso_shka_cnt",      "TJITU_HAISO_SHKA_NUM");
		TRANS.put("tjitu_dsl_tk_hmpin_num",    "TJITU_DSL_HMPIN_NUM");
		TRANS.put("tjitu_trb_kokan_hmpin_cnt", "TJITU_TRB_KOKAN_HMPIN_NUM");
		TRANS.put("shelf_mv_shka_fin_cnt",     "SLF_MV_SHKA_FIN_NUM");
		TRANS.put("shelf_mv_nyka_fin_cnt",     "SLF_MV_NYUKA_FIN_NUM");
		TRANS.put("haiso_uk_juchu_cnt",        "HAISO_UK_JUCHU_NUM");
		TRANS.put("jzaiko_cnt",                "JZAIKO_NUM");
		TRANS.put("taknkiki_model_cd",         "TK_MDL_CD");
		TRANS.put("key_knri_plc_skbt_cd",      "KNRI_PLC_SKBT_CD");
		TRANS.put("key_knri_plc_cd",           "KNRI_PLC_CD");
		TRANS.put("key_knri_plc_slf_cd",       "KNRI_PLC_SLF_CD");
		TRANS.put("key_tk_mdl_cd_btry_zik",    "TK_MDL_CD");
		TRANS.put("key_gds_stat_cd",           "GDS_STAT_CD");
	}
	
	/**
	 * 宅内機器一覧照会(1)SQL
	 */
	private static final String SQL_0001 = "SELECT " + 
											"   KIKI.TK_MDL_CD AS TK_MDL_CD, " + 
											"   KIKI.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
											"   KIKI.KNRI_PLC_SKBT_CD AS KNRI_PLC_SKBT_CD, " + 
											"   KIKI.KNRI_PLC_CD AS KNRI_PLC_CD, " + 
											"   KIKI.KNRI_PLC_SLF_CD AS KNRI_PLC_SLF_CD, " + 
											"   KIKI.VER AS VER, " + 
											"   KIKIM.TAKNKIKI_MODEL_NM AS TK_MDL_NM, " + 
											"   KIKIM.ALI_NM AS ALI_NM, " + 
											"   DECODE(KIKI.KNRI_PLC_SKBT_CD, '2', KOJIM.KOJI_COMP_NM, NULL) AS KOCOMP_NM, " + 
											"   DECODE(KIKI.KNRI_PLC_SKBT_CD, '2', KOJITANAM.KOJI_COMP_SLF_NM, NULL) AS KOCOMP_SLF_NM, " + 
											"   DECODE(KIKI.KNRI_PLC_SKBT_CD, '3', YTKM.YOTAKU_SAKI_OFFC_NM, NULL) AS YTK_SK_NM, " + 
											"   DECODE(KIKI.KNRI_PLC_SKBT_CD, '3', YTKTANAM.YOTAKU_SAKI_OFFC_SLF_NM, NULL) AS YTK_SK_SLF_NM, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS KIHON_UPD_DTTM, " +
											"   ROWNUM AS NUM "; 

	/**
	 * 宅内全テーブル結合句
	 */
	private static final String FROM_ALL_TK_TABLE = " FROM TK_T_TK KIKI " + 
													"INNER JOIN zm_m_taknkiki_model KIKIM " + 
													"   ON KIKIM.taknkiki_model_cd = KIKI.TK_MDL_CD " + 
													"LEFT OUTER JOIN ZM_M_KOJI_COMP KOJIM " + 
													"   ON KOJIM.koji_comp_cd = KIKI.KNRI_PLC_CD " + 
													"LEFT OUTER JOIN ZM_M_KOJI_COMP_SLF KOJITANAM " + 
													"   ON KOJITANAM.koji_comp_cd = KIKI.KNRI_PLC_CD " + 
													"   AND KOJITANAM.koji_comp_slf_cd = KIKI.KNRI_PLC_SLF_CD " + 
													"LEFT OUTER JOIN ZM_M_YTK_SK_OFFC YTKM " + 
													"   ON YTKM.yotaku_saki_offc_cd = KIKI.KNRI_PLC_CD " + 
													"LEFT OUTER JOIN ZM_M_YTK_SK_OFFC_SLF YTKTANAM " + 
													"   ON YTKTANAM.yotaku_saki_offc_cd = KIKI.KNRI_PLC_CD " + 
													"   AND YTKTANAM.yotaku_saki_offc_slf_cd = KIKI.KNRI_PLC_SLF_CD ";

	/**
	 * 宅内機器一覧照会(1)WHERE句１
	 */
	private static final String STR_0001_WHERE1 = " KIKI.TK_MDL_CD = ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句２
	 */
	private static final String STR_0001_WHERE2 = " KIKI.KK_SEIZO_NO >= ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句３
	 */
	private static final String STR_0001_WHERE3 = " KIKI.KK_SEIZO_NO <= ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句４
	 */
	private static final String STR_0001_WHERE4 = " KIKI.VER >= ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句５
	 */
	private static final String STR_0001_WHERE5 = " KIKI.VER <= ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句６
	 */
	private static final String STR_0001_WHERE6 = " KIKI.KNRI_PLC_CD = ? ";
	/**
	 * 宅内機器一覧照会(1)WHERE句７
	 */
	private static final String STR_0001_WHERE7 = " KIKI.KNRI_PLC_SLF_CD = ? ";

	
/**
 * 棚移動指示一覧照会SQL
 */
	private static final String SQL_0002 = "SELECT " + 
											"   KIKI.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS KIHON_UPD_DTTM, " + 
											"   KIKI.TK_MDL_CD AS TAKNKIKI_MODEL_CD, " + 
											"   KIKI.TK_SETHNMDL_CD AS TAKNKIKI_SETHIN_MODEL_CD, " + 
											"   KIKI.TK_SETHN_NO AS TAKNKIKI_SETHIN_NO " + 
											"FROM TK_T_TK KIKI ";

	/**
	 * 棚移動指示一覧照会WHERE句１
	 */
	private static final String STR_0002_WHERE1 = " KIKI.KNRI_PLC_SKBT_CD = ? ";
	/**
	 * 棚移動指示一覧照会WHERE句２
	 */
	private static final String STR_0002_WHERE2 = " KIKI.KNRI_PLC_CD = ? ";
	/**
	 * 棚移動指示一覧照会WHERE句３
	 */
	private static final String STR_0002_WHERE3 = " KIKI.KNRI_PLC_SLF_CD = ? ";
	/**
	 * 棚移動指示一覧照会WHERE句４
	 */
	private static final String STR_0002_WHERE4 = " KIKI.TK_MDL_CD = ? ";
	/**
	 * 棚移動指示一覧照会WHERE句５
	 */
	private static final String STR_0002_WHERE5 = " KIKI.TK_SETHNMDL_CD = ? ";
	/**
	 * 棚移動指示一覧照会WHERE句６
	 */
	private static final String STR_0002_WHERE6 = " KIKI.TK_SETHN_NO LIKE ? ";
	/**
	 * 棚移動指示一覧照会WHERE句７
	 */
	private static final String STR_0002_WHERE7 = " KIKI.KK_SEIZO_NO LIKE ? ";
	/**
	 * 棚移動指示一覧照会WHERE句８
	 */
	private static final String STR_0002_WHERE8 = " KIKI.GDS_STAT_CD = ? ";

	/**
	 * 宅内機器棚移動予約情報更新SQL
	 */
	private static final String SQL_0004 = "SELECT " + 
											"   KIKI.ROWID, " + 
											"   KIKI.SLF_MV_LOT_NO AS SLF_MV_LOT_NO " + 
											"FROM TK_T_TK KIKI ";

	/**
	 * 宅内機器棚移動予約情報更新WHERE句１
	 */
	private static final String STR_0004_WHERE1 = " KIKI.TK_MDL_CD = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句２
	 */
	private static final String STR_0004_WHERE2 = " KIKI.KK_SEIZO_NO = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句３
	 */
	private static final String STR_0004_WHERE3 = " KIKI.KNRI_PLC_SKBT_CD = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句４
	 */
	private static final String STR_0004_WHERE4 = " KIKI.KNRI_PLC_CD = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句５
	 */
	private static final String STR_0004_WHERE5 = " KIKI.KNRI_PLC_SLF_CD = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句６
	 */
	private static final String STR_0004_WHERE6 = " KIKI.SLF_MV_LOT_NO = ? ";
	/**
	 * 宅内機器棚移動予約情報更新WHERE句７
	 */
	private static final String STR_0004_WHERE7 = " KIKI.SLF_MV_RSV_FLG = ? ";

	/**
	 * 宅内機器一覧照会(5)SQL
	 */
	private static final String SQL_0008 = "SELECT " + 
											"   KIKI.TK_MDL_CD AS TK_MDL_CD, " + 
											"   KIKI.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
											"   KIKI.TK_STAT AS TK_STAT, " + 
											"   KIKI.KKTK_SBT_CD AS KKTK_SBT_CD, " + 
											"   KIKI.SHOYU_CD AS SHOYU_CD, " + 
											"   KIKI.KNRI_PLC_SKBT_CD AS KNRI_PLC_SKBT_CD, " + 
											"   KIKI.KNRI_PLC_CD AS KNRI_PLC_CD, " + 
											"   KIKI.KNRI_PLC_SLF_CD AS KNRI_PLC_SLF_CD, " + 
											"   KIKI.GDS_STAT_CD AS GDS_STAT_CD, " + 
											"   KIKI.SETPLACE_NO AS SETPLACE_NO, " + 
											"   KIKI.MAC_AD AS MAC_AD, " + 
											"   KIKI.JOI_TK_MDL_CD AS JOI_TK_MDL_CD, " + 
											"   KIKI.JOI_KK_SEIZO_NO AS JOI_KK_SEIZO_NO, " + 
											"   KIKI.MANS_KYB_NO AS MANS_KYB_NO, " + 
											"   KIKI.RENEWAL_FQC AS RENEWAL_FQC, " + 
											"   KIKI.YOBI_GDS_FLG AS YOBI_GDS_FLG, " + 
											"   KIKI.KJAK_NO AS KJAK_NO, " + 
											"   KIKI.TCASE_NO AS TCASE_NO, " + 
											"   KIKI.TK_SETHN_NO AS TK_SETHN_NO, " + 
											"   KIKI.TK_SETHNMDL_CD AS TK_SETHNMDL_CD, " + 
											"   KIKI.SLF_MV_RSV_FLG AS SLF_MV_RSV_FLG, " + 
											"   KIKI.SLF_MV_LOT_NO AS SLF_MV_LOT_NO, " + 
											"   KIKI.PLC_STC_YMD AS PLC_STC_YMD, " + 
											"   KIKI.HOSHO_STA_YMD AS HOSHO_STA_YMD, " + 
											"   KIKI.HOSHO_END_YMD AS HOSHO_END_YMD, " + 
											"   KIKI.TK_NYUKA_YMD AS TK_NYUKA_YMD, " + 
											"   KIKI.TK_ABDMNT_YMD AS TK_ABDMNT_YMD, " + 
											"   KIKI.ZANCHI_STA_YMD AS ZANCHI_STA_YMD, " + 
											"   KIKI.ZANCHI_END_YMD AS ZANCHI_END_YMD, " + 
											"   KIKI.TK_RTN_RSVD AS TK_RTN_RSVD, " + 
											"   KIKI.RTN_SK_FST_KOCOMP_CD AS RTN_SK_FST_KOCOMP_CD, " + 
											"   KIKI.VER AS VER, " + 
											"   KIKI.KK_READ_COMP_NM AS KK_READ_COMP_NM, " + 
											"   KIKI.KK_READ_TNTSHA AS KK_READ_TNTSHA, " + 
											"   KIKI.SOKO_SHKA_YMD AS SOKO_SHKA_YMD, " + 
											"   KIKI.KK_BARCODE_NO AS KK_BARCODE_NO, " + 
											"   KIKI.ADD_USER_ID AS ADD_USER_ID, " + 
											"   TO_CHAR(KIKI.ADD_DTTM, 'yyyyMMddHH24missFF3') AS KHN_ADD_DTTM, " + 
											"   KIKI.MOD_USER_ID AS MOD_USER_ID, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS KHN_MOD_DTTM, " + 
											"   STB.TK_MDL_CD AS TK_MDL_CD_STB, " + 
											"   STB.KK_SEIZO_NO AS KK_SEIZO_NO_STB, " + 
											"   STB.STB_STAT_CD AS STB_STAT_CD, " + 
											"   STB.STB_ID AS STB_ID, " + 
											"   STB.CTL_AREA_CD AS CTL_AREA_CD, " + 
											"   STB.STB_MATSU_YO_GRP_ID1 AS STB_MATSU_YO_GRP_ID1, " + 
											"   STB.STB_MATSU_YO_GRP_ID2 AS STB_MATSU_YO_GRP_ID2, " + 
											"   STB.STB_MATSU_YO_GRP_ID3 AS STB_MATSU_YO_GRP_ID3, " + 
											"   STB.STB_MATSU_YO_GRP_ID4 AS STB_MATSU_YO_GRP_ID4, " + 
											"   STB.STB_MATSU_YO_GRP_ID5 AS STB_MATSU_YO_GRP_ID5, " + 
											"   STB.STB_MATSU_YO_GRP_ID6 AS STB_MATSU_YO_GRP_ID6, " + 
											"   STB.CN_KR_KEY_STA_YMD AS CN_KR_KEY_STA_YMD, " + 
											"   STB.CN_CAS_CARD_SBT_CD AS CN_CAS_CARD_SBT_CD, " + 
											"   STB.CN_C_CAS_CARD_STAT_CD AS CN_C_CAS_CARD_STAT_CD, " + 
											"   STB.ADD_USER_ID AS ADD_USER_ID_STB, " + 
											"   TO_CHAR(STB.ADD_DTTM, 'yyyyMMddHH24missFF3') AS STB_ADD_DTTM, " + 
											"   STB.MOD_USER_ID AS MOD_USER_ID_STB, " + 
											"   TO_CHAR(STB.MOD_DTTM, 'yyyyMMddHH24missFF3') AS STB_MOD_DTTM, " + 
											"   KIKI.TK_MDL_CD AS TK_MDL_CD_MOBILE, " + 
											"   KIKI.KK_SEIZO_NO AS KK_SEIZO_NO_MOBILE, " + 
											"   KIKI.UQ_NINSHO_ID AS UQ_NINSHO_ID, " + 
											"   KIKI.UQ_PWD AS UQ_PWD, " + 
											"   KIKI.EM_KSH_CD AS EM_KSH_CD, " + 
											"   KIKI.ICCID AS ICCID, " + 
											"   KIKI.MAC_NINSHO_ID AS MAC_NINSHO_ID, " + 
											"   KIKI.MSISDN AS MSISDN, " + 
											"   KIKI.ADD_USER_ID AS ADD_USER_ID_MOBILE, " + 
											"   TO_CHAR(KIKI.ADD_DTTM, 'yyyyMMddHH24missFF3') AS MOB_ADD_DTTM, " + 
											"   KIKI.MOD_USER_ID AS MOD_USER_ID_MOBILE, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS MOB_MOD_DTTM, " + 
											"   '' AS SETPLACE_NO_MOBILE, " + 
											"   '' AS SETPLACE_AD_CD, " + 
											"   '' AS SETPLACE_PCD, " + 
											"   '' AS SETPLACE_STATE_NM, " + 
											"   '' AS SETPLACE_CITY_NM, " + 
											"   '' AS SETPLACE_OAZTSU_NM, " + 
											"   '' AS SETPLACE_AZCHO_NM, " + 
											"   '' AS SETPLACE_BNCHIGO, " + 
											"   '' AS SETPLACE_ADRTTM, " + 
											"   '' AS SETPLACE_ADRRM, " + 
											"   KIKI.PLC_STC_YMD AS SETPLACE_ADD_YMD, " + 
											"   KIKI.ADD_USER_ID AS ADD_USER_ID_SETTI, " + 
											"   TO_CHAR(KIKI.ADD_DTTM, 'yyyyMMddHH24missFF3') AS SETTI_ADD_DTTM, " + 
											"   KIKI.MOD_USER_ID AS MOD_USER_ID_SETTI, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS SETTI_MOD_DTTM " + 
											"FROM TK_T_TK KIKI " +
											" INNER JOIN TK_T_TK STB" +
											" ON KIKI.TK_MDL_CD = STB.TK_MDL_CD" +
											" AND KIKI.KK_SEIZO_NO = STB.KK_SEIZO_NO ";

	/**
	 * 宅内機器一覧照会(5)WHERE句１
	 */
	private static final String STR_0008_WHERE1 = " KIKI.TK_MDL_CD = ? ";
	/**
	 * 宅内機器一覧照会(5)WHERE句２
	 */
	private static final String STR_0008_WHERE2 = " KIKI.KK_SEIZO_NO = ? ";
	/**
	 * 宅内機器一覧照会(5)WHERE句３
	 */
	private static final String STR_0008_WHERE3 = " KIKI.TK_SETHNMDL_CD = ? ";
	/**
	 * 宅内機器一覧照会(5)WHERE句４
	 */
	private static final String STR_0008_WHERE4 = " KIKI.TK_SETHN_NO = ? ";

	/**
	 * 棚移動指示一意照会SQL
	 */
	private static final String SQL_0009 = "SELECT " + 
											"   KIKI.TK_MDL_CD AS TAKNKIKI_MODEL_CD, " + 
											"   KIKI.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
											"   KIKI.TK_SETHNMDL_CD AS TAKNKIKI_SETHIN_MODEL_CD, " + 
											"   KIKI.TK_SETHN_NO AS TAKNKIKI_SETHIN_NO, " + 
											"   TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS KIHON_UPD_DTTM " + 
											"FROM TK_T_TK KIKI " + 
											"WHERE SHOYU_CD = '1' " 
//											+ 
//											"   AND SLF_MV_RSV_FLG = '0' "
											;

	/**
	 * 棚移動指示一意照会WHERE句１
	 */
	private static final String STR_0009_WHERE1 = " KIKI.TK_MDL_CD = ? ";
	/**
	 * 棚移動指示一意照会WHERE句２
	 */
	private static final String STR_0009_WHERE2 = " KIKI.KK_SEIZO_NO = ? ";
	/**
	 * 棚移動指示一意照会WHERE句３
	 */
	private static final String STR_0009_WHERE3 = " KIKI.TK_SETHNMDL_CD = ? ";
	/**
	 * 棚移動指示一意照会WHERE句４
	 */
	private static final String STR_0009_WHERE4 = " KIKI.TK_SETHN_NO = ? ";

	/**
	 * 宅内機器一覧照会(2)宅内機器ステータス名称取得
	 */
	private static final String SQL_0010_GETTKSTAT = " ( CASE KIKI.TK_STAT " + 
														"    WHEN '11' THEN '保管' " + 
														"    WHEN '31' THEN '配送中' " + 
														"    WHEN '32' THEN '預託' " + 
														"    WHEN '51' THEN '設置' " + 
														"    WHEN '52' THEN 'お客様預り' " + 
														"    WHEN '53' THEN '残置' " + 
														"    WHEN '54' THEN '買取' " + 
														"    WHEN '71' THEN '返送中' " + 
														"    WHEN '72' THEN '返品預託' " + 
														"    WHEN '91' THEN '破棄' " + 
														"    ELSE '' " + 
														"   END " + 
														" ) AS TK_STAT_NM ";

	/**
	 * 宅内機器一覧照会(2)SQL(STB指定)
	 */
	private static final String SQL_0010_STB = "SELECT " + 
												"   T.TK_STAT AS TK_STAT, " + 
												"   T.TK_STAT_NM AS TK_STAT_NM, " + 
												"   T.KNRI_PLC_SKBT_CD AS KNRI_PLC_SKBT_CD, " + 
												"   T.KNRI_PLC_CD AS KNRI_PLC_CD, " + 
												"   T.KNRI_PLC_SLF_CD AS KNRI_PLC_SLF_CD, " + 
												"   T.TK_MDL_CD AS TK_MDL_CD, " + 
												"   T.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
												"   T.KKTK_SBT_CD AS KKTK_SBT_CD, " + 
												"   T.KKTK_SBT_CD_NM AS KKTK_SBT_CD_NM, " + 
												"   T.TK_SETHN_NO AS TAKNKIKI_SETHIN_NO, " + 
												"   T.MAC_AD AS MAC_AD, " + 
												"   T.STB_ID AS STB_ID, " + 
												"   T.TK_MDL_NM AS TK_MDL_NM, " + 
												"   T.ALI_NM AS ALI_NM, " + 
												"   T.KOCOMP_NM AS KOCOMP_NM, " + 
												"   T.KOCOMP_SLF_NM AS KOCOMP_SHELF_NM, " + 
												"   T.YTK_SK_OFFC_NM AS YOTAKU_SK_OFFC_NM, " + 
												"   T.YTK_SK_OFFC_SLF_NM AS YOTAKU_SK_OFFC_SHELF_NM, " + 
												"   T.UPD_DTTM AS UPD_DTTM " + 
												"FROM " + 
												"   (SELECT " + 
												"       KIKI.TK_STAT, " + 
														SQL_0010_GETTKSTAT + ", " + 
												"       KIKI.KNRI_PLC_SKBT_CD, " + 
												"       KIKI.KNRI_PLC_CD, " + 
												"       KIKI.KNRI_PLC_SLF_CD, " + 
												"       STB.TK_MDL_CD, " + 
												"       STB.KK_SEIZO_NO, " + 
												"       KIKI.KKTK_SBT_CD, " + 
														cd("CD00212", "KIKI.KKTK_SBT_CD", COMMA.NONE, "KKTK_SBT_CD_NM") + ", " + 
												"       KIKI.TK_SETHNMDL_CD, " + 
												"       KIKI.TK_SETHN_NO, " + 
												"       KIKI.MAC_AD, " + 
												"       STB.STB_ID, " + 
												"       TKM.TAKNKIKI_MODEL_NM AS TK_MDL_NM, " + 
												"       TKM.ALI_NM, " + 
												"       KOJIM.KOJI_COMP_NM AS KOCOMP_NM, " + 
												"       KOJITANAM.KOJI_COMP_SLF_NM AS KOCOMP_SLF_NM, " + 
												"       YTKM.YOTAKU_SAKI_OFFC_NM AS YTK_SK_OFFC_NM, " + 
												"       YTKTANAM.YOTAKU_SAKI_OFFC_SLF_NM AS YTK_SK_OFFC_SLF_NM, " + 
												"       TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS UPD_DTTM, " + 
												"       ROWNUM AS NUM " + 
												"    FROM TK_T_TK STB " + 
												"    INNER JOIN " + 
												"       (SELECT " + 
												"           TK_MDL_CD, " + 
												"           KK_SEIZO_NO, " + 
												"           KNRI_PLC_CD, " + 
												"           KNRI_PLC_SLF_CD, " + 
												"           TK_STAT, " + 
												"           KNRI_PLC_SKBT_CD, " + 
												"           KKTK_SBT_CD, " + 
												"           TK_SETHNMDL_CD, " + 
												"           TK_SETHN_NO, " + 
												"           MAC_AD, " + 
												"           MOD_DTTM " + 
												"        FROM TK_T_TK " + 
												"        UNION " + 
												"        SELECT " + 
												"           TK_MDL_CD, " + 
												"           KK_SEIZO_NO, " + 
												"           KNRI_PLC_CD, " + 
												"           KNRI_PLC_SLF_CD, " + 
												"           TK_STAT, " + 
												"           KNRI_PLC_SKBT_CD, " + 
												"           KKTK_SBT_CD, " + 
												"           TK_SETHNMDL_CD, " + 
												"           TK_SETHN_NO, " + 
												"           MAC_AD, " + 
												"           MOD_DTTM AS MOD_DTTM " + 
												"        FROM TK_T_TK " + 
												"       ) KIKI " + 
												"       ON STB.TK_MDL_CD = KIKI.TK_MDL_CD " + 
												"       AND STB.KK_SEIZO_NO = KIKI.KK_SEIZO_NO " + 
												"    INNER JOIN zm_m_taknkiki_model TKM " + 
												"       ON TKM.taknkiki_model_cd = KIKI.TK_MDL_CD " + 
												"    LEFT OUTER JOIN ZM_M_KOJI_COMP KOJIM " + 
												"       ON KOJIM.KOJI_COMP_CD = KIKI.KNRI_PLC_CD " + 
												"    LEFT OUTER JOIN ZM_M_KOJI_COMP_SLF KOJITANAM " + 
												"       ON KOJITANAM.KOJI_COMP_CD = KIKI.KNRI_PLC_CD " + 
												"       AND KOJITANAM.KOJI_COMP_SLF_CD = KIKI.KNRI_PLC_SLF_CD " + 
												"    LEFT OUTER JOIN ZM_M_YTK_SK_OFFC YTKM " + 
												"       ON YTKM.YOTAKU_SAKI_OFFC_CD = KIKI.KNRI_PLC_CD " + 
												"    LEFT OUTER JOIN ZM_M_YTK_SK_OFFC_SLF YTKTANAM " + 
												"       ON YTKTANAM.YOTAKU_SAKI_OFFC_CD = KIKI.KNRI_PLC_CD " + 
												"       AND YTKTANAM.YOTAKU_SAKI_OFFC_SLF_CD = KIKI.KNRI_PLC_SLF_CD";

	/**
	 * 宅内機器一覧照会(2)(STBID指定)ORDER BY句
	 */
	private static final String SQL_0010_STB_OB = " ORDER BY STB.TK_MDL_CD, STB.KK_SEIZO_NO, STB.MOD_DTTM DESC) T ";

	/**
	 * 宅内機器一覧照会(2)SQL(製造番号指定)
	 */
	private static final String SQL_0010_SEIZONO = "SELECT " + 
													"   T.TK_STAT AS TK_STAT, " + 
													"   T.TK_STAT_NM AS TK_STAT_NM, " + 
													"   T.KNRI_PLC_SKBT_CD AS KNRI_PLC_SKBT_CD, " + 
													"   T.KNRI_PLC_CD AS KNRI_PLC_CD, " + 
													"   T.KNRI_PLC_SLF_CD AS KNRI_PLC_SLF_CD, " + 
													"   T.TK_MDL_CD AS TK_MDL_CD, " + 
													"   T.KK_SEIZO_NO AS KK_SEIZO_NO, " + 
													"   T.KKTK_SBT_CD AS KKTK_SBT_CD, " + 
													"   T.KKTK_SBT_CD_NM AS KKTK_SBT_CD_NM, " + 
													"   T.TK_SETHN_NO AS TAKNKIKI_SETHIN_NO, " + 
													"   T.MAC_AD AS MAC_AD, " + 
													"   T.STB_ID AS STB_ID, " + 
													"   T.TK_MDL_NM AS TK_MDL_NM, " + 
													"   T.ALI_NM AS ALI_NM, " + 
													"   T.KOCOMP_NM AS KOCOMP_NM, " + 
													"   T.KOCOMP_SLF_NM AS KOCOMP_SHELF_NM, " + 
													"   T.YTK_SK_OFFC_NM AS YOTAKU_SK_OFFC_NM, " + 
													"   T.YTK_SK_OFFC_SLF_NM AS YOTAKU_SK_OFFC_SHELF_NM, " + 
													"   T.UPD_DTTM AS UPD_DTTM " + 
													"FROM " + 
													"   (SELECT " + 
													"       KIKI.TK_STAT, " + 
															SQL_0010_GETTKSTAT + ", " + 
													"       KIKI.KNRI_PLC_SKBT_CD, " + 
													"       KIKI.KNRI_PLC_CD, " + 
													"       KIKI.KNRI_PLC_SLF_CD, " + 
													"       STB.TK_MDL_CD, " + 
													"       STB.KK_SEIZO_NO, " + 
													"       KIKI.KKTK_SBT_CD, " + 
															cd("CD00212", "KIKI.KKTK_SBT_CD", COMMA.NONE, "KKTK_SBT_CD_NM") + ", " + 
													"       KIKI.TK_SETHNMDL_CD, " + 
													"       KIKI.TK_SETHN_NO, " + 
													"       KIKI.MAC_AD, " + 
													"       STB.STB_ID, " + 
													"       TKM.TAKNKIKI_MODEL_NM AS TK_MDL_NM, " + 
													"       TKM.ALI_NM, " + 
													"       KOJIM.KOJI_COMP_NM AS KOCOMP_NM, " + 
													"       KOJITANAM.KOJI_COMP_SLF_NM AS KOCOMP_SLF_NM, " + 
													"       YTKM.YOTAKU_SAKI_OFFC_NM AS YTK_SK_OFFC_NM, " + 
													"       YTKTANAM.YOTAKU_SAKI_OFFC_SLF_NM AS YTK_SK_OFFC_SLF_NM, " + 
													"       TO_CHAR(KIKI.MOD_DTTM, 'yyyyMMddHH24missFF3') AS UPD_DTTM, " + 
													"       ROWNUM AS NUM " + 
													"    FROM " + 
													"       (SELECT " + 
													"           TK_MDL_CD, " + 
													"           KK_SEIZO_NO, " + 
													"           KNRI_PLC_CD, " + 
													"           KNRI_PLC_SLF_CD, " + 
													"           TK_STAT, " + 
													"           KNRI_PLC_SKBT_CD, " + 
													"           KKTK_SBT_CD, " + 
													"           TK_SETHNMDL_CD, " + 
													"           TK_SETHN_NO, " + 
													"           MAC_AD, " + 
													"           MOD_DTTM " + 
													"        FROM TK_T_TK " + 
													"        UNION " + 
													"        SELECT " + 
													"           TK_MDL_CD, " + 
													"           KK_SEIZO_NO, " + 
													"           KNRI_PLC_CD, " + 
													"           KNRI_PLC_SLF_CD, " + 
													"           TK_STAT, " + 
													"           KNRI_PLC_SKBT_CD, " + 
													"           KKTK_SBT_CD, " + 
													"           TK_SETHNMDL_CD, " + 
													"           TK_SETHN_NO, " + 
													"           MAC_AD, " + 
													"           MOD_DTTM AS MOD_DTTM " + 
													"        FROM TK_T_TK " + 
													"       ) KIKI " + 
													"    INNER JOIN zm_m_taknkiki_model TKM " + 
													"       ON TKM.taknkiki_model_cd = KIKI.TK_MDL_CD " + 
													"    INNER JOIN tk_t_tk stb " + 
													"       ON stb.TK_MDL_CD = KIKI.TK_MDL_CD " + 
													"      and stb.kk_seizo_no = KIKI.kk_seizo_no " + 
													"    LEFT OUTER JOIN ZM_M_KOJI_COMP KOJIM " + 
													"       ON KOJIM.KOJI_COMP_CD = KIKI.KNRI_PLC_CD " + 
													"    LEFT OUTER JOIN ZM_M_KOJI_COMP_SLF KOJITANAM " + 
													"       ON KOJITANAM.KOJI_COMP_CD = KIKI.KNRI_PLC_CD " + 
													"       AND KOJITANAM.KOJI_COMP_SLF_CD = KIKI.KNRI_PLC_SLF_CD " + 
													"    LEFT OUTER JOIN ZM_M_YTK_SK_OFFC YTKM " + 
													"       ON YTKM.YOTAKU_SAKI_OFFC_CD = KIKI.KNRI_PLC_CD " + 
													"    LEFT OUTER JOIN ZM_M_YTK_SK_OFFC_SLF YTKTANAM " + 
													"       ON YTKTANAM.YOTAKU_SAKI_OFFC_CD = KIKI.KNRI_PLC_CD " + 
													"       AND YTKTANAM.YOTAKU_SAKI_OFFC_SLF_CD = KIKI.KNRI_PLC_SLF_CD";

	/**
	 * 宅内機器一覧照会(2)(製造番号指定)ORDER BY句
	 */
	private static final String SQL_0010_SEIZONO_OB = " ORDER BY KIKI.TK_MDL_CD, KIKI.KK_SEIZO_NO, UPD_DTTM DESC) T ";

	/**
	 * 宅内機器一覧照会(2)WHERE句１ STBID指定
	 */
	private static final String STR_0010_WHERE1_STB = " STB.TK_MDL_CD = ? ";
	/**

	 * 宅内機器一覧照会(2)WHERE句１ 製造番号指定
	 */
	private static final String STR_0010_WHERE1_SEIZONO = " STB.TK_MDL_CD = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句２ STBID指定
	 */
	private static final String STR_0010_WHERE2_STB = " KIKI.KK_SEIZO_NO = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句２ 製造番号指定
	 */
	private static final String STR_0010_WHERE2_SEIZONO = " KIKI.KK_SEIZO_NO = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句３
	 */
	private static final String STR_0010_WHERE3 = " KIKI.TK_SETHNMDL_CD = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句４
	 */
	private static final String STR_0010_WHERE4 = " KIKI.TK_SETHN_NO = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句５
	 */
	private static final String STR_0010_WHERE5 = " STB.STB_ID = ? ";

	/**
	 * 宅内機器一覧照会(2)WHERE句６
	 */
	private static final String STR_0010_WHERE6 = " WHERE NUM BETWEEN ? AND ? ";

	/**
	 * データ件数取得SQL（始）
	 */
	private static final String SQL_CNT_START = "SELECT COUNT(*) AS TOTAL_CNT FROM ( ";

	/**
	 * データ件数取得SQL（終）
	 */
	private static final String SQL_CNT_END = ") A ";

	/**
	 * インスタンス
	 */
	private static JDKCtrlTnInfoStubImpl instance = null;

	/**
	 * コネクション
	 */
	private Connection connection = null;

	/**
	 * コンストラクタ
	 */
	private JDKCtrlTnInfoStubImpl()
	{
		super();
	}

	/**
	 * インスタンス取得用のメソッド
	 * 
	 * @return JDKCtrlTnInfoStubImpl
	 */
	public static JDKCtrlTnInfoStubImpl getInstance()
	{
		synchronized (JDKCtrlTnInfoImpl.class)
		{
			if(instance == null) 
			{
				JDKCtrlTnInfoStubImpl.instance = new JDKCtrlTnInfoStubImpl();
			}
		}

		return instance;
	}

	/**
	 * 宅内機器一覧照会(1)
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0001(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0001(serviceMap, this.getConnection());
	}

	/**
	 * 宅内機器一覧照会(1)
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0001(Map serviceMap, Connection con) throws Exception
	{
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		Hashtable<String, Object> ret = makeReturnMap();
		
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010001CBSMsg.EDKA0010001CONDITIONLIST)))
		{

			StringBuffer sql = new StringBuffer();
			StringBuffer where = new StringBuffer();
			int columnnum = 1;

			String str_tk_mdl_cd = (String)arg.get(EDKA0010001ConditionList.KEY_TK_MDL_CD);
			String str_kk_seizo_no_from = (String)arg.get(EDKA0010001ConditionList.KEY_KK_SEIZO_NO_FROM);
			String str_kk_seizo_no_to = (String)arg.get(EDKA0010001ConditionList.KEY_KK_SEIZO_NO_TO);
			String str_ver_from = (String)arg.get(EDKA0010001ConditionList.KEY_VER_FROM);
			String str_ver_to = (String)arg.get(EDKA0010001ConditionList.KEY_VER_TO);
			String str_knri_plc_cd = (String)arg.get(EDKA0010001ConditionList.KEY_KNRI_PLC_CD);
			String str_knri_plc_slf_cd = (String)arg.get(EDKA0010001ConditionList.KEY_KNRI_PLC_SLF_CD);
			
		
			// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
			// ＫＥＹ＿宅内機器型式コード
			if(!"".equals(str_tk_mdl_cd))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE1);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE1);
				}
			}

			// ＫＥＹ＿機器製造番号(FROM)
			if(!"".equals(str_kk_seizo_no_from))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE2);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE2);
				}
			}

			// ＫＥＹ＿機器製造番号(TO)
			if(!"".equals(str_kk_seizo_no_to))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE3);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE3);
				}
			}

			// ＫＥＹ＿Ver(FROM)
			if(!"".equals(str_ver_from))
			{
				// ＫＥＹ＿Ver(FROM)
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE4);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE4);
				}
			}

			// ＫＥＹ＿Ver(TO)
			if(!"".equals(str_ver_to))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE5);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE5);
				}
			}

			// ＫＥＹ＿管理場所コード
			if(!"".equals(str_knri_plc_cd))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE6);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE6);
				}
			}
			
			// ＫＥＹ＿管理場所棚コード
			if(!"".equals(str_knri_plc_slf_cd))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0001_WHERE7);
				}
				else
				{
					where.append(" AND ").append(STR_0001_WHERE7);
				}
			}

			try
			{
				sql.append(SQL_0001 + FROM_ALL_TK_TABLE).append(" WHERE ").append(where.toString());
				JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);

				prstmt = this.connection.prepareStatement(sql.toString());

				if(!"".equals(str_tk_mdl_cd))
				{
					prstmt.setString(columnnum, str_tk_mdl_cd);
					columnnum++;
				}
				if(!"".equals(str_kk_seizo_no_from))
				{
					prstmt.setString(columnnum, str_kk_seizo_no_from);
					columnnum++;
				}
				if(!"".equals(str_kk_seizo_no_to))
				{
					prstmt.setString(columnnum, str_kk_seizo_no_to);
					columnnum++;
				}
				if(!"".equals(str_ver_from))
				{
					prstmt.setString(columnnum, str_ver_from);
					columnnum++;
				}
				if(!"".equals(str_ver_to))
				{
					prstmt.setString(columnnum, str_ver_to);
					columnnum++;
				}
				if(!"".equals(str_knri_plc_cd))
				{
					prstmt.setString(columnnum, str_knri_plc_cd);
					columnnum++;
				}
				if(!"".equals(str_knri_plc_slf_cd))
				{
					prstmt.setString(columnnum, str_knri_plc_slf_cd);
					columnnum++;
				}

				rs = prstmt.executeQuery();
				List<Map<String, Object>> list = resultSetToListOfMap(rs);
				
				// 実行結果の返却
				if (list.size() > 0) {
					resultList.addAll(list);
				}
// OM-2017-0000488 2017/05/29 MOD START
//				rs.close();
//				prstmt.close();
//			}
//			finally
//			{
//				// ループを抜けてからcloseする
//			}
			}
			finally
			{
				if(rs != null)
				{
					rs.close();
				}
				if(prstmt != null)
				{
					prstmt.close();
				}
			}
// OM-2017-0000488 2017/05/29 MOD END
		}

		// 検索結果が2001件以上の場合、総件数には9999がセットされてくる
		if (resultList.size() > 2000)
		{
			ret.put(EDKA0010001CBSMsg.TTL_NUM, String.valueOf(9999));
		}
		else
		{
			ret.put(EDKA0010001CBSMsg.TTL_NUM, String.valueOf(resultList.size()));
		}
		
		ret.put(EDKA0010001CBSMsg.EDKA0010001CBSMSG1LIST, resultList);
		realConnector.ctrlTnInfo_DKA0001(serviceMap, null);
		return ret;
	}

	/**
	 * 棚移動指示一覧照会
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0002(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0002(serviceMap, this.getConnection());
	}

	/**
	 * 棚移動指示一覧照会
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0002(Map serviceMap, Connection con) throws Exception
	{
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = new StringBuffer();
		int columnnum = 1;

		String str_key_shori_div = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_SHORI_DIV);
		String str_key_knri_plc_skbt_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_KNRI_PLC_SKBT_CD);
		String str_key_knri_plc_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_KNRI_PLC_CD);
		String str_key_knri_plc_slf_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_KNRI_PLC_SLF_CD);
		String str_key_tk_mdl_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_TK_MDL_CD);
		String str_key_taknkiki_sethin_model_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_TAKNKIKI_SETHIN_MODEL_CD);
		String str_key_taknkiki_sethin_no = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_TAKNKIKI_SETHIN_NO);
		String str_key_kiki_seizo_no = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_KIKI_SEIZO_NO);
		String str_key_gds_stat_cd = (String)serviceMap.get(EDKA0010002CBSMsg.KEY_GDS_STAT_CD);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		// ＫＥＹ＿管理場所識別コード
		if(!"".equals(str_key_knri_plc_skbt_cd))
		{
			if("".equals(where.toString()))
			{
				where.append(STR_0002_WHERE1);
			}
			else
			{
				where.append(" AND ").append(STR_0002_WHERE1);
			}
		}

		// ＫＥＹ＿管理場所コード
		if(!"".equals(str_key_knri_plc_cd))
		{
			if("".equals(where.toString()))
			{
				where.append(STR_0002_WHERE2);
			}
			else
			{
				where.append(" AND ").append(STR_0002_WHERE2);
			}
		}

		// ＫＥＹ＿管理場所棚コード
		if(!"".equals(str_key_knri_plc_slf_cd))
		{
			if("".equals(where.toString()))
			{
				where.append(STR_0002_WHERE3);
			}
			else
			{
				where.append(" AND ").append(STR_0002_WHERE3);
			}
		}
		
		// ＫＥＹ＿商品状態コード
		if(!"".equals(str_key_gds_stat_cd))
		{
			if("".equals(where.toString()))
			{
				where.append(STR_0002_WHERE8);
			}
			else
			{
				where.append(" AND ").append(STR_0002_WHERE8);
			}
		}

		// 宅内機器の場合
		if ("1".equals(str_key_shori_div))
		{
			// ＫＥＹ＿宅内機器型式コード
			if(!"".equals(str_key_tk_mdl_cd))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0002_WHERE4);
				}
				else
				{
					where.append(" AND ").append(STR_0002_WHERE4);
				}
			}

			// ＫＥＹ＿機器製造番号
			if(!"".equals(str_key_kiki_seizo_no))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0002_WHERE7);
				}
				else
				{
					where.append(" AND ").append(STR_0002_WHERE7);
				}
			}
		}
		else if ("2".equals(str_key_shori_div))
		{
			// セット品の場合
			// ＫＥＹ＿宅内機器セット品型コード
			if(!"".equals(str_key_taknkiki_sethin_model_cd))
			{
				// ＫＥＹ＿Ver(FROM)
				if("".equals(where.toString()))
				{
					where.append(STR_0002_WHERE5);
				}
				else
				{
					where.append(" AND ").append(STR_0002_WHERE5);
				}
			}

			// ＫＥＹ＿宅内機器セット品番号
			if(!"".equals(str_key_taknkiki_sethin_no))
			{
				if("".equals(where.toString()))
				{
					where.append(STR_0002_WHERE6);
				}
				else
				{
					where.append(" AND ").append(STR_0002_WHERE6);
				}
			}
		}

		Hashtable<String, Object> ret = makeReturnMap();

		try
		{
			sql.append(SQL_0002).append(" WHERE ").append(where.toString());
			JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);

			prstmt = this.connection.prepareStatement(sql.toString());

			if(!"".equals(str_key_knri_plc_skbt_cd))
			{
				prstmt.setString(columnnum, str_key_knri_plc_skbt_cd);
				columnnum++;
			}
			if(!"".equals(str_key_knri_plc_cd))
			{
				prstmt.setString(columnnum, str_key_knri_plc_cd);
				columnnum++;
			}
			if(!"".equals(str_key_knri_plc_slf_cd))
			{
				prstmt.setString(columnnum, str_key_knri_plc_slf_cd);
				columnnum++;
			}
			if(!"".equals(str_key_gds_stat_cd))
			{
				prstmt.setString(columnnum, str_key_gds_stat_cd);
				columnnum++;
			}
			
			// 宅内機器の場合
			if ("1".equals(str_key_shori_div))
			{
				if(!"".equals(str_key_tk_mdl_cd))
				{
					prstmt.setString(columnnum, str_key_tk_mdl_cd);
					columnnum++;
				}
				if(!"".equals(str_key_kiki_seizo_no))
				{
					prstmt.setString(columnnum, str_key_kiki_seizo_no + "%");
					columnnum++;
				}
			}
			else if ("2".equals(str_key_shori_div))
			{
				// セット品の場合
				if(!"".equals(str_key_taknkiki_sethin_model_cd))
				{
					prstmt.setString(columnnum, str_key_taknkiki_sethin_model_cd);
					columnnum++;
				}
				if(!"".equals(str_key_taknkiki_sethin_no))
				{
					prstmt.setString(columnnum, str_key_taknkiki_sethin_no + "%");
					columnnum++;
				}
			}

			rs = prstmt.executeQuery();

			// 実行結果の返却
			ret.put(EDKA0010002CBSMsg.EDKA0010002CBSMSG1LIST, resultSetToListOfMap(rs));
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}

		realConnector.ctrlTnInfo_DKA0002(serviceMap, null);
		return ret;
	}

	/**
	 * 機器出荷情報更新
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0003(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0003(serviceMap, this.getConnection());
	}

	/**
	 * 機器出荷情報更新
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0003(Map serviceMap, Connection con) throws Exception
	{
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010003CBSMsg.EDKA0010003CBSMSG1LIST)))
		{
			// 宅内機器
			update("TK_T_TK"
					, setOf(EDKA0010003CBSMsg1List.SHOYU_CD
							, EDKA0010003CBSMsg1List.KNRI_PLC_SKBT_CD
							, EDKA0010003CBSMsg1List.KNRI_PLC_CD
							, EDKA0010003CBSMsg1List.KNRI_PLC_SLF_CD
							, EDKA0010003CBSMsg1List.JOI_TK_MDL_CD
							, EDKA0010003CBSMsg1List.JOI_KK_SEIZO_NO
							, EDKA0010003CBSMsg1List.KJAK_NO
							, EDKA0010003CBSMsg1List.TCASE_NO
							, EDKA0010003CBSMsg1List.KKTK_SBT_CD
							, EDKA0010003CBSMsg1List.SETPLACE_NO
							, EDKA0010003CBSMsg1List.SOKO_SHKA_YMD
							, EDKA0010003CBSMsg1List.SVC_KEI_NO)
					, whereOf(EDKA0010003CBSMsg1List.KEY_TK_MDL_CD
							, EDKA0010003CBSMsg1List.KEY_KK_SEIZO_NO)
					, lockBy("MOD_DTTM")
					, con, arg, null);

			// 宅内機器物流在庫
			update("TK_T_TK_BRZIKO"
					, setOf(EDKA0010003CBSMsg1List.JZAIKO_NUM
							, EDKA0010003CBSMsg1List.HAISO_UK_JUCHU_NUM
							, EDKA0010003CBSMsg1List.TJITU_HAISO_SHKA_NUM)
					, whereOf(EDKA0010003CBSMsg1List.KNRI_PLC_SKBT_CD
							, EDKA0010003CBSMsg1List.KNRI_PLC_CD
							, EDKA0010003CBSMsg1List.KNRI_PLC_SLF_CD
							, EDKA0010003CBSMsg1List.KEY_TK_MDL_CD)
					, lockBy(null)
					, con, arg, null);
		}

		realConnector.ctrlTnInfo_DKA0003(serviceMap, null);
		return makeReturnMap();
	}

	/**
	 * 宅内機器棚移動情報更新
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0004(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0004(serviceMap, this.getConnection());
	}

	/**
	 * 宅内機器棚移動情報更新
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0004(Map serviceMap, Connection con) throws Exception
	{

		List<Map<String, Object>> resultList = null;
		
		// 宅内機器
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010004CBSMsg.EDKA0010004CBSMSG1LIST)))
		{
			String str_key_trn_div = (String)arg.get(EDKA0010004CBSMsg1List.KEY_TRN_DIV);
			String str_key_tk_mdl_cd = (String)arg.get(EDKA0010004CBSMsg1List.KEY_TK_MDL_CD);
			String str_key_kk_seizo_no = (String)arg.get(EDKA0010004CBSMsg1List.KEY_KK_SEIZO_NO);
			String str_key_knri_plc_skbt_cd = (String)arg.get(EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SKBT_CD);
			String str_key_knri_plc_cd = (String)arg.get(EDKA0010004CBSMsg1List.KEY_KNRI_PLC_CD);
			String str_key_knri_plc_slf_cd = (String)arg.get(EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SLF_CD);
			int key_num = 0;
//			if (null != str_key_num)
//			{
//				key_num = Integer.parseInt(str_key_num);
//			}
			String str_key_slf_mv_lot_no = (String)arg.get(EDKA0010004CBSMsg1List.KEY_SLF_MV_LOT_NO);
			String str_slf_mv_rsv_flg = (String)arg.get(EDKA0010004CBSMsg1List.SLF_MV_RSV_FLG);

			// 数量指定の場合、ＫＥＹ＿数量の件数分該当データを更新する
			// ＫＥＹ＿棚移動ロット番号が指定されている場合、宅内機器の同一棚移動ロット番号件数分データを更新する
			if ("2".equals(str_key_trn_div) || null != str_key_slf_mv_lot_no)
			{
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();
				int columnnum = 1;

				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				// ＫＥＹ＿宅内機器型式コード
				if(!"".equals(str_key_tk_mdl_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE1);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE1);
					}
				}

				// ＫＥＹ＿機器製造番号
				if(!"".equals(str_key_kk_seizo_no))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE2);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE2);
					}
				}

				// ＫＥＹ＿管理場所識別コード
				if(!"".equals(str_key_knri_plc_skbt_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE3);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE3);
					}
				}

				// ＫＥＹ＿管理場所コード
				if(!"".equals(str_key_knri_plc_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE4);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE4);
					}
				}

				// ＫＥＹ＿管理場所棚コード
				if(!"".equals(str_key_knri_plc_slf_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE5);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE5);
					}
				}

				// ＫＥＹ＿棚移動ロット番号
				if(!"".equals(str_key_slf_mv_lot_no))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0004_WHERE6);
					}
					else
					{
						where.append(" AND ").append(STR_0004_WHERE6);
					}
				}

				// 数量指定かつＫＥＹ＿棚移動ロット番号の値がnullの場合
				if ("2".equals(str_key_trn_div) && (null == str_key_slf_mv_lot_no || "".equals(str_key_slf_mv_lot_no)))
				{
					// 棚移動予約フラグ
					if(!"".equals(str_slf_mv_rsv_flg))
					{
						if("".equals(where.toString()))
						{
							where.append(STR_0004_WHERE7);
						}
						else
						{
							where.append(" AND ").append(STR_0004_WHERE7);
						}
					}
				}

				try
				{
					sql.append(SQL_0004).append(" WHERE ").append(where.toString());
					JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);

					prstmt = this.connection.prepareStatement(sql.toString());

					if(!"".equals(str_key_tk_mdl_cd))
					{
						prstmt.setString(columnnum, str_key_tk_mdl_cd);
						columnnum++;
					}
					if(!"".equals(str_key_kk_seizo_no))
					{
						prstmt.setString(columnnum, str_key_kk_seizo_no);
						columnnum++;
					}
					if(!"".equals(str_key_knri_plc_skbt_cd))
					{
						prstmt.setString(columnnum, str_key_knri_plc_skbt_cd);
						columnnum++;
					}
					if(!"".equals(str_key_knri_plc_cd))
					{
						prstmt.setString(columnnum, str_key_knri_plc_cd);
						columnnum++;
					}
					if(!"".equals(str_key_knri_plc_slf_cd))
					{
						prstmt.setString(columnnum, str_key_knri_plc_slf_cd);
						columnnum++;
					}
					if(!"".equals(str_key_slf_mv_lot_no))
					{
						prstmt.setString(columnnum, str_key_slf_mv_lot_no);
						columnnum++;
					}
					// 数量指定かつＫＥＹ＿棚移動ロット番号の値がnullの場合
					if ("2".equals(str_key_trn_div) && (null == str_key_slf_mv_lot_no || "".equals(str_key_slf_mv_lot_no)))
					{
						if(!"".equals(str_slf_mv_rsv_flg))
						{
							int slf_mv_rsv_flg = (Integer.parseInt(str_slf_mv_rsv_flg) + 2) % 2;
							prstmt.setString(columnnum, Integer.toString(slf_mv_rsv_flg));
							columnnum++;
						}
					}
					rs = prstmt.executeQuery();

					// 実行結果の返却
					resultList = resultSetToListOfMap(rs);
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}

			int cnt = 0;
			// ＫＥＹ＿棚移動ロット番号が設定されていた場合
			if (null != str_key_slf_mv_lot_no)
			{
				cnt = resultList.size();
			}
			else if ("2".equals(str_key_trn_div) && (null == str_key_slf_mv_lot_no || "".equals(str_key_slf_mv_lot_no)))
			{
				// 数量指定かつＫＥＹ＿棚移動ロット番号の値がnullの場合
				cnt = key_num;
			}

			for (int i = 0; i < cnt; i++)
			{
				// 取得したROWIDを更新リストに追加
				arg.put("ROWID", (String)resultList.get(i).get("ROWID"));

				update("TK_T_TK"
						, setOf(EDKA0010004CBSMsg1List.SLF_MV_RSV_FLG
								, EDKA0010004CBSMsg1List.SLF_MV_LOT_NO
								, EDKA0010004CBSMsg1List.KNRI_PLC_SKBT_CD
								, EDKA0010004CBSMsg1List.KNRI_PLC_CD
								, EDKA0010004CBSMsg1List.KNRI_PLC_SLF_CD
								, EDKA0010004CBSMsg1List.YOBI_GDS_FLG
								, EDKA0010004CBSMsg1List.SOKO_SHKA_YMD
								, EDKA0010004CBSMsg1List.GDS_STAT_CD
//								, EDKA0010004CBSMsg1List.KEY_KIHON_UPD_DTTM
								)
						, whereOf(EDKA0010004CBSMsg1List.KEY_TK_MDL_CD
								, EDKA0010004CBSMsg1List.KEY_KK_SEIZO_NO
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SKBT_CD
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_CD
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SLF_CD
//								, EDKA0010004CBSMsg1List.KEY_SLF_MV_LOT_NO
								, "ROWID")
						, lockBy("MOD_DTTM")
						, con, arg, null);
			}

			// 製造番号指定の場合
			if ("1".equals(str_key_trn_div))
			{
				update("TK_T_TK"
						, setOf(EDKA0010004CBSMsg1List.SLF_MV_RSV_FLG
								, EDKA0010004CBSMsg1List.SLF_MV_LOT_NO
								, EDKA0010004CBSMsg1List.KNRI_PLC_SKBT_CD
								, EDKA0010004CBSMsg1List.KNRI_PLC_CD
								, EDKA0010004CBSMsg1List.KNRI_PLC_SLF_CD
								, EDKA0010004CBSMsg1List.YOBI_GDS_FLG
								, EDKA0010004CBSMsg1List.SOKO_SHKA_YMD
								, EDKA0010004CBSMsg1List.GDS_STAT_CD
								)
						, whereOf(EDKA0010004CBSMsg1List.KEY_TK_MDL_CD
								, EDKA0010004CBSMsg1List.KEY_KK_SEIZO_NO
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SKBT_CD
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_CD
//								, EDKA0010004CBSMsg1List.KEY_KNRI_PLC_SLF_CD
//								, EDKA0010004CBSMsg1List.KEY_SLF_MV_LOT_NO
								)
						, lockBy("MOD_DTTM")
						, con, arg, null);
			}
		}

		// 宅内機器物流在庫
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010004CBSMsg.EDKA0010004CBSMSG2LIST)))
		{
			update("TK_T_TK_BRZIKO"
					, setOf(EDKA0010004CBSMsg2List.JZAIKO_NUM
							, EDKA0010004CBSMsg2List.YBKKHAI_SJI_NUM
							, EDKA0010004CBSMsg2List.SLF_MV_SJI_NUM
							, EDKA0010004CBSMsg2List.YBKKHAI_CHU_NUM
							, EDKA0010004CBSMsg2List.SLF_MV_NYUKA_FIN_NUM
							, EDKA0010004CBSMsg2List.SLF_MV_SHKA_FIN_NUM
							, EDKA0010004CBSMsg2List.YOBI_KKSHKA_FIN_NUM
							)
					, whereOf(EDKA0010004CBSMsg2List.KEY_KNRI_PLC_SKBT_CD_BTRY_ZIK
							, EDKA0010004CBSMsg2List.KEY_KNRI_PLC_CD_BTRY_ZIK
							, EDKA0010004CBSMsg2List.KEY_KNRI_PLC_SLF_CD_BTRY_ZIK
							, EDKA0010004CBSMsg2List.KEY_TK_MDL_CD_BTRY_ZIK
							, EDKA0010004CBSMsg2List.KEY_GDS_STAT_CD_BTRY_ZIK)
					, lockBy(null)
					, con, arg, "_btry_zik", null);
		}

		realConnector.ctrlTnInfo_DKA0004(serviceMap, null);
		return makeReturnMap();
	}

	/**
	 * 宅内機器返品情報更新
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0005(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0005(serviceMap, this.getConnection());
	}

	/**
	 * 宅内機器返品情報更新
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0005(Map serviceMap, Connection con) throws Exception
	{
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010005CBSMsg.EDKA0010005CBSMSG1LIST)))
		{
			// 宅内機器
			update("TK_T_TK"
				, setOf(EDKA0010005CBSMsg1List.GDS_STAT_CD
						, EDKA0010005CBSMsg1List.SHOYU_CD
						, EDKA0010005CBSMsg1List.KNRI_PLC_SKBT_CD
						, EDKA0010005CBSMsg1List.KNRI_PLC_CD
						, EDKA0010005CBSMsg1List.KNRI_PLC_SLF_CD
						, EDKA0010005CBSMsg1List.KKTK_SBT_CD)
				, whereOf(EDKA0010005CBSMsg1List.KEY_TK_MDL_CD
						, EDKA0010005CBSMsg1List.KEY_KK_SEIZO_NO)
				, lockBy("MOD_DTTM")
				, con, arg, null);
		}

		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010005CBSMsg.EDKA0010005CBSMSG2LIST)))
		{
			// 宅内機器物流在庫
			update("TK_T_TK_BRZIKO"
				, setOf(EDKA0010005CBSMsg2List.JZAIKO_NUM
						, EDKA0010005CBSMsg2List.TJITU_DSL_TK_HMPIN_NUM
						, EDKA0010005CBSMsg2List.TJITU_TRB_KOKAN_HMPIN_NUM)
				, whereOf(EDKA0010005CBSMsg2List.KEY_KNRI_PLC_SKBT_CD
						, EDKA0010005CBSMsg2List.KEY_KNRI_PLC_CD
						, EDKA0010005CBSMsg2List.KEY_KNRI_PLC_SLF_CD
						, EDKA0010005CBSMsg2List.KEY_TK_MDL_CD_BTRY_ZIK
						, EDKA0010005CBSMsg2List.KEY_GDS_STAT_CD)
				, lockBy(null)
				, con, arg, "_btry_zik", null);
		}
		realConnector.ctrlTnInfo_DKA0005(serviceMap, null);
		return makeReturnMap();
	}

	/**
	 * 宅内機器修理交換情報更新
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Map ctrlTnInfo_DKA0006(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0006(serviceMap, getConnection());
	}

	/**
	 * 宅内機器修理交換情報更新
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Map ctrlTnInfo_DKA0006(Map serviceMap, Connection con) throws Exception
	{
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010006CBSMsg.EDKA0010006CBSMSG1LIST)))
		{
			update("TK_T_TK"
				, setOf(EDKA0010006CBSMsg1List.KNRI_PLC_SKBT_CD
						, EDKA0010006CBSMsg1List.KNRI_PLC_CD
						, EDKA0010006CBSMsg1List.KNRI_PLC_SLF_CD
						, EDKA0010006CBSMsg1List.GDS_STAT_CD
						, EDKA0010006CBSMsg1List.KKTK_SBT_CD
						, EDKA0010006CBSMsg1List.SHOYU_CD
						, EDKA0010006CBSMsg1List.SETPLACE_NO
						, EDKA0010006CBSMsg1List.SOKO_SHKA_YMD
						, EDKA0010006CBSMsg1List.SVC_KEI_NO)
				, whereOf(EDKA0010006CBSMsg1List.KEY_TK_MDL_CD
						, EDKA0010006CBSMsg1List.KEY_KK_SEIZO_NO)
				, lockBy("MOD_DTTM")
				, con, arg, null);
		}
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010006CBSMsg.EDKA0010006CBSMSG2LIST)))
		{
			update("TK_T_TK_BRZIKO"
				, setOf(
						// 実在庫数を連携された値で更新すると、"0"で更新したりしてしまうので、更新対象外とする
//						EDKA0010006CBSMsg2List.JZAIKO_CNT, 
						EDKA0010006CBSMsg2List.HAISO_UK_JUCHU_CNT
						, EDKA0010006CBSMsg2List.SHELF_MV_SJI_CNT
						, EDKA0010006CBSMsg2List.TJITU_NYUKA_CNT
						, EDKA0010006CBSMsg2List.TJITU_HAISO_SHKA_CNT
						, EDKA0010006CBSMsg2List.TJITU_TRB_KOKAN_HMPIN_CNT
						, EDKA0010006CBSMsg2List.SHELF_MV_NYKA_FIN_CNT
						, EDKA0010006CBSMsg2List.SHELF_MV_SHKA_FIN_CNT)
				, whereOf(EDKA0010006CBSMsg2List.KEY_TK_MDL_CD_BTRY_ZIK
						, EDKA0010006CBSMsg2List.KEY_KNRI_PLC_SKBT_CD
						, EDKA0010006CBSMsg2List.KEY_KNRI_PLC_CD
						, EDKA0010006CBSMsg2List.KEY_KNRI_PLC_SLF_CD
						, EDKA0010006CBSMsg2List.KEY_GDS_STAT_CD)
				, lockBy(null)
				, con, arg, TRANS);
		}
		realConnector.ctrlTnInfo_DKA0006(serviceMap, null);
		return makeReturnMap();
	}

	/**
	 * 宅内機器Ver情報更新
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0007(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0007(serviceMap, getConnection());
	}

	/**
	 * 宅内機器Ver情報更新
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0007(Map serviceMap, Connection con) throws Exception
	{
		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010007CBSMsg.EDKA0010007CBSMSG1LIST)))
		{
			update("TK_T_TK"
					, setOf(EDKA0010007CBSMsg1List.VER)
					, whereOf(EDKA0010007CBSMsg1List.KEY_TK_MDL_CD
							, EDKA0010007CBSMsg1List.KEY_KK_SEIZO_NO)
					, lockBy("MOD_DTTM")
					, con, arg, null);
		}
		realConnector.ctrlTnInfo_DKA0007(serviceMap, null);
		return makeReturnMap();
	}

	/**
	 * 宅内機器一覧照会(5)
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0008(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0008(serviceMap, this.getConnection());
	}

	/**
	 * 宅内機器一覧照会(5)
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0008(Map serviceMap, Connection con) throws Exception
	{
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();

		Hashtable<String, Object> ret = makeReturnMap();

		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010008CBSMsg.EDKA0010008CONDITIONLIST)))
		{
			ResultSet rs = null;
			PreparedStatement prstmt = null;
			String str_trn_div = (String)arg.get(EDKA0010008ConditionList.KEY_TRN_DIV);
			
			// 製造番号指定
			if ("1".equals(str_trn_div))
			{
				int columnnum = 1;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				String str_tk_mdl_cd = (String)arg.get(EDKA0010008ConditionList.KEY_TK_MDL_CD);
				String str_kk_seizo_no = (String)arg.get(EDKA0010008ConditionList.KEY_KK_SEIZO_NO);

				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				// ＫＥＹ＿宅内機器型式コード
				if(!"".equals(str_tk_mdl_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0008_WHERE1);
					}
					else
					{
						where.append(" AND ").append(STR_0008_WHERE1);
					}
				}

				// ＫＥＹ＿機器製造番号(FROM)
				if(!"".equals(str_kk_seizo_no))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0008_WHERE2);
					}
					else
					{
						where.append(" AND ").append(STR_0008_WHERE2);
					}
				}

				try
				{
					sql.append(SQL_0008).append(" WHERE ").append(where.toString());
					JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);
					
					prstmt = this.connection.prepareStatement(sql.toString());

					if(!"".equals(str_tk_mdl_cd))
					{
						prstmt.setString(columnnum, str_tk_mdl_cd);
						columnnum++;
					}
					if(!"".equals(str_kk_seizo_no))
					{
						prstmt.setString(columnnum, str_kk_seizo_no);
						columnnum++;
					}
					rs = prstmt.executeQuery();

					// 実行結果の返却
					resultList.addAll(resultSetToListOfMap(rs));
				}
				finally
				{
					// 最後にまとめてcloseすると、複数件の場合に「ORA-01000:最大オープン・カーソル数を超えました」のエラーになることがある為、都度クローズする。
					prstmt.close();
					rs.close();
				}
			}
			else if ("2".equals(str_trn_div))
			{
				int columnnum = 1;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				String str_taknkiki_sethin_model_cd = (String)arg.get(EDKA0010008ConditionList.KEY_TAKNKIKI_SETHIN_MODEL_CD);
				String str_taknkiki_sethin_no = (String)arg.get(EDKA0010008ConditionList.KEY_TAKNKIKI_SETHIN_NO);

				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				// ＫＥＹ＿宅内機器セット品型コード
				if(!"".equals(str_taknkiki_sethin_model_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0008_WHERE3);
					}
					else
					{
						where.append(" AND ").append(STR_0008_WHERE3);
					}
				}

				// ＫＥＹ＿宅内機器セット品番号
				if(!"".equals(str_taknkiki_sethin_no))
				{
					if("".equals(where.toString()))
					{
						where.append(STR_0008_WHERE4);
					}
					else
					{
						where.append(" AND ").append(STR_0008_WHERE4);
					}
				}

				try
				{
					sql.append(SQL_0008).append(" WHERE ").append(where.toString());
					JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);

					prstmt = this.connection.prepareStatement(sql.toString());

					if(!"".equals(str_taknkiki_sethin_model_cd))
					{
						prstmt.setString(columnnum, str_taknkiki_sethin_model_cd);
						columnnum++;
					}
					if(!"".equals(str_taknkiki_sethin_no))
					{
						prstmt.setString(columnnum, str_taknkiki_sethin_no);
						columnnum++;
					}
					rs = prstmt.executeQuery();

					// 実行結果の返却
					resultList.addAll(resultSetToListOfMap(rs));
				}
				finally
				{
					// 最後にまとめてcloseすると、複数件の場合に「ORA-01000:最大オープン・カーソル数を超えました」のエラーになることがある為、都度クローズする。
					prstmt.close();
					rs.close();
				}
			}
		}

// 最後にまとめてcloseすると、複数件の場合に「ORA-01000:最大オープン・カーソル数を超えました」のエラーになることがある為、都度クローズする。
//		if(rs != null)
//		{
//			rs.close();
//		}
//		if(prstmt != null)
//		{
//			prstmt.close();
//		}
		ret.put(EDKA0010008CBSMsg.EDKA0010008CBSMSG1LIST, resultList);

		realConnector.ctrlTnInfo_DKA0008(serviceMap, null);
		return ret;
	}

	/**
	 * 棚移動指示一意照会
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0009(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0009(serviceMap, this.getConnection());
	}

	/**
	 * 棚移動指示一意照会
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0009(Map serviceMap, Connection con) throws Exception
	{
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
		ResultSet rs = null;
		PreparedStatement prstmt = null;
		Hashtable<String, Object> ret = makeReturnMap();

		for (Map arg : (List<Map>)(serviceMap.get(EDKA0010009CBSMsg.EDKA0010009CONDITIONLIST)))
		{
			int columnnum = 1;
			StringBuffer sql = new StringBuffer();
			StringBuffer where = new StringBuffer();

			String str_tk_mdl_cd = (String)arg.get(EDKA0010009ConditionList.KEY_TK_MDL_CD);
			String str_kiki_seizo_no = (String)arg.get(EDKA0010009ConditionList.KEY_KIKI_SEIZO_NO);
			String str_taknkiki_sethin_model_cd = (String)arg.get(EDKA0010009ConditionList.KEY_TAKNKIKI_SETHIN_MODEL_CD);
			String str_taknkiki_sethin_no = (String)arg.get(EDKA0010009ConditionList.KEY_TAKNKIKI_SETHIN_NO);


			// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
			// ＫＥＹ＿宅内機器型式コード
			if(!"".equals(str_tk_mdl_cd))
			{
				where.append(" AND ").append(STR_0009_WHERE1);
			}

			// ＫＥＹ＿機器製造番号
			if(!"".equals(str_kiki_seizo_no))
			{
				where.append(" AND ").append(STR_0009_WHERE2);
			}

			// ＫＥＹ＿宅内機器セット品型コード
			if(!"".equals(str_taknkiki_sethin_model_cd))
			{
				where.append(" AND ").append(STR_0009_WHERE3);
			}

			// ＫＥＹ＿宅内機器セット品番号
			if(!"".equals(str_taknkiki_sethin_no))
			{
				where.append(" AND ").append(STR_0009_WHERE4);
			}

			try
			{
				sql.append(SQL_0009).append(where.toString());
				JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);
				prstmt = this.connection.prepareStatement(sql.toString());

				if(!"".equals(str_tk_mdl_cd))
				{
					prstmt.setString(columnnum, str_tk_mdl_cd);
					columnnum++;
				}
				if(!"".equals(str_kiki_seizo_no))
				{
					prstmt.setString(columnnum, str_kiki_seizo_no);
					columnnum++;
				}
				if(!"".equals(str_taknkiki_sethin_model_cd))
				{
					prstmt.setString(columnnum, str_taknkiki_sethin_model_cd);
					columnnum++;
				}
				if(!"".equals(str_taknkiki_sethin_no))
				{
					prstmt.setString(columnnum, str_taknkiki_sethin_no);
					columnnum++;
				}
				rs = prstmt.executeQuery();

				// 実行結果の返却
				resultList.addAll(resultSetToListOfMap(rs));
				
			}
// OM-2017-0000488 2017/05/29 MOD START
//			finally
//			{
//				// ループを抜けてからcloseする
//			}
//		}
//		if(rs != null)
//		{
//			rs.close();
//		}
//		if(prstmt != null)
//		{
//			prstmt.close();
//		}
			finally
			{
				if(rs != null)
				{
					rs.close();
				}
				if(prstmt != null)
				{
					prstmt.close();
				}
			}
		}
// OM-2017-0000488 2017/05/29 MOD END
		ret.put(EDKA0010009CBSMsg.EDKA0010009CBSMSG1LIST, resultList);

		realConnector.ctrlTnInfo_DKA0009(serviceMap, null);
		return ret;
	}

	/**
	 * 宅内機器一覧照会(2)
	 * @param serviceMap サービスマップ
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0010(Map serviceMap) throws Exception
	{
		return ctrlTnInfo_DKA0010(serviceMap, this.getConnection());
	}

	/**
	 * 宅内機器一覧照会(2)
	 * @param serviceMap サービスマップ
	 * @param con コネクション
	 * @return Hashtable
	 * @throws Exception
	 */
	@Override
	@SuppressWarnings("unchecked")
	public Hashtable ctrlTnInfo_DKA0010(Map serviceMap, Connection con) throws Exception
	{
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		Hashtable<String, Object> ret = makeReturnMap();

		// 総件数取得
		ret = dka0010GetCnt(serviceMap, con);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = null;
		int columnnum = 1;

		String str_key_trn_div = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TRN_DIV);
		String str_key_tk_mdl_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TK_MDL_CD);
		String str_key_kk_seizo_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_KK_SEIZO_NO);
		String str_key_taknkiki_sethin_model_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_MODEL_CD);
		String str_key_taknkiki_sethin_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_NO);
		String str_key_stb_id = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_STB_ID);
		String str_show_cnt = (String)serviceMap.get(EDKA0010010CBSMsg.SHOW_CNT);
		String str_page_no = (String)serviceMap.get(EDKA0010010CBSMsg.PAGE_NO);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		where = dka0010CreateWhere(serviceMap);

		try
		{
			// 製造番号指定
			if ("1".equals(str_key_trn_div))
			{
				sql.append(SQL_0010_SEIZONO).append(" WHERE ").append(where.toString()).append(SQL_0010_SEIZONO_OB).append(STR_0010_WHERE6);
			}
			else if ("2".equals(str_key_trn_div))
			{
				// STBID指定
				sql.append(SQL_0010_STB).append(" WHERE ").append(where.toString()).append(SQL_0010_STB_OB).append(STR_0010_WHERE6);
			}
			
			JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);
			prstmt = this.connection.prepareStatement(sql.toString());

			prstmt.setString(columnnum, JDKModelCommon.getSysDate());
			columnnum++;

			if(!"".equals(str_key_tk_mdl_cd))
			{
				prstmt.setString(columnnum, str_key_tk_mdl_cd);
				columnnum++;
			}
			if(!"".equals(str_key_kk_seizo_no))
			{
				prstmt.setString(columnnum, str_key_kk_seizo_no);
				columnnum++;
			}
			if(!"".equals(str_key_taknkiki_sethin_model_cd))
			{
				prstmt.setString(columnnum, str_key_taknkiki_sethin_model_cd);
				columnnum++;
			}
			if(!"".equals(str_key_taknkiki_sethin_no))
			{
				prstmt.setString(columnnum, str_key_taknkiki_sethin_no);
				columnnum++;
			}
			if(!"".equals(str_key_stb_id))
			{
				prstmt.setString(columnnum, str_key_stb_id);
				columnnum++;
			}

			// 取得データを決定
			int showCnt = Integer.parseInt(str_show_cnt);
			int pageNo = Integer.parseInt(str_page_no);
			// 指定（始）：表示件数 × ページ番号 − （表示件数 − １）
			int sta = showCnt * pageNo - (showCnt - 1);
			// 指定（終）：表示件数 × ページ番号
			int end = showCnt * pageNo;

			prstmt.setString(columnnum, Integer.toString(sta));
			columnnum++;
			prstmt.setString(columnnum, Integer.toString(end));
			columnnum++;

			rs = prstmt.executeQuery();

			// 実行結果の返却
			ret.put(EDKA0010010CBSMsg.EDKA0010010CBSMSG1LIST, resultSetToListOfMap(rs));
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}

		realConnector.ctrlTnInfo_DKA0010(serviceMap, null);
		return ret;
	}

	/**
	 * 宅内機器一覧照会(2)総件数取得処理
	 * @param serviceMap
	 * @param con
	 * @return Hashtable<String, Object>
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private Hashtable<String, Object> dka0010GetCnt(Map serviceMap, Connection con) throws Exception
	{
		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = null;
		int columnnum = 1;

		String str_key_trn_div = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TRN_DIV);
		String str_key_tk_mdl_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TK_MDL_CD);
		String str_key_kk_seizo_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_KK_SEIZO_NO);
		String str_key_taknkiki_sethin_model_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_MODEL_CD);
		String str_key_taknkiki_sethin_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_NO);
		String str_key_stb_id = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_STB_ID);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		where = dka0010CreateWhere(serviceMap);

		Hashtable<String, Object> ret = makeReturnMap();

		try
		{
			// 製造番号指定
			if ("1".equals(str_key_trn_div))
			{
				sql.append(SQL_CNT_START).append(SQL_0010_SEIZONO).append(" WHERE ").append(where.toString()).append(SQL_0010_SEIZONO_OB).append(SQL_CNT_END);
			}
			else if ("2".equals(str_key_trn_div))
			{
				// STBID指定
				sql.append(SQL_CNT_START).append(SQL_0010_STB).append(" WHERE ").append(where.toString()).append(SQL_0010_STB_OB).append(SQL_CNT_END);
			}

			JSYejbLog.outlog(inContext, JSYejbLog.DEBUG, JDKCtrlTnInfoStubImpl.class, sql);
			prstmt = this.connection.prepareStatement(sql.toString());
			
			prstmt.setString(columnnum, JDKModelCommon.getSysDate());
			columnnum++;

			if(!"".equals(str_key_tk_mdl_cd))
			{
				prstmt.setString(columnnum, str_key_tk_mdl_cd);
				columnnum++;
			}
			if(!"".equals(str_key_kk_seizo_no))
			{
				prstmt.setString(columnnum, str_key_kk_seizo_no);
				columnnum++;
			}
			if(!"".equals(str_key_taknkiki_sethin_model_cd))
			{
				prstmt.setString(columnnum, str_key_taknkiki_sethin_model_cd);
				columnnum++;
			}
			if(!"".equals(str_key_taknkiki_sethin_no))
			{
				prstmt.setString(columnnum, str_key_taknkiki_sethin_no);
				columnnum++;
			}
			if(!"".equals(str_key_stb_id))
			{
				prstmt.setString(columnnum, str_key_stb_id);
				columnnum++;
			}
			rs = prstmt.executeQuery();

			while (rs.next())
			{
				String str_total_cnt = rs.getString(EDKA0010010CBSMsg.TOTAL_CNT);
				if (null == str_total_cnt || "".equals(str_total_cnt))
				{
					ret.put(EDKA0010010CBSMsg.TOTAL_CNT, "");
				}
				else
				{
					ret.put(EDKA0010010CBSMsg.TOTAL_CNT, str_total_cnt);
				}
			}
		}
		catch (Exception e)
		{
			throw e;
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
		return ret;
	}

	/**
	 * 宅内機器一覧照会(2)WHERE句生成処理
	 * @param serviceMap
	 * @return StringBuffer
	 */
	@SuppressWarnings("unchecked")
	private StringBuffer dka0010CreateWhere(Map serviceMap)
	{
		StringBuffer ret = new StringBuffer();

		String str_key_trn_div = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TRN_DIV);
		String str_key_tk_mdl_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TK_MDL_CD);
		String str_key_kk_seizo_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_KK_SEIZO_NO);
		String str_key_taknkiki_sethin_model_cd = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_MODEL_CD);
		String str_key_taknkiki_sethin_no = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_TAKNKIKI_SETHIN_NO);
		String str_key_stb_id = (String)serviceMap.get(EDKA0010010CBSMsg.KEY_STB_ID);

		// ＫＥＹ＿宅内機器型式コード
		if(!"".equals(str_key_tk_mdl_cd))
		{
			String where1 = STR_0010_WHERE1_STB;
			if ("1".equals(str_key_trn_div))
			{
				where1 = STR_0010_WHERE1_SEIZONO;
			}
			if("".equals(ret.toString()))
			{
				ret.append(where1);
			}
			else
			{
				ret.append(" AND ").append(where1);
			}
		}

		// ＫＥＹ＿機器製造番号
		if(!"".equals(str_key_kk_seizo_no))
		{
			String where2 = STR_0010_WHERE2_STB;
			if ("1".equals(str_key_trn_div))
			{
				where2 = STR_0010_WHERE2_SEIZONO;
			}
			if("".equals(ret.toString()))
			{
				ret.append(where2);
			}
			else
			{
				ret.append(" AND ").append(where2);
			}
		}

		// ＫＥＹ＿宅内機器セット品型コード
		if(!"".equals(str_key_taknkiki_sethin_model_cd))
		{
			// ＫＥＹ＿Ver(FROM)
			if("".equals(ret.toString()))
			{
				ret.append(STR_0010_WHERE3);
			}
			else
			{
				ret.append(" AND ").append(STR_0010_WHERE3);
			}
		}

		// ＫＥＹ＿宅内機器セット品番号
		if(!"".equals(str_key_taknkiki_sethin_no))
		{
			if("".equals(ret.toString()))
			{
				ret.append(STR_0010_WHERE4);
			}
			else
			{
				ret.append(" AND ").append(STR_0010_WHERE4);
			}
		}

		// ＫＥＹ＿STBID
		if(!"".equals(str_key_stb_id))
		{
			if("".equals(ret.toString()))
			{
				ret.append(STR_0010_WHERE5);
			}
			else
			{
				ret.append(" AND ").append(STR_0010_WHERE5);
			}
		}
		return ret;
	}

	/**
	 * 何もしない
	 * @param str
	 * @return String
	 */
	private String lockBy(String str)
	{
		return str;
	}

	/**
	 * コネクションセッター
	 * @param con コネクション
	 * @return void
	 */
	@Override
	public void setConnection(Connection con)
	{
		this.connection = con;
	}

	/**
	 * コネクションゲッター
	 * @return Connection
	 */
	protected Connection getConnection()
	{
		return this.connection;
	}
	

	/**
	 * 返値のひな型を作成します
	 */
	private Hashtable<String, Object> makeReturnMap()
	{
		Hashtable<String, Object> ret = new Hashtable<String, Object>();
		ret.put(JDKModelCommon.ERROR_LEVEL, "000");
		ret.put(JDKModelCommon.RETURN_CD, "0000");
		ret.put(JDKModelCommon.RETURN_MESSAGE, "");
				return ret;
	}
}
