itn 2023-06-19
알림톡 예약관리 쿼리 개선
@81c999966cde4ac4f52313e4ac0cdf8ee6bd11cf
src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
--- src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
@@ -20,6 +20,7 @@
 import itn.com.cmm.LoginVO;
 import itn.com.cmm.service.EgovCmmUseService;
 import itn.com.cmm.service.FileVO;
+import itn.com.cmm.util.MJUtil;
 import itn.com.cmm.util.StringUtil;
 import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
 import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
@@ -231,7 +232,15 @@
 			kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
 			// 문자발송 완료건은 모두 보이도록 처리
 			//kakaoVO.setMsgType("8");
-			resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(kakaoVO);
+			
+			// 기간검색 설정
+	    	String toDay = MJUtil.getTodayDate();	//오늘    
+	    	String beforeMonthDay = MJUtil.getBefore1MonthDate();	//한달 전        
+	    	if (null == kakaoVO.getNtceBgnde() || kakaoVO.getNtceBgnde().equals("")) {
+	    		kakaoVO.setNtceBgnde(beforeMonthDay);
+	    	}					
+				
+			resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO);
 			
 	        model.addAttribute("resultList", resultList);
 	        
src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
@@ -78,7 +78,6 @@
 import itn.let.fax.user.service.FaxGroupDataVO;
 import itn.let.fax.user.service.FaxService;
 import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
-import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATSentVO;
 import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
 import itn.let.kakao.kakaoComm.KakaoReturnVO;
 import itn.let.kakao.kakaoComm.KakaoVO;
@@ -1168,8 +1167,8 @@
 			 * 최근 알리톡/친구톡 전송 내역
 			 * */			
 			//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
-			List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
-			model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);			
+			//List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
+			//model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);			
 		}
 		
 		{
src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
@@ -208,7 +208,6 @@
 			LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
 			ON	M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY 
 			AND MKPI.USER_ID = M.USER_ID
-			AND	MKPI.DELETE_YN = 'N'
 			LEFT JOIN LETTNGNRLMBER LTM
 			ON	M.USER_ID = LTM.MBER_ID
 			LEFT JOIN BIZ_LOG BL
@@ -519,7 +518,6 @@
 			LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
 			ON	M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY 
 			AND MKPI.USER_ID = M.USER_ID
-			AND	MKPI.DELETE_YN = 'N'
 			LEFT JOIN LETTNGNRLMBER LTM
 			ON	M.USER_ID = LTM.MBER_ID
 			LEFT JOIN BIZ_LOG BL
@@ -1029,50 +1027,86 @@
 	<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO">
 	/*	mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회	*/
 		SELECT
-			COUNT(M.USER_ID) OVER()					AS totCnt ,
-			M.USER_ID                             AS userId ,
-			MSG_GROUP_ID                          AS msgGroupId ,
-			MSG_GROUP_CNT                         AS msgGroupCnt ,
-			SMS_TXT                               AS smsTxt ,
-			M.SUBJECT                             AS subject ,
-			DATE_FORMAT(REGDATE, '%Y-%m-%d %T')   AS regDate ,
-			DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T')  AS reqDate ,
-			DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
-			CALL_FROM                             AS callFrom ,
-			CALL_TO                               AS callTo ,
-			TOT_PRICE                             AS totPrice ,
-			EACH_PRICE                            AS eachPrice ,
-			CUR_STATE                             AS curState ,
-			RSLT_CODE                             AS rsltCode ,
-			RSLT_CODE2                            AS rsltCode2 ,
-			IF((RSLT_CODE != '7000'),'1','0')     AS orderByrsltCode ,
-			DEL_FLAG                              AS delFlag ,
-			M.MSG_TYPE                            AS msgType ,
-			FILE_CNT                              AS fileCnt ,
-			AGENT_CODE                            AS agentCode ,
-			RESERVE_YN                            AS reserveYn ,
-			RESERVE_C_YN                          AS reserveCYn ,
-			CANCELDATE                            AS cancelDate ,
-			msgTypeName                           AS msgTypeName ,
-			orderByCode                           AS orderByCode ,
-			RESULT                                AS msgResult ,
-			MSG_NOTICETALK_SENDER_KEY            AS msgNoticetalkSenderKey ,
-	        MSG_NOTICETALK_TMP_KEY               AS msgNoticetalkTmpKey ,
-	        MKPI.YELLOW_ID                       AS yellowId ,
-	        LTM.MBER_NM                          AS userNm ,
-			successCount,
-			atSuccessCount,
-			ftSuccessCount,
-			atFailCount,
-			ftFailCount,
-			BIZ_UMID                              AS bizUmid,
-			BL.CALL_STATUS                        AS callStatus,
-			M.BIZ_KAKAO_RESEND_YN                 AS bizKakaoResendYn,
+			M2.totCnt ,
+			M2.userId ,
+			M2.msgGroupId ,
+			M2.msgGroupCnt ,
+			M2.smsTxt ,
+			M2.subject ,
+			M2.regDate ,
+			M2.reqDate ,
+			M2.rsltDate ,
+			M2.callFrom ,
+			M2.callTo ,
+			M2.totPrice ,
+			M2.eachPrice ,
+			M2.curState ,
+			M2.rsltCode ,
+			M2.rsltCode2 ,
+			M2.orderByrsltCode ,
+			M2.delFlag ,
+			M2.msgType ,
+			M2.fileCnt ,
+			M2.agentCode ,
+			M2.reserveYn ,
+			M2.reserveCYn ,
+			M2.cancelDate ,
+			M2.msgTypeName ,
+			M2.orderByCode ,
+			M2.msgResult ,
+			M2.msgNoticetalkSenderKey ,
+			M2.msgNoticetalkTmpKey ,
+			M2.yellowId ,
+			M2.userNm ,
+			( SELECT COUNT(0) 
+				FROM    MJ_MSG_DATA C
+				WHERE   C.DEL_FLAG     = 'N'
+				AND     C.RESERVE_C_YN = 'N'
+				AND     C.MSG_GROUP_ID = M2.msgGroupId
+				AND     C.RSLT_CODE = '7000'
+			)	AS successCount ,
+			( SELECT COUNT(0) 
+				FROM    MJ_MSG_DATA C
+				WHERE   C.DEL_FLAG     = 'N'
+				AND     C.RESERVE_C_YN = 'N'
+				AND     C.MSG_GROUP_ID = M2.msgGroupId
+				AND     C.RSLT_CODE = '7000'
+				AND     C.MSG_TYPE = '8'
+			)	AS atSuccessCount ,
+			( SELECT COUNT(0) 
+				FROM    MJ_MSG_DATA C
+				WHERE   C.DEL_FLAG     = 'N'
+				AND     C.RESERVE_C_YN = 'N'
+				AND     C.MSG_GROUP_ID = M2.msgGroupId
+				AND     C.RSLT_CODE != '7000'
+				AND     C.MSG_TYPE = '8'
+			)	AS atFailCount ,
+			<!-- ( SELECT COUNT(0) 
+				FROM    MJ_MSG_DATA C
+				WHERE   C.DEL_FLAG     = 'N'
+				AND     C.RESERVE_C_YN = 'N'
+				AND     C.MSG_GROUP_ID = M2.msgGroupId
+				AND     C.RSLT_CODE = '7000'
+				AND     C.MSG_TYPE = '9'
+			)	AS ftSuccessCount ,
+			( SELECT COUNT(0) 
+				FROM    MJ_MSG_DATA C
+				WHERE   C.DEL_FLAG     = 'N'
+				AND     C.RESERVE_C_YN = 'N'
+				AND     C.MSG_GROUP_ID = M2.msgGroupId
+				AND     C.RSLT_CODE != '7000'
+				AND     C.MSG_TYPE = '9'
+			)	AS ftFailCount ,-->
+			'0' AS ftSuccessCount,
+			'0' AS ftFailCount,
+			M2.bizUmid,
+			M2.callStatus,
+			M2.bizKakaoResendYn,
 			( SELECT COUNT(0)
 			FROM    BIZ_LOG BL1,
 			 MJ_MSG_DATA MMD1
-			WHERE   M.BIZ_KAKAO_RESEND_YN = 'Y'
-			AND     M.MSG_GROUP_ID        = MMD1.MSG_GROUP_ID
+			WHERE   M2.bizKakaoResendYn = 'Y'
+			AND     M2.msgGroupId        = MMD1.MSG_GROUP_ID
 			AND     MMD1.BIZ_UMID         = BL1.CMID
 			AND     (
 					 CASE
@@ -1084,8 +1118,8 @@
 			( SELECT COUNT(0)
 			FROM    BIZ_LOG BL1,
 			 MJ_MSG_DATA MMD1
-			WHERE   M.BIZ_KAKAO_RESEND_YN = 'Y'
-			AND     M.MSG_GROUP_ID        = MMD1.MSG_GROUP_ID
+			WHERE   M2.bizKakaoResendYn = 'Y'
+			AND     M2.msgGroupId        = MMD1.MSG_GROUP_ID
 			AND     MMD1.BIZ_UMID         = BL1.CMID
 			AND     (
 					 CASE
@@ -1095,144 +1129,110 @@
 					 END ) = 'F'
 			) kakaoResendFailCount
 		FROM ( 
-				SELECT MG.USER_ID ,
-				MG.MSG_GROUP_ID ,
-				MG.MSG_GROUP_CNT ,
-				MG.SMS_TXT ,
-				MG.SUBJECT ,
-				MG.REGDATE ,
-				MG.REQ_DATE ,
-				MD.RSLT_DATE ,
-				MG.CALL_FROM ,
-				MG.TOT_PRICE ,
-				MG.EACH_PRICE ,
-				MG.DEL_FLAG ,
-				MG.MSG_TYPE ,
-				MG.FILE_CNT ,
-				MG.AGENT_CODE ,
-				MG.RESERVE_YN ,
-				MG.RESERVE_C_YN ,
-				MG.CANCELDATE ,
-				MD.MSG_SEQ ,
-				MD.CALL_TO ,
-				MD.CUR_STATE ,
-				MD.RSLT_CODE ,
-				MD.RSLT_CODE2 ,
-				CASE
-					 WHEN MG.MSG_TYPE = '8'
-					 THEN '알림톡'
-					 WHEN MG.MSG_TYPE = '9'
-					 THEN '친구톡'
-				END msgTypeName ,
-				CASE
-					WHEN MG.MSG_TYPE = '8'
-					THEN '1'
-					ELSE '2'
-				END orderByCode , 
-				(
+			SELECT
+				COUNT(M.USER_ID) OVER()					AS totCnt ,
+				M.USER_ID                             AS userId ,
+				MSG_GROUP_ID                          AS msgGroupId ,
+				MSG_GROUP_CNT                         AS msgGroupCnt ,
+				SMS_TXT                               AS smsTxt ,
+				M.SUBJECT                             AS subject ,
+				DATE_FORMAT(REGDATE, '%Y-%m-%d %T')   AS regDate ,
+				DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T')  AS reqDate ,
+				DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
+				CALL_FROM                             AS callFrom ,
+				CALL_TO                               AS callTo ,
+				TOT_PRICE                             AS totPrice ,
+				EACH_PRICE                            AS eachPrice ,
+				CUR_STATE                             AS curState ,
+				RSLT_CODE                             AS rsltCode ,
+				RSLT_CODE2                            AS rsltCode2 ,
+				IF((RSLT_CODE != '7000'),'1','0')     AS orderByrsltCode ,
+				DEL_FLAG                              AS delFlag ,
+				M.MSG_TYPE                            AS msgType ,
+				FILE_CNT                              AS fileCnt ,
+				AGENT_CODE                            AS agentCode ,
+				RESERVE_YN                            AS reserveYn ,
+				RESERVE_C_YN                          AS reserveCYn ,
+				CANCELDATE                            AS cancelDate ,
+				msgTypeName                           AS msgTypeName ,
+				orderByCode                           AS orderByCode ,
+				RESULT                                AS msgResult ,
+				MSG_NOTICETALK_SENDER_KEY            AS msgNoticetalkSenderKey ,
+		        MSG_NOTICETALK_TMP_KEY               AS msgNoticetalkTmpKey ,
+		        MKPI.YELLOW_ID                       AS yellowId ,
+		        LTM.MBER_NM                          AS userNm ,
+				BIZ_UMID                              AS bizUmid,
+				BL.CALL_STATUS                        AS callStatus,
+				M.BIZ_KAKAO_RESEND_YN                 AS bizKakaoResendYn
+			FROM ( 
+					SELECT MG.USER_ID ,
+					MG.MSG_GROUP_ID ,
+					MG.MSG_GROUP_CNT ,
+					MG.SMS_TXT ,
+					MG.SUBJECT ,
+					MG.REGDATE ,
+					MG.REQ_DATE ,
+					MD.RSLT_DATE ,
+					MG.CALL_FROM ,
+					MG.TOT_PRICE ,
+					MG.EACH_PRICE ,
+					MG.DEL_FLAG ,
+					MG.MSG_TYPE ,
+					MG.FILE_CNT ,
+					MG.AGENT_CODE ,
+					MG.RESERVE_YN ,
+					MG.RESERVE_C_YN ,
+					MG.CANCELDATE ,
+					MD.MSG_SEQ ,
+					MD.CALL_TO ,
+					MD.CUR_STATE ,
+					MD.RSLT_CODE ,
+					MD.RSLT_CODE2 ,
 					CASE
-						WHEN MD.RSLT_CODE = '7000'
-						THEN 'S'
-						WHEN (MD.RSLT_CODE IS NULL    AND     MD.SENT_DATE IS NULL   AND     MD.RSLT_DATE IS NULL)
-						THEN 'W'
-						ELSE 'F'
-					END 
-				) AS result ,
-				( SELECT COUNT(0) 
-					FROM    MJ_MSG_DATA C
-					WHERE   C.DEL_FLAG     = 'N'
-					AND     C.RESERVE_C_YN = 'N'
-					AND     C.MSG_GROUP_ID = MG.MSG_GROUP_ID
-					AND     C.RSLT_CODE = '7000'
-				)	AS successCount ,
-				( SELECT COUNT(0) 
-					FROM    MJ_MSG_DATA C
-					WHERE   C.DEL_FLAG     = 'N'
-					AND     C.RESERVE_C_YN = 'N'
-					AND     C.MSG_GROUP_ID = MG.MSG_GROUP_ID
-					AND     C.RSLT_CODE = '7000'
-					AND     C.MSG_TYPE = '8'
-				)	AS atSuccessCount ,
-				( SELECT COUNT(0) 
-					FROM    MJ_MSG_DATA C
-					WHERE   C.DEL_FLAG     = 'N'
-					AND     C.RESERVE_C_YN = 'N'
-					AND     C.MSG_GROUP_ID = MG.MSG_GROUP_ID
-					AND     C.RSLT_CODE = '7000'
-					AND     C.MSG_TYPE = '9'
-				)	AS ftSuccessCount ,
-				( SELECT COUNT(0) 
-					FROM    MJ_MSG_DATA C
-					WHERE   C.DEL_FLAG     = 'N'
-					AND     C.RESERVE_C_YN = 'N'
-					AND     C.MSG_GROUP_ID = MG.MSG_GROUP_ID
-					AND     C.RSLT_CODE != '7000'
-					AND     C.MSG_TYPE = '8'
-				)	AS atFailCount ,
-				( SELECT COUNT(0) 
-					FROM    MJ_MSG_DATA C
-					WHERE   C.DEL_FLAG     = 'N'
-					AND     C.RESERVE_C_YN = 'N'
-					AND     C.MSG_GROUP_ID = MG.MSG_GROUP_ID
-					AND     C.RSLT_CODE != '7000'
-					AND     C.MSG_TYPE = '9'
-				)	AS ftFailCount ,
-				MSG_NOTICETALK_SENDER_KEY ,
-				MSG_NOTICETALK_TMP_KEY,
-				MD.BIZ_UMID,
-				MD.BIZ_KAKAO_RESEND_YN
-			FROM    MJ_MSG_DATA MD ,
-					MJ_MSG_GROUP_DATA MG
-			WHERE	MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
-				AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
-				AND MD.DEL_FLAG = 'N'
-			<isNotEmpty property="userId">
-				AND MG.USER_ID = #userId#
-			</isNotEmpty>
-				AND MG.DEL_FLAG ='N'
-				AND MG.RESERVE_C_YN = 'N'
-				AND MG.MSG_TYPE = '8'
-			)M
-			LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
-			ON	M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY 
-			AND MKPI.USER_ID = M.USER_ID
-			AND	MKPI.DELETE_YN = 'N'
-			LEFT JOIN LETTNGNRLMBER LTM
-			ON	M.USER_ID = LTM.MBER_ID
-			LEFT JOIN BIZ_LOG BL
-			ON	M.BIZ_UMID = BL.CMID
-			WHERE 1=1
-			<isNotEmpty property="searchKeyword">
-				<isEqual property="searchCondition" compareValue="" >
-					AND ( 
-						M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
-						OR   MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
-						OR   M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
-					)
-				</isEqual>
-				<isEqual property="searchCondition" compareValue="1">
-					AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
-				</isEqual>
-				<isEqual property="searchCondition" compareValue="2">
-					AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
-				</isEqual>
-				<isEqual property="searchCondition" compareValue="3">
-					AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
-				</isEqual>
-				
-				<isEqual property="searchCondition2" compareValue="" >
-					AND M.RESERVE_YN IN ('Y','N')
-				</isEqual>
-				<isEqual property="searchCondition2" compareValue="N">
-					AND M.RESERVE_YN = 'N'
-				</isEqual>
-				<isEqual property="searchCondition2" compareValue="Y">
-					AND M.RESERVE_YN = 'Y'
-				</isEqual>
-			</isNotEmpty>
-			
-			<isEmpty property="searchKeyword">
-				<isNotEmpty property="searchCondition">
+						 WHEN MG.MSG_TYPE = '8'
+						 THEN '알림톡'
+						 WHEN MG.MSG_TYPE = '9'
+						 THEN '친구톡'
+					END msgTypeName ,
+					CASE
+						WHEN MG.MSG_TYPE = '8'
+						THEN '1'
+						ELSE '2'
+					END orderByCode , 
+					(
+						CASE
+							WHEN MD.RSLT_CODE = '7000'
+							THEN 'S'
+							WHEN (MD.RSLT_CODE IS NULL    AND     MD.SENT_DATE IS NULL   AND     MD.RSLT_DATE IS NULL)
+							THEN 'W'
+							ELSE 'F'
+						END 
+					) AS result ,
+					MSG_NOTICETALK_SENDER_KEY ,
+					MSG_NOTICETALK_TMP_KEY,
+					MD.BIZ_UMID,
+					MD.BIZ_KAKAO_RESEND_YN
+				FROM    MJ_MSG_DATA MD ,
+						MJ_MSG_GROUP_DATA MG
+				WHERE	MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
+					AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
+					AND MD.DEL_FLAG = 'N'
+				<isNotEmpty property="userId">
+					AND MG.USER_ID = #userId#
+				</isNotEmpty>
+					AND MG.DEL_FLAG ='N'
+					AND MG.RESERVE_C_YN = 'N'
+					AND MG.MSG_TYPE = '8'
+				)M
+				LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
+				ON	M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY 
+				AND MKPI.USER_ID = M.USER_ID
+				LEFT JOIN LETTNGNRLMBER LTM
+				ON	M.USER_ID = LTM.MBER_ID
+				LEFT JOIN BIZ_LOG BL
+				ON	M.BIZ_UMID = BL.CMID
+				WHERE 1=1
+				<isNotEmpty property="searchKeyword">
 					<isEqual property="searchCondition" compareValue="" >
 						AND ( 
 							M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
@@ -1249,8 +1249,7 @@
 					<isEqual property="searchCondition" compareValue="3">
 						AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
 					</isEqual>
-				</isNotEmpty>
-				<isNotEmpty property="searchCondition2">
+					
 					<isEqual property="searchCondition2" compareValue="" >
 						AND M.RESERVE_YN IN ('Y','N')
 					</isEqual>
@@ -1261,45 +1260,77 @@
 						AND M.RESERVE_YN = 'Y'
 					</isEqual>
 				</isNotEmpty>
-			</isEmpty>
-			
-			
-			<isNotEmpty property="msgType">
-				<isEqual property="msgType" compareValue="8">
-					AND M.MSG_TYPE = '8'
+				
+				<isEmpty property="searchKeyword">
+					<isNotEmpty property="searchCondition">
+						<isEqual property="searchCondition" compareValue="" >
+							AND ( 
+								M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
+								OR   MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
+								OR   M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
+							)
+						</isEqual>
+						<isEqual property="searchCondition" compareValue="1">
+							AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
+						</isEqual>
+						<isEqual property="searchCondition" compareValue="2">
+							AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
+						</isEqual>
+						<isEqual property="searchCondition" compareValue="3">
+							AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
+						</isEqual>
+					</isNotEmpty>
+					<isNotEmpty property="searchCondition2">
+						<isEqual property="searchCondition2" compareValue="" >
+							AND M.RESERVE_YN IN ('Y','N')
+						</isEqual>
+						<isEqual property="searchCondition2" compareValue="N">
+							AND M.RESERVE_YN = 'N'
+						</isEqual>
+						<isEqual property="searchCondition2" compareValue="Y">
+							AND M.RESERVE_YN = 'Y'
+						</isEqual>
+					</isNotEmpty>
+				</isEmpty>
+				
+				
+				<isNotEmpty property="msgType">
+					<isEqual property="msgType" compareValue="8">
+						AND M.MSG_TYPE = '8'
+					</isEqual>
+					<isEqual property="msgType" compareValue="9">
+						AND M.MSG_TYPE = '9'
+					</isEqual>
+				</isNotEmpty>
+				<isEmpty property="msgType">
+						AND M.MSG_TYPE IN ('8','9')
+				</isEmpty>
+				<isNotEmpty property="ntceBgnde">
+					<![CDATA[ 
+						AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d')
+					]]>
+				</isNotEmpty>
+				<isNotEmpty property="ntceEndde">
+					<![CDATA[ 
+						AND 	DATE_FORMAT(REGDATE, '%Y-%m-%d')  <=  DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')  
+					]]>
+				</isNotEmpty>
+			GROUP BY MSG_GROUP_ID
+			ORDER BY 1=1
+			<isNotEmpty property="searchSortCnd">
+				<isEqual property="searchSortCnd" compareValue="curState">
+					, curState  $searchSortOrd$
+					, orderByrsltCode
 				</isEqual>
-				<isEqual property="msgType" compareValue="9">
-					AND M.MSG_TYPE = '9'
-				</isEqual>
+				<isNotEqual  property="searchSortCnd" compareValue="curState">
+					,$searchSortCnd$
+				</isNotEqual>
 			</isNotEmpty>
-			<isEmpty property="msgType">
-					AND M.MSG_TYPE IN ('8','9')
-			</isEmpty>
-			<isNotEmpty property="ntceBgnde">
-				<![CDATA[ 
-					AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d')
-				]]>
+			<isNotEmpty property="searchSortOrd">
+				$searchSortOrd$
 			</isNotEmpty>
-			<isNotEmpty property="ntceEndde">
-				<![CDATA[ 
-					AND 	DATE_FORMAT(REGDATE, '%Y-%m-%d')  <=  DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')  
-				]]>
-			</isNotEmpty>
-		GROUP BY MSG_GROUP_ID
-		ORDER BY 1=1
-		<isNotEmpty property="searchSortCnd">
-			<isEqual property="searchSortCnd" compareValue="curState">
-				, curState  $searchSortOrd$
-				, orderByrsltCode
-			</isEqual>
-			<isNotEqual  property="searchSortCnd" compareValue="curState">
-				,$searchSortCnd$
-			</isNotEqual>
-		</isNotEmpty>
-		<isNotEmpty property="searchSortOrd">
-			$searchSortOrd$
-		</isNotEmpty>
-		LIMIT  #recordCountPerPage# OFFSET #firstIndex#	
+			LIMIT  #recordCountPerPage# OFFSET #firstIndex#
+		) M2	
 	</select>	
 	
 	<!-- 알림톡 상세 리스트 조회 -->
Add a comment
List