/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JWCCtrlTnInfo
*   ソースファイル名：JWCCtrlTnInfo.java
*   作成者          ：富士通
*   日付            ：2011年07月06日
*＜機能概要＞
*   宅内機器連携（Stub向け）コマンド発行部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/01/23   FJ) 富士通  新規作成
*   v3.00.00    2013/07/04   FJ) 富士通  LT-2013-0000245対応
*   v10.00.00    2014/08/15   FJ) 富士通  ANK-2141-00-00（STB交換方法の変更）
*   v39.00.00   2018/10/06   FJ) 阪口    【ANK-3488-00-00】４KSTB（ACASチップ）導入対応
*   v52.00.00   2021/03/02   FJ) 中原    【ANK-3991-00-00】STB新機種追加(2021年4月〜)
*   v62.00.00   2022/11/16   FJ) 原      【ANK-4335-00-00】ACAS対応新STB導入対応
*
**********************************************************************/
package eo.ejb.common;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Hashtable;

import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.ejb.cbs.cbsmsg.EWCA0010001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EWCA0010002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EWCA0010004CBSMsg1List;

public class JWCCtrlTnInfoStubImpl extends JWCCtrlTnInfo {

	private final String SQL = " select stb_tk.TK_MDL_CD STB_TK_MDL_CD" +
								"       ,stb_tk.KK_SEIZO_NO KK_SEIZO_NO" +
								"       ,stb_tk.STB_ID STBID" +
								"       ,stb_tk.STB_STAT_CD STB_STAT_CD" +
								"       ,stb_mdl.STB_NAIZOCAS_CD STB_NAIZOCAS_CD" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID1 STB_MATSU_YO_GRP_ID1" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID2 STB_MATSU_YO_GRP_ID2" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID3 STB_MATSU_YO_GRP_ID3" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID4 STB_MATSU_YO_GRP_ID4" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID5 STB_MATSU_YO_GRP_ID5" +
								"       ,stb_tk.STB_MATSU_YO_GRP_ID6 STB_MATSU_YO_GRP_ID6" +
								"       ,stb_tk.KR_KEY_STA_YMD KR_KEY_STA_YMD" +
								"       ,stb_tk.CTL_AREA_CD CTL_AREA_CD" +
								"       ,stb_mdl.STB_MAKER_KOYU_CTL_MDL_CD STB_MAKER_KOYU_CTL_MDL_CD" +
								"       ,stb_mdl.MAKER_KK_MDL_NO MAKER_KK_MDL_NO" +
								"       ,stb_mdl.TK_MDL_NM STB_MDL_NM" +
								"       ,NVL(ccas_tk.TK_MDL_CD, '') CCAS_TK_MDL_CD" +
								"       ,NVL(ccas_tk.KK_SEIZO_NO, '') CCAS_KK_SEIZO_NO" +
								"       ,NVL(ccas_tk.C_CAS_CARD_STAT_CD, '') CCAS_CARD_STAT_CD" +
								"       ,NVL(ccas_tk.CAS_CARD_SBT_CD, '') CCAS_CAS_CARD_SBT_CD" +
								"       ,NVL(ccas_tk.JOI_TK_MDL_CD, '') JOI_TK_MDL_CD" +
								"       ,NVL(ccas_tk.JOI_KK_SEIZO_NO, '') JOI_KK_SEIZO_NO" +
								"       ,NVL(bcas_tk.TK_MDL_CD, '') BCAS_TK_MDL_CD" +
// ANK-3488-00-00 MOD START
//								"       ,NVL(bcas_tk.KK_SEIZO_NO, '') BCAS_KK_SEIZO_NO" +
								"       ,CASE WHEN stb_tk.TK_MDL_CD = 'TZ-HT3000BW' THEN '1111' || LPAD(SUBSTR(stb_tk.KK_SEIZO_NO, -5), 16 ,'0')" +
								"             WHEN stb_tk.TK_MDL_CD = 'TZ-LT1000BW' THEN '2222' || LPAD(SUBSTR(stb_tk.KK_SEIZO_NO, -5), 16 ,'0')" +
// ANK-3991-00-00 ADD START
								"             WHEN stb_tk.TK_MDL_CD = 'TZ-LT1500BW' THEN '3333' || LPAD(SUBSTR(stb_tk.KK_SEIZO_NO, -5), 16 ,'0')" +
								"             WHEN stb_tk.TK_MDL_CD = 'TZ-HT3500BW' THEN '4444' || LPAD(SUBSTR(stb_tk.KK_SEIZO_NO, -5), 16 ,'0')" +
// ANK-3991-00-00 ADD END
// ANK-4335-00-00 ADD START
								"             WHEN stb_tk.TK_MDL_CD = 'TZ-LS500B' THEN '5555' || LPAD(SUBSTR(stb_tk.KK_SEIZO_NO, -5), 16 ,'0')" +
// ANK-4335-00-00 ADD END
								"             ELSE NVL(bcas_tk.KK_SEIZO_NO, '')" +
								"        END AS BCAS_KK_SEIZO_NO" +
// ANK-3488-00-00 MOD END
								"       ,NVL(bcas_tk.CAS_CARD_SBT_CD, '') BCAS_CAS_CARD_SBT_CD" +
								"       ,NVL(TO_CHAR(stb_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') STB_UPD_DTTM" +
								"       ,NVL(TO_CHAR(ccas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') CCAS_CAST_UPD_DTTM" +
								"       ,NVL(TO_CHAR(bcas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') BCAS_CAST_UPD_DTTM" +
								"       ,ROWNUM RND" +
								" from tk_t_tk stb_tk" +
								"     ,tk_m_tk_mdl stb_mdl" +
								"     ,(select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.JOI_TK_MDL_CD, tk_t_tk.JOI_KK_SEIZO_NO, tk_t_tk.C_CAS_CARD_STAT_CD, tk_t_tk.CAS_CARD_SBT_CD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'C0' = tk_m_tk_mdl.TK_SBT_CD) ccas_tk" +
								"     ,(select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.JOI_TK_MDL_CD, tk_t_tk.JOI_KK_SEIZO_NO, tk_t_tk.CAS_CARD_SBT_CD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'B0' = tk_m_tk_mdl.TK_SBT_CD) bcas_tk" +
								" where stb_tk.TK_MDL_CD = stb_mdl.TK_MDL_CD" +
								" and   stb_mdl.TK_SBT_CD = 'A0'" +
								" and   stb_tk.KK_SEIZO_NO = ccas_tk.JOI_KK_SEIZO_NO(+)" +
								" and   stb_tk.KK_SEIZO_NO = bcas_tk.JOI_KK_SEIZO_NO(+)" ;
	private final String SQL_B0 = " select NVL(stb_tk.TK_MDL_CD, '') STB_TK_MDL_CD" +
									"       ,NVL(stb_tk.KK_SEIZO_NO, '') KK_SEIZO_NO" +
									"       ,NVL(stb_tk.STB_ID, '') STBID" +
									"       ,NVL(stb_tk.STB_STAT_CD, '') STB_STAT_CD" +
									"       ,NVL(stb_tk.STB_NAIZOCAS_CD, '') STB_NAIZOCAS_CD" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID1, '') STB_MATSU_YO_GRP_ID1" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID2, '') STB_MATSU_YO_GRP_ID2" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID3, '') STB_MATSU_YO_GRP_ID3" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID4, '') STB_MATSU_YO_GRP_ID4" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID5, '') STB_MATSU_YO_GRP_ID5" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID6, '') STB_MATSU_YO_GRP_ID6" +
									"       ,NVL(stb_tk.KR_KEY_STA_YMD, '') KR_KEY_STA_YMD" +
									"       ,NVL(stb_tk.CTL_AREA_CD, '') CTL_AREA_CD" +
									"       ,NVL(stb_tk.STB_MAKER_KOYU_CTL_MDL_CD, '') STB_MAKER_KOYU_CTL_MDL_CD" +
									"       ,NVL(stb_tk.MAKER_KK_MDL_NO, '') MAKER_KK_MDL_NO" +
									"       ,NVL(stb_tk.TK_MDL_NM, '') STB_MDL_NM" +
									"       ,NVL(ccas_tk.TK_MDL_CD, '') CCAS_TK_MDL_CD" +
									"       ,NVL(ccas_tk.KK_SEIZO_NO, '') CCAS_KK_SEIZO_NO" +
									"       ,NVL(ccas_tk.C_CAS_CARD_STAT_CD, '') CCAS_CARD_STAT_CD" +
									"       ,NVL(ccas_tk.CAS_CARD_SBT_CD, '') CCAS_CAS_CARD_SBT_CD" +
									"       ,NVL(ccas_tk.JOI_TK_MDL_CD, '') JOI_TK_MDL_CD" +
									"       ,NVL(ccas_tk.JOI_KK_SEIZO_NO, '') JOI_KK_SEIZO_NO" +
									"       ,NVL(bcas_tk.TK_MDL_CD, '') BCAS_TK_MDL_CD" +
									"       ,NVL(bcas_tk.KK_SEIZO_NO, '') BCAS_KK_SEIZO_NO" +
									"       ,NVL(bcas_tk.CAS_CARD_SBT_CD, '') BCAS_CAS_CARD_SBT_CD" +
									"       ,NVL(TO_CHAR(stb_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') STB_UPD_DTTM" +
									"       ,NVL(TO_CHAR(ccas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') CCAS_CAST_UPD_DTTM" +
									"       ,NVL(TO_CHAR(bcas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') BCAS_CAST_UPD_DTTM" +
									"       ,ROWNUM RND" +
									" from (select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.STB_ID, tk_t_tk.STB_STAT_CD, tk_m_tk_mdl.STB_NAIZOCAS_CD, tk_t_tk.STB_MATSU_YO_GRP_ID1, tk_t_tk.STB_MATSU_YO_GRP_ID2, tk_t_tk.STB_MATSU_YO_GRP_ID3, tk_t_tk.STB_MATSU_YO_GRP_ID4, tk_t_tk.STB_MATSU_YO_GRP_ID5, tk_t_tk.STB_MATSU_YO_GRP_ID6,tk_m_tk_mdl.TK_MDL_NM, tk_m_tk_mdl.MAKER_KK_MDL_NO, tk_m_tk_mdl.STB_MAKER_KOYU_CTL_MDL_CD, tk_t_tk.CTL_AREA_CD, tk_t_tk.KR_KEY_STA_YMD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'A0' = tk_m_tk_mdl.TK_SBT_CD) stb_tk" +
									"     ,tk_m_tk_mdl bcas_mdl" +
									"     ,(select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.JOI_TK_MDL_CD, tk_t_tk.JOI_KK_SEIZO_NO, tk_t_tk.C_CAS_CARD_STAT_CD, tk_t_tk.CAS_CARD_SBT_CD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'C0' = tk_m_tk_mdl.TK_SBT_CD) ccas_tk" +
									"     ,tk_t_tk bcas_tk" +
									" where bcas_tk.TK_MDL_CD = bcas_mdl.TK_MDL_CD" +
									" and   bcas_mdl.TK_SBT_CD = 'B0'" +
									" and   bcas_tk.JOI_KK_SEIZO_NO = stb_tk.KK_SEIZO_NO(+)" +
									" and   bcas_tk.JOI_KK_SEIZO_NO = ccas_tk.JOI_KK_SEIZO_NO(+)";
	private final String SQL_C0 = " select NVL(stb_tk.TK_MDL_CD, '') STB_TK_MDL_CD" +
									"       ,NVL(stb_tk.KK_SEIZO_NO, '') KK_SEIZO_NO" +
									"       ,NVL(stb_tk.STB_ID, '') STBID" +
									"       ,NVL(stb_tk.STB_STAT_CD, '') STB_STAT_CD" +
									"       ,NVL(stb_tk.STB_NAIZOCAS_CD, '') STB_NAIZOCAS_CD" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID1, '') STB_MATSU_YO_GRP_ID1" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID2, '') STB_MATSU_YO_GRP_ID2" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID3, '') STB_MATSU_YO_GRP_ID3" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID4, '') STB_MATSU_YO_GRP_ID4" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID5, '') STB_MATSU_YO_GRP_ID5" +
									"       ,NVL(stb_tk.STB_MATSU_YO_GRP_ID6, '') STB_MATSU_YO_GRP_ID6" +
									"       ,NVL(stb_tk.KR_KEY_STA_YMD, '') KR_KEY_STA_YMD" +
									"       ,NVL(stb_tk.CTL_AREA_CD, '') CTL_AREA_CD" +
									"       ,NVL(stb_tk.STB_MAKER_KOYU_CTL_MDL_CD, '') STB_MAKER_KOYU_CTL_MDL_CD" +
									"       ,NVL(stb_tk.MAKER_KK_MDL_NO, '') MAKER_KK_MDL_NO" +
									"       ,NVL(stb_tk.TK_MDL_NM, '') STB_MDL_NM" +
									"       ,NVL(ccas_tk.TK_MDL_CD, '') CCAS_TK_MDL_CD" +
									"       ,NVL(ccas_tk.KK_SEIZO_NO, '') CCAS_KK_SEIZO_NO" +
									"       ,NVL(ccas_tk.C_CAS_CARD_STAT_CD, '') CCAS_CARD_STAT_CD" +
									"       ,NVL(ccas_tk.CAS_CARD_SBT_CD, '') CCAS_CAS_CARD_SBT_CD" +
									"       ,NVL(ccas_tk.JOI_TK_MDL_CD, '') JOI_TK_MDL_CD" +
									"       ,NVL(ccas_tk.JOI_KK_SEIZO_NO, '') JOI_KK_SEIZO_NO" +
									"       ,NVL(bcas_tk.TK_MDL_CD, '') BCAS_TK_MDL_CD" +
									"       ,NVL(bcas_tk.KK_SEIZO_NO, '') BCAS_KK_SEIZO_NO" +
									"       ,NVL(bcas_tk.CAS_CARD_SBT_CD, '') BCAS_CAS_CARD_SBT_CD" +
									"       ,NVL(TO_CHAR(stb_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') STB_UPD_DTTM" +
									"       ,NVL(TO_CHAR(ccas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') CCAS_CAST_UPD_DTTM" +
									"       ,NVL(TO_CHAR(bcas_tk.MOD_DTTM,'YYYYMMDDHH24MISSFF3'), '') BCAS_CAST_UPD_DTTM" +
									"       ,ROWNUM RND" +
									" from (select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.STB_ID, tk_t_tk.STB_STAT_CD, tk_m_tk_mdl.STB_NAIZOCAS_CD, tk_t_tk.STB_MATSU_YO_GRP_ID1, tk_t_tk.STB_MATSU_YO_GRP_ID2, tk_t_tk.STB_MATSU_YO_GRP_ID3, tk_t_tk.STB_MATSU_YO_GRP_ID4, tk_t_tk.STB_MATSU_YO_GRP_ID5, tk_t_tk.STB_MATSU_YO_GRP_ID6,tk_m_tk_mdl.TK_MDL_NM, tk_m_tk_mdl.MAKER_KK_MDL_NO, tk_m_tk_mdl.STB_MAKER_KOYU_CTL_MDL_CD, tk_t_tk.CTL_AREA_CD, tk_t_tk.KR_KEY_STA_YMD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'A0' = tk_m_tk_mdl.TK_SBT_CD) stb_tk" +
									"     ,tk_m_tk_mdl ccas_mdl" +
									"     ,tk_t_tk ccas_tk" +
									"     ,(select tk_t_tk.TK_MDL_CD, tk_t_tk.KK_SEIZO_NO, tk_t_tk.JOI_TK_MDL_CD, tk_t_tk.JOI_KK_SEIZO_NO, tk_t_tk.C_CAS_CARD_STAT_CD, tk_t_tk.CAS_CARD_SBT_CD, tk_t_tk.MOD_DTTM from tk_t_tk,tk_m_tk_mdl where tk_t_tk.TK_MDL_CD = tk_m_tk_mdl.TK_MDL_CD and 'B0' = tk_m_tk_mdl.TK_SBT_CD) bcas_tk" +
									" where ccas_tk.TK_MDL_CD = ccas_mdl.TK_MDL_CD" +
									" and   ccas_mdl.TK_SBT_CD = 'C0'" +
									" and   ccas_tk.JOI_KK_SEIZO_NO = stb_tk.KK_SEIZO_NO(+)" +
									" and   ccas_tk.JOI_KK_SEIZO_NO = bcas_tk.JOI_KK_SEIZO_NO(+)";
	private final String RndSQL = " select STB_TK_MDL_CD" +
									"       ,KK_SEIZO_NO" +
									"       ,STBID" +
									"       ,STB_STAT_CD" +
									"       ,STB_NAIZOCAS_CD" +
									"       ,STB_MATSU_YO_GRP_ID1" +
									"       ,STB_MATSU_YO_GRP_ID2" +
									"       ,STB_MATSU_YO_GRP_ID3" +
									"       ,STB_MATSU_YO_GRP_ID4" +
									"       ,STB_MATSU_YO_GRP_ID5" +
									"       ,STB_MATSU_YO_GRP_ID6" +
									"       ,KR_KEY_STA_YMD" +
									"       ,CTL_AREA_CD" +
									"       ,STB_MAKER_KOYU_CTL_MDL_CD" +
									"       ,MAKER_KK_MDL_NO" +
									"       ,STB_MDL_NM" +
									"       ,CCAS_TK_MDL_CD" +
									"       ,CCAS_KK_SEIZO_NO" +
									"       ,CCAS_CARD_STAT_CD" +
									"       ,CCAS_CAS_CARD_SBT_CD" +
									"       ,BCAS_TK_MDL_CD" +
									"       ,BCAS_KK_SEIZO_NO" +
									"       ,BCAS_CAS_CARD_SBT_CD" +
									"       ,STB_UPD_DTTM" +
									"       ,CCAS_CAST_UPD_DTTM" +
									"       ,BCAS_CAST_UPD_DTTM" +
									"       ,RND " +
									" from ( " ;
	private final String STR_WHERE1 = " stb_tk.TK_MDL_CD = ? ";
	private final String STR_WHERE2_A0 = " stb_tk.KK_SEIZO_NO = ? ";
	private final String STR_WHERE3 = " stb_tk.STB_ID = ? ";
//20140815 AD ANK-2141-00-00 START
	private final String STR_WHERE4_C0 = " ccas_tk.TK_MDL_CD = ? ";
//20140815 AD ANK-2141-00-00 END

	private final String STR_WHERE2_B0 = " bcas_tk.KK_SEIZO_NO = ? ";
	private final String STR_WHERE2_C0 = " ccas_tk.KK_SEIZO_NO = ? ";
	
	private final String STR_WHERE_GRPID_1 = " stb_tk.STB_MATSU_YO_GRP_ID1 = ? ";
	private final String STR_WHERE_GRPID_2 = " stb_tk.STB_MATSU_YO_GRP_ID2 = ? ";
	private final String STR_WHERE_GRPID_3 = " stb_tk.STB_MATSU_YO_GRP_ID3 = ? ";
	private final String STR_WHERE_GRPID_4 = " stb_tk.STB_MATSU_YO_GRP_ID4 = ? ";
	private final String STR_WHERE_GRPID_5 = " stb_tk.STB_MATSU_YO_GRP_ID5 = ? ";
	private final String STR_WHERE_GRPID_6 = " stb_tk.STB_MATSU_YO_GRP_ID6 = ? ";
	
	private static JWCCtrlTnInfoStubImpl instance = null;
	private Connection connection = null;
	private AgentDispatchContext inContext;
	
	public void setInContext(AgentDispatchContext inContext) {
		this.inContext = inContext;
	}


	private JWCCtrlTnInfoStubImpl() {
		super();
	}
	
	/**
	 * インスタンス取得用のメソッド
	 * 
	 * @return JWCCtrlTnInfoStubImpl
	 */
	public static JWCCtrlTnInfoStubImpl getInstance() {
		synchronized (JWCCtrlTnInfoImpl.class) {
			if(instance == null) 
			{
				JWCCtrlTnInfoStubImpl.instance = new JWCCtrlTnInfoStubImpl();
			}
		}
		
		return instance;
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0001(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_WCA0001(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0002(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_WCA0002(serviceMap, this.getConnection());
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0003(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_WCA0003(serviceMap, this.getConnection());
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0004(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_WCA0004(serviceMap, this.getConnection());
	}
	

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0001(Hashtable serviceMap, Connection con) throws Exception {
		// TODO 自動生成されたメソッドスタブ
		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_tk_mk1_cd = (String)serviceMap.get(JWCCtrlTnInfo.KEY_TK_MDL_CD);
		String str_kk_seizo_no = (String)serviceMap.get(JWCCtrlTnInfo.KEY_KK_SEIZO_NO);
		String strstbid = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STBID);
		String str_tk_stb_cd = (String)serviceMap.get(JWCCtrlTnInfo.KEY_TK_SBT_CD);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		if(!"".equals(str_tk_mk1_cd))
		{
			where.append(" AND ").append(STR_WHERE1);
		}
		if(!"".equals(str_kk_seizo_no))
		{
			if("A0".equals(str_tk_stb_cd))
			{
				where.append(" AND ").append(STR_WHERE2_A0);
			}
			else if("B0".equals(str_tk_stb_cd))
			{
				where.append(" AND ").append(STR_WHERE2_B0);
			}
			else if("C0".equals(str_tk_stb_cd))
			{
				where.append(" AND ").append(STR_WHERE2_C0);
			}
		}
		if(!"".equals(strstbid))
		{
			where.append(" AND ").append(STR_WHERE3);
		}
		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		try
		{
			if("A0".equals(str_tk_stb_cd))
			{
				sql.append(SQL).append(where.toString());
			}
			else if("B0".equals(str_tk_stb_cd))
			{
				sql.append(SQL_B0).append(where.toString());
			}
			else if("C0".equals(str_tk_stb_cd))
			{
				sql.append(SQL_C0).append(where.toString());
			}
			
			
			prstmt = this.connection.prepareStatement(sql.toString());
			
			if(!"".equals(str_tk_mk1_cd))
			{
				prstmt.setString(columnnum, str_tk_mk1_cd);
				columnnum++;
			}
			if(!"".equals(str_kk_seizo_no))
			{
				prstmt.setString(columnnum, str_kk_seizo_no);
				columnnum++;
			}
			if(!"".equals(strstbid))
			{
				prstmt.setString(columnnum, strstbid);
				columnnum++;
			}
			
			rs = prstmt.executeQuery();
			
			ArrayList<Hashtable<String, Object>> list = new ArrayList<Hashtable<String, Object>>();
			
			// 実行結果の返却
			while(rs.next())
			{
				
				Hashtable<String,Object> data = new Hashtable<String, Object>();
				
			    // ＳＴＢ宅内機器型式コード
				String str_stb_tk_mdl_cd = rs.getString("STB_TK_MDL_CD");
				
//				System.out.println(str_stb_tk_mdl_cd);
				if(str_stb_tk_mdl_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_TK_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_TK_MDL_CD, str_stb_tk_mdl_cd);
				}
			    // ＳＴＢ機器製造番号
				String str_kk_seizo_no1 = rs.getString("KK_SEIZO_NO");
				
//				System.out.println(str_kk_seizo_no1);

				if(str_kk_seizo_no1 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_KK_SEIZO_NO, str_kk_seizo_no1);
				}
			    // ＳＴＢＩＤ
				String str_stbid1 = rs.getString("STBID");
				
				if(str_stbid1 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STBID, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STBID, str_stbid1);
				}
				
			    // ＳＴＢステータスコード
				String str_stb_stat_cd = rs.getString("STB_STAT_CD");
				
				if(str_stb_stat_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_STAT_CD, str_stb_stat_cd);
				}
			    // ＳＴＢ内蔵ＣＡＳコード
				String str_naizocas_cd = rs.getString("STB_NAIZOCAS_CD");
				
				if(str_naizocas_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_NAIZOCAS_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_NAIZOCAS_CD, str_naizocas_cd);
				}
			    // ＳＴＢ松下用グループＩＤ１
				String str_stb_matsu_yo_grpid1= rs.getString("STB_MATSU_YO_GRP_ID1");
				
				if(str_stb_matsu_yo_grpid1 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID1, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID1, str_stb_matsu_yo_grpid1);
				}
			    // ＳＴＢ松下用グループＩＤ２
				String str_stb_matsu_yo_grpid2= rs.getString("STB_MATSU_YO_GRP_ID2");
				
				if(str_stb_matsu_yo_grpid2 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID2, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID2, str_stb_matsu_yo_grpid2);
				}
			    // ＳＴＢ松下用グループＩＤ３
				String str_stb_matsu_yo_grpid3= rs.getString("STB_MATSU_YO_GRP_ID3");
				
				if(str_stb_matsu_yo_grpid3 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID3, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID3, str_stb_matsu_yo_grpid3);
				}
			    // ＳＴＢ松下用グループＩＤ４
				String str_stb_matsu_yo_grpid4= rs.getString("STB_MATSU_YO_GRP_ID4");
				
				if(str_stb_matsu_yo_grpid4 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID4, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID4, str_stb_matsu_yo_grpid4);
				}
			    // ＳＴＢ松下用グループＩＤ５
				String str_stb_matsu_yo_grpid5= rs.getString("STB_MATSU_YO_GRP_ID5");
				
				if(str_stb_matsu_yo_grpid5 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID5, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID5, str_stb_matsu_yo_grpid5);
				}
			    // ＳＴＢ松下用グループＩＤ６
				String str_stb_matsu_yo_grpid6 = rs.getString("STB_MATSU_YO_GRP_ID6");
				
				if(str_stb_matsu_yo_grpid6 == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID6, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MATSU_YO_GRPID6, str_stb_matsu_yo_grpid6);
				}
			    // 仮鍵開年月日
				String str_kr_key_sta_ymd = rs.getString("KR_KEY_STA_YMD");
				
				if(str_kr_key_sta_ymd == null)
				{
					data.put(EWCA0010001CBSMsg1List.KR_KEY_STA_YMD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.KR_KEY_STA_YMD, str_kr_key_sta_ymd);
				}
	
				// 制御エリアコード
				String str_ctl_area_cd = rs.getString("CTL_AREA_CD");
				
				if(str_ctl_area_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.CTL_AREA_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CTL_AREA_CD, str_ctl_area_cd);
				}
	
			    // ＳＴＢメーカ固有制御機種コード
				String str_stb_maker_koyu_ctl_mdl_cd = rs.getString("STB_MAKER_KOYU_CTL_MDL_CD");
				
				if(str_stb_maker_koyu_ctl_mdl_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, str_stb_maker_koyu_ctl_mdl_cd);
				}
	
				// ＳＴＢメーカ機器型番
				String str_maker_kk_mdl_no = rs.getString("MAKER_KK_MDL_NO");
				
				if(str_maker_kk_mdl_no == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MAKER_KK_MDL_NO, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MAKER_KK_MDL_NO, str_maker_kk_mdl_no);
				}
				
				// ＳＴＢ機器名称
				String str_stb_mdl_nm = rs.getString("STB_MDL_NM");
				
				if(str_stb_mdl_nm == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_MDL_NM, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_MDL_NM, str_stb_mdl_nm);
				}
				
			    // Ｃ−ＣＡＳ宅内機器型式コード
				String str_c_cas_tk_mdl_cd = rs.getString("CCAS_TK_MDL_CD");
				
				if(str_c_cas_tk_mdl_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_TK_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_TK_MDL_CD, str_c_cas_tk_mdl_cd);
				}
	
			    // Ｃ−ＣＡＳ機器製造番号
				String str_ccas_kk_seizo_no = rs.getString("CCAS_KK_SEIZO_NO");
				
				if(str_ccas_kk_seizo_no == null)
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_KK_SEIZO_NO, str_ccas_kk_seizo_no);
				}
				
			    // Ｃ−ＣＡＳカードステータスコード
				String str_c_cas_card_stat_cd = rs.getString("CCAS_CARD_STAT_CD");
				
				if(str_c_cas_card_stat_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CARD_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CARD_STAT_CD, str_c_cas_card_stat_cd);
				}
	
				// ＣＡＳカード種別コード（Ｃ−ＣＡＳ）
				String str_c_cas_cas_card_sbt_cd = rs.getString("CCAS_CAS_CARD_SBT_CD");
				
				if(str_c_cas_cas_card_sbt_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CAS_CARD_SBT_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CAS_CARD_SBT_CD, str_c_cas_cas_card_sbt_cd);
				}
	
				// Ｂ−ＣＡＳ宅内機器型式コード
				String str_b_cas_tk_mdl_cd = rs.getString("BCAS_TK_MDL_CD");
				
				if(str_b_cas_tk_mdl_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_TK_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_TK_MDL_CD, str_b_cas_tk_mdl_cd);
				}
			    // Ｂ−ＣＡＳ機器製造番号
				String str_b_cas_kk_seizo_no = rs.getString("BCAS_KK_SEIZO_NO");
				
				if(str_b_cas_kk_seizo_no == null)
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_KK_SEIZO_NO, str_b_cas_kk_seizo_no);
				}
			    // ＣＡＳカード種別コード（Ｂ−ＣＡＳ）
				String str_b_cas_cas_card_sbt_cd = rs.getString("BCAS_CAS_CARD_SBT_CD");
				
				if(str_b_cas_cas_card_sbt_cd == null)
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_CAS_CARD_SBT_CD, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_CAS_CARD_SBT_CD, str_b_cas_cas_card_sbt_cd);
				}
	
				// ＳＴＢ宅内機器更新日付
				String str_stbt_upd_dttm = rs.getString("STB_UPD_DTTM");
				
				if(str_stbt_upd_dttm == null)
				{
					data.put(EWCA0010001CBSMsg1List.STB_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.STB_UPD_DTTM, str_stbt_upd_dttm);
				}
	
				// Ｃ−ＣＡＳ宅内機器更新日付
				String str_ccas_cast_upd_dttm = rs.getString("CCAS_CAST_UPD_DTTM");
				
				if(str_ccas_cast_upd_dttm == null)
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CAST_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.CCAS_CAST_UPD_DTTM, str_ccas_cast_upd_dttm);
				}
	
				// Ｂ−ＣＡＳ宅内機器更新日付
				String str_b_cas_cast_upd_dttm = rs.getString("BCAS_CAST_UPD_DTTM");
				
				if(str_b_cas_cast_upd_dttm == null)
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_CAST_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010001CBSMsg1List.BCAS_CAST_UPD_DTTM, str_b_cas_cast_upd_dttm);
				}
				
				list.add(data);
			}

			ret.put(JWCCtrlTnInfo.EWCA0010001CBSMSG1LIST, list);
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
		
		return ret;
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0002(Hashtable serviceMap, Connection con) throws Exception {
		// TODO 自動生成されたメソッドスタブ
		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_tk_mk1_cd = (String)serviceMap.get(JWCCtrlTnInfo.KEY_TK_MDL_CD);
		String str_kk_seizo_no = (String)serviceMap.get(JWCCtrlTnInfo.KEY_KK_SEIZO_NO);
		String strstbid = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STBID);
		String str_tk_stb_cd = (String)serviceMap.get(JWCCtrlTnInfo.KEY_TK_SBT_CD);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
//20140815 MOD ANK-2141-00-00 START
		if( "TZ-CCA10".equals(str_tk_mk1_cd))
		{
			where.append(" AND ").append(STR_WHERE4_C0);
		}
//		if(!"".equals(str_tk_mk1_cd))
		else if(!"".equals(str_tk_mk1_cd))
		{
			where.append(" AND ").append(STR_WHERE1);
		}
		if( "TZ-CCA10".equals(str_tk_mk1_cd))
		{
			str_tk_stb_cd = "C0";
		}
		else
		{
			str_tk_stb_cd = "A0";
		}
//20140815 MOD ANK-2141-00-00 END
		if(!"".equals(str_kk_seizo_no))
		{
			if(!"".equals(str_tk_stb_cd))
			{
				if("A0".equals(str_tk_stb_cd))
				{
					where.append(" AND ").append(STR_WHERE2_A0);
				}
				else if("B0".equals(str_tk_stb_cd))
				{
					where.append(" AND ").append(STR_WHERE2_B0);
				}
				else if("C0".equals(str_tk_stb_cd))
				{
					where.append(" AND ").append(STR_WHERE2_C0);
				}
			}
			else 
			{
				where.append(" AND ").append(STR_WHERE2_A0);
			}
		}
		if(!"".equals(strstbid))
		{
			where.append(" AND ").append(STR_WHERE3);
		}
		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		try
		{
//20140815 MOD ANK-2141-00-00 START
//			sql.append(SQL).append(where.toString());
			if("A0".equals(str_tk_stb_cd))
			{
				sql.append(SQL).append(where.toString());
			}
			else if("B0".equals(str_tk_stb_cd))
			{
				sql.append(SQL_B0).append(where.toString());
			}
			else if("C0".equals(str_tk_stb_cd))
			{
				sql.append(SQL_C0).append(where.toString());
			}
//20140815 MOD ANK-2141-00-00 END
			
			prstmt = this.connection.prepareStatement(sql.toString());
			
			if(!"".equals(str_tk_mk1_cd))
			{
				prstmt.setString(columnnum, str_tk_mk1_cd);
				columnnum++;
			}
			if(!"".equals(str_kk_seizo_no))
			{
				prstmt.setString(columnnum, str_kk_seizo_no);
				columnnum++;
			}
			if(!"".equals(strstbid))
			{
				prstmt.setString(columnnum, strstbid);
				columnnum++;
			}
			
			rs = prstmt.executeQuery();
			
			ArrayList<Hashtable<String, Object>> list = new ArrayList<Hashtable<String, Object>>();
			
			// 実行結果の返却
			while(rs.next())
			{
				
				Hashtable<String,Object> data = new Hashtable<String, Object>();

			    // ＳＴＢ機器製造番号
				String str_kk_seizo_no1 = rs.getString("KK_SEIZO_NO");
				
//				System.out.println(str_kk_seizo_no1);

				if(str_kk_seizo_no1 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_KK_SEIZO_NO, str_kk_seizo_no1);
				}
			    // ＳＴＢＩＤ
				String str_stbid1 = rs.getString("STBID");
				
				if(str_stbid1 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STBID, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STBID, str_stbid1);
				}
				
			    // ＳＴＢステータスコード
				String str_stb_stat_cd = rs.getString("STB_STAT_CD");
				
				if(str_stb_stat_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_STAT_CD, str_stb_stat_cd);
				}
			    // ＳＴＢ内蔵ＣＡＳコード
				String str_naizocas_cd = rs.getString("STB_NAIZOCAS_CD");
				
				if(str_naizocas_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_NAIZOCAS_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_NAIZOCAS_CD, str_naizocas_cd);
				}
			    // ＳＴＢ松下用グループＩＤ１
				String str_stb_matsu_yo_grpid1= rs.getString("STB_MATSU_YO_GRP_ID1");
				
				if(str_stb_matsu_yo_grpid1 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID1, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID1, str_stb_matsu_yo_grpid1);
				}
			    // ＳＴＢ松下用グループＩＤ２
				String str_stb_matsu_yo_grpid2= rs.getString("STB_MATSU_YO_GRP_ID2");
				
				if(str_stb_matsu_yo_grpid2 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID2, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID2, str_stb_matsu_yo_grpid2);
				}
			    // ＳＴＢ松下用グループＩＤ３
				String str_stb_matsu_yo_grpid3= rs.getString("STB_MATSU_YO_GRP_ID3");
				
				if(str_stb_matsu_yo_grpid3 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID3, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID3, str_stb_matsu_yo_grpid3);
				}
			    // ＳＴＢ松下用グループＩＤ４
				String str_stb_matsu_yo_grpid4= rs.getString("STB_MATSU_YO_GRP_ID4");
				
				if(str_stb_matsu_yo_grpid4 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID4, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID4, str_stb_matsu_yo_grpid4);
				}
			    // ＳＴＢ松下用グループＩＤ５
				String str_stb_matsu_yo_grpid5= rs.getString("STB_MATSU_YO_GRP_ID5");
				
				if(str_stb_matsu_yo_grpid5 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID5, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID5, str_stb_matsu_yo_grpid5);
				}
			    // ＳＴＢ松下用グループＩＤ６
				String str_stb_matsu_yo_grpid6 = rs.getString("STB_MATSU_YO_GRP_ID6");
				
				if(str_stb_matsu_yo_grpid6 == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID6, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MATSU_YO_GRPID6, str_stb_matsu_yo_grpid6);
				}
			    // 仮鍵開年月日
				String str_kr_key_sta_ymd = rs.getString("KR_KEY_STA_YMD");
				
				if(str_kr_key_sta_ymd == null)
				{
					data.put(EWCA0010002CBSMsg1List.KR_KEY_STA_YMD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.KR_KEY_STA_YMD, str_kr_key_sta_ymd);
				}
	
				// 制御エリアコード
				String str_ctl_area_cd = rs.getString("CTL_AREA_CD");
				
				if(str_ctl_area_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.CTL_AREA_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.CTL_AREA_CD, str_ctl_area_cd);
				}
	
			    // ＳＴＢメーカ固有制御機種コード
				String str_stb_maker_koyu_ctl_mdl_cd = rs.getString("STB_MAKER_KOYU_CTL_MDL_CD");
				
				if(str_stb_maker_koyu_ctl_mdl_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, str_stb_maker_koyu_ctl_mdl_cd);
				}
	
				// ＳＴＢメーカ機器型番
				String str_maker_kk_mdl_no = rs.getString("MAKER_KK_MDL_NO");
				
				if(str_maker_kk_mdl_no == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_MAKER_KK_MDL_NO, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_MAKER_KK_MDL_NO, str_maker_kk_mdl_no);
				}
				
				// ＳＴＢ機器名称
				String str_stb_mdl_nm = rs.getString("STB_MDL_NM");
				
				if(str_stb_mdl_nm == null)
				{
					data.put(EWCA0010002CBSMsg1List.STB_TK_MDL_NM, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STB_TK_MDL_NM, str_stb_mdl_nm);
				}
	
			    // Ｃ−ＣＡＳカードステータスコード
				String str_c_cas_card_stat_cd = rs.getString("CCAS_CARD_STAT_CD");
				
				if(str_c_cas_card_stat_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.CCAS_CARD_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.CCAS_CARD_STAT_CD, str_c_cas_card_stat_cd);
				}
	
				// ＣＡＳカード種別コード（Ｃ−ＣＡＳ）
				String str_c_cas_cas_card_sbt_cd = rs.getString("CCAS_CAS_CARD_SBT_CD");
				
				if(str_c_cas_cas_card_sbt_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.CAS_CARD_SBT_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.CAS_CARD_SBT_CD, str_c_cas_cas_card_sbt_cd);
				}
				
				// 上位宅内機器型式コード
				String str_joi_tk_mdl_cd = rs.getString("JOI_TK_MDL_CD");
				
				if(str_joi_tk_mdl_cd == null)
				{
					data.put(EWCA0010002CBSMsg1List.JOI_TK_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.JOI_TK_MDL_CD, str_joi_tk_mdl_cd);
				}
				
				// 上位機器製造番号
				String str_joi_kk_seizo_no = rs.getString("JOI_KK_SEIZO_NO");
				
				if(str_joi_kk_seizo_no == null)
				{
					data.put(EWCA0010002CBSMsg1List.JOI_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.JOI_KK_SEIZO_NO, str_joi_kk_seizo_no);
				}
		
				// ＳＴＢ宅内機器更新日付
				String str_stbt_upd_dttm = rs.getString("STB_UPD_DTTM");
				
				if(str_stbt_upd_dttm == null)
				{
					data.put(EWCA0010002CBSMsg1List.STBT_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.STBT_UPD_DTTM, str_stbt_upd_dttm);
				}
				
				// Ｃ−ＣＡＳ宅内機器更新日付
				String str_ccas_upd_dttm = rs.getString("CCAS_CAST_UPD_DTTM");
				
				if(str_ccas_upd_dttm == null)
				{
					data.put(EWCA0010002CBSMsg1List.CAST_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010002CBSMsg1List.CAST_UPD_DTTM, str_ccas_upd_dttm);
				}
				
				list.add(data);
			}

			ret.put(JWCCtrlTnInfo.EWCA0010002CBSMSG1LIST, list);
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
		
		return ret;
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0003(Hashtable serviceMap, Connection con) throws Exception {
		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;		
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = new StringBuffer();
		StringBuffer set = new StringBuffer();
		int columnnum = 1;
		
		
		String str_tk_mdl_cd = (String)serviceMap.get(JWCCtrlTnInfo.TK_MDL_CD);
		String str_tk_sbt_id = (String)serviceMap.get(JWCCtrlTnInfo.TK_SBT_CD);
		String str_kk_seizo_no = (String)serviceMap.get(JWCCtrlTnInfo.KK_SEIZO_NO);
		String str_stb_stat_cd = (String)serviceMap.get(JWCCtrlTnInfo.STB_STAT_CD);
		String stb_matsu_yo_grpid1 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID1);
		String stb_matsu_yo_grpid2 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID2);
		String stb_matsu_yo_grpid3 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID3);
		String stb_matsu_yo_grpid4 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID4);
		String stb_matsu_yo_grpid5 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID5);
		String stb_matsu_yo_grpid6 = (String)serviceMap.get(JWCCtrlTnInfo.STB_MATSU_YO_GRPID6);
		String ccas_card_stat_cd = (String)serviceMap.get(JWCCtrlTnInfo.CCAS_CARD_STAT_CD);
		String stb_upd_dttm = (String)serviceMap.get(JWCCtrlTnInfo.STB_UPD_DTTM);
		String ccas_cast_upd_dttm = (String)serviceMap.get(JWCCtrlTnInfo.CCAS_CAST_UPD_DTTM);

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		if(!"".equals(str_kk_seizo_no) && !"null".equals(str_kk_seizo_no) && !"null".equals(str_tk_mdl_cd) && stb_upd_dttm != null)
		{
			if("".equals(set.toString()))
			{
				set.append("KK_SEIZO_NO = ? ");
			}
			else
			{
				set.append(" , ").append("KK_SEIZO_NO = ? ");
			}
		}
		if(str_tk_sbt_id.equals("A0"))
		{
			if(!"".equals(str_tk_mdl_cd) && !"null".equals(str_tk_mdl_cd) && str_tk_mdl_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("TK_MDL_CD = ? ");
				}
				else
				{
					set.append(" , ").append("TK_MDL_CD = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_STAT_CD = ? ");
				}
				else
				{
					set.append(" , ").append("STB_STAT_CD = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID1 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID1 = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID2 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID2 = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID3 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID3 = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID4 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID4 = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID5 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID5 = ? ");
				}
			}
			if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("STB_MATSU_YO_GRP_ID6 = ? ");
				}
				else
				{
					set.append(" , ").append("STB_MATSU_YO_GRP_ID6 = ? ");
				}
			}
			if(!"".equals(stb_upd_dttm) && !"null".equals(stb_upd_dttm) && stb_upd_dttm != null)
			{
				if("".equals(set.toString()))
				{
					set.append("MOD_DTTM = ? ");
				}
				else
				{
					set.append(" , ").append("MOD_DTTM = ? ");
				}
			}
		}
		else
		{
			if(!"".equals(ccas_card_stat_cd) && !"null".equals(ccas_card_stat_cd) && ccas_card_stat_cd != null)
			{
				if("".equals(set.toString()))
				{
					set.append("C_CAS_CARD_STAT_CD = ? ");
				}
				else
				{
					set.append(" , ").append("C_CAS_CARD_STAT_CD = ? ");
				}
			}
			if(!"".equals(ccas_cast_upd_dttm) && !"null".equals(ccas_cast_upd_dttm) && ccas_cast_upd_dttm != null)
			{
				if("".equals(set.toString()))
				{
					set.append("MOD_DTTM = ? ");
				}
				else
				{
					set.append(" , ").append("MOD_DTTM = ? ");
				}
			}
		}
		

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		if(str_tk_sbt_id.equals("A0"))
		{
			if(!"".equals(str_tk_mdl_cd))
			{
				if("".equals(where.toString()))
				{
					where.append(" TK_MDL_CD = ? ");
				}
				else
				{
					where.append(" AND ").append(" TK_MDL_CD = ? ");
				}
			}
		}
		if(!"".equals(str_kk_seizo_no))
		{
			if("".equals(where.toString()))
			{
				where.append(" KK_SEIZO_NO = ? ");
			}
			else
			{
				where.append(" AND ").append(" KK_SEIZO_NO = ? ");
			}
		}
		if(!"".equals(str_tk_sbt_id))
		{
			if("".equals(where.toString()))
			{
				where.append(" (SELECT TK_SBT_CD FROM TK_M_TK_MDL WHERE TK_M_TK_MDL.TK_MDL_CD = TK_T_TK.TK_MDL_CD) = ? ");
			}
			else
			{
				where.append(" AND ").append(" (SELECT TK_SBT_CD FROM TK_M_TK_MDL WHERE TK_M_TK_MDL.TK_MDL_CD = TK_T_TK.TK_MDL_CD) = ? ");
			}
		}
		
		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		try
		{
			sql.append("UPDATE TK_T_TK SET ").append(set).append(" WHERE ").append(where.toString());
			
			prstmt = this.connection.prepareStatement(sql.toString());
			
			if(!"".equals(str_kk_seizo_no) && !"null".equals(str_kk_seizo_no) && str_kk_seizo_no != null)
			{
				prstmt.setString(columnnum, str_kk_seizo_no);
				columnnum++;
			}
			if(str_tk_sbt_id.equals("A0"))
			{
				if(!"".equals(str_tk_mdl_cd) && !"null".equals(str_tk_mdl_cd) && str_tk_mdl_cd != null)
				{
					prstmt.setString(columnnum, str_tk_mdl_cd);
					columnnum++;
				}
				if(!"".equals(str_stb_stat_cd) && !"null".equals(str_stb_stat_cd) && str_stb_stat_cd != null)
				{
					prstmt.setString(columnnum, str_stb_stat_cd);
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid1) && !"null".equals(stb_matsu_yo_grpid1) && stb_matsu_yo_grpid1 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid1);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid2) && !"null".equals(stb_matsu_yo_grpid2) && stb_matsu_yo_grpid2 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid2);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid3) && !"null".equals(stb_matsu_yo_grpid3) && stb_matsu_yo_grpid3 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid3);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid4) && !"null".equals(stb_matsu_yo_grpid4) && stb_matsu_yo_grpid4 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid4);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid5) && !"null".equals(stb_matsu_yo_grpid5) && stb_matsu_yo_grpid5 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid5);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_matsu_yo_grpid6) && !"null".equals(stb_matsu_yo_grpid6) && stb_matsu_yo_grpid6 != null)
				{
					prstmt.setString(columnnum, stb_matsu_yo_grpid6);
					columnnum++;
				}
				else
				{
					prstmt.setString(columnnum, "");
					columnnum++;
				}
				if(!"".equals(stb_upd_dttm) && !"null".equals(stb_upd_dttm) && stb_upd_dttm != null)
				{
					java.util.Date dt_stb_upd_dttm = new SimpleDateFormat("yyyyMMddHHmmssSSS").parse(stb_upd_dttm);
					Timestamp ts_stb_upd_dttm = new Timestamp(dt_stb_upd_dttm.getTime());
					prstmt.setTimestamp(columnnum, ts_stb_upd_dttm);
					columnnum++;
				}
			}
			else
			{
				if(!"".equals(ccas_card_stat_cd) && !"null".equals(ccas_card_stat_cd) && ccas_card_stat_cd != null)
				{
					prstmt.setString(columnnum, ccas_card_stat_cd);
					columnnum++;
				}
				if(!"".equals(ccas_cast_upd_dttm) && !"null".equals(ccas_cast_upd_dttm) && ccas_cast_upd_dttm != null)
				{
					java.util.Date dt_ccas_cast_upd_dttm = new SimpleDateFormat("yyyyMMddHHmmssSSS").parse(ccas_cast_upd_dttm);
					Timestamp  ts_ccas_cast_upd_dttm = new Timestamp(dt_ccas_cast_upd_dttm.getTime());
					prstmt.setTimestamp(columnnum, ts_ccas_cast_upd_dttm);
					columnnum++;
				}
				
			}

			if(str_tk_sbt_id.equals("A0"))
			{
				if(!"".equals(str_tk_mdl_cd) && !"null".equals(str_tk_mdl_cd))
				{
					prstmt.setString(columnnum, str_tk_mdl_cd);
					columnnum++;
				}
			}
			if(!"".equals(str_kk_seizo_no) && !"null".equals(str_kk_seizo_no))
			{
				prstmt.setString(columnnum, str_kk_seizo_no);
				columnnum++;
			}
			if(!"".equals(str_tk_sbt_id) && !"null".equals(str_tk_sbt_id))
			{
				prstmt.setString(columnnum, str_tk_sbt_id);
				columnnum++;
			}
			
			rs = prstmt.executeQuery();
			
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
			sql = new StringBuffer();
			where = new StringBuffer();
			set = new StringBuffer();
			prstmt = null;
			rs = null;
			if(str_tk_sbt_id.equals("A0") && !"".equals(ccas_card_stat_cd))
			{
				if(!"".equals(ccas_card_stat_cd) && !"null".equals(ccas_card_stat_cd) && ccas_card_stat_cd != null)
				{
					if("".equals(set.toString()))
					{
						set.append("C_CAS_CARD_STAT_CD = ? ");
					}
					else
					{
						set.append(" , ").append("C_CAS_CARD_STAT_CD = ? ");
					}
				}
				if(!"".equals(ccas_cast_upd_dttm) && !"null".equals(ccas_cast_upd_dttm) && ccas_cast_upd_dttm != null)
				{
					if("".equals(set.toString()))
					{
						set.append("MOD_DTTM = ? ");
					}
					else
					{
						set.append(" , ").append("MOD_DTTM = ? ");
					}
				}
				if(!"".equals(str_kk_seizo_no))
				{
					if("".equals(where.toString()))
					{
						where.append(" JOI_KK_SEIZO_NO = ? ");
					}
					else
					{
						where.append(" AND ").append(" JOI_KK_SEIZO_NO = ? ");
					}
				}
				if("".equals(where.toString()))
				{
					where.append(" KKTK_SBT_CD = 'C0' ");
				}
				else
				{
					where.append(" AND ").append(" KKTK_SBT_CD = 'C0' ");
				}
								
				ret = new Hashtable<String, Object>();
				columnnum = 1;
				try
				{
					sql.append("UPDATE TK_T_TK SET ").append(set).append(" WHERE ").append(where.toString());
					
					prstmt = this.connection.prepareStatement(sql.toString());
					
					if(!"".equals(ccas_card_stat_cd) && !"null".equals(ccas_card_stat_cd) && ccas_card_stat_cd != null)
					{
						prstmt.setString(columnnum, ccas_card_stat_cd);
						columnnum++;
					}
					if(!"".equals(ccas_cast_upd_dttm) && !"null".equals(ccas_cast_upd_dttm) && ccas_cast_upd_dttm != null)
					{
						java.util.Date dt_cast_upd_dttm = new SimpleDateFormat("yyyyMMddHHmmssSSS").parse(ccas_cast_upd_dttm);
						Timestamp ts_cast_upd_dttm = new Timestamp(dt_cast_upd_dttm.getTime());
						prstmt.setTimestamp(columnnum, ts_cast_upd_dttm);
						columnnum++;
					}
					if(!"".equals(str_kk_seizo_no) && !"null".equals(str_kk_seizo_no) && str_kk_seizo_no != null)
					{
						prstmt.setString(columnnum, str_kk_seizo_no);
						columnnum++;
					}

					rs = prstmt.executeQuery();
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		
		return ret;
	}

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_WCA0004(Hashtable serviceMap, Connection con) throws Exception {
		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer sql2 = new StringBuffer();
		StringBuffer where = new StringBuffer();
		int columnnum = 1;
		
		
		String str_key_stb_matsu_yo_grpid1 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID1);
		String str_key_stb_matsu_yo_grpid2 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID2);
		String str_key_stb_matsu_yo_grpid3 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID3);
		String str_key_stb_matsu_yo_grpid4 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID4);
		String str_key_stb_matsu_yo_grpid5 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID5);
		String str_key_stb_matsu_yo_grpid6 = (String)serviceMap.get(JWCCtrlTnInfo.KEY_STB_MATSU_YO_GRPID6);
		
		
		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		if(!"".equals(str_key_stb_matsu_yo_grpid1))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_1);
		}
		if(!"".equals(str_key_stb_matsu_yo_grpid2))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_2);
		}
		if(!"".equals(str_key_stb_matsu_yo_grpid3))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_3);
		}
		if(!"".equals(str_key_stb_matsu_yo_grpid4))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_4);
		}
		if(!"".equals(str_key_stb_matsu_yo_grpid5))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_5);
		}
		if(!"".equals(str_key_stb_matsu_yo_grpid6))
		{
			where.append(" AND ").append(STR_WHERE_GRPID_6);
		}
		
		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		try
		{
			sql.append(SQL).append(where.toString()).append(" ORDER BY KK_SEIZO_NO");
			
			prstmt = this.connection.prepareStatement(sql.toString());
			
			if(!"".equals(str_key_stb_matsu_yo_grpid1))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid1);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid2))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid2);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid3))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid3);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid4))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid4);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid5))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid5);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid6))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid6);
				columnnum++;
			}
			
			rs = prstmt.executeQuery();

			int intCnt =0;
			// 実行結果の返却
			while(rs.next())
			{
				intCnt++;
			}
			ret.put(JWCCtrlTnInfo.TTL_NUM, String.valueOf(intCnt));
			int iTotal = intCnt;
			//パラメータ取得
			int iDispNum = Integer.parseInt((String)serviceMap.get(JWCCtrlTnInfo.DSP_NUM));
			int iDispPageNum = Integer.parseInt((String)serviceMap.get(JWCCtrlTnInfo.PAGE_NO));

			//開始行、終了行設定
			int iStartNum = iDispNum * (iDispPageNum - 1) + 1;
			int iEndNum = iDispNum * iDispPageNum;
			if (iEndNum > iTotal)
			{
				iEndNum = iTotal;
			}
			//○TAI-2013-0000025
			if(null != rs)
			{
				rs.close();
			}
			if(null != prstmt)
			{
				prstmt.close();
			}
			rs = null;
			prstmt = null;
			columnnum = 1;
			sql2.append(RndSQL).append(sql).append(")").append(" WHERE RND BETWEEN ? AND ? ").append(" ORDER BY KK_SEIZO_NO");
			
			prstmt = this.connection.prepareStatement(sql2.toString());
			
			if(!"".equals(str_key_stb_matsu_yo_grpid1))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid1);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid2))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid2);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid3))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid3);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid4))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid4);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid5))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid5);
				columnnum++;
			}
			if(!"".equals(str_key_stb_matsu_yo_grpid6))
			{
				prstmt.setString(columnnum, str_key_stb_matsu_yo_grpid6);
				columnnum++;
			}
			prstmt.setInt(columnnum, iStartNum);
			columnnum++;
			prstmt.setInt(columnnum, iEndNum);
			columnnum++;
			
			rs = prstmt.executeQuery();
			
			ArrayList<Hashtable<String, Object>> list = new ArrayList<Hashtable<String, Object>>();
			
			// 実行結果の返却
			while(rs.next())
			{
				
				Hashtable<String,Object> data = new Hashtable<String, Object>();

			    // ＳＴＢ機器製造番号
				String str_kk_seizo_no1 = rs.getString("KK_SEIZO_NO");
				
//				System.out.println(str_kk_seizo_no1);

				if(str_kk_seizo_no1 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_KK_SEIZO_NO, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_KK_SEIZO_NO, str_kk_seizo_no1);
				}
			    // ＳＴＢＩＤ
				String str_stbid1 = rs.getString("STBID");
				
				if(str_stbid1 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STBID, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STBID, str_stbid1);
				}
				
			    // ＳＴＢステータスコード
				String str_stb_stat_cd = rs.getString("STB_STAT_CD");
				
				if(str_stb_stat_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_STAT_CD, str_stb_stat_cd);
				}
			    // ＳＴＢ内蔵ＣＡＳコード
				String str_naizocas_cd = rs.getString("STB_NAIZOCAS_CD");
				
				if(str_naizocas_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_NAIZOCAS_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_NAIZOCAS_CD, str_naizocas_cd);
				}
			    // ＳＴＢ松下用グループＩＤ１
				String str_stb_matsu_yo_grpid1= rs.getString("STB_MATSU_YO_GRP_ID1");
				
				if(str_stb_matsu_yo_grpid1 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID1, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID1, str_stb_matsu_yo_grpid1);
				}
			    // ＳＴＢ松下用グループＩＤ２
				String str_stb_matsu_yo_grpid2= rs.getString("STB_MATSU_YO_GRP_ID2");
				
				if(str_stb_matsu_yo_grpid2 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID2, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID2, str_stb_matsu_yo_grpid2);
				}
			    // ＳＴＢ松下用グループＩＤ３
				String str_stb_matsu_yo_grpid3= rs.getString("STB_MATSU_YO_GRP_ID3");
				
				if(str_stb_matsu_yo_grpid3 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID3, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID3, str_stb_matsu_yo_grpid3);
				}
			    // ＳＴＢ松下用グループＩＤ４
				String str_stb_matsu_yo_grpid4= rs.getString("STB_MATSU_YO_GRP_ID4");
				
				if(str_stb_matsu_yo_grpid4 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID4, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID4, str_stb_matsu_yo_grpid4);
				}
			    // ＳＴＢ松下用グループＩＤ５
				String str_stb_matsu_yo_grpid5= rs.getString("STB_MATSU_YO_GRP_ID5");
				
				if(str_stb_matsu_yo_grpid5 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID5, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID5, str_stb_matsu_yo_grpid5);
				}
			    // ＳＴＢ松下用グループＩＤ６
				String str_stb_matsu_yo_grpid6 = rs.getString("STB_MATSU_YO_GRP_ID6");
				
				if(str_stb_matsu_yo_grpid6 == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID6, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MATSU_YO_GRPID6, str_stb_matsu_yo_grpid6);
				}
			    // 仮鍵開年月日
				String str_kr_key_sta_ymd = rs.getString("KR_KEY_STA_YMD");
				
				if(str_kr_key_sta_ymd == null)
				{
					data.put(EWCA0010004CBSMsg1List.KR_KEY_STA_YMD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.KR_KEY_STA_YMD, str_kr_key_sta_ymd);
				}
	
				// 制御エリアコード
				String str_ctl_area_cd = rs.getString("CTL_AREA_CD");
				
				if(str_ctl_area_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.CTL_AREA_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.CTL_AREA_CD, str_ctl_area_cd);
				}
	
			    // ＳＴＢメーカ固有制御機種コード
				String str_stb_maker_koyu_ctl_mdl_cd = rs.getString("STB_MAKER_KOYU_CTL_MDL_CD");
				
				if(str_stb_maker_koyu_ctl_mdl_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MAKER_KOYU_CTL_MDL_CD, str_stb_maker_koyu_ctl_mdl_cd);
				}
	
				// ＳＴＢメーカ機器型番
				String str_maker_kk_mdl_no = rs.getString("MAKER_KK_MDL_NO");
				
				if(str_maker_kk_mdl_no == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_MAKER_KK_MDL_NO, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_MAKER_KK_MDL_NO, str_maker_kk_mdl_no);
				}
				
			    // Ｃ−ＣＡＳカードステータスコード
				String str_c_cas_card_stat_cd = rs.getString("CCAS_CARD_STAT_CD");
				
				if(str_c_cas_card_stat_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.CCAS_CARD_STAT_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.CCAS_CARD_STAT_CD, str_c_cas_card_stat_cd);
				}
	
				// ＣＡＳカード種別コード（Ｃ−ＣＡＳ）
				String str_c_cas_cas_card_sbt_cd = rs.getString("CCAS_CAS_CARD_SBT_CD");
				
				if(str_c_cas_cas_card_sbt_cd == null)
				{
					data.put(EWCA0010004CBSMsg1List.CCAS_CAS_CARD_SBT_CD, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.CCAS_CAS_CARD_SBT_CD, str_c_cas_cas_card_sbt_cd);
				}
	
				// ＳＴＢ宅内機器更新日付
				String str_stbt_upd_dttm = rs.getString("STB_UPD_DTTM");
				
				if(str_stbt_upd_dttm == null)
				{
					data.put(EWCA0010004CBSMsg1List.STB_UPD_DTTM, "");
				}
				else
				{
					data.put(EWCA0010004CBSMsg1List.STB_UPD_DTTM, str_stbt_upd_dttm);
				}
				
				list.add(data);
			}

			ret.put(JWCCtrlTnInfo.EWCA0010004CBSMSG1LIST, list);
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
		

		
		return ret;
	}

	@Override
	public void setConnection(Connection con) {
		// TODO 自動生成されたメソッドスタブ
		this.connection = con;
		
	}
	public Connection getConnection() {
		return this.connection;
	}


}
