/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEKK0081B544TPDA
*	ソースファイル名：JSYejbEKK0081B544TPDA.java
*	作成者			：EK945863
*	日付			：2017年10月20日
*＜機能概要＞
*	サービス契約状況照会(CMP)テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ33.00.00  2017/10/24  FJ)平野     新規作成【ANK-3288-00-00】【eoプレミアムクラブ】TVガイド誌無料×１年間
*	 v34.00.00  2017/12/08  FJ)平野     【ANK-3303-00-00】【eoプレミアムクラブ】セキュリティパック・多機能無線ルータ無料×１年間
*	 v41.00.00  2019/03/08  FJ)黒田     【ANK-3529-06-00】ＣＭＰからチケット申請（無線ＬＡＮ中継機割引）
*    v50.00.00  2020/06/18   FJ)西窪    【ANK-3825-00-00】メッシュWiFi導入対応
*	 v50.01.00	2020/06/01	FJ)中原		【ANK-3754-00-00】トビラフォン対応
*	 v51.00.00	2020/10/28	FJ)荒木		【ANK-3918-00-00】プレクラ施策追加「インターネットサギウォール」「おうちの機器補償」
*    v51.00.01	2020/11/02	FJ)西窪		【ANK-3949-00-00】Netflix導入対応（STEP1）
*    v52.00.00	2021/01/25	FJ)吉村		【ANK-3987-00-00】Netflix導入対応（STEP2）
*    v66.00.00	2023/03/16	FJ)松永		【ANK-4307-00-00】【eo定期】プレミアムクラブリニューアル対応
*    									【IT1-2023-0000013】セキュリティパック費用割引・多機能ルータ費用割引 施策コード返却対応
*    v61.00.00   2023/04/10  FJ)井手	【ANK-4315-00-00】【eo定期】eoホームゲートウェイ導入対応
********************************************************************************/

package eo.ejb.cbs.sqlf;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANSQLFacility;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.base.CAANJDBCUtil;
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.TemplateDBAccessHandler;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import eo.common.constant.JCKStrConst;
import eo.ejb.cbs.cbsmsg.EKK0081B544CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081B544CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK3051B001CBSMsg;
import eo.ejb.cbm.cbmmsg.ZM0321CBMMsg;
import eo.ejb.cbm.entity.KK0081ETMsg;
import eo.ejb.cbm.entity.KK3051ETMsg;
import eo.ejb.common.JKKModelCommon;

/**
*
*  テンプレートDBアクセス部品　EKK0081B544_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbEKK0081B544TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{

	/** eo光テレビガイド誌費用　割引 施策コード */
	private static final String SSK_TV_GUIDE = "E001";
//ANK-3303-00-00 ADD START
	/** セキュリティパック　割引 施策コード */
	private static final String SSK_SECURITYPACK = "E002";
	/** 多機能無線ルータ　割引 施策コード */
	private static final String SSK_MUSEN_TKNRT = "E003";
//ANK-3303-00-00 ADD END
// ANK-3529-06-00 ADD START
	/** 無線LAN中継機　割引 施策コード */
	private static final String SSK_MUSENLAN = "E004";
// ANK-3529-06-00 ADD END
// ANK-3825-00-00 ADD START
	/** 無線LAN中継機　割引 施策コード */
	private static final String SSK_MESHWIfI = "E005";
// ANK-3825-00-00 ADD END
// ANK-3754-00-00 ADD START
	/** あんしん電話パック費用　無料 施策コード */
	private static final String SSK_ANSN_PACK = "E006";
// ANK-3754-00-00 ADD END
// ANK-3918-00-00 ADD START
	/** おうちの機器補償ＰＣ／ＰＣワイドプラン費用　無料 施策コード */
	private static final String SSK_OUCHIKKHS_PCPLAN = "E007";
	/** おうちの機器補償ＴＶプラン費用　無料 施策コード */
	private static final String SSK_OUCHIKKHS_TVPLAN = "E008";
	/** インターネットサギウォール for eo費用　無料 施策コード */
	private static final String SSK_INETSGW_FOR_EO = "E009";
// ANK-3918-00-00 ADD END
// ANK-3949-00-00 ADD START
	private static final String SSK_NETFLIX = "F001";
// ANK-3949-00-00 ADD END
	//ANK-4307-00-00 ADD START
	/** eo光多機能ルーター（無線ルーター機能）費用 割引（6回分） 施策コード */
	private static final String SSK_MUSEN_TKNRT_SIX = "E010";
	/** eoセキュリティーパック費用 割引（6回分） 施策コード */
	private static final String SSK_SECURITYPACK_SIX = "E011";
//ANK-4307-00-00 ADD END

	
	/**
	 * コンストラクタ
	 */
	public JSYejbEKK0081B544TPDA()	{
	}
	
	/**
	*   EKK0081B544_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文の作成
		 ********************/
// ANK-4307-00-00 ADD START
		Connection conKK3051 = null;
		PreparedStatement pstmtKK3051 = null;
		ResultSet rsKK3051 = null;
		String wribCpCode = null;
		
		// 処理区分
		String trnDiv = (String)inMsg.getObject(EKK0081B544CBSMsg.KEY_TRN_DIV);
		
		try{
			// SQL文_プレミアムクラブ施策情報取得
			StringBuffer sql_Buff_SSK_CP = new StringBuffer();
			sql_Buff_SSK_CP.append(" SELECT /*EKK0081B544*/ ")
				.append("     KK3051.WRIB_SVC_CD ")
				.append(" FROM ")
				.append("     KK_M_EOPRMCL_SISAK KK3051 ")
				.append(" WHERE ")
				.append("     EOPRMCL_SISAK_CD = ? ")
				.append(" AND EOPRMCL_SISAK_TSTAYMD <= ? ")
				.append(" AND EOPRMCL_SISAK_TENDYMD >= ? ")
				.append(" AND MK_FLG = '0' ");
			
			//コネクション取得
			conKK3051 = JSYejbConnection.getConnection(KK3051ETMsg.getTableName());
			
			//prepareStatementにSQL文をセット
			pstmtKK3051 = conKK3051.prepareStatement(sql_Buff_SSK_CP.toString());
			
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff_SSK_CP);
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ("1".equals(inMsg.getString(EKK3051B001CBSMsg.FUNC_CODE)))
			{
				// パラメータの設定(eoプレミアムクラブ施策コードを指定)
				CAANJDBCUtil.setParam(pstmtKK3051, 1, trnDiv);
				// 運用日付を取得
				String opeDate = JKKModelCommon.getOpeDate(inMsg);
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmtKK3051, 2, opeDate);
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmtKK3051, 3, opeDate);
			}
			
			// ResultSetの取得
			rsKK3051 = pstmtKK3051.executeQuery();
			
			// 結果の取得
			while(rsKK3051.next())
			{
				wribCpCode = rsKK3051.getString("WRIB_SVC_CD");
			}
		}
		catch(SQLException e)
		{
			inMsg.set(EKK0081B544CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
			throw new CAANRuntimeException(e);
		}
		finally
		{
			// 資源の解放
			try
			{
				if(rsKK3051 != null)
				{
					rsKK3051.close();
				}
				if(pstmtKK3051 != null)
				{
					pstmtKK3051.close();
				}
				if(conKK3051 != null)
				{
					closeConnection(conKK3051);
				}
			}
			catch(SQLException e)
			{
				inMsg.set(EKK0081B544CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
// ANK-4307-00-00 ADD END
		
// ANK-4307-00-00 DEL START		
//		// 業務パラメータ管理用
//		Connection conZM0321 = null;
//		PreparedStatement pstmtZM0321 = null;
//		ResultSet rsZM0321 = null;
//		String wribCpCode = null;
//		
//		// 処理区分
//		String trnDiv = (String)inMsg.getObject(EKK0081B544CBSMsg.KEY_TRN_DIV);
//		
//		try
//		{
//			// SQL文_施策-キャンペーン情報取得
//			StringBuffer sql_Buff_SSK_CP = new StringBuffer();
//			sql_Buff_SSK_CP.append(" SELECT /*EKK0081B544*/ ")
//				.append("     ZM0321.WORK_PARAM_SETTE_VALUE ")
//				.append(" FROM ")
//				.append("     ZM_M_WORK_PARAM_KNRI ZM0321 ")
//				.append(" WHERE ")
//				.append("     WORK_PARAM_ID LIKE 'KK_SSK_CP%' ")
//				.append(" AND WORK_PARAM_TSTAYMD <= ? ")
//				.append(" AND WORK_PARAM_TENDYMD >= ? ")
//				.append(" AND MK_FLG = '0' ");
//
//			//コネクション取得
//			conZM0321 = JSYejbConnection.getConnection(KK3051ETMsg.getTableName());
//			
//			//prepareStatementにSQL文をセット
//			pstmtZM0321 = conZM0321.prepareStatement(sql_Buff_SSK_CP.toString());
//			
//			//ログ出力(SQL文の出力)
//			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff_SSK_CP);
//			
//			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
//			if ("1".equals(inMsg.getString(EKK3051B001CBSMsg.FUNC_CODE)))
//			{
//				// 運用日付を取得
//				String opeDate = JKKModelCommon.getOpeDate(inMsg);
//				// パラメータの設定(運用日付を指定)
//				CAANJDBCUtil.setParam(pstmtZM0321, 1, opeDate);
//				// パラメータの設定(運用日付を指定)
//				CAANJDBCUtil.setParam(pstmtZM0321, 2, opeDate);
//			}
//			
//			// ResultSetの取得
//			rsZM0321 = pstmtZM0321.executeQuery();
//
//			String tmpSskCp = null;
//			String[] sskCp = null;
//			// 結果の取得
//			while(rsZM0321.next())
//			{
//				tmpSskCp = rsZM0321.getString(ZM0321CBMMsg.WORK_PARAM_SETTE_VALUE);
//				sskCp = tmpSskCp.split(",");
//				
//				// 処理区分(施策コード)が一致する場合
//				if (trnDiv.equals(sskCp[0]))
//				{
//					// 割引CPコードを設定
//					wribCpCode = sskCp[1];
//					break;
//				}
//				
//			}
//		}
//		catch(SQLException e)
//		{
//			inMsg.set(EKK0081B544CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
//			throw new CAANRuntimeException(e);
//		}
//		finally
//		{
//			// 資源の解放
//			try
//			{
//				if(rsZM0321 != null)
//				{
//					rsZM0321.close();
//				}
//				if(pstmtZM0321 != null)
//				{
//					pstmtZM0321.close();
//				}
//				if(conZM0321 != null)
//				{
//					closeConnection(conZM0321);
//				}
//			}
//			catch(SQLException e)
//			{
//				inMsg.set(EKK0081B544CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
//				throw new CAANRuntimeException(e);
//			}
//		}
// ANK-4307-00-00 DEL END
			
		try
		{
			//コネクション取得
			con1 = JSYejbConnection.getConnection(KK0081ETMsg.getTableName());
			
			// SQL文_基本部1
			StringBuffer sql_Buff = new StringBuffer();
			sql_Buff.append(" SELECT /*EKK0081B544*/ ")
//ANK-3303-00-00 MOD START
//					.append("      KK0081.SVC_KEI_NO ")
					.append("      KK0081.SVC_KEI_NO ");
// ANK-4307-00-00 MOD START
			//if (SSK_MUSEN_TKNRT.equals(trnDiv))
			// 処理区分が「多機能無線ルータ　割引」または「eo光多機能ルーター（無線ルーター機能）費用 割引（6回分）」であった場合
			if (SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSEN_TKNRT_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END
			{
				sql_Buff.append("     ,OP_INFO.OP_KEI_UM AS OP_KEI_UM ");
			}
			else
			{
				sql_Buff.append("     ,CASE WHEN OP_INFO.OP_KEI_STAT IS NULL THEN '0' ELSE '1' END AS OP_KEI_UM ");
			}
//					.append("     ,CASE WHEN OP_INFO.OP_KEI_STAT IS NULL THEN '0' ELSE '1' END AS OP_KEI_UM ")
			sql_Buff
//ANK-3303-00-00 MOD END
					.append("     ,OP_INFO.OP_KEI_STAT AS OP_KEI_STAT ")
					.append("     ,CASE WHEN WRIB_INFO.CP_WRIB_STAT IS NULL THEN '0' ELSE '1' END AS CP_WRIB_UM ")
					.append("     ,WRIB_INFO.CP_WRIB_STAT AS CP_WRIB_STAT ")
					.append(" FROM ")
					.append("     KK_T_SVC_KEI KK0081 ")
					.append(" INNER JOIN ")
					.append("     KK_M_PRC_GRP KK0781 ")
					.append(" ON ")
					.append("     KK0081.PRC_GRP_CD = KK0781.PRC_GRP_CD ")
					.append(" INNER JOIN ")
					.append("     KK_M_OLD_ICS_CD_CHG KK2141 ")
					.append(" ON ")
					.append("     KK0081.PRC_GRP_CD = KK2141.PRC_GRP_CD ")
					.append(" AND KK0081.PCRS_CD = KK2141.PCRS_CD ")
					.append(" AND KK0081.PPLAN_CD = KK2141.PPLAN_CD ");
			// SQL文_個別部1
			if ("1".equals(inMsg.getObject(EKK0081B544CBSMsg.FUNC_CODE).toString()))
			{
				// 処理区分が「eo光テレビガイド誌費用　割引」の場合
				if (SSK_TV_GUIDE.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("          KK0351.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,KK0351.OP_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_OP_SVC_KEI KK0351 ")
					.append("     WHERE ")
//ANK-3303-00-00 MOD START
//					.append("         KK0351.OP_SVC_KEI_STAT = '100' ")
					.append("         KK0351.OP_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
//ANK-3303-00-00 MOD END
					.append("     AND KK0351.OP_SVC_CD = 'B068' ")
					.append("     AND (KK0351.OP_SVC_KEI_NO, KK0351.RSV_APLY_YMD || KK0351.GENE_ADD_DTM) = ")
					.append("             (SELECT ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("                 ,MAX(KK0351_GENE.RSV_APLY_YMD || KK0351_GENE.GENE_ADD_DTM) AS KK0351_GENE_MAX ")
					.append("             FROM ")
					.append("                 KK_T_OP_SVC_KEI KK0351_GENE ")
					.append("             WHERE ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO = KK0351.OP_SVC_KEI_NO ")
					.append("             AND KK0351_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND KK0351_GENE.RSV_APLY_CD = '2' ")
					.append("             AND KK0351_GENE.MK_FLG = '0' ")
					.append("             GROUP BY ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("             ) ")
					.append("     AND KK0351.MK_FLG = '0' ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
//ANK-3303-00-00 ADD START
// ANK-4307-00-00 MOD StART
				// else if (SSK_SECURITYPACK.equals(trnDiv))
				// 処理区分が「セキュリティパック　割引」または「eoセキュリティーパック費用 割引（6回分）」の場合
				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_SECURITYPACK_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("         KK0481.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,KK0451.WRIB_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_WRISVC_TG_KEI KK0481 ")
					.append("     INNER JOIN ")
					.append("         KK_T_WRIB_SVC_KEI KK0451 ")
					.append("     ON ")
					.append("         KK0451.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("     WHERE ")
					.append("         KK0451.WRIB_SVC_CD = 'W00000010' ")
					.append("     AND KK0451.WRIB_SVC_KEI_STAT IN ('010', '100') ")
					.append("     AND KK0481.MK_FLG = '0' ")
					.append("     AND KK0451.MK_FLG = '0' ")
					.append("     AND (KK0481.WRIB_SVC_KEI_NO, KK0481.WRIB_SVC_TRGT_KEI_NO, KK0481.GENE_ADD_DTM) = ")
					.append("        (SELECT KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO, MAX(KK0481_GENE.GENE_ADD_DTM) AS KK0481_GENE_MAX ")
					.append("         FROM   KK_T_WRISVC_TG_KEI KK0481_GENE ")
					.append("         WHERE  KK0481_GENE.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("         AND    KK0481_GENE.WRIB_SVC_TRGT_KEI_NO = KK0481.WRIB_SVC_TRGT_KEI_NO ")
					.append("         AND    KK0481_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO) ")
					.append("     AND (KK0451.WRIB_SVC_KEI_NO, KK0451.RSV_APLY_YMD || KK0451.GENE_ADD_DTM) = ")
					.append("         (SELECT KK0451_GENE.WRIB_SVC_KEI_NO, MAX(KK0451_GENE.RSV_APLY_YMD || KK0451_GENE.GENE_ADD_DTM) AS KK0451_GENE_MAX ")
					.append("         FROM   KK_T_WRIB_SVC_KEI KK0451_GENE ")
					.append("         WHERE  KK0451_GENE.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
					.append("         AND    KK0451_GENE.RSV_APLY_YMD <= ? ")
					.append("         AND    KK0451_GENE.RSV_APLY_CD = '2' ")
					.append("         AND    KK0451_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0451_GENE.WRIB_SVC_KEI_NO) ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-4307-00-00 MOD START
				// else if (SSK_MUSEN_TKNRT.equals(trnDiv))
				// 処理区分が「多機能無線ルータ　割引」または「eo光多機能ルーター（無線ルーター機能）費用 割引（6回分）」の場合
				else if (SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSEN_TKNRT_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("         KK0081.SVC_KEI_NO, ")
					.append("         CASE WHEN OP_SUB_1.KKOP_SVC_KEI_STAT IS NULL ")
					.append("             THEN '0' ")
					.append("             ELSE ")
					.append("                 CASE WHEN OP_SUB_2.WRIB_SVC_KEI_STAT IS NULL ")
					.append("                     THEN '1' ")
					.append("                     ELSE '2' ")
					.append("                 END ")
					.append("         END AS OP_KEI_UM, ")
					.append("         OP_SUB_1.KKOP_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_SVC_KEI KK0081 ")
					.append("     LEFT OUTER JOIN ")
					.append("         (SELECT ")
					.append("             KK0241.SVC_KEI_NO, ")
					.append("             KK2811.KKOP_SVC_KEI_STAT ")
					.append("         FROM ")
					.append("             KK_T_KAISEN_TG_SVKEI KK0241 ")
					.append("         INNER JOIN ")
					.append("             KK_T_KKTK_SVC_KEI KK0341 ")
					.append("         ON ")
					.append("             KK0341.SVC_KEI_KAISEN_UCWK_NO = KK0241.SVC_KEI_KAISEN_UCWK_NO ")
					.append("         INNER JOIN ")
					.append("             KK_T_KKOP_SVC_KEI KK2811 ")
					.append("         ON ")
					.append("             KK2811.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
					.append("         WHERE ")
					.append("             KK0241.KAISEN_UCWK_USE_STAYMD <= ? ")
					.append("         AND (KK0241.SVC_KEI_NO, KK0241.KAISEN_UCWK_USE_ENDYMD) = ")
					.append("                 (   SELECT KK0241_GENE.SVC_KEI_NO, MAX(KK0241_GENE.KAISEN_UCWK_USE_ENDYMD) AS KAISEN_UCWK_USE_ENDYMD ")
					.append("                     FROM    KK_T_KAISEN_TG_SVKEI KK0241_GENE ")
					.append("                     WHERE   KK0241_GENE.SVC_KEI_NO = KK0241.SVC_KEI_NO ")
					.append("                     AND     KK0241_GENE.KAISEN_UCWK_USE_STAYMD <= ? ")
					.append("                     AND     KK0241_GENE.MK_FLG = '0' ")
					.append("                     GROUP BY KK0241_GENE.SVC_KEI_NO ")
					.append("                 ) ")
//ANK-4315-00-00 MOD START
					//.append("         AND KK0341.TAKNKIKI_SBT_CD = 'R0' ")
					.append("         AND KK0341.TAKNKIKI_SBT_CD IN ('R0', 'S0') ")
//ANK-4315-00-00 MOD END
					.append("         AND KK0341.KKTK_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("         AND KK2811.PCRS_CD = 'G02' ")
					.append("         AND KK2811.KKOP_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("         AND KK0241.MK_FLG = '0' ")
					.append("         AND KK0341.MK_FLG = '0' ")
					.append("         AND KK2811.MK_FLG = '0' ")
					.append("         AND (KK0341.KKTK_SVC_KEI_NO, KK0341.RSV_APLY_YMD || KK0341.GENE_ADD_DTM) = ")
					.append("            (SELECT KK0341_GENE.KKTK_SVC_KEI_NO, MAX(KK0341_GENE.RSV_APLY_YMD || KK0341_GENE.GENE_ADD_DTM) AS KK0341_GENE_MAX ")
					.append("             FROM   KK_T_KKTK_SVC_KEI KK0341_GENE ")
					.append("             WHERE  KK0341_GENE.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
					.append("             AND    KK0341_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND    KK0341_GENE.RSV_APLY_CD = '2' ")
					.append("             AND    KK0341_GENE.MK_FLG = '0' ")
					.append("             GROUP BY KK0341_GENE.KKTK_SVC_KEI_NO) ")
					.append("         AND (KK2811.KKOP_SVC_KEI_NO, KK2811.RSV_APLY_YMD || KK2811.GENE_ADD_DTM) = ")
					.append("            (SELECT KK2811_GENE.KKOP_SVC_KEI_NO, MAX(KK2811_GENE.RSV_APLY_YMD || KK2811_GENE.GENE_ADD_DTM) AS KK2811_GENE_MAX ")
					.append("             FROM   KK_T_KKOP_SVC_KEI KK2811_GENE ")
					.append("             WHERE  KK2811_GENE.KKOP_SVC_KEI_NO = KK2811.KKOP_SVC_KEI_NO ")
					.append("             AND    KK2811_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND    KK2811_GENE.RSV_APLY_CD = '2' ")
					.append("             AND    KK2811_GENE.MK_FLG = '0' ")
					.append("             GROUP BY KK2811_GENE.KKOP_SVC_KEI_NO) ")
					.append("         ) OP_SUB_1 ")
					.append("     ON ")
					.append("         OP_SUB_1.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
					.append("     LEFT OUTER JOIN ")
					.append("         (SELECT ")
					.append("             KK0481.SVC_KEI_NO, ")
					.append("             KK0451.WRIB_SVC_KEI_STAT ")
					.append("         FROM ")
					.append("             KK_T_WRISVC_TG_KEI KK0481 ")
					.append("         INNER JOIN ")
					.append("             KK_T_WRIB_SVC_KEI KK0451 ")
					.append("         ON ")
					.append("             KK0451.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("         WHERE ")
					.append("             KK0451.WRIB_SVC_CD = 'W00000006' ")
					.append("         AND KK0451.WRIB_SVC_KEI_STAT IN ('010', '100') ")
					.append("         AND KK0481.MK_FLG = '0' ")
					.append("         AND KK0451.MK_FLG = '0' ")
					.append("         AND (KK0481.WRIB_SVC_KEI_NO, KK0481.WRIB_SVC_TRGT_KEI_NO, KK0481.GENE_ADD_DTM) = ")
					.append("            (SELECT KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO, MAX(KK0481_GENE.GENE_ADD_DTM) AS KK0481_GENE_MAX ")
					.append("             FROM   KK_T_WRISVC_TG_KEI KK0481_GENE ")
					.append("             WHERE  KK0481_GENE.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("             AND    KK0481_GENE.WRIB_SVC_TRGT_KEI_NO = KK0481.WRIB_SVC_TRGT_KEI_NO ")
					.append("             AND    KK0481_GENE.MK_FLG = '0' ")
					.append("             GROUP BY KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO) ")
					.append("         AND (KK0451.WRIB_SVC_KEI_NO, KK0451.RSV_APLY_YMD || KK0451.GENE_ADD_DTM) = ")
					.append("            (SELECT KK0451_GENE.WRIB_SVC_KEI_NO, MAX(KK0451_GENE.RSV_APLY_YMD || KK0451_GENE.GENE_ADD_DTM) AS KK0451_GENE_MAX ")
					.append("             FROM   KK_T_WRIB_SVC_KEI KK0451_GENE ")
					.append("             WHERE  KK0451_GENE.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
					.append("             AND    KK0451_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND    KK0451_GENE.RSV_APLY_CD = '2' ")
					.append("             AND    KK0451_GENE.MK_FLG = '0' ")
					.append("             GROUP BY KK0451_GENE.WRIB_SVC_KEI_NO) ")
					.append("                 AND KK0481.MK_FLG = '0' ")
					.append("                 AND KK0451.MK_FLG = '0' ")
					.append("         ) OP_SUB_2 ")
					.append("     ON ")
					.append("         OP_SUB_2.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
					.append("     WHERE ")
					.append("         KK0081.MK_FLG = '0' ")
					.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) AS KK0081_GENE_MAX ")
					.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_YMD <= ? ")
					.append("         AND    KK0081_GENE.RSV_APLY_CD = '2' ")
					.append("         AND    KK0081_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0081_GENE.SVC_KEI_NO) ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
//ANK-3303-00-00 ADD END
// ANK-3529-06-00 ADD START
				// 処理区分が「無線LAN中継機　割引」の場合
				else if (SSK_MUSENLAN.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("         KK0341.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,MAX(KK0341.KKTK_SVC_KEI_STAT) AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_KKTK_SVC_KEI KK0341 ")
					.append("     WHERE ")
					.append("         KK0341.PPLAN_CD = 'PCA101' ")
					.append("     AND KK0341.TAKNKIKI_SBT_CD = 'G0' ")
					.append("     AND KK0341.KKTK_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("     AND (KK0341.KKTK_SVC_KEI_NO, KK0341.RSV_APLY_YMD || KK0341.GENE_ADD_DTM) = ")
					.append("         (SELECT KK0341_GENE.KKTK_SVC_KEI_NO, MAX(KK0341_GENE.RSV_APLY_YMD || KK0341_GENE.GENE_ADD_DTM) AS KK0341_GENE_MAX ")
					.append("         FROM   KK_T_KKTK_SVC_KEI KK0341_GENE ")
					.append("         WHERE  KK0341_GENE.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
					.append("         AND    KK0341_GENE.RSV_APLY_YMD <= ? ")
					.append("         AND    KK0341_GENE.RSV_APLY_CD = '2' ")
					.append("         AND    KK0341_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0341_GENE.KKTK_SVC_KEI_NO) ")
					.append("     GROUP BY SVC_KEI_NO ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-3529-06-00 ADD END
// ANK-3825-00-00 ADD START
				// 処理区分が「メッシュWiFi　割引」の場合
				else if (SSK_MESHWIfI.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("         KK0341.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,MAX(KK0341.KKTK_SVC_KEI_STAT) AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_KKTK_SVC_KEI KK0341 ")
					.append("     WHERE ")
					.append("         KK0341.PPLAN_CD = 'PCA201' ")
					.append("     AND KK0341.TAKNKIKI_SBT_CD = 'G0' ")
					.append("     AND KK0341.KKTK_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("     AND (KK0341.KKTK_SVC_KEI_NO, KK0341.RSV_APLY_YMD || KK0341.GENE_ADD_DTM) = ")
					.append("         (SELECT KK0341_GENE.KKTK_SVC_KEI_NO, MAX(KK0341_GENE.RSV_APLY_YMD || KK0341_GENE.GENE_ADD_DTM) AS KK0341_GENE_MAX ")
					.append("         FROM   KK_T_KKTK_SVC_KEI KK0341_GENE ")
					.append("         WHERE  KK0341_GENE.KKTK_SVC_KEI_NO = KK0341.KKTK_SVC_KEI_NO ")
					.append("         AND    KK0341_GENE.RSV_APLY_YMD <= ? ")
					.append("         AND    KK0341_GENE.RSV_APLY_CD = '2' ")
					.append("         AND    KK0341_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0341_GENE.KKTK_SVC_KEI_NO) ")
					.append("     GROUP BY SVC_KEI_NO ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-3825-00-00 ADD END
// ANK-3754-00-00 ADD START
				// 処理区分が「あんしん電話パック費用　無料」の場合
				else if (SSK_ANSN_PACK.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("         KK0481.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,MAX(KK0451.WRIB_SVC_KEI_STAT) AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_WRISVC_TG_KEI KK0481 ")
					.append("     INNER JOIN ")
					.append("         KK_T_WRIB_SVC_KEI KK0451 ")
					.append("     ON ")
					.append("         KK0451.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("     WHERE ")
					.append("         KK0451.WRIB_SVC_CD = 'W00000023' ")
					.append("     AND KK0451.WRIB_SVC_KEI_STAT IN ('010', '100') ")
					.append("     AND KK0481.MK_FLG = '0' ")
					.append("     AND KK0451.MK_FLG = '0' ")
					.append("     AND (KK0481.WRIB_SVC_KEI_NO, KK0481.WRIB_SVC_TRGT_KEI_NO, KK0481.GENE_ADD_DTM) = ")
					.append("        (SELECT KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO, MAX(KK0481_GENE.GENE_ADD_DTM) AS KK0481_GENE_MAX ")
					.append("         FROM   KK_T_WRISVC_TG_KEI KK0481_GENE ")
					.append("         WHERE  KK0481_GENE.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
					.append("         AND    KK0481_GENE.WRIB_SVC_TRGT_KEI_NO = KK0481.WRIB_SVC_TRGT_KEI_NO ")
					.append("         AND    KK0481_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO) ")
					.append("     AND (KK0451.WRIB_SVC_KEI_NO, KK0451.RSV_APLY_YMD || KK0451.GENE_ADD_DTM) = ")
					.append("         (SELECT KK0451_GENE.WRIB_SVC_KEI_NO, MAX(KK0451_GENE.RSV_APLY_YMD || KK0451_GENE.GENE_ADD_DTM) AS KK0451_GENE_MAX ")
					.append("         FROM   KK_T_WRIB_SVC_KEI KK0451_GENE ")
					.append("         WHERE  KK0451_GENE.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
					.append("         AND    KK0451_GENE.RSV_APLY_YMD <= ? ")
					.append("         AND    KK0451_GENE.RSV_APLY_CD = '2' ")
					.append("         AND    KK0451_GENE.MK_FLG = '0' ")
					.append("         GROUP BY KK0451_GENE.WRIB_SVC_KEI_NO) ")
					.append("     GROUP BY SVC_KEI_NO ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-3754-00-00 ADD END
// ANK-3918-00-00 ADD START
				// 処理区分が「おうちの機器補償ＰＣ／ＰＣワイドプラン費用　無料」の場合
				else if (SSK_OUCHIKKHS_PCPLAN.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("          KK0351.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,KK0351.OP_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_OP_SVC_KEI KK0351 ")
					.append("     WHERE ")
					.append("         KK0351.OP_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("     AND KK0351.OP_SVC_CD = 'B133' ")
					.append("     AND (KK0351.OP_SVC_KEI_NO, KK0351.RSV_APLY_YMD || KK0351.GENE_ADD_DTM) = ")
					.append("             (SELECT ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("                 ,MAX(KK0351_GENE.RSV_APLY_YMD || KK0351_GENE.GENE_ADD_DTM) AS KK0351_GENE_MAX ")
					.append("             FROM ")
					.append("                 KK_T_OP_SVC_KEI KK0351_GENE ")
					.append("             WHERE ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO = KK0351.OP_SVC_KEI_NO ")
					.append("             AND KK0351_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND KK0351_GENE.RSV_APLY_CD = '2' ")
					.append("             AND KK0351_GENE.MK_FLG = '0' ")
					.append("             GROUP BY ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("             ) ")
					.append("     AND KK0351.MK_FLG = '0' ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
				// 処理区分が「おうちの機器補償ＴＶプラン費用　無料」の場合
				else if (SSK_OUCHIKKHS_TVPLAN.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("          KK0351.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,KK0351.OP_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_OP_SVC_KEI KK0351 ")
					.append("     WHERE ")
					.append("         KK0351.OP_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("     AND KK0351.OP_SVC_CD = 'B134' ")
					.append("     AND (KK0351.OP_SVC_KEI_NO, KK0351.RSV_APLY_YMD || KK0351.GENE_ADD_DTM) = ")
					.append("             (SELECT ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("                 ,MAX(KK0351_GENE.RSV_APLY_YMD || KK0351_GENE.GENE_ADD_DTM) AS KK0351_GENE_MAX ")
					.append("             FROM ")
					.append("                 KK_T_OP_SVC_KEI KK0351_GENE ")
					.append("             WHERE ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO = KK0351.OP_SVC_KEI_NO ")
					.append("             AND KK0351_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND KK0351_GENE.RSV_APLY_CD = '2' ")
					.append("             AND KK0351_GENE.MK_FLG = '0' ")
					.append("             GROUP BY ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("             ) ")
					.append("     AND KK0351.MK_FLG = '0' ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
				// 処理区分が「インターネットサギウォール for eo費用　無料」の場合
				else if (SSK_INETSGW_FOR_EO.equals(trnDiv))
				{
					sql_Buff.append(" LEFT OUTER JOIN ")
					.append("     (SELECT ")
					.append("          KK0351.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("         ,KK0351.OP_SVC_KEI_STAT AS OP_KEI_STAT ")
					.append("     FROM ")
					.append("         KK_T_OP_SVC_KEI KK0351 ")
					.append("     WHERE ")
					.append("         KK0351.OP_SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("     AND KK0351.OP_SVC_CD = 'B131' ")
					.append("     AND (KK0351.OP_SVC_KEI_NO, KK0351.RSV_APLY_YMD || KK0351.GENE_ADD_DTM) = ")
					.append("             (SELECT ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("                 ,MAX(KK0351_GENE.RSV_APLY_YMD || KK0351_GENE.GENE_ADD_DTM) AS KK0351_GENE_MAX ")
					.append("             FROM ")
					.append("                 KK_T_OP_SVC_KEI KK0351_GENE ")
					.append("             WHERE ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO = KK0351.OP_SVC_KEI_NO ")
					.append("             AND KK0351_GENE.RSV_APLY_YMD <= ? ")
					.append("             AND KK0351_GENE.RSV_APLY_CD = '2' ")
					.append("             AND KK0351_GENE.MK_FLG = '0' ")
					.append("             GROUP BY ")
					.append("                 KK0351_GENE.OP_SVC_KEI_NO ")
					.append("             ) ")
					.append("     AND KK0351.MK_FLG = '0' ")
					.append("     ) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-3918-00-00 ADD END
// ANK-3949-00-00 ADD START
				else if (SSK_NETFLIX.equals(trnDiv))
				{
					sql_Buff.append("LEFT OUTER JOIN ")
					.append("    ( SELECT  ")
					.append("            KK0081.SVC_KEI_NO AS SVC_KEI_NO ")
					.append("            ,CASE WHEN KK1681.IDO_RSV_NO IS NOT NULL THEN '030' ELSE KK0081.SVC_KEI_STAT END AS OP_KEI_STAT ")
					.append("        FROM  ")
					.append("            KK_T_SVC_KEI KK0081  ")
					.append("        LEFT OUTER JOIN  ")
					.append("            KK_T_IDO_RSV KK1681 ")
					.append("        ON ")
					.append("            KK0081.SVC_KEI_NO = KK1681.SVC_KEI_NO ")
// ANK-3987-00-00 MOD START
//					.append("        AND KK1681.IDO_DIV =  '00009' ")
					.append("        AND KK1681.IDO_DIV IN ( '00009' , '00019' ) ")
// ANK-3987-00-00 MOD END
					.append("        AND KK1681.IDO_RSV_DTL_CD = '003' ")
					.append("        AND KK1681.IDO_RSV_STAT_CD IN ('00', '03') ")
					.append("        AND KK1681.NEW_PCRS_CD IN (SELECT KK0791.PCRS_CD ")
					.append("                                FROM KK_M_PCRS KK0791 ")
					.append("                                WHERE TAJGS_BUNDLE_DIV = '001' ")
					.append("                                AND PCRS_TSTAYMD <= ? ")
					.append("                                AND PCRS_TENDYMD >= ? ")
					.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("                                   ) ")
					.append("       AND KK1681.OLD_PCRS_CD NOT IN (SELECT KK0791.PCRS_CD ")
					.append("                                FROM KK_M_PCRS KK0791 ")
					.append("                                WHERE TAJGS_BUNDLE_DIV = '001' ")
					.append("                                AND PCRS_TSTAYMD <= ? ")
					.append("                                AND PCRS_TENDYMD >= ? ")
					.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("                                ) ")
					.append("        AND KK1681.MK_FLG = '0'  ")
					.append("        WHERE KK0081.SVC_CD = '01'  ")
					.append("        AND KK0081.SVC_KEI_STAT IN ('010', '020', '030', '100') ")
					.append("        AND ( ")
					.append("            KK0081.PCRS_CD IN (SELECT KK0791.PCRS_CD ")
					.append("                                FROM KK_M_PCRS KK0791 ")
					.append("                                WHERE TAJGS_BUNDLE_DIV = '001' ")
					.append("                                AND PCRS_TSTAYMD <= ? ")
					.append("                                AND PCRS_TENDYMD >= ? ")
					.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("                                ) ")
					.append("                            OR ")
					.append("                               KK1681.IDO_RSV_NO IS NOT NULL ")
					.append("            ) ")
					.append("         AND (KK0081.SVC_KEI_NO, KK0081.RSV_APLY_YMD || KK0081.GENE_ADD_DTM) =  ")
					.append("         (SELECT  ")
					.append("            KK0081_GENE.SVC_KEI_NO, MAX(KK0081_GENE.RSV_APLY_YMD || KK0081_GENE.GENE_ADD_DTM) AS KK0081_GENE_MAX  ")
					.append("         FROM  ")
					.append("            KK_T_SVC_KEI KK0081_GENE  ")
					.append("         WHERE  ")
					.append("             KK0081_GENE.SVC_KEI_NO = KK0081.SVC_KEI_NO  ")
					.append("         AND KK0081_GENE.RSV_APLY_YMD <= ?  ")
					.append("         AND KK0081_GENE.RSV_APLY_CD = '2'  ")
					.append("         AND KK0081_GENE.MK_FLG = '0'  ")
					.append("         GROUP BY  ")
					.append("         KK0081_GENE.SVC_KEI_NO)) OP_INFO ")
					.append(" ON ")
					.append("     KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
// ANK-3949-00-00 ADD END
				else
				{
					// 処理区分が上記以外の場合は返却しない
					sql_Buff.append(" INNER JOIN (SELECT '' AS SVC_KEI_NO, '' AS OP_KEI_STAT FROM DUAL) OP_INFO ")
							.append(" ON KK0081.SVC_KEI_NO = OP_INFO.SVC_KEI_NO ");
				}
				
				sql_Buff.append(" LEFT OUTER JOIN ")
						.append("     (SELECT ")
						.append("            KK0481.SVC_KEI_NO AS SVC_KEI_NO ")
						.append("           ,KK0451.WRIB_SVC_KEI_STAT AS CP_WRIB_STAT ")
						.append("       FROM ")
						.append("           KK_T_WRISVC_TG_KEI KK0481 ")
						.append("       INNER JOIN ")
						.append("           KK_T_WRIB_SVC_KEI KK0451 ")
						.append("       ON ")
						.append("           KK0481.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
						.append("       WHERE ")
// IT1-2023-0000013 MOD START
						// .append("           KK0451.WRIB_SVC_CD = ? ");
				// セキュリティパック費用割引と多機能ルータ費用割引は、6ヵ月と12ヵ月の２つの割引が存在する。
				// どちらか一方が存在する場合、割引有無を有とし、割引ステータスを返すため
				// 以下のIF文で指定している割引サービスコードがeoプレミアムクラブ施策スキーマから取得したときは
				// OR条件で取得していない施策コードに該当する割引サービスコードを条件に加える。
				.append("           ( KK0451.WRIB_SVC_CD = ? ");
				if ("W10000161".equals(wribCpCode)) 
				{
					sql_Buff.append(" OR  KK0451.WRIB_SVC_CD = 'W10000196' ");
				}
				if ("W10000162".equals(wribCpCode)) 
				{
					sql_Buff.append(" OR  KK0451.WRIB_SVC_CD = 'W10000197' ");
				}
				if ("W10000196".equals(wribCpCode)) 
				{
					sql_Buff.append(" OR  KK0451.WRIB_SVC_CD = 'W10000161' ");
				}
				if ("W10000197".equals(wribCpCode)) 
				{
					sql_Buff.append(" OR  KK0451.WRIB_SVC_CD = 'W10000162' ");
				}
				sql_Buff.append(" ) ");
// IT1-2023-0000013 MOD END
				sql_Buff.append("       AND KK0451.WRIB_SVC_KEI_STAT IN ('010', '100') ")
						.append("       AND (KK0451.WRIB_SVC_KEI_NO, KK0451.RSV_APLY_YMD || KK0451.GENE_ADD_DTM) = ")
						.append("           (SELECT ")
						.append("               KK0451_GENE.WRIB_SVC_KEI_NO ")
						.append("              ,MAX(KK0451_GENE.RSV_APLY_YMD || KK0451_GENE.GENE_ADD_DTM) AS KK0451_GENE_MAX ")
						.append("           FROM ")
						.append("               KK_T_WRIB_SVC_KEI KK0451_GENE ")
						.append("           WHERE ")
						.append("               KK0451_GENE.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
						.append("           AND KK0451_GENE.RSV_APLY_YMD <= ? ")
						.append("           AND KK0451_GENE.RSV_APLY_CD = '2' ")
						.append("           AND KK0451_GENE.MK_FLG = '0' ")
						.append("           GROUP BY ")
						.append("               KK0451_GENE.WRIB_SVC_KEI_NO ")
						.append("           ) ")
						.append("       AND (KK0481.WRIB_SVC_KEI_NO, KK0481.WRIB_SVC_TRGT_KEI_NO, KK0481.GENE_ADD_DTM) = ")
						.append("           (SELECT ")
						.append("                KK0481_GENE.WRIB_SVC_KEI_NO ")
						.append("               ,KK0481_GENE.WRIB_SVC_TRGT_KEI_NO ")
						.append("               ,MAX(KK0481_GENE.GENE_ADD_DTM) AS KK0481_GENE_MAX ")
						.append("           FROM ")
						.append("               KK_T_WRISVC_TG_KEI KK0481_GENE ")
						.append("           WHERE ")
						.append("               KK0481_GENE.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
						.append("           AND KK0481_GENE.WRIB_SVC_TRGT_KEI_NO = KK0481.WRIB_SVC_TRGT_KEI_NO ")
						.append("           AND KK0481_GENE.MK_FLG = '0' ")
						.append("           GROUP BY ")
						.append("                KK0481_GENE.WRIB_SVC_KEI_NO ")
						.append("               ,KK0481_GENE.WRIB_SVC_TRGT_KEI_NO ")
						.append("           ) ")
						.append("       AND KK0451.MK_FLG = '0' ")
						.append("       AND KK0481.MK_FLG = '0' ")
						.append("     ) WRIB_INFO ")
						.append(" ON ")
						.append("     KK0081.SVC_KEI_NO = WRIB_INFO.SVC_KEI_NO ")
						.append(" WHERE ")
						.append("     KK0081.SYSID = ? ");
				
				// 処理区分が「eo光テレビガイド誌費用　割引」の場合
				if (SSK_TV_GUIDE.equals(trnDiv))
				{
					sql_Buff.append(" AND KK0081.SVC_CD = '03' ")
//ANK-3303-00-00 MOD START
//							.append(" AND KK0081.SVC_KEI_STAT IN ('010', '020', '030', '100') ");
//				}
					.append(" AND KK0081.SVC_KEI_STAT IN ('020', '030', '100') ");
				}
				// 処理区分が「セキュリティパック　割引」、「多機能無線ルータ　割引」、「無線LAN中継機　割引」、「メッシュWiFi　割引」、
				// 「おうちの機器補償ＰＣ／ＰＣワイドプラン費用　無料」、「おうちの機器補償ＴＶプラン費用　無料」「インターネットサギウォール for eo費用　無料」、「eo光ネットNetflixパック　割引」の場合
// ANK-3529-06-00 MOD START
//				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_MUSEN_TKNRT.equals(trnDiv))
// ANK-3825-00-00 MOD START
//				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSENLAN.equals(trnDiv))
// ANK-3918-00-00 MOD START
//				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSENLAN.equals(trnDiv) || SSK_MESHWIfI.equals(trnDiv))
				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSENLAN.equals(trnDiv) || SSK_MESHWIfI.equals(trnDiv)
// ANK-3949-00-00 MOD START
//						|| SSK_OUCHIKKHS_PCPLAN.equals(trnDiv) || SSK_OUCHIKKHS_TVPLAN.equals(trnDiv) || SSK_INETSGW_FOR_EO.equals(trnDiv))
// ANK-4307-00-00 MOD START
//						|| SSK_OUCHIKKHS_PCPLAN.equals(trnDiv) || SSK_OUCHIKKHS_TVPLAN.equals(trnDiv) || SSK_INETSGW_FOR_EO.equals(trnDiv) || SSK_NETFLIX.equals(trnDiv))
						|| SSK_OUCHIKKHS_PCPLAN.equals(trnDiv) || SSK_OUCHIKKHS_TVPLAN.equals(trnDiv) || SSK_INETSGW_FOR_EO.equals(trnDiv) || SSK_NETFLIX.equals(trnDiv)
						// 「eo光多機能ルーター（無線ルーター機能）費用 割引（6回分）」「eoセキュリティーパック費用 割引（6回分）」
						|| SSK_SECURITYPACK_SIX.equals(trnDiv) || SSK_MUSEN_TKNRT_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END
// ANK-3949-00-00 MOD END
// ANK-3918-00-00 MOD END
// ANK-3825-00-00 MOD END
// ANK-3529-06-00 MOD END
				{
					sql_Buff.append(" AND KK0081.SVC_CD = '01' ")
					.append(" AND KK0081.SVC_KEI_STAT IN ('020', '030', '100') ");
				}
//ANK-3303-00-00 MOD END
// ANK-3754-00-00 ADD START
				// 処理区分が「あんしん電話パック費用　無料」の場合
				else if (SSK_ANSN_PACK.equals(trnDiv) )
				{
					sql_Buff.append(" AND KK0081.SVC_CD = '02' ")
					.append(" AND KK0081.SVC_KEI_STAT IN ('020', '030', '100') ");
				}
//ANK-3754-00-00 ADD END
				
				sql_Buff.append(" AND (KK0081.SVC_KEI_NO, KK0081.RSV_APLY_YMD || KK0081.GENE_ADD_DTM) = ")
						.append("     (SELECT ")
						.append("          KK0081_GENE.SVC_KEI_NO ")
						.append("         ,MAX(KK0081_GENE.RSV_APLY_YMD || KK0081_GENE.GENE_ADD_DTM) AS KK0081_GENE_MAX ")
						.append("     FROM ")
						.append("         KK_T_SVC_KEI KK0081_GENE ")
						.append("     WHERE ")
						.append("         KK0081_GENE.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
						.append("     AND KK0081_GENE.RSV_APLY_YMD <= ? ")
						.append("     AND KK0081_GENE.RSV_APLY_CD = '2' ")
						.append("     AND KK0081_GENE.MK_FLG = '0' ")
						.append("     GROUP BY ")
						.append("         KK0081_GENE.SVC_KEI_NO ")
						.append("     ) ")
						.append(" AND (KK0781.PRC_GRP_CD, KK0781.RSV_APLY_YMD || KK0781.GENE_ADD_DTM) = ")
						.append("    (SELECT ")
						.append("          KK0781_GENE.PRC_GRP_CD ")
						.append("         ,MAX(KK0781_GENE.RSV_APLY_YMD || KK0781_GENE.GENE_ADD_DTM) AS KK0781_GENE_MAX ")
						.append("     FROM ")
						.append("         KK_M_PRC_GRP KK0781_GENE ")
						.append("     WHERE ")
						.append("         KK0781_GENE.PRC_GRP_CD = KK0781.PRC_GRP_CD ")
						.append("     AND KK0781_GENE.RSV_APLY_YMD <= ? ")
						.append("     AND KK0781_GENE.MK_FLG = '0' ")
						.append("     GROUP BY ")
						.append("         KK0781_GENE.PRC_GRP_CD ")
						.append("     ) ")
						.append(" AND KK0081.MK_FLG = '0' ")
						.append(" AND KK0781.MK_FLG = '0' ")
						.append(" AND KK2141.OLD_ICS_CD_CHG_TSTAYMD <= ? ")
						.append(" AND KK2141.OLD_ICS_CD_CHG_TENDYMD >= ? ")
						.append(" AND KK2141.RNK_SAKI_SYS_SKBT_CD = '" + JCKStrConst.RNK_SAKI_SYS_SKBT_CD_AXM + "' ")
//ANK-3303-00-00 ADD START
						.append(" AND NVL(KK2141.SOKU_WARI_UM, '0') =  ")
						.append("     (SELECT CASE ")
						.append("         WHEN EXISTS ( ")
						.append("             SELECT ")
						.append("                 1 ")
						.append("             FROM ")
						.append("                 KK_T_WRIB_SVC_KEI KK0451 ")
						.append("         INNER JOIN ")
						.append("             KK_T_WRISVC_TG_KEI KK0481 ")
						.append("         ON     KK0481.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
						.append("         AND    KK0481.WRISVC_TG_KEI_TSTAYMD <= ? ")
						.append("         AND    KK0481.WRISVC_TG_KEI_TENDYMD >= ? ")
						.append("         AND   (KK0481.WRIB_SVC_KEI_NO, KK0481.WRIB_SVC_TRGT_KEI_NO, KK0481.GENE_ADD_DTM) = ")
						.append("            (SELECT KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO, MAX(KK0481_GENE.GENE_ADD_DTM) AS KK0481_MAX ")
						.append("             FROM   KK_T_WRISVC_TG_KEI KK0481_GENE ")
						.append("             WHERE  KK0481_GENE.WRIB_SVC_KEI_NO = KK0481.WRIB_SVC_KEI_NO ")
						.append("             AND    KK0481_GENE.WRIB_SVC_TRGT_KEI_NO = KK0481.WRIB_SVC_TRGT_KEI_NO ")
						.append("             AND    KK0481_GENE.MK_FLG = '0' ")
						.append("             GROUP BY KK0481_GENE.WRIB_SVC_KEI_NO, KK0481_GENE.WRIB_SVC_TRGT_KEI_NO) ")
						.append("         INNER JOIN ")
						.append("             KK_M_WRIB_SVC KK0841 ")
						.append("         ON     KK0841.WRIB_SVC_CD = KK0451.WRIB_SVC_CD ")
						.append("         AND   (KK0841.WRIB_SVC_CD, KK0841.RSV_APLY_YMD || KK0841.GENE_ADD_DTM) = ")
						.append("            (SELECT ")
						.append("                 KK0841_GENE.WRIB_SVC_CD, MAX(KK0841_GENE.RSV_APLY_YMD || KK0841_GENE.GENE_ADD_DTM) AS KK0841_MAX ")
						.append("             FROM ")
						.append("                 KK_M_WRIB_SVC KK0841_GENE ")
						.append("             WHERE  KK0841_GENE.WRIB_SVC_CD = KK0841.WRIB_SVC_CD ")
						.append("             AND    KK0841_GENE.RSV_APLY_YMD <= ? ")
						.append("             AND    KK0841_GENE.MK_FLG = '0' ")
						.append("             GROUP BY KK0841_GENE.WRIB_SVC_CD) ")
						.append("         WHERE  KK0481.SVC_KEI_NO = KK0081.SVC_KEI_NO ")
						.append("         AND    KK0841.WRIB_TYPE_CD = '31' ")
						.append("         AND    KK0451.WRIB_SVC_KEI_STAT IN ('010', '100', '300') ")
						.append("         AND   (KK0451.WRIB_SVC_KEI_NO, KK0451.RSV_APLY_YMD || KK0451.GENE_ADD_DTM) = ")
						.append("            (SELECT KK0451_GENE.WRIB_SVC_KEI_NO, MAX(KK0451_GENE.RSV_APLY_YMD || KK0451_GENE.GENE_ADD_DTM) AS KK0451_MAX ")
						.append("             FROM   KK_T_WRIB_SVC_KEI KK0451_GENE ")
						.append("             WHERE  KK0451_GENE.WRIB_SVC_KEI_NO = KK0451.WRIB_SVC_KEI_NO ")
						.append("             AND    KK0451_GENE.RSV_APLY_YMD <= ? ")
						.append("             AND    KK0451_GENE.RSV_APLY_CD = '2' ")
						.append("             AND    KK0451_GENE.MK_FLG = '0' ")
						.append("             GROUP BY KK0451_GENE.WRIB_SVC_KEI_NO) ")
						.append("        ) THEN '1' ")
						.append("        ELSE '0' ")
						.append("          END AS SOKU_WARI_UM ")
						.append("     FROM ")
						.append("         DUAL ")
						.append("      ) ")
//ANK-3303-00-00 ADD END
						.append(" AND KK2141.MK_FLG = '0' ")
						.append(" ORDER BY ")
						.append("      KK0781.DSP_JUN ")
						.append("     ,KK2141.OLD_ICS_KEI_SVC_CD ")
						.append("     ,KK2141.OLD_ICS_PPLAN_CD ")
						.append("     ,KK0081.SVC_KEI_NO ");
			}
			
			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());
			
			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ("1".equals(inMsg.getString(EKK0081B544CBSMsg.FUNC_CODE)))
			{
				// 運用日付を取得
				String opeDate = JKKModelCommon.getOpeDate(inMsg);
				
				// 処理区分が「eo光テレビガイド誌費用　割引」の場合
				if (SSK_TV_GUIDE.equals(trnDiv))
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 2, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 4, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
//ANK-3303-00-00 ADD START
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
//ANK-3303-00-00 ADD END
				}
//ANK-3303-00-00 ADD START
// ANK-4307-00-00 MOD START
				// else if (SSK_SECURITYPACK.equals(trnDiv))
				else if (SSK_SECURITYPACK.equals(trnDiv) || SSK_SECURITYPACK_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 2, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 4, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
				}
// ANK-4307-00-00 MOD START
				// else if (SSK_MUSEN_TKNRT.equals(trnDiv))
				else if (SSK_MUSEN_TKNRT.equals(trnDiv) || SSK_MUSEN_TKNRT_SIX.equals(trnDiv))
// ANK-4307-00-00 MOD END					
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 2, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 4, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 7, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 9, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 13, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 14, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 15, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 16, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 17, opeDate);
				}
//ANK-3303-00-00 ADD END
// ANK-3529-06-00 ADD START
				// ANK-3825-00-00 MOD START
				// 処理区分が「無線LAN中継機　割引」、「メッシュWiFi　割引」の場合
//				else if (SSK_MUSENLAN.equals(trnDiv))
				else if (SSK_MUSENLAN.equals(trnDiv)|| SSK_MESHWIfI.equals(trnDiv))
				// ANK-3825-00-00 MOD END
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 2, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 4, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
				}
// ANK-3529-06-00 ADD END
//ANK-3754-00-00 ADD START
				else if (SSK_ANSN_PACK.equals(trnDiv))
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 2, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 4, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
				}
// ANK-3754-00-00 ADD END
// ANK-3918-00-00 ADD START
				// 処理区分が「おうちの機器補償ＰＣ／ＰＣワイドプラン費用　無料」、
				// 「おうちの機器補償ＴＶプラン費用　無料」、「インターネットサギウォール for eo費用　無料」の場合
				else if (SSK_OUCHIKKHS_PCPLAN.equals(trnDiv) || SSK_OUCHIKKHS_TVPLAN.equals(trnDiv) || SSK_INETSGW_FOR_EO.equals(trnDiv))
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 2, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 4, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
				}
// ANK-3918-00-00 ADD END
// ANK-3949-00-00 ADD START
				// 処理区分が「eo光ネットNetflixパック　割引」
				else if (SSK_NETFLIX.equals(trnDiv))
				{
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 1, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 2, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 3, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 4, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 11, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 12, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 13, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 14, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 15, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 16, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 17, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 18, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 19, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 20, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 21, opeDate);
				}
// ANK-3949-00-00 ADD END
				else
				{
					// パラメータの設定(割引サービスコードを指定)
					CAANJDBCUtil.setParam(pstmt, 1, wribCpCode);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 2, opeDate);
					// パラメータの設定(ＫＥＹ＿ＳＹＳＩＤを指定)
					CAANJDBCUtil.setParam(pstmt, 3, inMsg.getObject(EKK0081B544CBSMsg.KEY_SYSID));
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 4, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 5, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 6, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 7, opeDate);
//ANK-3303-00-00 ADD START
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 8, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 9, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 10, opeDate);
					// パラメータの設定(運用日付を指定)
					CAANJDBCUtil.setParam(pstmt, 11, opeDate);
//ANK-3303-00-00 ADD END
				}
			}
			
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();
			
			// EKK0081B544CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  EKK0081B544CBSMsg1List.SVC_KEI_NO
					, EKK0081B544CBSMsg1List.OP_KEI_UM
					, EKK0081B544CBSMsg1List.OP_KEI_STAT
					, EKK0081B544CBSMsg1List.CP_WRIB_UM
					, EKK0081B544CBSMsg1List.CP_WRIB_STAT
			};
			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery,msgKeyList1,"eo.ejb.cbs.cbsmsg.EKK0081B544CBSMsg1List",0);
			// inMsg(CBSMsg)に明細をセット
			inMsg.set("EKK0081B544CBSMsg1List", outMsg1);
			

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