/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbECR0011B150TPDA
*	ソースファイル名：JSYejbECR0011B150TPDA.java
*	作成者			：EK907766
*	日付			：2012年01月14日
*＜機能概要＞
*	SQLFacility
*	テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.ejb.cbs.sqlf;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.model.base.CAANJDBCUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.base.CAANSQLFacility;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateDBAccessHandler;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbm.entity.CR0011ETMsg;
import eo.ejb.cbs.cbsmsg.ECR0011B150CBSMsg;
import eo.ejb.cbs.cbsmsg.ECR0011B150CBSMsg1List;
import eo.ejb.common.JCRModelCommon;

/**
*
*  テンプレートDBアクセス部品　ECR0011B150_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbECR0011B150TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{
	/**
	 * SELECT句
	 */
	private final static String SELECT_ITEMS = 
		// 対応記録番号
		"CR0011.TAIO_KIROK_NO..:" +
		// 対応記録内訳番号
		"CR0031.TAIO_KIROK_UCWK_NO..:" +
		// 対応開始年月日時分秒
		"CR0011.TAIO_STA_DTM..:" +
		// 対応完了年月日時分秒
		"CR0011.TAIO_FIN_DTM..:" +
		// 対応期間
		"CR0011.TOTAL_TRAN_TIME..:" +
		// 対応クローズ年月日時分秒
		"CR0011.LAST_END_DTM..:" +
		// 対応クローズ再開年月日時分秒
		"CR0011.LAST_SKAI_DTM..:" +
		// 登録オペレータアカウント
		"CR0011.ADD_OPEACNT..:" +
		// 対応ユーザーID
		"CR0011.TAIO_USER_ID..:" +
		// 問合せ状態コード
		// 問合せ状態コード名称
		"CR0011.TOIAWASE_STAT_CD.CD00229.:" +
		// 対応記録ステータス
		// 対応記録ステータス名称
		"CR0011.TAIO_KIROK_STAT.CD00230.:" +
		// 問合せ受付種別コード
		// 問合せ受付種別コード名称
		"CR0011.TOIAWASE_UK_SBT_CD.CD00233.:" +
		// キューBOX番号
		"CR0011.QUE_BOX_NO..:" +
		// キューBOX名
		"CR0111.QUE_BOX_NM..:" +
		// タイトル
		"CR0011.TITLE..:" +
		// コールバック希望年月日
		"CR0011.CALLBK_KIBO_YMD..:" +
		// コールバック希望時間
		"CR0011.CALLBK_KIBO_TIME..:" +
		// コールバック時間指定タイプコード
		// コールバック時間指定タイプコード名称
		"CR0011.CALLBK_SHITEI_TYPE_CD.CD00457.:" +
		// お客様の声
		"CR0031.CUST_KOE..:" +
		// CSRの声
		"CR0031.CSR_KOE..:" +
		// お客様ランクコード
		// お客様ランクコード名称
		"CK0011.CUST_RANK_CD.CD00267.:" +
		// 問合せ客お客様ランクコード
		// 問合せ客お客様ランクコード名称
		"CK0051.CUST_RANK_CD.CD00267.PROSCST_CUST_RANK_CD:" +
		// 問合せ客番号
		"CR0011.PROSCST_NO..:" +
		// サービス契約番号
		"CR0011.SVC_KEI_NO..:" +
		// PPP認証ID
		"KK0111.PPP_NINSHO_ID..:" +
		// ADSL認証ID
		"KK0221.ADSL_NINSHO_ID..:" +
		// ISP認証ID
		"KK0171.ISP_NINSHO_ID..:" +
		// UQ認証ID
		"KK0201.UQ_NINSHO_ID..:" +
		// ダイヤルアップ接続用認証ID
		"KK0361.DUPCON_NINSHO_ID..:" +
		// マンションID
		"KK0881.MANSION_ID..:" +
		// 申込書番号
		"KK0021.MSKMSHO_NO..:" +
		// お客様特定用申込書番号
		"CK0051.CUST_TOKUT_MSKMSHO_NO..:" +
		// サービス名
		"KK0781.PRC_GRP_NM..:" +
		// 料金プラン名
		"KK0591.PPLAN_NM..:" +
		// サービス開始年月日
		"KK0081.SVC_STA_YMD..:" +
		// SYSID
		"CK0011.SYSID.:" +
		// C#情報適用開始日
		"CK0011.RSV_APLY_YMD..C_RSV_APLY_YMD:" +
		// 契約者郵便番号
		"CK0011.KEISHA_PCD..:" +
		// 問合せ客郵便番号
		"CK0051.PROSCST_PCD..:" +
		// 回線場所郵便番号
		"KK0251.KAISEN_PLACE_PCD..:" +
		// お客様生年月日
		"CK0011.CUST_BIRTHD..:" +
		// 問合せ客生年月日
		"CK0051.PROSCST_BIRTHD..:" +
		// お客様性別コード
		// お客様性別コード名称
		"CK0011.CUST_SEX_CD.CD00245.:" +
		// 問合せ客性別コード
		// 問合せ客性別コード名称
		"CK0051.PROSCST_SEX_CD.CD00245.:" +
		// お客様確認備考
		"CK0011.CUST_CFM_BIKO..:" +
		// 問合せ客補足備考
		"CK0051.PROSCST_HSK_BIKO..:" +
		// 請求契約番号
		"KK0491.SEIKY_KEI_NO..:" +
		// 課金先適用開始年月日
		"KK0321.KAKINS_TSTAYMD..:" +
		// 予約適用年月日
		"KK0491.RSV_APLY_YMD..:";
	
	/**
	 * コンストラクタ
	 */
	public JSYejbECR0011B150TPDA()	{
	}
	
	/**
	*   ECR0011B150_SQLF<br>
	*   @param inMsg    入力値の格納されたCBSMsg <br>
	*   @return void
	*/
	public void invoke(CAANMsg inMsg,AgentDispatchContext inContext){
		
		// コネクション
		Connection con1 = null;
		
		// プリペアステートメント
		PreparedStatement pstmt = null;
		
		// リザルトセット
		ResultSet rsltQuery = null;
		
		/******************** 
		 * SQL文の作成
		 ********************/

		try{
			//--------------------------------------------------------------------------------------------------
			// 各項目取得
			//--------------------------------------------------------------------------------------------------
			//スキーマID
			String schma_id = inMsg.getString(ECR0011B150CBSMsg.KEY_SCHMA_ID);
			//クエリ対象項目管理番号
			String query_trgt_kmk_kanri_no = inMsg.getString(ECR0011B150CBSMsg.KEY_QUERY_TRGT_KMK_KANRI_NO);
			//クエリ項目番号
			String query_kmk_no = inMsg.getString(ECR0011B150CBSMsg.KEY_QUERY_KMK_NO);
			//クエリ項目名
			String query_kmk_nm = inMsg.getString(ECR0011B150CBSMsg.KEY_QUERY_KMK_NM);
			//フィールド名
			String field_nm = inMsg.getString(ECR0011B150CBSMsg.KEY_FIELD_NM);
			//フィールドタイプコード
			String field_type_cd = inMsg.getString(ECR0011B150CBSMsg.KEY_FIELD_TYPE_CD);
			//クエリ条件コード
			String query_joken_cd = inMsg.getString(ECR0011B150CBSMsg.KEY_QUERY_JOKEN_CD);
			//クエリ値コード
			String query_value = inMsg.getString(ECR0011B150CBSMsg.KEY_QUERY_VALUE);
			//OR条件有無
			String or_joken_um = inMsg.getString(ECR0011B150CBSMsg.KEY_OR_JOKEN_UM);
			//基準年月日
			String base_ymd = inMsg.getString(ECR0011B150CBSMsg.KEY_BASE_YMD);
			
			//コネクション取得
			con1 = JSYejbConnection.getConnection(CR0011ETMsg.getTableName());
			
			//--------------------------------------------------------------------------------------------------
			// SQL文_基本部1
			//--------------------------------------------------------------------------------------------------
			// 使用部品 No.2 問合せクエリ条件作成部品
			HashMap condition_info_map = JCRModelCommon.createCondtionInfo(
																SELECT_ITEMS, schma_id, query_trgt_kmk_kanri_no , query_kmk_no, 
																query_kmk_nm, field_nm, field_type_cd, 
																query_joken_cd, query_value, or_joken_um, 
																base_ymd );
			
			ArrayList<String> selectItemsArray = JCRModelCommon.getAlias(condition_info_map);

			//SQL文作成
			StringBuffer sql_Buff = new StringBuffer();
			
			sql_Buff.append(" SELECT ");

			for (int i = 0; i < selectItemsArray.size(); i++)
			{
				if (i > 0)
				{
					sql_Buff.append(",");
				}
				sql_Buff.append(" EXPORT_TBL." + selectItemsArray.get(i) + " ");
			}

			// 対応記録履歴
			sql_Buff.append(", ( SELECT ")
			.append(" CR0011_TR.TAIO_KIROK_RIREKI ")
			.append("FROM ")
			.append(" CR_T_TAIO_KIROK CR0011_TR ")
			.append("WHERE ")
			.append(" CR0011_TR.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO) ");

			//資料分類コード
			sql_Buff.append(", ( SELECT ")
					.append(" TBL.ATICLE_BUNRUI_CD ")
					.append("FROM ")
					.append("( SELECT ")
					.append("row_number() over(partition by CR0011_SH.TAIO_KIROK_NO order by CR0041_SH.ATICLE_SOHU_NO desc,CR0431_SH.ATICLE_NO) RN , ")
					.append("  CR0011_SH.TAIO_KIROK_NO, ")
					.append("  CR0041_SH.ATICLE_SOHU_NO, ")
					.append("  CR0431_SH.ATICLE_NO, ")
					.append("  CR0051_SH.ATICLE_BUNRUI_CD ")
					.append(" FROM ")
					.append("  CR_T_TAIO_KIROK CR0011_SH ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH ON(CR0011_SH.TAIO_KIROK_NO = CR0041_SH.TAIO_KIROK_NO AND CR0041_SH.MK_FLG = '0') ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU_KRK CR0431_SH ON(CR0041_SH.TAIO_KIROK_NO = CR0431_SH.TAIO_KIROK_NO AND CR0041_SH.ATICLE_SOHU_NO = CR0431_SH.ATICLE_SOHU_NO AND CR0431_SH.MK_FLG = '0')") 
					.append("  LEFT OUTER JOIN CR_M_ATICLE CR0051_SH ON(CR0431_SH.ATICLE_NO = CR0051_SH.ATICLE_NO AND CR0051_SH.MK_FLG = '0') ")
					.append(") TBL ")
					.append("WHERE ")
					.append(" TBL.RN = 1 AND TBL.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO) ");
			//資料分類名
			sql_Buff.append(", ( SELECT ")
					.append(" TBL1.ATICLE_BUNRUI_CD_NM ")
					.append("FROM ")
					.append("( SELECT ")
					.append("row_number() over(partition by CR0011_SH1.TAIO_KIROK_NO order by CR0041_SH1.ATICLE_SOHU_NO desc,CR0431_SH1.ATICLE_NO) RN , ")
					.append("  CR0011_SH1.TAIO_KIROK_NO, ")
					.append("  CR0041_SH1.ATICLE_SOHU_NO, ")
					.append("  CR0431_SH1.ATICLE_NO, ")
					.append("  CR0051_SH1.ATICLE_BUNRUI_CD, ")
					.append("  ( SELECT ZM0171_SH1.CD_DIV_NM ")
					.append("   FROM ZM_M_CD_NM_KANRI ZM0171_SH1 ")
					.append("   WHERE ZM0171_SH1.CD_SBT_CD = 'CD00360' AND ZM0171_SH1.CD_DIV = CR0051_SH1.ATICLE_BUNRUI_CD AND ZM0171_SH1.MK_FLG = '0' ")
					.append("  ) ATICLE_BUNRUI_CD_NM ")
					.append(" FROM ")
					.append("  CR_T_TAIO_KIROK CR0011_SH1 ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH1 ON(CR0011_SH1.TAIO_KIROK_NO = CR0041_SH1.TAIO_KIROK_NO AND CR0041_SH1.MK_FLG = '0') ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU_KRK CR0431_SH1 ON(CR0041_SH1.TAIO_KIROK_NO = CR0431_SH1.TAIO_KIROK_NO AND CR0041_SH1.ATICLE_SOHU_NO = CR0431_SH1.ATICLE_SOHU_NO AND CR0431_SH1.MK_FLG = '0')") 
					.append("  LEFT OUTER JOIN CR_M_ATICLE CR0051_SH1 ON(CR0431_SH1.ATICLE_NO = CR0051_SH1.ATICLE_NO AND CR0051_SH1.MK_FLG = '0') ")
					.append(") TBL1 ")
					.append("WHERE ")
					.append(" TBL1.RN = 1 AND TBL1.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO) ");
			//資料名
			sql_Buff.append(", (SELECT ")
					.append(" TBL2.ATICLE_NM ")
					.append("FROM ")
					.append("( SELECT ")
					.append("  row_number() over(partition by CR0011_SH2.TAIO_KIROK_NO order by CR0041_SH2.ATICLE_SOHU_NO desc,CR0431_SH2.ATICLE_NO) RN , ")
					.append("  CR0011_SH2.TAIO_KIROK_NO, ")
					.append("  CR0041_SH2.ATICLE_SOHU_NO, ")
					.append("  CR0431_SH2.ATICLE_NO, ")
					.append("  CR0051_SH2.ATICLE_NM ")
					.append(" FROM ")
					.append("  CR_T_TAIO_KIROK CR0011_SH2 ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH2 ON(CR0011_SH2.TAIO_KIROK_NO = CR0041_SH2.TAIO_KIROK_NO AND CR0041_SH2.MK_FLG = '0') ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU_KRK CR0431_SH2 ON(CR0041_SH2.TAIO_KIROK_NO = CR0431_SH2.TAIO_KIROK_NO AND CR0041_SH2.ATICLE_SOHU_NO = CR0431_SH2.ATICLE_SOHU_NO AND CR0431_SH2.MK_FLG = '0')") 
					.append("  LEFT OUTER JOIN CR_M_ATICLE CR0051_SH2 ON(CR0431_SH2.ATICLE_NO = CR0051_SH2.ATICLE_NO AND CR0051_SH2.MK_FLG = '0') ")
					.append(") TBL2 ")
					.append("WHERE ")
					.append(" TBL2.RN = 1 AND TBL2.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO) ");
			//送付担当者 ユーザーID
			sql_Buff.append(", ( SELECT ")
					.append("  TBL3.SOHU_UK_USER_ID ")
					.append(" FROM ")
					.append("( SELECT ")
					.append("  row_number() over(partition by CR0011_SH3.TAIO_KIROK_NO order by CR0041_SH3.ATICLE_SOHU_NO desc) RN , ")
					.append("  CR0011_SH3.TAIO_KIROK_NO, ")
					.append("  CR0041_SH3.ATICLE_SOHU_NO, ")
					.append("  CR0041_SH3.SOHU_UK_USER_ID ")
					.append("  FROM ")
					.append("  CR_T_TAIO_KIROK CR0011_SH3 ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH3 ON(CR0011_SH3.TAIO_KIROK_NO = CR0041_SH3.TAIO_KIROK_NO AND CR0041_SH3.MK_FLG = '0') ")
					.append(") TBL3 ")
					.append("WHERE ")
					.append("  TBL3.RN = 1 AND TBL3.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO ) ");
			//送付担当者 ユーザ名
			sql_Buff.append(", ( SELECT ")
					.append("  TBL4.SOHU_UK_USER_NM ")
					.append(" FROM ")
					.append("( SELECT ")
					.append("  row_number() over(partition by CR0011_SH4.TAIO_KIROK_NO order by CR0041_SH4.ATICLE_SOHU_NO desc) RN , ")
					.append("  CR0011_SH4.TAIO_KIROK_NO, ")
					.append("  CR0041_SH4.ATICLE_SOHU_NO, ")
					.append("  (SELECT ZM0051.USER_NM FROM ZM_M_USER ZM0051 WHERE ZM0051.USER_ID = CR0041_SH4.SOHU_UK_USER_ID) SOHU_UK_USER_NM ")
					.append("  FROM ")
					.append("  CR_T_TAIO_KIROK CR0011_SH4 ")
					.append("  LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH4 ON(CR0011_SH4.TAIO_KIROK_NO = CR0041_SH4.TAIO_KIROK_NO AND CR0041_SH4.MK_FLG = '0') ")
					.append(") TBL4 ")
					.append("WHERE ")
					.append("  TBL4.RN = 1 AND TBL4.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO ) ");
			//送付元部署番号
			sql_Buff.append(", ( SELECT ")
					.append("  TBL5.WKKBT_ORG_CD ")
					.append(" FROM ")
					.append("( SELECT ")
					.append("  row_number() over(partition by HTG.USER_ID order by WKKBT.WKKBT_ORG_CD desc) RN , ")
					.append("  HTG.USER_ID, ")
					.append("  WKKBT.WKKBT_ORG_CD ")
					.append("  FROM ")
					.append("  ZM_M_USER_HTG_KGGRP HTG ")
					.append("  INNER JOIN ZM_M_AUTHORITY_GRP GRP ON (HTG.KGGRP_CD = GRP.KGGRP_CD AND GRP.AUTHORITY_APLY_ORG_SBT_CD = '02' AND GRP.MK_FLG = '0') ")
					.append("  INNER JOIN ZM_M_WKKBT_ORG WKKBT ON (GRP.WKKBT_ORG_CD = WKKBT.WKKBT_ORG_CD AND WKKBT.MK_FLG = '0') ")
					.append(") TBL5 ")
					.append("WHERE ")
					.append("  TBL5.RN = 1 AND TBL5.USER_ID =  ")
					.append("( SELECT ")
					.append("  TBL6.SOHU_UK_USER_ID ")
					.append(" FROM ")
					.append("  ( SELECT ")
					.append("    row_number() over(partition by CR0011_SH3.TAIO_KIROK_NO order by CR0041_SH3.ATICLE_SOHU_NO desc) RN , ")
					.append("    CR0011_SH3.TAIO_KIROK_NO, ")
					.append("    CR0041_SH3.ATICLE_SOHU_NO, ")
					.append("    CR0041_SH3.SOHU_UK_USER_ID ")
					.append("   FROM ")
					.append("    CR_T_TAIO_KIROK CR0011_SH3 ")
					.append("    LEFT OUTER JOIN CR_T_ATICLE_SOHU CR0041_SH3 ON(CR0011_SH3.TAIO_KIROK_NO = CR0041_SH3.TAIO_KIROK_NO AND CR0041_SH3.MK_FLG = '0') ")
					.append("  ) TBL6 ")
					.append(" WHERE ")
					.append("   TBL6.RN = 1 AND TBL6.TAIO_KIROK_NO = EXPORT_TBL.TAIO_KIROK_NO )) ");
			//ワークグループ番号
			sql_Buff.append(", (SELECT ")
					.append("    ZM0151.WKKBT_ORG_CD ")
					.append(" FROM")
					.append("    CR_T_TAIOKRK_UW_CTGR CR0201 INNER JOIN ZM_M_WKKBT_ORG ZM0151 ON (CR0201.TAIOKRK_UW_CTGR_NM = ZM0151.WKKBT_ORG_NM AND ")
					.append("                                                                     ZM0151.AUTHORITY_APLY_ORG_SBT_CD = '02' AND ")
					.append("                                                                     ZM0151.MK_FLG = '0') ")
					.append(" WHERE")
					.append("    EXPORT_TBL.TAIO_KIROK_NO = CR0201.TAIO_KIROK_NO AND EXPORT_TBL.TAIO_KIROK_UCWK_NO = CR0201.TAIO_KIROK_UCWK_NO AND")
					.append("    CR0201.MK_FLG = '0' AND CR0201.TAIOKRK_UW_CTGR_LV = '001') ");
			//カテゴリー レベル1からレベル11
			for(int iCnt = 0;iCnt < 11;iCnt++)
			{
				sql_Buff.append(",( SELECT ")
						.append("  CR0201.TAIOKRK_UW_CTGR_NM ")
						.append(" FROM ")
						.append("  CR_T_TAIOKRK_UW_CTGR CR0201 ")
						.append(" WHERE ")
						.append("  EXPORT_TBL.TAIO_KIROK_NO = CR0201.TAIO_KIROK_NO AND EXPORT_TBL.TAIO_KIROK_UCWK_NO = CR0201.TAIO_KIROK_UCWK_NO AND CR0201.MK_FLG = '0' AND ")
						.append("  CR0201.TAIOKRK_UW_CTGR_LV = ? ) ");
			}

			sql_Buff.append(" FROM ");
			sql_Buff.append(" ( ");

			//SELECT句
			sql_Buff.append(" SELECT DISTINCT");
			// 使用部品 No.3 出力項目取得
			sql_Buff.append(JCRModelCommon.getSelectItems(condition_info_map));

			//FROM句
			sql_Buff.append(" FROM ");
			// 使用部品 No.4 テーブル結合条件取得
			sql_Buff.append(JCRModelCommon.getJoinCondtion(condition_info_map));
			//--------------------------------------------------------------------------------------------------
			// SQL文_個別部1
			//--------------------------------------------------------------------------------------------------
			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getObject(ECR0011B150CBSMsg.FUNC_CODE).toString() ) ) {
				//WHERE句
 				sql_Buff.append(" WHERE ");
				// 使用部品 No.5 個別条件取得
 				sql_Buff.append(JCRModelCommon.getCondtion(condition_info_map));
 				//対応開始年月日 FROM
 				sql_Buff.append(" AND CR0011.TAIO_STA_DTM >= ?");
 				//対応開始年月日 TO
 				sql_Buff.append(" AND CR0011.TAIO_STA_DTM <= ?");
 				//無効フラグ
 				sql_Buff.append(" AND CR0011.MK_FLG = '0'");
			}
			sql_Buff.append(" ) EXPORT_TBL ");

			//ソート
			sql_Buff.append("ORDER BY EXPORT_TBL.TAIO_KIROK_NO DESC, EXPORT_TBL.TAIO_KIROK_UCWK_NO DESC");
			
			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());
			
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ( JPCModelConstant.FUNC_CD_1.equals( inMsg.getString(ECR0011B150CBSMsg.FUNC_CODE) ) ) 
			{
				// カテゴリーレベル 1
				CAANJDBCUtil.setParam(pstmt, 1, "001");
				// カテゴリーレベル 2
				CAANJDBCUtil.setParam(pstmt, 2, "002");
				// カテゴリーレベル 3
				CAANJDBCUtil.setParam(pstmt, 3, "003");
				// カテゴリーレベル 4
				CAANJDBCUtil.setParam(pstmt, 4, "004");
				// カテゴリーレベル 5
				CAANJDBCUtil.setParam(pstmt, 5, "005");
				// カテゴリーレベル 6
				CAANJDBCUtil.setParam(pstmt, 6, "006");
				// カテゴリーレベル 7
				CAANJDBCUtil.setParam(pstmt, 7, "007");
				// カテゴリーレベル 8
				CAANJDBCUtil.setParam(pstmt, 8, "008");
				// カテゴリーレベル 9
				CAANJDBCUtil.setParam(pstmt, 9, "009");
				// カテゴリーレベル 10
				CAANJDBCUtil.setParam(pstmt, 10, "010");
				// カテゴリーレベル 11
				CAANJDBCUtil.setParam(pstmt, 11, "011");
				// パラメータの設定(ＫＥＹ＿対応開始年月日時分秒（ＦＲＯＭ）を指定)
				CAANJDBCUtil.setParam(pstmt, 12, inMsg.getObject(ECR0011B150CBSMsg.KEY_TAIO_STA_DTM_FROM));
				// パラメータの設定(ＫＥＹ＿対応開始年月日時分秒（ＴＯ）を指定)
				CAANJDBCUtil.setParam(pstmt, 13, inMsg.getObject(ECR0011B150CBSMsg.KEY_TAIO_STA_DTM_TO));
			}
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();
			
			// ECR0011B150CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  ECR0011B150CBSMsg1List.TAIO_KIROK_NO
					, ECR0011B150CBSMsg1List.TAIO_KIROK_UCWK_NO
					, ECR0011B150CBSMsg1List.TAIO_STA_DTM
					, ECR0011B150CBSMsg1List.TAIO_FIN_DTM
					, ECR0011B150CBSMsg1List.TOTAL_TRAN_TIME
					, ECR0011B150CBSMsg1List.LAST_END_DTM
					, ECR0011B150CBSMsg1List.LAST_SKAI_DTM
					, ECR0011B150CBSMsg1List.ADD_OPEACNT
					, ECR0011B150CBSMsg1List.TAIO_USER_ID
					, ECR0011B150CBSMsg1List.TOIAWASE_STAT_CD
					, ECR0011B150CBSMsg1List.TOIAWASE_STAT_CD_NM
					, ECR0011B150CBSMsg1List.TAIO_KIROK_STAT
					, ECR0011B150CBSMsg1List.TAIO_KIROK_STAT_NM
					, ECR0011B150CBSMsg1List.TOIAWASE_UK_SBT_CD
					, ECR0011B150CBSMsg1List.TOIAWASE_UK_SBT_CD_NM
					, ECR0011B150CBSMsg1List.QUE_BOX_NO
					, ECR0011B150CBSMsg1List.QUE_BOX_NM
					, ECR0011B150CBSMsg1List.TITLE
					, ECR0011B150CBSMsg1List.CALLBK_KIBO_YMD
					, ECR0011B150CBSMsg1List.CALLBK_KIBO_TIME
					, ECR0011B150CBSMsg1List.CALLBK_SHITEI_TYPE_CD
					, ECR0011B150CBSMsg1List.CALLBK_SHITEI_TYPE_CD_NM
					, ECR0011B150CBSMsg1List.CUST_KOE
					, ECR0011B150CBSMsg1List.CSR_KOE
					, ECR0011B150CBSMsg1List.CUST_RANK_CD
					, ECR0011B150CBSMsg1List.CUST_RANK_CD_NM
					, ECR0011B150CBSMsg1List.PROSCST_CUST_RANK_CD
					, ECR0011B150CBSMsg1List.PROSCST_CUST_RANK_CD_NM
					, ECR0011B150CBSMsg1List.PROSCST_NO
					, ECR0011B150CBSMsg1List.SVC_KEI_NO
					, ECR0011B150CBSMsg1List.PPP_NINSHO_ID
					, ECR0011B150CBSMsg1List.ADSL_NINSHO_ID
					, ECR0011B150CBSMsg1List.ISP_NINSHO_ID
					, ECR0011B150CBSMsg1List.UQ_NINSHO_ID
					, ECR0011B150CBSMsg1List.DUPCON_NINSHO_ID
					, ECR0011B150CBSMsg1List.MANSION_ID
					, ECR0011B150CBSMsg1List.MSKMSHO_NO
					, ECR0011B150CBSMsg1List.CUST_TOKUT_MSKMSHO_NO
					, ECR0011B150CBSMsg1List.SVC_NM
					, ECR0011B150CBSMsg1List.PPLAN_NM
					, ECR0011B150CBSMsg1List.SVC_STA_YMD
					, ECR0011B150CBSMsg1List.SYSID
					, ECR0011B150CBSMsg1List.C_RSV_APLY_YMD
					, ECR0011B150CBSMsg1List.KEISHA_PCD
					, ECR0011B150CBSMsg1List.PROSCST_PCD
					, ECR0011B150CBSMsg1List.KAISEN_PLACE_PCD
					, ECR0011B150CBSMsg1List.CUST_BIRTHD
					, ECR0011B150CBSMsg1List.PROSCST_BIRTHD
					, ECR0011B150CBSMsg1List.CUST_SEX_CD
					, ECR0011B150CBSMsg1List.CUST_SEX_CD_NM
					, ECR0011B150CBSMsg1List.PROSCST_SEX_CD
					, ECR0011B150CBSMsg1List.PROSCST_SEX_CD_NM
					, ECR0011B150CBSMsg1List.CUST_CFM_BIKO
					, ECR0011B150CBSMsg1List.PROSCST_HSK_BIKO
					, ECR0011B150CBSMsg1List.SEIKY_KEI_NO
					, ECR0011B150CBSMsg1List.KAKINS_TSTAYMD
					, ECR0011B150CBSMsg1List.RSV_APLY_YMD
					, ECR0011B150CBSMsg1List.TAIO_KIROK_RIREKI
					, ECR0011B150CBSMsg1List.ATICLE_BUNRUI_CD
					, ECR0011B150CBSMsg1List.ATICLE_BUNRUI_CD_NM
					, ECR0011B150CBSMsg1List.ATICLE_NM
					, ECR0011B150CBSMsg1List.SOHU_UK_USER_ID
					, ECR0011B150CBSMsg1List.SOHU_UK_USER_ID_NM
					, ECR0011B150CBSMsg1List.SIRYOSOFU_GRP_NO
					, ECR0011B150CBSMsg1List.WKKBT_ORG_CD
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV1_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV2_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV3_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV4_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV5_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV6_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV7_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV8_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV9_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV10_NM
					, ECR0011B150CBSMsg1List.TAIOKRK_UW_CTGE_LV11_NM
			};

			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery,msgKeyList1,"eo.ejb.cbs.cbsmsg.ECR0011B150CBSMsg1List",0);
			//検索件数のセット
			inMsg.set( ECR0011B150CBSMsg.TOTAL_SEARCH_NUM, String.valueOf( outMsg1.length ));
			//0件の場合のエラーフラグセット
			if ( outMsg1.length == 0 ) {
				inMsg.set( ECR0011B150CBSMsg.SEARCH_ERR_FLG , JPCModelConstant.SEARCH_ERR_FLG_ZERO );
			}
			// inMsg(CBSMsg)に明細をセット
			inMsg.set("ECR0011B150CBSMsg1List", outMsg1);
			

		} catch(SQLException e) {
			inMsg.set(ECR0011B150CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
			throw new CAANRuntimeException(e);
		} finally {
			// 資源の解放
			try{
				if(rsltQuery != null){
					rsltQuery.close();
				}
				if(pstmt != null){
					pstmt.close();
				}
				if(con1 != null){
					closeConnection(con1);
				}
			}catch(SQLException e){
				inMsg.set(ECR0011B150CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
	}
}
