/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKCtrlTnInfoStubImpl
*   ソースファイル名：JKKCtrlTnInfoStubImpl.java
*   作成者          ：富士通
*   日付            ：2013年10月28日
*＜機能概要＞
*   宅内機器連携（本番向け）コマンド発行部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/07/11   FJ) 富士通  新規作成
*   v32.00.00   2017/05/29   FJ) 河邊   【OM-2017-0000488】オープンカーソルエラー
**********************************************************************/

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.Date;
import java.util.Hashtable;
import java.util.List;

import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.ejb.cbs.cbsmsg.EKKA0020001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020001CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKKA0020002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020002CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKKA0020004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020005CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020005CBSMsg2List;

import eo.ejb.cbs.cbsmsg.EKKA0020501CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020501CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020502CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020502CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020502CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKKA0020503CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020503CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020503CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKKA0020504CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020504CBSMsg1List;

import eo.ejb.common.JKKModelCommon;

public class JKKCtrlTnInfoStubImpl extends JKKCtrlTnInfo {

	private static JKKCtrlTnInfoStubImpl instance = null;
	private Connection connection = null;

	private static final String SQL_SELECT_0001 = 
		" SELECT SETP.SETPLACE_NO," + 
		"        SETP.SETPLACE_AD_CD," + 
		"        SETP.SETPLACE_PCD," + 
		"        SETP.SETPLACE_STATE_NM," + 
		"        SETP.SETPLACE_CITY_NM," + 
		"        SETP.SETPLACE_OAZTSU_NM," + 
		"        SETP.SETPLACE_AZCHO_NM," + 
		"        SETP.SETPLACE_BNCHIGO," + 
		"        SETP.SETPLACE_ADRTTM," + 
		"        SETP.SETPLACE_ADRRM" + 
		" FROM TK_T_SETPLACE SETP" + 
		" WHERE SETP.SETPLACE_NO = ?";
	
	private static final String SQL_SELECT_0002 = 
		" SELECT SETP.SETPLACE_NO," + 
		"        SETP.SETPLACE_AD_CD," + 
		"        SETP.SETPLACE_PCD," + 
		"        SETP.SETPLACE_STATE_NM," + 
		"        SETP.SETPLACE_CITY_NM," + 
		"        SETP.SETPLACE_OAZTSU_NM," + 
		"        SETP.SETPLACE_AZCHO_NM," + 
		"        SETP.SETPLACE_BNCHIGO," + 
		"        SETP.SETPLACE_ADRTTM," + 
		"        SETP.SETPLACE_ADRRM" + 
		" FROM  TK_T_SETPLACE SETP" + 
		" WHERE SETP.SETPLACE_AD_CD = ?";
	private static final String WHERE_0002_1 = " SETP.SETPLACE_PCD = ? ";
	private static final String WHERE_0002_2 = " SETP.SETPLACE_STATE_NM = ?  ";
	private static final String WHERE_0002_3 = " SETP.SETPLACE_CITY_NM = ?";
	private static final String WHERE_0002_4 = " SETP.SETPLACE_OAZTSU_NM = ?";
	private static final String WHERE_0002_5 = " SETP.SETPLACE_AZCHO_NM = ? ";
	private static final String WHERE_0002_6 = " SETP.SETPLACE_BNCHIGO = ?  ";
	private static final String WHERE_0002_7 = " SETP.SETPLACE_ADRTTM = ?";
	private static final String WHERE_0002_8 = " SETP.SETPLACE_ADRRM = ?";
	
	private static final String SQL_INSERT_0002 = 
		" INSERT INTO TK_T_SETPLACE (SETPLACE_NO" + 
		"                           ,SETPLACE_AD_CD" +
		"                           ,SETPLACE_PCD" +
		"                           ,SETPLACE_STATE_NM" +
		"                           ,SETPLACE_CITY_NM" +
		"                           ,SETPLACE_OAZTSU_NM" +
		"                           ,SETPLACE_AZCHO_NM" +
		"                           ,SETPLACE_BNCHIGO" +
		"                           ,SETPLACE_ADRTTM" +
		"                           ,SETPLACE_ADRRM" +
		"                           ,ADD_USER_ID" +
		"                           ,ADD_DTTM" +
		"                           ,MOD_USER_ID" +
		"                           ,MOD_DTTM" +
		"                           ) " +
		"                   VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
	
	private final String SQL_SELECT_0003 = 
													" SELECT " + 
													" TK.TK_MDL_CD," + 
													" TK.KK_SEIZO_NO," + 
													" TK.MAC_AD," + 
													" TK.STB_ID," + 
													" TK.KR_KEY_STA_YMD," + 
													" TK.TK_SETHN_NO," + 
													" TK.TK_STAT," + 
													" TK.SETPLACE_NO," + 
													" TK.PLC_STC_YMD," + 
													" TK.JOI_TK_MDL_CD," + 
													" TK.JOI_KK_SEIZO_NO," + 
													" TK.HOSHO_STA_YMD," + 
													" TK.HOSHO_END_YMD," + 
													" TK.UQ_NINSHO_ID," + 
													" TK.UQ_PWD," + 
													" TK.EM_KSH_CD," + 
													" TK.ICCID," + 
													" TK.MAC_NINSHO_ID," + 
													" TK.MSISDN," + 
													" MAKER.MAKER_NM1," + 
													" MAKER.MAKER_NM2," + 
													" MDL.TK_SBT_CD," + 
													" MDL.HDD_CAPA_CD," + 
													" MDL.MRYO_ROUTER_DSP_MONGON," + 
													" MDL.HOYU_ROUTER_CD," +
													" MDL.ALI_NM," + 
													" MDL.TK_MDL_NM," + 
													" MDL.MAKER_CD," + 
													" SETP.SETPLACE_AD_CD," + 
													" SETP.SETPLACE_PCD," + 
													" SETP.SETPLACE_STATE_NM," + 
													" SETP.SETPLACE_CITY_NM," + 
													" SETP.SETPLACE_OAZTSU_NM," + 
													" SETP.SETPLACE_AZCHO_NM," + 
													" SETP.SETPLACE_BNCHIGO," + 
													" SETP.SETPLACE_ADRTTM," + 
													" SETP.SETPLACE_ADRRM," + 
													" TO_CHAR(TK.MOD_DTTM,'YYYYMMDDHH24MISSFF3') " + 
													" FROM TK_T_TK TK " + 
													" LEFT OUTER JOIN TK_M_TK_MDL MDL" + 
													" ON(TK.TK_MDL_CD = MDL.TK_MDL_CD)" + 
													" LEFT OUTER JOIN TK_M_MAKER MAKER" + 
													" ON(MDL.MAKER_CD = MAKER.MAKER_CD)" + 
													" LEFT OUTER JOIN TK_T_SETPLACE SETP" + 
													" ON(TK.SETPLACE_NO = SETP.SETPLACE_NO)" + 
													" WHERE TK.TK_MDL_CD = ? AND" +
													" TK.KK_SEIZO_NO = ?";
;
	private static final String SQL_UPDATE_0004 = " UPDATE TK_T_TK SET " +
													 " SETPLACE_NO = ? ," +
													 " MOD_DTTM = SYSDATE"+
													 " WHERE  TK_MDL_CD = ? " +
													 " AND  KK_SEIZO_NO = ? " +
													 " AND TO_CHAR(MOD_DTTM,'YYYYMMDDHH24MISSFF3') = ? ";
	private static final String SQL_SELECT_0005 = 
													" SELECT " +
													" KNRI_PLC_SKBT_CD," +
													" KNRI_PLC_CD," +
													" KNRI_PLC_SLF_CD," +
													" TK_MDL_CD," +
													" JZAIKO_NUM," +
													" HAISO_UK_JUCHU_NUM," +
													" HAISO_SHKA_SJI_NUM," +
													" YBKKHAI_SJI_NUM," +
													" SLF_MV_SJI_NUM," +
													" YBKKHAI_CHU_NUM," +
													" TJITU_NYUKA_NUM," +
													" TJITU_HAISO_SHKA_NUM," +
													" TJITU_DSL_TK_HMPIN_NUM," +
													" TJITU_TRB_KOKAN_HMPIN_NUM," +
													" SLF_MV_NYUKA_FIN_NUM," +
													" SLF_MV_SHKA_FIN_NUM," +
													" YOBI_KKSHKA_FIN_NUM," +
													" PLN_GAI_NYUKA_NUM," +
													" PLN_GAI_SHKA_NUM " +
													" FROM TK_T_TK_BRZIKO ";
	private static final String WHERE_0005_1 = " KNRI_PLC_SKBT_CD = ? ";
	private static final String WHERE_0005_2 = " KNRI_PLC_CD = ?  ";
	private static final String WHERE_0005_3 = " KNRI_PLC_SLF_CD = ?";
	private static final String WHERE_0005_4 = " TK_MDL_CD = ?";
	private static final String SQL_UPDATE_0006 = " UPDATE TK_T_TK SET " +
													 " JOI_TK_MDL_CD = ? ," +
													 " JOI_KK_SEIZO_NO = ? ," +
													 " MOD_DTTM = SYSDATE"+
													 " WHERE  TK_MDL_CD = ? " +
													 " AND  KK_SEIZO_NO = ? ";
	
	private static final String SQL_SELECT_0007 = "SELECT " +
													"KK_SEIZO_NO, " +
													"MAC_AD, " +
													"TK_STAT, " +
													"MOD_DTTM " +
													"FROM " +
													"TK_T_TK " +
													"WHERE " +
													"MAC_AD = ?";
	
	private static final String SQL_SELECT_0008 = "SELECT " +
													"KNRI_PLC_SKBT_CD, "+
													"KNRI_PLC_SLF_CD, " +
													"TK_MDL_CD, " +
													"KNRI_PLC_CD, " +
													"MOD_DTTM " +
													"FROM " +
													"TK_T_TK_BRZIKO ";
	
	private static final String SQL_SELECT_0009_1 = " SELECT " +
													 " JZAIKO_NUM , " +
													 " HAISO_UK_JUCHU_NUM , " +
													 " HAISO_SHKA_SJI_NUM , " +
													 " YBKKHAI_SJI_NUM , " +
													 " SLF_MV_SJI_NUM , " +
													 " YBKKHAI_CHU_NUM , " +
													 " TJITU_NYUKA_NUM , " +
													 " TJITU_HAISO_SHKA_NUM , " +
													 " TJITU_DSL_TK_HMPIN_NUM , " +
													 " TJITU_TRB_KOKAN_HMPIN_NUM , " +
													 " SLF_MV_NYUKA_FIN_NUM , " +
													 " SLF_MV_SHKA_FIN_NUM , " +
													 " YOBI_KKSHKA_FIN_NUM , " +
													 " PLN_GAI_NYUKA_NUM , " +
													 " PLN_GAI_SHKA_NUM " +
													 " FROM " +
													 " TK_T_TK_BRZIKO " +
													 " WHERE " +
													 " KNRI_PLC_SKBT_CD = ? AND " +
													 " KNRI_PLC_CD = ? AND " +
													 " KNRI_PLC_SLF_CD = ? AND " +
													 " TK_MDL_CD = ? ";

	private static final String SQL_UPDATE_0009_2 = " UPDATE TK_T_TK_BRZIKO SET " +
													 " JZAIKO_NUM = ? , " +
													 " HAISO_UK_JUCHU_NUM = ? , " +
													 " HAISO_SHKA_SJI_NUM = ? , " +
													 " YBKKHAI_SJI_NUM = ? , " +
													 " SLF_MV_SJI_NUM = ? , " +
													 " YBKKHAI_CHU_NUM = ? , " +
													 " TJITU_NYUKA_NUM = ? , " +
													 " TJITU_HAISO_SHKA_NUM = ? , " +
													 " TJITU_DSL_TK_HMPIN_NUM = ? , " +
													 " TJITU_TRB_KOKAN_HMPIN_NUM = ? , " +
													 " SLF_MV_NYUKA_FIN_NUM = ? , " +
													 " SLF_MV_SHKA_FIN_NUM = ? , " +
													 " YOBI_KKSHKA_FIN_NUM = ? , " +
													 " PLN_GAI_NYUKA_NUM = ? , " +
													 " PLN_GAI_SHKA_NUM = ? " +
													 " WHERE " +
													 " KNRI_PLC_SKBT_CD = ? AND " +
													 " KNRI_PLC_CD = ? AND " +
													 " KNRI_PLC_SLF_CD = ? AND " +
													 " TK_MDL_CD = ? ";

	/**
	 * インスタンス取得用のメソッド
	 * 
	 * @return JWCCtrlTnInfoStubImpl
	 */
	public static JKKCtrlTnInfoStubImpl getInstance() {
		synchronized (JKKCtrlTnInfoStubImpl.class) {
			if(instance == null) 
			{
				JKKCtrlTnInfoStubImpl.instance= new JKKCtrlTnInfoStubImpl();
			}
		}
		
		return instance;
	}

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0001(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0001(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0002(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0002(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0003(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0003(serviceMap, this.getConnection());
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0004(Hashtable serviceMap) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0004(serviceMap, this.getConnection());
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0005(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0005(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0006(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0006(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0007(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0007(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0008(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0008(serviceMap, this.getConnection());
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0009(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0009(serviceMap, this.getConnection());
	}

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0010(Hashtable serviceMap) throws Exception 
	{

		// TODO 自動生成されたメソッドスタブ
		return ctrlTnInfo_KKA0010(serviceMap, this.getConnection());
	}


	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0001(Hashtable serviceMap,Connection con) throws Exception {

		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020001CBSMsg.EKKA0020001CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnumIn = 1;

				//ＫＥＹ＿設置場所番号
				String key_setplace_no  =  (String)serviceMapList.get(EKKA0020001CBSMsg1List.KEY_SETPLACE_NO);

				sql.append(SQL_SELECT_0001);
				try
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					//ＫＥＹ＿設置場所番号
					prstmt.setLong(columnnumIn, Long.parseLong(key_setplace_no));
					columnnumIn++;
					
					rs  = prstmt.executeQuery();
					
					// 実行結果の返却
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();

						int columnnumOut = 1;

						//設置場所番号
						Long setplace_no = rs.getLong(columnnumOut++);
						if(setplace_no != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_NO, setplace_no.toString());
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_NO, "");
						}

						//設置場所住所コード
						String setplace_ad_cd = rs.getString(columnnumOut++);
						if(setplace_ad_cd != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_AD_CD, setplace_ad_cd);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_AD_CD, "");
						}

						//設置場所郵便番号
						String setplace_pcd = rs.getString(columnnumOut++);
						if(setplace_pcd != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_PCD, setplace_pcd);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_PCD, "");
						}

						//設置場所都道府県名
						String setplace_state_nm = rs.getString(columnnumOut++);
						if(setplace_state_nm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_STATE_NM, setplace_state_nm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_STATE_NM, "");
						}

						//設置場所市区町村名
						String setplace_city_nm = rs.getString(columnnumOut++);
						if(setplace_city_nm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_CITY_NM, setplace_city_nm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_CITY_NM, "");
						}

						//設置場所大字通称名
						String setplace_oaztsu_nm = rs.getString(columnnumOut++);
						if(setplace_oaztsu_nm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_OAZTSU_NM, setplace_oaztsu_nm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_OAZTSU_NM, "");
						}

						//設置場所字丁目名
						String setplace_azcho_nm = rs.getString(columnnumOut++);
						if(setplace_azcho_nm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_AZCHO_NM, setplace_azcho_nm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_AZCHO_NM, "");
						}

						//設置場所番地号
						String setplace_bnchigo = rs.getString(columnnumOut++);
						if(setplace_bnchigo != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_BNCHIGO, setplace_bnchigo);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_BNCHIGO, "");
						}

						//設置場所住所補記・建物名
						String setplace_adrttm = rs.getString(columnnumOut++);
						if(setplace_adrttm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_ADRTTM, setplace_adrttm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_ADRTTM, "");
						}

						//設置場所住所補記・部屋番号
						String setplace_adrrm = rs.getString(columnnumOut++);
						if(setplace_adrrm != null)
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_ADRRM, setplace_adrrm);
						}
						else
						{
							data.put(EKKA0020001CBSMsg2List.SETPLACE_ADRRM, "");
						}
						
						retlist.add(data);
					}
					
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		ret.put(EKKA0020001CBSMsg.EKKA0020001CBSMSG2LIST, retlist);
		
		return ret;
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0002(Hashtable serviceMap,Connection con) throws Exception {

		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020002CBSMsg.EKKA0020002CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002:データ照会初回");
				if(!ctrlTnInfo_KKA0002_ref(serviceMapList,retlist))
				{
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002:データ登録開始");
					//データ登録
					ctrlTnInfo_KKA0002_ins(serviceMapList);
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002:データ登録後照会開始");
					//データ照会
					ctrlTnInfo_KKA0002_ref(serviceMapList,retlist);
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002:データ登録後照会終了");
				}
			}
		}
		ret.put(EKKA0020002CBSMsg.EKKA0020002CBSMSG2LIST, retlist);
		
		// TODO 自動生成されたメソッドスタブ
		return ret;
	}

	private void ctrlTnInfo_KKA0002_ins(Hashtable<String, Object> serviceMapList) throws Exception
	{
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002_ins:処理開始");
		
		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = new StringBuffer();
		
		sql = new StringBuffer(SQL_INSERT_0002);

		//ＫＥＹ＿設置場所住所コード
		String key_setplace_no = (String)JCCModelCommon.getFormatedNextSeq("SEQ_SETPLACE_NO","1",9);
		//ＫＥＹ＿設置場所住所コード
		String key_setplace_ad_cd = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_AD_CD);
		//ＫＥＹ＿設置場所郵便番号
		String key_setplace_pcd = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_PCD);
		//ＫＥＹ＿設置場所都道府県名
		String key_setplace_state_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_STATE_NM);
		//ＫＥＹ＿設置場所市区町村名
		String key_setplace_city_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_CITY_NM);
		//ＫＥＹ＿設置場所大字通称名
		String key_setplace_oaztsu_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_OAZTSU_NM);
		//ＫＥＹ＿設置場所字丁目名
		String key_setplace_azcho_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_AZCHO_NM);
		//ＫＥＹ＿設置場所番地号
		String key_setplace_bnchigo = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_BNCHIGO);
		//ＫＥＹ＿設置場所住所補記建物名
		String key_setplace_adrttm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_ADRTTM);
		//ＫＥＹ＿設置場所住所補記部屋番号
		String key_setplace_adrrm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_ADRRM);

		try 
		{
			prstmt = this.connection.prepareStatement(sql.toString());
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(new AgentDispatchContext(),JSYejbLog.DEBUG, this.getClass(), sql);
			
			prstmt.setLong(1, Long.parseLong(key_setplace_no));
			prstmt.setString(2, strJudje(key_setplace_ad_cd));
			prstmt.setString(3, strJudje(key_setplace_pcd));
			prstmt.setString(4, strJudje(key_setplace_state_nm));
			prstmt.setString(5, strJudje(key_setplace_city_nm));
			prstmt.setString(6, strJudje(key_setplace_oaztsu_nm));
			prstmt.setString(7, strJudje(key_setplace_azcho_nm));
			prstmt.setString(8, strJudje(key_setplace_bnchigo));
			prstmt.setString(9, strJudje(key_setplace_adrttm));
			prstmt.setString(10, strJudje(key_setplace_adrrm));
			prstmt.setString(11, "TESTUSER");
			java.util.Date dt_stb_upd_dttm = new Date();
			Timestamp ts_stb_upd_dttm = new Timestamp(dt_stb_upd_dttm.getTime());
			prstmt.setTimestamp(12, ts_stb_upd_dttm);
			prstmt.setString(13, "TESTUSER");
			prstmt.setTimestamp(14, ts_stb_upd_dttm);

			int count = prstmt.executeUpdate();
			JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002_ins:処理終了");
		}
		finally
		{
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
	}
	
	private String strJudje(String trgStr)
	{
		if(!"".equals(trgStr))
		{
			return trgStr;
		}
		return null;
	}
	
	private boolean ctrlTnInfo_KKA0002_ref(Hashtable<String, Object> serviceMapList,ArrayList<Hashtable<String,  Object>> retlist) throws Exception
	{
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002_ref:処理開始");
		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		ResultSet rs = null;
		StringBuffer sql = new StringBuffer();
		StringBuffer where = new StringBuffer();
		boolean kekka = false;

		int columnnumIn = 1;

		//ＫＥＹ＿設置場所住所コード
		String key_setplace_ad_cd = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_AD_CD);
		
		//ＫＥＹ＿設置場所郵便番号
		String key_setplace_pcd = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_PCD);
		if(!"".equals(key_setplace_pcd))
		{
			where.append(" AND ").append(WHERE_0002_1);
		}
		
		//ＫＥＹ＿設置場所都道府県名
		String key_setplace_state_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_STATE_NM);
		if(!"".equals(key_setplace_state_nm))
		{
			where.append(" AND ").append(WHERE_0002_2);
		}
		
		//ＫＥＹ＿設置場所市区町村名
		String key_setplace_city_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_CITY_NM);
		if(!"".equals(key_setplace_city_nm))
		{
			where.append(" AND ").append(WHERE_0002_3);
		}
		
		//ＫＥＹ＿設置場所大字通称名
		String key_setplace_oaztsu_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_OAZTSU_NM);
		if(!"".equals(key_setplace_oaztsu_nm))
		{
			where.append(" AND ").append(WHERE_0002_4);
		}
		
		//ＫＥＹ＿設置場所字丁目名
		String key_setplace_azcho_nm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_AZCHO_NM);
		if(!"".equals(key_setplace_azcho_nm))
		{
			where.append(" AND ").append(WHERE_0002_5);
		}
		
		//ＫＥＹ＿設置場所番地号
		String key_setplace_bnchigo = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_BNCHIGO);
		if(!"".equals(key_setplace_bnchigo))
		{
			where.append(" AND ").append(WHERE_0002_6);
		}
		
		//ＫＥＹ＿設置場所住所補記建物名
		String key_setplace_adrttm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_ADRTTM);
		if(!"".equals(key_setplace_adrttm))
		{
			where.append(" AND ").append(WHERE_0002_7);
		}
		
		//ＫＥＹ＿設置場所住所補記部屋番号
		String key_setplace_adrrm = (String)serviceMapList.get(EKKA0020002CBSMsg1List.KEY_SETPLACE_ADRRM);
		if(!"".equals(key_setplace_adrrm))
		{
			where.append(" AND ").append(WHERE_0002_8);
		}

		try
		{
			
			if(!"".equals(where.toString()))
			{
				sql.append(SQL_SELECT_0002).append(where.toString());
			}
			else 
			{
				sql.append(SQL_SELECT_0002);
			}
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(new AgentDispatchContext(),JSYejbLog.DEBUG, this.getClass(), sql);
			
			prstmt = this.connection.prepareStatement(sql.toString());
			
			//ＫＥＹ＿設置場所住所コード
			prstmt.setString(columnnumIn, key_setplace_ad_cd);
			columnnumIn++;
			
			//ＫＥＹ＿設置場所郵便番号
			if(!"".equals(key_setplace_pcd))
			{
				prstmt.setString(columnnumIn, key_setplace_pcd);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所都道府県名
			if(!"".equals(key_setplace_state_nm))
			{
				prstmt.setString(columnnumIn, key_setplace_state_nm);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所市区町村名
			if(!"".equals(key_setplace_city_nm))
			{
				prstmt.setString(columnnumIn, key_setplace_city_nm);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所大字通称名
			if(!"".equals(key_setplace_oaztsu_nm))
			{
				prstmt.setString(columnnumIn, key_setplace_oaztsu_nm);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所字丁目名
			if(!"".equals(key_setplace_azcho_nm))
			{
				prstmt.setString(columnnumIn, key_setplace_azcho_nm);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所番地号
			if(!"".equals(key_setplace_bnchigo))
			{
				prstmt.setString(columnnumIn, key_setplace_bnchigo);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所住所補記建物名
			if(!"".equals(key_setplace_adrttm))
			{
				prstmt.setString(columnnumIn, key_setplace_adrttm);
				columnnumIn++;
			}
			
			//ＫＥＹ＿設置場所住所補記部屋番号
			if(!"".equals(key_setplace_adrrm))
			{
				prstmt.setString(columnnumIn, key_setplace_adrrm);
				columnnumIn++;
			}
			
			rs  = prstmt.executeQuery();
			
			// 実行結果の返却
			while(rs.next())
			{
				
				Hashtable<String,Object> data = new Hashtable<String, Object>();

				int columnnumOut = 1;

				//設置場所番号
				Long setplace_no = rs.getLong(columnnumOut++);
				if(setplace_no != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_NO, setplace_no.toString());
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_NO, "");
				}

				//設置場所住所コード
				String setplace_ad_cd = rs.getString(columnnumOut++);
				if(setplace_ad_cd != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_AD_CD, setplace_ad_cd);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_AD_CD, "");
				}

				//設置場所郵便番号
				String setplace_pcd = rs.getString(columnnumOut++);
				if(setplace_pcd != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_PCD, setplace_pcd);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_PCD, "");
				}

				//設置場所都道府県名
				String setplace_state_nm = rs.getString(columnnumOut++);
				if(setplace_state_nm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_STATE_NM, setplace_state_nm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_STATE_NM, "");
				}

				//設置場所市区町村名
				String setplace_city_nm = rs.getString(columnnumOut++);
				if(setplace_city_nm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_CITY_NM, setplace_city_nm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_CITY_NM, "");
				}

				//設置場所大字通称名
				String setplace_oaztsu_nm = rs.getString(columnnumOut++);
				if(setplace_oaztsu_nm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_OAZTSU_NM, setplace_oaztsu_nm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_OAZTSU_NM, "");
				}

				//設置場所字丁目名
				String setplace_azcho_nm = rs.getString(columnnumOut++);
				if(setplace_azcho_nm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_AZCHO_NM, setplace_azcho_nm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_AZCHO_NM, "");
				}

				//設置場所番地号
				String setplace_bnchigo = rs.getString(columnnumOut++);
				if(setplace_bnchigo != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_BNCHIGO, setplace_bnchigo);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_BNCHIGO, "");
				}

				//設置場所住所補記・建物名
				String setplace_adrttm = rs.getString(columnnumOut++);
				if(setplace_adrttm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_ADRTTM, setplace_adrttm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_ADRTTM, "");
				}

				//設置場所住所補記・部屋番号
				String setplace_adrrm = rs.getString(columnnumOut++);
				if(setplace_adrrm != null)
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_ADRRM, setplace_adrrm);
				}
				else
				{
					data.put(EKKA0020002CBSMsg2List.SETPLACE_ADRRM, "");
				}
				
				retlist.add(data);
				kekka = true;	
			}
			JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "call:JKKCtrlTnInfoStubImpl#ctrlTnInfo_KKA0002_ref:処理終了");
			return kekka;
		}
		finally
		{
			if(rs != null)
			{
				rs.close();
			}
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
	}

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0003(Hashtable serviceMap,Connection con) throws Exception {

		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020003CBSMsg.EKKA0020003CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnum = 1;

				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd  =  (String)serviceMapList.get(EKKA0020003CBSMsg1List.KEY_TK_MDL_CD);
				//ＫＥＹ＿機器製造番号
				String key_kk_seizo_no  =  (String)serviceMapList.get(EKKA0020003CBSMsg1List.KEY_KK_SEIZO_NO);

				sql.append(SQL_SELECT_0003);
				try 
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					prstmt.setString(columnnum, key_tk_mdl_cd);
					columnnum++;
					prstmt.setString(columnnum, key_kk_seizo_no);
					columnnum++;
					
					rs  = prstmt.executeQuery();
					
					// 実行結果の返却
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();

						//宅内機器型式コード
						String tk_mdl_cd = rs.getString(1);
						if(tk_mdl_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_CD, tk_mdl_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_CD, "");
						}
						
						//機器製造番号
						String kk_seizo_no = rs.getString(2);
						if(kk_seizo_no != null)
						{
							data.put(EKKA0020003CBSMsg2List.KK_SEIZO_NO, kk_seizo_no);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.KK_SEIZO_NO, "");
						}

						//ＭＡＣアドレス
						String mac_ad = rs.getString(3);
						if(mac_ad != null)
						{
							data.put(EKKA0020003CBSMsg2List.MAC_AD, mac_ad);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MAC_AD, "");
						}

						//ＳＴＢＩＤ
						String stbid = rs.getString(4);
						if(stbid != null)
						{
							data.put(EKKA0020003CBSMsg2List.STBID, stbid);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.STBID, "");
						}

						//仮鍵開年月日
						String kr_key_sta_ymd = rs.getString(5);
						if(kr_key_sta_ymd != null)
						{
							data.put(EKKA0020003CBSMsg2List.KR_KEY_STA_YMD, kr_key_sta_ymd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.KR_KEY_STA_YMD, "");
						}

						//宅内機器セット品番号
						String taknkiki_sethin_no = rs.getString(6);
						if(taknkiki_sethin_no != null)
						{
							data.put(EKKA0020003CBSMsg2List.TAKNKIKI_SETHIN_NO, taknkiki_sethin_no);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.TAKNKIKI_SETHIN_NO, "");
						}

						//宅内機器ステータス
						String taknkiki_stat = rs.getString(7);
						if(taknkiki_stat != null)
						{
//							data.put(EKKA0020003CBSMsg2List.TAKNKIKI_STAT, taknkiki_stat);
							data.put("tk_stat", taknkiki_stat);
						}
						else
						{
//							data.put(EKKA0020003CBSMsg2List.TAKNKIKI_STAT, "");
							data.put("tk_stat", "");
						}

						//設置場所番号
						Long setplace_no = rs.getLong(8);
						if(setplace_no != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_NO, setplace_no.toString());
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_NO, "");
						}

						//場所設置年月日
						String plc_stc_ymd = rs.getString(9);
						if(plc_stc_ymd != null)
						{
							data.put(EKKA0020003CBSMsg2List.PLC_STC_YMD, plc_stc_ymd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.PLC_STC_YMD, "");
						}

						//上位宅内機器型式コード
						String joi_tk_mdl_cd = rs.getString(10);
						if(joi_tk_mdl_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.JOI_TK_MDL_CD, joi_tk_mdl_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.JOI_TK_MDL_CD, "");
						}

						//上位機器製造番号
						String joi_kk_seizo_no = rs.getString(11);
						if(joi_kk_seizo_no != null)
						{
							data.put(EKKA0020003CBSMsg2List.JOI_KK_SEIZO_NO, joi_kk_seizo_no);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.JOI_KK_SEIZO_NO, "");
						}

						//保証開始年月日
						String hosho_staymd = rs.getString(12);
						if(hosho_staymd != null)
						{
							data.put(EKKA0020003CBSMsg2List.HOSHO_STAYMD, hosho_staymd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.HOSHO_STAYMD, "");
						}
						
						//保証終了年月日
						String hosho_endymd = rs.getString(13);
						if(hosho_endymd != null)
						{
							data.put(EKKA0020003CBSMsg2List.HOSHO_ENDYMD, hosho_endymd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.HOSHO_ENDYMD, "");
						}

						//ＵＱ認証ＩＤ
						String uq_ninsho_id  = rs.getString(14);
						if(uq_ninsho_id != null)
						{
							data.put(EKKA0020003CBSMsg2List.UQ_NINSHO_ID, uq_ninsho_id);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.UQ_NINSHO_ID, "");
						}

						//ＵＱパスワード
						String uq_pwd = rs.getString(15);
						if(uq_pwd != null)
						{
							data.put(EKKA0020003CBSMsg2List.UQ_PWD, uq_pwd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.UQ_PWD, "");
						}

						//ＥＭ契約者コード
						String em_keisha_cd = rs.getString(16);
						if(em_keisha_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.EM_KEISHA_CD, em_keisha_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.EM_KEISHA_CD, "");
						}

						//ＩＣＣＩＤ
						String icc_id = rs.getString(17);
						if(icc_id != null)
						{
							data.put(EKKA0020003CBSMsg2List.ICC_ID, icc_id);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.ICC_ID, "");
						}

						//ＭＡＣ認証ＩＤ
						String mac_ninsho_id = rs.getString(18);
						if(mac_ninsho_id != null)
						{
							data.put(EKKA0020003CBSMsg2List.MAC_NINSHO_ID, mac_ninsho_id);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MAC_NINSHO_ID, "");
						}

						//ＭＳＩＳＤＮ
						String msisdn = rs.getString(19);
						if(msisdn != null)
						{
							data.put(EKKA0020003CBSMsg2List.MSISDN, msisdn);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MSISDN, "");
						}

						//メーカー名１
						String maker_nm1 = rs.getString(20);
						if(maker_nm1 != null)
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_NM1, maker_nm1);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_NM1, "");
						}

						//メーカー名２
						String maker_nm2 = rs.getString(21);
						if(maker_nm2 != null)
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_NM2, maker_nm2);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_NM2, "");
						}

						//宅内機器種別コード
						String tk_sbt_cd = rs.getString(22);
						if(tk_sbt_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.TK_SBT_CD, tk_sbt_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.TK_SBT_CD, "");
						}

						//ＨＤＤ容量コード
						String hdd_size_cd = rs.getString(23);
						if(hdd_size_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.HDD_SIZE_CD, hdd_size_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.HDD_SIZE_CD, "");
						}

						//無料ルーター表示文言
						String muryo_router_disp_mongon = rs.getString(24);
						if(muryo_router_disp_mongon != null)
						{
							data.put(EKKA0020003CBSMsg2List.MURYO_ROUTER_DISP_MONGON, muryo_router_disp_mongon);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MURYO_ROUTER_DISP_MONGON, "");
						}

						//保有ルータコード
						String hoyu_router_cd = rs.getString(25);
						if(hoyu_router_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.HOYU_ROUTER_CD, hoyu_router_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.HOYU_ROUTER_CD, "");
						}

						//宅内機器型式略称名
						String tk_mdl_ali_nm = rs.getString(26);
						if(tk_mdl_ali_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_ALI_NM, tk_mdl_ali_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_ALI_NM, "");
						}

						//宅内機器型式名
						String tk_mdl_nm = rs.getString(27);
						if(tk_mdl_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_NM, tk_mdl_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.TK_MDL_NM, "");
						}

						//メーカーコード
						String maker_cd = rs.getString(28);
						if(maker_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_CD, maker_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.MAKER_CD, "");
						}

						//設置場所住所コード
						String setplace_ad_cd = rs.getString(29);
						if(setplace_ad_cd != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_AD_CD, setplace_ad_cd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_AD_CD, "");
						}

						//設置場所郵便番号
						String setplace_pcd = rs.getString(30);
						if(setplace_pcd != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_PCD, setplace_pcd);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_PCD, "");
						}

						//設置場所都道府県名
						String setplace_state_nm = rs.getString(31);
						if(setplace_state_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_STATE_NM, setplace_state_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_STATE_NM, "");
						}

						//設置場所市区町村名
						String setplace_city_nm = rs.getString(32);
						if(setplace_city_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_CITY_NM, setplace_city_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_CITY_NM, "");
						}

						//設置場所大字通称名
						String setplace_oaztsu_nm = rs.getString(33);
						if(setplace_oaztsu_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_OAZTSU_NM, setplace_oaztsu_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_OAZTSU_NM, "");
						}

						//設置場所字丁目名
						String setplace_azcho_nm = rs.getString(34);
						if(setplace_azcho_nm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_AZCHO_NM, setplace_azcho_nm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_AZCHO_NM, "");
						}

						//設置場所番地号
						String setplace_bnchigo = rs.getString(35);
						if(setplace_bnchigo != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_BNCHIGO, setplace_bnchigo);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_BNCHIGO, "");
						}

						//設置場所住所補記・建物名
						String setplace_adrttm = rs.getString(36);
						if(setplace_adrttm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_ADRTTM, setplace_adrttm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_ADRTTM, "");
						}

						//設置場所住所補記・部屋番号
						String setplace_adrrm = rs.getString(37);
						if(setplace_adrrm != null)
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_ADRRM, setplace_adrrm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.SETPLACE_ADRRM, "");
						}

						//宅内機器ＳＴＢＴ更新日付
						String stbt_upd_dttm = rs.getString(38);
						if(stbt_upd_dttm != null)
						{
							data.put(EKKA0020003CBSMsg2List.STBT_UPD_DTTM, stbt_upd_dttm);
							data.put(EKKA0020003CBSMsg2List.KIHONT_UPD_DTTM, stbt_upd_dttm);
							data.put(EKKA0020003CBSMsg2List.CAST_UPD_DTTM, stbt_upd_dttm);
						}
						else
						{
							data.put(EKKA0020003CBSMsg2List.STBT_UPD_DTTM, "");
							data.put(EKKA0020003CBSMsg2List.KIHONT_UPD_DTTM, "");
							data.put(EKKA0020003CBSMsg2List.CAST_UPD_DTTM, "");
						}
						
						retlist.add(data);
					}
					
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		ret.put(EKKA0020003CBSMsg.EKKA0020003CBSMSG2LIST, retlist);
		
		// TODO 自動生成されたメソッドスタブ
		return ret;
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0004(Hashtable serviceMap,Connection con) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020004CBSMsg.EKKA0020004CBSMSG1LIST);
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnum = 1;

				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd = (String)serviceMapList.get(EKKA0020004CBSMsg1List.KEY_TK_MDL_CD);
				//ＫＥＹ＿機器製造番号
				String key_kk_seizo_no = (String)serviceMapList.get(EKKA0020004CBSMsg1List.KEY_KK_SEIZO_NO);
				//ＫＥＹ＿変更理由コード
				String key_chg_rsn_cd = (String)serviceMapList.get(EKKA0020004CBSMsg1List.KEY_CHG_RSN_CD);
				//ＫＥＹ＿宅内機器基本Ｔ更新日付
				String key_btry_upd_dttm = (String)serviceMapList.get(EKKA0020004CBSMsg1List.KEY_BTRY_UPD_DTTM);
				//設置場所番号
				String setplace_no = (String)serviceMapList.get(EKKA0020004CBSMsg1List.SETPLACE_NO);
				//サービス契約番号
				String svc_kei_no = (String)serviceMapList.get(EKKA0020004CBSMsg1List.SVC_KEI_NO);

				sql.append(SQL_UPDATE_0004);
				try 
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					prstmt.setLong(columnnum, Long.parseLong(setplace_no));
					columnnum++;
					prstmt.setString(columnnum, key_tk_mdl_cd);
					columnnum++;
					prstmt.setString(columnnum, key_kk_seizo_no);
					columnnum++;
//					prstmt.setTimestamp(columnnum, new Timestamp(new SimpleDateFormat("yyyyMMddHHmmssSSS").parse(key_btry_upd_dttm).getTime()));
					prstmt.setString(columnnum, key_btry_upd_dttm);
					columnnum++;
					
					int count = prstmt.executeUpdate();
				}
				finally
				{
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		return ret;
	}
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0005(Hashtable serviceMap,Connection con) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020005CBSMsg.EKKA0020005CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnum = 1;

				//ＫＥＹ＿管理場所識別コード
				String key_knri_plc_skbt_cd  =  (String)serviceMapList.get(EKKA0020005CBSMsg1List.KEY_KNRI_PLC_SKBT_CD);
				//ＫＥＹ＿管理場所コード
				String key_knri_plc_cd  =  (String)serviceMapList.get(EKKA0020005CBSMsg1List.KEY_KNRI_PLC_CD);
				//ＫＥＹ＿管理場所棚コード
				String key_knri_plc_slf_cd  =  (String)serviceMapList.get(EKKA0020005CBSMsg1List.KEY_KNRI_PLC_SLF_CD);
				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd  =  (String)serviceMapList.get(EKKA0020005CBSMsg1List.KEY_TK_MDL_CD);

				if(!"".equals(key_knri_plc_skbt_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(WHERE_0005_1);
					}
					else
					{
						where.append(" AND ").append(WHERE_0005_1);
					}
				}
				
				if(!"".equals(key_knri_plc_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(WHERE_0005_2);
					}
					else
					{
						where.append(" AND ").append(WHERE_0005_2);
					}
				}
				
				if(!"".equals(key_knri_plc_slf_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(WHERE_0005_3);
					}
					else
					{
						where.append(" AND ").append(WHERE_0005_3);
					}
				}
				
				if(!"".equals(key_tk_mdl_cd))
				{
					if("".equals(where.toString()))
					{
						where.append(WHERE_0005_4);
					}
					else
					{
						where.append(" AND ").append(WHERE_0005_4);
					}
				}
				
				try
				{
					
					if(!"".equals(where.toString()))
					{
						sql.append(SQL_SELECT_0005).append(" WHERE ").append(where.toString());
					}
					else 
					{
						sql.append(SQL_SELECT_0005);
					}
					
					prstmt = this.connection.prepareStatement(sql.toString());
					
					if(!"".equals(key_knri_plc_skbt_cd))
					{
						prstmt.setString(columnnum, key_knri_plc_skbt_cd);
						columnnum++;
					}
					
					if(!"".equals(key_knri_plc_cd))
					{
						prstmt.setString(columnnum, key_knri_plc_cd);
						columnnum++;
					}
					
					if(!"".equals(key_knri_plc_slf_cd))
					{
						prstmt.setString(columnnum, key_knri_plc_slf_cd);
						columnnum++;
					}
					
					if(!"".equals(key_tk_mdl_cd))
					{
						prstmt.setString(columnnum, key_tk_mdl_cd);
						columnnum++;
					}
					
					rs = prstmt.executeQuery();
					
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();
						
						//管理場所識別コード
						String knri_plc_skbt_cd  = rs.getString(1);
						if(knri_plc_skbt_cd != null)
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_SKBT_CD, knri_plc_skbt_cd);
							
						}
						else
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_SKBT_CD, "");
						}
						
						//管理場所コード
						String knri_plc_cd  =  rs.getString(2);
						if(knri_plc_cd != null)
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_CD, knri_plc_cd);
							
						}
						else
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_CD, "");
						}
						
						//管理場所棚コード
						String knri_plc_slf_cd  =  rs.getString(3);
						if(knri_plc_slf_cd != null)
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_SLF_CD, knri_plc_slf_cd);
							
						}
						else
						{
							data.put(EKKA0020005CBSMsg2List.KNRI_PLC_SLF_CD, "");
						}
						
						//宅内機器型式コード
						String tk_mdl_cd  = rs.getString(4);
						if(tk_mdl_cd != null)
						{
							data.put(EKKA0020005CBSMsg2List.TK_MDL_CD, tk_mdl_cd);
							
						}
						else
						{
							data.put(EKKA0020005CBSMsg2List.TK_MDL_CD, "");
						}
						
						
						//実在庫数
						Long jzaiko_cnt = rs.getLong(5);
						data.put(EKKA0020005CBSMsg2List.JZAIKO_CNT, jzaiko_cnt.toString());
						
						//配送受付（受注）数
						Long haiso_uk_juchu_cnt = rs.getLong(6);
						data.put(EKKA0020005CBSMsg2List.HAISO_UK_JUCHU_CNT, haiso_uk_juchu_cnt.toString());

						//配送出荷指示数
						Long haiso_shka_sji_cnt = rs.getLong(7);
						data.put(EKKA0020005CBSMsg2List.HAISO_SHKA_SJI_CNT, haiso_shka_sji_cnt.toString());

						//予備機器配送指示数
						Long ybkiki_haiso_sji_cnt = rs.getLong(8);
						data.put(EKKA0020005CBSMsg2List.YBKIKI_HAISO_SJI_CNT, ybkiki_haiso_sji_cnt.toString());

						//棚移動指示数
						Long shelf_mv_sji_cnt = rs.getLong(9);
						data.put(EKKA0020005CBSMsg2List.SHELF_MV_SJI_CNT, shelf_mv_sji_cnt.toString());

						//予備機器配送中数
						Long ybkiki_haiso_chu_cnt = rs.getLong(10);
						data.put(EKKA0020005CBSMsg2List.YBKIKI_HAISO_CHU_CNT, ybkiki_haiso_chu_cnt.toString());

						//当日入荷数
						Long tjitu_nyuka_cnt = rs.getLong(11);
						data.put(EKKA0020005CBSMsg2List.TJITU_NYUKA_CNT, tjitu_nyuka_cnt.toString());

						//当日配送出荷数
						Long tjitu_haiso_shka_cnt = rs.getLong(12);
						data.put(EKKA0020005CBSMsg2List.TJITU_HAISO_SHKA_CNT, tjitu_haiso_shka_cnt.toString());

						//当日解約撤去返品数
						Long tjitu_dsl_tekkyo_hmpin_cnt = rs.getLong(13);
						data.put(EKKA0020005CBSMsg2List.TJITU_DSL_TEKKYO_HMPIN_CNT, tjitu_dsl_tekkyo_hmpin_cnt.toString());

						//当日故障交換返品数
						Long tjitu_trb_kokan_hmpin_cnt = rs.getLong(14);
						data.put(EKKA0020005CBSMsg2List.TJITU_TRB_KOKAN_HMPIN_CNT, tjitu_trb_kokan_hmpin_cnt.toString());

						//棚移動入荷完了数
						Long shelf_mv_nyuka_fin_cnt = rs.getLong(15);
						data.put(EKKA0020005CBSMsg2List.SHELF_MV_NYUKA_FIN_CNT, shelf_mv_nyuka_fin_cnt.toString());

						//棚移動出荷完了数
						Long shelf_mv_shka_fin_cnt = rs.getLong(16);
						data.put(EKKA0020005CBSMsg2List.SHELF_MV_SHKA_FIN_CNT, shelf_mv_shka_fin_cnt.toString());

						//予備機器出荷完了数
						Long ybkiki_shka_fin_cnt = rs.getLong(17);
						data.put(EKKA0020005CBSMsg2List.YBKIKI_SHKA_FIN_CNT, ybkiki_shka_fin_cnt.toString());

						//計画外入荷数
						Long plan_gai_nyuka_cnt = rs.getLong(18);
						data.put(EKKA0020005CBSMsg2List.PLAN_GAI_NYUKA_CNT, plan_gai_nyuka_cnt.toString());

						//計画外出荷数
						Long plan_gai_shka_cnt = rs.getLong(19);
						data.put(EKKA0020005CBSMsg2List.PLAN_GAI_SHKA_CNT, plan_gai_shka_cnt.toString());

						retlist.add(data);
					}
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}

			}
		}
		
		ret.put(EKKA0020005CBSMsg.EKKA0020005CBSMSG2LIST, retlist);
		
		return ret;
	}

	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@SuppressWarnings("unchecked")
	@Override
	public Hashtable ctrlTnInfo_KKA0006(Hashtable serviceMap,Connection con) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020501CBSMsg.EKKA0020501CBSMSG1LIST);

		if(list != null)
		{
			list.remove(0);
		}

		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnum = 1;

				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd = (String)serviceMapList.get(EKKA0020501CBSMsg1List.KEY_TK_MDL_CD);
				//ＫＥＹ＿機器製造番号
				String key_kk_seizo_no = (String)serviceMapList.get(EKKA0020501CBSMsg1List.KEY_KK_SEIZO_NO);
				//ＫＥＹ＿宅内機器基本Ｔ更新日付
				String key_kihon_upd_dttm = (String)serviceMapList.get(EKKA0020501CBSMsg1List.KEY_KIHON_UPD_DTTM);
				//上位宅内機器型式コード
				String joi_tk_mdl_cd = (String)serviceMapList.get(EKKA0020501CBSMsg1List.JOI_TK_MDL_CD);
				//上位機器製造番号
				String joi_kk_seizo_no = (String)serviceMapList.get(EKKA0020501CBSMsg1List.JOI_KK_SEIZO_NO);

				sql.append(SQL_UPDATE_0006);
				try 
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					prstmt.setString(columnnum, joi_tk_mdl_cd);
					columnnum++;
					prstmt.setString(columnnum, joi_kk_seizo_no);
					columnnum++;
					prstmt.setString(columnnum, key_tk_mdl_cd);
					columnnum++;
					prstmt.setString(columnnum, key_kk_seizo_no);
					columnnum++;
					
					int count = prstmt.executeUpdate();
				}
				finally
				{
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		return ret;
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0007(Hashtable serviceMap,Connection con) throws Exception {

		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020502CBSMsg.EKKA0020502CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();
				StringBuffer where = new StringBuffer();

				int columnnumIn = 1;

				//ＫＥＹ＿MACアドレス
				String key_mac_ad  =  (String)serviceMapList.get(EKKA0020502CBSMsg1List.KEY_MAC_AD);

				sql.append(SQL_SELECT_0007);
				try
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					//ＫＥＹ＿MACアドレス
					prstmt.setString(columnnumIn,key_mac_ad);
					columnnumIn++;
					
					rs  = prstmt.executeQuery();
					
					// 実行結果の返却
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();

						int columnnumOut = 1;

						//機器製造番号
						String kk_seizo_no = rs.getString(columnnumOut++);
						if(kk_seizo_no != null)
						{
							data.put(EKKA0020502CBSMsg2List.KK_SEIZO_NO, kk_seizo_no);
						}
						else
						{
							data.put(EKKA0020502CBSMsg2List.KK_SEIZO_NO, "");
						}

						//MACアドレス
						String mac_ad = rs.getString(columnnumOut++);
						if(mac_ad != null)
						{
							data.put(EKKA0020502CBSMsg2List.MAC_AD, mac_ad);
						}
						else
						{
							data.put(EKKA0020502CBSMsg2List.MAC_AD, "");
						}

						//宅内機器ステータス
						String tk_stat = rs.getString(columnnumOut++);
						if(tk_stat != null)
						{
							data.put(EKKA0020502CBSMsg2List.TK_STAT, tk_stat);
						}
						else
						{
							data.put(EKKA0020502CBSMsg2List.TK_STAT, "");
						}

						//宅内機器基本T更新日付
						String kihon_upd_dttm = rs.getString(columnnumOut++);
						if(kihon_upd_dttm != null)
						{
							data.put(EKKA0020502CBSMsg2List.KIHON_UPD_DTTM, kihon_upd_dttm);
						}
						else
						{
							data.put(EKKA0020502CBSMsg2List.KIHON_UPD_DTTM, "");
						}

						retlist.add(data);
					}
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		ret.put(EKKA0020502CBSMsg.EKKA0020502CBSMSG2LIST, retlist);
		
		return ret;
	}
	
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0008(Hashtable serviceMap,Connection con) throws Exception {

		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020503CBSMsg.EKKA0020503CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();

				int columnnumIn = 1;

				//ＫＥＹ＿管理場所識別コード
				String key_knri_plc_skbt_cd  =  (String)serviceMapList.get(EKKA0020503CBSMsg1List.KEY_KNRI_PLC_SKBT_CD);
				//ＫＥＹ＿管理場所棚コード
				String key_knri_plc_slf_cd  =  (String)serviceMapList.get(EKKA0020503CBSMsg1List.KEY_KNRI_PLC_SLF_CD);
				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd  =  (String)serviceMapList.get(EKKA0020503CBSMsg1List.KEY_TK_MDL_CD);

				sql.append(SQL_SELECT_0008);
				
				// WHERE句の設定(入力のあったものだけを条件に設定する)
				boolean jokenflg = false;
				
				//ＫＥＹ＿管理場所識別コード
				if(!"".equals(key_knri_plc_skbt_cd) || !"".equals(key_knri_plc_skbt_cd) || !"".equals(key_tk_mdl_cd) )
				{
					sql.append(" WHERE ");
				}
				if(!"".equals(key_knri_plc_skbt_cd))
				{
					sql.append("KNRI_PLC_SKBT_CD = ?");
					jokenflg = true;
				}
				//ＫＥＹ＿管理場所棚コード
				if(!"".equals(key_knri_plc_slf_cd))
				{
					if(jokenflg)
					{
						sql.append(" AND ");
					}
					sql.append("KNRI_PLC_SLF_CD = ?");
					jokenflg = true;
				}
				//ＫＥＹ＿宅内機器型式コード
				if(!"".equals(key_tk_mdl_cd))
				{
					if(jokenflg)
					{
						sql.append(" AND ");
					}
					sql.append("TK_MDL_CD = ?");
				}
				//ソート順> ・管理場所識別コード（昇順）・管理場所棚コード（昇順）・宅内機器型式コード（昇順）・管理場所コード（昇順）
				sql.append("ORDER BY KNRI_PLC_SKBT_CD ASC, KNRI_PLC_SLF_CD ASC, TK_MDL_CD ASC, KNRI_PLC_CD ASC");
				
				try
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					//ＫＥＹ＿管理場所識別コード
					if(!"".equals(key_knri_plc_skbt_cd))
					{
						prstmt.setString(columnnumIn, key_knri_plc_skbt_cd);
						columnnumIn++;
					}
					//ＫＥＹ＿管理場所棚コード
					if(!"".equals(key_knri_plc_slf_cd))
					{
						prstmt.setString(columnnumIn, key_knri_plc_slf_cd);
						columnnumIn++;
					}
					//ＫＥＹ＿宅内機器型式コード
					if(!"".equals(key_tk_mdl_cd))
					{
						prstmt.setString(columnnumIn, key_tk_mdl_cd);
						columnnumIn++;
					}
					
					rs  = prstmt.executeQuery();
					
					// 実行結果の返却
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();

						int columnnumOut = 1;

						//管理場所識別コード
						String knri_plc_skbt_cd = rs.getString(columnnumOut++);
						if(knri_plc_skbt_cd != null)
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_SKBT_CD, knri_plc_skbt_cd);
						}
						else
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_SKBT_CD, "");
						}

						//管理場所棚コード
						String knri_plc_slf_cd = rs.getString(columnnumOut++);
						if(knri_plc_slf_cd != null)
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_SLF_CD, knri_plc_slf_cd);
						}
						else
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_SLF_CD, "");
						}

						//宅内機器型式コード
						String tk_mdl_cd = rs.getString(columnnumOut++);
						if(tk_mdl_cd != null)
						{
							data.put(EKKA0020503CBSMsg2List.TK_MDL_CD, tk_mdl_cd);
						}
						else
						{
							data.put(EKKA0020503CBSMsg2List.TK_MDL_CD, "");
						}

						//管理場所コード
						String knri_plc_cd = rs.getString(columnnumOut++);
						if(knri_plc_cd != null)
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_CD, knri_plc_cd);
						}
						else
						{
							data.put(EKKA0020503CBSMsg2List.KNRI_PLC_CD, "");
						}

						//宅内機器物流在庫T更新日時
						String brziko_upd_dttm = rs.getString(columnnumOut++);
						if(brziko_upd_dttm != null)
						{
							data.put(EKKA0020503CBSMsg2List.BRZIKO_UPD_DTTM, brziko_upd_dttm);
						}
						else
						{
							data.put(EKKA0020503CBSMsg2List.BRZIKO_UPD_DTTM, "");
						}

						retlist.add(data);
					}
					
				}
				finally
				{
					if(rs != null)
					{
						rs.close();
					}
					if(prstmt != null)
					{
						prstmt.close();
					}
				}
			}
		}
		ret.put(EKKA0020503CBSMsg.EKKA0020503CBSMSG2LIST, retlist);
		
		return ret;
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0009(Hashtable serviceMap,Connection con) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		ret = ctrlTnInfo_KKA0009_1(serviceMap);
		
		return ret;
		
	}
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @param Connection コネクション
	 * @return Hashtable サービスマップ戻り値
	 */
	@Override
	public Hashtable ctrlTnInfo_KKA0010(Hashtable serviceMap,Connection con) throws Exception {

		// TODO 自動生成されたメソッドスタブ
		if(this.connection == null)
		{
			// エラー
			throw new Exception("");
		}
		

		Hashtable<String, Object> ret = new Hashtable<String, Object>();

		return ret;
	}
	
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return Hashtable サービスマップ戻り値
	 */
	private Hashtable<String, Object> ctrlTnInfo_KKA0009_1(Hashtable serviceMap) throws Exception {
		Hashtable<String, Object> ret = new Hashtable<String, Object>();
		
		ArrayList<Hashtable<String,  Object>>list = (ArrayList<Hashtable<String,  Object>>)serviceMap.get(EKKA0020504CBSMsg.EKKA0020504CBSMSG1LIST);
		ArrayList<Hashtable<String,  Object>>retlist = new ArrayList<Hashtable<String,Object>>();
		
		if(list != null)
		{
			list.remove(0);
		}
		
		if(list != null && list.size() != 0)
		{
			for(Hashtable<String, Object>serviceMapList :list )
			{
				// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
				PreparedStatement prstmt = null;
				ResultSet rs = null;
				StringBuffer sql = new StringBuffer();

				int columnnum = 1;

				//ＫＥＹ＿管理場所識別コード
				String key_knri_plc_skbt_cd = (String)serviceMapList.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SKBT_CD);
				
				//ＫＥＹ＿管理場所コード
				String key_knri_plc_cd = (String)serviceMapList.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_CD);
				
				//ＫＥＹ＿管理場所棚コード
				String key_knri_plc_slf_cd = (String)serviceMapList.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SLF_CD);
				
				//ＫＥＹ＿宅内機器型式コード
				String key_tk_mdl_cd = (String)serviceMapList.get(EKKA0020504CBSMsg1List.KEY_TK_MDL_CD);
				
				
				//実在庫数
				long i_jziko_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.JZAIKO_NUM));
				
				//配送受付（受注）数
				long i_haiso_uk_juchu_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.HAISO_UK_JUCHU_NUM));
				
				//配送出荷指示数
				long i_haiso_shka_sji_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.HAISO_SHKA_SJI_NUM));
				
				//予備機器配送指示数
				long i_ybkkhai_sji_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.YBKKHAI_SJI_NUM));
				
				//棚移動指示数
				long i_slf_mv_sji_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_SJI_NUM));
				
				//予備機器配送中数
				long i_ybkkhai_chu_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.YBKKHAI_CHU_NUM));
				
				//当日入荷数
				long i_tjitu_nyuka_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_NYUKA_NUM));
				
				//当日配送出荷数
				long i_tjitu_haiso_shka_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_HAISO_SHKA_NUM));
				
				//当日解約撤去返品数
				long i_tjitu_dsl_tk_hmpin_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_DSL_TK_HMPIN_NUM));
				
				//当日故障交換返品数
				long i_tjitu_trb_kokan_hmpin_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_TRB_KOKAN_HMPIN_NUM));
				
				//棚移動入荷完了数
				long i_slf_mv_nyuka_fin_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_NYUKA_FIN_NUM));
				
				//棚移動出荷完了数
				long i_slf_mv_shka_fin_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_SHKA_FIN_NUM));
				
				//予備機器出荷完了数
				long i_yobi_kkshka_fin_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.YOBI_KKSHKA_FIN_NUM));
				
				//計画外入荷数
				long i_pln_gai_nyuka_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.PLN_GAI_NYUKA_NUM));
				
				//計画外出荷数
				long i_pln_gai_shka_num = Long.parseLong((String)serviceMapList.get(EKKA0020504CBSMsg1List.PLN_GAI_SHKA_NUM));
				

				// 参照SQLの実行
				sql.append(SQL_SELECT_0009_1);
				try 
				{
					prstmt = this.connection.prepareStatement(sql.toString());
					
					//ＫＥＹ＿管理場所識別コード
					prstmt.setString(columnnum, key_knri_plc_skbt_cd);
					columnnum++;
					//ＫＥＹ＿管理場所コード
					prstmt.setString(columnnum, key_knri_plc_cd);
					columnnum++;
					//ＫＥＹ＿管理場所棚コード
					prstmt.setString(columnnum, key_knri_plc_slf_cd);
					columnnum++;
					//ＫＥＹ＿宅内機器型式コード
					prstmt.setString(columnnum, key_tk_mdl_cd);
					columnnum++;
					
					rs = prstmt.executeQuery();
					
					// 実行結果の返却
					while(rs.next())
					{
						Hashtable<String,Object> data = new Hashtable<String, Object>();

						int columnnumOut = 1;
						
						//実在庫数
						long jziko_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.JZAIKO_NUM_O, String.valueOf(jziko_num + i_jziko_num));
						
						//配送受付（受注）数
						long haiso_uk_juchu_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.HAISO_UK_JUCHU_NUM_O, String.valueOf(haiso_uk_juchu_num + i_haiso_uk_juchu_num));
						
						//配送出荷指示数
						long haiso_shka_sji_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.HAISO_SHKA_SJI_NUM_O, String.valueOf(haiso_shka_sji_num + i_haiso_shka_sji_num));
						
						//予備機器配送指示数
						long ybkkhai_sji_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.YBKKHAI_SJI_NUM_O, String.valueOf(ybkkhai_sji_num + i_ybkkhai_sji_num));
						
						//棚移動指示数
						long slf_mv_sji_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.SLF_MV_SJI_NUM_O, String.valueOf(slf_mv_sji_num + i_slf_mv_sji_num));
						
						//予備機器配送中数
						long ybkkhai_chu_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.YBKKHAI_CHU_NUM_O, String.valueOf(ybkkhai_chu_num + i_ybkkhai_chu_num));
						
						//当日入荷数
						long tjitu_nyuka_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.TJITU_NYUKA_NUM_O, String.valueOf(tjitu_nyuka_num + i_tjitu_nyuka_num));
						
						//当日配送出荷数
						long tjitu_haiso_shka_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.TJITU_HAISO_SHKA_NUM_O, String.valueOf(tjitu_haiso_shka_num + i_tjitu_haiso_shka_num));
						
						//当日解約撤去返品数
						long tjitu_dsl_tk_hmpin_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.TJITU_DSL_TK_HMPIN_NUM_O, String.valueOf(tjitu_dsl_tk_hmpin_num + i_tjitu_dsl_tk_hmpin_num));
						
						//当日故障交換返品数
						long tjitu_trb_kokan_hmpin_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.TJITU_TRB_KOKAN_HMPIN_NUM_O, String.valueOf(tjitu_trb_kokan_hmpin_num + i_tjitu_trb_kokan_hmpin_num));
						
						//棚移動入荷完了数
						long slf_mv_nyuka_fin_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.SLF_MV_NYUKA_FIN_NUM_O, String.valueOf(slf_mv_nyuka_fin_num + i_slf_mv_nyuka_fin_num));
						
						//棚移動出荷完了数
						long slf_mv_shka_fin_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.SLF_MV_SHKA_FIN_NUM_O, String.valueOf(slf_mv_shka_fin_num + i_slf_mv_shka_fin_num));
						
						//予備機器出荷完了数
						long yobi_kkshka_fin_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.YOBI_KKSHKA_FIN_NUM_O, String.valueOf(yobi_kkshka_fin_num + i_yobi_kkshka_fin_num));
						
						//計画外入荷数
						long pln_gai_nyuka_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.PLN_GAI_NYUKA_NUM_O, String.valueOf(pln_gai_nyuka_num + i_pln_gai_nyuka_num));
						
						//計画外出荷数
						long pln_gai_shka_num = rs.getLong(columnnumOut++);
						data.put(EKKA0020504CBSMsg1List.PLN_GAI_SHKA_NUM_O, String.valueOf(pln_gai_shka_num + i_pln_gai_shka_num));
						
						//引き継ぎのためInput情報の転記
						data.put(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SKBT_CD, key_knri_plc_skbt_cd);
						data.put(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_CD, key_knri_plc_cd);
						data.put(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SLF_CD, key_knri_plc_slf_cd);
						data.put(EKKA0020504CBSMsg1List.KEY_TK_MDL_CD, key_tk_mdl_cd);
						
						data.put(EKKA0020504CBSMsg1List.JZAIKO_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.JZAIKO_NUM));
						data.put(EKKA0020504CBSMsg1List.HAISO_UK_JUCHU_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.HAISO_UK_JUCHU_NUM));
						data.put(EKKA0020504CBSMsg1List.HAISO_SHKA_SJI_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.HAISO_SHKA_SJI_NUM));
						data.put(EKKA0020504CBSMsg1List.YBKKHAI_SJI_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.YBKKHAI_SJI_NUM));
						data.put(EKKA0020504CBSMsg1List.SLF_MV_SJI_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_SJI_NUM));
						data.put(EKKA0020504CBSMsg1List.YBKKHAI_CHU_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.YBKKHAI_CHU_NUM));
						data.put(EKKA0020504CBSMsg1List.TJITU_NYUKA_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_NYUKA_NUM));
						data.put(EKKA0020504CBSMsg1List.TJITU_HAISO_SHKA_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_HAISO_SHKA_NUM));
						data.put(EKKA0020504CBSMsg1List.TJITU_DSL_TK_HMPIN_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_DSL_TK_HMPIN_NUM));
						data.put(EKKA0020504CBSMsg1List.TJITU_TRB_KOKAN_HMPIN_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.TJITU_TRB_KOKAN_HMPIN_NUM));
						data.put(EKKA0020504CBSMsg1List.SLF_MV_NYUKA_FIN_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_NYUKA_FIN_NUM));
						data.put(EKKA0020504CBSMsg1List.SLF_MV_SHKA_FIN_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.SLF_MV_SHKA_FIN_NUM));
						data.put(EKKA0020504CBSMsg1List.YOBI_KKSHKA_FIN_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.YOBI_KKSHKA_FIN_NUM));
						data.put(EKKA0020504CBSMsg1List.PLN_GAI_NYUKA_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.PLN_GAI_NYUKA_NUM));
						data.put(EKKA0020504CBSMsg1List.PLN_GAI_SHKA_NUM, serviceMapList.get(EKKA0020504CBSMsg1List.PLN_GAI_SHKA_NUM));
						
						// 更新処理の実施
						ctrlTnInfo_KKA0009_2(data);
						
						retlist.add(data);
						
					}
				}
				finally
				{
					if(prstmt != null)
					{
						prstmt.close();
					}
// OM-2017-0000488 2017/05/29 ADD START
					if(rs != null)
					{
						rs.close();
					}
// OM-2017-0000488 2017/05/29 ADD END
				}
			}
		}
		ret.put(EKKA0020504CBSMsg.EKKA0020504CBSMSG1LIST, retlist);
		
		return ret;
	}
	
	
	/**
	 * コマンド発行部品
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 */
	private void ctrlTnInfo_KKA0009_2(Hashtable serviceMap)  throws Exception{
		
		// Stub用ＳＱＬ実行（ＪＤＢＣ）を行う。
		PreparedStatement prstmt = null;
		StringBuffer sql = new StringBuffer();

		int columnnum = 1;
		
		//ＫＥＹ＿管理場所識別コード
		String key_knri_plc_skbt_cd = (String)serviceMap.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SKBT_CD);
		
		//ＫＥＹ＿管理場所コード
		String key_knri_plc_cd = (String)serviceMap.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_CD);
		
		//ＫＥＹ＿管理場所棚コード
		String key_knri_plc_slf_cd = (String)serviceMap.get(EKKA0020504CBSMsg1List.KEY_KNRI_PLC_SLF_CD);
		
		//ＫＥＹ＿宅内機器型式コード
		String key_tk_mdl_cd = (String)serviceMap.get(EKKA0020504CBSMsg1List.KEY_TK_MDL_CD);
		
		// 参照SQLの実行
		sql.append(SQL_UPDATE_0009_2);
		try 
		{
			prstmt = this.connection.prepareStatement(sql.toString());
			
			//実在庫数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.JZAIKO_NUM_O));
			columnnum++;
			
			//配送受付（受注）数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.HAISO_UK_JUCHU_NUM_O));
			columnnum++;
			
			//配送出荷指示数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.HAISO_SHKA_SJI_NUM_O));
			columnnum++;
			
			//予備機器配送指示数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.YBKKHAI_SJI_NUM_O));
			columnnum++;
			
			//棚移動指示数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.SLF_MV_SJI_NUM_O));
			columnnum++;
			
			//予備機器配送中数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.YBKKHAI_CHU_NUM_O));
			columnnum++;
			
			//当日入荷数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.TJITU_NYUKA_NUM_O));
			columnnum++;
			
			//当日配送出荷数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.TJITU_HAISO_SHKA_NUM_O));
			columnnum++;
			
			//当日解約撤去返品数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.TJITU_DSL_TK_HMPIN_NUM_O));
			columnnum++;
			
			//当日故障交換返品数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.TJITU_TRB_KOKAN_HMPIN_NUM_O));
			columnnum++;
			
			//棚移動入荷完了数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.SLF_MV_NYUKA_FIN_NUM_O));
			columnnum++;
			
			//棚移動出荷完了数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.SLF_MV_SHKA_FIN_NUM_O));
			columnnum++;
			
			//予備機器出荷完了数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.YOBI_KKSHKA_FIN_NUM_O));
			columnnum++;
			
			//計画外入荷数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.PLN_GAI_NYUKA_NUM_O));
			columnnum++;
			
			//計画外出荷数
			prstmt.setString(columnnum, (String)serviceMap.get(EKKA0020504CBSMsg1List.PLN_GAI_SHKA_NUM_O));
			columnnum++;
			
			
			//ＫＥＹ＿管理場所識別コード
			prstmt.setString(columnnum, key_knri_plc_skbt_cd);
			columnnum++;
			//ＫＥＹ＿管理場所コード
			prstmt.setString(columnnum, key_knri_plc_cd);
			columnnum++;
			//ＫＥＹ＿管理場所棚コード
			prstmt.setString(columnnum, key_knri_plc_slf_cd);
			columnnum++;
			//ＫＥＹ＿宅内機器型式コード
			prstmt.setString(columnnum, key_tk_mdl_cd);
			columnnum++;
			
			int count = prstmt.executeUpdate();
			
		}
		finally
		{
			if(prstmt != null)
			{
				prstmt.close();
			}
		}
	}

	@Override
	public void setConnection(Connection con) {
		// TODO 自動生成されたメソッドスタブ
		this.connection = con;
		
	}
	public Connection getConnection() {
		return this.connection;
	}


}
