merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정

This commit is contained in:
jilee4unity
2026-05-28 23:34:06 +09:00
7250 changed files with 570509 additions and 25 deletions

View File

@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.mapper.BOAtmcSndngMapper">
<!-- sms 발송 관리 목록 조회 FROM 절 -->
<sql id = "SmsSndngDtlsListFrom">
FROM GC_SMS_TO SMSTO
INNER JOIN GC_SMS SMS
ON SMSTO.SMS_INNB = SMS.SMS_INNB
AND SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
</sql>
<!-- sms 발송 관리 목록 조회 WHERE 절 -->
<sql id = "SmsSndngDtlsListWhere">
<![CDATA[
WHERE 1=1
]]>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
<![CDATA[
AND SMS.SOPMAL_CD = #{sopmalCd}
AND SMSTO.SOPMAL_CD = #{sopmalCd}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)">
<![CDATA[
AND SMS.SOPMAL_CD = #{srchSopmalCd}
AND SMSTO.SOPMAL_CD = #{srchSopmalCd}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
<![CDATA[
AND SMS.SMS_INNB = #{srchSmsInnb}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsToInnb)">
<![CDATA[
AND SMSTO.SMS_TO_INNB = #{srchSmsToInnb}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRecptnNb)">
<![CDATA[
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) = REPLACE(#{srchRecptnNb},'-','')
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
<choose>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchNbDv, 'recpntNb')">
<![CDATA[
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) LIKE CONCAT('%', REPLACE(#{srchStr},'-',''), '%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchNbDv, 'sndngNb')">
<![CDATA[
AND SMS.SNDNG_NB LIKE CONCAT('%', #{srchStr}, '%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchNbDv, 'cstmrIdnb')">
<![CDATA[
AND SMSTO.CSTMR_IDNB LIKE CONCAT('%', #{srchStr}, '%')
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchNbDv, 'cn')">
<![CDATA[
AND (
SMS.CN LIKE CONCAT('%', #{srchStr}, '%')
OR SMSTO.SUBST_DATA LIKE CONCAT('%', #{srchStr}, '%')
)
]]>
</when>
</choose>
</if>
<!-- 발송일 -->
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'sndngDt')">
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT >= #{srchStrtSndngDt} ' 00:00:00'
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT <= #{srchEndSndngDt} ' 00:00:00'
]]>
</when>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.SNDNG_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
]]>
</when>
</choose>
</if>
<!-- 등록일 -->
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'registDt')">
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
<![CDATA[
AND SMS.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
]]>
</when>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.REGIST_DT <= #{srchEndSndngDt} ' 00:00:00'
]]>
</when>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
<![CDATA[
AND SMS.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
]]>
</when>
</choose>
</if>
<choose>
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchDv)">
<![CDATA[
AND SMSTO.DV IN
]]>
<foreach collection="srchDv" item="dv" open="(" separator="," close=")">
<![CDATA[
#{dv}
]]>
</foreach>
</when>
<otherwise>
AND SMSTO.DV != 'AT'
AND SMSTO.DV != 'AI'
</otherwise>
</choose>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSttus)">
<![CDATA[
AND SMSTO.STTUS IN
]]>
<foreach collection="srchSttus" item="sttus" open="(" separator="," close=")">
<![CDATA[
#{sttus}
]]>
</foreach>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRegusrDv)">
<![CDATA[
AND SMS.REGUSR_DV = #{srchRegusrDv}
]]>
</if>
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngNb)">
<![CDATA[
AND SMS.SNDNG_NB = #{sndngNb}
AND SMSTO.RECPTN_NB = REPLACE(#{recptnNb},'-','')
]]>
</if>
</sql>
<!-- 자동 발송 관리 목록 -->
<select id="selectBOAtmcSndngManageListInqire"
parameterType="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.vo.BOAtmcSndngVO"
resultType="dataMap">
<![CDATA[
SELECT *
FROM GC_MESSAGE_SNDNG SNDNG
JOIN (
SELECT GROUPCODE.CD_NM AS GROUP_CD_NM, CODE.GROUP_CD, CODE.CD, CODE.CD_NM
FROM (
SELECT CD, CD_NM, USE_AT
FROM GC_CODE
WHERE GROUP_CD LIKE 'FORM_DV%'
) GROUPCODE
JOIN GC_CODE CODE
ON REPLACE(CODE.GROUP_CD, #{formDvCd}, '') = GROUPCODE.CD
AND CODE.USE_AT = 'Y'
) CODE
ON CODE.GROUP_CD = SNDNG.FORM_DV_CD
AND CODE.CD = SNDNG.FORM_DTL_DV_CD
WHERE SNDNG.SOPMAL_CD = #{sopmalCd}
AND SNDNG.EXPSR_AT = 'Y'
AND SNDNG.MNGR_DV = #{mngrDv}
ORDER BY SNDNG.FORM_DV_CD, SNDNG.FORM_DTL_DV_CD
]]>
</select>
<!-- 자동 발송 관리 수정 -->
<update id="updateBOAtmcSndngManageUpdt" parameterType="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.vo.BOAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_MESSAGE_SNDNG
SET
USE_AT = #{dto.useAt}
, EMAIL_USE_AT = #{dto.emailUseAt}
, SMS_USE_AT = #{dto.smsUseAt}
, NTCNTALK_USE_AT = #{dto.ntcntalkUseAt}
, MARKT_AT = #{dto.marktAt}
, SNDNG_STDR_DE = #{dto.sndngStdrDe}
, SNDNG_STDR_TME = #{dto.sndngStdrTme}
, UPDUSR = #{dto.updusr}
, UPDT_DT = SYSDATE()
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 이메일 템플릿 사용여부 수정 -->
<update id="updateBOEmailTmplatUseAt" parameterType="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.vo.BOAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_EMAIL_FORM
SET
USE_AT = #{dto.emailUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 메시지 템플릿 사용여부 수정 -->
<update id="updateBOMssageTmplatUseAt" parameterType="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.vo.BOAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_SMS_FORM
SET
USE_AT = #{dto.smsUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- 알림톡 템플릿 사용여부 수정 -->
<update id="updateBOKakaoTmplatUseAt" parameterType="com.wb.domainserver.domain.gcone.ntcn.atmcsndng.vo.BOAtmcSndngVO">
<foreach collection="list" item="dto" separator=";">
<![CDATA[
UPDATE GC_KAKAO_FORM
SET
USE_AT = #{dto.ntcntalkUseAt}
WHERE SOPMAL_CD = #{dto.sopmalCd}
AND FORM_DV_CD = #{dto.formDvCd}
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
]]>
</foreach>
</update>
<!-- sms 발송 목록 조회 -->
<select id = "selectBOSmsSndngDtlsListInqire"
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMssageSrchVO"
resultType="dataMap">
<![CDATA[
SELECT
ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT, SMSTO.SMS_TO_INNB ASC) AS RNUM,
SMS.SNDNG_NB,
SMSTO.DV,
DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S') AS REGIST_DT,
CASE
WHEN SMS.RESVE_DT IS NULL THEN DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')
ELSE DATE_FORMAT(SMS.RESVE_DT, '%Y-%m-%d %H:%i:%S')
END AS SNDNG_DT, -- 예약날짜가 있을경우 예약날짜로 발송시간 표출
CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) AS RECPTN_NB,
SMS.CN AS CN,
SMS.SMS_INNB,
SMSTO.SMS_TO_INNB,
SMSTO.STTUS,
SMS.SUCCES_CNT,
SMS.FAILR_CNT,
SMS.CHR_STTUS,
SMS.SOPMAL_CD ,
SMSTO.RSLT_SJ,
SMSTO.SUBST_DATA,
SHOP.SOPMAL_NM
]]>
<include refid="SmsSndngDtlsListFrom"/>
INNER JOIN GC_SHOP SHOP
ON SMS.SOPMAL_CD = SHOP.SOPMAL_CD
<include refid="SmsSndngDtlsListWhere"/>
<![CDATA[
-- ) TB
ORDER BY RNUM DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
]]>
</select>
<!--sms 발송 상세 조회 -->
<select id = "selectBOSmsSndngDtlInfo"
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMssageSrchVO"
resultType="dataMap">
<![CDATA[
SELECT
SMS.SNDNG_NB,
SMSTO.DV,
DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT ,
DATE_FORMAT(SMS.SNDNG_DT ,'%Y-%m-%d %H:%i:%S')AS SNDNG_DT,
CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) AS RECPTN_NB,
SMS.CN AS CN,
SMS.SMS_INNB,
SMSTO.SMS_TO_INNB,
SMSTO.STTUS,
SMS.SUCCES_CNT,
SMS.FAILR_CNT,
SMS.CHR_STTUS,
SMSTO.RSLT_SJ,
SMSTO.SUBST_DATA
]]>
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
</select>
<!--sms 발송 관리 건수 조회 -->
<select id = "selectBOSmsSndngDtlsListTotCnt"
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMssageSrchVO"
resultType="Integer">
<![CDATA[
SELECT COUNT(1)
]]>
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
</select>
<!--sms 발송 관리 발신 목록 성공 건수 -->
<select id = "selectBOSmsSndngresultOkCnt"
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMssageSrchVO"
resultType="dataMap">
<![CDATA[
SELECT
COUNT(SMSTO.STTUS) OKCNT
]]>
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
<![CDATA[
AND SMSTO.STTUS IN ('OK')
]]>
</select>
<!--sms 발송 관리 발신 목록 실패 건수 -->
<select id = "selectBOSmsSndngresultFailCnt"
parameterType="com.wb.domainserver.domain.gcone.ntcn.mssage.vo.BOMssageSrchVO"
resultType="dataMap">
<![CDATA[
SELECT
COUNT(SMSTO.STTUS) FAILCNT
]]>
<include refid="SmsSndngDtlsListFrom"/>
<include refid="SmsSndngDtlsListWhere"/>
<![CDATA[
AND SMSTO.STTUS IN ('FAIL')
]]>
</select>
<!-- 자동발송 가능 시간 조회 -->
<select id="selectBOShopAtmcSndngTme">
SELECT
LEFT(SMS_ATMC_SNDNG_LMTT_BGNTME, 2) AS SMS_ATMC_SNDNG_LMTT_BGNTME
, LEFT(SMS_ATMC_SNDNG_LMTT_ENDTME, 2) AS SMS_ATMC_SNDNG_LMTT_ENDTME
FROM GC_SHOP
WHERE 1=1
AND SOPMAL_CD = #{sopmalCd}
</select>
</mapper>