merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,890 @@
|
||||
<?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.admin.instcSle.mtng.mapper.BOMaMtngMapper">
|
||||
<sql id = "mtngWhere">
|
||||
<!-- 검색어 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'ID')">
|
||||
AND FM.MBR_ID = #{srchStr}
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'NAME')">
|
||||
AND FM.MBR_NM = #{srchStr}
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'ADRES')">
|
||||
AND FMA.IDNTFC_INFO LIKE CONCAT('%',#{srchStr},'%')
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'AGENT')">
|
||||
AND FMA.IDNTFC_INFO LIKE CONCAT('%',#{srchStr},'%')
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'MBTLNB')">
|
||||
AND FMA.IDNTFC_INFO = HEX(AES_ENCRYPT(#{srchStr} , #{secretKey}))
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchIdntfcDvCd)">
|
||||
AND FMA.IDNTFC_STDR_CD IN
|
||||
<foreach item="srchIdntfcDvCd" collection="srchIdntfcDvCd" open="(" separator="," close=")">
|
||||
#{srchIdntfcDvCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchShop)">
|
||||
AND FMA.SOPMAL_CD = #{srchShop}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchAppn)">
|
||||
AND FMA.APPN_DV_CD = #{srchAppn}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtRegDt)">
|
||||
AND FMA.REGIST_DT <![CDATA[>=]]> #{srchStrtRegDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndRegDt)">
|
||||
AND FMA.REGIST_DT <![CDATA[<]]> #{srchEndRegDt}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!--부정판매 회원 건수 조회-->
|
||||
<select id="selectItcSleMtngTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngSrchVO"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM(SELECT FMA.APPN_INNB
|
||||
FROM GC_MEMBER_APPN FMA
|
||||
LEFT JOIN GC_MEMBER FM
|
||||
ON FMA.IDNTFC_INFO = FM.MBR_INNB
|
||||
AND FMA.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMA.IDNTFC_STDR_CD = 'mbr_innb'
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING FMGM
|
||||
ON FMGM.MBR_INNB = FM.MBR_INNB
|
||||
AND FMGM.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMGM.SOPMAL_CD = FMA.SOPMAL_CD
|
||||
LEFT JOIN GC_MEMBER_GRAD FMG
|
||||
ON FMG.MBR_GRAD_INNB = FMGM.MBR_GRAD_INNB
|
||||
AND FMG.SOPMAL_CD = FMGM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
<include refid="mtngWhere"/>
|
||||
) TB
|
||||
</select>
|
||||
|
||||
<!--부정판매 회원 목록 조회-->
|
||||
<select id="selectItcSleMtngList"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngSrchVO"
|
||||
resultType="dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM(SELECT DATE_FORMAT(FMA.REGIST_DT, '%Y-%m-%d %H:%i:%s')AS REGIST_DT
|
||||
,FMA.SOPMAL_CD
|
||||
,(SELECT FS.SOPMAL_NM FROM GC_SHOP FS WHERE FS.SOPMAL_CD = FMA.SOPMAL_CD)SOPMAL_NM
|
||||
,fn_get_commcode_name("RSLR_APPN_DV",FMA.APPN_DV_CD)APPN_DV_CD_NM
|
||||
,fn_get_commcode_name("IDNTFC_STDR",FMA.IDNTFC_STDR_CD)IDNTFC_STDR_CD_NM
|
||||
,FMA.IDNTFC_STDR_CD
|
||||
,fn_get_commcode_name("ORIGIN_DV",FMA.ORIGIN_DV_CD)ORIGIN_DV_CD_NM
|
||||
,CASE
|
||||
WHEN FMA.IDNTFC_STDR_CD = 'order_mbtlnb' THEN CAST(AES_DECRYPT(UNHEX(FMA.IDNTFC_INFO) , #{secretKey}) AS CHAR(50))
|
||||
ELSE FMA.IDNTFC_INFO
|
||||
END IDNTFC_INFO
|
||||
,FM.MBR_ID
|
||||
,FM.MBR_DV_CD
|
||||
,FM.MBR_NM
|
||||
,FMA.APPN_DV_CD
|
||||
,FMA.ORIGIN_DV_CD
|
||||
,FMA.MBR_IDNTFC_INFO
|
||||
,FMA.APPN_INNB
|
||||
FROM GC_MEMBER_APPN FMA
|
||||
LEFT JOIN GC_MEMBER FM
|
||||
ON FMA.IDNTFC_INFO = FM.MBR_INNB
|
||||
AND FMA.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMA.IDNTFC_STDR_CD = 'mbr_innb'
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING FMGM
|
||||
ON FMGM.MBR_INNB = FM.MBR_INNB
|
||||
AND FMGM.MBR_DV_CD = FM.MBR_DV_CD
|
||||
AND FMGM.SOPMAL_CD = FMA.SOPMAL_CD
|
||||
LEFT JOIN GC_MEMBER_GRAD FMG
|
||||
ON FMG.MBR_GRAD_INNB = FMGM.MBR_GRAD_INNB
|
||||
AND FMG.SOPMAL_CD = FMGM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
<include refid="mtngWhere"/>
|
||||
ORDER BY FMA.REGIST_DT DESC ,FMA.APPN_INNB DESC
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!--부정 판매 대상자 지정 이력 건수-->
|
||||
<select id="selectBOItcSleMtngDtlTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngVO"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM (SELECT MAL.APPN_INNB
|
||||
FROM GC_MEMBER_APPN_LOG MAL
|
||||
INNER JOIN GC_SHOP FS
|
||||
ON FS.SOPMAL_CD = MAL.SOPMAL_CD
|
||||
LEFT OUTER JOIN GC_MANAGER FM
|
||||
ON FM.MNGR_INNB = MAL.REGUSR
|
||||
WHERE MAL.MBR_IDNTFC_INFO=#{idntfcInfo})A
|
||||
</select>
|
||||
|
||||
<!--부정 판매 대상자 지정 이력 -->
|
||||
<select id="selectBOItcSleMtngDtlInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (SELECT MAL.APPN_INNB
|
||||
,DATE_FORMAT(MAL.REGIST_DT, '%Y-%m-%d %H:%i:%S') AS REGIST_DT
|
||||
,fn_get_commcode_name("RSLR_APPN_DV",MAL.APPN_DV_CD)AS APPN_DV_CD_NM
|
||||
,MAL.APPN_MEMO
|
||||
,FS.SOPMAL_NM
|
||||
,IFNULL(FM.MNGR_NM,'시스템') AS MNGR_NM
|
||||
,IFNULL(FM.MNGR_ID,'SYSTEM') AS MNGR_ID
|
||||
FROM GC_MEMBER_APPN_LOG MAL
|
||||
INNER JOIN GC_SHOP FS
|
||||
ON FS.SOPMAL_CD = MAL.SOPMAL_CD
|
||||
LEFT OUTER JOIN GC_MANAGER FM
|
||||
ON FM.MNGR_INNB = MAL.UPDUSR
|
||||
WHERE MAL.MBR_IDNTFC_INFO=#{idntfcInfo}
|
||||
ORDER BY MAL.APPN_LOG_INNB DESC
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--부정 판매 대상자 지정 이력 건수-->
|
||||
<select id="selectBOItcSleOrdrInfoTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngVO"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM (SELECT FO.ORDR_INNB
|
||||
, fn_get_commcode_name("ORDR_STTUS", FO.ORDR_STTUS_CD) AS ORDR_STTUS_NM
|
||||
, DATE_FORMAT(FO.ORDR_RCEPT_DT, '%Y-%m-%d %H:%i:%S') AS ORDR_RCEPT_DT
|
||||
, fn_get_commcode_name("SLE_ENVRN", FO.SLE_ENVRN_CD) AS SLE_ENVRN_NM
|
||||
, (FO.RL_SETLE_AMT + FO.ENURI_AMT) AS SETLE_AMT
|
||||
, FS.SOPMAL_NM
|
||||
, MAX(FOI.GOODS_NM) AS GOODS_NM
|
||||
, COUNT(DISTINCT FOI.GOODS_INNB) AS CNT /*주문상품 동일 상품 중복 제거 종류 개수*/
|
||||
, (COUNT(DISTINCT FOI.GOODS_INNB) - 1) AS MINUS_CNT
|
||||
, SUM(FOIO.ORDR_QY) AS GOODS_SUM
|
||||
FROM GC_ORDER FO
|
||||
INNER JOIN GC_SHOP FS
|
||||
ON FO.SOPMAL_CD = FS.SOPMAL_CD
|
||||
INNER JOIN GC_ORDER_ITEM FOI
|
||||
ON FO.SOPMAL_CD = FOI.SOPMAL_CD
|
||||
AND FO.ORDR_INNB = FOI.ORDR_INNB
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION FOIO
|
||||
ON FOI.SOPMAL_CD = FOIO.SOPMAL_CD
|
||||
AND FOI.ORDR_GOODS_INNB = FOIO.ORDR_GOODS_INNB
|
||||
WHERE FO.MBR_INNB = #{idntfcInfo}
|
||||
AND FO.MBR_DV_CD = #{mbrDvCd}
|
||||
AND !(FO.ORDR_STTUS_CD = '99' AND FO.USE_AT = 'Y')
|
||||
GROUP BY FO.ORDR_INNB
|
||||
, ORDR_STTUS_NM
|
||||
, ORDR_RCEPT_DT
|
||||
, SLE_ENVRN_NM
|
||||
, SETLE_AMT
|
||||
, FS.SOPMAL_NM
|
||||
, FO.RL_SETLE_AMT
|
||||
, FO.ENURI_AMT
|
||||
, GOODS_NM) TB
|
||||
</select>
|
||||
|
||||
<!--부정 판매 대상자 지정 이력 -->
|
||||
<select id="selectBOItcSleOrdrInfoInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOMaMtngVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,tb.*
|
||||
FROM (SELECT FO.ORDR_INNB
|
||||
,fn_get_commcode_name("ORDR_STTUS",FO.ORDR_STTUS_CD )AS ORDR_STTUS_NM
|
||||
,DATE_FORMAT(FO.ORDR_RCEPT_DT, '%Y-%m-%d %H:%i:%S') AS ORDR_RCEPT_DT
|
||||
,fn_get_commcode_name("SLE_ENVRN",FO.SLE_ENVRN_CD )AS SLE_ENVRN_NM
|
||||
,(FO.RL_SETLE_AMT + FO.ENURI_AMT) AS SETLE_AMT
|
||||
,FS.SOPMAL_NM
|
||||
,MAX(FOI.GOODS_NM)AS GOODS_NM
|
||||
,COUNT(DISTINCT FOI.GOODS_INNB) AS CNT /*주문상품 동일 상품 중복 제거 종류 개수*/
|
||||
,(COUNT(DISTINCT FOI.GOODS_INNB)-1) AS MINUS_CNT
|
||||
,SUM(FOIO.ORDR_QY) AS GOODS_SUM
|
||||
FROM GC_ORDER FO
|
||||
INNER JOIN GC_SHOP FS
|
||||
ON FO.SOPMAL_CD = FS.SOPMAL_CD
|
||||
INNER JOIN GC_ORDER_ITEM FOI
|
||||
ON FO.SOPMAL_CD = FOI.SOPMAL_CD
|
||||
AND FO.ORDR_INNB = FOI.ORDR_INNB
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION FOIO
|
||||
ON FOI.SOPMAL_CD = FOIO.SOPMAL_CD
|
||||
AND FOI.ORDR_GOODS_INNB = FOIO.ORDR_GOODS_INNB
|
||||
WHERE FO.MBR_INNB = #{idntfcInfo}
|
||||
AND FO.MBR_DV_CD = #{mbrDvCd}
|
||||
AND !(FO.ORDR_STTUS_CD = '99' AND FO.USE_AT = 'Y')
|
||||
GROUP BY FO.ORDR_INNB
|
||||
,ORDR_STTUS_NM
|
||||
,ORDR_RCEPT_DT
|
||||
,SLE_ENVRN_NM
|
||||
,SETLE_AMT
|
||||
,FS.SOPMAL_NM
|
||||
,FO.RL_SETLE_AMT
|
||||
,FO.ENURI_AMT
|
||||
,GOODS_NM
|
||||
ORDER BY FO.ORDR_INNB DESC
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--주문시 부정 판매 조회-->
|
||||
<!-- <select id = "checkInstcSle" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOInstcSleVO" -->
|
||||
<!-- resultType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOInstcSleVO"> -->
|
||||
<!-- SELECT CASE -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)"> -->
|
||||
<!-- WHEN MBR_INNB_CHK <![CDATA[>]]> 0 THEN 'Y' -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(agentId)"> -->
|
||||
<!-- WHEN AGENT_CHK <![CDATA[>]]> 0 THEN 'Y' -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrrMbtlnb)"> -->
|
||||
<!-- WHEN MBTLNB_CHK <![CDATA[>]]> 0 THEN 'Y' -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adres)"> -->
|
||||
<!-- WHEN ADRES_CHK <![CDATA[>]]> 0 THEN 'Y' -->
|
||||
<!-- </if> -->
|
||||
<!-- ELSE 'N' -->
|
||||
<!-- END AS IS_INSTC_SLE -->
|
||||
<!-- FROM (SELECT 1 -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)"> -->
|
||||
<!-- ,SUM(CASE -->
|
||||
<!-- WHEN GMA.IDNTFC_STDR_CD = 'mbr_innb' AND GMA.IDNTFC_INFO = #{mbrInnb} AND MBR_DV_CD = #{mbrDvCd} THEN 1 -->
|
||||
<!-- ELSE 0 -->
|
||||
<!-- END)MBR_INNB_CHK -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(agentId)"> -->
|
||||
<!-- ,SUM(CASE -->
|
||||
<!-- WHEN GMA.IDNTFC_STDR_CD = 'agent_id' AND GMA.IDNTFC_INFO = #{agentId} THEN 1 -->
|
||||
<!-- ELSE 0 -->
|
||||
<!-- END) AGENT_CHK -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrrMbtlnb)"> -->
|
||||
<!-- ,SUM(CASE -->
|
||||
<!-- WHEN GMA.IDNTFC_STDR_CD = 'order_mbtlnb' AND GMA.IDNTFC_INFO = HEX(AES_ENCRYPT( #{ordrrMbtlnb} , #{secretKey})) THEN 1 -->
|
||||
<!-- ELSE 0 -->
|
||||
<!-- END) MBTLNB_CHK -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adres)"> -->
|
||||
<!-- ,SUM(CASE -->
|
||||
<!-- WHEN GMA.IDNTFC_STDR_CD = 'adres' AND GMA.IDNTFC_INFO = #{adres} THEN 1 -->
|
||||
<!-- ELSE 0 -->
|
||||
<!-- END) ADRES_CHK -->
|
||||
<!-- </if> -->
|
||||
<!-- FROM GC_MEMBER_APPN GMA -->
|
||||
<!-- WHERE (GMA.SOPMAL_CD = 'CM' OR GMA.SOPMAL_CD = #{sopmalCd}) -->
|
||||
<!-- AND GMA.APPN_DV_CD = #{appnDvCd}) A -->
|
||||
<!-- </select> -->
|
||||
|
||||
<!--주문시 부정 판매 조회-->
|
||||
<select id = "checkInstcSle" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOInstcSleVO"
|
||||
resultType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOInstcSleVO">
|
||||
SELECT CASE
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)">
|
||||
WHEN MBR_INNB_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(agentId)">
|
||||
WHEN AGENT_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrrMbtlnb)">
|
||||
WHEN MBTLNB_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(recpntMbtlnbArr)">
|
||||
WHEN RECPNT_MBTLNB_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '01')
|
||||
or @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '03')
|
||||
or @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '06')">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adres)">
|
||||
WHEN ADRES_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '05')">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adresMulti)">
|
||||
WHEN ADRES_CHK <![CDATA[>]]> 0 THEN 'Y'
|
||||
</if>
|
||||
</when>
|
||||
</choose>
|
||||
ELSE 'N'
|
||||
END AS IS_INSTC_SLE
|
||||
FROM (SELECT 1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrInnb) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrDvCd)">
|
||||
,SUM(CASE
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'mbr_innb' AND GMA.IDNTFC_INFO = #{mbrInnb} AND MBR_DV_CD = #{mbrDvCd} THEN 1
|
||||
ELSE 0
|
||||
END)MBR_INNB_CHK
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(agentId)">
|
||||
,SUM(CASE
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'agent_id' AND GMA.IDNTFC_INFO = #{agentId} THEN 1
|
||||
ELSE 0
|
||||
END) AGENT_CHK
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrrMbtlnb)">
|
||||
,SUM(CASE
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'order_mbtlnb' AND GMA.IDNTFC_INFO = HEX(AES_ENCRYPT( #{ordrrMbtlnb} , #{secretKey})) THEN 1
|
||||
ELSE 0
|
||||
END) MBTLNB_CHK
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(recpntMbtlnbArr)">
|
||||
,SUM(CASE
|
||||
<foreach collection="recpntMbtlnbArr" item="recpntMbtlnb">
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'order_mbtlnb' AND GMA.IDNTFC_INFO = HEX(AES_ENCRYPT( #{recpntMbtlnb} , #{secretKey})) THEN 1
|
||||
</foreach>
|
||||
ELSE 0
|
||||
END) RECPNT_MBTLNB_CHK
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '01')
|
||||
or @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '03')
|
||||
or @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '06')">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adres)">
|
||||
,SUM(CASE
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'adres' AND GMA.IDNTFC_INFO = #{adres} THEN 1
|
||||
ELSE 0
|
||||
END) ADRES_CHK
|
||||
</if>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(ordrTyCd, '05')">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(adresMulti)">
|
||||
,SUM(
|
||||
CASE
|
||||
<foreach collection="adresMulti" item="adres">
|
||||
WHEN GMA.IDNTFC_STDR_CD = 'adres' AND GMA.IDNTFC_INFO = #{adres} THEN 1
|
||||
</foreach>
|
||||
ELSE 0
|
||||
END) ADRES_CHK
|
||||
</if>
|
||||
</when>
|
||||
</choose>
|
||||
FROM GC_MEMBER_APPN GMA
|
||||
WHERE (GMA.SOPMAL_CD = 'CM' OR GMA.SOPMAL_CD = #{sopmalCd})
|
||||
AND GMA.APPN_DV_CD = #{appnDvCd}) A
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 주문 전 주문정보 재확인 -->
|
||||
<select id="selectBOPreOrderValidation" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOPreOrderValidVO" resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT CASE WHEN GOODS.GOODS_STTUS_CD = '01' THEN 0 ELSE 1 END AS GOODS_STTUS -- 상품상태 정상 확인
|
||||
, CASE
|
||||
WHEN GOODS.PURCHS_QY_LMTT_DV_CD = '01'
|
||||
THEN 0
|
||||
ELSE CASE WHEN #{goodsTotalQy} BETWEEN GOODS.MUMM_PURCHS_QY AND GOODS.MXMM_PURCHS_QY THEN 0 ELSE 1 END
|
||||
END AS PURCHS_QY_LMTT -- 상품별 최소 최대 구매수량제한여부
|
||||
, CASE
|
||||
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||
ELSE CASE
|
||||
WHEN (OPTN.INVNTRY_QY - IFNULL(OPTN.USEFUL_INVNTRY_QY, 0)) >= #{qy} THEN 0
|
||||
ELSE 1 END
|
||||
END AS INVNTRY -- 각 옵션별 재고 유무
|
||||
, CASE
|
||||
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||
ELSE CASE
|
||||
WHEN (IFNULL(GOODS.REST_INVNTRY_QY, 0) - IFNULL(GOODS.AVLINV_LMTT_QY, 0)) >= #{goodsTotalQy} THEN 0
|
||||
ELSE 1 END
|
||||
END AS INVNTRY_POLICY -- 상품별 옵션 수량합산 재고유무
|
||||
, CASE WHEN IFNULL(OPTN.SLEPRIC, 0) = #{slepric} THEN 0 ELSE 1 END AS SELPRIC -- 판매가 변경여부
|
||||
, CASE
|
||||
WHEN OPTN.COMPNB_DSCNT_AT = #{compnbDscntAt} AND OPTN.SCTN_DSCNT_AT = #{sctnDscntAt} THEN 0
|
||||
ELSE 1 END AS DSCNT_AT -- 구간,복수할인 정보 변경 여부
|
||||
, CASE WHEN GOODS.DLVY_GROUP_INNB = #{dlvyGroupInnb} THEN 0 ELSE 1 END AS DLVY_GROUP -- 배송그룹 변경여부
|
||||
, CASE
|
||||
WHEN GOODS.PURCHS_TRGTER_LMTT_DV_CD = '01' THEN 0
|
||||
ELSE
|
||||
CASE
|
||||
WHEN IFNULL(#{mbrInnb}, 0) = 0 AND GGTL.GOODS_TRGTER_DV_CD = '02' AND (GGTL.BUTTON_RPLC_WORDS_USE_AT = 'Y' OR GGTL.PRIC_RPLC_WORDS_USE_AT = 'Y') THEN 1 -- 비회원 제한 여부
|
||||
WHEN IFNULL(#{mbrInnb}, 0) != 0 AND GGTL.GOODS_TRGTER_DV_CD = '01' AND GGTL.MBR_GRAD_INNB = 0 AND (GGTL.BUTTON_RPLC_WORDS_USE_AT = 'Y' OR GGTL.PRIC_RPLC_WORDS_USE_AT = 'Y') THEN 1 -- 회원 전체 제한
|
||||
WHEN IFNULL(#{mbrInnb}, 0) != 0 AND GGTL.GOODS_TRGTER_DV_CD = '01' AND GGTL.MBR_GRAD_INNB = MBR.MBR_GRAD_INNB AND (GGTL.BUTTON_RPLC_WORDS_USE_AT = 'Y' OR GGTL.PRIC_RPLC_WORDS_USE_AT = 'Y') THEN 1 -- 회원 등급별 제한
|
||||
ELSE 0 END
|
||||
END AS PURCHS_TRGTER_LMTT -- 구매대상자 제한
|
||||
, IFNULL(COUPON.COUPON_STTUS, 0) AS COUPON_STTUS -- 쿠폰 상태 확인
|
||||
, IFNULL(COUPON.COUPON_USE_AT, 0) AS COUPON_USE_AT -- 쿠폰 회수여부 확인
|
||||
, IFNULL(COUPON.COUPON_VALIDPD_DT, 0) AS COUPON_VALIDPD_DT -- 쿠폰 유효기간 확인
|
||||
, CASE
|
||||
WHEN IFNULL(#{evtInnb}, 0) = 0 THEN 0 -- 입력한 이벤트고유번호가 0 or null로 들어올경우 패스
|
||||
ELSE CASE WHEN IFNULL(EVT.EVT_TRGET_AT, 0) = 1
|
||||
THEN -- 이벤트 패스되었으나 이벤트구분과 옵션의 할인구분 체크
|
||||
CASE WHEN (EVT.DSCNT_BNEF_DV_CD = '01' AND OPTN.COMPNB_DSCNT_AT = 'N') OR (EVT.DSCNT_BNEF_DV_CD = '02' AND OPTN.SCTN_DSCNT_AT = 'N') THEN 1 ELSE 0 END
|
||||
ELSE 1
|
||||
END
|
||||
END AS EVT_TRGET_AT -- 이벤트 진행여부 이벤트 대상일경우 1을 반환함 = 정상 처리 0 이벤트 대상 아닐경우 1
|
||||
, IFNULL(EVT_DUPL_COUPON.DPLCT_LMTT_COUPON, 0) AS DPLCT_LMTT_COUPON -- 이벤트 중복제한 쿠폰 존재여부
|
||||
, CASE WHEN OPTN.OPTN_EXPSR_AT = 'Y' THEN 0 ELSE 1 END AS OPTN_EXPSR_AT
|
||||
FROM (SELECT GG.GOODS_INNB -- 상품 고유번호
|
||||
, GG.SOPMAL_CD -- 쇼핑몰코드
|
||||
, GG.DLVY_GROUP_INNB -- 배송그룹고유번호
|
||||
, GG.GOODS_KND_CD -- 상품구분 01 상품
|
||||
, GG.GOODS_STTUS_CD -- 상품상태 01 정상
|
||||
, GG.PURCHS_QY_LMTT_DV_CD -- 구매수량제한여부 02 제한
|
||||
,GG.MUMM_PURCHS_QY -- 최소구매수량
|
||||
,GG.MXMM_PURCHS_QY -- 최대구매수량
|
||||
,GG.INVNTRY_POLICY_CD -- 재고정책 01 재고가 있으면 판매 02 재고없어도 판매
|
||||
,GG.AVLINV_LMTT_QY -- 가용재고제한수량
|
||||
,GG.PURCHS_TRGTER_LMTT_DV_CD -- 구매 대상자 제한 02 제한
|
||||
,SUM(IFNULL(GGO.INVNTRY_QY, 0)) AS INVNTRY_QY -- 상품 재고수량 합계
|
||||
,SUM(IFNULL(GGO.USEFUL_INVNTRY_QY, 0)) AS USEFUL_INVNTRY_QY -- 상품 사용 재고수량 합계
|
||||
,SUM(IFNULL(GGO.INVNTRY_QY, 0)) - SUM(IFNULL(GGO.USEFUL_INVNTRY_QY, 0)) AS REST_INVNTRY_QY -- 잔여 재고수량 합계
|
||||
FROM GC_GOODS GG
|
||||
INNER JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GG.USE_AT = 'Y'
|
||||
AND GGO.USE_AT = 'Y'
|
||||
AND GGO.OPTN_TY IN('01', '02')
|
||||
WHERE 1 = 1
|
||||
AND GG.SOPMAL_CD = #{sopmalCd}
|
||||
AND GG.GOODS_INNB = #{goodsInnb}
|
||||
) GOODS
|
||||
INNER JOIN GC_GOODS_OPTION OPTN
|
||||
ON GOODS.SOPMAL_CD = OPTN.SOPMAL_CD
|
||||
AND GOODS.GOODS_INNB = OPTN.GOODS_INNB
|
||||
AND OPTN.USE_AT = 'Y'
|
||||
AND OPTN.GOODS_OPTN_INNB = #{goodsOptnInnb}
|
||||
LEFT JOIN GC_GOODS_TRGTER_LMTT GGTL
|
||||
ON GOODS.SOPMAL_CD = GGTL.SOPMAL_CD
|
||||
AND GOODS.GOODS_INNB = GGTL.GOODS_INNB
|
||||
AND CASE
|
||||
WHEN GOODS.PURCHS_TRGTER_LMTT_DV_CD = '01' THEN 1
|
||||
ELSE
|
||||
CASE
|
||||
WHEN IFNULL(#{mbrInnb}, 0) = 0 THEN GGTL.GOODS_TRGTER_DV_CD = '02'
|
||||
ELSE GGTL.GOODS_TRGTER_DV_CD = '01'
|
||||
END
|
||||
END
|
||||
LEFT JOIN (
|
||||
SELECT GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, GMGM.SOPMAL_CD
|
||||
, GMG.MBR_GRAD_INNB
|
||||
FROM GC_MEMBER GM
|
||||
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GM.MBR_INNB = GMGM.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||
AND GM.USE_AT = 'Y'
|
||||
INNER JOIN GC_MEMBER_GRAD GMG
|
||||
ON GMGM.MBR_GRAD_INNB = GMG.MBR_GRAD_INNB
|
||||
AND GMGM.SOPMAL_CD = GMG.SOPMAL_CD
|
||||
AND GMG.USE_AT = 'Y'
|
||||
WHERE 1 = 1
|
||||
AND GMGM.SOPMAL_CD = #{sopmalCd}
|
||||
AND GM.MBR_INNB = #{mbrInnb}) MBR
|
||||
ON MBR.SOPMAL_CD = GOODS.SOPMAL_CD
|
||||
LEFT JOIN (SELECT GG.GOODS_INNB
|
||||
, GGO.SLEPRIC AS EVT_SLEPRIC
|
||||
, FE.EVT_INNB
|
||||
, FE.SOPMAL_CD
|
||||
, FE.EVT_DV
|
||||
, FE.EVTNM
|
||||
, FE.EVT_BGN_DT
|
||||
, FE.EVT_END_DT
|
||||
, FE.EVT_TME_EXPSR_AT
|
||||
, FE.DPLCT_LMTT_COUPON
|
||||
, FE.DSCNT_BNEF_DV_CD
|
||||
, FEB.MLG_ACCML_CD
|
||||
, CASE
|
||||
WHEN FEB.ADIT_DSCNT_CD = '01'
|
||||
THEN CASE
|
||||
WHEN IFNULL(GGO.SLEPRIC, 0) * (FEB.ADIT_DSCNT_AMT / 100) >
|
||||
IFNULL(FEB.DSCNT_MXMM_AMT, 0) AND IFNULL(FEB.DSCNT_MXMM_AMT, 0) > 0
|
||||
THEN IFNULL(FEB.DSCNT_MXMM_AMT, 0)
|
||||
ELSE IFNULL(GGO.SLEPRIC, 0) * (FEB.ADIT_DSCNT_AMT / 100) END
|
||||
ELSE ADIT_DSCNT_AMT
|
||||
END AS ADIT_DSCNT_AMT
|
||||
, CASE
|
||||
WHEN FEB.MLG_ACCML_CD = '02'
|
||||
THEN FEB.MLG_ACCML_AMT
|
||||
ELSE IFNULL(GGO.SLEPRIC, 0) * (FEB.MLG_ACCML_AMT / 100)
|
||||
END AS MLG_ACCML_AMT
|
||||
, CASE
|
||||
WHEN FE.EVT_TRGET_DV_CD = '01' THEN 1 --
|
||||
WHEN FE.EVT_TRGET_DV_CD = '02'
|
||||
THEN CASE WHEN IFNULL(#{mbrInnb}, 0) <> 0 THEN 1 ELSE 0 END -- 로그인했으면 통과
|
||||
WHEN FE.EVT_TRGET_DV_CD = '03' THEN CASE
|
||||
WHEN 0 < ( -- 등급제한시
|
||||
SELECT COUNT(*)
|
||||
FROM GC_EVENT_GRAD FEG
|
||||
WHERE FEG.EVT_INNB = FE.EVT_INNB
|
||||
AND FEG.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FEG.MBR_GRAD_INNB IN
|
||||
(SELECT FMG.MBR_GRAD_INNB
|
||||
FROM GC_MEMBER_GRAD FMG
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING FMGM
|
||||
ON FMGM.SOPMAL_CD =
|
||||
FMG.SOPMAL_CD
|
||||
AND
|
||||
FMGM.MBR_GRAD_INNB =
|
||||
FMG.MBR_GRAD_INNB
|
||||
WHERE FMG.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FMGM.MBR_INNB = #{mbrInnb} -- 1325385
|
||||
))
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
ELSE 0
|
||||
END EVT_TRGET_AT
|
||||
FROM GC_GOODS GG
|
||||
INNER JOIN GC_GOODS_OPTION GGO
|
||||
ON GG.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
AND GGO.STDR_DV_AT = 'Y'
|
||||
INNER JOIN GC_EVENT FE
|
||||
ON GG.SOPMAL_CD = FE.SOPMAL_CD
|
||||
INNER JOIN GC_EVENT_BENEFITS FEB
|
||||
ON FE.EVT_INNB = FEB.EVT_INNB
|
||||
AND FE.SOPMAL_CD = FEB.SOPMAL_CD
|
||||
AND FEB.USE_AT = 'Y'
|
||||
WHERE 1 = 1
|
||||
AND FE.USE_AT = 'Y'
|
||||
AND FE.EVT_DV = 01
|
||||
AND FE.SOPMAL_CD = #{sopmalCd} -- 'NC'
|
||||
AND FE.EVT_INNB = #{evtInnb}
|
||||
AND SYSDATE() BETWEEN FE.EVT_BGN_DT AND FE.EVT_END_DT
|
||||
-- AND FE.EVT_TME_EXPSR_AT = 'Y'
|
||||
AND CASE
|
||||
WHEN IFNULL(FE.APPLC_DAY, '') = '' THEN 1
|
||||
ELSE FE.APPLC_DAY LIKE CONCAT('%', CONCAT('0', DAYOFWEEK(SYSDATE())), '%')
|
||||
END
|
||||
AND CASE
|
||||
WHEN IFNULL(FE.LMTT_BGNTME, '') = '' OR IFNULL(FE.LMTT_ENDTME, '') = '' THEN 1
|
||||
ELSE DATE_FORMAT(NOW(), '%H%i') BETWEEN FE.LMTT_BGNTME AND FE.LMTT_ENDTME
|
||||
END
|
||||
AND CASE
|
||||
WHEN FE.GOODS_APPLC_DV_CD = '01' THEN 1 -- 전체
|
||||
WHEN FE.GOODS_APPLC_DV_CD = '02' -- 카테고리 포함
|
||||
THEN CASE
|
||||
WHEN 0 < (WITH RECURSIVE CATEGORY_INCLD AS (SELECT C1.CTGRY_ID
|
||||
, C1.UPPER_CTGRY_ID
|
||||
, C1.SOPMAL_CD
|
||||
FROM GC_CATEGORY C1
|
||||
WHERE C1.USE_AT = 'Y'
|
||||
AND C1.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND C1.CTGRY_ID IN
|
||||
(SELECT CTGRY_ID
|
||||
FROM GC_CATEGORY_LINK FCL
|
||||
WHERE FCL.GOODS_INNB = GG.GOODS_INNB -- 728
|
||||
AND FCL.SOPMAL_CD = C1.SOPMAL_CD)
|
||||
UNION
|
||||
SELECT C3.CTGRY_ID
|
||||
, C3.UPPER_CTGRY_ID
|
||||
, C3.SOPMAL_CD
|
||||
FROM GC_CATEGORY AS C3
|
||||
INNER JOIN CATEGORY_INCLD
|
||||
ON C3.CTGRY_ID =
|
||||
CATEGORY_INCLD.UPPER_CTGRY_ID AND
|
||||
C3.SOPMAL_CD =
|
||||
CATEGORY_INCLD.SOPMAL_CD
|
||||
WHERE C3.USE_AT = 'Y')
|
||||
SELECT COUNT(*)
|
||||
FROM GC_EVENT_CHOICE FEC
|
||||
WHERE FEC.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FEC.EVT_INNB = FE.EVT_INNB
|
||||
AND FEC.CTGRY_ID IN (SELECT CTGRY_ID
|
||||
FROM CATEGORY_INCLD))
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
WHEN FE.GOODS_APPLC_DV_CD = '03' -- 상품 포함
|
||||
THEN CASE
|
||||
WHEN 0 < (SELECT COUNT(*)
|
||||
FROM GC_EVENT_CHOICE FEC
|
||||
WHERE FEC.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FEC.EVT_INNB = FE.EVT_INNB
|
||||
AND FEC.GOODS_INNB = GG.GOODS_INNB -- 728
|
||||
)
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
WHEN FE.GOODS_APPLC_DV_CD = '04' -- 카테고리 제외
|
||||
THEN CASE
|
||||
WHEN 0 < (WITH RECURSIVE CATEGORY_INCLD AS (SELECT C1.CTGRY_ID
|
||||
, C1.UPPER_CTGRY_ID
|
||||
, C1.SOPMAL_CD
|
||||
FROM GC_CATEGORY C1
|
||||
WHERE C1.USE_AT = 'Y'
|
||||
AND C1.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND C1.CTGRY_ID IN
|
||||
(SELECT CTGRY_ID
|
||||
FROM GC_CATEGORY_LINK FCL
|
||||
WHERE FCL.GOODS_INNB = GG.GOODS_INNB -- 728
|
||||
AND FCL.SOPMAL_CD = C1.SOPMAL_CD)
|
||||
UNION
|
||||
SELECT C3.CTGRY_ID
|
||||
, C3.UPPER_CTGRY_ID
|
||||
, C3.SOPMAL_CD
|
||||
FROM GC_CATEGORY AS C3
|
||||
INNER JOIN CATEGORY_INCLD
|
||||
ON C3.CTGRY_ID =
|
||||
CATEGORY_INCLD.UPPER_CTGRY_ID AND
|
||||
C3.SOPMAL_CD =
|
||||
CATEGORY_INCLD.SOPMAL_CD
|
||||
WHERE C3.USE_AT = 'Y')
|
||||
SELECT COUNT(*)
|
||||
FROM GC_EVENT_CHOICE FEC
|
||||
WHERE FEC.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FEC.EVT_INNB = FE.EVT_INNB
|
||||
AND FEC.CTGRY_ID IN (SELECT CTGRY_ID
|
||||
FROM CATEGORY_INCLD))
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
WHEN FE.GOODS_APPLC_DV_CD = '05' -- 상품 제외
|
||||
THEN CASE
|
||||
WHEN 0 < (SELECT COUNT(*)
|
||||
FROM GC_EVENT_CHOICE FEC
|
||||
WHERE FEC.SOPMAL_CD = FE.SOPMAL_CD
|
||||
AND FEC.EVT_INNB = FE.EVT_INNB
|
||||
AND FEC.GOODS_INNB = GG.GOODS_INNB -- 728
|
||||
)
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
END) EVT
|
||||
ON GOODS.GOODS_INNB = EVT.GOODS_INNB
|
||||
AND GOODS.SOPMAL_CD = EVT.SOPMAL_CD
|
||||
]]>
|
||||
LEFT JOIN(
|
||||
WITH COUPON_STTUS_TB AS
|
||||
(SELECT DWLD_COUPON_INNB
|
||||
, CASE WHEN COUPON_STTUS_CD = '02' THEN 0 ELSE 1 END AS COUPON_STTUS -- 쿠폰 상태 확인
|
||||
, CASE WHEN USE_AT = 'Y' THEN 0 ELSE 1 END AS COUPON_USE_AT -- 쿠폰 회수여부 확인
|
||||
, CASE WHEN NOW() BETWEEN VALIDPD_BGN_DT AND VALIDPD_END_DT THEN 0 ELSE 1 END AS COUPON_VALIDPD_DT -- 쿠폰 유효기간 확인
|
||||
, GD.SOPMAL_CD
|
||||
, GD.MBR_INNB
|
||||
, GD.MBR_DV_CD
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE 1 = 1
|
||||
AND GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.MBR_INNB = #{mbrInnb}
|
||||
AND GD.MBR_DV_CD = #{mbrDvCd}
|
||||
AND DWLD_COUPON_INNB IN
|
||||
<foreach collection="usedDwladCouponInnbList" item="usedDwladCouponInnb" separator="," open="(" close=")">
|
||||
#{usedDwladCouponInnb}
|
||||
</foreach>
|
||||
)
|
||||
SELECT COUPON_STTUS
|
||||
, COUPON_USE_AT
|
||||
, COUPON_VALIDPD_DT
|
||||
, SOPMAL_CD
|
||||
, MBR_INNB
|
||||
, MBR_DV_CD
|
||||
FROM COUPON_STTUS_TB
|
||||
GROUP BY COUPON_STTUS
|
||||
, COUPON_USE_AT
|
||||
, COUPON_VALIDPD_DT
|
||||
, SOPMAL_CD
|
||||
, MBR_INNB
|
||||
, MBR_DV_CD
|
||||
UNION
|
||||
SELECT 0 AS COUPON_STTUS, 0 AS COUPON_USE_AT, 0 AS COUPON_VALIDPD_DT, #{sopmalCd} AS SOPMAL_CD, #{mbrInnb} AS MBR_INNB, #{mbrDvCd} AS MBR_DV_CD FROM DUAL
|
||||
) COUPON
|
||||
ON MBR.SOPMAL_CD = COUPON.SOPMAL_CD
|
||||
AND MBR.MBR_INNB = COUPON.MBR_INNB
|
||||
AND MBR.MBR_DV_CD = COUPON.MBR_DV_CD
|
||||
LEFT JOIN (
|
||||
WITH RECURSIVE EVT_DUPLE_CP AS (SELECT DWLD_COUPON_INNB
|
||||
, BNEF_DV_CD
|
||||
, SOPMAL_CD
|
||||
, MBR_INNB
|
||||
, MBR_DV_CD
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE 1 = 1
|
||||
AND GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.MBR_INNB = #{mbrInnb}
|
||||
AND GD.MBR_DV_CD = #{mbrDvCd}
|
||||
AND DWLD_COUPON_INNB IN
|
||||
<foreach collection="usedDwladCouponInnbList" item="usedDwladCouponInnb" separator="," open="(" close=")">
|
||||
#{usedDwladCouponInnb}
|
||||
</foreach>
|
||||
)
|
||||
SELECT CASE WHEN IFNULL(GE.DPLCT_LMTT_COUPON, '') = ''
|
||||
THEN 0
|
||||
ELSE CASE WHEN GE.DPLCT_LMTT_COUPON LIKE CONCAT('%', BNEF_DV_CD, '%') THEN 1 -- 조회한 쿠폰의 혜택구분이 이벤트에 중복제한 쿠폰대상인지 확인 없으면 0
|
||||
ELSE 0 END
|
||||
END AS DPLCT_LMTT_COUPON
|
||||
, EDC.SOPMAL_CD
|
||||
, EDC.MBR_INNB
|
||||
, EDC.MBR_DV_CD
|
||||
FROM EVT_DUPLE_CP EDC
|
||||
LEFT JOIN GC_EVENT GE ON EDC.SOPMAL_CD = GE.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GE.EVT_INNB = IFNULL(#{evtInnb}, 0)
|
||||
UNION
|
||||
SELECT 0 AS DPLCT_LMTT_COUPON, #{sopmalCd} AS SOPMAL_CD, #{mbrInnb} AS MBR_INNB, #{mbrDvCd} AS MBR_DV_CD FROM DUAL
|
||||
) EVT_DUPL_COUPON
|
||||
ON GOODS.SOPMAL_CD = EVT_DUPL_COUPON.SOPMAL_CD
|
||||
AND MBR.MBR_INNB = EVT_DUPL_COUPON.MBR_INNB
|
||||
AND MBR.MBR_DV_CD = EVT_DUPL_COUPON.MBR_DV_CD
|
||||
WHERE 1 = 1
|
||||
GROUP BY
|
||||
GOODS_STTUS
|
||||
, PURCHS_QY_LMTT
|
||||
, INVNTRY
|
||||
, INVNTRY_POLICY
|
||||
, SELPRIC
|
||||
, DSCNT_AT
|
||||
, DLVY_GROUP
|
||||
, PURCHS_TRGTER_LMTT
|
||||
, COUPON_STTUS
|
||||
, COUPON_USE_AT
|
||||
, COUPON_VALIDPD_DT
|
||||
, EVT_TRGET_AT
|
||||
, DPLCT_LMTT_COUPON
|
||||
, EVT.DSCNT_BNEF_DV_CD
|
||||
, OPTN.COMPNB_DSCNT_AT
|
||||
, OPTN.SCTN_DSCNT_AT
|
||||
, OPTN.OPTN_EXPSR_AT
|
||||
</select>
|
||||
|
||||
<!--주문 전 쿠폰번호 재확인-->
|
||||
<select id="selectBOPreOrderValidationCouponList" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOPreOrderValidVO">
|
||||
SELECT DWLD_COUPON_INNB
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE 1 = 1
|
||||
AND GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.MBR_INNB = #{mbrInnb}
|
||||
AND GD.MBR_DV_CD = #{mbrDvCd}
|
||||
</select>
|
||||
|
||||
<!--쇼핑몰 구매요청 재검증 확인 여부-->
|
||||
<select id="selectPurchsValidUseAt">
|
||||
SELECT PURCHS_REVALID_AT FROM GC_SHOP WHERE 1=1 AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 구독서비스 주문 전 주문정보 재확인 -->
|
||||
<select id="selectBOSubsvcPreOrderValidation" parameterType="com.wb.domainserver.domain.admin.instcSle.mtng.vo.BOPreOrderValidVO" resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CASE
|
||||
WHEN GOODS.SUBSVC_STTUS_CD = '01' THEN 0
|
||||
ELSE 1
|
||||
END AS GOODS_STTUS, -- 상품상태 정상 확인
|
||||
CASE
|
||||
WHEN GOODS.PURCHS_QY_LMTT_DV_CD = '01' OR GOODS.PURCHS_QY_LMTT_DV_CD IS NULL THEN 0
|
||||
ELSE
|
||||
CASE
|
||||
WHEN #{goodsTotalQy} BETWEEN GOODS.MUMM_PURCHS_QY AND GOODS.MXMM_PURCHS_QY THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
END AS PURCHS_QY_LMTT, -- 상품별 최소 최대 구매수량제한여부
|
||||
CASE
|
||||
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||
ELSE
|
||||
CASE
|
||||
WHEN (GOODS.INVNTRY_QY - IFNULL(GOODS.USEFUL_INVNTRY_QY, 0)) >= #{qy} THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
END AS INVNTRY, -- 각 옵션별 재고 유무
|
||||
CASE
|
||||
WHEN GOODS.INVNTRY_POLICY_CD = '02' THEN 0
|
||||
ELSE
|
||||
CASE
|
||||
WHEN (IFNULL(GOODS.REST_INVNTRY_QY, 0) - IFNULL(GOODS.AVLINV_LMTT_QY, 0)) >= #{goodsTotalQy} THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
END AS INVNTRY_POLICY, -- 상품별 옵션 수량합산 재고유무
|
||||
CASE
|
||||
WHEN IFNULL(GOODS.SUBSVC_CT, 0) = #{slepric} THEN 0
|
||||
ELSE 1
|
||||
END AS SELPRIC, -- 판매가 변경여부
|
||||
0 AS DSCNT_AT, -- 구간,복수할인 정보 변경 여부
|
||||
0 AS DLVY_GROUP, -- 배송그룹 변경여부
|
||||
0 AS PURCHS_TRGTER_LMTT, -- 구매대상자 제한
|
||||
0 AS COUPON_STTUS, -- 쿠폰 상태 확인
|
||||
0 AS COUPON_USE_AT, -- 쿠폰 회수여부 확인
|
||||
0 AS COUPON_VALIDPD_DT, -- 쿠폰 유효기간 확인
|
||||
0 AS EVT_TRGET_AT, -- 이벤트 진행여부 이벤트 대상일경우 1을 반환함 = 정상 처리 0 이벤트 대상 아닐경우 1
|
||||
0 AS DPLCT_LMTT_COUPON, -- 이벤트 중복제한 쿠폰 존재여부
|
||||
0 AS OPTN_EXPSR_AT -- 상품옵션 노출여부
|
||||
FROM (
|
||||
SELECT
|
||||
GS.SUBSVC_INNB, -- 구독서비스 고유번호
|
||||
GG.GOODS_INNB, -- 상품 고유번호
|
||||
GS.SOPMAL_CD, -- 쇼핑몰코드
|
||||
GS.SUBSVC_CT, -- 구독료
|
||||
GG.DLVY_GROUP_INNB, -- 배송그룹고유번호
|
||||
GG.GOODS_KND_CD, -- 상품구분 01 상품
|
||||
GS.SUBSVC_STTUS_CD, -- 상품상태 01 정상
|
||||
GS.PURCHS_QY_LMTT_DV_CD, -- 구매수량제한여부 02 제한
|
||||
GS.MUMM_PURCHS_QY, -- 최소구매수량
|
||||
GS.MXMM_PURCHS_QY, -- 최대구매수량
|
||||
GS.INVNTRY_POLICY_CD, -- 재고정책 01 재고가 있으면 판매 02 재고없어도 판매
|
||||
GS.AVLINV_LMTT_QY, -- 가용재고제한수량
|
||||
GG.PURCHS_TRGTER_LMTT_DV_CD, -- 구매 대상자 제한 02 제한
|
||||
SUM(IFNULL(GS.INVNTRY_QY, 0)) AS INVNTRY_QY, -- 상품 재고수량 합계
|
||||
SUM(IFNULL(GS.USEFUL_INVNTRY_QY, 0)) AS USEFUL_INVNTRY_QY, -- 상품 사용 재고수량 합계
|
||||
SUM(IFNULL(GS.INVNTRY_QY, 0)) - SUM(IFNULL(GS.USEFUL_INVNTRY_QY, 0)) AS REST_INVNTRY_QY -- 잔여 재고수량 합계
|
||||
FROM GC_SUBSVC GS
|
||||
INNER JOIN GC_GOODS_OPTION GGO
|
||||
ON GS.SOPMAL_CD = GGO.SOPMAL_CD
|
||||
AND GS.DFT_GOODS_OPTN_INNB = GGO.GOODS_OPTN_INNB
|
||||
AND GS.USE_AT = 'Y'
|
||||
AND GGO.USE_AT = 'Y'
|
||||
INNER JOIN GC_GOODS GG
|
||||
ON GS.SOPMAL_CD = GG.SOPMAL_CD
|
||||
AND GGO.GOODS_INNB = GG.GOODS_INNB
|
||||
AND GG.USE_AT = 'Y'
|
||||
WHERE 1 = 1
|
||||
AND GS.SOPMAL_CD = #{sopmalCd}
|
||||
AND GS.SUBSVC_INNB = #{subsvcInnb}
|
||||
GROUP BY
|
||||
GG.GOODS_INNB
|
||||
) GOODS
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
GM.MBR_INNB,
|
||||
GM.MBR_DV_CD,
|
||||
GMGM.SOPMAL_CD,
|
||||
GMG.MBR_GRAD_INNB
|
||||
FROM
|
||||
GC_MEMBER GM
|
||||
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GM.MBR_INNB = GMGM.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||
AND GM.USE_AT = 'Y'
|
||||
INNER JOIN GC_MEMBER_GRAD GMG
|
||||
ON GMGM.MBR_GRAD_INNB = GMG.MBR_GRAD_INNB
|
||||
AND GMGM.SOPMAL_CD = GMG.SOPMAL_CD
|
||||
AND GMG.USE_AT = 'Y'
|
||||
WHERE 1 = 1
|
||||
AND GMGM.SOPMAL_CD = #{sopmalCd}
|
||||
AND GM.MBR_INNB = #{mbrInnb}
|
||||
) MBR
|
||||
ON MBR.SOPMAL_CD = GOODS.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
GROUP BY
|
||||
GOODS_STTUS,
|
||||
PURCHS_QY_LMTT,
|
||||
INVNTRY,
|
||||
INVNTRY_POLICY,
|
||||
SELPRIC,
|
||||
DSCNT_AT,
|
||||
DLVY_GROUP,
|
||||
PURCHS_TRGTER_LMTT,
|
||||
COUPON_STTUS,
|
||||
COUPON_USE_AT,
|
||||
COUPON_VALIDPD_DT,
|
||||
EVT_TRGET_AT,
|
||||
DPLCT_LMTT_COUPON
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?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.admin.main.mapper.BOMaMainMapper">
|
||||
<select id="selectBOMaMainAccessInqire"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
GM.MNGR_NM
|
||||
, GM.MNGR_ID
|
||||
, DATE_FORMAT(GM.LAST_CONECT_DT, '%Y-%m-%d %H:%i:%s') AS LAST_CONECT_DT
|
||||
FROM
|
||||
GC_MANAGER GM
|
||||
WHERE 1=1
|
||||
AND GM.MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,122 @@
|
||||
<?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.admin.ntcn.atmcsndng.mapper.BOMaAtmcSndngMapper">
|
||||
|
||||
<!-- 자동 발송 관리 목록 -->
|
||||
<select id="selectBOAtmcSndngManageListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO"
|
||||
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 1=1
|
||||
]]>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
AND SNDNG.SOPMAL_CD = #{sopmalCd}
|
||||
</if>
|
||||
<![CDATA[
|
||||
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.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
|
||||
<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.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
|
||||
<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.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
|
||||
<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.admin.ntcn.atmcsndng.vo.BOMaAtmcSndngVO">
|
||||
<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>
|
||||
<!-- 자동발송 가능 시간 조회 -->
|
||||
<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>
|
||||
<!-- 통합관리자 자동발송관리 쇼핑몰 조회 -->
|
||||
<select id="selectBOSopmalAtmcSndng">
|
||||
SELECT
|
||||
GMS.SOPMAL_CD
|
||||
, GS.SOPMAL_NM
|
||||
FROM GC_MESSAGE_SNDNG GMS
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMS.SOPMAL_CD = GS.SOPMAL_CD
|
||||
GROUP BY SOPMAL_CD
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,177 @@
|
||||
<?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.admin.ntcn.email.mapper.BOMaEmailMapper">
|
||||
<sql id="emailSndngDtlsListFrom">
|
||||
<![CDATA[
|
||||
FROM GC_EMAIL_LOG FEL
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<sql id="emailSndngDtlsListWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'SJ')">
|
||||
<![CDATA[
|
||||
AND FEL.SJ LIKE CONCAT('%',#{srchStr},'%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'sndEml')">
|
||||
<![CDATA[
|
||||
AND AES_DECRYPT(UNHEX(FEL.SNDER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'rcvEml')">
|
||||
<![CDATA[
|
||||
AND AES_DECRYPT(UNHEX(FEL.RCVER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(srchType)">
|
||||
<![CDATA[
|
||||
AND (
|
||||
FEL.SJ LIKE CONCAT('%',#{srchStr},'%')
|
||||
OR AES_DECRYPT(UNHEX(FEL.SNDER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
|
||||
OR AES_DECRYPT(UNHEX(FEL.RCVER), #{secretKey}) LIKE CONCAT('%',#{srchStr},'%')
|
||||
)
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchShop)">
|
||||
<![CDATA[
|
||||
AND FEL.SOPMAL_CD = #{srchShop}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(atmcAt)">
|
||||
<![CDATA[
|
||||
AND FEL.ATMC_SNDNG_AT = #{atmcAt}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND FEL.REGIST_DT BETWEEN #{srchStrtSndngDt} ' 00:00:00' AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtSndngDt)">
|
||||
<![CDATA[
|
||||
AND FEL.REGIST_DT >= #{srchStrtSndngDt} ' 00:00:00'
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndSndngDt)">
|
||||
<![CDATA[
|
||||
AND DATE(FEL.REGIST_DT) <= #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
</if>
|
||||
<![CDATA[
|
||||
ORDER BY FEL.REGIST_DT DESC
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 이메일 발송 내역 조회 -->
|
||||
<select id="selectBOMaEmailSndngDtlsListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
, TB.*
|
||||
FROM (
|
||||
SELECT FEL.EMAIL_LOG_INNB
|
||||
, FEL.SJ
|
||||
, CAST(AES_DECRYPT(UNHEX(FEL.SNDER) , #{secretKey}) AS CHAR(50)) AS EMAIL
|
||||
, CAST(AES_DECRYPT(UNHEX(FEL.RCVER) , #{secretKey}) AS CHAR(50)) AS SNDNG_EMAIL
|
||||
, FEL.STTUS AS STTUS
|
||||
, FN_GET_SOPMAL_NAME(FEL.SOPMAL_CD) AS SOPMAL_NM
|
||||
, DATE_FORMAT(FEL.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
]]>
|
||||
<include refid="emailSndngDtlsListFrom"/>
|
||||
<include refid="emailSndngDtlsListWhere"/>
|
||||
<![CDATA[
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 발송 내역 건수 조회 (통합관리자) -->
|
||||
<select id="selectBOMaEmailSndngDtlsListTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
]]>
|
||||
<include refid="emailSndngDtlsListFrom"/>
|
||||
<include refid="emailSndngDtlsListWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 발송 상세 조회 (수신 정보) -->
|
||||
<select id = "selectBOMaEmailSndngDtlInfo"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.email.vo.BOMaEmailSrchVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT CAST(AES_DECRYPT(UNHEX(FEL.SNDER) , #{secretKey}) AS CHAR(50)) AS SNDER
|
||||
, DATE_FORMAT(FEL.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
, FEL.SJ
|
||||
, FEL.CN
|
||||
]]>
|
||||
<include refid="emailSndngDtlsListFrom"/>
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND FEL.EMAIL_LOG_INNB = #{emailLogInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 발송로그 등록 -->
|
||||
<insert id="insertBOMaEmailSndngLog"
|
||||
parameterType="java.util.List"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="emailLogInnb">
|
||||
INSERT INTO GC_EMAIL_LOG (
|
||||
SOPMAL_CD
|
||||
, MBR_INNB
|
||||
, ATMC_SNDNG_AT
|
||||
, SNDNG_CNT
|
||||
, SNDER
|
||||
, RCVER
|
||||
, SJ
|
||||
, CN
|
||||
, EMAIL_SNDNG_FORM_INNB
|
||||
, ORDR_INNB
|
||||
, STTUS
|
||||
, REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="dto" separator=",">
|
||||
(
|
||||
#{dto.sopmalCd}
|
||||
, #{dto.mbrInnb}
|
||||
, #{dto.atmcSndngAt}
|
||||
, #{dto.sndngCnt}
|
||||
, HEX(AES_ENCRYPT(#{dto.snder}, #{dto.secretKey}))
|
||||
, HEX(AES_ENCRYPT(#{dto.rcver}, #{dto.secretKey}))
|
||||
, #{dto.sj}
|
||||
, #{dto.cn}
|
||||
, #{dto.emailSndngFormInnb}
|
||||
, #{dto.ordrInnb}
|
||||
, #{dto.sttus}
|
||||
, SYSDATE()
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<!-- 이메일 로그 상태 수정 -->
|
||||
<update id="updateEmailLog">
|
||||
<foreach collection="list" item="dto" index="index" separator=",">
|
||||
UPDATE
|
||||
GC_EMAIL_LOG
|
||||
SET
|
||||
STTUS = #{dto.sttus}
|
||||
WHERE 1=1
|
||||
AND EMAIL_LOG_INNB = #{dto.emailLogInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,211 @@
|
||||
<?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.admin.ntcn.mssage.mapper.BOMaMssageMapper">
|
||||
<!-- sms 발송 관리 목록 조회 FROM 절 -->
|
||||
<sql id = "SmsSndngDtlsListFrom">
|
||||
FROM GC_SMS_TO SMSTO
|
||||
INNER JOIN GC_SMS SMS
|
||||
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
</sql>
|
||||
<!-- sms 발송 관리 목록 조회 WHERE 절 -->
|
||||
<sql id = "SmsSndngDtlsListWhere">
|
||||
WHERE 1=1
|
||||
<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)) LIKE CONCAT('%', REPLACE(#{srchRecptnNb},'-',''), '%')
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)
|
||||
and !@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchSopmalCd, 'ALL')">
|
||||
<![CDATA[
|
||||
AND SMS.SOPMAL_CD = #{srchSopmalCd}
|
||||
AND SMSTO.SOPMAL_CD = #{srchSopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cn')">
|
||||
<![CDATA[
|
||||
AND (
|
||||
SMS.CN LIKE CONCAT('%', #{srchStr}, '%')
|
||||
OR SMSTO.SUBST_DATA LIKE CONCAT('%', #{srchStr}, '%')
|
||||
)
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, '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(srchType, 'sndngNb')">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_NB LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchType, 'cstmrIdnb')">
|
||||
<![CDATA[
|
||||
AND SMSTO.CSTMR_IDNB 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)
|
||||
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>
|
||||
<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>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 등록일 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'registDt')">
|
||||
<choose>
|
||||
<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>
|
||||
<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>
|
||||
</choose>
|
||||
</if>
|
||||
<if 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>
|
||||
</if>
|
||||
<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(sndngNb)">
|
||||
<![CDATA[
|
||||
AND SMS.SNDNG_NB = #{sndngNb}
|
||||
AND SMSTO.RECPTN_NB = REPLACE(#{recptnNb},'-','')
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
<select id = "selectBOSmsSndngDtlsListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) AS RNUM
|
||||
, 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) , #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMS.SOPMAL_CD AS SOPMAL_CD
|
||||
, SHOP.SOPMAL_NM
|
||||
, SMSTO.SUBST_DATA
|
||||
, SMSTO.RSLT_CD
|
||||
]]>
|
||||
<include refid="SmsSndngDtlsListFrom"/>
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON SHOP.SOPMAL_CD = SMSTO.SOPMAL_CD
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) DESC
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--sms 발송 관리 건수 조회 -->
|
||||
<select id = "selectBOSmsSndngDtlsListTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
|
||||
resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
<include refid="SmsSndngDtlsListFrom"/>
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
<!--sms 발송 관리 발신 목록 성공, 실패 건수 -->
|
||||
<select id = "selectBOSmsSndngresultSttusCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
<!-- SMSTO.STTUS -->
|
||||
COUNT(CASE WHEN SMSTO.STTUS = 'OK' THEN 1 END) AS OKCNT
|
||||
, COUNT(CASE WHEN SMSTO.STTUS = 'FAIL' THEN 1 END) AS FAILCNT
|
||||
<include refid="SmsSndngDtlsListFrom"/>
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
|
||||
<!--sms 발송 상세 조회 -->
|
||||
<select id = "selectBOSmsSndngDtlInfo"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.mssage.vo.BOMaMssageSrchVO"
|
||||
resultType="dataMap">
|
||||
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
|
||||
, SMSTO.RSLT_CD
|
||||
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , '1df5be2f7e90ae36') AS CHAR(50)) AS RECPTN_NB
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMSTO.SUBST_DATA
|
||||
<include refid="SmsSndngDtlsListFrom"/>
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?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.admin.ntcn.stl.mapper.BOMaStlMssageMapper">
|
||||
<!-- 매장 목록 조회 -->
|
||||
<select id="selectBOMaStoreList"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
GS.STR_INNB
|
||||
, GS.TENTCPN_ID
|
||||
, GS.STR_OPER_DV
|
||||
, CASE
|
||||
WHEN GS.STR_INNB = 33 THEN '참다한홍삼 영등포점'
|
||||
ELSE GS.TENTCPN_NM
|
||||
END AS TENTCPN_NM
|
||||
FROM GC_STORE GS
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strInnb)">
|
||||
AND GS.STR_INNB = #{strInnb}
|
||||
</if>
|
||||
AND GS.TENTCPN_ID != 'base'
|
||||
AND GS.MRHST_AT = 'Y'
|
||||
AND GS.REPRSNT_MNGR_AT = 'Y'
|
||||
ORDER BY GS.STR_INNB DESC
|
||||
</select>
|
||||
|
||||
|
||||
<!-- <select id="selectBOMaStlMssageList"-->
|
||||
<!-- resultType="dataMap">-->
|
||||
<!-- SELECT-->
|
||||
<!-- *-->
|
||||
<!-- FROM -->
|
||||
<!-- </select>-->
|
||||
</mapper>
|
||||
@@ -0,0 +1,481 @@
|
||||
<?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.admin.ntcn.tmplt.mapper.BOMaTmpltMapper">
|
||||
|
||||
<!-- 이메일 템플릿 조회 조건 -->
|
||||
<sql id="tmpltEmailListInqireWhere">
|
||||
<![CDATA[
|
||||
WHERE 1 = 1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
|
||||
<![CDATA[
|
||||
AND FORM_DV_CD = #{formDvCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDtlDvCd)">
|
||||
<![CDATA[
|
||||
AND FORM_DTL_DV_CD = #{formDtlDvCd}
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 메시지 템플릿 조회 조건 -->
|
||||
<sql id="tmpltMssageListInqireWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
|
||||
<![CDATA[
|
||||
AND FORM_DV_CD = #{formDvCd}
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 알림톡 템플릿 조회 조건 -->
|
||||
<sql id="tmpltNtcntalkListInqireWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDvCd)">
|
||||
<![CDATA[
|
||||
AND FORM_DV_CD = #{formDvCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(formDtlDvCd)">
|
||||
<![CDATA[
|
||||
AND FORM_DTL_DV_CD = #{formDtlDvCd}
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 공통코드 -->
|
||||
<!-- 그룹코드, 양식구분 조회 -->
|
||||
<select id="selectBOTmplatGroupCd"
|
||||
parameterType="java.lang.String"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM GC_CODE
|
||||
WHERE 1 = 1
|
||||
AND GROUP_CD LIKE #{param}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 자동발송 발신주소 조회 -->
|
||||
<select id="selectBOEmailAtmcSndngDsptchAdres"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="String">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EMAIL_ATMC_SNDNG_DSPTCH_ADRES
|
||||
FROM GC_SHOP
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 템플릿 -->
|
||||
<!-- 이메일 템플릿 조회 -->
|
||||
<select id="selectBOEmailAtmcSndngTmplatInqireForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EMAIL_SNDNG_FORM_INNB
|
||||
, SOPMAL_CD
|
||||
, FORM_DV_CD
|
||||
, FORM_DTL_DV_CD
|
||||
, EMAIL_SJ
|
||||
FROM GC_EMAIL_FORM
|
||||
]]>
|
||||
<include refid = "tmpltEmailListInqireWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY FORM_DTL_DV_CD;
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 이메일 템플릿 단건 조회 -->
|
||||
<select id="selectBOEmailAtmcSndngTmplatOneInqireForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EMAIL_SNDNG_FORM_INNB
|
||||
, SOPMAL_CD
|
||||
, EMAIL_SJ
|
||||
, EMAIL_CN
|
||||
FROM GC_EMAIL_FORM
|
||||
]]>
|
||||
<include refid = "tmpltEmailListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 이메일 템플릿 등록(사용안함) -->
|
||||
<insert id="insertBOEmailTmplat"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(EMAIL_SNDNG_FORM_INNB), 0)+1
|
||||
FROM GC_EMAIL_FORM
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_EMAIL_FORM (
|
||||
EMAIL_SNDNG_FORM_INNB
|
||||
, SOPMAL_CD
|
||||
, EMAIL_FORM_DV
|
||||
, EMAIL_SJ
|
||||
, EMAIL_CN
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{popupInnb}
|
||||
, #{popupNm}
|
||||
, #{popupExpsrBgnDt}
|
||||
, #{popupExpsrEndDt}
|
||||
, #{cnncUrl}
|
||||
, #{popupMgWth}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
, #{updusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 이메일 템플릿 수정 -->
|
||||
<update id="updateBOEmailTmplat" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_EMAIL_FORM
|
||||
SET
|
||||
EMAIL_SJ = #{emailSj}
|
||||
, EMAIL_CN = #{emailCn}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<include refid = "tmpltEmailListInqireWhere"/>
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 메시지 템플릿 -->
|
||||
<!-- 메시지(SMS) 템플릿 조회 -->
|
||||
<select id="selectBOMssageAtmcSndngTmplatInqireForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
FORM.SMS_SNDNG_FORM_INNB
|
||||
, FORM.FORM_DV_CD
|
||||
, FORM.FORM_DTL_DV_CD
|
||||
, CODE.CD_NM
|
||||
, FORM.SMS_CN
|
||||
, FORM.SOPMAL_CD
|
||||
FROM GC_SMS_FORM FORM
|
||||
JOIN GC_CODE CODE
|
||||
ON FORM.FORM_DV_CD = CODE.GROUP_CD
|
||||
AND FORM.FORM_DTL_DV_CD = CODE.CD
|
||||
]]>
|
||||
<include refid = "tmpltMssageListInqireWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY FORM_DTL_DV_CD;
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 메시지 템플릿 등록(사용안함) -->
|
||||
<insert id="insertBOMssageTmplat"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SMS_SNDNG_FORM_INNB), 0)+1
|
||||
FROM GC_SMS_FORM
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_SMS_FORM (
|
||||
SMS_SNDNG_FORM_INNB
|
||||
, SOPMAL_CD
|
||||
, FORM_DV
|
||||
, SMS_CN
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{popupInnb}
|
||||
, #{popupNm}
|
||||
, #{popupExpsrBgnDt}
|
||||
, #{popupExpsrEndDt}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 메시지 템플릿 수정 -->
|
||||
<update id="updateBOMssageTmplat" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<foreach collection="list" item="dto" separator=";">
|
||||
<![CDATA[
|
||||
UPDATE GC_SMS_FORM
|
||||
SET
|
||||
SMS_CN = #{dto.smsCn}
|
||||
, 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>
|
||||
|
||||
|
||||
<!-- 알림톡 템플릿 조회 -->
|
||||
<select id="selectBONtcntalkAtmcSndngTmplatInqireForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
FORM.NTCNTALK_SNDNG_FORM_INNB
|
||||
, FORM.FORM_DV_CD
|
||||
, FORM.FORM_DTL_DV_CD
|
||||
, CODE.CD_NM
|
||||
, FORM.MSG
|
||||
, FORM.SMS_RPLC_AT
|
||||
, FORM.SMS_CN
|
||||
FROM GC_KAKAO_FORM FORM
|
||||
JOIN GC_CODE CODE
|
||||
ON FORM.FORM_DV_CD = CODE.GROUP_CD
|
||||
AND FORM.FORM_DTL_DV_CD = CODE.CD
|
||||
]]>
|
||||
<include refid = "tmpltNtcntalkListInqireWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY FORM_DTL_DV_CD;
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 알림톡 템플릿 조회_팝업 -->
|
||||
<select id="selectBONtcntalkAtmcSndngTmplatUpdtPopupForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CODE.CD_NM
|
||||
, FORM.MSG
|
||||
, FORM.BTN_TYPE_01
|
||||
, FORM.BTN_NM_01
|
||||
, FORM.BTN_01_URL_01
|
||||
, FORM.BTN_01_URL_02
|
||||
, FORM.BTN_TYPE_02
|
||||
, FORM.BTN_NM_02
|
||||
, FORM.BTN_02_URL_01
|
||||
, FORM.BTN_02_URL_02
|
||||
, FORM.BTN_TYPE_03
|
||||
, FORM.BTN_NM_03
|
||||
, FORM.BTN_03_URL_01
|
||||
, FORM.BTN_03_URL_02
|
||||
, FORM.BTN_TYPE_04
|
||||
, FORM.BTN_NM_04
|
||||
, FORM.BTN_04_URL_01
|
||||
, FORM.BTN_04_URL_02
|
||||
, FORM.BTN_TYPE_05
|
||||
, FORM.BTN_NM_05
|
||||
, FORM.BTN_05_URL_01
|
||||
, FORM.BTN_05_URL_02
|
||||
, FORM.SMS_RPLC_AT
|
||||
, FORM.SMS_CN
|
||||
FROM GC_KAKAO_FORM FORM
|
||||
JOIN GC_CODE CODE
|
||||
ON FORM.FORM_DV_CD = CODE.GROUP_CD
|
||||
AND FORM.FORM_DTL_DV_CD = CODE.CD
|
||||
]]>
|
||||
<include refid = "tmpltNtcntalkListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 알림톡 템플릿 등록(사용안함) -->
|
||||
<insert id="insertBOKakaoForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(NTCNTALK_SNDNG_FORM_INNB), 0)+1
|
||||
FROM GC_KAKAO_FORM
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_KAKAO_FORM (
|
||||
NTCNTALK_SNDNG_FORM_INNB
|
||||
, SOPMAL_CD
|
||||
, KAKAO_CD
|
||||
, FORM_DV
|
||||
, SMS_RPLC_AT
|
||||
, SMS_RPLC_CN
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{popupInnb}
|
||||
, #{popupNm}
|
||||
, #{popupExpsrBgnDt}
|
||||
, #{popupExpsrEndDt}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 알림톡 템플릿 등록_버튼(사용안함) -->
|
||||
<insert id="insertBOKakaoFormButton"
|
||||
parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<selectKey order="BEFORE" keyProperty="//////////////" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(NTCNTALK_SNDNG_FORM_INNB), 0)+1
|
||||
FROM GC_KAKAO_FORM_BUTTON
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_KAKAO_FORM_BUTTON (
|
||||
NTCNTALK_SNDNG_FORM_INNB
|
||||
, BUTTON_INNB
|
||||
, BUTTON_NM
|
||||
, BUTTON_URL
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{popupInnb}
|
||||
, #{popupNm}
|
||||
, #{popupExpsrBgnDt}
|
||||
, #{popupExpsrEndDt}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 알림톡 템플릿 수정 -->
|
||||
<update id="updateBOKakaoForm" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<foreach collection="list" item="dto" separator=";">
|
||||
<![CDATA[
|
||||
UPDATE GC_KAKAO_FORM
|
||||
SET
|
||||
MSG = #{dto.msg}
|
||||
, SMS_CN = #{dto.smsCn}
|
||||
, SMS_RPLC_AT = #{dto.smsRplcAt}
|
||||
, UPDUSR = #{dto.updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
WHERE FORM_DV_CD = #{dto.formDvCd}
|
||||
AND FORM_DTL_DV_CD = #{dto.formDtlDvCd}
|
||||
]]>
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- 알림톡 템플릿 수정_팝업 -->
|
||||
<update id="updateBOKakaoFormPopup" parameterType="com.wb.domainserver.domain.admin.ntcn.tmplt.vo.BOMaTmpltVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_KAKAO_FORM
|
||||
SET
|
||||
MSG = #{msg}
|
||||
, BTN_TYPE_01 = #{btnType01}
|
||||
, BTN_NM_01 = #{btnNm01}
|
||||
, BTN_01_URL_01 = #{btn01Url01}
|
||||
, BTN_01_URL_02 = #{btn01Url02}
|
||||
, BTN_TYPE_02 = #{btnType02}
|
||||
, BTN_NM_02 = #{btnNm02}
|
||||
, BTN_02_URL_01 = #{btn02Url01}
|
||||
, BTN_02_URL_02 = #{btn02Url02}
|
||||
, BTN_TYPE_03 = #{btnType03}
|
||||
, BTN_NM_03 = #{btnNm03}
|
||||
, BTN_03_URL_01 = #{btn03Url01}
|
||||
, BTN_03_URL_02 = #{btn03Url02}
|
||||
, BTN_TYPE_04 = #{btnType04}
|
||||
, BTN_NM_04 = #{btnNm04}
|
||||
, BTN_04_URL_01 = #{btn04Url01}
|
||||
, BTN_04_URL_02 = #{btn04Url02}
|
||||
, BTN_TYPE_05 = #{btnType05}
|
||||
, BTN_NM_05 = #{btnNm05}
|
||||
, BTN_05_URL_01 = #{btn05Url01}
|
||||
, BTN_05_URL_02 = #{btn05Url02}
|
||||
, SMS_RPLC_AT = #{smsRplcAt}
|
||||
, SMS_CN = #{smsCn}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
WHERE FORM_DV_CD = #{formDvCd}
|
||||
AND FORM_DTL_DV_CD = #{formDtlDvCd}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</update>
|
||||
<!-- 통합관리자 자동발송관리 쇼핑몰 조회 -->
|
||||
<select id="selectBOSopmalAtmcSndng">
|
||||
SELECT
|
||||
GMS.SOPMAL_CD
|
||||
, GS.SOPMAL_NM
|
||||
FROM GC_MESSAGE_SNDNG GMS
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMS.SOPMAL_CD = GS.SOPMAL_CD
|
||||
GROUP BY SOPMAL_CD
|
||||
</select>
|
||||
<!-- 템플릿 사용 그룹 조회 -->
|
||||
<select id="selectBOTmplatGroup"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM GC_CODE GC
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
SUBSTRING_INDEX(GMS.FORM_DV_CD, '_', 2) AS GROUP_CD
|
||||
, SUBSTRING_INDEX(GMS.FORM_DV_CD, '_', -1) AS CD
|
||||
FROM GC_MESSAGE_SNDNG GMS
|
||||
WHERE 1=1
|
||||
AND GMS.EXPSR_AT = 'Y'
|
||||
AND GMS.MNGR_DV = '02'
|
||||
AND GMS.SOPMAL_CD = #{sopmalCd}
|
||||
GROUP BY GMS.FORM_DV_CD
|
||||
) TB
|
||||
ON GC.GROUP_CD = TB.GROUP_CD
|
||||
AND GC.CD = TB.CD
|
||||
]]>
|
||||
</select>
|
||||
<!-- 템플릿 사용 그룹 폼 조회 -->
|
||||
<select id="selectBOTmplatFormGroup"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM GC_CODE GC
|
||||
INNER JOIN GC_MESSAGE_SNDNG GMS
|
||||
ON GC.GROUP_CD = GMS.FORM_DV_CD
|
||||
AND GC.CD = GMS.FORM_DTL_DV_CD
|
||||
WHERE 1=1
|
||||
AND GMS.SOPMAL_CD = #{sopmalCd}
|
||||
AND GMS.EXPSR_AT = 'Y'
|
||||
AND GMS.MNGR_DV = '02'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,250 @@
|
||||
<?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.admin.stats.marktAnals.mapper.BOMaAdminStatsMapper">
|
||||
|
||||
<!--
|
||||
회원 및 마일리지 표 건수 조회
|
||||
-->
|
||||
<select id="selectBOAdminMbrNdMlgTableCntInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="java.lang.Integer">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM (
|
||||
-- 1. 총 회원수
|
||||
SELECT '1. 총 회원수' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
-- AND MAIN_SOPMAL_CD = 'NC'
|
||||
AND USE_AT = 'Y'
|
||||
UNION all
|
||||
-- 2. 가입한 회원수(조회기간 가입회원수 기준 구매회원수 비율)
|
||||
SELECT '2. 가입한 회원수(조회기간 가입회원수 기준 구매회원수 비율)' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
AND USE_AT = 'Y'
|
||||
AND REGIST_DT BETWEEN '2025-04-01 00:00:00' AND '2025-04-30 23:59:59' /* 가입 기간 설정 */
|
||||
UNION all
|
||||
-- 3. 구매한 회원수(1회)
|
||||
SELECT '3. 구매한 회원수(1회) ' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER MEM
|
||||
JOIN (
|
||||
#주문
|
||||
SELECT MBR_INNB , MBR_DV_CD , SOPMAL_CD
|
||||
, COUNT(*) AS ORD_CNT
|
||||
, SUM(RL_SETLE_AMT) SUM_RL_SETLE_AMT
|
||||
FROM GC_ORDER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
-- AND SOPMAL_CD = 'AF'
|
||||
AND USE_AT = 'Y'
|
||||
AND ordr_sttus_cd BETWEEN '25' AND '75'
|
||||
AND SETLE_COMPT_DT BETWEEN '2025-04-01 00:00:00' AND '2025-05-31 23:59:59' /* 구매 기간 설정 */
|
||||
GROUP BY 1,2,3 ) ORD
|
||||
ON MEM.MBR_INNB = ORD.MBR_INNB
|
||||
AND MEM.MAIN_SOPMAL_CD = ORD.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND MEM.MBR_DV_CD = 'GC'
|
||||
AND MEM.USE_AT = 'Y'
|
||||
AND MEM.REGIST_DT BETWEEN '2025-04-01 00:00:00' AND '2025-04-30 23:59:59' /* 가입 기간 설정 */
|
||||
) AS TEMP
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
회원 및 마일리지 표 조회
|
||||
-->
|
||||
<select id="selectBOAdminMbrNdMlgTableInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
-- 1. 총 회원수
|
||||
SELECT '1. 총 회원수' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
-- AND MAIN_SOPMAL_CD = 'NC'
|
||||
AND USE_AT = 'Y'
|
||||
UNION all
|
||||
-- 2. 가입한 회원수(조회기간 가입회원수 기준 구매회원수 비율)
|
||||
SELECT '2. 가입한 회원수(조회기간 가입회원수 기준 구매회원수 비율)' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
AND USE_AT = 'Y'
|
||||
AND REGIST_DT BETWEEN '2025-04-01 00:00:00' AND '2025-04-30 23:59:59' /* 가입 기간 설정 */
|
||||
UNION all
|
||||
-- 3. 구매한 회원수(1회)
|
||||
SELECT '3. 구매한 회원수(1회) ' gubun, count(*) AS union_cust_cnt
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NC' THEN 1 ELSE 0 END ) AS NC_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'CH' THEN 1 ELSE 0 END ) AS CH_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'TZ' THEN 1 ELSE 0 END ) AS TZ_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'PL' THEN 1 ELSE 0 END ) AS PL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'NB' THEN 1 ELSE 0 END ) AS NB_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DT' THEN 1 ELSE 0 END ) AS DT_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'DL' THEN 1 ELSE 0 END ) AS DL_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'AF' THEN 1 ELSE 0 END ) AS AF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'BD' THEN 1 ELSE 0 END ) AS BD_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'LF' THEN 1 ELSE 0 END ) AS LF_CU_CNT
|
||||
, sum(CASE WHEN main_sopmal_cd = 'JM' THEN 1 ELSE 0 END ) AS JM_CU_CNT
|
||||
FROM GC_MEMBER MEM
|
||||
JOIN (
|
||||
#주문
|
||||
SELECT MBR_INNB , MBR_DV_CD , SOPMAL_CD
|
||||
, COUNT(*) AS ORD_CNT
|
||||
, SUM(RL_SETLE_AMT) SUM_RL_SETLE_AMT
|
||||
FROM GC_ORDER
|
||||
WHERE 1=1
|
||||
AND MBR_DV_CD = 'GC'
|
||||
-- AND SOPMAL_CD = 'AF'
|
||||
AND USE_AT = 'Y'
|
||||
AND ordr_sttus_cd BETWEEN '25' AND '75'
|
||||
AND SETLE_COMPT_DT BETWEEN '2025-04-01 00:00:00' AND '2025-05-31 23:59:59' /* 구매 기간 설정 */
|
||||
GROUP BY 1,2,3 ) ORD
|
||||
ON MEM.MBR_INNB = ORD.MBR_INNB
|
||||
AND MEM.MAIN_SOPMAL_CD = ORD.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND MEM.MBR_DV_CD = 'GC'
|
||||
AND MEM.USE_AT = 'Y'
|
||||
AND MEM.REGIST_DT BETWEEN '2025-04-01 00:00:00' AND '2025-04-30 23:59:59' /* 가입 기간 설정 */
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- <!– 마일리지 통계 –>-->
|
||||
<!-- <select id="selectBOMaMlgStatList"-->
|
||||
<!-- resultType="dataMap">-->
|
||||
<!-- SELECT-->
|
||||
<!-- *-->
|
||||
<!-- FROM GC_MBR_MLG_MCLOS-->
|
||||
<!-- WHERE 1=1-->
|
||||
<!-- AND (( MTH = DATE_FORMAT(DATE_SUB(CONCAT(#{srchDt},'01')-->
|
||||
<!-- , INTERVAL 1 MONTH), '%Y%m') AND S_GROUP = 'month balance' )-->
|
||||
<!-- OR ( MTH = #{srchDt} ) )-->
|
||||
<!-- ORDER BY 1,2,3,4,5,6-->
|
||||
<!-- </select>-->
|
||||
<!-- <!– 마일리지 정산 목록 –>-->
|
||||
<!-- <select id="selectBOMaMlgStlList"-->
|
||||
<!-- resultType="dataMap">-->
|
||||
<!-- SELECT-->
|
||||
<!-- '정산내역(사용 - 취소)' L_GROUP-->
|
||||
<!-- , S_SEQ, S_GROUP-->
|
||||
<!-- , SUM(SUM_CH) * -1 CH-->
|
||||
<!-- , SUM(SUM_TZ) * -1 TZ-->
|
||||
<!-- , SUM(SUM_NC) * -1 NC-->
|
||||
<!-- , SUM(SUM_PL) * -1 PL-->
|
||||
<!-- , SUM(SUM_NB) * -1 NB-->
|
||||
<!-- , SUM(SUM_OY) * -1 OY-->
|
||||
<!-- , SUM(SUM_KL) * -1 KL-->
|
||||
<!-- , SUM(SUM_DT) * -1 DT-->
|
||||
<!-- , SUM(SUM_CB) * -1 CB-->
|
||||
<!-- , SUM(SUM_AP) * -1 AP-->
|
||||
<!-- , SUM(SUM_LF) * -1 LF-->
|
||||
<!-- , SUM(SUM_GC) * -1 GC-->
|
||||
<!-- FROM GC_MBR_MLG_MCLOS-->
|
||||
<!-- WHERE MTH = #{srchDt}-->
|
||||
<!-- AND (L_SEQ, L_GROUP, M_SEQ) in ( (1, 'add_group', 2), (2, 'minus_group', 1) )-->
|
||||
<!-- GROUP BY 1,2,3-->
|
||||
<!-- ORDER BY 1,2,3-->
|
||||
<!-- </select>-->
|
||||
|
||||
<!--
|
||||
쇼핑몰 코드, 이름 조회
|
||||
-->
|
||||
<select id="selectBOAdminMbrNdMlgStats"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SOPMAL_CD,
|
||||
SOPMAL_NM
|
||||
FROM (
|
||||
SELECT
|
||||
'GC' AS SOPMAL_CD,
|
||||
'통합몰' AS SOPMAL_NM,
|
||||
NULL AS SOPMAL_TY_CD
|
||||
UNION ALL
|
||||
SELECT
|
||||
SOPMAL_CD,
|
||||
IF(SOPMAL_TY_CD = '01', CONCAT('통합몰 ', SOPMAL_NM), CONCAT('독립몰 ', SOPMAL_NM)) AS SOPMAL_NM,
|
||||
SOPMAL_TY_CD
|
||||
FROM GC_SHOP
|
||||
ORDER BY SOPMAL_TY_CD ASC
|
||||
) A
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,253 @@
|
||||
<?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.admin.store.bsnm.mapper.BOBsnmMapper">
|
||||
|
||||
<!-- 검색어 -->
|
||||
<sql id="srchStr">
|
||||
<![CDATA[
|
||||
LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</sql>
|
||||
<sql id="selectBOBsnmListInqireWhere">
|
||||
<![CDATA[
|
||||
AND 1=1
|
||||
]]>
|
||||
<!-- 검색조건 별 검색 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test="srchType=='BSNM_NM'">
|
||||
AND BSNM_NM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='BIZRNB'">
|
||||
AND BIZRNB <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='REPRSNTVNM'">
|
||||
AND REPRSNTVNM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='MOB_DCL_NB'">
|
||||
AND MOB_DCL_NB <include refid ="srchStr"/>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 사업자 목록조회 조건절 -->
|
||||
<sql id="selectBOBsnmListWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 사업자 상세조회, 수정, 삭제 조건절-->
|
||||
<sql id="selectBOBsnmKeyWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND BSNM_INNB = #{bsnmInnb}
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 사업자 목록조회 From절 -->
|
||||
<sql id="selectBOBsnmListFrom">
|
||||
<![CDATA[
|
||||
FROM GC_COMPANY
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 사업자 목록건수조회 -->
|
||||
<select id="selectBOBsnmListCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
]]>
|
||||
<include refid="selectBOBsnmListFrom"/>
|
||||
<include refid="selectBOBsnmListWhere"/>
|
||||
<include refid="selectBOBsnmListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 사업자 목록 -->
|
||||
<select id="selectBOBsnmList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO"
|
||||
resultType="datamap">
|
||||
<![CDATA[
|
||||
/*SET @ROWNUM = 0;*/
|
||||
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT BSNM_INNB
|
||||
, BSNM_NM
|
||||
, BIZCND_CN
|
||||
, ITEM_CN
|
||||
, BIZRNB
|
||||
, REPRSNTVNM
|
||||
, TELNB
|
||||
, MOB_DCL_NB
|
||||
, BSN_DCL_NB
|
||||
, REGIST_DT
|
||||
, DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, UPDT_DT
|
||||
, DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
]]>
|
||||
<include refid="selectBOBsnmListFrom"/>
|
||||
<include refid="selectBOBsnmListWhere"/>
|
||||
<include refid="selectBOBsnmListInqireWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY REGIST_DT DESC , UPDT_DT DESC
|
||||
) TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 사업자 등록 -->
|
||||
<insert id="insertBOBsnm"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO">
|
||||
<selectKey order="BEFORE" keyProperty="bsnmInnb" resultType="java.lang.String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(BSNM_INNB), 0)+1
|
||||
FROM GC_COMPANY
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_COMPANY (
|
||||
BSNM_INNB
|
||||
, BSNM_NM
|
||||
, BIZCND_CN
|
||||
, ITEM_CN
|
||||
, BIZRNB
|
||||
, MOB_DCL_NB
|
||||
, REPRSNTVNM
|
||||
, INDVDLINFO_PRTC_RSPNBER_NM
|
||||
, TELNB
|
||||
, FXNB
|
||||
, EMAIL
|
||||
, BSN_DCL_NB
|
||||
, ZIP
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(lnbAdres)">
|
||||
, LNB_ADRES
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(rnmAdres)">
|
||||
, RNM_ADRES
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dtlAdres)">
|
||||
, DTL_ADRES
|
||||
</if>
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{bsnmInnb}
|
||||
, #{bsnmNm}
|
||||
, #{bizcndCn}
|
||||
, #{itemCn}
|
||||
, #{bizrnb}
|
||||
, #{mobDclNb}
|
||||
, #{reprsntvnm}
|
||||
, #{indvdlinfoPrtcRspnberNm}
|
||||
, #{telnb}
|
||||
, #{fxnb}
|
||||
, #{email}
|
||||
, #{bsnDclNb}
|
||||
, #{zip}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(lnbAdres)">
|
||||
, #{lnbAdres}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(rnmAdres)">
|
||||
, #{rnmAdres}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dtlAdres)">
|
||||
, #{dtlAdres}
|
||||
</if>
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
)
|
||||
|
||||
</insert>
|
||||
|
||||
<!-- 사업자 정보 상세 조회 -->
|
||||
<select id="selectBOBsnmDtl"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO"
|
||||
resultType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO">
|
||||
<![CDATA[
|
||||
SELECT BSNM_INNB
|
||||
, BSNM_NM
|
||||
, BIZCND_CN
|
||||
, ITEM_CN
|
||||
, BIZRNB
|
||||
, MOB_DCL_NB
|
||||
, REPRSNTVNM
|
||||
, INDVDLINFO_PRTC_RSPNBER_NM
|
||||
, TELNB
|
||||
, FXNB
|
||||
, EMAIL
|
||||
, BSN_DCL_NB
|
||||
, ZIP
|
||||
, LNB_ADRES
|
||||
, RNM_ADRES
|
||||
, DTL_ADRES
|
||||
, USE_AT
|
||||
-- , REGUSR
|
||||
-- , REGIST_DT
|
||||
-- , UPDUSR
|
||||
-- , UPDT_DT
|
||||
]]>
|
||||
<include refid="selectBOBsnmListFrom"/>
|
||||
<include refid="selectBOBsnmKeyWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 사업자 수정 -->
|
||||
<update id="updateBOBsnmUpdt" parameterType="com.wb.domainserver.domain.admin.store.bsnm.vo.BOBsnmVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_COMPANY
|
||||
SET
|
||||
BSNM_NM = #{bsnmNm}
|
||||
, BIZCND_CN = #{bizcndCn}
|
||||
, ITEM_CN = #{itemCn}
|
||||
, MOB_DCL_NB = #{mobDclNb}
|
||||
, REPRSNTVNM = #{reprsntvnm}
|
||||
, INDVDLINFO_PRTC_RSPNBER_NM = #{indvdlinfoPrtcRspnberNm}
|
||||
, TELNB = #{telnb}
|
||||
, FXNB = #{fxnb}
|
||||
, EMAIL = #{email}
|
||||
, BSN_DCL_NB = #{bsnDclNb}
|
||||
, ZIP = #{zip}
|
||||
, LNB_ADRES = #{lnbAdres}
|
||||
, RNM_ADRES = #{rnmAdres}
|
||||
, DTL_ADRES = #{dtlAdres}
|
||||
, USE_AT = 'Y'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<include refid="selectBOBsnmKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 사업자 삭제 -->
|
||||
<update id="deleteBOBsnm" parameterType="String">
|
||||
<![CDATA[
|
||||
UPDATE GC_COMPANY
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<include refid="selectBOBsnmKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 사업자번호 중복 조회 -->
|
||||
<select id="selectBOBizrnbDplct" resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
<include refid="selectBOBsnmListFrom"/>
|
||||
WHERE 1=1
|
||||
AND BIZRNB = #{bizrnb}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,261 @@
|
||||
<?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.admin.store.extlink.mapper.BOMaExtlinkMapper">
|
||||
|
||||
<!-- where절 -->
|
||||
<sql id="srchExtrlNmwhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
<if test="srchExtrlNm != null and srchExtrlNm != ''">
|
||||
AND
|
||||
UPPER(EXTRL_NM) LIKE CONCAT('%', UPPER(#{srchExtrlNm}), '%')
|
||||
</if>
|
||||
<if test="srchExtrlSystem != null and srchExtrlSystem != ''">
|
||||
AND
|
||||
EXTRL_SYSTEM = #{srchExtrlSystem}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- orderBy절 -->
|
||||
<sql id="registDtorderby">
|
||||
ORDER BY REGIST_DT ASC
|
||||
</sql>
|
||||
|
||||
<!-- 페이징처리를 위한 연동목록 목록 총 개수 -->
|
||||
<select id="selectBOextlinkTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO"
|
||||
resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM (
|
||||
SELECT
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
FROM
|
||||
GC_EXTRL_KEY GEK
|
||||
<include refid="srchExtrlNmwhere" />
|
||||
) TOTAL
|
||||
</select>
|
||||
|
||||
<!-- 외부연동 조회 -->
|
||||
<select id="selectBOextlinkList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
EXTRL_FUNCTION_LOGIN,
|
||||
EXTRL_FUNCTION_BUY,
|
||||
FN_GET_COMMCODE_NAME('EXTRL_SYSTEM_DV', EXTRL_SYSTEM) AS EXTRL_SYSTEM_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
FROM
|
||||
GC_EXTRL_KEY GEK
|
||||
<include refid="srchExtrlNmwhere" />
|
||||
ORDER BY
|
||||
EXTRL_INNB DESC
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 회원 등급 등록 -->
|
||||
<insert id="insertBOExtLinkRegist"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO">
|
||||
<selectKey order="BEFORE" keyProperty="extrlInnb" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
IFNULL(MAX(EXTRL_INNB), 0) + 1
|
||||
FROM
|
||||
GC_EXTRL_KEY GEK
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_EXTRL_KEY
|
||||
(
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
EXTRL_FUNCTION_LOGIN,
|
||||
EXTRL_FUNCTION_BUY,
|
||||
EXTRL_CLIENT_ID,
|
||||
EXTRL_CLIENT_SECRET,
|
||||
EXTRL_CLIENT_SECRET_KEY,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{extrlInnb},
|
||||
#{extrlNm},
|
||||
#{extrlSystem},
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(extrlFunctionLogin)">
|
||||
#{extrlFunctionLogin},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(extrlFunctionLogin)">
|
||||
null,
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(extrlFunctionBuy)">
|
||||
#{extrlFunctionBuy},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(extrlFunctionBuy)">
|
||||
null,
|
||||
</if>
|
||||
#{extrlClientId},
|
||||
#{extrlClientSecret},
|
||||
#{extrlClientSecretKey},
|
||||
'Y',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 외부연동 수정 조회 -->
|
||||
<select id="selectBOExtLinkUpdtForm"
|
||||
parameterType="java.lang.String"
|
||||
resultType="DataMap">
|
||||
SELECT
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
EXTRL_FUNCTION_LOGIN,
|
||||
EXTRL_FUNCTION_BUY,
|
||||
EXTRL_CLIENT_ID,
|
||||
EXTRL_CLIENT_SECRET,
|
||||
EXTRL_CLIENT_SECRET_KEY
|
||||
FROM
|
||||
GC_EXTRL_KEY
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
EXTRL_INNB = #{extrlInnb}
|
||||
</select>
|
||||
|
||||
<!-- 외부연동 수정 -->
|
||||
<update id="updateBOExtLinkUpdt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO">
|
||||
UPDATE
|
||||
GC_EXTRL_KEY
|
||||
SET
|
||||
EXTRL_NM = #{extrlNm},
|
||||
EXTRL_SYSTEM = #{extrlSystem},
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(extrlFunctionLogin)">
|
||||
EXTRL_FUNCTION_LOGIN = #{extrlFunctionLogin},
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(extrlFunctionLogin)">
|
||||
EXTRL_FUNCTION_LOGIN = null,
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(extrlFunctionBuy)">
|
||||
EXTRL_FUNCTION_BUY = #{extrlFunctionBuy},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(extrlFunctionBuy)">
|
||||
EXTRL_FUNCTION_BUY = null,
|
||||
</if>
|
||||
EXTRL_CLIENT_ID = #{extrlClientId},
|
||||
EXTRL_CLIENT_SECRET = #{extrlClientSecret},
|
||||
EXTRL_CLIENT_SECRET_KEY = #{extrlClientSecretKey},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
EXTRL_INNB = #{extrlInnb}
|
||||
</update>
|
||||
|
||||
<!-- 엑셀다운로드용 조회 -->
|
||||
<select id="selectBOexcelFileDownload"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO"
|
||||
resultType="DataMap">
|
||||
SELECT
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
FN_GET_COMMCODE_NAME('EXTRL_SYSTEM_DV', EXTRL_SYSTEM) AS EXTRL_SYSTEM_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
FROM
|
||||
GC_EXTRL_KEY GEK
|
||||
<include refid="srchExtrlNmwhere" />
|
||||
ORDER BY
|
||||
EXTRL_INNB DESC
|
||||
</select>
|
||||
|
||||
<!-- 외부연동 삭제 -->
|
||||
<update id="deleteBOExtLinkDel"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO">
|
||||
UPDATE
|
||||
GC_EXTRL_KEY
|
||||
SET
|
||||
USE_AT = 'N',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
EXTRL_INNB = #{extrlInnb}
|
||||
</update>
|
||||
|
||||
|
||||
<!-- system 목록 조회 -->
|
||||
<select id="selectBOextlinkSystemList" resultType="DataMap">
|
||||
SELECT
|
||||
CD AS extlinkSystemCd,
|
||||
CD_NM AS extlinkSystemNm
|
||||
FROM
|
||||
GC_CODE
|
||||
WHERE
|
||||
GROUP_CD = 'EXTRL_SYSTEM_DV'
|
||||
ORDER BY
|
||||
SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 회원 등급 조회 제한없음 -->
|
||||
<select id="selectBOextlinkListNotLimit"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.extlink.vo.BOMaExtlinkVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
EXTRL_INNB,
|
||||
EXTRL_NM,
|
||||
EXTRL_SYSTEM,
|
||||
FN_GET_COMMCODE_NAME('EXTRL_SYSTEM_DV', EXTRL_SYSTEM) AS EXTRL_SYSTEM_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
FROM
|
||||
GC_EXTRL_KEY GEK
|
||||
<include refid="srchExtrlNmwhere" />
|
||||
ORDER BY
|
||||
EXTRL_INNB DESC
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
</select>
|
||||
|
||||
<select id="selectBOextlinkShopCnt"
|
||||
parameterType="java.lang.Integer"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM GC_SHOP_EXTRL
|
||||
WHERE EXTRL_INNB = #{extrlInnb}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,300 @@
|
||||
<?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.admin.store.mbrgrad.mapper.BOMaMbrgradMapper">
|
||||
<!-- where절 -->
|
||||
<sql id="srchMbrGradNmwhere">
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMbrGradNm)">
|
||||
AND MBR_GRAD_GROUP_NM LIKE CONCAT('%',#{srchMbrGradNm},'%') /* 회원등급 그룹명 */
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)">
|
||||
AND SOPMAL_CD = #{srchSopmalCd} /* 쇼핑몰 코드 */
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!--****************************************************************
|
||||
회원 등급 그룹 관련
|
||||
********************************************************************-->
|
||||
<!-- 회원 등급 건수 (페이징 관련) -->
|
||||
<select id="selectBOMbrGradTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO"
|
||||
resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM (
|
||||
SELECT
|
||||
MBR_GRAD_GROUP_INNB,
|
||||
MBR_GRAD_GROUP_NM,
|
||||
CALC_PD_MT_CNT,
|
||||
GRAD_MDAT_STDR_MT,
|
||||
GRAD_MDAT_STDR_DE,
|
||||
GRAD_MDAT_CYCLE_MT_CNT
|
||||
FROM
|
||||
GC_MEMBER_GRAD_GROUP MGG
|
||||
<include refid="srchMbrGradNmwhere" />
|
||||
) TOTAL
|
||||
</select>
|
||||
|
||||
<!-- 회원 등급 그룹 조회 -->
|
||||
<select id="selectBOMbrGradDtl"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO"
|
||||
resultType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO">
|
||||
SELECT
|
||||
MBR_GRAD_GROUP_INNB,
|
||||
FN_GET_SOPMAL_NAME(SOPMAL_CD)SOPMAL_NM,
|
||||
SOPMAL_CD,
|
||||
MBR_GRAD_GROUP_NM,
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(serverDv)">
|
||||
CONVERT(CALC_PD_MT_CNT, UNSIGNED) AS CALC_PD_MT_CNT,
|
||||
</when>
|
||||
<otherwise>
|
||||
CALC_PD_MT_CNT,
|
||||
</otherwise>
|
||||
</choose>
|
||||
GRAD_MDAT_STDR_MT,
|
||||
GRAD_MDAT_STDR_DE,
|
||||
GRAD_MDAT_CYCLE_MT_CNT
|
||||
FROM
|
||||
GC_MEMBER_GRAD_GROUP
|
||||
where 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrGradGroupInnb)">
|
||||
AND MBR_GRAD_GROUP_INNB = #{mbrGradGroupInnb}
|
||||
</if>
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 회원 등급 그룹 상세 조회 -->
|
||||
<select id="selectBOMbrGradList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO"
|
||||
resultType="DataMap">
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM,
|
||||
BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
MBR_GRAD_GROUP_INNB,
|
||||
MBR_GRAD_GROUP_NM,
|
||||
FN_GET_SOPMAL_NAME(SOPMAL_CD)SOPMAL_NM,
|
||||
SOPMAL_CD,
|
||||
CALC_PD_MT_CNT,
|
||||
FN_GET_COMMCODE_NAME('MT_CD', CALC_PD_MT_CNT) AS CALC_PD_MT_CNT_NM,
|
||||
GRAD_MDAT_STDR_MT,
|
||||
GRAD_MDAT_STDR_DE,
|
||||
GRAD_MDAT_CYCLE_MT_CNT,
|
||||
FN_GET_COMMCODE_NAME('MT_CD', GRAD_MDAT_CYCLE_MT_CNT) AS GRAD_MDAT_CYCLE_MT_CNT_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
FROM
|
||||
GC_MEMBER_GRAD_GROUP MGG
|
||||
<include refid="srchMbrGradNmwhere" />
|
||||
ORDER BY
|
||||
MBR_GRAD_GROUP_INNB DESC
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 회원등급 그룹 수정 -->
|
||||
<update id="updateMbrGrad"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO">
|
||||
UPDATE
|
||||
GC_MEMBER_GRAD_GROUP
|
||||
SET
|
||||
MBR_GRAD_GROUP_NM = #{mbrGradGroupNm},
|
||||
CALC_PD_MT_CNT = #{calcPdMtCnt},
|
||||
GRAD_MDAT_STDR_MT = #{gradMdatStdrMt},
|
||||
GRAD_MDAT_STDR_DE = #{gradMdatStdrDe},
|
||||
GRAD_MDAT_CYCLE_MT_CNT = #{gradMdatCycleMtCnt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE
|
||||
MBR_GRAD_GROUP_INNB = #{mbrGradGroupInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 회원등급 그룹 등록 -->
|
||||
<insert id="insertBOMbrGradGroup"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO">
|
||||
<selectKey order="BEFORE" keyProperty="mbrGradGroupInnb" resultType="String">
|
||||
SELECT
|
||||
IFNULL(MAX(MBR_GRAD_GROUP_INNB), 0) + 1
|
||||
FROM
|
||||
GC_MEMBER_GRAD_GROUP
|
||||
</selectKey>
|
||||
INSERT INTO GC_MEMBER_GRAD_GROUP
|
||||
(
|
||||
MBR_GRAD_GROUP_INNB,
|
||||
SOPMAL_CD,
|
||||
MBR_GRAD_GROUP_NM,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{mbrGradGroupInnb},
|
||||
#{sopmalCd},
|
||||
#{mbrGradGroupNm},
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{updusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--****************************************************************
|
||||
회원 등급 관련
|
||||
********************************************************************-->
|
||||
<!-- 그룹별 회원 등급 조회 -->
|
||||
<select id="selectBOMbrGradStdrList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMbrGradVO"
|
||||
resultType="DataMap">
|
||||
WITH SUBQUERY AS (
|
||||
SELECT
|
||||
GMG.MBR_GRAD_INNB,
|
||||
GMG.MBR_GRAD_GROUP_INNB,
|
||||
GMG.MBR_GRAD_NM,
|
||||
GMG.MBR_GRAD_CND_CD,
|
||||
GMG.MBR_GRAD_AMT,
|
||||
GMG.MBR_GRAD_ORDR,
|
||||
GMG.MBR_GRAD_ICON_COURS,
|
||||
DATE_FORMAT(GMG.REGIST_DT, '%Y-%m-%d %H:%i:%s') AS REGIST_DT,
|
||||
DATE_FORMAT(GMG.UPDT_DT, '%Y-%m-%d %H:%i:%s') AS UPDT_DT,
|
||||
COUNT(GMGM.MBR_GRAD_INNB) AS MBR_GRAD_CNT,
|
||||
GMG.USE_AT
|
||||
FROM
|
||||
GC_MEMBER_GRAD GMG
|
||||
LEFT JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GMG.MBR_GRAD_INNB = GMGM.MBR_GRAD_INNB
|
||||
AND GMG.SOPMAL_CD = GMGM.SOPMAL_CD
|
||||
WHERE
|
||||
GMG.MBR_GRAD_GROUP_INNB = #{mbrGradGroupInnb}
|
||||
AND GMG.SOPMAL_CD = #{sopmalCd}
|
||||
AND GMG.USE_AT = 'Y'
|
||||
GROUP BY
|
||||
GMG.MBR_GRAD_INNB,
|
||||
GMG.MBR_GRAD_GROUP_INNB,
|
||||
GMG.MBR_GRAD_NM,
|
||||
GMG.MBR_GRAD_CND_CD,
|
||||
GMG.MBR_GRAD_AMT,
|
||||
GMG.MBR_GRAD_ORDR,
|
||||
GMG.MBR_GRAD_ICON_COURS,
|
||||
REGIST_DT,
|
||||
UPDT_DT
|
||||
),
|
||||
TOTCOUNT AS (
|
||||
SELECT
|
||||
SUM(MBR_GRAD_CNT) AS TOTAL_CNT
|
||||
FROM
|
||||
SUBQUERY
|
||||
)
|
||||
SELECT
|
||||
A.*,
|
||||
IFNULL(ROUND((A.MBR_GRAD_CNT / T.TOTAL_CNT) * 100, 2),0) AS MBR_GRAD_INNB_PER
|
||||
FROM
|
||||
SUBQUERY A,
|
||||
TOTCOUNT T
|
||||
ORDER BY
|
||||
A.MBR_GRAD_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!--회원등급 등록 -->
|
||||
<insert id="insertBOMbrGradStdr"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMbrGradVO">
|
||||
<selectKey order="BEFORE" keyProperty="mbrGradInnb" resultType="String">
|
||||
SELECT
|
||||
IFNULL(MAX(MBR_GRAD_INNB), 0) + 1
|
||||
FROM
|
||||
GC_MEMBER_GRAD
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_MEMBER_GRAD
|
||||
(
|
||||
MBR_GRAD_INNB,
|
||||
MBR_GRAD_GROUP_INNB,
|
||||
SOPMAL_CD,
|
||||
MBR_GRAD_NM,
|
||||
MBR_GRAD_CND_CD,
|
||||
MBR_GRAD_AMT,
|
||||
MBR_GRAD_ORDR,
|
||||
MBR_GRAD_ICON_COURS,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{mbrGradInnb},
|
||||
#{mbrGradGroupInnb},
|
||||
#{sopmalCd},
|
||||
#{mbrGradNm},
|
||||
#{mbrGradCndCd},
|
||||
REPLACE(#{mbrGradAmt},',',''),
|
||||
#{mbrGradOrdr},
|
||||
#{mbrGradIconCours},
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{updusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 회원등급 수정-->
|
||||
<update id="updateBOMbrGradCnd" parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMbrGradVO">
|
||||
UPDATE GC_MEMBER_GRAD
|
||||
SET MBR_GRAD_NM = #{mbrGradNm},
|
||||
MBR_GRAD_CND_CD = #{mbrGradCndCd},
|
||||
MBR_GRAD_AMT = REPLACE(#{mbrGradAmt},',',''),
|
||||
MBR_GRAD_ORDR = #{mbrGradOrdr},
|
||||
MBR_GRAD_ICON_COURS = #{mbrGradIconCours},
|
||||
USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE MBR_GRAD_INNB = #{mbrGradInnb}
|
||||
</update>
|
||||
|
||||
<!-- 회원등급 삭제-->
|
||||
<delete id="deleteBOMbrGradCnd" parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMbrGradVO">
|
||||
DELETE FROM GC_MEMBER_GRAD WHERE MBR_GRAD_INNB = #{mbrGradInnb}
|
||||
</delete>
|
||||
|
||||
<!-- 회원등급 권한 등록-->
|
||||
<insert id="insertBOGradAuth" parameterType="com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMbrGradVO">
|
||||
<selectKey order="BEFORE" keyProperty="gradAuthorInnb" resultType="String">
|
||||
SELECT
|
||||
IFNULL(MAX(GRAD_AUTHOR_INNB), 0) + 1
|
||||
FROM
|
||||
GC_GRAD_AUTH
|
||||
</selectKey>
|
||||
INSERT INTO GC_GRAD_AUTH
|
||||
(
|
||||
GRAD_AUTHOR_INNB,
|
||||
SOPMAL_CD ,
|
||||
MBR_GRAD_INNB ,
|
||||
AUTHOR_ID ,
|
||||
REGUSR ,
|
||||
REGIST_DT
|
||||
)
|
||||
SELECT
|
||||
#{gradAuthorInnb},
|
||||
#{sopmalCd},
|
||||
#{mbrGradInnb},
|
||||
MIN(AUTHOR_ID)AUTHOR_ID,
|
||||
0,
|
||||
NOW()
|
||||
FROM GC_AUTH
|
||||
WHERE SYS_DV_CD = '01'
|
||||
</insert>
|
||||
</mapper>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,201 @@
|
||||
<?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.admin.store.sopthema.mapper.BOSopthemaMapper">
|
||||
|
||||
<!-- 검색어 -->
|
||||
<sql id="selectBOSopThemaListInqireWhere">
|
||||
AND 1=1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchThemaNm)">
|
||||
AND GT.THEMA_NM LIKE CONCAT('%', #{srchThemaNm}, '%')
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)">
|
||||
AND GS.SOPMAL_CD = #{srchSopmalCd}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 쇼핑몰 테마 상세조회, 수정, 삭제 조건절-->
|
||||
<sql id="selectBOSopThemaKeyWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND THEMA_INNB = #{themaInnb}
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<!-- 쇼핑몰 테마 목록조회 From절 -->
|
||||
<sql id="selectBOSopThemaListFrom">
|
||||
FROM GC_THEME GT
|
||||
LEFT JOIN GC_SHOP GS ON GT.THEMA_INNB = GS.THEMA_INNB
|
||||
WHERE 1=1
|
||||
AND GT.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(themaInnb)">
|
||||
AND GT.THEMA_INNB = #{themaInnb}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 쇼핑몰 테마 목록건수조회 -->
|
||||
<select id="selectBOSopThemaTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
FROM GC_THEME GT
|
||||
WHERE 1=1
|
||||
AND GT.USE_AT = 'Y'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)">
|
||||
AND EXISTS ( SELECT 'X'
|
||||
FROM GC_SHOP GS
|
||||
WHERE 1 = 1
|
||||
AND GS.THEMA_INNB = GT.THEMA_INNB
|
||||
AND GS.SOPMAL_CD = #{srchSopmalCd})
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchThemaNm)">
|
||||
AND GT.THEMA_NM LIKE CONCAT('%', #{srchThemaNm}, '%')
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 쇼핑몰 테마 목록 -->
|
||||
<select id="selectBOSopThemaList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
/*SET @ROWNUM = 0;*/
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT GT.THEMA_INNB
|
||||
, GT.THEMA_NM
|
||||
, GT.CSS_COURS
|
||||
, GT.DC_CN
|
||||
, GT.USE_AT
|
||||
, GT.REGIST_DT
|
||||
, DATE_FORMAT(GT.REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, GT.UPDT_DT
|
||||
, DATE_FORMAT(GT.UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
, GROUP_CONCAT(GS.SOPMAL_NM ORDER BY GS.SOPMAL_NM SEPARATOR ', ') AS SOPMAL_NM
|
||||
]]>
|
||||
<include refid="selectBOSopThemaListFrom"/>
|
||||
<include refid="selectBOSopThemaListInqireWhere"/>
|
||||
GROUP BY GT.THEMA_INNB, GT.THEMA_NM, GT.CSS_COURS, GT.DC_CN, GT.USE_AT, GT.REGIST_DT, GT.UPDT_DT
|
||||
<![CDATA[
|
||||
ORDER BY GT.UPDT_DT DESC
|
||||
) TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 쇼핑몰 테마 등록 -->
|
||||
<insert id="insertBOSopThema"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO">
|
||||
<selectKey order="BEFORE" keyProperty="themaInnb" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(THEMA_INNB), 0)+1
|
||||
FROM GC_THEME
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_THEME (
|
||||
THEMA_INNB
|
||||
, THEMA_NM
|
||||
, CSS_COURS
|
||||
, DC_CN
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{themaInnb}
|
||||
, #{themaNm}
|
||||
, #{cssCours}
|
||||
, #{dcCn}
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 쇼핑몰 테마 정보 상세 조회 -->
|
||||
<select id="selectBOSopThemaDtl"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO"
|
||||
resultType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO">
|
||||
<![CDATA[
|
||||
SELECT GT.THEMA_INNB
|
||||
, GT.THEMA_NM
|
||||
, GT.CSS_COURS
|
||||
, GT.DC_CN
|
||||
, GT.USE_AT
|
||||
, GT.REGIST_DT
|
||||
, GT.UPDT_DT
|
||||
, GROUP_CONCAT(GS.SOPMAL_NM ORDER BY GS.SOPMAL_NM SEPARATOR ', ') AS SOPMAL_NM
|
||||
]]>
|
||||
<include refid="selectBOSopThemaListFrom"/>
|
||||
GROUP BY GT.THEMA_INNB, GT.THEMA_NM, GT.CSS_COURS, GT.DC_CN, GT.USE_AT, GT.REGIST_DT, GT.UPDT_DT
|
||||
</select>
|
||||
|
||||
<!-- 쇼핑몰 테마 수정 -->
|
||||
<update id="updateBOSopThema" parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_THEME
|
||||
SET
|
||||
THEMA_NM = #{themaNm}
|
||||
, CSS_COURS = #{cssCours}
|
||||
, DC_CN = #{dcCn}
|
||||
, USE_AT = 'Y'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<include refid="selectBOSopThemaKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 테마 삭제 -->
|
||||
<update id="deleteBOSopThema" parameterType="Integer">
|
||||
<![CDATA[
|
||||
UPDATE GC_THEME
|
||||
SET USE_AT = 'N'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
]]>
|
||||
<include refid="selectBOSopThemaKeyWhere"/>
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 테마 목록건수조회 -->
|
||||
<select id="selectBOSopThemaReferCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO"
|
||||
resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM GC_THEME GT
|
||||
WHERE 1=1
|
||||
AND GT.USE_AT = 'Y'
|
||||
AND EXISTS ( SELECT 'X'
|
||||
FROM GC_SHOP GS
|
||||
WHERE 1 = 1
|
||||
AND GS.THEMA_INNB = GT.THEMA_INNB )
|
||||
AND GT.THEMA_INNB = #{themaInnb}
|
||||
</select>
|
||||
|
||||
<!--사용자 > 쇼핑몰테마 상세조회-->
|
||||
<select id="selectBOSopThemaDtlInfo" parameterType="com.wb.domainserver.domain.admin.store.sopthema.vo.BOSopThemaVO" resultType="dataMap">
|
||||
SELECT
|
||||
GS.SOPMAL_CD
|
||||
,GS.THEMA_INNB
|
||||
,GT.CSS_COURS
|
||||
FROM
|
||||
GC_SHOP GS
|
||||
LEFT JOIN
|
||||
GC_THEME GT
|
||||
ON GS.THEMA_INNB = GT.THEMA_INNB
|
||||
WHERE
|
||||
1 = 1
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,378 @@
|
||||
<?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.admin.store.stplat.mapper.BOStplatMapper">
|
||||
<resultMap id="BOStplatMap" type="dataMap">
|
||||
<result property="sopmalNm" column="SOPMAL_NM"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBOStplatTotCntWhere">
|
||||
<![CDATA[
|
||||
WHERE (@rownum:=0)=0
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStplatNm)">
|
||||
<![CDATA[
|
||||
AND UPPER(STPLAT_NM) LIKE CONCAT('%', UPPER(#{srchStplatNm}), '%')
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStplatDvCd)">
|
||||
<![CDATA[
|
||||
AND STPLAT_DV_CD = #{srchStplatDvCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(nmbrPurchsAt)">
|
||||
<![CDATA[
|
||||
AND NMBR_PURCHS_AT = 'Y'
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSopmalCd)">
|
||||
<![CDATA[
|
||||
AND EXISTS (
|
||||
SELECT 'X'
|
||||
FROM GC_SHOP_CLAUSE
|
||||
WHERE 1=1
|
||||
AND GC_CLAUSE.STPLAT_INNB = GC_SHOP_CLAUSE.STPLAT_INNB
|
||||
AND GC_SHOP_CLAUSE.SOPMAL_CD = #{srchSopmalCd}
|
||||
)
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 약관 건수 조회 -->
|
||||
<select id="selectBOStplatTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
FROM GC_CLAUSE
|
||||
]]>
|
||||
<include refid = "selectBOStplatTotCntWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 약관 변경이력 건수 조회
|
||||
<select id="selectBOStplatHistTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
FROM FM_CLAUSE_LOG
|
||||
WHERE 1=1
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
]]>
|
||||
</select>
|
||||
-->
|
||||
|
||||
<!-- 약관 목록을 paging 처리하여 조회 -->
|
||||
<select id="selectBOStplatList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT @ROWNUM:=@ROWNUM+1 AS RNUM, TB1.*
|
||||
FROM (
|
||||
SELECT
|
||||
STPLAT_INNB,
|
||||
STPLAT_NM,
|
||||
STPLAT_DV_CD,
|
||||
(
|
||||
SELECT GROUP_CONCAT(SOPMAL_NM ORDER BY SOPMAL_NM SEPARATOR ', ')
|
||||
FROM GC_SHOP_CLAUSE A
|
||||
INNER JOIN GC_SHOP B ON B.SOPMAL_CD = A.SOPMAL_CD
|
||||
WHERE A.STPLAT_INNB = GC_CLAUSE.STPLAT_INNB
|
||||
)
|
||||
AS SOPMAL_NM,
|
||||
FN_GET_COMMCODE_NAME('STPLAT_DV',STPLAT_DV_CD) AS STPLAT_DV_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DE,
|
||||
ESSNTL_AT,
|
||||
CN_WRITNG_AT,
|
||||
USE_AT
|
||||
FROM GC_CLAUSE
|
||||
]]>
|
||||
<include refid = "selectBOStplatTotCntWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY UPDT_DT DESC
|
||||
) TB1
|
||||
) TB2
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="selectBOStplatListExcelDwld"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT @ROWNUM:=@ROWNUM+1 AS RNUM, TB1.*
|
||||
FROM (
|
||||
SELECT
|
||||
STPLAT_INNB,
|
||||
STPLAT_NM,
|
||||
STPLAT_DV_CD,
|
||||
(SELECT CD_NM
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = 'STPLAT_DV'
|
||||
AND CD = GC_CLAUSE.STPLAT_DV_CD
|
||||
)
|
||||
AS STPLAT_DV_CD_NM,
|
||||
(
|
||||
SELECT GROUP_CONCAT(SOPMAL_NM ORDER BY SOPMAL_NM SEPARATOR ', ')
|
||||
FROM GC_SHOP_CLAUSE A
|
||||
INNER JOIN GC_SHOP B ON B.SOPMAL_CD = A.SOPMAL_CD
|
||||
WHERE A.STPLAT_INNB = GC_CLAUSE.STPLAT_INNB
|
||||
)
|
||||
AS SOPMAL_NM,
|
||||
FN_GET_COMMCODE_NAME('STPLAT_DV',STPLAT_DV_CD) AS STPLAT_DV_NM,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
FROM GC_CLAUSE
|
||||
]]>
|
||||
<include refid = "selectBOStplatTotCntWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY UPDT_DT DESC
|
||||
) TB1
|
||||
]]>
|
||||
</select>
|
||||
<!-- 약관 검색 폼 - 등록 쇼핑몰 리스트 조회 -->
|
||||
<select id="selectBOStplatSopmalListInqire">
|
||||
SELECT
|
||||
SC.SOPMAL_CD
|
||||
, SHOP.SOPMAL_NM
|
||||
FROM GC_SHOP_CLAUSE SC
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON SC.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
GROUP BY
|
||||
SC.SOPMAL_CD
|
||||
</select>
|
||||
<!-- 약관 등록 -->
|
||||
<insert id="insertBOStplat">
|
||||
<selectKey keyProperty="stplatInnb" resultType="java.lang.Integer" order="BEFORE">
|
||||
SELECT IFNULL(MAX(STPLAT_INNB), 0) + 1
|
||||
FROM GC_CLAUSE
|
||||
</selectKey>
|
||||
<![CDATA[
|
||||
INSERT INTO GC_CLAUSE
|
||||
(
|
||||
STPLAT_INNB,
|
||||
STPLAT_NM,
|
||||
STPLAT_DV_CD,
|
||||
STPLAT_CN,
|
||||
IMPRTNC_STPLAT_CN,
|
||||
ESSNTL_AT,
|
||||
CN_WRITNG_AT,
|
||||
JOIN_USE_AT,
|
||||
NMBR_PURCHS_AT,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{stplatInnb},
|
||||
#{stplatNm},
|
||||
#{stplatDvCd},
|
||||
#{stplatCn},
|
||||
#{imprtncStplatCn},
|
||||
#{essntlAt},
|
||||
#{cnWritngAt},
|
||||
#{nmbrPurchsAt},
|
||||
#{joinUseAt},
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<!-- 약관 변경이력 등록 -->
|
||||
<insert id="insertBOStplatHist">
|
||||
<selectKey keyProperty="chngSnb" resultType="java.lang.Integer" order="BEFORE">
|
||||
SELECT IFNULL(MAX(CHNG_SNB), 0) + 1
|
||||
FROM GC_CLAUSE_LOG
|
||||
WHERE STPLAT_INNB = #{stplatInnb}
|
||||
</selectKey>
|
||||
<![CDATA[
|
||||
INSERT INTO GC_CLAUSE_LOG
|
||||
(
|
||||
CHNG_SNB,
|
||||
STPLAT_INNB,
|
||||
STPLAT_NM,
|
||||
STPLAT_DV_CD,
|
||||
STPLAT_CN,
|
||||
IMPRTNC_STPLAT_CN,
|
||||
CHNG_RESN_CN,
|
||||
ESSNTL_AT,
|
||||
CN_WRITNG_AT,
|
||||
NMBR_PURCHS_AT,
|
||||
JOIN_USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{chngSnb},
|
||||
#{stplatInnb},
|
||||
#{stplatNm},
|
||||
#{stplatDvCd},
|
||||
#{stplatCn},
|
||||
#{imprtncStplatCn},
|
||||
#{chngResnCn},
|
||||
#{essntlAt},
|
||||
#{cnWritngAt},
|
||||
#{nmbrPurchsAt},
|
||||
#{joinUseAt},
|
||||
#{updusr},
|
||||
SYSDATE()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 약관 수정 -->
|
||||
<update id="updateBOStplat"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO">
|
||||
UPDATE
|
||||
GC_CLAUSE
|
||||
SET
|
||||
STPLAT_NM = #{stplatNm}
|
||||
, STPLAT_DV_CD = #{stplatDvCd}
|
||||
, STPLAT_CN = #{stplatCn}
|
||||
, IMPRTNC_STPLAT_CN =#{imprtncStplatCn}
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
, ESSNTL_AT = #{essntlAt}
|
||||
, CN_WRITNG_AT = #{cnWritngAt}
|
||||
, JOIN_USE_AT = #{joinUseAt}
|
||||
, NMBR_PURCHS_AT = #{nmbrPurchsAt}
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
, USE_AT = #{useAt}
|
||||
</if>
|
||||
WHERE 1=1
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
</update>
|
||||
|
||||
<!-- 약관 상세 조회 -->
|
||||
<select id="selectBOStplatDtl"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
STPLAT_INNB,
|
||||
STPLAT_NM,
|
||||
STPLAT_DV_CD,
|
||||
STPLAT_CN,
|
||||
IMPRTNC_STPLAT_CN,
|
||||
UPDUSR,
|
||||
(
|
||||
SELECT CD_NM
|
||||
FROM GC_CODE
|
||||
WHERE GROUP_CD = 'STPLAT_DV' AND CD = CL.STPLAT_DV_CD
|
||||
)
|
||||
AS STPLAT_DV_CD_NM,
|
||||
(
|
||||
SELECT GROUP_CONCAT(SOPMAL_NM ORDER BY SOPMAL_NM SEPARATOR ', ')
|
||||
FROM GC_SHOP_CLAUSE A
|
||||
INNER JOIN GC_SHOP B ON B.SOPMAL_CD = A.SOPMAL_CD
|
||||
WHERE A.STPLAT_INNB = CL.STPLAT_INNB
|
||||
)
|
||||
AS SOPMAL_NM
|
||||
, (
|
||||
SELECT
|
||||
GROUP_CONCAT(SC.SOPMAL_CD ORDER BY SC.SOPMAL_CD SEPARATOR ', ')
|
||||
FROM
|
||||
GC_SHOP_CLAUSE SC
|
||||
INNER JOIN GC_SHOP B
|
||||
ON B.SOPMAL_CD = SC.SOPMAL_CD
|
||||
WHERE
|
||||
SC.STPLAT_INNB = CL.STPLAT_INNB
|
||||
) AS SRCH_SOPMAL_CD
|
||||
, FN_GET_COMMCODE_NAME('STPLAT_DV', STPLAT_DV_CD) AS STPLAT_DV_NM
|
||||
, DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DT
|
||||
, CL.USE_AT
|
||||
, CL.ESSNTL_AT
|
||||
, CL.CN_WRITNG_AT
|
||||
, CL.JOIN_USE_AT
|
||||
, CL.NMBR_PURCHS_AT
|
||||
FROM GC_CLAUSE CL
|
||||
WHERE 1=1
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
ORDER BY UPDT_DT DESC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 약관 변경이력 상세 조회 -->
|
||||
<select id="selectBOStplatHistDtl"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO">
|
||||
<![CDATA[
|
||||
SELECT CHNG_RESN_CN,
|
||||
STPLAT_NM,
|
||||
STPLAT_CN,
|
||||
IMPRTNC_STPLAT_CN,
|
||||
FN_GET_COMMCODE_NAME('STPLAT_DV',STPLAT_DV_CD) AS STPLAT_DV_NM
|
||||
FROM GC_CLAUSE_LOG
|
||||
WHERE 1=1
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
AND CHNG_SNB = #{chngSnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 약관 변경이력 목록 조회 -->
|
||||
<select id="selectBOStplatHistList"
|
||||
parameterType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO"
|
||||
resultType="com.wb.domainserver.domain.admin.store.stplat.vo.BOStplatVO">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CHNG_SNB
|
||||
, CHNG_RESN_CN
|
||||
, STPLAT_INNB
|
||||
, STPLAT_NM
|
||||
, STPLAT_DV_CD
|
||||
, STPLAT_CN
|
||||
, FN_GET_COMMCODE_NAME('STPLAT_DV',STPLAT_DV_CD) AS STPLAT_DV_NM
|
||||
, DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT
|
||||
, IMPRTNC_STPLAT_CN
|
||||
, (SELECT MNGR_NM FROM GC_MANAGER WHERE MNGR_INNB = CL.REGUSR) AS MNGR_NM
|
||||
FROM GC_CLAUSE_LOG CL
|
||||
WHERE 1=1
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
ORDER BY CHNG_SNB DESC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 쇼핑몰 목록 조회 -->
|
||||
<select id="selectBOStplatShopList" resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT DISTINCT B.SOPMAL_NM as CD_NM, B.SOPMAL_CD as CD
|
||||
FROM GC_SHOP_CLAUSE A
|
||||
INNER JOIN GC_SHOP B ON B.SOPMAL_CD = A.SOPMAL_CD where B.OPER_AT='Y';
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 약관 쇼핑몰관리 사용 여부 -->
|
||||
<select id="selectBOStplatSopmalUse">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
GC_SHOP_CLAUSE
|
||||
WHERE 1=1
|
||||
AND SOPMAL_CD = #{srchSopmalCd}
|
||||
AND STPLAT_INNB = #{stplatInnb}
|
||||
</select>
|
||||
|
||||
<!-- 약관 사용여부 수정 -->
|
||||
<update id="updateBOStplatUseAtUpd">
|
||||
UPDATE
|
||||
GC_CLAUSE
|
||||
SET USE_AT = 'N'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = SYSDATE()
|
||||
WHERE STPLAT_INNB = #{stplatInnb}
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,159 @@
|
||||
<?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.admin.sys.authFnctMenu.mapper.BOMaAuthFnctMenuMapper">
|
||||
|
||||
<!-- 권한그룹메뉴 등록 -->
|
||||
<insert id="insertBOAuthFnctMenu" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="authorMenuFnctInnb" resultType="String">
|
||||
SELECT IFNULL(MAX(AUTHOR_MENU_FNCT_INNB),0) + 1
|
||||
FROM GC_AUTH_FNCT_MENU
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_AUTH_FNCT_MENU
|
||||
(
|
||||
AUTHOR_MENU_FNCT_INNB,
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
AUTHOR_GROUP_CD,
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
URL,
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
FNCT_CD,
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
MENU_CD,
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
SOPMAL_CD,
|
||||
</if>
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{authorMenuFnctInnb},
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
#{authorGroupCd},
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
#{url},
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
#{fnctCd},
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
#{menuCd},
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
#{sopmalCd},
|
||||
</if>
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹메뉴 변경 이력 등록 -->
|
||||
<insert id="insertBOAuthFnctMenuLog" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
SELECT IFNULL(MAX(LOG_SNB),0) + 1
|
||||
FROM GC_AUTH_FNCT_MENU_LOG
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_AUTH_FNCT_MENU_LOG
|
||||
(
|
||||
LOG_SNB,
|
||||
AUTHOR_MENU_FNCT_INNB,
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
AUTHOR_GROUP_CD,
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
URL,
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
FNCT_CD,
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
MENU_CD,
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
SOPMAL_CD,
|
||||
</if>
|
||||
CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{logSnb},
|
||||
#{authorMenuFnctInnb},
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
#{authorGroupCd},
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
#{url},
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
#{fnctCd},
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
#{menuCd},
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
#{sopmalCd},
|
||||
</if>
|
||||
#{chngDvCd},
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹메뉴 기능 삭제 -->
|
||||
<delete id="deleteBOAuthFnctMenu" parameterType="Object">
|
||||
DELETE
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
AUTHOR_MENU_FNCT_INNB = #{authorMenuFnctInnb}
|
||||
</delete>
|
||||
|
||||
<!-- 권한그룹메뉴 기능 조회 -->
|
||||
<select id="selectBOAuthGrpFnctList" parameterType="dataMap" resultType="dataMap">
|
||||
SELECT
|
||||
AUTHOR_MENU_FNCT_INNB, FNCT_CD, MENU_CD, SOPMAL_CD, URL, AUTHOR_GROUP_CD
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU
|
||||
WHERE
|
||||
1=1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(authorGroupCd)">
|
||||
AND
|
||||
AUTHOR_GROUP_CD = #{authorGroupCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(fnctCd)">
|
||||
AND
|
||||
FNCT_CD = #{fnctCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuCd)">
|
||||
AND
|
||||
MENU_CD = #{menuCd}
|
||||
AND
|
||||
URL IS NOT NULL
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 기능 URL 중복여부 조회 -->
|
||||
<select id="selectBOFnctUrlDplct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU GAFM
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GAFM.URL = #{fnctUrl}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,320 @@
|
||||
<?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.admin.sys.authgrp.mapper.BOMaAuthgrpMapper">
|
||||
<sql id="srchWords">
|
||||
WHERE 1=1
|
||||
AND GA.USE_AT = 'Y'
|
||||
<if test="srchAuthorNm != null and srchAuthorNm != ''">
|
||||
AND UPPER(GA.AUTHOR_NM) LIKE CONCAT('%', UPPER(#{srchAuthorNm}), '%')
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND GA.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 페이징처리를 위한 권한그룹 목록 총 개수 -->
|
||||
<select id="selectBOAuthGrpListCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords"/>
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
) A
|
||||
</select>
|
||||
<!-- 권한그룹 목록 조회 -->
|
||||
<select id="selectBOAuthGrpListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords" />
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
order by GA.REGIST_DT desc
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 페이징처리를 위한 게시판 목록 총 개수 -->
|
||||
<select id="selectBOAuthFnctPopTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO" resultType="Integer">
|
||||
SELECT count(*)
|
||||
FROM (
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GF.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI,
|
||||
GF.REGIST_DT
|
||||
FROM GC_FNCT GF
|
||||
<include refid="selectBOAuthFnctPopListInqireWhere" />
|
||||
) BM
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 기능 팝업 리스트 조회 -->
|
||||
<select id="selectBOAuthFnctPopListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GF.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI,
|
||||
GF.REGIST_DT
|
||||
FROM GC_FNCT GF
|
||||
<include refid="selectBOAuthFnctPopListInqireWhere" />
|
||||
ORDER BY REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<sql id="selectBOAuthFnctPopListInqireWhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GF.USE_AT = 'Y'
|
||||
<if test="srchFnctNm != null and srchFnctNm != ''">
|
||||
AND
|
||||
UPPER(GF.FNCT_NM) LIKE CONCAT('%', UPPER(#{srchFnctNm}), '%')
|
||||
</if>
|
||||
<if test="srchFnctUri != null and srchFnctUri != ''">
|
||||
AND
|
||||
UPPER(GF.FNCT_URI) LIKE CONCAT('%', UPPER(#{srchFnctUri}), '%')
|
||||
</if>
|
||||
<if test="srchFnctDv != null and srchFnctDv != ''">
|
||||
AND
|
||||
GF.FNCT_DV_CD = #{srchFnctDv}
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND
|
||||
GF.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 권한그룹 등록 -->
|
||||
<insert id="insertAuthGrp"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
<selectKey order="BEFORE" keyProperty="authorId" resultType="String">
|
||||
SELECT MAX(AUTHOR_ID)+1 FROM GC_AUTH
|
||||
</selectKey>
|
||||
INSERT INTO GC_AUTH (
|
||||
AUTHOR_ID /*권한그룹ID*/
|
||||
,SYS_DV_CD /*시스템자구분*/
|
||||
,AUTHOR_NM /*권한그룹명 - 화면*/
|
||||
,AUTHOR_DC /*권한그룹 설명 - 화면*/
|
||||
,USE_AT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)VALUES (
|
||||
#{authorId}
|
||||
,#{sysDvCd}
|
||||
,#{authorNm}
|
||||
,#{authorDc}
|
||||
,'Y'
|
||||
,#{regusr}
|
||||
,SYSDATE()
|
||||
,NULL
|
||||
,NULL
|
||||
);
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹 목록 엑셀용 -->
|
||||
<select id="selectBOAuthGrpExcelList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords" />
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
order by GA.REGIST_DT desc
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
</select>
|
||||
<!-- 권한그룹 상세 조회 -->
|
||||
<select id="selectBOAuthGrpUpdtForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
GA.SYS_DV_CD, /*시스템구분 코드*/
|
||||
GROUP_CONCAT(GAF.FNCT_ID SEPARATOR '$') AS FNCT_IDS_ARR /*등록된 권한기능 배열*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
WHERE 1=1
|
||||
AND GA.USE_AT = 'Y'
|
||||
AND GA.AUTHOR_ID = #{authorId}
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
ORDER BY GA.REGIST_DT DESC
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 기능 상세 조회 -->
|
||||
<select id="selectBOAuthGrpFnctUpdtForm" resultType="DataMap">
|
||||
SELECT FNCT_ID /*기능ID*/
|
||||
, SYS_DV_CD /*시스템자구분코드*/
|
||||
, FNCT_DV_CD /*기능구분코드*/
|
||||
, FN_GET_COMMCODE_NAME('FNCT_DV', FNCT_DV_CD) AS FNCT_DV_NM
|
||||
, FNCT_URI /*url*/
|
||||
, FNCT_NM /*기능명*/
|
||||
, FNCT_DC /*기능설명*/
|
||||
FROM GC_FNCT
|
||||
WHERE FNCT_ID IN(
|
||||
SELECT FNCT_ID
|
||||
FROM GC_AUTH_FNCT
|
||||
WHERE AUTHOR_ID = #{authorId}
|
||||
AND USE_AT = 'Y'
|
||||
)
|
||||
AND USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 수정 -->
|
||||
<update id="updateBOAuthGrpUpdt" parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
UPDATE GC_AUTH
|
||||
SET SYS_DV_CD = #{sysDvCd}
|
||||
,AUTHOR_NM = #{authorNm}
|
||||
,AUTHOR_DC = #{authorDc}
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = NOW()
|
||||
WHERE AUTHOR_ID = #{authorId};
|
||||
</update>
|
||||
|
||||
<!--삭제log쿼리-->
|
||||
<insert id="insertDelAuthFnctLog" parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
INSERT INTO GC_AUTH_FNCT_LOG (LOG_SNB, AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_AUTH_FNCT_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
GAF.AUTHOR_FNCT_INNB,
|
||||
GAF.AUTHOR_ID,
|
||||
GAF.FNCT_ID,
|
||||
'D' AS LOG_CHNG_DV_CD,
|
||||
#{updusr} AS REGUSR,
|
||||
NOW() AS REGIST_DT
|
||||
FROM GC_AUTH_FNCT GAF
|
||||
WHERE GAF.AUTHOR_ID = #{authorId}
|
||||
<if test="arrFnctId != null and arrFnctId.size() > 0">
|
||||
AND FNCT_ID NOT IN
|
||||
<foreach collection="arrFnctId" item="fnctId" index="idx" open="(" separator=", " close=")">
|
||||
#{fnctId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
|
||||
<!--GC_AUTH_FNCT 삭제쿼리-->
|
||||
<delete id="deleteAuthFnct">
|
||||
DELETE
|
||||
FROM GC_AUTH_FNCT GAF
|
||||
WHERE GAF.AUTHOR_ID = #{authorId}
|
||||
<if test="arrFnctId != null and arrFnctId.size() > 0">
|
||||
AND FNCT_ID NOT IN
|
||||
<foreach collection="arrFnctId" item="fnctId" index="idx" open="(" separator=", " close=")">
|
||||
#{fnctId}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!--GC_AUTH_FNCT insert-->
|
||||
<insert id="insertAuthFnct" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="authorFnctInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(AUTHOR_FNCT_INNB), 0) + 1
|
||||
FROM GC_AUTH_FNCT
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_AUTH_FNCT (AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, REGUSR, REGIST_DT)
|
||||
SELECT #{authorFnctInnb}, #{authorId}, #{fnctId}, #{updusr}, NOW()
|
||||
WHERE NOT EXISTS (SELECT 1 FROM GC_AUTH_FNCT WHERE AUTHOR_ID = #{authorId} AND FNCT_ID = #{fnctId})
|
||||
</insert>
|
||||
|
||||
<!--log insert-->
|
||||
<insert id="insertInsAuthFnctLog" parameterType="java.util.List">
|
||||
INSERT INTO GC_AUTH_FNCT_LOG (LOG_SNB, AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_AUTH_FNCT_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
AUTHOR_FNCT_INNB,
|
||||
AUTHOR_ID,
|
||||
FNCT_ID,
|
||||
'I' AS LOG_CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
FROM GC_AUTH_FNCT GMA
|
||||
WHERE AUTHOR_FNCT_INNB IN
|
||||
<foreach collection="arrAuthorFnctInnb" item="authorFnctInnb" index="idx" open="(" separator=", " close=")">
|
||||
#{authorFnctInnb}
|
||||
</foreach>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹 삭제 -->
|
||||
<update id="updateBOAuthGrpDel"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
UPDATE GC_AUTH
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND AUTHOR_ID = #{authorId}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,509 @@
|
||||
<?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.admin.sys.author.mapper.BOMaAuthorMapper">
|
||||
|
||||
<!-- 페이징처리를 위한 권한그룹 목록 총 개수 -->
|
||||
<select id="selectBOAuthorListCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
) BM
|
||||
</select>
|
||||
<!-- 권한 목록 조회 -->
|
||||
<select id="selectBOAuthorListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB,
|
||||
M.MNGR_NM,
|
||||
M.MNGR_ID,
|
||||
M.PARTNM,
|
||||
M.MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', M.MNGR_DV) AS MNGR_DV_NM,
|
||||
MM.MNGR_NM AS UPD_MNGR_NM,
|
||||
ROW_NUMBER() OVER (PARTITION BY M.MNGR_INNB) as AUTH_RN,
|
||||
CASE
|
||||
WHEN COUNT(MA.AUTHOR_ID) = 1 THEN MAX(GAG.AUTHOR_NM)
|
||||
WHEN COUNT(MA.AUTHOR_ID) > 1 THEN CONCAT(MAX(GAG.AUTHOR_NM) , ' 외 ', COUNT(MA.AUTHOR_ID) - 1 , '개 ')
|
||||
ELSE '권한 없음' END AS AUTH_GRP_MAIN_TITLE,
|
||||
DATE_FORMAT(MAX(coalesce(M.UPDT_DT, M.REGIST_DT)), '%Y-%m-%d %H:%i:%S') AS MA_REGIST_DT
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
ORDER BY MA_REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
|
||||
<sql id="selectBOAuthorListWhere">
|
||||
WHERE M.MNGR_STTUS_CD != '03'
|
||||
<!-- 검색타입별 검색 -->
|
||||
<if test="srchStr != null and srchStr != ''">
|
||||
<choose>
|
||||
<when test="srchType eq 'MNGR_NM'.toString()">
|
||||
AND UPPER(M.MNGR_NM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MNGR_ID'.toString()">
|
||||
AND UPPER(M.MNGR_ID) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'EMAIL'.toString()">
|
||||
AND UPPER(M.EMAIL) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MBTLNB'.toString()">
|
||||
AND UPPER(M.MBTLNB) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'PARTNM'.toString()">
|
||||
AND UPPER(M.PARTNM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'ALL'.toString()">
|
||||
AND(
|
||||
UPPER(M.MNGR_NM) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.MNGR_ID) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.EMAIL) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.MBTLNB) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.PARTNM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
)
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 사용자 구분 -->
|
||||
<if test="srchMngrDv != null and srchMngrDv != ''">
|
||||
AND M.MNGR_DV = #{srchMngrDv}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 권한 상세 조회 -->
|
||||
<select id="selectBOAuthorUpdtForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT
|
||||
MNGR_INNB,
|
||||
MNGR_NM,
|
||||
MNGR_ID,
|
||||
PARTNM,
|
||||
MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', MNGR_DV) AS MNGR_DV_NM
|
||||
FROM
|
||||
GC_MANAGER
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
|
||||
<!-- 권한 상세 기능 조회 -->
|
||||
<select id="selectBOAuthorUpdtFormFnctList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT
|
||||
BB.AUTHOR_ID
|
||||
,BB.AUTHOR_NM
|
||||
,BB.AUTHOR_DC
|
||||
,GROUP_CONCAT(CONCAT(BB.SOPMAL_CD, ',',BB.SOPMAL_NM,',',BB.CHK ) ORDER BY AUTHOR_ID, SOPMAL_NM SEPARATOR '|') AS SOPMAL_INFO
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
GA.AUTHOR_ID,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC,
|
||||
GS.SOPMAL_CD,
|
||||
GS.SOPMAL_NM,
|
||||
CASE
|
||||
WHEN GMA.MNGR_AUTHOR_INNB IS NULL THEN FALSE
|
||||
ELSE TRUE
|
||||
END AS CHK
|
||||
FROM
|
||||
GC_AUTH GA
|
||||
INNER JOIN GC_SHOP GS
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GMA.AUTHOR_ID = GA.AUTHOR_ID
|
||||
AND GMA.MNGR_INNB = #{mngrInnb}
|
||||
WHERE
|
||||
GA.USE_AT = 'Y'
|
||||
AND GA.SYS_DV_CD NOT IN ('01', '02')
|
||||
) BB
|
||||
GROUP BY
|
||||
1, 2, 3
|
||||
UNION ALL
|
||||
SELECT
|
||||
AA.AUTHOR_ID
|
||||
,AA.AUTHOR_NM
|
||||
,AA.AUTHOR_DC
|
||||
,GROUP_CONCAT(CONCAT(AA.SOPMAL_CD, ',',AA.SOPMAL_NM,',',AA.CHK ) ORDER BY AUTHOR_ID, SOPMAL_NM SEPARATOR '|') AS SOPMAL_INFO
|
||||
FROM (
|
||||
SELECT
|
||||
GA.AUTHOR_ID,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC,
|
||||
GS.SOPMAL_CD,
|
||||
GS.SOPMAL_NM,
|
||||
CASE
|
||||
WHEN GMA.MNGR_AUTHOR_INNB IS NULL THEN FALSE
|
||||
ELSE TRUE
|
||||
END AS CHK
|
||||
FROM
|
||||
GC_AUTH GA
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
'SYS' AS SOPMAL_CD,
|
||||
'통합관리자시스템' AS SOPMAL_NM) GS
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA
|
||||
ON
|
||||
GMA.AUTHOR_ID = GA.AUTHOR_ID
|
||||
AND GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GMA.MNGR_INNB = #{mngrInnb}
|
||||
WHERE
|
||||
GA.USE_AT = 'Y'
|
||||
AND GA.SYS_DV_CD = #{mngrDv}
|
||||
AND '02' = #{mngrDv}
|
||||
ORDER BY
|
||||
AUTHOR_ID,
|
||||
SOPMAL_NM
|
||||
) AA
|
||||
GROUP BY
|
||||
1, 2, 3
|
||||
</select>
|
||||
|
||||
<!-- 권한별 기능 조회 -->
|
||||
<select id="selectBOMenuFnctListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI
|
||||
FROM GC_FNCT GF
|
||||
INNER JOIN GC_AUTH_FNCT GAF ON GF.FNCT_ID = GAF.FNCT_ID
|
||||
WHERE GF.USE_AT = 'Y'
|
||||
AND GAF.AUTHOR_ID = #{authorId}
|
||||
ORDER BY GF.FNCT_NM ASC
|
||||
</select>
|
||||
|
||||
<!-- 관리 쇼핑몰 등록 -->
|
||||
<insert id="insertBOMngrMall" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(LOG_SNB), 0) + 1
|
||||
FROM GC_MANAGER_MALL
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_MALL (
|
||||
LOG_SNB,
|
||||
MNGR_INNB,
|
||||
SOPMAL_CD,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{logSnb},
|
||||
#{mngrInnb},
|
||||
#{sopmalCd},
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 관리 쇼핑몰 N 처리 -->
|
||||
<update id="updateBOMngrMallDel" parameterType="DataMap">
|
||||
UPDATE
|
||||
GC_MANAGER_MALL
|
||||
SET
|
||||
<if test="mngrInnb != null and mngrInnb != ''">
|
||||
MNGR_INNB = #{mngrInnb},
|
||||
</if>
|
||||
<if test="sopmalCd != null and sopmalCd != ''">
|
||||
SOPMAL_CD = #{sopmalCd},
|
||||
</if>
|
||||
USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 관리 쇼핑몰 수정 -->
|
||||
<update id="updateBOMngrMall" parameterType="DataMap">
|
||||
UPDATE
|
||||
GC_MANAGER_MALL
|
||||
SET
|
||||
MNGR_INNB = #{mngrInnb},
|
||||
SOPMAL_CD = #{sopmalCd},
|
||||
USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 관리자별 권한 등록-->
|
||||
<insert id="insertBOMngrAuthor" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="mngrAuthorInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(MNGR_AUTHOR_INNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_AUTH (
|
||||
MNGR_AUTHOR_INNB,
|
||||
MNGR_INNB,
|
||||
AUTHOR_GROUP_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{mngrAuthorInnb},
|
||||
#{mngrInnb},
|
||||
#{authorGroupCd},
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 관리자별 변경 이력 등록 -->
|
||||
<insert id="insertBOMngrAuthLog" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(LOG_SNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH_LOG
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_AUTH_LOG (
|
||||
LOG_SNB,
|
||||
MNGR_AUTHOR_INNB,
|
||||
MNGR_INNB,
|
||||
AUTHOR_GROUP_CD,
|
||||
CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{logSnb},
|
||||
#{mngrAuthorInnb},
|
||||
#{mngrInnb},
|
||||
#{authorGroupCd},
|
||||
#{chngDvCd},
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 쇼핑몰 목록 조회 -->
|
||||
<select id="selectBOShopListInqire" resultType="DataMap">
|
||||
|
||||
SELECT
|
||||
SOPMAL_CD,
|
||||
SOPMAL_NM
|
||||
FROM
|
||||
GC_SHOP
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
OPER_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 권한 삭제 로그 INSERT -->
|
||||
<insert id="insertDelMngrAuthorLog" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
INSERT INTO GC_MANAGER_AUTH_LOG (LOG_SNB, MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_MANAGER_AUTH_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
MNGR_AUTHOR_INNB,
|
||||
SOPMAL_CD,
|
||||
MNGR_INNB,
|
||||
AUTHOR_ID,
|
||||
'D',
|
||||
#{updusr},
|
||||
now()
|
||||
FROM GC_MANAGER_AUTH GMA
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
<if test="arrAuthSpomal != null and arrAuthSpomal.length > 0">
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) NOT IN
|
||||
<foreach collection="arrAuthSpomal" item="authSpomal" index="idx" open="(" separator=", " close=")">
|
||||
#{authSpomal}
|
||||
</foreach>
|
||||
</if>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
<!-- 권한 등록 로그 INSERT -->
|
||||
<insert id="insertInsMngrAuthorLog" parameterType="java.util.List">
|
||||
INSERT INTO GC_MANAGER_AUTH_LOG (LOG_SNB, MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_MANAGER_AUTH_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
MNGR_AUTHOR_INNB,
|
||||
SOPMAL_CD,
|
||||
MNGR_INNB,
|
||||
AUTHOR_ID,
|
||||
'I',
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
FROM GC_MANAGER_AUTH GMA
|
||||
WHERE MNGR_AUTHOR_INNB IN
|
||||
<foreach collection="arrMngrAuthorInnb" item="mngrAuthorInnb" index="idx" open="(" separator=", " close=")">
|
||||
#{mngrAuthorInnb}
|
||||
</foreach>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 권한 삭제 -->
|
||||
<delete id="deteteBOAuthGrp" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
DELETE
|
||||
FROM GC_MANAGER_AUTH
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
<if test="arrAuthSpomal != null and arrAuthSpomal.length > 0">
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) NOT IN
|
||||
<foreach collection="arrAuthSpomal" item="authSpomal" index="idx" open="(" separator=", " close=")">
|
||||
#{authSpomal}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!-- 권한 등록 -->
|
||||
<insert id="insertMngrauth" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="mngrAuthorInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(MNGR_AUTHOR_INNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_MANAGER_AUTH (MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, REGUSR, REGIST_DT)
|
||||
SELECT #{mngrAuthorInnb},
|
||||
A.SOPMAL_CD,
|
||||
#{mngrInnb} AS MNGR_INNB,
|
||||
A.AUTHOR_ID,
|
||||
#{updusr} AS REGUSR,
|
||||
NOW() AS REGIST_DT
|
||||
FROM (SELECT GS.SOPMAL_CD, GA.AUTHOR_ID, GMA.AUTHOR_ID CHK
|
||||
FROM (SELECT G.SOPMAL_CD
|
||||
FROM GC_SHOP G
|
||||
UNION ALL
|
||||
SELECT 'SYS' AS SOPMAL_CD) GS
|
||||
INNER JOIN GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA ON GMA.MNGR_INNB = #{mngrInnb} AND GMA.AUTHOR_ID = GA.AUTHOR_ID AND GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
) A
|
||||
WHERE CHK IS NULL
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) = #{authSopmal}
|
||||
</insert>
|
||||
|
||||
<!-- 사용자별 권한조회 엑셀다운로드-->
|
||||
<select id="selectBOAuthorExcelList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB,
|
||||
M.MNGR_NM,
|
||||
M.MNGR_ID,
|
||||
M.PARTNM,
|
||||
M.MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', M.MNGR_DV) AS MNGR_DV_NM,
|
||||
MM.MNGR_NM AS UPD_MNGR_NM,
|
||||
ROW_NUMBER() OVER (PARTITION BY M.MNGR_INNB) as AUTH_RN,
|
||||
CASE
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) = 0 THEN '권한 없음'
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) = 1 THEN MAX(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN GAG.AUTHOR_NM ELSE NULL END)
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) > 1 THEN CONCAT(MAX(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN GAG.AUTHOR_NM ELSE NULL END), ' 외 ', (SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) -1), '개')
|
||||
END AS AUTH_GRP_MAIN_TITLE,
|
||||
DATE_FORMAT(MAX(coalesce(M.UPDT_DT, M.REGIST_DT)), '%Y-%m-%d %H:%i:%S') AS MA_REGIST_DT
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
ORDER BY MA_REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND
|
||||
AUTH_RN = 1
|
||||
) PV
|
||||
</select>
|
||||
|
||||
<select id="selectAuthInfo" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT GA.AUTHOR_ID,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GA.SYS_DV_CD,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC
|
||||
FROM GC_AUTH GA
|
||||
WHERE GA.AUTHOR_ID = #{authorId}
|
||||
</select>
|
||||
|
||||
<!--관리자 > 권한 있는 사이트 조회-->
|
||||
<select id="selectBOAuthorSiteList" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT DISTINCT GMA.SOPMAL_CD, GS.SOPMAL_NM, GD.TOP_FIL_COURS ,GD.TOP_SYS_FIL_NM
|
||||
FROM GC_MANAGER GM
|
||||
INNER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GM.MNGR_INNB = GMA.MNGR_INNB
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
LEFT JOIN GC_DESIGN GD
|
||||
ON GS.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND GD.SETUP_DV_CD = '01'
|
||||
AND GD.USE_AT = 'Y'
|
||||
WHERE GM.MNGR_INNB = #{mngrInnb}
|
||||
AND GM.MNGR_STTUS_CD = '01'
|
||||
</select>
|
||||
|
||||
<!--관리자 > 권한 있는 사이트 조회 1개만 조회-->
|
||||
<select id="selectBOAuthorSite" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT DISTINCT GMA.SOPMAL_CD, SOPMAL_NM
|
||||
FROM GC_MANAGER GM
|
||||
INNER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GM.MNGR_INNB = GMA.MNGR_INNB
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
WHERE GM.MNGR_INNB = #{mngrInnb}
|
||||
AND GM.MNGR_STTUS_CD = '01'
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,275 @@
|
||||
<?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.admin.sys.comncd.mapper.BOMaComncdMapper">
|
||||
|
||||
<!-- 검색어 -->
|
||||
<sql id="srchStr">
|
||||
<![CDATA[
|
||||
LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</sql>
|
||||
<sql id="selectBOCommcdListInqireWhere">
|
||||
<![CDATA[
|
||||
AND 1=1
|
||||
]]>
|
||||
<!-- 검색조건 별 검색 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test="srchType=='GROUP_CD_NM'">
|
||||
AND GRP.GROUP_CD_NM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='GROUP_CD'">
|
||||
AND GRP.GROUP_CD <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='CD_NM'">
|
||||
AND GCD.CD_NM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='CD'">
|
||||
AND GCD.CD <include refid ="srchStr"/>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchUseAt)">
|
||||
AND GCD.USE_AT = #{srchUseAt}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 상세코드 목록 조회 -->
|
||||
<select id="selectBOCommcdDetailList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, CD_DV
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND GROUP_CD = #{groupCd}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cdDv)">
|
||||
AND CD_DV = #{cdDv}
|
||||
</if>
|
||||
ORDER BY SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 상세코드 조회 -->
|
||||
<select id="selectBOCommcdDetail"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdDetailVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, CD_DV
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND GROUP_CD = #{groupCd}
|
||||
AND CD = #{cd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- 공통코드 목록 조회 -->
|
||||
<select id="selectBOCmmnCodeList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
/*SET @ROWNUM = 0;*/
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT GRP.GROUP_CD_NM
|
||||
, GRP.GROUP_CD
|
||||
, GRP.GROUP_CD_DC
|
||||
, GCD.CD
|
||||
, GCD.CD_NM
|
||||
, GCD.CD_DC
|
||||
, GCD.USE_AT
|
||||
, GCD.REGUSR
|
||||
, GCD.REGIST_DT
|
||||
, DATE_FORMAT(GCD.REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, GCD.UPDUSR
|
||||
, GCD.UPDT_DT
|
||||
, DATE_FORMAT(GCD.UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
FROM GC_CODE_GROUP GRP
|
||||
INNER JOIN GC_CODE GCD
|
||||
ON GCD.GROUP_CD = GRP.GROUP_CD
|
||||
WHERE 1=1
|
||||
AND GRP.GROUP_CD = GCD.GROUP_CD
|
||||
]]>
|
||||
<include refid="selectBOCommcdListInqireWhere"/>
|
||||
<![CDATA[
|
||||
) TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 공통코드 목록 건수 -->
|
||||
<select id="selectBOCmmnCodeTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
FROM GC_CODE_GROUP GRP
|
||||
INNER JOIN GC_CODE GCD
|
||||
ON GCD.GROUP_CD = GRP.GROUP_CD
|
||||
WHERE 1=1
|
||||
AND GRP.GROUP_CD = GCD.GROUP_CD
|
||||
]]>
|
||||
<include refid="selectBOCommcdListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 코드그룹 저장 -->
|
||||
<update id="saveBOCmmnCodeGroup"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
INSERT INTO GC_CODE_GROUP (
|
||||
GROUP_CD
|
||||
, GROUP_CD_NM
|
||||
, GROUP_CD_DC
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(groupUseAt)">
|
||||
, USE_AT
|
||||
</if>
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
) VALUES (
|
||||
#{groupCd}
|
||||
, #{groupCdNm}
|
||||
, #{groupCdDc}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(groupUseAt)">
|
||||
, #{groupUseAt}
|
||||
</if>
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
) ON DUPLICATE KEY UPDATE
|
||||
GROUP_CD_NM = VALUES(GROUP_CD_NM)
|
||||
, GROUP_CD_DC = VALUES(GROUP_CD_DC)
|
||||
, USE_AT = VALUES(USE_AT)
|
||||
, UPDUSR = VALUES(UPDUSR)
|
||||
, UPDT_DT = VALUES(UPDT_DT)
|
||||
</update>
|
||||
|
||||
<!-- 코드 저장 -->
|
||||
<update id="saveBOCmmnCode"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
INSERT INTO GC_CODE (
|
||||
GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
, USE_AT
|
||||
</if>
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
, SORT_ORDR
|
||||
) VALUES (
|
||||
#{groupCd}
|
||||
, #{cd}
|
||||
, #{cdNm}
|
||||
, #{cdDc}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
, #{useAt}
|
||||
</if>
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
, #{sortOrdr}
|
||||
) ON DUPLICATE KEY UPDATE
|
||||
CD_NM = VALUES(CD_NM)
|
||||
, CD_DC = VALUES(CD_DC)
|
||||
, USE_AT = VALUES(USE_AT)
|
||||
, UPDUSR = VALUES(UPDUSR)
|
||||
, UPDT_DT = VALUES(UPDT_DT)
|
||||
, SORT_ORDR = VALUES(SORT_ORDR)
|
||||
</update>
|
||||
|
||||
<!-- 코드그룹 ID 중복 조회-->
|
||||
<select id="selectBOCmmnCodeGrpIdDplctInqire" resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM GC_CODE_GROUP
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
</select>
|
||||
|
||||
<!-- 상세코드 목록 조회 -->
|
||||
<select id="selectBOCmmnCodeGroupDetail"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, GROUP_CD_NM
|
||||
, GROUP_CD_DC
|
||||
, USE_AT
|
||||
FROM GC_CODE_GROUP
|
||||
WHERE GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--모든 코드 조회-->
|
||||
<select id="selectBOCommcdDetailAllList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, USE_AT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
ORDER BY SORT_ORDR ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 코드그룹 삭제 -->
|
||||
<update id="deleteBOCmmnCodeGroup" parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CODE_GROUP
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 코드 삭제 -->
|
||||
<update id="deleteBOCmmnCode" parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CODE
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,426 @@
|
||||
<?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.admin.sys.ctgry.mapper.BOMaCtgryMapper">
|
||||
|
||||
<!-- 카테고리 목록 조회-->
|
||||
<select id="selectBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
CTGRY_ID
|
||||
, UPPER_CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, CTGRY_NM
|
||||
, CTGRY_DEPTH AS DEPTH
|
||||
, SORT_ORDR
|
||||
, CTGRY_DV_CD
|
||||
, GOODS_CTGRY_EXPSR_AT
|
||||
, MENU_EXPSR_AT
|
||||
, GNB_EXPSR_AT
|
||||
, PGE_EXPSR_AT
|
||||
, EXPSR_CD
|
||||
, DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d') AS EXPSR_BGN_DT
|
||||
, DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d') AS EXPSR_END_DT
|
||||
, URL_DV_CD
|
||||
, URL
|
||||
, ORGINL_FIL_NM
|
||||
, SYS_FIL_NM
|
||||
, FIL_MG
|
||||
, FIL_TY
|
||||
, FIL_COURS
|
||||
, USE_AT
|
||||
, CONCAT(SOPMAL_CD,'_',CTGRY_ID) AS ID
|
||||
, CTGRY_NM AS TEXT
|
||||
, (CASE WHEN CTGRY_DEPTH = 1 THEN '#'
|
||||
ELSE CONCAT(SOPMAL_CD,'_',UPPER_CTGRY_ID)
|
||||
END) AS PARENT
|
||||
, BANNER_URL
|
||||
, MENU_CHR_COLOR
|
||||
FROM GC_CATEGORY GC
|
||||
WHERE USE_AT = 'Y'
|
||||
AND (
|
||||
GC.UPPER_CTGRY_ID IS NULL OR
|
||||
(
|
||||
SELECT PARENT.USE_AT
|
||||
FROM GC_CATEGORY PARENT
|
||||
WHERE CONCAT(PARENT.SOPMAL_CD,'_',PARENT.CTGRY_ID) = CONCAT(GC.SOPMAL_CD,'_',GC.UPPER_CTGRY_ID)
|
||||
) = 'Y')
|
||||
ORDER BY SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 상세 조회-->
|
||||
<select id="selectBOCtgry"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM GC_CATEGORY
|
||||
WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 저장-->
|
||||
<insert id="insertBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
INSERT INTO GC_CATEGORY (
|
||||
CTGRY_ID
|
||||
, UPPER_CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, CTGRY_NM
|
||||
, CTGRY_DEPTH
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
, SORT_ORDR
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryDvCd)">
|
||||
, CTGRY_DV_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(goodsCtgryExpsrAt)">
|
||||
, GOODS_CTGRY_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuExpsrAt)">
|
||||
, MENU_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(gnbExpsrAt)">
|
||||
, GNB_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pgeExpsrAt)">
|
||||
, PGE_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrCd)">
|
||||
, EXPSR_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, EXPSR_BGN_DT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, EXPSR_END_DT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(urlDvCd)">
|
||||
, URL_DV_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
, URL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orginlFilNm)">
|
||||
, ORGINL_FIL_NM /*원본파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sysFilNm)">
|
||||
, SYS_FIL_NM /*시스템파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filMg)">
|
||||
, FIL_MG /*파일크기*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filTy)">
|
||||
, FIL_TY /*파일타입*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filCours)">
|
||||
, FIL_COURS /*파일경로*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bannerUrl)">
|
||||
, BANNER_URL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuChrColor)">
|
||||
,MENU_CHR_COLOR
|
||||
</if>
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
) VALUES (
|
||||
#{ctgryId}
|
||||
, #{upperCtgryId}
|
||||
, #{sopmalCd}
|
||||
, #{ctgryNm}
|
||||
, #{ctgryDepth}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
, #{sortOrdr}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryDvCd)">
|
||||
, #{ctgryDvCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(goodsCtgryExpsrAt)">
|
||||
, #{goodsCtgryExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuExpsrAt)">
|
||||
, #{menuExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(gnbExpsrAt)">
|
||||
, #{gnbExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pgeExpsrAt)">
|
||||
, #{pgeExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrCd)">
|
||||
, #{expsrCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, #{expsrBgnDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, #{expsrEndDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(urlDvCd)">
|
||||
, #{urlDvCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
, #{url}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orginlFilNm)">
|
||||
, #{orginlFilNm} /*원본파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sysFilNm)">
|
||||
, #{sysFilNm} /*시스템파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filMg)">
|
||||
, #{filMg} /*파일크기*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filTy)">
|
||||
, #{filTy} /*파일타입*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filCours)">
|
||||
, #{filCours} /*파일경로*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bannerUrl)">
|
||||
, #{bannerUrl}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuChrColor)">
|
||||
, #{menuChrColor} /*메뉴 글자색*/
|
||||
</if>
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 카테고리 저장-->
|
||||
<update id="updateBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY
|
||||
SET
|
||||
CTGRY_NM = #{ctgryNm}, /*카테고리명*/
|
||||
SORT_ORDR = #{sortOrdr}, /*순서*/
|
||||
CTGRY_DV_CD = #{ctgryDvCd}, /*카테고리구분코드*/
|
||||
GOODS_CTGRY_EXPSR_AT = #{goodsCtgryExpsrAt}, /*상품카테고리노출여부*/
|
||||
MENU_EXPSR_AT = #{menuExpsrAt}, /*메뉴노출여부*/
|
||||
GNB_EXPSR_AT = #{gnbExpsrAt}, /*GNB 노출여부*/
|
||||
PGE_EXPSR_AT = #{pgeExpsrAt}, /*페이지 노출여부*/
|
||||
EXPSR_CD = #{expsrCd}, /*노출구분*/
|
||||
MENU_CHR_COLOR = #{menuChrColor},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
EXPSR_BGN_DT = #{expsrBgnDt}, /*노출구분 시작일자*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
EXPSR_END_DT = #{expsrEndDt}, /*노출구분 종료자*/
|
||||
</if>
|
||||
<choose>
|
||||
<when test="fileUse == 'new'">
|
||||
ORGINL_FIL_NM = #{orginlFilNm},
|
||||
SYS_FIL_NM = #{sysFilNm},
|
||||
FIL_MG = #{filMg},
|
||||
FIL_TY = #{filTy},
|
||||
FIL_COURS = #{filCours},
|
||||
</when>
|
||||
<when test="fileUse == 'none'">
|
||||
ORGINL_FIL_NM = NULL,
|
||||
SYS_FIL_NM = NULL,
|
||||
FIL_MG = NULL,
|
||||
FIL_TY = NULL,
|
||||
FIL_COURS = NULL,
|
||||
</when>
|
||||
<otherwise>
|
||||
</otherwise>
|
||||
</choose>
|
||||
BANNER_URL = #{bannerUrl},
|
||||
URL_DV_CD = #{urlDvCd},
|
||||
URL = #{url}, /*URL*/
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 정렬순서 업데이트 -->
|
||||
<update id="updateBOCtgrySortOrdr" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY
|
||||
SET SORT_ORDR = #{sortOrdr},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 카테고리 삭제 -->
|
||||
<update id="deleteBOCtgryManage" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CATEGORY
|
||||
SET USE_AT = 'N'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<select id="selectCtgryId" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(MAX(CTGRY_ID), 0)+1
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!--관리자 > 카테고리 조회-->
|
||||
<select id="selectGoodsCategoryList" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
SELECT GC.CTGRY_ID
|
||||
, IFNULL(GC.UPPER_CTGRY_ID, 0) AS UPPER_CTGRY_ID
|
||||
, GC.CTGRY_DEPTH
|
||||
, GC.CTGRY_NM
|
||||
FROM GC_CATEGORY GC
|
||||
WHERE 1=1
|
||||
AND GC.USE_AT = 'Y'
|
||||
AND GC.GOODS_CTGRY_EXPSR_AT = 'Y'
|
||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
||||
AND IFNULL(GC.UPPER_CTGRY_ID, 0) = #{upperCtgryId}
|
||||
ORDER BY GC.CTGRY_ID
|
||||
, GC.CTGRY_DEPTH
|
||||
, GC.UPPER_CTGRY_ID
|
||||
, GC.SORT_ORDR
|
||||
</select>
|
||||
|
||||
<!--사용자 > 카테고리 상품 목록조회-->
|
||||
<select id="selectGoodsSopmalCatgryList" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
WITH RECURSIVE CATEGORY_PATH AS (
|
||||
SELECT
|
||||
FC.CTGRY_DEPTH,
|
||||
FC.CTGRY_ID AS BASE_CTGRY_ID,
|
||||
FC.CTGRY_NM AS BASE_CTGRY_NM,
|
||||
FC.CTGRY_ID,
|
||||
FC.UPPER_CTGRY_ID,
|
||||
FC.CTGRY_NM,
|
||||
FC.SOPMAL_CD,
|
||||
FC.SORT_ORDR
|
||||
FROM GC_CATEGORY FC
|
||||
WHERE
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryId)">
|
||||
FC.CTGRY_ID = #{ctgryId}
|
||||
</when>
|
||||
<otherwise>
|
||||
FC.CTGRY_CD = #{code}
|
||||
</otherwise>
|
||||
</choose>
|
||||
AND FC.SOPMAL_CD = #{sopmalCd}
|
||||
AND FC.USE_AT = 'Y'
|
||||
AND FC.PGE_EXPSR_AT = 'Y'
|
||||
UNION ALL
|
||||
SELECT
|
||||
C.CTGRY_DEPTH,
|
||||
P.BASE_CTGRY_ID,
|
||||
P.BASE_CTGRY_NM,
|
||||
C.CTGRY_ID,
|
||||
C.UPPER_CTGRY_ID,
|
||||
C.CTGRY_NM,
|
||||
C.SOPMAL_CD,
|
||||
C.SORT_ORDR
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY_PATH P
|
||||
ON C.UPPER_CTGRY_ID = P.CTGRY_ID
|
||||
AND C.SOPMAL_CD = P.SOPMAL_CD
|
||||
WHERE C.SOPMAL_CD = #{sopmalCd}
|
||||
AND C.PGE_EXPSR_AT = 'Y'
|
||||
AND C.USE_AT = 'Y'
|
||||
)
|
||||
SELECT
|
||||
P.CTGRY_DEPTH,
|
||||
P.CTGRY_ID,
|
||||
P.UPPER_CTGRY_ID,
|
||||
P.CTGRY_NM,
|
||||
P.SOPMAL_CD,
|
||||
P.BASE_CTGRY_NM,
|
||||
P.BASE_CTGRY_ID,
|
||||
P.SORT_ORDR
|
||||
FROM
|
||||
CATEGORY_PATH P
|
||||
WHERE 1=1
|
||||
AND P.CTGRY_ID != '2'
|
||||
AND P.UPPER_CTGRY_ID = 2 OR P.UPPER_CTGRY_ID = #{ctgryId} OR P.CTGRY_ID = #{ctgryId}
|
||||
ORDER BY
|
||||
CTGRY_DEPTH, SORT_ORDR ASC
|
||||
|
||||
</select>
|
||||
|
||||
<!--사용자 > 상품 목록 > 카테고리 배너 조회-->
|
||||
<select id="selectGoodsSopmalCatgryBanner" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
SELECT
|
||||
GC.SOPMAL_CD
|
||||
,GC.FIL_COURS
|
||||
,GC.ORGINL_FIL_NM
|
||||
,GC.SYS_FIL_NM
|
||||
,BANNER_URL
|
||||
FROM
|
||||
GC_CATEGORY GC
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GC.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryId)">
|
||||
AND GC.CTGRY_ID = #{ctgryId}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(code)">
|
||||
AND GC.CTGRY_CD = #{code}
|
||||
</if>
|
||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectBOCtgryOrdrCnt" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="java.lang.Integer">
|
||||
SELECT CTGRY_ID
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND USE_AT = 'Y'
|
||||
AND UPPER_CTGRY_ID = #{upperCtgryId}
|
||||
AND SORT_ORDR = #{sortOrdr};
|
||||
</select>
|
||||
|
||||
<update id="updateBOCtgryOrdr" parameterType="dataMap">
|
||||
<selectKey keyProperty="sortOrdr" resultType="java.lang.Integer" order="BEFORE">
|
||||
SELECT IFNULL(MAX(SORT_ORDR),0) + 1
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND USE_AT = 'Y'
|
||||
AND UPPER_CTGRY_ID = #{upperCtgryId}
|
||||
</selectKey>
|
||||
UPDATE GC_CATEGORY
|
||||
SET SORT_ORDR = #{sortOrdr}
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND CTGRY_ID = #{ctgryId}
|
||||
</update>
|
||||
|
||||
<select id="selectBOCtgryGoodsListInqurePopup" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="dataMap">
|
||||
SELECT GCL.GOODS_INNB, GCL.GOODS_ORDR, GG.GOODS_NM, GCL.CTGRY_GOODS_ESNTL_NB
|
||||
FROM GC_CATEGORY_LINK GCL
|
||||
LEFT JOIN GC_GOODS GG
|
||||
ON GCL.GOODS_INNB = GG.GOODS_INNB AND GCL.SOPMAL_CD = GG.SOPMAL_CD
|
||||
WHERE GCL.SOPMAL_CD = #{sopmalCd}
|
||||
AND GCL.CTGRY_ID = #{ctgryId}
|
||||
ORDER BY GOODS_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 상품 조회 -->
|
||||
<update id="updateBOCtgryGoodsOrdr" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY_LINK
|
||||
SET GOODS_ORDR = #{goodsOrdr}
|
||||
WHERE 1=1
|
||||
AND CTGRY_GOODS_ESNTL_NB = #{ctgryGoodsEsntlNb}
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 카테고리 리스트 -->
|
||||
<select id="selectBOSopmalCtgry" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="dataMap">
|
||||
SELECT
|
||||
CTGRY_ID, SOPMAL_CD, CTGRY_NM
|
||||
FROM GC_CATEGORY
|
||||
WHERE USE_AT = 'Y'
|
||||
AND CTGRY_DEPTH = '2'
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,210 @@
|
||||
<?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.admin.sys.fnct.mapper.BOFnctMapper">
|
||||
|
||||
<sql id="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MF.USE_AT = 'Y'
|
||||
<if test="srchFnctNm != null and srchFnctNm != ''">
|
||||
AND
|
||||
UPPER(MF.FNCT_NM) LIKE CONCAT('%', UPPER(#{srchFnctNm}), '%')
|
||||
</if>
|
||||
<if test="srchFnctDv != null and srchFnctDv != ''">
|
||||
AND
|
||||
MF.FNCT_DV_CD= #{srchFnctDv}
|
||||
</if>
|
||||
<if test="srchFnctUrl != null and srchFnctUrl != ''">
|
||||
AND
|
||||
UPPER(MF.FNCT_URI) LIKE CONCAT('%', UPPER(#{srchFnctUrl}), '%')
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND
|
||||
MF.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 페이징처리를 위한 게시판 목록 총 개수 -->
|
||||
<select id="selectBOFnctTotCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
and MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY
|
||||
REGIST_ORD DESC
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기능 목록 조회 -->
|
||||
<select id="selectBOFnctList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', MF.SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
MF.FNCT_NM,
|
||||
MF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', MF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
MF.FNCT_URI,
|
||||
MF.FNCT_DC,
|
||||
MF.USE_AT,
|
||||
MF.REGUSR,
|
||||
DATE_FORMAT(MF.REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
MF.UPDUSR,
|
||||
DATE_FORMAT(MF.UPDT_DT, '%Y-%m-%d') AS UPDT_DT,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
AND MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY REGIST_ORD DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기능 상세 조회 -->
|
||||
<select id="selectBOFnctDetail"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
SELECT
|
||||
FNCT_ID,
|
||||
SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
FNCT_NM,
|
||||
FNCT_DV_CD,
|
||||
FNCT_URI,
|
||||
FNCT_DC,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
UPDUSR,
|
||||
DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DT
|
||||
FROM GC_FNCT MF
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND FNCT_ID = #{fnctId}
|
||||
</select>
|
||||
|
||||
<!-- 기능 URL 중복여부 조회 -->
|
||||
<select id="selectBOFnctUrlDplct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM GC_FNCT
|
||||
WHERE 1=1
|
||||
AND FNCT_URI = #{fnctUri}
|
||||
AND SYS_DV_CD = #{sysDvCd}
|
||||
AND USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 기능 등록 -->
|
||||
<insert id="insertBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
<selectKey order="BEFORE" keyProperty="fnctId" resultType="java.lang.String">
|
||||
SELECT CAST(IFNULL(COUNT(FNCT_ID), 0) AS UNSIGNED)+1
|
||||
FROM GC_FNCT
|
||||
</selectKey>
|
||||
INSERT INTO GC_FNCT
|
||||
(
|
||||
FNCT_ID,
|
||||
SYS_DV_CD,
|
||||
FNCT_DV_CD,
|
||||
FNCT_URI,
|
||||
FNCT_NM,
|
||||
FNCT_DC,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{fnctId},
|
||||
#{sysDvCd},
|
||||
#{fnctDvCd},
|
||||
#{fnctUri},
|
||||
#{fnctNm},
|
||||
#{fnctDc},
|
||||
#{useAt},
|
||||
#{regusr},
|
||||
NOW(),
|
||||
null,
|
||||
null
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 기능 수정 -->
|
||||
<update id="updateBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
UPDATE GC_FNCT
|
||||
SET SYS_DV_CD = #{sysDvCd},
|
||||
FNCT_NM = #{fnctNm},
|
||||
FNCT_DV_CD = #{fnctDvCd},
|
||||
FNCT_DC = #{fnctDc},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND FNCT_ID = #{fnctId}
|
||||
</update>
|
||||
|
||||
<!-- 기능 삭제 -->
|
||||
<update id="deleteBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
UPDATE GC_FNCT
|
||||
SET USE_AT = 'N',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE FNCT_ID = #{fnctId}
|
||||
</update>
|
||||
|
||||
<!-- 기능 목록 엑셀 -->
|
||||
<select id="selectBOFnctExcelList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "DataMap">
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', MF.SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
MF.FNCT_NM,
|
||||
MF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', MF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
MF.FNCT_URI,
|
||||
MF.FNCT_DC,
|
||||
MF.USE_AT,
|
||||
MF.REGUSR,
|
||||
DATE_FORMAT(MF.REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
MF.UPDUSR,
|
||||
DATE_FORMAT(MF.UPDT_DT, '%Y-%m-%d') AS UPDT_DT,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
AND MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY REGIST_ORD DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,459 @@
|
||||
<?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.admin.sys.menu.mapper.BOMaMenuMapper">
|
||||
|
||||
<!-- 메뉴 목록 조회-->
|
||||
<select id="selectBOMenuManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
MENU_CD
|
||||
, SOPMAL_CD
|
||||
, UPPER_MENU_CD
|
||||
, UPMOST_MENU_CD
|
||||
, MENU_NM
|
||||
, MENU_DC
|
||||
, MENU_DEPTH AS DEPTH
|
||||
, SORT_ORDR
|
||||
, URL
|
||||
, EXPSR_LC_DV_CD
|
||||
, MENU_CD AS ID
|
||||
, MENU_NM AS TEXT
|
||||
, (CASE WHEN MENU_DEPTH = 0 THEN '#'
|
||||
ELSE UPPER_MENU_CD
|
||||
END) AS PARENT
|
||||
FROM GC_MANAGER_MENU MM
|
||||
WHERE USE_AT = 'Y'
|
||||
AND (
|
||||
MM.UPPER_MENU_CD IS NULL OR
|
||||
(
|
||||
SELECT PARENT.USE_AT
|
||||
FROM GC_MANAGER_MENU PARENT
|
||||
WHERE PARENT.MENU_CD = MM.UPPER_MENU_CD
|
||||
) = 'Y')
|
||||
ORDER BY SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 메뉴 상세 조회-->
|
||||
<select id="selectBOMenu"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM GC_MANAGER_MENU
|
||||
WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 메뉴 저장-->
|
||||
<update id="updateBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
|
||||
UPDATE GC_MANAGER_MENU
|
||||
SET MENU_NM = #{menuNm}, /*메뉴명*/
|
||||
EXPSR_LC_DV_CD = #{expsrLcDvCd}, /*노출 여부*/
|
||||
URL = #{url}, /*URL*/
|
||||
MENU_DC = #{menuDc}, /*메뉴 설명*/
|
||||
UPDUSR = #{updusr}, /*수정자*/
|
||||
UPDT_DT = NOW() /*수정일시*/
|
||||
WHERE MENU_CD = #{menuCd}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<insert id="insertBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
|
||||
<selectKey order="BEFORE" keyProperty="menuCd" resultType="String">
|
||||
SELECT CONCAT(#{upmostMenuCd}, '_', MAX(CAST(REGEXP_REPLACE(MENU_CD, '[^0-9]', '') AS UNSIGNED))+1) AS MENU_CD
|
||||
FROM GC_MANAGER_MENU
|
||||
WHERE UPMOST_MENU_CD = #{upmostMenuCd}
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_MANAGER_MENU
|
||||
(
|
||||
MENU_CD,
|
||||
SOPMAL_CD,
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upperMenuCd)">
|
||||
UPPER_MENU_CD,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upmostMenuCd)">
|
||||
UPMOST_MENU_CD,
|
||||
</if>
|
||||
MENU_NM,
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuDc)">
|
||||
MENU_DC,
|
||||
</if>
|
||||
MENU_DEPTH,
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
SORT_ORDR,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
URL,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrLcDvCd)">
|
||||
EXPSR_LC_DV_CD,
|
||||
</if>
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{menuCd},
|
||||
#{sopmalCd},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upperMenuCd)">
|
||||
#{upperMenuCd},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upmostMenuCd)">
|
||||
#{upmostMenuCd},
|
||||
</if>
|
||||
#{menuNm},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuDc)">
|
||||
#{menuDc},
|
||||
</if>
|
||||
#{menuDepth},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
#{sortOrdr},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
#{url},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrLcDvCd)">
|
||||
#{expsrLcDvCd},
|
||||
</if>
|
||||
'Y',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 메뉴 삭제 -->
|
||||
<update id="deleteBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
|
||||
UPDATE GC_MANAGER_MENU
|
||||
SET USE_AT = 'N',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MENU_CD = #{menuCd}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 기능 팝업 셀렉트박스 상위메뉴 조회 -->
|
||||
<select id="selectTopMenuList" resultType="DataMap">
|
||||
SELECT
|
||||
MENU_CD,
|
||||
UPPER_MENU_CD,
|
||||
MENU_NM,
|
||||
MENU_DEPTH AS LEVEL,
|
||||
UPMOST_MENU_CD,
|
||||
MENU_DC
|
||||
FROM
|
||||
GC_MANAGER_MENU
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
AND
|
||||
UPPER_MENU_CD IS NULL
|
||||
ORDER BY
|
||||
SORT_ORDR
|
||||
</select>
|
||||
<!-- 기능 팝업 셀렉트박스 하위메뉴 조회 -->
|
||||
<select id="selectSubMenuList" parameterType="String" resultType="DataMap">
|
||||
SELECT
|
||||
MENU_CD,
|
||||
UPPER_MENU_CD,
|
||||
MENU_NM,
|
||||
MENU_DEPTH AS LEVEL,
|
||||
UPMOST_MENU_CD,
|
||||
MENU_DC
|
||||
FROM
|
||||
GC_MANAGER_MENU
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
AND
|
||||
UPPER_MENU_CD = #{upperMenuCd}
|
||||
ORDER BY
|
||||
SORT_ORDR
|
||||
</select>
|
||||
|
||||
<!-- 쇼핑몰 목록 조회 -->
|
||||
<select id="selectBOsopmalList" parameterType="String" resultType="DataMap">
|
||||
SELECT
|
||||
MENU_CD,
|
||||
MENU_NM,
|
||||
SOPMAL_CD
|
||||
FROM
|
||||
GC_MANAGER_MENU
|
||||
WHERE
|
||||
MENU_DEPTH = '1'
|
||||
AND
|
||||
UPPER_MENU_CD = 'adm'
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 선택된 메뉴리스트 조회 -->
|
||||
<select id="selectBOMenuListInqire" parameterType="String" resultType="DataMap">
|
||||
SELECT
|
||||
AFM.MENU_CD,
|
||||
MM.MENU_NM
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU AFM
|
||||
INNER JOIN
|
||||
GC_MANAGER_MENU MM
|
||||
ON
|
||||
AFM.MENU_CD = MM.MENU_CD
|
||||
AND
|
||||
AFM.AUTHOR_GROUP_CD = #{authorGroupCd}
|
||||
</select>
|
||||
|
||||
<!-- 정렬순서 중복 조회 -->
|
||||
<select id="selectBOMenuSortOrdrCheck"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="int">
|
||||
SELECT
|
||||
COUNT(MENU_CD)
|
||||
FROM
|
||||
GC_MANAGER_MENU MM
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MENU_DEPTH = #{menuDepth}
|
||||
AND
|
||||
UPPER_MENU_CD = #{upperMenuCd}
|
||||
AND
|
||||
SORT_ORDR = #{sortOrdr}
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="selectBOSortOrdrByMenuCd"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="String">
|
||||
SELECT
|
||||
MENU_CD
|
||||
FROM
|
||||
GC_MANAGER_MENU MM
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MENU_DEPTH = #{menuDepth}
|
||||
AND
|
||||
UPPER_MENU_CD = #{upperMenuCd}
|
||||
AND
|
||||
SORT_ORDR = #{sortOrdr}
|
||||
AND
|
||||
USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 정렬순서 업데이트 -->
|
||||
<update id="updateBOMenuSortOrdr" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
|
||||
<foreach collection="moveMenuCd" item="menuCd" index="index" separator=";">
|
||||
UPDATE GC_MANAGER_MENU
|
||||
SET SORT_ORDR = #{index} +1
|
||||
WHERE MENU_CD = #{menuCd}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰별 등급 조회 -->
|
||||
<select id="selectBOSopmalGrad"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
|
||||
resultType="dataMap">
|
||||
SELECT GMG.MBR_GRAD_INNB, GMG.MBR_GRAD_NM
|
||||
FROM GC_SHOP_MEMBER_GRAD_GROUP GSMGG
|
||||
LEFT JOIN GC_MEMBER_GRAD GMG
|
||||
ON GSMGG.MBR_GRAD_GROUP_INNB = GMG.MBR_GRAD_GROUP_INNB
|
||||
WHERE GSMGG.SOPMAL_CD = ${sopmalCd}
|
||||
</select>
|
||||
|
||||
<!-- 통합관리자/관리자 TOP 메뉴 조회 -->
|
||||
<select id="selectBOTopMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
|
||||
<![CDATA[
|
||||
WITH RECURSIVE MENU_INCLD AS
|
||||
(
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
, M1.MENU_CD
|
||||
, M1.SOPMAL_CD
|
||||
, M1.UPPER_MENU_CD
|
||||
, M1.MENU_NM
|
||||
, M1.MENU_DEPTH
|
||||
, M1.SORT_ORDR
|
||||
, M1.URL
|
||||
, CONCAT(IF(LENGTH(M1.SORT_ORDR)=1,'0',''), M1.SORT_ORDR, M1.MENU_NM) FULL_PATH
|
||||
FROM GC_MANAGER_MENU M1
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND M1.USE_AT = 'Y'
|
||||
AND M1.SOPMAL_CD = #{sopmalCd}
|
||||
AND M1.UPMOST_MENU_CD = #{upmostMenuCd}
|
||||
AND CASE WHEN IFNULL(#{upperMenuCd},'') <> '' THEN M1.UPPER_MENU_CD = #{upperMenuCd}
|
||||
ELSE M1.UPPER_MENU_CD = #{upmostMenuCd}
|
||||
END
|
||||
UNION
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
, M2.MENU_CD
|
||||
, M2.SOPMAL_CD
|
||||
, M2.UPPER_MENU_CD
|
||||
, M2.MENU_NM
|
||||
, M2.MENU_DEPTH
|
||||
, M2.SORT_ORDR
|
||||
, M2.URL
|
||||
, CONCAT(MENU_INCLD.FULL_PATH , ' > ', M2.SORT_ORDR, M2.MENU_NM ) AS FULL_PATH
|
||||
FROM GC_MANAGER_MENU M2
|
||||
INNER JOIN MENU_INCLD ON M2.UPPER_MENU_CD = MENU_INCLD.MENU_CD AND M2.SOPMAL_CD = MENU_INCLD.SOPMAL_CD
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND M2.USE_AT = 'Y'
|
||||
)
|
||||
SELECT RNUM,MENU_CD
|
||||
, SOPMAL_CD
|
||||
, UPPER_MENU_CD
|
||||
, MENU_NM
|
||||
, MENU_DEPTH
|
||||
, SORT_ORDR
|
||||
, URL
|
||||
, FULL_PATH
|
||||
, CASE
|
||||
WHEN MENU_DEPTH = #{nextDeptCd2} AND LEAD(MENU_DEPTH) OVER (ORDER BY FULL_PATH) = #{nextDeptCd1} THEN 1
|
||||
ELSE 0
|
||||
END AS NEXT_DEPTH_2
|
||||
, CASE
|
||||
WHEN MENU_DEPTH = #{nextDeptCd1} AND LEAD(MENU_DEPTH) OVER (ORDER BY FULL_PATH) = #{nextDeptCd2} THEN 1
|
||||
ELSE 0
|
||||
END AS NEXT_DEPTH_3
|
||||
FROM MENU_INCLD
|
||||
WHERE 1 = 1
|
||||
AND CASE WHEN IFNULL(#{upperMenuCd},'') = '' THEN MENU_DEPTH = #{topMenuCd}
|
||||
ELSE 1
|
||||
END
|
||||
ORDER BY FULL_PATH
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 쇼핑몰 메뉴 조회 -->
|
||||
<select id="selectBOSopmalTopMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
|
||||
<![CDATA[
|
||||
WITH RECURSIVE CTGRY_INCLD AS
|
||||
(
|
||||
SELECT 1 AS RNUM
|
||||
, C1.CTGRY_ID
|
||||
, C1.SOPMAL_CD
|
||||
, C1.UPPER_CTGRY_ID
|
||||
, C1.CTGRY_NM
|
||||
, C1.CTGRY_DEPTH
|
||||
, C1.SORT_ORDR
|
||||
, C1.CTGRY_DV_CD
|
||||
, C1.URL
|
||||
, C1.MENU_EXPSR_AT
|
||||
, C1.GNB_EXPSR_AT
|
||||
, CONCAT(C1.SOPMAL_CD, ' > ', C1.SORT_ORDR, C1.CTGRY_NM) FULL_PATH
|
||||
, C1.MENU_CHR_COLOR
|
||||
FROM GC_CATEGORY C1
|
||||
WHERE 1=1
|
||||
AND C1.USE_AT = 'Y'
|
||||
AND C1.SOPMAL_CD = #{sopmalCd}
|
||||
AND C1.UPPER_CTGRY_ID = 1
|
||||
UNION
|
||||
SELECT RNUM+1
|
||||
, C2.CTGRY_ID
|
||||
, C2.SOPMAL_CD
|
||||
, C2.UPPER_CTGRY_ID
|
||||
, C2.CTGRY_NM
|
||||
, C2.CTGRY_DEPTH
|
||||
, C2.SORT_ORDR
|
||||
, C2.CTGRY_DV_CD
|
||||
, CASE WHEN C2.URL_DV_CD = '01' THEN CONCAT('/sopmal/goods/selectGoodsListForm?ctgryId=',C2.CTGRY_ID)
|
||||
ELSE C2.URL
|
||||
END URL
|
||||
, C2.MENU_EXPSR_AT
|
||||
, C2.GNB_EXPSR_AT
|
||||
, CONCAT(CTGRY_INCLD.FULL_PATH, ' > ', LPAD(IFNULL(C2.SORT_ORDR, '0'), 3, '0'), C2.CTGRY_NM) AS FULL_PATH
|
||||
, C2.MENU_CHR_COLOR
|
||||
FROM GC_CATEGORY C2
|
||||
INNER JOIN CTGRY_INCLD ON C2.UPPER_CTGRY_ID = CTGRY_INCLD.CTGRY_ID AND C2.SOPMAL_CD = CTGRY_INCLD.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND C2.USE_AT = 'Y'
|
||||
AND C2.CTGRY_DEPTH < 5
|
||||
AND CASE WHEN C2.EXPSR_CD = '01' THEN 1
|
||||
WHEN EXPSR_CD = '03' AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d') AND DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d') THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
)
|
||||
SELECT FULL_PATH
|
||||
, RNUM
|
||||
, MENU_EXPSR_AT
|
||||
, GNB_EXPSR_AT
|
||||
, SORT_ORDR
|
||||
, CTGRY_DV_CD
|
||||
, CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, UPPER_CTGRY_ID
|
||||
, CTGRY_NM
|
||||
, CTGRY_DEPTH
|
||||
, URL
|
||||
, MENU_CHR_COLOR
|
||||
, IF(LOCATE('bbsId=', url) > 0, SUBSTRING_INDEX(SUBSTRING(url, LOCATE('bbsId=', url) + 6), '&', 1), '') AS BBS_ID
|
||||
, CASE WHEN RNUM IN ('2','3') AND LEAD(RNUM) OVER (ORDER BY FULL_PATH) = '3' THEN 1
|
||||
ELSE 0
|
||||
END AS NEXT_DEPTH_2
|
||||
, CASE WHEN RNUM IN ('3','4') AND LEAD(RNUM) OVER (ORDER BY FULL_PATH) = '4' THEN 1
|
||||
ELSE 0
|
||||
END AS NEXT_DEPTH_3
|
||||
FROM CTGRY_INCLD
|
||||
WHERE RNUM > 1
|
||||
ORDER BY FULL_PATH
|
||||
]]>
|
||||
</select>
|
||||
<!--crm header left menu 조회-->
|
||||
<select id="selectBOCrmMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
|
||||
WITH RECURSIVE MENU_INCLD AS
|
||||
(
|
||||
SELECT 1 AS RNUM
|
||||
, M1.MENU_CD
|
||||
, M1.SOPMAL_CD
|
||||
, M1.UPPER_MENU_CD
|
||||
, M1.MENU_NM
|
||||
, M1.MENU_DEPTH
|
||||
, M1.SORT_ORDR
|
||||
, M1.URL
|
||||
, M1.EXPSR_LC_DV_CD
|
||||
, CONCAT(M1.SORT_ORDR, M1.MENU_NM) FULL_PATH
|
||||
FROM GC_MANAGER_MENU M1
|
||||
WHERE 1 = 1
|
||||
AND M1.USE_AT = 'Y'
|
||||
AND M1.SOPMAL_CD = #{sopmalCd}
|
||||
AND M1.UPMOST_MENU_CD = #{upmostMenuCd}
|
||||
AND CASE WHEN IFNULL(#{upmostMenuCd},'') <![CDATA[<>]]> '' THEN M1.UPPER_MENU_CD = 'crm'
|
||||
ELSE M1.UPPER_MENU_CD = 'crm'
|
||||
END
|
||||
UNION
|
||||
SELECT RNUM+1
|
||||
, M2.MENU_CD
|
||||
, M2.SOPMAL_CD
|
||||
, M2.UPPER_MENU_CD
|
||||
, M2.MENU_NM
|
||||
, M2.MENU_DEPTH
|
||||
, M2.SORT_ORDR
|
||||
, M2.URL
|
||||
, M2.EXPSR_LC_DV_CD
|
||||
, CONCAT(MENU_INCLD.FULL_PATH , ' > ', M2.SORT_ORDR, M2.MENU_NM ) AS FULL_PATH
|
||||
FROM GC_MANAGER_MENU M2
|
||||
INNER JOIN MENU_INCLD ON M2.UPPER_MENU_CD = MENU_INCLD.MENU_CD AND M2.SOPMAL_CD = MENU_INCLD.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND M2.USE_AT = 'Y'
|
||||
)
|
||||
SELECT RNUM
|
||||
,MENU_CD
|
||||
, SOPMAL_CD
|
||||
, UPPER_MENU_CD
|
||||
, MENU_NM
|
||||
, MENU_DEPTH
|
||||
, SORT_ORDR
|
||||
, URL
|
||||
, EXPSR_LC_DV_CD
|
||||
, FULL_PATH
|
||||
FROM MENU_INCLD
|
||||
WHERE 1 = 1
|
||||
ORDER BY SORT_ORDR
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,541 @@
|
||||
<?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.admin.user.mngr.mapper.BOJobUserMapper">
|
||||
|
||||
<!-- 목록 조회 WHERE(검색조건) -->
|
||||
|
||||
<!-- 검색어 -->
|
||||
<sql id="selectBOJobUserListInqireWhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_STTUS_CD != '03'
|
||||
<!-- 검색타입별 검색 -->
|
||||
<if test="srchStr != null and srchStr != ''">
|
||||
<choose>
|
||||
<when test="srchType eq 'MNGR_NM'.toString()">
|
||||
AND MNGR_NM LIKE CONCAT('%', #{srchStr}, '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MNGR_ID'.toString()">
|
||||
AND MNGR_ID LIKE CONCAT('%', #{srchStr}, '%')
|
||||
</when>
|
||||
<when test="srchType eq 'EMAIL'.toString()">
|
||||
AND CAST(AES_DECRYPT(UNHEX(EMAIL) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MBTLNB'.toString()">
|
||||
AND CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%')
|
||||
</when>
|
||||
<when test="srchType eq 'PARTNM'.toString()">
|
||||
AND PARTNM LIKE CONCAT('%', #{srchStr}, '%')
|
||||
</when>
|
||||
<when test="srchType eq 'ALL'.toString()">
|
||||
AND(
|
||||
MNGR_NM LIKE CONCAT('%', #{srchStr}, '%') OR
|
||||
MNGR_ID LIKE CONCAT('%', #{srchStr}, '%') OR
|
||||
CAST(AES_DECRYPT(UNHEX(EMAIL) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%') OR
|
||||
CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchStr}, '%') OR
|
||||
PARTNM LIKE CONCAT('%', #{srchStr}, '%')
|
||||
)
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 사용자타입검색 -->
|
||||
<if test="srchMngrDv != null and srchMngrDv != ''">
|
||||
AND MNGR_DV = #{srchMngrDv}
|
||||
</if>
|
||||
<!-- 최근접속날자검색 -->
|
||||
<if test="srchStartDate != null and srchStartDate != '' and srchEndDate != null and srchEndDate != ''">
|
||||
AND
|
||||
LAST_CONECT_DT BETWEEN CONCAT(#{srchStartDate}, ' 00:00:00') AND CONCAT(#{srchEndDate}, ' 23:59:59')
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 업무 사용자 목록 건수 조회 -->
|
||||
<select id="selectBOJobUserTotCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER JOBUSER
|
||||
<include refid = "selectBOJobUserListInqireWhere"/>
|
||||
</select>
|
||||
<!-- 업무 사용자 목록 조회 -->
|
||||
<select id="selectBOJobUserList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
MNGR_INNB,
|
||||
MNGR_NM,
|
||||
PARTNM,
|
||||
MNGR_ID,
|
||||
CAST(AES_DECRYPT(UNHEX(EMAIL) , #{secretKey}) AS CHAR(50)) AS EMAIL,
|
||||
CAST(AES_DECRYPT(UNHEX(TELNB) , #{secretKey}) AS CHAR(50)) AS TELNB,
|
||||
CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) AS MBTLNB,
|
||||
MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', MNGR_DV) AS MNGR_DV_NM,
|
||||
MBLPHON_CRTFC_AT,
|
||||
LMTT_IP,
|
||||
DATE_FORMAT(LAST_CONECT_DT, '%Y-%m-%d %H:%i:%s') AS LAST_CONECT_DT,
|
||||
MNGR_STTUS_CD
|
||||
FROM
|
||||
GC_MANAGER
|
||||
<include refid = "selectBOJobUserListInqireWhere"/>
|
||||
ORDER BY
|
||||
LAST_CONECT_DT DESC
|
||||
) TB
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
<!-- 업무사용자 등록 -->
|
||||
<insert id="insertBOJobUser" parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
<selectKey order="BEFORE" keyProperty="mngrInnb" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(MNGR_INNB), 0)+1
|
||||
FROM GC_MANAGER
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_MANAGER (
|
||||
MNGR_INNB,
|
||||
MNGR_NM,
|
||||
MNGR_ID,
|
||||
PASSWORD,
|
||||
PARTNM,
|
||||
EMAIL,
|
||||
TELNB,
|
||||
MBTLNB,
|
||||
MNGR_DV,
|
||||
LAST_CONECT_DT,
|
||||
<if test="lmttIp != null and lmttIp != ''">
|
||||
LMTT_IP,
|
||||
</if>
|
||||
MBLPHON_CRTFC_AT,
|
||||
MNGR_STTUS_CD,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{mngrInnb},
|
||||
#{mngrNm},
|
||||
#{mngrId},
|
||||
#{password},
|
||||
#{partnm},
|
||||
HEX(AES_ENCRYPT(#{email}, #{secretKey})),
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(telnb)">
|
||||
HEX(AES_ENCRYPT(#{telnb}, #{secretKey})),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(telnb)">
|
||||
'',
|
||||
</if>
|
||||
HEX(AES_ENCRYPT(#{mbtlnb}, #{secretKey})),
|
||||
#{mngrDv},
|
||||
NOW(),
|
||||
<if test="lmttIp != null and lmttIp != ''">
|
||||
#{lmttIp},
|
||||
</if>
|
||||
#{mblphonCrtfcAt},
|
||||
'01',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 로그 목록 조회 -->
|
||||
<select id="selectBOLogVOList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "com.wb.domainserver.domain.admin.user.mngr.vo.LogVO">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM,
|
||||
MPL.*
|
||||
FROM (
|
||||
SELECT
|
||||
UPDT_RCODE_INNB,
|
||||
MNGR_INNB,
|
||||
CONECT_IP,
|
||||
PROCS_CD,
|
||||
FN_GET_COMMCODE_NAME('CGN041', PROCS_CD) AS PROCS_CD_NM,
|
||||
PROCS_CN,
|
||||
RM,
|
||||
REGUSR,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d %H:%i:%s') AS REGIST_DE
|
||||
FROM
|
||||
GC_MANAGER_PROCS_LOG
|
||||
WHERE
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
ORDER BY
|
||||
REGIST_DT DESC
|
||||
) MPL
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 업무사용자 상세조회 -->
|
||||
<select id="selectBOJobUserDetail"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "dataMap">
|
||||
SELECT
|
||||
MNGR_NM,
|
||||
MNGR_ID,
|
||||
PARTNM,
|
||||
CAST(AES_DECRYPT(UNHEX(EMAIL) , #{secretKey}) AS CHAR(50)) AS EMAIL,
|
||||
CAST(AES_DECRYPT(UNHEX(TELNB) , #{secretKey}) AS CHAR(50)) AS TELNB,
|
||||
CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) AS MBTLNB,
|
||||
MNGR_DV,
|
||||
LMTT_IP,
|
||||
MBLPHON_CRTFC_AT,
|
||||
DATE_FORMAT(LAST_CONECT_DT, '%Y-%m-%d %H:%i:%s') AS LAST_CONECT_DT,
|
||||
MNGR_INNB,
|
||||
UPDUSR,
|
||||
MNGR_STTUS_CD
|
||||
FROM
|
||||
GC_MANAGER
|
||||
WHERE
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
|
||||
<!-- 업무사용자 id 중복확인 -->
|
||||
<select id="selectBOJobUserByMngrId" parameterType = "String" resultType = "Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER
|
||||
WHERE
|
||||
MNGR_ID = #{mngrId}
|
||||
</select>
|
||||
<!-- 업무사용자 기록history where절 -->
|
||||
<sql id="selectHistoryWhere">
|
||||
WHERE
|
||||
GMCL.MNGR_INNB = #{mngrInnb}
|
||||
<if test="srchStartDate != null and srchStartDate != '' and srchEndDate != null and srchEndDate != ''">
|
||||
AND
|
||||
GMCL.CONECT_DT BETWEEN CONCAT(#{srchStartDate}, ' 00:00:00') AND CONCAT(#{srchEndDate}, ' 23:59:59')
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 업무사용자 활동log where절 -->
|
||||
<sql id="selectLogWhere">
|
||||
WHERE
|
||||
GMPL.MNGR_INNB = #{mngrInnb}
|
||||
<if test="srchStartDate != null and srchStartDate != '' and srchEndDate != null and srchEndDate != ''">
|
||||
AND
|
||||
GMPL.REGIST_DT BETWEEN CONCAT(#{srchStartDate}, ' 00:00:00') AND CONCAT(#{srchEndDate}, ' 23:59:59')
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 업무사용자 접속 내역목록 조회 -->
|
||||
<select id="selectBOJobUserConnHistTotCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER_CONECT_LOG GMCL
|
||||
<include refid = "selectHistoryWhere"/>
|
||||
</select>
|
||||
<select id="selectBOJobUserConnHistList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM,
|
||||
TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
GMCL.CONECT_RCORD_SNB,
|
||||
GMCL.MNGR_INNB,
|
||||
JOBUSER.MNGR_NM,
|
||||
GMCL.CONECT_IP,
|
||||
GMCL.CONECT_BRWSR,
|
||||
DATE_FORMAT(GMCL.CONECT_DT, '%Y-%m-%d %H:%i:%s') AS CONECT_DT
|
||||
FROM GC_MANAGER_CONECT_LOG GMCL
|
||||
LEFT JOIN
|
||||
GC_MANAGER JOBUSER
|
||||
ON JOBUSER.MNGR_INNB = GMCL.MNGR_INNB
|
||||
<include refid = "selectHistoryWhere"/>
|
||||
ORDER BY GMCL.CONECT_DT DESC
|
||||
) TB
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 업무사용자 처리 내역목록 조회 -->
|
||||
<select id="selectBOJobUserLogTotCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO" resultType = "java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER_PROCS_LOG GMPL
|
||||
<include refid = "selectLogWhere"/>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 업무사용자 처리 내역목록 수정폼 -->
|
||||
<select id="selectBOJobUserLogTotUpdCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO" resultType = "java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER_PROCS_LOG GMPL
|
||||
WHERE
|
||||
GMPL.MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
<!-- 로그 목록 조회 -->
|
||||
<select id="selectBOLogVOUpdList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "com.wb.domainserver.domain.admin.user.mngr.vo.LogVO">
|
||||
SELECT
|
||||
UPDT_RCODE_INNB,
|
||||
MNGR_INNB,
|
||||
CONECT_IP,
|
||||
PROCS_CD,
|
||||
FN_GET_COMMCODE_NAME('MNGR_PROCS_CD', PROCS_CD) AS PROCS_CD_NM,
|
||||
PROCS_CN,
|
||||
RM,
|
||||
REGUSR,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d %H:%i:%s') AS REGIST_DE
|
||||
FROM
|
||||
GC_MANAGER_PROCS_LOG
|
||||
WHERE
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
ORDER BY
|
||||
REGIST_DT DESC
|
||||
</select>
|
||||
|
||||
<!-- 로그목록 조회 -->
|
||||
<select id="selectBOJobUserLogList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO" resultType = "dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM,
|
||||
TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
GMPL.UPDT_RCODE_INNB,
|
||||
GMPL.MNGR_INNB,
|
||||
JOBUSER.MNGR_NM,
|
||||
GMPL.CONECT_IP,
|
||||
GMPL.PROCS_CD,
|
||||
GMPL.PROCS_CN,
|
||||
FN_GET_COMMCODE_NAME('CGN041', GMPL.PROCS_CD) AS PROCS_CD_NM,
|
||||
GMPL.RM,
|
||||
GMPL.REGUSR,
|
||||
DATE_FORMAT(GMPL.REGIST_DT, '%Y-%m-%d %H:%i:%s') AS REGIST_DE
|
||||
FROM GC_MANAGER_PROCS_LOG GMPL
|
||||
LEFT JOIN GC_MANAGER JOBUSER ON JOBUSER.MNGR_INNB = GMPL.MNGR_INNB
|
||||
<include refid = "selectLogWhere"/>
|
||||
ORDER BY GMPL.REGIST_DT DESC
|
||||
) TB
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 업무사용자 비밀번호 조회 -->
|
||||
<select id="selectBOJobUserPasswordInqire"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType="String">
|
||||
SELECT PASSWORD
|
||||
FROM GC_MANAGER
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
|
||||
<!-- 업무사용자 비밀번호 초기화 -->
|
||||
<update id="updateBOJobUserPswdInitl"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
UPDATE GC_MANAGER
|
||||
SET
|
||||
PASSWORD = #{password},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
|
||||
<!-- 업무사용자 비밀번호 등록 -->
|
||||
<update id="updateBOJobUserPw" parameterType="com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
UPDATE GC_MANAGER
|
||||
SET PASSWORD = #{password},
|
||||
UPDUSR = #{regusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
|
||||
<!-- 업무사용자 접속권한 비활성 -->
|
||||
<update id="updateBOJobUserActvty"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
UPDATE GC_MANAGER
|
||||
SET
|
||||
MNGR_STTUS_CD = '01',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
<!-- 업무사용자 접속권한 비활성 -->
|
||||
<update id="updateBOJobUserInactvty"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
UPDATE GC_MANAGER
|
||||
SET
|
||||
MNGR_STTUS_CD = '02',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
<!-- 업무사용자 수정 -->
|
||||
<update id="updateBOJobUserUpdt">
|
||||
UPDATE GC_MANAGER
|
||||
SET
|
||||
MNGR_NM = #{mngrNm},
|
||||
PARTNM = #{partnm},
|
||||
EMAIL = HEX(AES_ENCRYPT(#{email}, #{secretKey})),
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(telnb)">
|
||||
TELNB = HEX(AES_ENCRYPT(#{telnb}, #{secretKey})),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(telnb)">
|
||||
TELNB = '',
|
||||
</if>
|
||||
MBTLNB = HEX(AES_ENCRYPT(#{mbtlnb}, #{secretKey})),
|
||||
MNGR_DV = #{mngrDv},
|
||||
<choose>
|
||||
<when test="lmttIp != null and lmttIp != ''">
|
||||
LMTT_IP = #{lmttIp},
|
||||
</when>
|
||||
<otherwise>
|
||||
LMTT_IP = NULL,
|
||||
</otherwise>
|
||||
</choose>
|
||||
MBLPHON_CRTFC_AT = #{mblphonCrtfcAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
<!-- 업무사용자 퇴사처리 -->
|
||||
<update id="updateBOJobUserResign"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO">
|
||||
UPDATE GC_MANAGER
|
||||
SET
|
||||
MNGR_NM = #{mngrNm},
|
||||
EMAIL = NULL,
|
||||
PASSWORD = NULL,
|
||||
TELNB = NULL,
|
||||
MBTLNB = NULL,
|
||||
MBLPHON_CRTFC_AT= 'N',
|
||||
MNGR_STTUS_CD = '03',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
</update>
|
||||
<!-- 연관쇼핑몰 이름 리스트조회 -->
|
||||
<select id="selectBOJabUserMallNmaeList" parameterType="String" resultType = "String">
|
||||
SELECT
|
||||
SOPMAL_NM
|
||||
FROM
|
||||
GC_MANAGER_MALL MMGRMALL
|
||||
LEFT JOIN
|
||||
GC_SHOP MALL
|
||||
ON MMGRMALL.SOPMAL_CD = MALL.SOPMAL_CD
|
||||
WHERE
|
||||
MMGRMALL.MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
<!-- 연관쇼핑몰 이름 리스트조회 -->
|
||||
<select id="selectBOJobUserMallTotCnt" parameterType="String" resultType = "Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_MANAGER_MALL MMGRMALL
|
||||
LEFT JOIN GC_SHOP MALL ON MMGRMALL.SOPMAL_CD = MALL.SOPMAL_CD
|
||||
WHERE
|
||||
MMGRMALL.MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
<!-- 업무 사용자 목록 엑셀용 -->
|
||||
<select id="selectBOJobUserExcelList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
MNGR_INNB,
|
||||
MNGR_NM,
|
||||
PARTNM,
|
||||
MNGR_ID,
|
||||
CAST(AES_DECRYPT(UNHEX(EMAIL) , #{secretKey}) AS CHAR(50)) AS EMAIL,
|
||||
CAST(AES_DECRYPT(UNHEX(TELNB) , #{secretKey}) AS CHAR(50)) AS TELNB,
|
||||
CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) AS MBTLNB,
|
||||
MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', MNGR_DV) AS MNGR_DV_NM,
|
||||
MBLPHON_CRTFC_AT,
|
||||
LMTT_IP,
|
||||
DATE_FORMAT(LAST_CONECT_DT, '%Y-%m-%d %H:%i:%s') AS LAST_CONECT_DT
|
||||
FROM
|
||||
GC_MANAGER
|
||||
<include refid = "selectBOJobUserListInqireWhere"/>
|
||||
ORDER BY
|
||||
LAST_CONECT_DT DESC
|
||||
) TB
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
</select>
|
||||
|
||||
<!-- 인증테이블이 저장 -->
|
||||
<insert id = "saveAuthentication"
|
||||
parameterType="Map">
|
||||
INSERT INTO OAUTH2_AUTHORIZATION_CONSENT (
|
||||
REGISTERED_CLIENT_ID,
|
||||
PRINCIPAL_NAME,
|
||||
AUTHORITIES
|
||||
)
|
||||
VALUES (
|
||||
'0d498299-3ab0-40d7-a8f4-70b3edb6add0',
|
||||
#{principalName},
|
||||
'SCOPE_openid,SCOPE_message.read,SCOPE_message.write,SCOPE_profile'
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 권한테이블에 저장 -->
|
||||
<insert id = "saveAuthority"
|
||||
parameterType="Map">
|
||||
INSERT INTO AUTHORITY
|
||||
(
|
||||
NAME,
|
||||
USER,
|
||||
CODE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{name},
|
||||
#{user},
|
||||
'MM'
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="selectBOJobUserCrtfcInfo"
|
||||
parameterType = "com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO"
|
||||
resultType = "dataMap">
|
||||
SELECT LMTT_IP,
|
||||
MBLPHON_CRTFC_AT,
|
||||
MNGR_NM,
|
||||
CAST(AES_DECRYPT(UNHEX(MBTLNB) , #{secretKey}) AS CHAR(50)) AS MBTLNB
|
||||
FROM GC_MANAGER
|
||||
WHERE MNGR_ID = #{mngrId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?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.admin.user.mngr.mapper.BOMaMngrMapper">
|
||||
|
||||
<!-- 관리자구분 조회 -->
|
||||
<select id="selectBOMngrDvList" resultType="DataMap">
|
||||
SELECT
|
||||
MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', MNGR_DV) AS MNGR_DV_NM
|
||||
FROM
|
||||
GC_MANAGER
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_DV IS NOT NULL
|
||||
GROUP BY
|
||||
MNGR_DV
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user