/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEKK0341B517TPDA
*	ソースファイル名：JSYejbEKK0341B517TPDA.java
*	作成者			：EK915142
*	日付			：2014年02月05日
*＜機能概要＞
*	機器提供サービス契約一覧照会(接続機器情報)２テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*   v11.00.00   2014/11/14  FJ)米谷     OM-2014-0003315
*   v53.00.00   2021/05/21  FJ)星野    【ANK-4030-00-00】オペレータ支援向けAPI機能変更（2021年6月）
*	v61.00.00	2022/01/31	FJ)永江    【ANK-4315-00-00】【eo定期】 eoホームゲートウェイ導入対応
*   v64.00.00   2023/03/08  FJ)西窪    【OM-2023-0000020】解約SOD送信日に、送信日が空白で表示されている
********************************************************************************/

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 com.fujitsu.futurity.model.base.CAANConnectionMgr;
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.ejb.cbm.entity.KK0341ETMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B517CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B517CBSMsg1List;
import eo.ejb.common.JKKModelCommon;

/**
*
*  テンプレートDBアクセス部品　EKK0341B517_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbEKK0341B517TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{
	
	/**
	 * コンストラクタ
	 */
	public JSYejbEKK0341B517TPDA()	{
	}
	
	/**
	*   EKK0341B517_SQLF<br>
	*   @param inMsg    入力値の格納されたCBSMsg <br>
	*   @return void
	*/
	public void invoke(CAANMsg inMsg,AgentDispatchContext inContext){
		
		// 出力結果
		ArrayList<CAANMsg> outEKK0341B517List = new ArrayList<CAANMsg>();

		// サービス契約番号に紐づく機器提供サービス契約を取得
		CAANMsg[] retMsgKK0341List = getKK0341List(inMsg, inContext);

		for (CAANMsg retMsgKK0341: retMsgKK0341List)
		{
			// 機器提供サービス契約一覧照会(接続機器情報)を取得
			CAANMsg[] retEKK0341B517List = getEKK0341B517List(inMsg, inContext, retMsgKK0341.getString(KK0341ETMsg.KKTK_SVC_KEI_NO),
					retMsgKK0341.getString(KK0341ETMsg.GENE_ADD_DTM));
			for(int i = 0; i < retEKK0341B517List.length; i ++ )
			{
				outEKK0341B517List.add(retEKK0341B517List[i]);
			}
		}
		if (!outEKK0341B517List.isEmpty())
		{
			// inMsg(CBSMsg)に明細をセット
			inMsg.set("EKK0341B517CBSMsg1List", outEKK0341B517List.toArray(new CAANMsg[0]));
		}
	}

	/**
	 * <p>
	 * サービス契約番号に紐づく機器提供サービス契約を取得します。
	 * </p>
	 * @param  inMsg       処理対象のメッセージキャリア
	 * @param  inContext   Agentから渡されたAgentDispatchContext
	 * @param  svcKeiNo    サービス契約番号
	 * @return 実行結果を保持したリスト
	 */
	private CAANMsg[] getKK0341List(CAANMsg inMsg, AgentDispatchContext inContext)
	{
		// コネクション
		Connection con1 = null;
		// プリペアステートメント
		PreparedStatement pstmt = null;
		// リザルトセット
		ResultSet rsltQuery = null;
		
		// パラメータのカウント
		int iPCnt = 1;
		
		// 運用日付
		String opeDate = JKKModelCommon.getOpeDate(inMsg);
		
		//カンマ区切りで設定されているサービス契約番号を分割
		String svcKeiNo = (String)inMsg.getObject(EKK0341B517CBSMsg.KEY_SVC_KEI_NO);
		svcKeiNo = (svcKeiNo == null) ? "" : svcKeiNo;
		String[] svcKeiNoArray = svcKeiNo.split(",");
		
		try
		{
			// 対象テーブルのコネクション取得
			con1 = JSYejbConnection.getConnection(KK0341ETMsg.getTableName());
			// SQL文_基本部1
			StringBuffer sql_Buff = new StringBuffer();
			sql_Buff.append(" SELECT KK0341.KKTK_SVC_KEI_NO ")
					.append("      , KK0341.GENE_ADD_DTM ")
					.append(" FROM   KK_T_KKTK_SVC_KEI KK0341 ");
			// SQL文_個別部1
			if ("1".equals(inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString())
// ANK-4030-00-00対応 20210521 星野 ADD START
				|| "2".equals(inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString())
// ANK-4030-00-00対応 20210521 星野 ADD END
			)
			{
				sql_Buff.append("     INNER JOIN (SELECT ")
						.append("           KK0341_TMP_01.KKTK_SVC_KEI_NO, ")
						.append("           KK0341_TMP_01.GENE_ADD_DTM, ")
						.append("           NULL ")
						.append("       FROM ")
						.append("           KK_T_KKTK_SVC_KEI KK0341_TMP_01 ")
						.append("       WHERE ")
						.append("           KK0341_TMP_01.SVC_KEI_NO IN ( ");
								//サービス契約番号が設定されている個数分バインド変数を作成
								for(int i = 0; i < svcKeiNoArray.length; i++)
								{
									if(i > 0)
									{
										sql_Buff.append(",");
									}
									sql_Buff.append("?");
								}
								
				sql_Buff.append(" ) AND ");
				sql_Buff.append("           (KK0341_TMP_01.KKTK_SVC_KEI_NO, KK0341_TMP_01.KIKI_CHG_NO, KK0341_TMP_01.GENE_ADD_DTM) = (SELECT ")
						.append("               KK0341_GENE_01.KKTK_SVC_KEI_NO, ")
						.append("               KK0341_GENE_01.KIKI_CHG_NO, ")
						.append("               MAX(KK0341_GENE_01.GENE_ADD_DTM) AS KK0341_01_MAX ")
						.append("           FROM ")
						.append("               KK_T_KKTK_SVC_KEI KK0341_GENE_01 ")
						.append("           WHERE ")
						.append("               KK0341_GENE_01.MK_FLG = '0' AND ")
						.append("               KK0341_GENE_01.KKTK_SVC_KEI_NO = KK0341_TMP_01.KKTK_SVC_KEI_NO AND ")
						.append("               KK0341_GENE_01.KIKI_CHG_NO = KK0341_TMP_01.KIKI_CHG_NO ")
						.append("           GROUP BY ")
						.append("               KK0341_GENE_01.KKTK_SVC_KEI_NO, ")
						.append("               KK0341_GENE_01.KIKI_CHG_NO ")
						.append("           ) ")
						.append(" UNION ")
						.append(" SELECT ")
						.append("     KKTK_SVC_KEI_NO, ")
						.append("     GENE_ADD_DTM, ")
						.append("     KKTK_SVC_CD ")
						.append(" FROM ")
						.append(" ( SELECT ")
						.append("         KK0341.KKTK_SVC_KEI_NO , ")
						.append("         KK0341.GENE_ADD_DTM, ")
						.append("         KK0341.KKTK_SVC_CD ")
						.append("     FROM ")
						.append("         KK_T_KKTK_SVC_KEI KK0341 ")
						.append("     WHERE ")
						.append("         (KK0341.KKTK_SVC_KEI_NO, KK0341.KIKI_CHG_NO, KK0341.RSV_APLY_YMD || KK0341.GENE_ADD_DTM) = (SELECT ")
						.append("                KK0341_GENE.KKTK_SVC_KEI_NO, ")
						.append("                KK0341_GENE.KIKI_CHG_NO, ")
						.append("                MAX(KK0341_GENE.RSV_APLY_YMD || KK0341_GENE.GENE_ADD_DTM) ")
						.append("            FROM ")
						.append("                KK_T_KKTK_SVC_KEI KK0341_GENE ")
						.append("            WHERE ")
						.append("                KK0341_GENE.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO AND ")
						.append("                KK0341_GENE.KIKI_CHG_NO = KK0341.KIKI_CHG_NO AND ")
						.append("                KK0341_GENE.MK_FLG = '0' ")
						.append("            GROUP BY ")
						.append("                KK0341_GENE.KKTK_SVC_KEI_NO, ")
						.append("                KK0341_GENE.KIKI_CHG_NO ")
						.append("            ) AND ")
						.append("         EXISTS (SELECT ")
						.append("                    'X' ")
						.append("                 FROM ")
						.append("                    KK_T_KAISEN_TG_SVKEI KK0241_01 ")
						.append("                WHERE ")
						.append("           KK0241_01.SVC_KEI_NO IN ( ");
															//サービス契約番号が設定されている個数分バインド変数を作成
															for(int i = 0; i < svcKeiNoArray.length; i++)
															{
																if(i > 0)
																{
																	sql_Buff.append(",");
																}
																sql_Buff.append("?");
															}
				sql_Buff.append(" ) AND ")
						.append("                    KK0241_01.SVC_KEI_KAISEN_UCWK_NO = KK0341.SVC_KEI_KAISEN_UCWK_NO AND ")
						.append("                    KK0241_01.MK_FLG = '0' ")
						.append("                 ) ")
						.append("     ) KK0341_TMP_04 ")
						.append("     WHERE    EXISTS ")
						.append("        (SELECT * ")
						.append("         FROM   KK_T_SVC_KEI KK0081 ")
						.append("         WHERE ")
						.append("           KK0081.SVC_KEI_NO IN ( ");
															//サービス契約番号が設定されている個数分バインド変数を作成
															for(int i = 0; i < svcKeiNoArray.length; i++)
															{
																if(i > 0)
																{
																	sql_Buff.append(",");
																}
																sql_Buff.append("?");
															}
				sql_Buff.append(" ) ")
						.append("         AND    KK0081.PRC_GRP_CD <> '99' ")
						.append("         AND   (KK0081.SVC_KEI_NO, KK0081.RSV_APLY_YMD || KK0081.GENE_ADD_DTM) = ")
						.append("            (SELECT KK0081_GENE.SVC_KEI_NO, MAX(KK0081_GENE.RSV_APLY_YMD || KK0081_GENE.GENE_ADD_DTM) ")
						.append("             FROM   KK_T_SVC_KEI KK0081_GENE ")
						.append("             WHERE  KK0081_GENE.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
						.append("             AND    KK0081_GENE.RSV_APLY_CD = '2' ")
						.append("             AND    KK0081_GENE.RSV_APLY_YMD <= ? ")
						.append("             AND    KK0081_GENE.MK_FLG = '0' ")
						.append("             GROUP BY KK0081_GENE.SVC_KEI_NO) ")
// ANK-4030-00-00対応 20210521 星野 ADD START
						;
				
				// 回線機器の絞り込み条件は機能コード1のみとし、機能コード2では絞り込みを行わない
				if ("1".equals(inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString()))
				{
					sql_Buff
// ANK-4030-00-00対応 20210521 星野 ADD END
						.append("         AND  ((KK0081.SVC_CD IN ('01', '02') AND ")
						.append("                KK0341_TMP_04.KKTK_SVC_CD <> 'C013') ")
						.append("             OR ")
						.append("               (KK0081.SVC_CD = '03' AND ")
// ANK-4315-00-00 MOD START
//						.append("                KK0341_TMP_04.KKTK_SVC_CD NOT IN ('C012', 'C005', 'C006', 'C008', 'C024')) ")
						.append("                KK0341_TMP_04.KKTK_SVC_CD NOT IN ('C012', 'C005', 'C006', 'C008', 'C024','C025')) ")
// ANK-4315-00-00 MOD END
						.append("             OR ")
						.append("                KK0081.SVC_CD NOT IN ('01', '02', '03') ")
						.append("               ) ")
// ANK-4030-00-00対応 20210521 星野 ADD START
						;
				}
				sql_Buff
	// ANK-4030-00-00対応 20210521 星野 ADD END
						.append("                       ) ")
						.append(" ) KK0341_PK ")
						.append(" ON     KK0341_PK.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
						.append(" AND    KK0341_PK.GENE_ADD_DTM = KK0341.GENE_ADD_DTM ")
						.append(" ORDER BY KK0341.KKTK_SVC_KEI_NO DESC, ")
						.append("          KK0341.KIKI_CHG_NO DESC ");
			}
			
			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());
			
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			
			//機能コード１のパラメータ設定
			if ("1".equals(inMsg.getString(EKK0341B517CBSMsg.FUNC_CODE))
// ANK-4030-00-00対応 20210521 星野 ADD START
				|| "2".equals(inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString())
// ANK-4030-00-00対応 20210521 星野 ADD END
			)
			{
				for(int i = 0 ; i < svcKeiNoArray.length; i++)
				{
					// パラメータの設定(ＫＥＹ＿サービス契約番号)
					CAANJDBCUtil.setParam(pstmt, iPCnt++, svcKeiNoArray[i]);
				}
				
				for(int i = 0 ; i < svcKeiNoArray.length; i++)
				{
					// パラメータの設定(ＫＥＹ＿サービス契約番号)
					CAANJDBCUtil.setParam(pstmt, iPCnt++, svcKeiNoArray[i]);
				}
				
				for(int i = 0 ; i < svcKeiNoArray.length; i++)
				{
					// パラメータの設定(ＫＥＹ＿サービス契約番号)
					CAANJDBCUtil.setParam(pstmt, iPCnt++, svcKeiNoArray[i]);
				}
				
				// パラメータの設定(運用日付を設定)
				CAANJDBCUtil.setParam(pstmt, iPCnt++, opeDate);
			}
			
			
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();

			// 返却用リスト
			ArrayList<CAANMsg> retArray = new ArrayList<CAANMsg>();

			// 取得データの設定
			while (rsltQuery.next())
			{
				CAANMsg retMsg = new CAANMsg(KK0341ETMsg.class.getName());
				retMsg.set(KK0341ETMsg.KKTK_SVC_KEI_NO, rsltQuery.getString(KK0341ETMsg.KKTK_SVC_KEI_NO));
				retMsg.set(KK0341ETMsg.GENE_ADD_DTM, rsltQuery.getString(KK0341ETMsg.GENE_ADD_DTM));
				retArray.add(retMsg);
			}

			return retArray.toArray(new CAANMsg[0]);
		}
		catch(SQLException se)
		{
			throw new CAANRuntimeException(se);
		}
		finally
		{
			// 資源の解放
			try
			{
				if(rsltQuery != null)
				{
					rsltQuery.close();
				}
				if(pstmt != null)
				{
					pstmt.close();
				}
				if(con1 != null)
				{
					CAANConnectionMgr.getInstance().close(con1);
				}
			}
			catch(SQLException se)
			{
				throw new CAANRuntimeException(se);
			}
		}
	}


	/**
	 * <p>
	 * 機器提供サービス契約一覧照会(接続機器情報)を取得します。
	 * </p>
	 * @param  inMsg       処理対象のメッセージキャリア
	 * @param  inContext   Agentから渡されたAgentDispatchContext
	 * @param  kktkSvcKeiNo  機器提供サービス契約番号
	 * @param  geneAddDtm    世代登録年月日時分秒
	 */
	private CAANMsg[]  getEKK0341B517List(CAANMsg inMsg, AgentDispatchContext inContext, String kktkSvcKeiNo, String geneAddDtm)
	{
		
		// コネクション
		Connection con1 = null;
		
		// プリペアステートメント
		PreparedStatement pstmt = null;
		
		// リザルトセット
		ResultSet rsltQuery = null;
		
		// パラメータのカウント
		int iPCnt = 0;

		// 運用日付
		String opeDate = JKKModelCommon.getOpeDate(inMsg);

		/******************** 
		 * SQL文の作成
		 ********************/

		try{
			
			//コネクション取得
			con1 = JSYejbConnection.getConnection(KK0341ETMsg.getTableName());
			
			
			// SQL文_基本部1
			StringBuffer sql_Buff = new StringBuffer();
			sql_Buff.append(" SELECT KK0341.KKTK_SVC_KEI_NO ")
					.append("       ,KK0341.GENE_ADD_DTM ")
					.append("       ,KK0341.KKTK_SVC_KEI_STAT ")
					.append("       ,( SELECT ZM0171_01.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_01 ")
					.append("            WHERE  ZM0171_01.CD_SBT_CD = 'CD00056' ")
					.append("            AND    ZM0171_01.CD_DIV = KK0341.KKTK_SVC_KEI_STAT ")
					.append("            AND    ZM0171_01.MK_FLG = '0' ")
					.append("        ) AS KKTK_SVC_KEI_STAT_NM ")
					.append("       ,KK0341.PCRS_CD ")
					.append("       ,KK0341.KKTK_SBT_CD ")
					.append("       ,( SELECT ZM0171_02.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_02 ")
					.append("            WHERE  ZM0171_02.CD_SBT_CD = 'CD00212' ")
					.append("            AND    ZM0171_02.CD_DIV = KK0341.KKTK_SBT_CD ")
					.append("            AND    ZM0171_02.MK_FLG = '0' ")
					.append("        ) AS KKTK_SBT_CD_NM ")
					.append("       ,KK0341.HAMBAI_SBT_CD ")
					.append("       ,( SELECT ZM0171_03.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_03 ")
					.append("            WHERE  ZM0171_03.CD_SBT_CD = 'CD00348' ")
					.append("            AND    ZM0171_03.CD_DIV = KK0341.HAMBAI_SBT_CD ")
					.append("            AND    ZM0171_03.MK_FLG = '0' ")
					.append("        ) AS HAMBAI_SBT_CD_NM ")
					.append("       ,KK0341.TAKNKIKI_SBT_CD ")
					.append("       ,KK0341.KIKI_SEIZO_NO ")
					.append("       ,KK0341.TAKNKIKI_MODEL_CD ")
					.append("       ,KK0341.TAKNKIKI_SETHIN_MODEL_CD ")
					.append("       ,KK0341.HUZOKUHIN_SBT_CD ")
					.append("       ,KK0341.HUZOKUHIN_MODEL_CD ")
					.append("       ,(SELECT COUNT(*) AS CNT ")
					.append("            FROM   KK_T_WRISVC_TG_KEI KK0481 ")
					.append("            WHERE  KK0481.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
					.append("            AND    KK0481.WRISVC_TG_KEI_TSTAYMD <= ? ")
					.append("            AND    KK0481.WRISVC_TG_KEI_TENDYMD >= ? ")
					.append("            AND    KK0481.MK_FLG = '0' ")
					.append("        ) AS WRIB_CNT ")
					.append("       ,KK0341.SVC_STA_YMD ")
					.append("       ,KK0341.SVC_CHRG_STAYMD ")
					.append("       ,KK0341.SVC_ENDYMD ")
					.append("       ,KK0341.SVC_CHRG_ENDYMD ")
					.append("       ,KK0341.SVC_DSL_YMD ")
					.append("       ,KK0341.KIKI_HKAT_SHITEI_SOKO_CD ")
					.append("       ,(SELECT DK0091_01.SOKO_NM ")
					.append("            FROM   DK_M_SOKO DK0091_01 ")
					.append("            WHERE  DK0091_01.SOKO_CD = KK0341.KIKI_HKAT_SHITEI_SOKO_CD ")
					.append("            AND    DK0091_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_HKAT_SHITEI_SOKO_NM ")
					.append("       ,KK0341.KIKI_HKAT_SHITEI_SKDN_CD ")
					.append("       ,(SELECT DK0101_01.SHELF_NM ")
					.append("           FROM DK_M_SOKODNA DK0101_01 ")
					.append("          WHERE DK0101_01.SOKO_CD = KK0341.KIKI_HKAT_SHITEI_SOKO_CD ")
					.append("            AND DK0101_01.SHELF_CD = KK0341.KIKI_HKAT_SHITEI_SKDN_CD ")
					.append("            AND DK0101_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_HKAT_SHITEI_SKDN_NM ")
					.append("       ,KK0341.KIKI_SOHUS_STATE_NM ")
					.append("       ,KK0341.KIKI_SOHUS_CITY_NM ")
					.append("       ,KK0341.KIKI_SOHUS_OAZTSU_NM ")
					.append("       ,KK0341.KIKI_SOHUS_AZCHO_NM ")
					.append("       ,KK0341.KIKI_SOHUS_BNCHIGO ")
					.append("       ,KK0341.KIKI_SOHUS_ADRTTM ")
					.append("       ,KK0341.KIKI_SOHUS_ADRRM ")
					.append("       ,KK0341.KIKI_STC_SAKI_STATE_NM ")
					.append("       ,KK0341.KIKI_STC_SAKI_CITY_NM ")
					.append("       ,KK0341.KIKI_STC_SAKI_OAZTSU_NM ")
					.append("       ,KK0341.KIKI_STC_SAKI_AZCHO_NM ")
					.append("       ,KK0341.KIKI_STC_SAKI_BNCHIGO ")
					.append("       ,KK0341.KIKI_STC_SAKI_ADRTTM ")
					.append("       ,KK0341.KIKI_STC_SAKI_ADRRM ")
					.append("       ,KK0341.KIKI_SORYO_UM ")
					.append("       ,KK0341.KIKI_SORYO_SAKSEI_YMD ")
					.append("       ,KK0341.KIKI_NINSHO_ID ")
					.append("       ,KK0341.UPD_DTM ")
					.append("       ,DK0301.HMPIN_KURAIRE_YMD ")
					.append("       ,KK1041.STP_SOD_SEND_YMD ")
					.append("       ,DK0171.CUST_SHURI_KOSHO_CD ")
					.append("       ,(SELECT ZM0171_06.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_06 ")
					.append("            WHERE  ZM0171_06.CD_SBT_CD = 'CD00278' ")
					.append("            AND    ZM0171_06.MK_FLG = '0' ")
					.append("            AND    ZM0171_06.CD_DIV = DK0171.CUST_SHURI_KOSHO_CD ")
					.append("        ) AS CUST_SHURI_KOSHO_CD_NM ")
					.append("       ,KK0341.HAISO_DIV ")
					.append("       ,(SELECT ZM0171_07.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_07 ")
					.append("            WHERE  ZM0171_07.CD_SBT_CD = 'CD00020' ")
					.append("            AND    ZM0171_07.CD_DIV = KK0341.HAISO_DIV ")
					.append("            AND    ZM0171_07.MK_FLG = '0' ")
					.append("        ) AS HAISO_DIV_NM ")
					.append("       ,DK0011.HAISO_STAT ")
					.append("       ,(SELECT ZM0171_08.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_08 ")
					.append("            WHERE  ZM0171_08.CD_SBT_CD = 'CD00009' ")
					.append("            AND    ZM0171_08.CD_DIV = DK0011.HAISO_STAT ")
					.append("            AND    ZM0171_08.MK_FLG = '0' ")
					.append("        ) AS HAISO_STAT_NM ")
					.append("       ,DK0021.DENPYO_NO ")
					.append("       ,KK0161.PCRS_CD ")
					.append("       ,( SELECT KK0791.PCRS_NM ")
					.append("          FROM   KK_M_PCRS KK0791 ")
					.append("          WHERE  KK0791.PCRS_CD = KK0161.PCRS_CD ")
					.append("          AND    (KK0791.PCRS_CD, KK0791.RSV_APLY_YMD || KK0791.GENE_ADD_DTM) = ")
					.append("                 ( SELECT KK0791_GENE.PCRS_CD, MAX(KK0791_GENE.RSV_APLY_YMD || KK0791_GENE.GENE_ADD_DTM) AS KK0791_MAX ")
					.append("                   FROM   KK_M_PCRS KK0791_GENE ")
					.append("                   WHERE  KK0791_GENE.PCRS_CD = KK0791.PCRS_CD ")
					.append("                   AND    KK0791_GENE.RSV_APLY_YMD <= ? ")
					.append("                   AND    KK0791_GENE.MK_FLG = '0' ")
					.append("                   GROUP BY KK0791_GENE.PCRS_CD)  ")
					.append("        ) AS PCRS_CD_NM ")
					.append("       ,KK0341.SVC_KEI_UCWK_NO ")
					.append("       ,KK0341.KIKI_HUKA_INFO_CD ")
					.append("       ,KK1041.ODR_SET_NO ")
					.append("       ,DK0301.HMPIN_KIKI_NO ")
					.append("       ,DK0021.HAISO_NO ")
					.append("       ,DK0021.HAISO_TAIBPIN_NO ")
					.append("       ,DK0171.BTRYHOZN_NO ")
					.append("       ,KK0341.KKTK_SVC_CD ")
					.append("       ,KK0341.PPLAN_CD ")
					.append("       ,KK0341.KIKI_CHG_NO ")
					.append("       ,KK0341.HDD_CAPA_CD ")
					.append("       ,KK0341.SVC_KEI_KAISEN_UCWK_NO ")
					.append("       ,KK0341.MSKM_DTL_NO ")
					.append("       ,KK0341.KKTK_SVC_KEI_HKHASYMD ")
					.append("       ,KK0341.KIKI_SOHUS_NM ")
					.append("       ,KK0341.KIKI_SOHUS_PCD ")
					.append("       ,KK0341.KIKI_SOHUS_TELNO ")
					.append("       ,KK0341.HOSHO_CD ")
					.append("       ,KK0341.RSV_APLY_YMD ")
					.append("       ,KK0341.KIKI_CHG_YMD ")
					.append("       ,KK0341.IDO_DIV ")
					.append("       ,KK0341.TAKNKIKI_IDO_CD ")
					.append("       ,KK0341.HAISO_WAY_CD ")
					.append("       ,KK1681.IDO_RSV_NO ")
					.append("       ,KK1681.RSV_APLY_YMD ")
					.append("       ,KK0341_RSV.GENE_ADD_DTM AS GENE_ADD_DTM_RSV ")
					.append("       ,KK0341_RSV.KKTK_SVC_KEI_STAT AS KKTK_SVC_KEI_STAT_RSV ")
					.append("       ,KK0341_RSV.UPD_DTM AS UPD_DTM_RSV ")
					.append("       ,KU0011.KOJIAK_JSSI_YMD ")
					.append("       ,ZM0411.TAKNKIKI_MODEL_NM ")
					.append("       ,ZM0411.OPMS_ROUTER_KIND_CD ")
					.append("       ,DK0011.SHUKKA_YMD ")
					.append("       ,KK0771.KKTK_SVC_NM ")
					.append("       ,KK0341.PLAN_STAYMD ")
					.append("       ,KK0341.PLAN_ENDYMD ")
					.append("       ,KK0341.PLAN_CHRG_STAYMD ")
					.append("       ,KK0341.PLAN_CHRG_ENDYMD ")
					.append("       ,(SELECT ZM0171_09.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_09 ")
					.append("            WHERE  ZM0171_09.CD_SBT_CD = 'CD00576' ")
					.append("            AND    ZM0171_09.CD_DIV = KK0341.IDO_DIV ")
					.append("            AND    ZM0171_09.MK_FLG = '0' ")
					.append("        ) AS IDO_DIV_NM ")
					.append("       ,(SELECT ZM0171_10.CD_DIV_NM ")
					.append("            FROM   ZM_M_CD_NM_KANRI ZM0171_10 ")
					.append("            WHERE  ZM0171_10.CD_SBT_CD = 'CD00002' ")
					.append("            AND    ZM0171_10.CD_DIV = KK0341.KIKI_SORYO_UM ")
					.append("            AND    ZM0171_10.MK_FLG = '0' ")
					.append("        ) AS KIKI_SORYO_UM_NM ")
					.append("       ,KK0341.RSV_CL_YMD ")
					.append("       ,KK1041.ADD_SOD_SEND_YMD ")
					.append("       ,KK1041.UPD_DTM AS UPD_DTM_ODR_SET ")
					.append("       ,KK0341.KIKI_SHS_AD_MAN_INPUT_FLG ")
					.append("       ,KK0341.HAISO_REQ_SHITEI_YMD ")
					.append("       ,KU0141.KOJIAK_TRGT_TAKNKIKI_NO ")
					.append("       ,KU0141.KOJIAK_NO ")
					.append("       ,KK0771.KKTK_SVC_ALI ")
					.append("       ,KK0341.KIKI_STI_JI_KRIPLACE_SKCD ")
					.append("       ,KK0341.KIKI_STI_JI_KOCOMP_CD ")
					.append("       ,KK0341.KIKI_STI_JI_KOCOMP_SLF_CD ")
					.append("       ,KK0341.KIKI_STI_JI_YTKSKOF_CD ")
					.append("       ,KK0341.KIKI_STI_JI_YTKSKOF_SLF_CD ")
					.append("       ,(SELECT ZM0381_01.KOJI_COMP_NM ")
					.append("           FROM ZM_M_KOJI_COMP ZM0381_01 ")
					.append("          WHERE ZM0381_01.KOJI_COMP_CD = KK0341.KIKI_STI_JI_KOCOMP_CD ")
					.append("            AND ZM0381_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_STI_JI_KOCOMP_CD_NM ")
					.append("       ,(SELECT ZM0421_01.KOJI_COMP_SLF_NM ")
					.append("           FROM ZM_M_KOJI_COMP_SLF ZM0421_01 ")
					.append("          WHERE ZM0421_01.KOJI_COMP_CD = KK0341.KIKI_STI_JI_KOCOMP_CD ")
					.append("            AND ZM0421_01.KOJI_COMP_SLF_CD = KK0341.KIKI_STI_JI_KOCOMP_SLF_CD ")
					.append("            AND ZM0421_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_STI_JI_KOCOMP_SLF_CD_NM ")
					.append("       ,(SELECT ZM0391_01.YOTAKU_SAKI_OFFC_NM ")
					.append("           FROM ZM_M_YTK_SK_OFFC ZM0391_01 ")
					.append("          WHERE ZM0391_01.YOTAKU_SAKI_OFFC_CD = KK0341.KIKI_STI_JI_YTKSKOF_CD ")
					.append("            AND ZM0391_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_STI_JI_YTKSKOF_CD_NM ")
					.append("       ,(SELECT ZM0431_01.YOTAKU_SAKI_OFFC_SLF_NM ")
					.append("           FROM ZM_M_YTK_SK_OFFC_SLF ZM0431_01 ")
					.append("          WHERE ZM0431_01.YOTAKU_SAKI_OFFC_CD = KK0341.KIKI_STI_JI_YTKSKOF_CD ")
					.append("            AND ZM0431_01.YOTAKU_SAKI_OFFC_SLF_CD = KK0341.KIKI_STI_JI_YTKSKOF_SLF_CD ")
					.append("            AND ZM0431_01.MK_FLG = '0' ")
					.append("        ) AS KIKI_STI_JI_KOCOMP_SLF_CD_NM ")
					.append("       ,(SELECT ZM0171_11.CD_DIV_NM  ")
					.append("           FROM ZM_M_CD_NM_KANRI ZM0171_11  ")
					.append("          WHERE ZM0171_11.CD_SBT_CD = 'CD00866'  ")
					.append("            AND ZM0171_11.MK_FLG = '0'  ")
					.append("            AND ZM0171_11.CD_DIV = KK0341.KIKI_HUKA_INFO_CD  ")
					.append("        ) AS KIKI_HUKA_INFO_CD_NM  ")
					.append("       ,KK0341.SVC_STA_KISAN_YMD  ")
					.append("       ,KK0341_RSV.KIKI_CHG_NO  ")
					.append("       ,DK0011_02.HAISO_NO  ")
					.append("       ,DK0011_02.HAISO_STAT  ")
// ANK-4030-00-00対応 20210521 星野 ADD START
					.append("       ,KK0341.OYA_KEI_SKBT_CD  ")
// ANK-4030-00-00対応 20210521 星野 ADD END
					.append(" FROM KK_T_KKTK_SVC_KEI KK0341 ")
					.append(" LEFT OUTER JOIN (  ")
// ----- OM-2014-0003315 START -----
					.append("     SELECT DK0021_TMP.HAISO_TAIBPIN_NO,  ")
					.append("            DK0021_TMP.HAISO_NO,  ")
					.append("            DK0021_TMP.KKTK_SVC_KEI_NO,  ")
					.append("            DK0021_TMP.DENPYO_NO,  ")
					.append("            DK0021_TMP.KIKI_CHG_NO  ")
					.append("     FROM (SELECT DK0021_GEN.HAISO_TAIBPIN_NO,  ")
					.append("                  DK0021_GEN.HAISO_NO,  ")
					.append("                  DK0021_GEN.KKTK_SVC_KEI_NO,  ")
					.append("                  DK0021_GEN.DENPYO_NO,  ")
					.append("                  DK0021_GEN.KIKI_CHG_NO,  ")
					.append("                  DK0021_GEN.MK_FLG,  ")
					.append("                  DK0021_GEN.ADD_DTM,  ")
					.append("                  MAX(DK0021_GEN.ADD_DTM) OVER(PARTITION BY DK0021_GEN.KKTK_SVC_KEI_NO,DK0021_GEN.KIKI_CHG_NO) CUR  ")
					.append("           FROM DK_T_HAISO_TG_BPIN DK0021_GEN  ")
					.append("           WHERE DK0021_GEN.MK_FLG = '0') DK0021_TMP  ")
					.append("     WHERE DK0021_TMP.ADD_DTM = DK0021_TMP.CUR  ")
//					.append("     SELECT DK0021_TMP.HAISO_TAIBPIN_NO,  ")
//					.append("            DK0021_TMP.HAISO_NO,  ")
//					.append("            DK0021_TMP.KKTK_SVC_KEI_NO,  ")
//					.append("            DK0021_TMP.DENPYO_NO,  ")
//					.append("            DK0021_TMP.KIKI_CHG_NO  ")
//					.append("     FROM   DK_T_HAISO_TG_BPIN DK0021_TMP  ")
//					.append("     WHERE  (DK0021_TMP.KKTK_SVC_KEI_NO, DK0021_TMP.HAISO_TAIBPIN_NO) =  ")
//					.append("        (SELECT DK0021_GENE.KKTK_SVC_KEI_NO, MAX(DK0021_GENE.HAISO_TAIBPIN_NO) AS HAISO_TAIBPIN_NO_MAX   ")
//					.append("         FROM   DK_T_HAISO_TG_BPIN DK0021_GENE   ")
//					.append("         WHERE  DK0021_GENE.KKTK_SVC_KEI_NO = DK0021_TMP.KKTK_SVC_KEI_NO   ")
//					.append("         AND    DK0021_GENE.KIKI_CHG_NO = DK0021_TMP.KIKI_CHG_NO   ")
//					.append("         AND    DK0021_GENE.MK_FLG = '0'   ")
//					.append("         GROUP BY DK0021_GENE.KKTK_SVC_KEI_NO) ")
// ----- OM-2014-0003315 END -----
					.append(" ) DK0021  ")
					.append(" ON     KK0341.KKTK_SVC_KEI_NO = DK0021.KKTK_SVC_KEI_NO  ")
					.append(" AND    DK0021.KIKI_CHG_NO = KK0341.KIKI_CHG_NO  ")
					.append(" LEFT OUTER JOIN DK_T_HAISO DK0011  ")
					.append(" ON     DK0021.HAISO_NO = DK0011.HAISO_NO  ")
					.append(" AND    DK0011.MK_FLG = '0'  ")
					.append(" LEFT OUTER JOIN (  ")
					.append("     SELECT DK0171_TMP.CUST_SHURI_KOSHO_CD,  ")
					.append("            DK0171_TMP.KKTK_SVC_KEI_NO,  ")
					.append("            DK0171_TMP.BTRYHOZN_NO,  ")
					.append("            DK0171_TMP.KIKI_CHG_NO  ")
					.append("     FROM   DK_T_BTRYHOZN DK0171_TMP  ")
					.append("     WHERE  DK0171_TMP.MK_FLG= '0' ");
					
					if ( "1".equals( inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString() ) 
// ANK-4030-00-00対応 20210521 星野 ADD START
						 || "2".equals(inMsg.getObject(EKK0341B517CBSMsg.FUNC_CODE).toString())
// ANK-4030-00-00対応 20210521 星野 ADD END
					) {
						sql_Buff.append(" AND    DK0171_TMP.BTRYHOZN_STAT != '009' ");
					}
				sql_Buff.append(" ) DK0171  ")
						.append(" ON     KK0341.KKTK_SVC_KEI_NO = DK0171.KKTK_SVC_KEI_NO  ")
						.append(" AND    DK0171.KIKI_CHG_NO = KK0341.KIKI_CHG_NO  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT KK0161_TMP.SVC_KEI_UCWK_NO  ")
						.append("          , KK0161_TMP.PCRS_CD  ")
						.append("     FROM   KK_T_SVC_KEI_UCWK KK0161_TMP  ")
						.append("     WHERE  (KK0161_TMP.SVC_KEI_UCWK_NO, KK0161_TMP.RSV_APLY_YMD || KK0161_TMP.GENE_ADD_DTM) =  ")
						.append("        (SELECT KK0161_GENE.SVC_KEI_UCWK_NO, MAX(KK0161_GENE.RSV_APLY_YMD || KK0161_GENE.GENE_ADD_DTM)  ")
						.append("         FROM   KK_T_SVC_KEI_UCWK KK0161_GENE  ")
						.append("         WHERE  KK0161_GENE.SVC_KEI_UCWK_NO = KK0161_TMP.SVC_KEI_UCWK_NO  ")
						.append("         AND    KK0161_GENE.RSV_APLY_CD = '2'  ")
						.append("         AND    KK0161_GENE.RSV_APLY_YMD <= ?  ")
						.append("         AND    KK0161_GENE.MK_FLG = '0'  ")
						.append("         GROUP BY KK0161_GENE.SVC_KEI_UCWK_NO)  ")
						.append(" ) KK0161  ")
						.append(" ON     KK0161.SVC_KEI_UCWK_NO = KK0341.SVC_KEI_UCWK_NO  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT DK0301_01.*  ")
						.append("     FROM DK_T_HMPIN_KIKI DK0301_01  ")
						.append("     WHERE DK0301_01.HMPIN_KIKI_NO =  ")
						.append("        (SELECT MAX (DK0301_GENE.HMPIN_KIKI_NO) AS DK0301_01_MAX  ")
						.append("         FROM DK_T_HMPIN_KIKI DK0301_GENE  ")
						.append("         WHERE DK0301_GENE.KKTK_SVC_KEI_NO = DK0301_01.KKTK_SVC_KEI_NO  ")
						.append("         AND DK0301_GENE.KIKI_CHG_NO = DK0301_01.KIKI_CHG_NO  ")
						.append("         AND DK0301_GENE.HMPIN_KIKI_STAT != '004'  ")
						.append("         AND DK0301_GENE.MK_FLG= '0')  ")
						.append("        ) DK0301  ")
						.append("     ON     DK0301.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO  ")
						.append("     AND    DK0301.KIKI_CHG_NO = KK0341.KIKI_CHG_NO  ")
						.append("     AND    DK0301.HMPIN_KIKI_STAT != '004'  ")
						.append("     AND    DK0301.MK_FLG = '0'  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT KK1041_01.*  ")
						.append("     FROM   KK_T_ODR_SET KK1041_01  ")
						.append("     WHERE  KK1041_01.ODR_SET_NO =  ")
						.append("        (SELECT MAX (KK1041_GENE.ODR_SET_NO) AS KK1041_01_MAX  ")
						.append("         FROM   KK_T_ODR_SET KK1041_GENE  ")
						.append("         WHERE  KK1041_GENE.KKTK_SVC_KEI_NO = KK1041_01.KKTK_SVC_KEI_NO  ")
						.append("         AND    KK1041_GENE.TAKNKIKI_MODEL_CD = KK1041_01.TAKNKIKI_MODEL_CD  ")
						.append("         AND    KK1041_GENE.KIKI_SEIZO_NO = KK1041_01.KIKI_SEIZO_NO  ")
						// OM-2023-0000020 ADD START 
						.append("         AND    KK1041_GENE.SVC_ORDER_CD IN ('20', '26', '0A') ")
						// OM-2023-0000020 ADD END
						.append("         AND    KK1041_GENE.MK_FLG= '0')  ")
						.append(" ) KK1041  ")
						.append(" ON     KK1041.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO  ")
						.append(" AND    KK1041.TAKNKIKI_MODEL_CD = KK0341.TAKNKIKI_MODEL_CD  ")
						.append(" AND    KK1041.KIKI_SEIZO_NO = KK0341.KIKI_SEIZO_NO  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT KK1681_01.*  ")
						.append("     FROM   KK_T_IDO_RSV KK1681_01  ")
						.append("     WHERE  KK1681_01.RSV_APLY_YMD >= ?  ")
						.append("     AND    KK1681_01.IDO_RSV_STAT_CD IN ('00', '03')  ")
						.append("     AND    KK1681_01.IDO_RSV_DTL_CD= '013'  ")
						.append(" ) KK1681  ")
						.append(" ON     KK1681.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT KK0341_RSV.*  ")
						.append("     FROM   KK_T_KKTK_SVC_KEI KK0341_RSV  ")
						.append("     WHERE  KK0341_RSV.RSV_APLY_CD = '1'  ")
						.append("     AND    KK0341_RSV.MK_FLG = '0'  ")
						.append(" ) KK0341_RSV  ")
						.append(" ON     KK0341.KKTK_SVC_KEI_NO = KK0341_RSV.KKTK_SVC_KEI_NO  ")
						.append(" LEFT OUTER JOIN (  ")
						.append("     SELECT KU0141_TMP.*  ")
						.append("     FROM   KU_T_KJAK_TG_TKKIKI KU0141_TMP  ")
						.append("     WHERE  (KU0141_TMP.KKTK_SVC_KEI_NO, KU0141_TMP.JSEKI_TAKNKIKI_MODEL_CD, KU0141_TMP.JSEKI_KIKI_SEIZO_NO, ")
						.append("     			KU0141_TMP.KOJIAK_TRGT_TAKNKIKI_NO) =  ")
						.append("        (SELECT KU0141_GENE.KKTK_SVC_KEI_NO, KU0141_GENE.JSEKI_TAKNKIKI_MODEL_CD, KU0141_GENE.JSEKI_KIKI_SEIZO_NO, ")
						.append("        		MAX(KU0141_GENE.KOJIAK_TRGT_TAKNKIKI_NO) AS KU0141_MAX   ")
						.append("         FROM   KU_T_KJAK_TG_TKKIKI KU0141_GENE   ")
						.append("         WHERE  KU0141_GENE.KKTK_SVC_KEI_NO = KU0141_TMP.KKTK_SVC_KEI_NO   ")
						.append("         AND    KU0141_GENE.JSEKI_TAKNKIKI_MODEL_CD = KU0141_TMP.JSEKI_TAKNKIKI_MODEL_CD   ")
						.append("         AND    KU0141_GENE.JSEKI_KIKI_SEIZO_NO = KU0141_TMP.JSEKI_KIKI_SEIZO_NO   ")
						.append("         AND    KU0141_GENE.KOJIAK_TRGT_TAKNKIKI_STAT <> '110'  ")
						.append("         AND    KU0141_GENE.STC_TEKKYO_FLG = '1'  ")
						.append("         AND    KU0141_GENE.TAKNKIKI_IDO_CD IN('01','02') ")
						.append("         AND    KU0141_GENE.MK_FLG = '0'   ")
						.append("         GROUP BY KU0141_GENE.KKTK_SVC_KEI_NO, KU0141_GENE.JSEKI_TAKNKIKI_MODEL_CD, KU0141_GENE.JSEKI_KIKI_SEIZO_NO) ")
						.append(" ) KU0141  ")
						.append(" ON     KK0341.KKTK_SVC_KEI_NO = KU0141.KKTK_SVC_KEI_NO  ")
						.append(" AND    KK0341.TAKNKIKI_MODEL_CD = KU0141.JSEKI_TAKNKIKI_MODEL_CD  ")
						.append(" AND    KK0341.KIKI_SEIZO_NO = KU0141.JSEKI_KIKI_SEIZO_NO  ")
						.append(" LEFT OUTER JOIN (  ")
// ----- OM-2014-0003315 START -----
						.append("     SELECT DK0021_TMP_02.HAISO_NO  ")
						.append("           ,DK0021_TMP_02.KIKI_CHG_NO  ")
						.append("           ,DK0021_TMP_02.KKTK_SVC_KEI_NO   ")
						.append("     FROM (SELECT DK0021_GEN.HAISO_TAIBPIN_NO,  ")
						.append("                  DK0021_GEN.HAISO_NO,  ")
						.append("                  DK0021_GEN.KKTK_SVC_KEI_NO,  ")
						.append("                  DK0021_GEN.DENPYO_NO,  ")
						.append("                  DK0021_GEN.KIKI_CHG_NO,  ")
						.append("                  DK0021_GEN.MK_FLG,  ")
						.append("                  DK0021_GEN.ADD_DTM,  ")
						.append("                  MAX(DK0021_GEN.ADD_DTM) OVER(PARTITION BY DK0021_GEN.KKTK_SVC_KEI_NO,DK0021_GEN.KIKI_CHG_NO) CUR  ")
						.append("           FROM DK_T_HAISO_TG_BPIN DK0021_GEN  ")
						.append("           WHERE DK0021_GEN.MK_FLG = '0') DK0021_TMP_02  ")
						.append("     WHERE DK0021_TMP_02.ADD_DTM = DK0021_TMP_02.CUR  ")
						.append("     ")
//						.append("     SELECT DK0021_TMP_02.HAISO_NO  ")
//						.append("           ,DK0021_TMP_02.KIKI_CHG_NO  ")
//						.append("           ,DK0021_TMP_02.KKTK_SVC_KEI_NO   ")
//						.append("     FROM   DK_T_HAISO_TG_BPIN DK0021_TMP_02  ")
//						.append("     WHERE  (DK0021_TMP_02.KKTK_SVC_KEI_NO, DK0021_TMP_02.HAISO_TAIBPIN_NO) =  ")
//						.append("        (SELECT DK0021_GENE_02.KKTK_SVC_KEI_NO, MAX(DK0021_GENE_02.HAISO_TAIBPIN_NO) AS HAISO_TAIBPIN_NO_MAX   ")
//						.append("         FROM   DK_T_HAISO_TG_BPIN DK0021_GENE_02   ")
//						.append("         WHERE  DK0021_GENE_02.KKTK_SVC_KEI_NO = DK0021_TMP_02.KKTK_SVC_KEI_NO   ")
//						.append("         AND    DK0021_GENE_02.KIKI_CHG_NO = DK0021_TMP_02.KIKI_CHG_NO   ")
//						.append("         AND    DK0021_GENE_02.MK_FLG = '0'   ")
//						.append("         GROUP BY DK0021_GENE_02.KKTK_SVC_KEI_NO) ")
// ----- OM-2014-0003315 END -----
						.append(" ) DK0021_02  ")
						.append(" ON     KK0341_RSV.KKTK_SVC_KEI_NO = DK0021_02.KKTK_SVC_KEI_NO  ")
						.append(" AND    DK0021_02.KIKI_CHG_NO = KK0341_RSV.KIKI_CHG_NO  ")
						.append(" LEFT OUTER JOIN KU_T_KOJIAK KU0011  ")
						.append(" ON     KU0141.KOJIAK_NO = KU0011.KOJIAK_NO  ")
						.append(" AND    KU0011.MK_FLG = '0'  ")
						.append(" LEFT OUTER JOIN DK_T_HAISO DK0011_02  ")
						.append(" ON     DK0021_02.HAISO_NO = DK0011_02.HAISO_NO  ")
						.append(" AND    DK0011_02.MK_FLG = '0'  ")
						.append(" LEFT OUTER JOIN ZM_M_TAKNKIKI_MODEL ZM0411  ")
						.append(" ON     KK0341.TAKNKIKI_MODEL_CD = ZM0411.TAKNKIKI_MODEL_CD  ")
						.append(" AND    ZM0411.MK_FLG = '0'  ")
						.append(" LEFT OUTER JOIN KK_M_KKTK_SVC KK0771  ")
						.append(" ON     KK0771.KKTK_SVC_CD = KK0341.KKTK_SVC_CD  ")
						.append(" AND    KK0771.MK_FLG = '0'  ")
						.append(" WHERE  KK0341.KKTK_SVC_KEI_NO = ?  ")
						.append(" AND    KK0341.GENE_ADD_DTM = ?  ")
						.append(" ORDER BY KK0341.KKTK_SVC_KEI_NO DESC,  ")
						.append("          KK0341.KIKI_CHG_NO DESC  ");
			
			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());
			
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			// パラメータの設定(運用日付を設定)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, opeDate);
			// パラメータの設定(運用日付を設定)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, opeDate);
			// パラメータの設定(運用日付を設定)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, opeDate);
			// パラメータの設定(運用日付を設定)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, opeDate);
			// パラメータの設定(運用日付を設定)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, opeDate);
			// パラメータの設定(機器提供サービス契約番号)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, kktkSvcKeiNo);
			// パラメータの設定(世代登録年月日時分秒)
			CAANJDBCUtil.setParam(pstmt, ++iPCnt, geneAddDtm);
			
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();
			
			// EKK0341B517CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  EKK0341B517CBSMsg1List.KKTK_SVC_KEI_NO
					, EKK0341B517CBSMsg1List.GENE_ADD_DTM
					, EKK0341B517CBSMsg1List.KKTK_SVC_KEI_STAT
					, EKK0341B517CBSMsg1List.KKTK_SVC_KEI_STAT_NM
					, EKK0341B517CBSMsg1List.PCRS_CD_KKTK
					, EKK0341B517CBSMsg1List.KKTK_SBT_CD
					, EKK0341B517CBSMsg1List.KKTK_SBT_CD_NM
					, EKK0341B517CBSMsg1List.HAMBAI_SBT_CD
					, EKK0341B517CBSMsg1List.HAMBAI_SBT_CD_NM
					, EKK0341B517CBSMsg1List.TAKNKIKI_SBT_CD
					, EKK0341B517CBSMsg1List.KIKI_SEIZO_NO
					, EKK0341B517CBSMsg1List.TAKNKIKI_MODEL_CD
					, EKK0341B517CBSMsg1List.TAKNKIKI_SETHIN_MODEL_CD
					, EKK0341B517CBSMsg1List.HUZOKUHIN_SBT_CD
					, EKK0341B517CBSMsg1List.HUZOKUHIN_MODEL_CD
					, EKK0341B517CBSMsg1List.WRIB_CNT
					, EKK0341B517CBSMsg1List.SVC_STA_YMD
					, EKK0341B517CBSMsg1List.SVC_CHRG_STAYMD
					, EKK0341B517CBSMsg1List.SVC_ENDYMD
					, EKK0341B517CBSMsg1List.SVC_CHRG_ENDYMD
					, EKK0341B517CBSMsg1List.SVC_DSL_YMD
					, EKK0341B517CBSMsg1List.KIKI_HKAT_SHITEI_SOKO_CD
					, EKK0341B517CBSMsg1List.KIKI_HKAT_SHITEI_SOKO_NM
					, EKK0341B517CBSMsg1List.KIKI_HKAT_SHITEI_SKDN_CD
					, EKK0341B517CBSMsg1List.KIKI_HKAT_SHITEI_SKDN_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_STATE_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_CITY_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_OAZTSU_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_AZCHO_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_BNCHIGO
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_ADRTTM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_ADRRM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_STATE_NM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_CITY_NM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_OAZTSU_NM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_AZCHO_NM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_BNCHIGO
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_ADRTTM
					, EKK0341B517CBSMsg1List.KIKI_STC_SAKI_ADRRM
					, EKK0341B517CBSMsg1List.KIKI_SORYO_UM
					, EKK0341B517CBSMsg1List.KIKI_SORYO_SAKSEI_YMD
					, EKK0341B517CBSMsg1List.KIKI_NINSHO_ID
					, EKK0341B517CBSMsg1List.UPD_DTM
					, EKK0341B517CBSMsg1List.HMPIN_KURAIRE_YMD
					, EKK0341B517CBSMsg1List.STP_SOD_SEND_YMD
					, EKK0341B517CBSMsg1List.CUST_SHURI_KOSHO_CD
					, EKK0341B517CBSMsg1List.CUST_SHURI_KOSHO_CD_NM
					, EKK0341B517CBSMsg1List.HAISO_DIV
					, EKK0341B517CBSMsg1List.HAISO_DIV_NM
					, EKK0341B517CBSMsg1List.HAISO_STAT
					, EKK0341B517CBSMsg1List.HAISO_STAT_NM
					, EKK0341B517CBSMsg1List.DENPYO_NO
					, EKK0341B517CBSMsg1List.PCRS_CD_UCWK
					, EKK0341B517CBSMsg1List.PCRS_CD_NM
					, EKK0341B517CBSMsg1List.SVC_KEI_UCWK_NO
					, EKK0341B517CBSMsg1List.KIKI_HUKA_INFO_CD
					, EKK0341B517CBSMsg1List.ODR_SET_NO
					, EKK0341B517CBSMsg1List.HMPIN_KIKI_NO
					, EKK0341B517CBSMsg1List.HAISO_NO
					, EKK0341B517CBSMsg1List.HAISO_TAIBPIN_NO
					, EKK0341B517CBSMsg1List.BTRYHOZN_NO
					, EKK0341B517CBSMsg1List.KKTK_SVC_CD
					, EKK0341B517CBSMsg1List.PPLAN_CD
					, EKK0341B517CBSMsg1List.KIKI_CHG_NO
					, EKK0341B517CBSMsg1List.HDD_CAPA_CD
					, EKK0341B517CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO
					, EKK0341B517CBSMsg1List.MSKM_DTL_NO
					, EKK0341B517CBSMsg1List.KKTK_SVC_KEI_HKHASYMD
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_NM
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_PCD
					, EKK0341B517CBSMsg1List.KIKI_SOHUS_TELNO
					, EKK0341B517CBSMsg1List.HOSHO_CD
					, EKK0341B517CBSMsg1List.RSV_APLY_YMD
					, EKK0341B517CBSMsg1List.KIKI_CHG_YMD
					, EKK0341B517CBSMsg1List.IDO_DIV
					, EKK0341B517CBSMsg1List.TAKNKIKI_IDO_CD
					, EKK0341B517CBSMsg1List.HAISO_WAY_CD
					, EKK0341B517CBSMsg1List.IDO_RSV_NO_DSL
					, EKK0341B517CBSMsg1List.RSV_APLY_YMD_DSL
					, EKK0341B517CBSMsg1List.GENE_ADD_DTM_RSV
					, EKK0341B517CBSMsg1List.KKTK_SVC_KEI_STAT_RSV
					, EKK0341B517CBSMsg1List.UPD_DTM_RSV
					, EKK0341B517CBSMsg1List.KOJIAK_JSSI_YMD
					, EKK0341B517CBSMsg1List.TAKNKIKI_MODEL_NM
					, EKK0341B517CBSMsg1List.OPMS_ROUTER_KIND_CD
					, EKK0341B517CBSMsg1List.SHUKKA_YMD
					, EKK0341B517CBSMsg1List.KKTK_SVC_NM
					, EKK0341B517CBSMsg1List.PLAN_STAYMD
					, EKK0341B517CBSMsg1List.PLAN_ENDYMD
					, EKK0341B517CBSMsg1List.PLAN_CHRG_STAYMD
					, EKK0341B517CBSMsg1List.PLAN_CHRG_ENDYMD
					, EKK0341B517CBSMsg1List.IDO_DIV_NM
					, EKK0341B517CBSMsg1List.KIKI_SORYO_UM_NM
					, EKK0341B517CBSMsg1List.RSV_CL_YMD
					, EKK0341B517CBSMsg1List.ADD_SOD_SEND_YMD
					, EKK0341B517CBSMsg1List.UPD_DTM_ODR_SET
					, EKK0341B517CBSMsg1List.KIKI_SHS_AD_MAN_INPUT_FLG
					, EKK0341B517CBSMsg1List.HAISO_REQ_SHITEI_YMD
					, EKK0341B517CBSMsg1List.KOJIAK_TRGT_TAKNKIKI_NO
					, EKK0341B517CBSMsg1List.KOJIAK_NO
					, EKK0341B517CBSMsg1List.KKTK_SVC_ALI
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_KRIPLACE_SKCD
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_KOCOMP_CD
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_KOCOMP_SLF_CD
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_YTKSKOF_CD
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_YTKSKOF_SLF_CD
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_KOCOMP_CD_NM
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_KOCOMP_SLF_CD_NM
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_YTKSKOF_CD_NM
					, EKK0341B517CBSMsg1List.KIKI_STI_JI_YTKSKOF_SLF_CD_NM
					, EKK0341B517CBSMsg1List.KIKI_HUKA_INFO_CD_NM
					, EKK0341B517CBSMsg1List.SVC_STA_KISAN_YMD
					, EKK0341B517CBSMsg1List.KIKI_CHG_NO_RSV
					, EKK0341B517CBSMsg1List.HAISO_NO_RSV
					, EKK0341B517CBSMsg1List.HAISO_STAT_RSV
// ANK-4030-00-00対応 20210521 星野 ADD START
					, EKK0341B517CBSMsg1List.OYA_KEI_SKBT_CD
// ANK-4030-00-00対応 20210521 星野 ADD END
			};
			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery,msgKeyList1,"eo.ejb.cbs.cbsmsg.EKK0341B517CBSMsg1List",0);
			
			return outMsg1;
			

		} catch(SQLException e) {
			inMsg.set(EKK0341B517CBSMsg.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(EKK0341B517CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
	}
}
