merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<?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.itrnt.bbs.bbs.mapper.BOItrntBbsMapper">
|
||||
<!--게시판 설정 조회-->
|
||||
<select id="selectBOBbsSetupInfo" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT BBS_ID,
|
||||
BBS_NM,
|
||||
DFT_CN,
|
||||
FIL_PERM_FIL_EXTSN,
|
||||
SOPMAL_CD,
|
||||
BBS_TY_CD
|
||||
FROM GC_INTRANET_BOARDMANAGER GIB
|
||||
WHERE USE_AT = 'Y'
|
||||
AND BBS_ID = #{bbsId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,911 @@
|
||||
<?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.itrnt.bbs.bbsctt.mapper.BOItrntBbscttMapper">
|
||||
<!--게시글 등록-->
|
||||
<insert id="insertBOBbscttRegist">
|
||||
<selectKey keyProperty="bbscttInnb" resultType="BigInteger" order="BEFORE">
|
||||
SELECT IFNULL(MAX(BBSCTT_INNB), 0) + 1
|
||||
FROM GC_INTRANET_BOARDDATA
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_BOARDDATA
|
||||
(
|
||||
BBSCTT_INNB,
|
||||
BBS_ID,
|
||||
SOPMAL_CD,
|
||||
PARNTS_BBSCTT_INNB,
|
||||
DEPTH,
|
||||
REGUSR_DV_CD,
|
||||
REGUSR_ID,
|
||||
REGUSR_NM,
|
||||
SJ,
|
||||
CN,
|
||||
INQIRE_CNT,
|
||||
SORT_ORDR,
|
||||
NTC_AT,
|
||||
EXPSR_AT,
|
||||
NTC_PD_SETUP_AT,
|
||||
NTC_BGN_DE,
|
||||
NTC_END_DE,
|
||||
POPUP_AT,
|
||||
POPUP_PD_SETUP_AT,
|
||||
POPUP_EXPSR_BGN_DT,
|
||||
POPUP_EXPSR_END_DT,
|
||||
PROCS_COMPT_AT,
|
||||
STR_INNB,
|
||||
STR_DV,
|
||||
WRITE_DV_CD,
|
||||
IP,
|
||||
AGENT_ID,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES(
|
||||
#{bbscttInnb},
|
||||
#{bbsId},
|
||||
#{sopmalCd},
|
||||
#{parntsBbscttInnb},
|
||||
#{depth},
|
||||
#{regusrDvCd},
|
||||
#{regusrId},
|
||||
#{regusrNm},
|
||||
#{sj},
|
||||
#{cn},
|
||||
0,
|
||||
#{sortOrdr},
|
||||
IFNULL(#{ntcAt},'N'),
|
||||
'Y',
|
||||
IFNULL(#{ntcPdSetupAt},'N'),
|
||||
#{ntcBgnDe},
|
||||
#{ntcEndDe},
|
||||
IFNULL(#{popupAt},'N'),
|
||||
IFNULL(#{popupPdSetupAt},'N'),
|
||||
#{popupExpsrBgnDt},
|
||||
#{popupExpsrEndDt},
|
||||
'N',
|
||||
#{strInnb},
|
||||
#{strDv},
|
||||
#{writeDvCd},
|
||||
#{ip},
|
||||
#{agentId},
|
||||
'Y',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{updusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
<!--게시글추가문항답변 등록-->
|
||||
<insert id="insertBOBbscttQesitmAnsw">
|
||||
<selectKey keyProperty="qesitmAnswInnb" resultType="java.lang.Integer" order="BEFORE">
|
||||
SELECT IFNULL(MAX(QESITM_ANSW_INNB), 0) + 1
|
||||
FROM GC_INTRANET_BOARD_ADDITM
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_INTRANET_BOARD_ADDITM
|
||||
(
|
||||
QESITM_ANSW_INNB,
|
||||
SOPMAL_CD,
|
||||
BBSCTT_INNB,
|
||||
QESITM_INNB,
|
||||
ITM_INNB,
|
||||
ANSW_CN,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{qesitmAnswInnb},
|
||||
#{sopmalCd},
|
||||
#{bbscttInnb},
|
||||
#{qesitmInnb},
|
||||
#{itmInnb},
|
||||
#{answCn},
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
<!--파일 등록-->
|
||||
<insert id="insertBOBbscttFileUpload">
|
||||
<selectKey keyProperty="bbscttAtchmnfilInnb" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(BBSCTT_ATCHMNFIL_INNB), 0) + 1
|
||||
FROM GC_INTRANET_BOARDDATA_FILE
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_INTRANET_BOARDDATA_FILE
|
||||
(
|
||||
BBSCTT_ATCHMNFIL_INNB,
|
||||
SOPMAL_CD,
|
||||
BBSCTT_INNB,
|
||||
ORGINL_FIL_NM,
|
||||
SYS_FIL_NM,
|
||||
FIL_MG,
|
||||
FIL_TY,
|
||||
FIL_DV_CD,
|
||||
FIL_COURS
|
||||
)
|
||||
VALUES (
|
||||
#{bbscttAtchmnfilInnb},
|
||||
#{sopmalCd},
|
||||
#{bbscttInnb},
|
||||
#{orginlFilNm},
|
||||
#{sysFilNm},
|
||||
#{filMg},
|
||||
#{filTy},
|
||||
#{filDvCd},
|
||||
#{filCours}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--구독-->
|
||||
<!--조회한 매장이아니면 insert-->
|
||||
<select id="selectReadProvider" resultType="Integer">
|
||||
SELECT COUNT(1) AS READ_CNT
|
||||
FROM GC_INTRANET_BOARDREAD
|
||||
WHERE BBS_ID = #{bbsId}
|
||||
AND STR_INNB = #{strInnb}
|
||||
</select>
|
||||
|
||||
<insert id="insertReadProvider">
|
||||
<selectKey keyProperty="readInnb" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(READ_INNB), 0) + 1
|
||||
FROM GC_INTRANET_BOARDREAD
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_BOARDREAD
|
||||
(
|
||||
READ_INNB,
|
||||
STR_INNB,
|
||||
TENTCPN_ID,
|
||||
TENTCPN_NM,
|
||||
BBS_ID,
|
||||
BBSCTT_INNB,
|
||||
READ_DT
|
||||
)
|
||||
VALUES (
|
||||
#{readInnb},
|
||||
#{strInnb},
|
||||
#{tentcpnId},
|
||||
#{tentcpnNm},
|
||||
#{bbsId},
|
||||
#{bbscttInnb},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
<!--슈퍼바이저 등록-->
|
||||
<insert id="insertBOIntranetSv">
|
||||
<selectKey keyProperty="svInnb" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(SV_INNB), 0) + 1
|
||||
FROM GC_INTRANET_SV
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_SV
|
||||
(
|
||||
SV_INNB,
|
||||
BBS_ID,
|
||||
SV_WRITE_DV_CD,
|
||||
MNGR_NM,
|
||||
MNGR_MBTLNB,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{svInnb},
|
||||
#{bbsId},
|
||||
#{svWriteDvCd},
|
||||
#{mngrNm},
|
||||
HEX(AES_ENCRYPT(REPLACE(#{mngrMbtlnb},'-',''), #{secretKey})),
|
||||
'Y',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{updusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
<!--게시글 수정-->
|
||||
<update id="updateBOBbscttUpdt">
|
||||
UPDATE
|
||||
GC_INTRANET_BOARDDATA
|
||||
SET
|
||||
SJ = #{sj},
|
||||
CN = #{cn},
|
||||
SORT_ORDR = #{sortOrdr},
|
||||
NTC_AT = IFNULL(#{ntcAt},'N'),
|
||||
NTC_PD_SETUP_AT = IFNULL(#{ntcPdSetupAt},'N'),
|
||||
NTC_BGN_DE = #{ntcBgnDe},
|
||||
NTC_END_DE = #{ntcEndDe},
|
||||
POPUP_AT = IFNULL(#{popupAt},'N'),
|
||||
POPUP_PD_SETUP_AT = IFNULL(#{popupPdSetupAt},'N'),
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(popupExpsrBgnDt)">
|
||||
POPUP_EXPSR_BGN_DT = #{popupExpsrBgnDt},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(popupExpsrEndDt)">
|
||||
POPUP_EXPSR_END_DT = #{popupExpsrEndDt},
|
||||
</if>
|
||||
WRITE_DV_CD = #{writeDvCd},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
BBSCTT_INNB = #{bbscttInnb}
|
||||
AND BBS_ID = #{bbsId}
|
||||
</update>
|
||||
<!--게시글 논리 삭제-->
|
||||
<update id="updateBOBbscttDel">
|
||||
UPDATE GC_INTRANET_BOARDDATA
|
||||
SET USE_AT = 'N',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND BBSCTT_INNB = #{bbscttInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
AND BBS_ID = #{bbsId}
|
||||
</update>
|
||||
<!--조회수 증가-->
|
||||
<update id="updateBOBbscttRdcntUpdt">
|
||||
UPDATE GC_INTRANET_BOARDDATA
|
||||
SET INQIRE_CNT = INQIRE_CNT + 1
|
||||
WHERE BBSCTT_INNB = #{bbscttInnb}
|
||||
AND BBS_ID = #{bbsId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<!--게시글 노출여부 수정-->
|
||||
<update id="updateBOBbscttExpsrAt">
|
||||
UPDATE GC_INTRANET_BOARDDATA BOARD
|
||||
SET EXPSR_AT = #{expsrAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE BBSCTT_INNB = #{bbscttInnb}
|
||||
AND BBS_ID = #{bbsId}
|
||||
</update>
|
||||
<!--게시글 처리완료처리-->
|
||||
<update id="updateBOBbscttComptAt">
|
||||
UPDATE GC_INTRANET_BOARDDATA
|
||||
SET PROCS_COMPT_AT = #{procsComptAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE BBSCTT_INNB = #{bbscttInnb}
|
||||
AND BBS_ID = #{bbsId}
|
||||
</update>
|
||||
<!--게시글추가문항답변 삭제-->
|
||||
<delete id="deleteBOAditQesitmPhysiclDel">
|
||||
DELETE
|
||||
FROM GC_INTRANET_BOARD_ADDITM FBG
|
||||
WHERE 1=1
|
||||
AND FBG.BBSCTT_INNB = #{bbscttInnb}
|
||||
AND FBG.SOPMAL_CD = #{sopmalCd}
|
||||
</delete>
|
||||
<!--게시글추가문항답변 삭제-->
|
||||
<delete id="deleteBOAditQesitmLogicDel">
|
||||
UPDATE GC_INTRANET_BOARD_ADDITM FBG
|
||||
SET USE_AT = 'N'
|
||||
WHERE 1=1
|
||||
AND FBG.BBSCTT_INNB = #{bbscttInnb}
|
||||
AND FBG.SOPMAL_CD = #{sopmalCd}
|
||||
</delete>
|
||||
<!--슈퍼바이저 삭제-->
|
||||
<delete id="deleteBOIntranetSv">
|
||||
UPDATE GC_INTRANET_SV
|
||||
SET
|
||||
USE_AT = 'N'
|
||||
WHERE SV_INNB = #{svInnb}
|
||||
</delete>
|
||||
<!--인트라넷 게시판 리스트 조회-->
|
||||
<select id="selectBOBbsList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT GIB.BBS_ID,
|
||||
GIB.BBS_NM,
|
||||
COUNT(GIBD.BBSCTT_INNB) BBSCTT_INNB,
|
||||
GIB.BBS_TY_CD
|
||||
FROM GC_INTRANET_BOARDMANAGER GIB
|
||||
LEFT JOIN GC_INTRANET_BOARDDATA GIBD
|
||||
ON GIB.BBS_ID = GIBD.BBS_ID
|
||||
AND GIBD.USE_AT = 'Y'
|
||||
WHERE GIB.USE_AT = 'Y'
|
||||
GROUP BY BBS_ID,BBS_NM,BBS_TY_CD
|
||||
</select>
|
||||
<sql id = "selectListWhere">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKeyword)">
|
||||
/* 검색어(아이디,이름,제목,내용) */
|
||||
<choose>
|
||||
<when test ="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'innb')">
|
||||
AND FB.BBSCTT_INNB = #{srchKeyword}
|
||||
</when>
|
||||
<when test ="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'mbrId')">
|
||||
AND FB.REGUSR_ID LIKE CONCAT('%',#{srchKeyword},'%')
|
||||
</when>
|
||||
<when test ="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'mbrNm')">
|
||||
AND (FB.REGUSR_NM LIKE CONCAT('%',#{srchKeyword},'%') OR GS.STR_NM LIKE CONCAT ('%',#{srchKeyword},'%'))
|
||||
</when>
|
||||
<when test ="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'sj')">
|
||||
AND FB.SJ LIKE CONCAT('%',#{srchKeyword},'%')
|
||||
</when>
|
||||
<when test ="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'cn')">
|
||||
AND FB.CN LIKE CONCAT('%',#{srchKeyword},'%')
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStartDt)">
|
||||
/* 등록일 시작일 */
|
||||
<![CDATA[
|
||||
AND FB.REGIST_DT >= #{srchStartDt} ' 00:00:00'
|
||||
]]>
|
||||
</if>
|
||||
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndDt)">
|
||||
/* 등록일 종료일 */
|
||||
<![CDATA[
|
||||
AND FB.REGIST_DT < #{srchEndDt} ' 23:59:59'
|
||||
]]>
|
||||
</if>
|
||||
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
/* 삭제글 미포함 */
|
||||
AND FB.USE_AT = 'Y'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(writeDvCd)">
|
||||
/* 문의유형 */
|
||||
AND FB.WRITE_DV_CD = #{writeDvCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strDv)">
|
||||
/* 매장구분 */
|
||||
AND FB.STR_DV = #{strDv}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(strInnb)">
|
||||
/* 매장고유번호 */
|
||||
AND FB.STR_INNB = #{strInnb}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrAt)">
|
||||
/* 노출여부 */
|
||||
AND FB.EXPSR_AT = 'Y'
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bbsFormVoList)">
|
||||
AND FB.BBSCTT_INNB IN (
|
||||
SELECT
|
||||
FBA.BBSCTT_INNB
|
||||
FROM
|
||||
GC_INTRANET_BOARD_ADDITM FBA
|
||||
WHERE
|
||||
1 = 1
|
||||
<foreach item="outerItem" index="outerIndex" collection="bbsFormVoList">
|
||||
AND FBA.ITM_INNB IN
|
||||
<foreach item="innerItem" index="innerIndex" collection="outerItem.bbsFormItmList"
|
||||
open="(" close=")" separator=",">
|
||||
#{innerItem.itmInnb}
|
||||
</foreach>
|
||||
</foreach>
|
||||
AND FBA.USE_AT = 'Y'
|
||||
AND FBA.SOPMAL_CD = #{sopmalCd})
|
||||
</if>
|
||||
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(answCn)">
|
||||
AND FB.BBSCTT_INNB IN (
|
||||
SELECT
|
||||
FBA.BBSCTT_INNB
|
||||
FROM
|
||||
GC_INTRANET_BOARD_ADDITM FBA
|
||||
WHERE
|
||||
1 = 1
|
||||
AND FBA.ANSW_CN LIKE CONCAT('%',#{answCn},'%')
|
||||
AND FBA.USE_AT = 'Y'
|
||||
AND FBA.SOPMAL_CD = #{sopmalCd})
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!--게시글 건수 조회-->
|
||||
<select id="selectBOBbscttListCnt" resultType="com.wb.domainserver.domain.itrnt.bbs.bbsctt.vo.BOItrntBbscttVO">
|
||||
SELECT COUNT(1) AS TOT_CNT
|
||||
<if test = "!@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ntcAt)">
|
||||
,IFNULL((SELECT COUNT(1)
|
||||
FROM GC_INTRANET_BOARDDATA FB
|
||||
WHERE FB.DEPTH = 0
|
||||
AND FB.NTC_AT = 'Y'
|
||||
AND FB.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')">/*매장은 삭제글 못봄*/
|
||||
AND FB.EXPSR_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bbsFormVoList)">
|
||||
AND FB.BBSCTT_INNB IN (
|
||||
SELECT
|
||||
FBA.BBSCTT_INNB
|
||||
FROM
|
||||
GC_INTRANET_BOARD_ADDITM FBA
|
||||
WHERE
|
||||
1 = 1
|
||||
<foreach item="outerItem" index="outerIndex" collection="bbsFormVoList">
|
||||
AND FBA.ITM_INNB IN
|
||||
<foreach item="innerItem" index="innerIndex" collection="outerItem.bbsFormItmList"
|
||||
open="(" close=")" separator=",">
|
||||
#{innerItem.itmInnb}
|
||||
</foreach>
|
||||
</foreach>
|
||||
AND FBA.USE_AT = 'Y'
|
||||
AND FBA.SOPMAL_CD = #{sopmalCd})
|
||||
</if>
|
||||
</if>
|
||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||
AND FB.BBS_ID = #{bbsId}),0)NTC_CNT
|
||||
</if>
|
||||
FROM (
|
||||
SELECT 0 AS RNUM,
|
||||
(SELECT COUNT(*) FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
WHERE FB.SOPMAL_CD = FBC.SOPMAL_CD
|
||||
AND FB.BBSCTT_INNB = FBC.BBSCTT_INNB
|
||||
AND FBC.USE_AT = 'Y') CMT_CNT,
|
||||
FB.USE_AT ,
|
||||
FB.EXPSR_AT
|
||||
FROM GC_INTRANET_BOARDDATA FB
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
AND FB.BBS_ID = FBM.BBS_ID
|
||||
LEFT OUTER JOIN GC_STORE GS
|
||||
ON GS.STR_INNB = FB.STR_INNB
|
||||
WHERE 1=1
|
||||
AND (FB.NTC_AT = 'N'
|
||||
OR (FB.NTC_AT = 'Y' AND (FB.NTC_PD_SETUP_AT = 'N' OR (DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN FB.NTC_BGN_DE AND FB.NTC_END_DE))))
|
||||
<include refid="selectListWhere"/>
|
||||
AND FB.DEPTH = 0
|
||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||
AND FB.BBS_ID = #{bbsId}
|
||||
ORDER BY SORT_ORDR DESC, BBSCTT_INNB
|
||||
) AS A
|
||||
WHERE 1 = 1
|
||||
AND A.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')">/*매장은 삭제글 못봄*/
|
||||
AND A.EXPSR_AT = 'Y'
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!--게시글 목록 조회-->
|
||||
<select id="selectBOBbscttListInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(ntcAt)">
|
||||
SELECT B.*
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
0 RNUM,
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS NOTICE_RNUM,
|
||||
FB.BBSCTT_INNB,
|
||||
FB.IP,
|
||||
FB.SJ,
|
||||
FB.EXPSR_AT,
|
||||
FB.REGUSR,
|
||||
FB.NTC_AT,
|
||||
FB.NTC_PD_SETUP_AT,
|
||||
FB.INQIRE_CNT,
|
||||
FB.USE_AT,
|
||||
IFNULL(FB.SORT_ORDR, 999) SORT_ORDR,
|
||||
FB.SOPMAL_CD,
|
||||
FB.REGUSR_DV_CD,
|
||||
CASE
|
||||
WHEN FB.REGUSR_DV_CD = '02' THEN '관리자'
|
||||
ELSE FB.REGUSR_NM
|
||||
END REGUSR_NM,
|
||||
CONCAT(SUBSTRING(FB.REGUSR_ID, 1, 3), REPEAT('*', CHAR_LENGTH(FB.REGUSR_ID) - 3))REGUSR_ID,
|
||||
FBM.NEW_NTT_STDR_DE_CNT,
|
||||
FBM.POPULAR_NTT_STDR_INQIRE_CNT,
|
||||
CASE
|
||||
WHEN FB.INQIRE_CNT >= FBM.POPULAR_NTT_STDR_INQIRE_CNT THEN 'Y'
|
||||
ELSE 'N'
|
||||
END POPULAR_AT,
|
||||
CASE
|
||||
WHEN DATE_FORMAT(FB.REGIST_DT, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(DATE_SUB(NOW(), INTERVAL FBM.NEW_NTT_STDR_DE_CNT DAY), '%Y-%m-%d') THEN 'Y'
|
||||
ELSE 'N'
|
||||
END NEW_AT,
|
||||
DATE_FORMAT(FB.REGIST_DT, '%Y-%m-%d %H:%i:%s') REGIST_DT,
|
||||
FB.NTC_BGN_DE,
|
||||
FB.NTC_END_DE,
|
||||
CASE
|
||||
WHEN FB.NTC_PD_SETUP_AT = 'N' THEN '1'
|
||||
WHEN FB.NTC_PD_SETUP_AT = 'Y' AND FB.NTC_END_DE <![CDATA[>=]]> SYSDATE() THEN '2'
|
||||
ELSE '3'
|
||||
END NTC_DVN,
|
||||
EXISTS (SELECT FBF.BBSCTT_ATCHMNFIL_INNB FROM GC_INTRANET_BOARDDATA_FILE FBF WHERE FBF.BBSCTT_INNB = FB.BBSCTT_INNB AND FBF.SOPMAL_CD = FB.SOPMAL_CD) AS ISFILES,
|
||||
(SELECT COUNT(*) FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
WHERE FB.SOPMAL_CD = FBC.SOPMAL_CD
|
||||
AND FB.BBSCTT_INNB = FBC.BBSCTT_INNB
|
||||
AND FBC.USE_AT = 'Y') CMT_CNT,
|
||||
FB.PROCS_COMPT_AT AS ANSW_AT,
|
||||
'' AS WRITE_DV_NM,
|
||||
'' AS STR_DV_NM,
|
||||
'' DEL_AT
|
||||
FROM GC_INTRANET_BOARDDATA FB
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
AND FB.BBS_ID = FBM.BBS_ID
|
||||
LEFT OUTER JOIN GC_STORE GS
|
||||
ON GS.STR_INNB = FB.STR_INNB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND FB.DEPTH = 0
|
||||
AND FB.NTC_AT = 'Y'
|
||||
AND FB.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')">/*매장은 삭제글 못봄*/
|
||||
AND FB.EXPSR_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bbsFormVoList)">
|
||||
AND FB.BBSCTT_INNB IN (
|
||||
SELECT
|
||||
FBA.BBSCTT_INNB
|
||||
FROM
|
||||
GC_INTRANET_BOARD_ADDITM FBA
|
||||
WHERE
|
||||
1 = 1
|
||||
<foreach item="outerItem" index="outerIndex" collection="bbsFormVoList">
|
||||
AND FBA.ITM_INNB IN
|
||||
<foreach item="innerItem" index="innerIndex" collection="outerItem.bbsFormItmList"
|
||||
open="(" close=")" separator=",">
|
||||
#{innerItem.itmInnb}
|
||||
</foreach>
|
||||
</foreach>
|
||||
AND FBA.USE_AT = 'Y'
|
||||
AND FBA.SOPMAL_CD = #{sopmalCd})
|
||||
</if>
|
||||
</if>
|
||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||
AND FB.BBS_ID = #{bbsId}
|
||||
)
|
||||
UNION ALL
|
||||
(
|
||||
</if>
|
||||
SELECT A.*
|
||||
,CASE
|
||||
WHEN A.USE_AT = 'N' AND (A.CMT_CNT <![CDATA[>=]]> 0) THEN 'Y'
|
||||
ELSE 'N'
|
||||
END DEL_AT
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) <if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ntcCnt)">-#{ntcCnt}</if> AS RNUM
|
||||
,0 AS NOTICE_RNUM
|
||||
,FB.BBSCTT_INNB
|
||||
,FB.IP
|
||||
,FB.SJ
|
||||
,FB.EXPSR_AT
|
||||
,FB.REGUSR
|
||||
,FB.NTC_AT
|
||||
,FB.NTC_PD_SETUP_AT
|
||||
,FB.INQIRE_CNT
|
||||
,FB.USE_AT
|
||||
,IFNULL(FB.SORT_ORDR,999) SORT_ORDR
|
||||
,FB.SOPMAL_CD
|
||||
,FB.REGUSR_DV_CD
|
||||
,CASE
|
||||
WHEN FB.REGUSR_DV_CD = '02' THEN '관리자'
|
||||
ELSE GS.TENTCPN_NM
|
||||
END REGUSR_NM
|
||||
,CONCAT(SUBSTRING(FB.REGUSR_ID, 1, 3), REPEAT('*', CHAR_LENGTH(FB.REGUSR_ID) - 3))REGUSR_ID
|
||||
,FBM.NEW_NTT_STDR_DE_CNT
|
||||
,FBM.POPULAR_NTT_STDR_INQIRE_CNT
|
||||
,CASE
|
||||
WHEN FB.INQIRE_CNT >= FBM.POPULAR_NTT_STDR_INQIRE_CNT THEN 'Y'
|
||||
ELSE 'N'
|
||||
END POPULAR_AT
|
||||
,CASE
|
||||
WHEN DATE_FORMAT(FB.REGIST_DT, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(DATE_SUB( NOW(), INTERVAL FBM.NEW_NTT_STDR_DE_CNT DAY), '%Y-%m-%d') THEN 'Y'
|
||||
ELSE 'N'
|
||||
END NEW_AT
|
||||
,DATE_FORMAT(FB.REGIST_DT, '%Y-%m-%d %H:%i:%s') REGIST_DT
|
||||
,FB.NTC_BGN_DE
|
||||
,FB.NTC_END_DE
|
||||
,'0' NTC_DVN
|
||||
,EXISTS (SELECT FBF.BBSCTT_ATCHMNFIL_INNB
|
||||
FROM GC_INTRANET_BOARDDATA_FILE FBF
|
||||
WHERE FBF.BBSCTT_INNB = FB.BBSCTT_INNB
|
||||
AND FBF.SOPMAL_CD = FB.SOPMAL_CD) AS ISFILES
|
||||
,(SELECT COUNT(*) FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
WHERE FB.SOPMAL_CD = FBC.SOPMAL_CD
|
||||
AND FB.BBSCTT_INNB = FBC.BBSCTT_INNB
|
||||
AND FBC.USE_AT = 'Y') CMT_CNT
|
||||
,FB.PROCS_COMPT_AT ANSW_AT
|
||||
,FN_GET_COMMCODE_NAME('WRITE_DV', WRITE_DV_CD) AS WRITE_DV_NM
|
||||
,FN_GET_COMMCODE_NAME('STR_DV', STR_DV) AS STR_DV_NM
|
||||
FROM GC_INTRANET_BOARDDATA FB
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
AND FB.BBS_ID = FBM.BBS_ID
|
||||
LEFT OUTER JOIN GC_STORE GS
|
||||
ON GS.STR_INNB = FB.STR_INNB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND (FB.NTC_AT = 'N'
|
||||
OR (FB.NTC_AT = 'Y' AND (FB.NTC_PD_SETUP_AT = 'N' OR (DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN FB.NTC_BGN_DE AND FB.NTC_END_DE))))
|
||||
<include refid="selectListWhere"/>
|
||||
AND FB.DEPTH = 0
|
||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||
AND FB.BBS_ID = #{bbsId}
|
||||
ORDER BY SORT_ORDR DESC, BBSCTT_INNB
|
||||
) AS A
|
||||
WHERE 1 = 1
|
||||
AND A.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')">/*매장은 삭제글 못봄*/
|
||||
AND A.EXPSR_AT = 'Y'
|
||||
</if>
|
||||
ORDER BY A.RNUM DESC
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(ntcAt)">
|
||||
)
|
||||
) AS B
|
||||
ORDER BY B.NOTICE_RNUM DESC, B.RNUM DESC
|
||||
</if>
|
||||
</select>
|
||||
<!--게시글 상세조회-->
|
||||
<select id="selectBOBbscttDtlInqirePopup" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT AA.*
|
||||
, DATE_FORMAT(AA.A_REGIST_DT, '%Y-%m-%d %H:%i:%s') REGIST_DT
|
||||
, DATE_FORMAT(AA.A_BEFORE_REGIST_DT, '%Y-%m-%d %H:%i:%s') BEFORE_REGIST_DT
|
||||
, DATE_FORMAT(AA.A_AFTER_REGIST_DT, '%Y-%m-%d %H:%i:%s') AFTER_REGIST_DT
|
||||
, CONCAT(SUBSTRING(AA.BEFORE_REGUSR_ID, 1, 3),REPEAT('*', CHAR_LENGTH(AA.REGUSR_ID) - 3)) MASKING_BEFORE_REGUSR_ID
|
||||
, CONCAT(SUBSTRING(AA.AFTER_REGUSR_ID, 1, 3),REPEAT('*', CHAR_LENGTH(AA.REGUSR_ID) - 3)) MASKING_AFTER_REGUSR_ID
|
||||
, CASE
|
||||
WHEN AA.BEFORE_REGUSR_DV_CD = '02' THEN '관리자'
|
||||
ELSE AA.A_BEFORE_REGUSR_NM
|
||||
END BEFORE_REGUSR_NM
|
||||
, CASE
|
||||
WHEN AA.AFTER_REGUSR_DV_CD = '02' THEN '관리자'
|
||||
ELSE AA.A_AFTER_REGUSR_NM
|
||||
END AFTER_REGUSR_NM
|
||||
FROM(SELECT FB.BBSCTT_INNB
|
||||
,FB.BBS_ID
|
||||
,FB2.INQIRE_CNT
|
||||
,FB2.IP
|
||||
,FB2.EXPSR_AT
|
||||
,FB2.NTC_AT
|
||||
,FB2.NTC_END_DE
|
||||
,FB2.NTC_BGN_DE
|
||||
,FB2.NTC_PD_SETUP_AT
|
||||
,FB2.REGIST_DT A_REGIST_DT
|
||||
,FB2.REGUSR
|
||||
,FB2.REGUSR_DV_CD
|
||||
,FB2.SJ
|
||||
,FB2.CN
|
||||
,FB2.SORT_ORDR
|
||||
,FB2.USE_AT
|
||||
,FB2.REGUSR_ID
|
||||
,CONCAT(SUBSTRING(FB2.REGUSR_ID, 1, 3), REPEAT('*', CHAR_LENGTH(FB2.REGUSR_ID) - 3))MASKING_REGUSR_ID
|
||||
,FB2.REGUSR_NM
|
||||
,CASE
|
||||
WHEN FB2.INQIRE_CNT >= FBM.POPULAR_NTT_STDR_INQIRE_CNT THEN 'Y'
|
||||
ELSE 'N'
|
||||
END POPULAR_AT
|
||||
,CASE
|
||||
WHEN DATE_FORMAT(FB2.REGIST_DT, '%Y-%m-%d') >= DATE_FORMAT(DATE_SUB( NOW(), INTERVAL FBM.NEW_NTT_STDR_DE_CNT DAY), '%Y-%m-%d') THEN 'Y'
|
||||
ELSE 'N'
|
||||
END NEW_AT
|
||||
,FB.BEFORE_USE_AT
|
||||
,FB.BEFORE_INNB
|
||||
,FB.BEFORE_SJ
|
||||
,FB.A_BEFORE_REGIST_DT
|
||||
,FB.BEFORE_REGUSR_DV_CD
|
||||
,FB.BEFORE_REGUSR_ID
|
||||
,FB.A_BEFORE_REGUSR_NM
|
||||
,FB.AFTER_USE_AT
|
||||
,FB.AFTER_INNB
|
||||
,FB.AFTER_SJ
|
||||
,FB.A_AFTER_REGIST_DT
|
||||
,FB.AFTER_REGUSR_DV_CD
|
||||
,FB.AFTER_REGUSR_ID
|
||||
,FB.A_AFTER_REGUSR_NM
|
||||
,FB.PROCS_COMPT_AT
|
||||
,FB.WRITE_DV_CD
|
||||
,FB2.POPUP_AT
|
||||
,FB2.POPUP_PD_SETUP_AT
|
||||
,FB2.POPUP_EXPSR_BGN_DT
|
||||
,FB2.POPUP_EXPSR_END_DT
|
||||
FROM ( SELECT AA.*
|
||||
FROM(SELECT
|
||||
FB.BBSCTT_INNB
|
||||
,FB.BBS_ID
|
||||
,FB.SOPMAL_CD
|
||||
,LAG(FB.USE_AT)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS BEFORE_USE_AT
|
||||
,LAG(FB.BBSCTT_INNB)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS BEFORE_INNB
|
||||
,LAG(FB.SJ)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS BEFORE_SJ
|
||||
,LAG(FB.REGIST_DT)OVER(ORDER BY FB.BBSCTT_INNB DESC) AS A_BEFORE_REGIST_DT
|
||||
,LAG(FB.REGUSR_DV_CD)OVER(ORDER BY FB.BBSCTT_INNB DESC) AS BEFORE_REGUSR_DV_CD
|
||||
,LAG(FB.REGUSR_ID)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS BEFORE_REGUSR_ID
|
||||
,LAG(FB.REGUSR_NM)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS A_BEFORE_REGUSR_NM
|
||||
,LEAD(FB.USE_AT)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS AFTER_USE_AT
|
||||
,LEAD(FB.BBSCTT_INNB)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS AFTER_INNB
|
||||
,LEAD(FB.SJ)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS AFTER_SJ
|
||||
,LEAD(FB.REGIST_DT)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS A_AFTER_REGIST_DT
|
||||
,LEAD(FB.REGUSR_DV_CD)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS AFTER_REGUSR_DV_CD
|
||||
,LEAD(FB.REGUSR_ID)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS AFTER_REGUSR_ID
|
||||
,LEAD(FB.REGUSR_NM)OVER(ORDER BY FB.BBSCTT_INNB DESC)AS A_AFTER_REGUSR_NM
|
||||
,FB.PROCS_COMPT_AT
|
||||
,FB.WRITE_DV_CD
|
||||
FROM GC_INTRANET_BOARDDATA AS FB
|
||||
WHERE 1=1
|
||||
AND FB.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')"> /*매장은 삭제글 못봄*/
|
||||
AND FB.EXPSR_AT = 'Y'
|
||||
AND FB.STR_INNB IN(#{strInnb} , 1, 19)/*본인 또는 본사관리자 글 만 노출*/
|
||||
</if>
|
||||
AND FB.SOPMAL_CD = #{sopmalCd}
|
||||
AND FB.BBS_ID = #{bbsId}
|
||||
AND FB.DEPTH = 0
|
||||
) AA
|
||||
) FB
|
||||
INNER JOIN GC_INTRANET_BOARDDATA FB2
|
||||
ON FB.SOPMAL_CD = FB2.SOPMAL_CD
|
||||
AND FB.BBSCTT_INNB = FB2.BBSCTT_INNB
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.BBS_ID = FBM.BBS_ID
|
||||
AND FB.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND FB2.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(tentGroup, '02')">/*매장은 삭제글 못봄*/
|
||||
AND FB2.EXPSR_AT = 'Y'
|
||||
AND FB2.STR_INNB IN(#{strInnb} , 1, 19)/*본인 또는 본사관리자 글 만 노출*/
|
||||
</if>
|
||||
)AA
|
||||
WHERE BBSCTT_INNB = #{bbscttInnb}
|
||||
</select>
|
||||
<!--게시글 답변상세조회-->
|
||||
<select id="selectBOAnswInfoInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT BD.BBSCTT_INNB,
|
||||
BD.SJ,
|
||||
BD.CN,
|
||||
(SELECT FM.MNGR_ID FROM GC_MANAGER FM WHERE FM.MNGR_INNB = BD.REGUSR),
|
||||
DATE_FORMAT(BD.REGIST_DT, '%Y-%m-%d %H:%i:%s')
|
||||
FROM GC_INTRANET_BOARDDATA BD
|
||||
WHERE BD.PARNTS_BBSCTT_INNB = #{bbscttInnb}
|
||||
AND BD.BBS_ID = #{bbsId}
|
||||
AND BD.SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
<!--게시판추가문항 조회-->
|
||||
<select id="selectBOBbscttQesitmInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT FBFR.QESITM_INNB,
|
||||
FBFR.ITM_TY_CD,
|
||||
FBFR.QESITM_NM,
|
||||
FBFR.QESITM_ESSNTL_AT,
|
||||
FBFR.QESITM_USE_AT,
|
||||
FBFR.QESITM_ORDR
|
||||
FROM GC_INTRANET_BOARDFORM FBFR
|
||||
WHERE 1=1
|
||||
AND FBFR.BBS_ID = #{bbsId}
|
||||
AND FBFR.USE_AT = 'Y'
|
||||
AND FBFR.QESITM_USE_AT = 'Y'
|
||||
AND FBFR.ADIT_ITM_DV_CD IN ('01','02')
|
||||
ORDER BY FBFR.QESITM_ORDR ASC
|
||||
</select>
|
||||
<!--게시판추가문항항목 조회-->
|
||||
<select id="selectItmCn" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT ITM_CN,
|
||||
ITM_INNB,
|
||||
(SELECT ITM_TY_CD FROM GC_INTRANET_BOARDFORM BF WHERE BF.QESITM_INNB = BFI.QESITM_INNB) AS ITM_TY,
|
||||
BFI.QESITM_INNB
|
||||
FROM GC_INTRANET_BOARDFORM_ITM BFI
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND QESITM_INNB = #{qesitmInnb}
|
||||
</select>
|
||||
<!--게시글추가문항답변 조회 -->
|
||||
<select id="selectBOBbscttQesitmAnswInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT BA.BBSCTT_INNB,
|
||||
BA.QESITM_INNB,
|
||||
BA.ITM_INNB,
|
||||
BA.ANSW_CN,
|
||||
BA.EVL_SCORE,
|
||||
FB.ADIT_ITM_DV_CD,
|
||||
FB.ITM_TY_CD,
|
||||
FB.QESITM_ESSNTL_AT,
|
||||
FB.QESITM_NM
|
||||
FROM GC_INTRANET_BOARD_ADDITM BA
|
||||
INNER JOIN GC_INTRANET_BOARDFORM FB
|
||||
ON FB.QESITM_INNB = BA.QESITM_INNB
|
||||
AND FB.SOPMAL_CD = BA.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND BA.USE_AT = 'Y'
|
||||
AND FB.BBS_ID = #{bbsId}
|
||||
AND BA.SOPMAL_CD = #{sopmalCd}
|
||||
AND BA.BBSCTT_INNB = #{bbscttInnb}
|
||||
</select>
|
||||
|
||||
<!--게시글 리스트 게시글 별 답변 조회 -->
|
||||
<select id="selectBOBbscttListQesitmAnswInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT BA.BBSCTT_INNB,
|
||||
BA.QESITM_INNB,
|
||||
BA.ITM_INNB,
|
||||
BA.ANSW_CN
|
||||
FROM GC_INTRANET_BOARD_ADDITM BA
|
||||
WHERE 1 = 1
|
||||
AND BA.USE_AT = 'Y'
|
||||
AND BA.BBSCTT_INNB IN
|
||||
<foreach item="innerItem" index="index" collection="list"
|
||||
open="(" close=")" separator=",">
|
||||
#{innerItem.bbscttInnb}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!--파일 조회-->
|
||||
<select id="selectBOFileInfo" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT FILE.BBSCTT_ATCHMNFIL_INNB,
|
||||
FILE.BBSCTT_INNB,
|
||||
FILE.ORGINL_FIL_NM,
|
||||
FILE.SYS_FIL_NM,
|
||||
FILE.FIL_MG,
|
||||
FILE.FIL_TY,
|
||||
FILE.FIL_COURS,
|
||||
FILE.SOPMAL_CD
|
||||
FROM GC_INTRANET_BOARDDATA_FILE FILE
|
||||
WHERE 1=1
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bbscttInnbArr)">
|
||||
AND FILE.BBSCTT_INNB IN
|
||||
<foreach item="bbscttInnb" collection="bbscttInnbArr"
|
||||
open="(" close=")" separator=",">
|
||||
#{bbscttInnb}
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
AND FILE.BBSCTT_INNB = #{bbscttInnb}
|
||||
</otherwise>
|
||||
</choose>
|
||||
AND FILE.SOPMAL_CD = #{sopmalCd}
|
||||
ORDER BY FILE.BBSCTT_INNB DESC
|
||||
</select>
|
||||
|
||||
<!--슈퍼바이저 조회-->
|
||||
<select id="selectBOIntranetSv" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
SV_WRITE_DV_CD,
|
||||
CASE
|
||||
WHEN SV_WRITE_DV_CD IN ('01','02') THEN FN_GET_COMMCODE_NAME('SV_WRITE_DV', SV_WRITE_DV_CD)
|
||||
ELSE FN_GET_COMMCODE_NAME('SV_WRITE_DV', '03')
|
||||
END AS SV_WRITE_DV_CD_NM,
|
||||
SV_INNB,
|
||||
BBS_ID,
|
||||
MNGR_NM,
|
||||
CAST(AES_DECRYPT(UNHEX(MNGR_MBTLNB) , #{secretKey}) AS CHAR(50)) AS MNGR_MBTLNB,
|
||||
REGUSR,
|
||||
DATE_FORMAT(REGIST_DT,'%Y-%m-%d')REGIST_DT
|
||||
FROM GC_INTRANET_SV
|
||||
WHERE USE_AT = 'Y'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(svInnb)">
|
||||
AND SV_INNB = #{svInnb}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!--팝업 조회-->
|
||||
<select id="selectBbscttPopupContent" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT GIB.SJ,
|
||||
GIB.CN,
|
||||
GIB.INQIRE_CNT,
|
||||
DATE_FORMAT(GIB.REGIST_DT,'%Y-%m-%d %H:%i') AS REGIST_DT,
|
||||
GIB.BBSCTT_INNB
|
||||
FROM GC_INTRANET_BOARDDATA GIB
|
||||
WHERE GIB.POPUP_AT = 'Y'
|
||||
AND GIB.BBS_ID = 'gs_seller_notice'
|
||||
AND (GIB.POPUP_PD_SETUP_AT = 'N' OR (GIB.POPUP_PD_SETUP_AT = 'Y' AND (NOW() BETWEEN IFNULL(GIB.POPUP_EXPSR_BGN_DT,'1900-01-01') AND IFNULL(GIB.POPUP_EXPSR_END_DT,'1900-01-01'))))
|
||||
ORDER BY BBSCTT_INNB DESC
|
||||
</select>
|
||||
|
||||
<!-- 인트라넷 슈퍼바이저 문자 발송 쿼리 -->
|
||||
<select id="selectBOItrntSvMssageSndng" resultType="dataMap">
|
||||
SELECT
|
||||
GIB.BBSCTT_INNB
|
||||
, GIB.SOPMAL_CD
|
||||
, GIB.REGUSR_NM AS STR_NM
|
||||
, SHOP.CSC_TELNB
|
||||
, SHOP.SOPMAL_NM AS SHOP_NAME
|
||||
,CASE WRITE_DV_CD WHEN '01' THEN '반품'
|
||||
WHEN '02' THEN '교환'
|
||||
ELSE '오발주' END AS TYPE
|
||||
, CAST(AES_DECRYPT(UNHEX(GIS.MNGR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) AS RECPTN_NB
|
||||
, 'FORM_DV_BBS' AS FORM_DV_CD
|
||||
, '03' AS FORM_DTL_DV_CD
|
||||
, GIB.STR_INNB
|
||||
, GIB.STR_DV
|
||||
, GIB.REGUSR
|
||||
FROM GC_INTRANET_BOARDDATA GIB
|
||||
INNER JOIN GC_INTRANET_SV GIS
|
||||
ON GIB.BBS_ID = GIS.BBS_ID
|
||||
AND GIS.USE_AT = 'Y'
|
||||
INNER JOIN GC_STORE STR
|
||||
ON GIB.STR_INNB = STR.STR_INNB
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON GIB.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND GIB.BBSCTT_INNB = #{bbscttInnb}
|
||||
AND GIB.REGUSR_NM > ''
|
||||
AND GIS.SV_INNB = #{svInnb}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,212 @@
|
||||
<?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.itrnt.bbs.cm.mapper.BOItrntCmMapper">
|
||||
<!--댓글 등록-->
|
||||
<insert id="insertBOCmRegist">
|
||||
<selectKey keyProperty="cmInnb" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(CM_INNB), 0) + 1
|
||||
FROM GC_INTRANET_BOARDCOMMENT
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_BOARDCOMMENT (
|
||||
CM_INNB,
|
||||
SOPMAL_CD,
|
||||
BBSCTT_INNB,
|
||||
PARNTS_CM_INNB,
|
||||
REGUSR_DV_CD,
|
||||
REGUSR_ID,
|
||||
REGUSR_NM,
|
||||
DEPTH,
|
||||
CN,
|
||||
SECRET_BBSCTT_AT,
|
||||
INQIRE_CNT,
|
||||
AGENT_ID,
|
||||
IP,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{cmInnb},
|
||||
#{sopmalCd},
|
||||
#{bbscttInnb},
|
||||
#{parntsCmInnb},
|
||||
#{regusrDvCd},
|
||||
#{regusrId},
|
||||
#{regusrNm},
|
||||
#{depth},
|
||||
#{cn},
|
||||
IFNULL(#{secretBbscttAt},'N'),
|
||||
0,
|
||||
#{agentId},
|
||||
#{ip},
|
||||
'Y',
|
||||
#{regusr},
|
||||
NOW(),
|
||||
#{updusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
<!--댓글 수정-->
|
||||
<update id="updateBOCmUpdt">
|
||||
UPDATE GC_INTRANET_BOARDCOMMENT
|
||||
SET CN = #{cn},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW(),
|
||||
SECRET_BBSCTT_AT = #{secretBbscttAt}
|
||||
WHERE CM_INNB = #{cmInnb}
|
||||
AND BBSCTT_INNB = #{bbscttInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<!--댓글 논리 삭제-->
|
||||
<update id="updateBOCmDel">
|
||||
UPDATE GC_INTRANET_BOARDCOMMENT
|
||||
SET USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE BBSCTT_INNB = #{bbscttInnb}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
AND CM_INNB = #{cmInnb}
|
||||
</update>
|
||||
<!--댓글 목록 건수 조회-->
|
||||
<select id="selectBOBCmListCnt" resultType="java.lang.Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM(SELECT FBC.CM_INNB
|
||||
, FBC.USE_AT
|
||||
, (SELECT COUNT(FBC2.CM_INNB)
|
||||
FROM GC_INTRANET_BOARDCOMMENT FBC2
|
||||
WHERE 1 = 1
|
||||
AND FBC2.USE_AT = 'Y'
|
||||
AND FBC2.DEPTH = 1
|
||||
AND FBC2.PARNTS_CM_INNB = FBC.CM_INNB
|
||||
AND FBC2.SOPMAL_CD = FBC.SOPMAL_CD
|
||||
AND FBC2.BBSCTT_INNB = FBC.BBSCTT_INNB
|
||||
LIMIT 1) CM_ANSW_CNT
|
||||
FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
INNER JOIN GC_INTRANET_BOARDDATA FB
|
||||
ON FBC.BBSCTT_INNB = FB.BBSCTT_INNB
|
||||
AND FBC.SOPMAL_CD = FB.SOPMAL_CD
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.BBS_ID = FBM.BBS_ID
|
||||
AND FBM.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND FBC.DEPTH = 0
|
||||
AND FBC.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBM.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBC.BBSCTT_INNB = #{bbscttInnb})FBC
|
||||
WHERE 1=1
|
||||
AND !(FBC.USE_AT = 'N' AND FBC.CM_ANSW_CNT = 0)
|
||||
</select>
|
||||
<!--댓글 목록 조회-->
|
||||
<select id="selectBOCmListInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,FB.*
|
||||
FROM ( SELECT FBC.*
|
||||
,DATE_FORMAT(FBC.A_REGIST_DT,'%Y.%m.%d. %H:%i')REGIST_DT
|
||||
,CONCAT(SUBSTRING(FBC.REGUSR_ID, 1, 4), '***')MASKING_REGUSR_ID
|
||||
FROM(SELECT FBC.CM_INNB
|
||||
,FBC.BBSCTT_INNB
|
||||
,FBC.PARNTS_CM_INNB
|
||||
,FBC.SOPMAL_CD
|
||||
,FBC.CN
|
||||
,FBC.REGIST_DT A_REGIST_DT
|
||||
,FBC.SECRET_BBSCTT_AT
|
||||
,FBC.USE_AT
|
||||
,FBC.REGUSR_DV_CD
|
||||
,FBC.IP
|
||||
,FBC.DEPTH
|
||||
,FBC.REGUSR
|
||||
,FBC.REGUSR_ID
|
||||
,CASE WHEN FBC.REGUSR_DV_CD = '02' THEN '관리자' ELSE FBC.REGUSR_NM END REGUSR_NM
|
||||
,(SELECT COUNT(FBC2.CM_INNB)
|
||||
FROM GC_INTRANET_BOARDCOMMENT FBC2
|
||||
WHERE 1=1
|
||||
AND FBC2.USE_AT = 'Y'
|
||||
AND FBC2.DEPTH = 1
|
||||
AND FBC2.PARNTS_CM_INNB = FBC.CM_INNB
|
||||
AND FBC2.SOPMAL_CD = FBC.SOPMAL_CD
|
||||
AND FBC2.BBSCTT_INNB = FBC.BBSCTT_INNB
|
||||
LIMIT 1)CM_ANSW_CNT
|
||||
,CASE
|
||||
WHEN DATE_ADD(FBC.REGIST_DT, INTERVAL FBM.NEW_NTT_STDR_DE_CNT DAY) > SYSDATE() THEN 'Y'
|
||||
ELSE 'N'
|
||||
END NEW_AT
|
||||
FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
INNER JOIN GC_INTRANET_BOARDDATA FB
|
||||
ON FBC.BBSCTT_INNB = FB.BBSCTT_INNB
|
||||
AND FBC.SOPMAL_CD = FB.SOPMAL_CD
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.BBS_ID = FBM.BBS_ID
|
||||
AND FBM.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND FBC.DEPTH = 0
|
||||
AND FBC.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBM.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBC.BBSCTT_INNB = #{bbscttInnb})FBC
|
||||
WHERE 1=1
|
||||
AND !(FBC.USE_AT = 'N' AND FBC.CM_ANSW_CNT = 0)
|
||||
) FB
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
ORDER BY PV.CM_INNB DESC
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
<!--대댓글 목록 조회-->
|
||||
<select id="selectBOCmAnswListInqire" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT FBC.*
|
||||
,DATE_FORMAT(FBC.A_REGIST_DT,'%Y-%m-%d. %H:%i')REGIST_DT
|
||||
,CONCAT(SUBSTRING(FBC.REGUSR_ID, 1, 4), '***')MASKING_REGUSR_ID
|
||||
FROM(SELECT FBC.CM_INNB
|
||||
,FBC.BBSCTT_INNB
|
||||
,FBC.SOPMAL_CD
|
||||
,FBC.CN
|
||||
,FBC.REGIST_DT A_REGIST_DT
|
||||
,FBC.PARNTS_CM_INNB
|
||||
,FBC.SECRET_BBSCTT_AT
|
||||
,FBC.USE_AT
|
||||
,FBC.REGUSR_DV_CD
|
||||
,FBC.IP
|
||||
,FBC.DEPTH
|
||||
,FBC.REGUSR
|
||||
,FBC.REGUSR_ID
|
||||
,CASE WHEN FBC.REGUSR_DV_CD = '02' THEN '관리자' ELSE FBC.REGUSR_NM END REGUSR_NM
|
||||
,CASE
|
||||
WHEN DATE_ADD(FBC.REGIST_DT, INTERVAL FBM.NEW_NTT_STDR_DE_CNT DAY) > SYSDATE() THEN 'Y'
|
||||
ELSE 'N'
|
||||
END NEW_AT
|
||||
FROM GC_INTRANET_BOARDCOMMENT FBC
|
||||
INNER JOIN GC_INTRANET_BOARDDATA FB
|
||||
ON FBC.BBSCTT_INNB = FB.BBSCTT_INNB
|
||||
AND FBC.SOPMAL_CD = FB.SOPMAL_CD
|
||||
INNER JOIN GC_INTRANET_BOARDMANAGER FBM
|
||||
ON FB.BBS_ID = FBM.BBS_ID
|
||||
AND FBM.SOPMAL_CD = FBM.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND FBC.DEPTH = 1
|
||||
AND FBC.USE_AT = 'Y'
|
||||
AND FBC.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBM.SOPMAL_CD = #{sopmalCd}
|
||||
AND FBC.PARNTS_CM_INNB IN
|
||||
<foreach collection="cmInnbArr" item="cmInnbArr" open="(" close=")" separator=",">
|
||||
#{cmInnbArr}
|
||||
</foreach>
|
||||
AND FBC.BBSCTT_INNB = #{bbscttInnb}
|
||||
)FBC
|
||||
</select>
|
||||
<!--댓글 수정,삭제 가능 조회 (수정,삭제시 여부 판단 후 수정, 삭제)-->
|
||||
<select id="selectCmUpdtDelPosibleAt" resultType="java.lang.Boolean">
|
||||
SELECT CASE
|
||||
WHEN COUNT(1) > 0 THEN 'Y'
|
||||
ELSE 'Y'
|
||||
END
|
||||
FROM GC_INTRANET_BOARDCOMMENT
|
||||
WHERE REGUSR = #{regusr}
|
||||
AND BBSCTT_INNB = #{bbscttInnb}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1 @@
|
||||
<?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.itrnt.main.mapper.BOMainMapper"></mapper>
|
||||
@@ -0,0 +1,482 @@
|
||||
<?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.itrnt.mbr.mapper.BOItrntMbrMapper">
|
||||
<sql id = "mbrSrchFrom">
|
||||
FROM GC_MEMBER GM
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchOtherMbr, 'Y')">
|
||||
LEFT JOIN GC_EXTRL_MEMBER EM /* 타 매장회원 포함 */
|
||||
</when>
|
||||
<otherwise>
|
||||
INNER JOIN GC_EXTRL_MEMBER EM /* 자기 매장만 */
|
||||
</otherwise>
|
||||
</choose>
|
||||
ON GM.MBR_INNB = EM.MBR_INNB
|
||||
AND GM.MBR_DV_CD = EM.MBR_DV_CD
|
||||
AND EM.EXTRL_INTRLCK_DV_CD = '03'
|
||||
INNER JOIN GC_MEMBER_SITE GMS
|
||||
ON GM.MBR_INNB = GMS.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMS.MBR_DV_CD
|
||||
AND GMS.SOPMAL_CD = #{sopmalCd}
|
||||
INNER JOIN GC_MEMBER_GRAD_MAPPING GMGM
|
||||
ON GMS.MBR_INNB = GMGM.MBR_INNB
|
||||
AND GMS.MBR_DV_CD = GMGM.MBR_DV_CD
|
||||
AND GMS.SOPMAL_CD = GMGM.SOPMAL_CD
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchGrad)"> /* 특정 등급 */
|
||||
AND GMGM.MBR_GRAD_INNB = #{srchGrad}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMarktRecptnAgreAt)">
|
||||
LEFT JOIN GC_MARKETING_AGREE GMA -- 마케팅 수신여부 동의 체크 안할때는 JOIN 안함
|
||||
ON GMS.MBR_INNB = GMA.MBR_INNB
|
||||
AND GMS.MBR_DV_CD = GMA.MBR_DV_CD
|
||||
AND GMS.SOPMAL_CD = GMA.SOPMAL_CD -- SOPMALL 기준 검색
|
||||
AND GMA.MARKT_RECPTN_AGRE_AT = #{srchMarktRecptnAgreAt} -- 마케팅 수신여부 동의 체크 할때는 필수
|
||||
</if>
|
||||
LEFT JOIN LATERAL ( SELECT FMI.MBR_INNB , FMI.MBR_DV_CD ,
|
||||
SUM( FMI.BLCE ) - SUM( IFNULL(FMI.LOSS,0) ) AS MILEAGE
|
||||
FROM GC_MILEAGE FMI
|
||||
WHERE 1 = 1
|
||||
AND FMI.MBR_INNB = GM.MBR_INNB
|
||||
AND FMI.MBR_DV_CD = GM.MBR_DV_CD
|
||||
AND FMI.BLCE > 0
|
||||
AND FMI.USE_POSBL_END_DT >= DATE_FORMAT(CURDATE(), '%Y-%m-%d')
|
||||
AND FMI.MLG_ACCML_DV_CD IN ('add', 'up')
|
||||
AND FMI.CANCL_AT = 'N'
|
||||
) GMI
|
||||
ON GM.MBR_INNB = GMI.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GMI.MBR_DV_CD
|
||||
LEFT JOIN LATERAL ( SELECT O.MBR_INNB, O.MBR_DV_CD
|
||||
, SUM(O.RL_SETLE_AMT) - SUM(IFNULL(GOR.REFUND_AMT, 0)) AS RL_SETLE_AMT
|
||||
, COUNT(O.ORDR_INNB) ORDR_CNT
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN LATERAL(SELECT GOR2.ORDR_INNB, GOR2.SOPMAL_CD, SUM(GOR2.REFUND_AMT) REFUND_AMT
|
||||
FROM GC_ORDER_REFUND GOR2
|
||||
WHERE 1 = 1
|
||||
AND GOR2.USE_AT = 'Y'
|
||||
AND GOR2.REFUND_PROCS_STTUS_CD IN ('02','03') -- 추가됨...01 신청단계는 계산안해야함
|
||||
AND O.ORDR_INNB = GOR2.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOR2.SOPMAL_CD
|
||||
GROUP BY GOR2.ORDR_INNB, GOR2.SOPMAL_CD
|
||||
) GOR
|
||||
ON O.ORDR_INNB = GOR.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOR.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND (O.ORDR_INNB, O.SOPMAL_CD) IN ( SELECT DISTINCT GOI.ORDR_INNB, GOI.SOPMAL_CD
|
||||
FROM GC_ORDER_ITEM GOI
|
||||
INNER JOIN GC_ORDER O1
|
||||
ON GOI.ORDR_INNB = O1.ORDR_INNB
|
||||
AND GOI.SOPMAL_CD = O1.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GOI.GOODS_KND_CD = '01'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrGoodsNm)">
|
||||
AND GOI.GOODS_NM LIKE CONCAT('%',IFNULL(#{stdrGoodsNm},''),'%')
|
||||
</if>
|
||||
AND O1.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND O1.MBR_INNB = O.MBR_INNB
|
||||
AND O1.MBR_DV_CD = O.MBR_DV_CD
|
||||
)
|
||||
AND O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.USE_AT = 'Y'
|
||||
AND O.ORDR_STTUS_CD BETWEEN '25' AND '75'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrStrtPurchsPd)">
|
||||
AND O.ORDR_RCEPT_DT <![CDATA[>=]]> IFNULL(#{stdrStrtPurchsPd}, '1999-01-01')
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrEndPurchsPd)">
|
||||
AND O.ORDR_RCEPT_DT <![CDATA[<]]> IFNULL(DATE_ADD(#{stdrEndPurchsPd},INTERVAL 1 DAY), SYSDATE())
|
||||
</if>
|
||||
AND O.MBR_INNB = GM.MBR_INNB
|
||||
AND O.MBR_DV_CD = GM.MBR_DV_CD
|
||||
GROUP BY O.MBR_INNB, O.MBR_DV_CD
|
||||
) GO2
|
||||
ON GM.MBR_INNB = GO2.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GO2.MBR_DV_CD
|
||||
LEFT JOIN LATERAL ( SELECT O.MBR_INNB, O.MBR_DV_CD
|
||||
, SUM(O.RL_SETLE_AMT) - SUM(IFNULL(GOR.REFUND_AMT, 0)) AS RL_SETLE_AMT
|
||||
, COUNT(O.ORDR_INNB) ORDR_CNT
|
||||
FROM GC_ORDER O
|
||||
LEFT JOIN LATERAL(SELECT GOR2.ORDR_INNB, GOR2.SOPMAL_CD, SUM(GOR2.REFUND_AMT) REFUND_AMT
|
||||
FROM GC_ORDER_REFUND GOR2
|
||||
WHERE 1 = 1
|
||||
AND GOR2.USE_AT = 'Y'
|
||||
AND GOR2.REFUND_PROCS_STTUS_CD IN ('02','03') -- 추가됨...01 신청단계는 계산안해야함
|
||||
AND O.ORDR_INNB = GOR2.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOR2.SOPMAL_CD
|
||||
GROUP BY GOR2.ORDR_INNB, GOR2.SOPMAL_CD
|
||||
) GOR
|
||||
ON O.ORDR_INNB = GOR.ORDR_INNB
|
||||
AND O.SOPMAL_CD = GOR.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND (O.ORDR_INNB, O.SOPMAL_CD) IN ( SELECT DISTINCT GOI.ORDR_INNB, GOI.SOPMAL_CD
|
||||
FROM GC_ORDER_ITEM GOI
|
||||
INNER JOIN GC_ORDER O1
|
||||
ON GOI.ORDR_INNB = O1.ORDR_INNB
|
||||
AND GOI.SOPMAL_CD = O1.SOPMAL_CD
|
||||
WHERE 1 = 1
|
||||
AND GOI.GOODS_KND_CD = '01'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprGoodsNm)">
|
||||
AND GOI.GOODS_NM LIKE CONCAT('%',IFNULL(#{cmprGoodsNm},''),'%')
|
||||
</if>
|
||||
AND O1.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND O1.MBR_INNB = O.MBR_INNB
|
||||
AND O1.MBR_DV_CD = O.MBR_DV_CD
|
||||
)
|
||||
AND O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.USE_AT = 'Y'
|
||||
AND O.ORDR_STTUS_CD BETWEEN '25' AND '75'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprStrtPurchsPd)">
|
||||
AND O.ORDR_RCEPT_DT <![CDATA[>=]]> IFNULL(#{cmprStrtPurchsPd}, '1999-01-01')
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprEndPurchsPd)">
|
||||
AND O.ORDR_RCEPT_DT <![CDATA[<]]> IFNULL(DATE_ADD(#{cmprEndPurchsPd},INTERVAL 1 DAY), SYSDATE())
|
||||
</if>
|
||||
AND O.MBR_INNB = GM.MBR_INNB
|
||||
AND O.MBR_DV_CD = GM.MBR_DV_CD
|
||||
GROUP BY O.MBR_INNB, O.MBR_DV_CD
|
||||
) GO3
|
||||
ON GM.MBR_INNB = GO3.MBR_INNB
|
||||
AND GM.MBR_DV_CD = GO3.MBR_DV_CD
|
||||
</sql>
|
||||
<sql id="mbrSrchWhere">
|
||||
WHERE 1 = 1
|
||||
AND GM.USE_AT = 'Y'
|
||||
AND GM.MBR_DV_CD = 'GC'
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKeyword)">
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'mbrNm')">
|
||||
AND GM.MBR_NM = #{srchKeyword}
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'mbrId')">
|
||||
AND GM.MBR_ID = #{srchKeyword}
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'email')">
|
||||
AND GM.EMAIL = (SELECT HEX(AES_ENCRYPT(#{srchKeyword} , #{secretKey})))
|
||||
</when>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDv, 'mbtlnb')">
|
||||
AND GM.MBTLNB = (SELECT HEX(AES_ENCRYPT(REPLACE(#{srchKeyword},'-',''), #{secretKey})))
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test = "!@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchOtherMbr, 'Y')">
|
||||
AND EM.EXTRL_INTRLCK_DV_CD = '03' /* POS 회원이고(타매장 회원 체크 아닐때 필수) */
|
||||
AND EM.STR_INNB = #{strInnb} /* 내매장이고 (타매장 회원 체크 아닐때 필수) */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtRegistDt)">
|
||||
AND GM.REGIST_DT <![CDATA[>=]]> IFNULL(#{srchStrtRegistDt}, '1999-01-01') /* 가입일 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndRegistDt)">
|
||||
AND GM.REGIST_DT <![CDATA[<]]> IFNULL(DATE_ADD(#{srchEndRegistDt},INTERVAL 1 DAY), SYSDATE()) /* 가입일 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtLastPurchsDt)">
|
||||
AND GMS.LAST_PURCHS_DT <![CDATA[>=]]> IFNULL(#{srchStrtLastPurchsDt}, '1999-01-01') /* 최종구매일 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndLastPurchsDt)">
|
||||
AND GMS.LAST_PURCHS_DT <![CDATA[<]]> IFNULL(DATE_ADD(#{srchEndLastPurchsDt},INTERVAL 1 DAY), SYSDATE()) /* 최종구매일 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrStrtPurchsAmt)">
|
||||
AND IFNULL(GO2.RL_SETLE_AMT,0) <![CDATA[>=]]> IFNULL(#{stdrStrtPurchsAmt}, 0) /* 기준 구매금액 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrEndPurchsAmt)">
|
||||
AND IFNULL(GO2.RL_SETLE_AMT,0) <![CDATA[<=]]> IFNULL(#{stdrEndPurchsAmt}, 9999999999) /* 기준 구매금액 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrStrtPurchsCnt)">
|
||||
AND IFNULL(GO2.ORDR_CNT,0) <![CDATA[>=]]> IFNULL(#{stdrStrtPurchsCnt}, 0) /* 기준 구매횟수 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(stdrEndPurchsCnt)">
|
||||
AND IFNULL(GO2.ORDR_CNT,0) <![CDATA[<=]]> IFNULL(#{stdrEndPurchsCnt}, 9999999) /* 기준 구매횟수 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprStrtPurchsAmt)">
|
||||
AND IFNULL(GO3.RL_SETLE_AMT,0) <![CDATA[>=]]> IFNULL(#{cmprStrtPurchsAmt}, 0) /* 비교 구매금액 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprEndPurchsAmt)">
|
||||
AND IFNULL(GO3.RL_SETLE_AMT,0) <![CDATA[<=]]> IFNULL(#{cmprEndPurchsAmt}, 9999999999) /* 비교 구매금액 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprStrtPurchsAmt)">
|
||||
AND IFNULL(GO3.ORDR_CNT,0) <![CDATA[>=]]> IFNULL(#{cmprStrtPurchsAmt}, 0) /* 비교 구매횟수 시작 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cmprEndPurchsAmt)">
|
||||
AND IFNULL(GO3.ORDR_CNT,0) <![CDATA[<=]]> IFNULL(#{cmprEndPurchsAmt}, 9999999) /* 비교 구매횟수 종료 */
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSex)"> /* 성별 */
|
||||
AND GM.SEX = #{srchSex}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtBrthYear)"> /* 생년 시작 */
|
||||
AND GM.BRTH_DE <![CDATA[>=]]> DATE_FORMAT(CONCAT(IFNULL(#{srchStrtBrthYear}, '1999'),'0101'),'%Y0101')
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndBrthYear)"> /* 생년 종료 */
|
||||
AND GM.BRTH_DE <![CDATA[<=]]> DATE_FORMAT(CONCAT(IFNULL(#{srchEndBrthYear}, '9999'),'1231'),'%Y1231')
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtBrthMonth)"> /* 출생 월 시작*/
|
||||
AND SUBSTRING(GM.BRTH_DE,5,2) <![CDATA[>=]]> #{srchStrtBrthMonth}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndBrthMonth)"> /* 출생 윌 종료 */
|
||||
AND SUBSTRING(GM.BRTH_DE,5,2) <![CDATA[<=]]> #{srchEndBrthMonth}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrtMlg)"> /* 마일리지 시작 */
|
||||
AND GMI.MILEAGE <![CDATA[>=]]> #{srchStrtMlg}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndMlg)"> /* 마일리지 종료 */
|
||||
AND GMI.MILEAGE <![CDATA[<=]]> #{srchEndMlg}
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchMarktRecptnAgreAt)"> /* 마케팅 수신여부 동의 */
|
||||
AND GMA.MARKT_RECPTN_AGRE_AT = #{srchMarktRecptnAgreAt}
|
||||
</if>
|
||||
</sql>
|
||||
<!--매장별 회원건수조회-->
|
||||
<select id="selectBOItrntMbrCnt" resultType="int">
|
||||
SELECT COUNT(1)
|
||||
<include refid="mbrSrchFrom"/>
|
||||
<include refid="mbrSrchWhere"/>
|
||||
</select>
|
||||
|
||||
<!--매장별 회원리스트조회-->
|
||||
<select id="selectBOItrntMbrList" resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED ) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT (SELECT TENTCPN_NM FROM GC_STORE GS WHERE GS.STR_INNB = EM.STR_INNB) TENTCPN_NM
|
||||
, GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, REPLACE(GM.MBR_ID,SUBSTRING(GM.MBR_ID,4,5),'*****') MBR_ID
|
||||
, GM.MBR_NM
|
||||
, GM.JOIN_MTH_CD
|
||||
, CAST(AES_DECRYPT(UNHEX(GM.MBTLNB) , #{secretKey}) AS CHAR(50)) AS MBTLNB
|
||||
, FN_GET_MEMBER_GRAD_NAME(GMGM.SOPMAL_CD,GMGM.MBR_DV_CD,GMGM.MBR_INNB) MBR_GRAD_NM
|
||||
, DATE_FORMAT(GM.REGIST_DT, '%Y-%m-%d %H:%i:%s') REGIST_DT
|
||||
, DATE_FORMAT( GMS.LAST_PURCHS_DT, '%Y-%m-%d %H:%i:%s') LAST_PURCHS_DT
|
||||
, GMS.TOT_ORDR_AMT
|
||||
, IFNULL(GMI.MILEAGE,0) AS MILEAGE
|
||||
, IFNULL((SELECT FORMAT(IFNULL(BLCE, 0), 0) AS BLCE
|
||||
FROM GC_CASH GC
|
||||
WHERE 1 = 1
|
||||
AND GC.MBR_DV_CD = GM.MBR_DV_CD
|
||||
AND GC.MBR_INNB = GM.MBR_INNB
|
||||
AND GC.USE_AT = 'Y'
|
||||
ORDER BY CASH_INNB DESC
|
||||
LIMIT 1),0) AS MBR_CASH_AMT /*회원 CASH(충전형마일리지) 금액*/
|
||||
<include refid="mbrSrchFrom"/>
|
||||
<include refid="mbrSrchWhere"/>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orderCnd)">
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'recent')">
|
||||
GM.REGIST_DT DESC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'mlgUp')">
|
||||
GMI.MILEAGE DESC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'mlgDn')">
|
||||
GMI.MILEAGE ASC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'amtUp')">
|
||||
IFNULL(GMS.TOT_ORDR_AMT,0) DESC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'amtDn')">
|
||||
IFNULL(GMS.TOT_ORDR_AMT,0) ASC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'cntUp')">
|
||||
IFNULL(GMS.TOT_ORDR_CNT,0) DESC
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(orderCnd, 'cntDn')">
|
||||
IFNULL(GMS.TOT_ORDR_CNT,0) ASC
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
)TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!--매장별 회원리스트조회-->
|
||||
<select id="selectBOItrntsmsMbrList" resultType="DataMap">
|
||||
SELECT GM.MBR_INNB
|
||||
, GM.MBR_DV_CD
|
||||
, GM.MBR_NM AS RECPNT_NM
|
||||
, CAST(AES_DECRYPT(UNHEX(GM.MBTLNB) , #{secretKey}) AS CHAR(50)) AS SNDNG_MBTLNB
|
||||
, CAST(AES_DECRYPT(UNHEX(GM.MBTLNB) , #{secretKey}) AS CHAR(50)) AS SNDNG_INFO
|
||||
<include refid="mbrSrchFrom"/>
|
||||
<include refid="mbrSrchWhere"/>
|
||||
</select>
|
||||
<!-- ************************************************************************************************************
|
||||
상담 서비스 시작
|
||||
************************************************************************************************************-->
|
||||
<!-- 상담 목록 조회 WHERE 절 -->
|
||||
<sql id="cnsltListInqireWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND CNSLT.MBR_DV_CD = #{mbrDvCd} AND CNSLT.MBR_INNB = #{mbrInnb}
|
||||
]]>
|
||||
<!-- 상담내용 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCnsltCn)">
|
||||
AND CNSLT.CNSLT_CN LIKE CONCAT('%', #{srchCnsltCn}, '%')
|
||||
</if>
|
||||
<!-- 등록일 OR 처리일-->
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'cnstlDt')">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStartDate)">
|
||||
<![CDATA[
|
||||
AND CNSLT.REGIST_DT >= #{srchStartDate} ' 00:00:00'
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndDate)">
|
||||
<![CDATA[
|
||||
AND CNSLT.REGIST_DT <= #{srchEndDate} ' 23:59:59'
|
||||
]]>
|
||||
</if>
|
||||
</when>
|
||||
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(srchDtDv, 'procsDt')">
|
||||
<![CDATA[
|
||||
AND CNSLT.PROCS_DT IS NOT NULL
|
||||
]]>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStartDate)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(srchEndDate)">
|
||||
<![CDATA[
|
||||
AND CNSLT.PROCS_DT BETWEEN #{srchStartDate} ' 00:00:00' AND SYSDATE()
|
||||
]]>
|
||||
</when>
|
||||
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(srchStartDate)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndDate)">
|
||||
<![CDATA[
|
||||
AND CNSLT.PROCS_DT < #{srchEndDate} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStartDate)
|
||||
and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchEndDate)">
|
||||
<![CDATA[
|
||||
AND CNSLT.PROCS_DT BETWEEN #{srchStartDate} ' 00:00:00' AND #{srchEndDate} ' 23:59:59'
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</when>
|
||||
</choose>
|
||||
<!-- 처리 상태 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchProcsSttusCd)">
|
||||
<![CDATA[
|
||||
AND CNSLT.PROCS_STTUS IN
|
||||
]]>
|
||||
<foreach collection="srchProcsSttusCd" item="srchProcsSttusCd" open="(" close=")" separator=",">
|
||||
#{srchProcsSttusCd}
|
||||
</foreach>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!--상담 목록 건수-->
|
||||
<select id="selectBOCnsltListCnt" resultType="Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM GC_STORE_COUNSEL CNSLT
|
||||
<include refid = "cnsltListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
<!--상담 목록 조회-->
|
||||
<select id="selectBOCnsltListInqire" resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (SELECT CAST(@ROWNUM := @ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||
, TB.*
|
||||
FROM (SELECT STR_CNSLT_DTLS_INNB,
|
||||
REGUSRNM,
|
||||
FN_GET_COMMCODE_NAME('COUNSEL_PROCS_STTUS', PROCS_STTUS) AS PROCS_STTUS_CD,
|
||||
PROCS_STTUS,
|
||||
DATE_FORMAT(PROCS_DE_CTY,'%Y-%m-%d %H:%i:%s') PROCS_DE_CTY,
|
||||
CNSLT_CN,
|
||||
DATE_FORMAT(REGIST_DT,'%Y-%m-%d %H:%i:%s')REGIST_DT
|
||||
FROM GC_STORE_COUNSEL CNSLT
|
||||
<include refid = "cnsltListInqireWhere"/>) TB
|
||||
WHERE (@rownum := 0) = 0) PV
|
||||
WHERE 1 = 1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!--상담 상세 조회-->
|
||||
<select id="selectBOCnsltDtlUpdtInqirePopup" resultType="DataMap">
|
||||
/* 상담번호, 상담자, 처리여부, 상담내용 */
|
||||
SELECT STR_CNSLT_DTLS_INNB,
|
||||
REGUSRNM,
|
||||
FN_GET_COMMCODE_NAME('PROCS_STTUS', PROCS_STTUS) AS PROCS_STTUS_CD,
|
||||
CNSLT_CN
|
||||
FROM GC_STORE_COUNSEL
|
||||
WHERE STR_CNSLT_DTLS_INNB = #{strCnsltDtlsInnb}
|
||||
</select>
|
||||
|
||||
<!--상담 등록-->
|
||||
<insert id="insertBOCnsltRegist">
|
||||
<selectKey order="BEFORE" keyProperty="strCnsltDtlsInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(STR_CNSLT_DTLS_INNB), 0)+1
|
||||
FROM GC_STORE_COUNSEL
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_STORE_COUNSEL
|
||||
(STR_CNSLT_DTLS_INNB,
|
||||
STR_INNB,
|
||||
MNGR_INNB,
|
||||
MBR_INNB,
|
||||
MBR_DV_CD,
|
||||
CNSLT_CN,
|
||||
PROCS_STTUS,
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(procsSttus, '03')">
|
||||
PROCS_DE_CTY,
|
||||
</if>
|
||||
REGUSR,
|
||||
REGUSRNM,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT)
|
||||
VALUES (
|
||||
#{strCnsltDtlsInnb},
|
||||
#{strInnb},
|
||||
#{mngrInnb},
|
||||
#{mbrInnb},
|
||||
#{mbrDvCd},
|
||||
#{cnsltCn},
|
||||
#{procsSttus},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(procsSttus, '03')">
|
||||
NOW()
|
||||
</if>
|
||||
#{regusr},
|
||||
#{regusrnm},
|
||||
NOW(),
|
||||
#{updusr},
|
||||
NOW());
|
||||
</insert>
|
||||
|
||||
<!--상담 수정-->
|
||||
<update id="updateBOCnsltUpdt">
|
||||
/* 처리여부, 내용*/
|
||||
UPDATE GC_STORE_COUNSEL
|
||||
SET
|
||||
CNSLT_CN = #{cnsltCn},
|
||||
PROCS_STTUS = #{procsSttus},
|
||||
UPDUSR = #{updusr},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(procsSttus, '03')">
|
||||
<![CDATA[
|
||||
PROCS_DE_CTY = NOW(),
|
||||
]]>
|
||||
</if>
|
||||
UPDT_DT = NOW()
|
||||
WHERE STR_CNSLT_DTLS_INNB = #{strCnsltDtlsInnb}
|
||||
</update>
|
||||
|
||||
<!--상담 삭제-->
|
||||
<delete id="deleteBOCnsltDel">
|
||||
DELETE
|
||||
FROM GC_STORE_COUNSEL
|
||||
WHERE STR_CNSLT_DTLS_INNB = #{strCnsltDtlsInnb}
|
||||
</delete>
|
||||
|
||||
<!-- 매장명 조회 -->
|
||||
<select id="selectBoStrNm"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
*
|
||||
FROM GC_STORE
|
||||
WHERE 1=1
|
||||
AND POS_CD_DV_VAL = #{posCdDvVal}
|
||||
AND POS_CD_PASSIV_INPUT_VAL = #{posCdPassiveInputVal}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,168 @@
|
||||
<?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.itrnt.mngr.mapper.BOItrntMngrMapper">
|
||||
|
||||
<!-- 관리자 목록 조회 -->
|
||||
<select id="selectBOItrntMngrList">
|
||||
SELECT
|
||||
A.*
|
||||
FROM
|
||||
GC_STORE A
|
||||
WHERE 1=1
|
||||
AND A.TENTCPN_ID !='base' -- 입점사 아이디
|
||||
AND A.MNGR_GROUP = #{strInnb} -- 관리자 그룹
|
||||
OR A.STR_INNB = #{strInnb} -- 고유번호
|
||||
ORDER BY STR_INNB DESC
|
||||
LIMIT #{pageIndex}, #{recordCountPerPage}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 페이징처리를 위한 관리자 목록 총 개수 -->
|
||||
<select id="selectBOItrntMngrListCnt">
|
||||
SELECT
|
||||
count(*)
|
||||
FROM
|
||||
GC_STORE A
|
||||
WHERE 1=1
|
||||
AND A.TENTCPN_ID !='base' -- 입점사 아이디
|
||||
AND A.MNGR_GROUP = #{strInnb} -- 관리자 그룹
|
||||
OR A.STR_INNB = #{strInnb} -- 고유번호
|
||||
</select>
|
||||
|
||||
<!-- 관리자 등록 -->
|
||||
<insert id="insertBOItrntMngrRegist">
|
||||
<selectKey keyProperty="strInnb" resultType="String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(STR_INNB), 0) + 1
|
||||
FROM GC_STORE
|
||||
</selectKey>
|
||||
INSERT INTO GC_STORE(
|
||||
STR_INNB
|
||||
,TENTCPN_ID
|
||||
,TENTCPN_NM -- 입점사명
|
||||
, TENTCPN_PASSWORD
|
||||
, REPRSNT_MNGR_AT -- 대표관리자 여부
|
||||
<if test="accesLmttIp != null and accesLmttIp != '' ">
|
||||
,ACCES_LMTT_IP -- 접근제한 IP
|
||||
</if>
|
||||
, MNGR_AUTHOR -- 관리자 권한
|
||||
, REGIST_DT -- 등록일
|
||||
)
|
||||
VALUES(
|
||||
#{strInnb}
|
||||
, #{tentcpnId}
|
||||
, #{tentcpnNm}
|
||||
, #{tentcpnPassword}
|
||||
, #{reprsntMngrAt}
|
||||
<if test="accesLmttIp != null and accesLmttIp != '' ">
|
||||
, #{accesLmttIp}
|
||||
</if>
|
||||
, #{mngrAuthor}
|
||||
, now())
|
||||
</insert>
|
||||
|
||||
<!-- 관리자 상세 화면 조회-->
|
||||
<select id="selectBOItrntMngrDtlFrom">
|
||||
SELECT STR_INNB -- 고유번호
|
||||
, DATE_FORMAT(LAST_LOGIN_DT, '%Y-%m-%d %H:%i') as lastLoginDt -- 최종로그인일시
|
||||
, DATE_FORMAT(REGIST_DT, '%Y-%m-%d %H:%i') as registDt -- 등록일시
|
||||
, REPRSNT_MNGR_AT -- 대표관리자여부
|
||||
, TENTCPN_ID -- 입점사 아이디
|
||||
, TENTCPN_NM -- 입점사명
|
||||
, MNGR_AUTHOR -- 관리자 권한
|
||||
FROM GC_STORE
|
||||
WHERE STR_INNB = #{strInnb} -- 고유번호
|
||||
</select>
|
||||
|
||||
<!-- 관리자 수정 -->
|
||||
<update id="updateBOItrntMngrUpdt">
|
||||
UPDATE GC_STORE
|
||||
SET
|
||||
TENTCPN_NM = #{tentcpnNm} -- 입점사명
|
||||
<if test="tentcpnPassword != null and tentcpnPassword != '' ">
|
||||
,TENTCPN_PASSWORD = #{tentcpnPassword} -- 변경할 비밀번호
|
||||
, PASSWORD_CHNG_DE = now() -- 비밀번호 변경일
|
||||
</if>
|
||||
, UPDT_DT = now() -- 수정일시
|
||||
WHERE
|
||||
STR_INNB = #{strInnb} -- 고유번호
|
||||
|
||||
</update>
|
||||
|
||||
<select id="selectBOItrntMngr">
|
||||
select p.*
|
||||
,c.charge -- 수수료
|
||||
,c.FEE_TY -- 수수료 정산 타입
|
||||
,d.*
|
||||
, p.STR_INNB as strInnb -- 매장고유번호
|
||||
, g.pgroup_name -- 등급명칭
|
||||
, g.pgroup_icon -- 기본아이콘
|
||||
from GC_STORE as p
|
||||
left join fm_intranet_charge as c on (p.STR_INNB = c.provider_seq and c.link=1)
|
||||
left join fm_intranet_shipping as d on p.STR_INNB = d.provider_seq
|
||||
left join fm_intranet_group as g on p.STR_INNB = g.pgroup_seq
|
||||
where p.STR_INNB IN(#{strInnb})
|
||||
</select>
|
||||
|
||||
<!-- 관리자 입점사 상세 화면 조회-->
|
||||
<select id="selectBOItrntMngrTentcpnDtlForm">
|
||||
select
|
||||
DATE_FORMAT(A.REGIST_DT, '%Y-%m-%d %H:%i') as registDt -- 최초 입점일
|
||||
,DATE_FORMAT(A.LAST_LOGIN_DT, '%Y-%m-%d %H:%i') as lastLoginDt -- 최근 접속일
|
||||
,DATE_FORMAT(A.UPDT_DT, '%Y-%m-%d %H:%i') as updtDt -- 최근 변경(정상/종료)일
|
||||
,A.TENT_GROUP -- 구분
|
||||
,A.TENTCPN_NM -- 매장(업체)명
|
||||
,A.TENTCPN_ID -- 매장 ID
|
||||
,A.MNGR_AUTHOR -- 관리자 권한
|
||||
,B.*
|
||||
,C.pgroup_name -- 등급명칭
|
||||
,C.pgroup_icon -- 기본아이콘
|
||||
from GC_STORE A
|
||||
left join GC_INTRANET_CHARGE B -- 공급사 정산율
|
||||
on A.STR_INNB = B.provider_seq
|
||||
and B.link =1
|
||||
left join GC_INTRANET_GROUP C -- 입점사 등급 정보
|
||||
on A.STR_INNB = C.pgroup_seq
|
||||
where
|
||||
A.STR_INNB = #{strInnb}; -- 고유번호
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 비밀번호 변경 이력 -->
|
||||
<insert id="insertBOItrntMngrPwdHistory">
|
||||
<selectKey keyProperty="historySeq" resultType="String" order="BEFORE">
|
||||
SELECT IFNULL(MAX(HISTORY_SEQ), 0) + 1
|
||||
FROM GC_INTRANET_PWD_HISTORY
|
||||
</selectKey>
|
||||
insert into GC_INTRANET_PWD_HISTORY (
|
||||
HISTORY_SEQ
|
||||
, PROVIDER_SEQ -- 관리자 고유번호
|
||||
, PWD -- 비밀번호
|
||||
, REGIST_DATE -- 등록일
|
||||
)
|
||||
value(
|
||||
#{historySeq}
|
||||
, #{strInnb}
|
||||
, #{tentcpnPassword}
|
||||
, now()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 관리자 삭제 -->
|
||||
<delete id="deleteBOItrntMngrDel">
|
||||
DELETE
|
||||
FROM GC_STORE
|
||||
WHERE
|
||||
STR_INNB IN (${strInnb}) -- 고유번호
|
||||
</delete>
|
||||
|
||||
<!-- 관리자 아이디 중복 확인-->
|
||||
<select id="selectBOItrntMngrIdChk">
|
||||
SELECT
|
||||
count(*)
|
||||
FROM GC_STORE
|
||||
WHERE TENTCPN_ID = #{tentcpnId} -- 입점사 아이디
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,889 @@
|
||||
<?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.itrnt.ntcn.mssage.mapper.BOItrntMssageMapper">
|
||||
<sql id="SmsSndngListWhere">
|
||||
WHERE 1=1
|
||||
<!-- 등록자 구분 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRegusrDv)">
|
||||
<![CDATA[
|
||||
AND SMS.REGUSR_DV = #{srchRegusrDv}
|
||||
]]>
|
||||
</if>
|
||||
<!-- 매장번호 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.STR_INNB = #{srchStrInnb}
|
||||
]]>
|
||||
</if>
|
||||
<!-- SMS 고유번호 -->
|
||||
<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(srchSndngNb)">-->
|
||||
<!-- <![CDATA[-->
|
||||
<!-- AND CAST(AES_DECRYPT(UNHEX(SMS.SNDNG_NB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchSndngNb}, '%')-->
|
||||
<!-- ]]>-->
|
||||
<!-- </if>-->
|
||||
<!-- 쇼핑몰코드 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SMS.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</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}, '%')
|
||||
)
|
||||
]]>
|
||||
</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('%', #{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(strtSndngDt)">
|
||||
<![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>
|
||||
|
||||
|
||||
</sql>
|
||||
<!-- sms 발송 관리 목록 조회 WHERE 절 -->
|
||||
<sql id = "SmsSndngDtlsListWhere">
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStrInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.STR_INNB = #{srchStrInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsInnb)">
|
||||
<![CDATA[
|
||||
AND SMS.SMS_INNB = #{srchSmsInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchSmsToInnb)">
|
||||
<![CDATA[
|
||||
AND SMSTO.SMS_TO_INNB = #{srchSmsToInnb}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRecptnNb)">
|
||||
<![CDATA[
|
||||
AND CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) LIKE CONCAT('%', #{srchRecptnNb}, '%')
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SMS.SOPMAL_CD = #{sopmalCd}
|
||||
AND SMSTO.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(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('%', #{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(strtSndngDt)">
|
||||
<![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 = #{recptnNb}
|
||||
]]>
|
||||
</if>
|
||||
<!-- 등록자 구분 -->
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchRegusrDv)">
|
||||
<![CDATA[
|
||||
AND SMS.REGUSR_DV = #{srchRegusrDv}
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
<!--포스 회원 가입 문자 등록 -->
|
||||
<insert id="insertPosMbrSend"
|
||||
useGeneratedKeys="true" keyProperty="smsInnb">
|
||||
INSERT INTO GC_SEND
|
||||
(
|
||||
SOPMAL_CD -- 쇼핑몰 코드
|
||||
, CRP_CD -- 법인 코드
|
||||
, REGUSR_DV -- 등록자 구분 코드, 01 - 회원, 02 - 관리자, 03 - 시스템
|
||||
, CHR_STTUS -- 메세지 상태, 초기 입력시 'REG' 고정
|
||||
, RESVE_DT -- 예약시간, 예약시간이 있을 경우 등록
|
||||
, SNDNG_DT -- GC_SMS 등록 시간 현재 NOW()
|
||||
, SNDNG_IDNB -- 슈어엠 SEQNO 번호, 슈어엠 등록후 나중에 업데이트
|
||||
, CN -- 메세지 내용, 템플릿 있을 경우 템플릿 입력
|
||||
, SNDNG_NB -- 발송번호, 쇼핑몰 자동발송번호 GC_SHOP.SMS_ATMC_SNDNG_DSPTCH_NB
|
||||
, DV -- 문자타입구분, 내용 길이 확인하여 SMS, LMS, 알림톡인 경우 AT
|
||||
, SEND_TYPE_CD -- 발송유형구분코드
|
||||
, MALL_LIST -- 쇼핑몰 리스트 (smartstore, mall..)
|
||||
, START_DT -- 시작일
|
||||
, END_DT -- 종료일
|
||||
, TRGTER_CNT -- 대상수
|
||||
, BADN_CNT -- 상태 BAD 수 -- 상태 수는 SMS_TO 까지 입력 후 나중에 update함
|
||||
, WAIT_CNT -- 상태 WAIT 수
|
||||
, TRNSMIS_CNT -- 상태 TRNSMIS 수
|
||||
, FAILR_CNT -- 상태 FAILR 수
|
||||
, SUCCES_CNT -- 상태 SUCCES 수
|
||||
, AGRE_CNT -- 수신동의수
|
||||
, STL_IDNB -- 정산 식별번호
|
||||
, SMS_NM -- 슈어엠일 경우 'surem' 고정
|
||||
, REGUSR_NM -- 등록자명
|
||||
, REGUSR -- 등록자 고유번호
|
||||
, REGIST_DT -- 등록일 현재 NOW()
|
||||
)
|
||||
<![CDATA[
|
||||
SELECT
|
||||
S.REPRSNT_BRAND
|
||||
, S.MANAGE_CPR
|
||||
, '04'
|
||||
, 'REG'
|
||||
, NULL
|
||||
, NOW()
|
||||
, 0
|
||||
, SF.SMS_CN
|
||||
, SHOP.SMS_ATMC_SNDNG_DSPTCH_NB
|
||||
, NULL
|
||||
, 'POS'
|
||||
, 'mall'
|
||||
, CURDATE()
|
||||
, CURDATE()
|
||||
, 1
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 'surem'
|
||||
, S.TENTCPN_NM
|
||||
, S.STR_INNB
|
||||
, NOW()
|
||||
FROM GC_STORE S
|
||||
INNER JOIN GC_SMS_FORM SF
|
||||
ON S.REPRSNT_BRAND = SF.SOPMAL_CD
|
||||
AND SF.FORM_DV_CD = 'FORM_DV_MBR'
|
||||
AND SF.FORM_DTL_DV_CD = '08' -- 비회원
|
||||
AND SF.USE_AT = 'Y'
|
||||
INNER JOIN GC_MESSAGE_SNDNG MS
|
||||
ON S.REPRSNT_BRAND = MS.SOPMAL_CD
|
||||
AND SF.SMS_SNDNG_FORM_INNB = MS.SMS_SNDNG_FORM_INNB
|
||||
AND MS.USE_AT = 'Y'
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON S.REPRSNT_BRAND = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND S.STR_INNB = #{strInnb}
|
||||
]]>
|
||||
</insert>
|
||||
<!-- 포스 회원 가입문자 대상자 등록 -->
|
||||
<insert id="insertPosMbrSendTo"
|
||||
keyProperty="smsToInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SEND_TO (
|
||||
SMS_INNB
|
||||
, CODE
|
||||
, SEND_CD
|
||||
, SEND_TYPE_CD
|
||||
, CRP_CD
|
||||
, SOPMAL_CD
|
||||
, DV
|
||||
, STTUS
|
||||
, SNDNG_IDNB
|
||||
, SNDNG_DT
|
||||
, RSLT_CD
|
||||
, RECPTN_NB
|
||||
, CSTMR_IDNB
|
||||
, CSTMR_NM
|
||||
, MALL
|
||||
, ADRES
|
||||
, SUBST_DATA
|
||||
)
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SEND.SMS_INNB
|
||||
, NULL
|
||||
, NULL
|
||||
, SEND.SEND_TYPE_CD
|
||||
, SEND.CRP_CD
|
||||
, SEND.SOPMAL_CD
|
||||
, CASE WHEN LENGTH(CONVERT(REPLACE(SEND.CN, '{mbrjoin_short_url}'
|
||||
, IFNULL(CONCAT(GS.MBL_DOMN_ADRES
|
||||
, '/sopmal/mbr/selectPosJoinAgreeTermsForm?storeCode=', #{storeCode}), ''))
|
||||
USING 'EUCKR')) <=90
|
||||
THEN 'SMS' ELSE 'LMS' END DV
|
||||
, SEND.CHR_STTUS
|
||||
, 0
|
||||
, NOW()
|
||||
, NULL
|
||||
, HEX(AES_ENCRYPT(#{recptnNb}, #{secretKey})) AS RECPTN_NB
|
||||
, NULL
|
||||
, #{cstmrNm}
|
||||
, SEND.MALL_LIST
|
||||
, NULL
|
||||
, CONCAT('{"mbrjoin_short_url"',':', '"', IFNULL(CONCAT(GS.MBL_DOMN_ADRES
|
||||
, '/sopmal/mbr/selectPosJoinAgreeTermsForm'), ''), '"'
|
||||
,',"storeCode"',':','"', IFNULL(#{storeCode},'') ,'"'
|
||||
,',"sex"',':','"', IFNULL(#{sex},'') ,'"'
|
||||
,',"birthYear"',':','"', IFNULL(#{birthYear},'') ,'"'
|
||||
,',"birthMonth"',':','"', IFNULL(#{birthMonth},'') ,'"'
|
||||
,'}' ) SUBST_DATA
|
||||
FROM GC_SEND SEND
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GS.SOPMAL_CD = SEND.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND SEND.SMS_INNB = #{smsInnb}
|
||||
]]>
|
||||
</insert>
|
||||
<update id="updateSendToCode">
|
||||
UPDATE GC_SEND_TO GST
|
||||
SET GST.CODE = #{code}
|
||||
WHERE 1=1
|
||||
AND GST.SMS_TO_INNB = #{smsToInnb}
|
||||
</update>
|
||||
|
||||
<!-- 슈어 발송 대상자 조회 -->
|
||||
<select id="selectSendTrgt" resultType="dataMap">
|
||||
SELECT
|
||||
GS.SMS_INNB
|
||||
, GS.SOPMAL_CD
|
||||
, GS.SNDNG_NB
|
||||
, GS.CN
|
||||
, GS.REGUSR_DV
|
||||
, GS.REGUSR
|
||||
, GS.RESVE_DT
|
||||
, GS.SNDNG_DT
|
||||
, GS.SNDNG_IDNB
|
||||
, CAST(AES_DECRYPT(UNHEX(GST.RECPTN_NB), #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, GST.CSTMR_NM
|
||||
, GST.DV
|
||||
, GST.SUBST_DATA
|
||||
, GST.CODE
|
||||
, GST.SMS_TO_INNB
|
||||
FROM GC_SEND GS
|
||||
INNER JOIN GC_SEND_TO GST
|
||||
ON GS.SOPMAL_CD = GST.SOPMAL_CD
|
||||
AND GS.SMS_INNB = GST.SMS_INNB
|
||||
WHERE 1=1
|
||||
AND GS.SMS_INNB = #{smsInnb}
|
||||
</select>
|
||||
<!-- 인트라넷 문자 조회 총 수 조회 -->
|
||||
<select id="selectBOItrntPassiveMssageSndngTotCnt" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM GC_SMS SMS
|
||||
<include refid="SmsSndngListWhere"/>
|
||||
</select>
|
||||
<!-- 문자 목록 조회 -->
|
||||
<select id="selectItrntMssagePassivSndngListInqire"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY SMS.SNDNG_DT ASC) AS RNUM
|
||||
, SMS.SNDNG_NB
|
||||
, 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
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMS.SOPMAL_CD AS SOPMAL_CD
|
||||
, SMS.STR_INNB
|
||||
, SMS.DV
|
||||
FROM GC_SMS SMS
|
||||
<include refid="SmsSndngListWhere"/>
|
||||
ORDER BY RNUM DESC
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
<!-- 매장 문자 결과 조회 -->
|
||||
<select id="selectBOItrntMssageResultSttusCnt" resultType="dataMap">
|
||||
SELECT
|
||||
COUNT(CASE WHEN SMSTO.STTUS = 'OK' THEN 1 END) AS OKCNT
|
||||
, COUNT(CASE WHEN SMSTO.STTUS = 'FAIL' THEN 1 END) AS FAILCNT
|
||||
FROM GC_SMS SMS
|
||||
INNER JOIN GC_SMS_TO SMSTO
|
||||
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
<select id="selectBOItrntMssageDtlInfo"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageSrchVO"
|
||||
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) , #{secretKey}) AS CHAR(50)) AS RECPTN_NB
|
||||
, SMS.HEAD
|
||||
, SMS.CN
|
||||
, SMS.TAIL
|
||||
, SMS.SMS_INNB
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.TRGTER_CNT
|
||||
, SMS.BADN_CNT
|
||||
, SMS.WAIT_CNT
|
||||
, SMS.TRNSMIS_CNT
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMSTO.SUBST_DATA
|
||||
, SMSTO.CSTMR_NM
|
||||
FROM GC_SMS_TO SMSTO
|
||||
INNER JOIN GC_SMS SMS
|
||||
ON SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
AND SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
<include refid="SmsSndngDtlsListWhere"/>
|
||||
</select>
|
||||
<!-- 매장정보 조회 -->
|
||||
<select id="selectBOStoreInfoInqire" resultType="dataMap">
|
||||
SELECT
|
||||
STORE.*
|
||||
, SHOP.*
|
||||
FROM GC_STORE STORE
|
||||
INNER JOIN GC_SHOP SHOP
|
||||
ON STORE.REPRSNT_BRAND = SHOP.SOPMAL_CD
|
||||
WHERE 1=1
|
||||
AND STORE.STR_INNB = #{strInnb}
|
||||
</select>
|
||||
<!-- 메세지 등록 -->
|
||||
<insert id="insertBOItrntMssageSndng" keyProperty="smsInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SMS (
|
||||
REGUSR_DV
|
||||
, STR_INNB
|
||||
, STR_NM
|
||||
, STR_DV
|
||||
, CHR_STTUS
|
||||
, RESVE_DT
|
||||
, SNDNG_DT
|
||||
, SNDNG_IDNB
|
||||
, HEAD
|
||||
, CN
|
||||
, TAIL
|
||||
, SOPMAL_CD
|
||||
, SNDNG_NB
|
||||
, DV
|
||||
, TRGTER_CNT
|
||||
, BADN_CNT
|
||||
, WAIT_CNT
|
||||
, TRNSMIS_CNT
|
||||
, FAILR_CNT
|
||||
, SUCCES_CNT
|
||||
, STL_IDNB
|
||||
, SMS_NM
|
||||
, REGUSR_NM
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{regusrDv}
|
||||
, #{strInnb}
|
||||
, #{strNm}
|
||||
, #{strDv}
|
||||
, #{chrSttus}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(resveDt)">
|
||||
, #{resveDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(resveDt)">
|
||||
, NULL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sndngDt)">
|
||||
, #{sndngDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(sndngDt)">
|
||||
, NOW()
|
||||
</if>
|
||||
, #{sndngIdnb}
|
||||
, #{head}
|
||||
, #{cn}
|
||||
, #{tail}
|
||||
, #{sopmalCd}
|
||||
, #{sndngNb}
|
||||
, #{dv}
|
||||
, #{trgterCnt}
|
||||
, #{badnCnt}
|
||||
, #{waitCnt}
|
||||
, #{trnsmisCnt}
|
||||
, #{failrCnt}
|
||||
, #{succesCnt}
|
||||
, 0 -- 정산식별번호 0 초기
|
||||
, #{smsNm}
|
||||
, #{regusrNm}
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
<!-- 메세지 대상자 등록 -->
|
||||
<insert id="insertBOItrntMssageToDtls"
|
||||
keyProperty="smsToInnb"
|
||||
useGeneratedKeys="true">
|
||||
INSERT INTO GC_SMS_TO (
|
||||
SMS_INNB
|
||||
, SOPMAL_CD
|
||||
, DV
|
||||
, STTUS
|
||||
, SNDNG_IDNB
|
||||
, SNDNG_DT
|
||||
, RSLT_CD
|
||||
, RECPTN_NB
|
||||
, CSTMR_IDNB
|
||||
, CSTMR_NM
|
||||
, SUBST_WRD1
|
||||
, SUBST_WRD2
|
||||
, SUBST_WRD3
|
||||
, SUBST_WRD4
|
||||
, SUBST_WRD5
|
||||
, SUBST_DATA
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="mssage" index="index" separator=",">
|
||||
(
|
||||
#{mssage.smsInnb}
|
||||
, #{mssage.sopmalCd}
|
||||
, #{mssage.dv}
|
||||
, #{mssage.sttus}
|
||||
, #{mssage.sndngIdnb}
|
||||
, #{mssage.sndngDt}
|
||||
, #{mssage.rsltCd}
|
||||
, HEX(AES_ENCRYPT( #{mssage.recptnNb} , #{mssage.secretKey}))
|
||||
, #{mssage.cstmrIdnb}
|
||||
, #{mssage.cstmrNm}
|
||||
, #{mssage.substWrd1}
|
||||
, #{mssage.substWrd2}
|
||||
, #{mssage.substWrd3}
|
||||
, #{mssage.substWrd4}
|
||||
, #{mssage.substWrd5}
|
||||
, #{mssage.substData}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updateBOItrntMssageCntUpdt"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageVO">
|
||||
UPDATE
|
||||
GC_SMS S
|
||||
SET
|
||||
TRGTER_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD), 0),
|
||||
BADN_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'BAD'), 0),
|
||||
WAIT_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'WAIT'), 0),
|
||||
TRNSMIS_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS IN ('SEND', 'FAIL', 'OK')), 0),
|
||||
FAILR_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'FAIL'), 0),
|
||||
SUCCES_CNT = IFNULL((
|
||||
SELECT COUNT(1) FROM GC_SMS_TO WHERE SMS_INNB = S.SMS_INNB AND SOPMAL_CD = S.SOPMAL_CD AND STTUS = 'OK'), 0)
|
||||
WHERE 1=1
|
||||
AND S.SMS_INNB = #{smsInnb}
|
||||
AND S.SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<select id="selectBOItrntMssageListInqireByInnb"
|
||||
parameterType="dataMap"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
SMS.SNDNG_NB
|
||||
, SMSTO.DV
|
||||
,DATE_FORMAT(SMS.REGIST_DT,'%Y-%m-%d %H:%i:%S')AS REGIST_DT
|
||||
, DATE_FORMAT(SMSTO.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
|
||||
, SMS.SOPMAL_CD
|
||||
, SMSTO.SMS_TO_INNB
|
||||
, SMSTO.STTUS
|
||||
, SMS.SUCCES_CNT
|
||||
, SMS.FAILR_CNT
|
||||
, SMS.CHR_STTUS
|
||||
, SMS.RESVE_DT
|
||||
, SMS.REGUSR
|
||||
, SMS.REGUSR_NM
|
||||
, SMS.REGUSR_DV
|
||||
, SF.SMS_FILE_INNB
|
||||
, SF.FIL_COURS
|
||||
, CAST(AES_DECRYPT(UNHEX(SMSTO.RECPTN_NB) , #{secretKey}) AS CHAR(50)) AS PHONE
|
||||
, SMSTO.SUBST_DATA
|
||||
FROM GC_SMS SMS
|
||||
INNER JOIN GC_SMS_TO SMSTO
|
||||
ON SMSTO.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SMSTO.SMS_INNB = SMS.SMS_INNB
|
||||
LEFT JOIN GC_SMS_FILE SF
|
||||
ON SF.SOPMAL_CD = SMS.SOPMAL_CD
|
||||
AND SF.SMS_INNB = SMS.SMS_INNB
|
||||
WHERE 1=1
|
||||
AND SMS.SMS_INNB = #{smsInnb}
|
||||
AND SMS.CHR_STTUS = 'REG'
|
||||
</select>
|
||||
<!-- 파임목록 조회 -->
|
||||
<select id="selectBOItrntMssagePassivSndngImgPopupForm"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
F_SEQ
|
||||
, F_NAME_ORG
|
||||
, F_COURSE
|
||||
, F_NAME
|
||||
FROM
|
||||
GC_INTRANET_SMS_FILE
|
||||
WHERE 1=1
|
||||
AND PROVIDER_SEQ = #{providerSeq}
|
||||
</select>
|
||||
<!-- 파일 등록 -->
|
||||
<insert id="insertBOIntrntSndngImg"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageFileVO">
|
||||
<selectKey order="BEFORE" keyProperty="fSeq" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(F_SEQ), 0)+1
|
||||
FROM GC_INTRANET_SMS_FILE
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_INTRANET_SMS_FILE
|
||||
(
|
||||
F_SEQ
|
||||
, PROVIDER_SEQ
|
||||
, F_IDX
|
||||
, F_NAME_ORG
|
||||
, F_NAME
|
||||
, F_SIZE
|
||||
, F_WIDTH
|
||||
, F_HEIGHT
|
||||
, F_TYPE
|
||||
, F_COURSE
|
||||
, F_REGDATE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{fSeq}
|
||||
, #{providerSeq}
|
||||
, #{fIdx}
|
||||
, #{fNameOrg}
|
||||
, #{fName}
|
||||
, #{fSize}
|
||||
, #{fWidth}
|
||||
, #{fHeight}
|
||||
, #{fType}
|
||||
, #{fCourse}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
<!-- 자주쓰는 메세지 조회 -->
|
||||
<select id="selectBORegistMssagePopup" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
SMS_ALBUM_INNB
|
||||
, SOPMAL_CD
|
||||
, MSG
|
||||
, CATEGORY
|
||||
FROM GC_SMS_ALBUM
|
||||
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(regusr)">
|
||||
<![CDATA[
|
||||
AND REGUSR = #{regusr}
|
||||
]]>
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(msg)">
|
||||
<![CDATA[
|
||||
AND MSG LIKE CONCAT('%', #{msg}, '%')
|
||||
]]>
|
||||
</when>
|
||||
<otherwise>
|
||||
<choose>
|
||||
<when test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(category)">
|
||||
<![CDATA[
|
||||
AND CATEGORY = #{category}
|
||||
]]>
|
||||
</when>
|
||||
<otherwise>
|
||||
AND CATEGORY = '공통'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
<!--자주쓰는 메시지 저장 -->
|
||||
<insert id = "insertBOMssageAditRegist"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageAlbumVO">
|
||||
<selectKey order="BEFORE" keyProperty="smsAlbumInnb" resultType="java.math.BigInteger">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SMS_ALBUM_INNB), 0)+1
|
||||
FROM GC_SMS_ALBUM
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_SMS_ALBUM (
|
||||
SMS_ALBUM_INNB
|
||||
, SOPMAL_CD
|
||||
, CATEGORY
|
||||
, MSG
|
||||
, REGUSR
|
||||
)
|
||||
VALUES (
|
||||
#{smsAlbumInnb}
|
||||
, #{sopmalCd}
|
||||
, #{category}
|
||||
, #{msg}
|
||||
, #{regusr}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertBOMssageAtchmnfilImg"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.ntcn.mssage.vo.BOItrntMssageVO">
|
||||
<selectKey order="BEFORE" keyProperty="smsFileInnb" resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(SMS_FILE_INNB), 0)+1
|
||||
FROM GC_SMS_FILE
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_SMS_FILE (
|
||||
SMS_FILE_INNB
|
||||
, SMS_INNB
|
||||
, SOPMAL_CD
|
||||
, ATCH_ORDR
|
||||
, STR_INNB
|
||||
, FIL_COURS
|
||||
, ORGINL_FIL_NM
|
||||
, SYS_FIL_NM
|
||||
, FIL_MG
|
||||
, FIL_TY
|
||||
)
|
||||
VALUES (
|
||||
#{smsFileInnb}
|
||||
, #{smsInnb}
|
||||
, #{sopmalCd}
|
||||
, #{atchOrdr}
|
||||
, #{strInnb}
|
||||
, #{filCours}
|
||||
, #{orginlFilNm}
|
||||
, #{sysFilNm}
|
||||
, #{filMg}
|
||||
, #{filTy}
|
||||
)
|
||||
</insert>
|
||||
<!-- 자주쓰는 메시지 수정 -->
|
||||
<update id="updateBOMssageAditUpdt">
|
||||
UPDATE
|
||||
GC_SMS_ALBUM
|
||||
SET
|
||||
MSG = #{msg}
|
||||
WHERE 1=1
|
||||
AND SMS_ALBUM_INNB = #{smsAlbumInnb}
|
||||
AND REGUSR = #{regusr}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
<!-- 자주쓰는 메시지 삭제 -->
|
||||
<delete id="deleteBOMssageAdit">
|
||||
DELETE
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
AND SMS_ALBUM_INNB = #{smsAlbumInnb}
|
||||
AND REGUSR = #{regusr}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</delete>
|
||||
<!-- 자주쓰는 카테고리 삭제 -->
|
||||
<delete id="deleteBOMssageAditCtgy">
|
||||
DELETE
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
AND CATEGORY = #{category}
|
||||
</delete>
|
||||
<!-- 자주쓰는 메시지 카테고리 조회 -->
|
||||
<select id="selectBOAlbumCtgy" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
CATEGORY
|
||||
FROM
|
||||
GC_SMS_ALBUM
|
||||
WHERE 1=1
|
||||
<if test = "@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
<![CDATA[
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND CATEGORY <> ''
|
||||
GROUP BY
|
||||
CATEGORY
|
||||
ORDER BY
|
||||
CATEGORY ASC
|
||||
]]>
|
||||
</select>
|
||||
<!-- 첨부 파일 조회(파일번호로 조회) -->
|
||||
<select id="selectBOMssagePassivSndngImgByFseq" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
F_SEQ
|
||||
, PROVIDER_SEQ
|
||||
, F_IDX
|
||||
, F_NAME_ORG
|
||||
, F_NAME
|
||||
, F_SIZE
|
||||
, F_TYPE
|
||||
, F_COURSE
|
||||
, F_REGDATE
|
||||
FROM
|
||||
GC_INTRANET_SMS_FILE
|
||||
WHERE 1=1
|
||||
AND F_SEQ = #{fSeq}
|
||||
</select>
|
||||
<!-- 매장 정보 조회 -->
|
||||
<select id="selectBOItrntMssageStrList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
GS.STR_INNB
|
||||
, GS.TENTCPN_ID
|
||||
, GS.TENTCPN_NM
|
||||
FROM GC_STORE GS
|
||||
WHERE 1=1
|
||||
AND GS.REPRSNT_BRAND = #{sopmalCd}
|
||||
AND GS.TENTCPN_ID != 'base'
|
||||
AND GS.MRHST_AT = 'Y'
|
||||
AND GS.REPRSNT_MNGR_AT = 'Y'
|
||||
ORDER BY GS.STR_INNB DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?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.itrnt.ntcn.stl.mapper.BOItrntStlMssageMapper">
|
||||
<select id="selectBOItrntStoreList"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
GS.STR_INNB
|
||||
, GS.TENTCPN_ID
|
||||
, GS.TENTCPN_NM
|
||||
FROM GC_STORE GS
|
||||
WHERE 1=1
|
||||
<!-- <if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">-->
|
||||
<!-- AND GS.REPRSNT_BRAND = #{sopmalCd}-->
|
||||
<!-- </if>-->
|
||||
<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>
|
||||
</mapper>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?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.itrnt.sel.mapper.BOItrntSelMapper">
|
||||
<!-- 판매 분석 통계 -->
|
||||
<!-- 판매분석 조회 -->
|
||||
<select id="selectBOItrntSel" parameterType="com.wb.domainserver.domain.itrnt.sel.vo.BOItrntSelVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.GOODS_SEQ,
|
||||
T2.GOODS_NAME,
|
||||
T2.IMAGE,
|
||||
T1.ORI_PRICE,
|
||||
SUM(T1.ORI_PRICE * T1.STEP75) AS ORI_PRICE_SUM,
|
||||
SUM(T1.ORG_PRICE * T1.STEP75) AS ORG_PRICE_SUM,
|
||||
SUM(T1.UNIT_ENURI * T1.STEP75) AS ENURI,
|
||||
SUM(T1.UNIT_EMONEY * T1.STEP75) AS EMONEY,
|
||||
SUM(T1.REFUND_EA * T1.ORG_PRICE) AS REFUND_PRICE,
|
||||
SUM(T1.REFUND_EA) AS REFUND_EA,
|
||||
SUM(T1.STEP75) AS SELL_EA
|
||||
FROM GC_ORDER_ITEM_OPTION AS T1
|
||||
LEFT JOIN GC_ORDER_ITEM AS T2
|
||||
ON T1.ITEM_SEQ = T2.ITEM_SEQ AND T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
LEFT JOIN GC_ORDER_POSINFO AS T3
|
||||
ON T1.ORDER_SEQ = T3.ORDER_SEQ
|
||||
WHERE 1=1
|
||||
AND T3.STORE_SEQ > 1
|
||||
AND T2.GOODS_SEQ > 0
|
||||
AND T1.ORG_PRICE > 0
|
||||
AND T3.PDATE >= #{sdate}
|
||||
AND #{edate} > TD.PDATE
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T3.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dataType)">
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEqual(main)">
|
||||
<![CDATA[
|
||||
LIMIT 5
|
||||
]]>
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,411 @@
|
||||
<?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.itrnt.selng.mapper.BOItrntSelngMapper">
|
||||
<!-- 매출 통계 -->
|
||||
<!-- 일별 매출분석 -->
|
||||
<select id="selectBOItrntDailySelng" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T2.DEPOSIT_DATE,1) AS WEEKS,
|
||||
HOUR(T2.DEPOSIT_DATE) AS HOUR,
|
||||
SUM(T2.SETTLEPRICE_SUM) AS SETTLEPRICE_SUM,
|
||||
SUM(T2.ENURI_SUM) AS ENURI_SUM,
|
||||
SUM(T2.EMONEY_USE_SUM) AS EMONEY_USE_SUM,
|
||||
SUM(T2.COUNT_SUM) AS COUNT_SUM,
|
||||
SUM(T2.OPTION_ORI_PRICE_SUM) AS OPTION_ORI_PRICE_SUM,
|
||||
SUM(T2.OPTION_COUPON_SALE_SUM) AS OPTION_COUPON_SALE_SUM,
|
||||
SUM(T2.OPTION_MOBILE_SALE_SUM) AS OPTION_MOBILE_SALE_SUM,
|
||||
SUM(T2.OPTION_PROMOTION_CODE_SALE_SUM) AS OPTION_PROMOTION_CODE_SALE_SUM,
|
||||
SUM(T2.OPTION_MEMBER_SALE_SUM) AS OPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.SUBOPTION_MEMBER_SALE_SUM) AS SUBOPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.OPTION_REFERER_SALE_SUM) AS OPTION_REFERER_SALE_SUM,
|
||||
SUM(T2.GOODS_SHIPPING_COST_SUM) AS GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
COUNT(DISTINCT(T1.ORDER_SEQ)) AS MONTH_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
T2.SITETYPE,
|
||||
SUM(T2.M_SETTLEPRICE) AS M_SETTLEPRICE,
|
||||
SUM(T2.P_SETTLEPRICE) AS P_SETTLEPRICE,
|
||||
SUM(T2.M_SHIPPING_COST) AS M_SHIPPING_COST,
|
||||
SUM(T2.P_SHIPPING_COST) AS P_SHIPPING_COST,
|
||||
SUM(T2.M_ENURI_SUM) AS M_ENURI_SUM,
|
||||
SUM(T2.P_ENURI_SUM) AS P_ENURI_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.NPAY_POINT_USE_SUM) AS NPAY_POINT_USE_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_NPAY_SUM) AS OPTION_NPAY_SALE_NPAY_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_SELLER_SUM) AS OPTION_NPAY_SALE_SELLER_SUM,
|
||||
SUM(T2.M_GOODS_SHIPPING_COST_SUM) AS M_GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.P_GOODS_SHIPPING_COST_SUM) AS P_GOODS_SHIPPING_COST_SUM
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_MDSTATS T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
WHERE 1=1
|
||||
AND T2.STATS_YEAR = #{year}
|
||||
AND T2.STATS_MONTH = #{month}
|
||||
AND T1.STORE_SEQ > 1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T1.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY T2.STATS_DAY
|
||||
ORDER BY T2.DEPOSIT_DATE ASC
|
||||
</select>
|
||||
<!-- 주별 매출분석 -->
|
||||
<select id="selectBOItrntWklySelng" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T2.DEPOSIT_DATE,1) AS WEEKS,
|
||||
HOUR(T2.DEPOSIT_DATE) AS HOUR,
|
||||
SUM(T2.SETTLEPRICE_SUM) AS SETTLEPRICE_SUM,
|
||||
SUM(T2.ENURI_SUM) AS ENURI_SUM,
|
||||
SUM(T2.EMONEY_USE_SUM) AS EMONEY_USE_SUM,
|
||||
SUM(T2.COUNT_SUM) AS COUNT_SUM,
|
||||
SUM(T2.OPTION_ORI_PRICE_SUM) AS OPTION_ORI_PRICE_SUM,
|
||||
SUM(T2.OPTION_COUPON_SALE_SUM) AS OPTION_COUPON_SALE_SUM,
|
||||
SUM(T2.OPTION_MOBILE_SALE_SUM) AS OPTION_MOBILE_SALE_SUM,
|
||||
SUM(T2.OPTION_PROMOTION_CODE_SALE_SUM) AS OPTION_PROMOTION_CODE_SALE_SUM,
|
||||
SUM(T2.OPTION_MEMBER_SALE_SUM) AS OPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.SUBOPTION_MEMBER_SALE_SUM) AS SUBOPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.OPTION_REFERER_SALE_SUM) AS OPTION_REFERER_SALE_SUM,
|
||||
SUM(T2.GOODS_SHIPPING_COST_SUM) AS GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
COUNT(DISTINCT(T1.ORDER_SEQ)) AS MONTH_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
T2.SITETYPE,
|
||||
SUM(T2.M_SETTLEPRICE) AS M_SETTLEPRICE,
|
||||
SUM(T2.P_SETTLEPRICE) AS P_SETTLEPRICE,
|
||||
SUM(T2.M_SHIPPING_COST) AS M_SHIPPING_COST,
|
||||
SUM(T2.P_SHIPPING_COST) AS P_SHIPPING_COST,
|
||||
SUM(T2.M_ENURI_SUM) AS M_ENURI_SUM,
|
||||
SUM(T2.P_ENURI_SUM) AS P_ENURI_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.NPAY_POINT_USE_SUM) AS NPAY_POINT_USE_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_NPAY_SUM) AS OPTION_NPAY_SALE_NPAY_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_SELLER_SUM) AS OPTION_NPAY_SALE_SELLER_SUM,
|
||||
SUM(T2.M_GOODS_SHIPPING_COST_SUM) AS M_GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.P_GOODS_SHIPPING_COST_SUM) AS P_GOODS_SHIPPING_COST_SUM
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_MDSTATS T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
WHERE 1=1
|
||||
AND T2.STATS_YEAR = #{year}
|
||||
AND T1.STORE_SEQ > 1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T1.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY YEAR(T2.DEPOSIT_DATE), WEEK(T2.DEPOSIT_DATE,1)
|
||||
ORDER BY T2.DEPOSIT_DATE ASC
|
||||
</select>
|
||||
<!-- 월별 매출분석 -->
|
||||
<select id="selectBOItrntMnthlySelng" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T2.DEPOSIT_DATE,1) AS WEEKS,
|
||||
HOUR(T2.DEPOSIT_DATE) AS HOUR,
|
||||
SUM(T2.SETTLEPRICE_SUM) AS SETTLEPRICE_SUM,
|
||||
SUM(T2.ENURI_SUM) AS ENURI_SUM,
|
||||
SUM(T2.EMONEY_USE_SUM) AS EMONEY_USE_SUM,
|
||||
SUM(T2.COUNT_SUM) AS COUNT_SUM,
|
||||
SUM(T2.OPTION_ORI_PRICE_SUM) AS OPTION_ORI_PRICE_SUM,
|
||||
SUM(T2.OPTION_COUPON_SALE_SUM) AS OPTION_COUPON_SALE_SUM,
|
||||
SUM(T2.OPTION_MOBILE_SALE_SUM) AS OPTION_MOBILE_SALE_SUM,
|
||||
SUM(T2.OPTION_PROMOTION_CODE_SALE_SUM) AS OPTION_PROMOTION_CODE_SALE_SUM,
|
||||
SUM(T2.OPTION_MEMBER_SALE_SUM) AS OPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.SUBOPTION_MEMBER_SALE_SUM) AS SUBOPTION_MEMBER_SALE_SUM,
|
||||
SUM(T2.OPTION_REFERER_SALE_SUM) AS OPTION_REFERER_SALE_SUM,
|
||||
SUM(T2.GOODS_SHIPPING_COST_SUM) AS GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
COUNT(DISTINCT(T1.ORDER_SEQ)) AS MONTH_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
T2.SITETYPE,
|
||||
SUM(T2.M_SETTLEPRICE) AS M_SETTLEPRICE,
|
||||
SUM(T2.P_SETTLEPRICE) AS P_SETTLEPRICE,
|
||||
SUM(T2.M_SHIPPING_COST) AS M_SHIPPING_COST,
|
||||
SUM(T2.P_SHIPPING_COST) AS P_SHIPPING_COST,
|
||||
SUM(T2.M_ENURI_SUM) AS M_ENURI_SUM,
|
||||
SUM(T2.P_ENURI_SUM) AS P_ENURI_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.NPAY_POINT_USE_SUM) AS NPAY_POINT_USE_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_NPAY_SUM) AS OPTION_NPAY_SALE_NPAY_SUM,
|
||||
SUM(T2.OPTION_NPAY_SALE_SELLER_SUM) AS OPTION_NPAY_SALE_SELLER_SUM,
|
||||
SUM(T2.M_GOODS_SHIPPING_COST_SUM) AS M_GOODS_SHIPPING_COST_SUM,
|
||||
SUM(T2.P_GOODS_SHIPPING_COST_SUM) AS P_GOODS_SHIPPING_COST_SUM
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_MDSTATS T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
WHERE 1=1
|
||||
AND t2.stats_year = #{year}
|
||||
AND T1.STORE_SEQ > 1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T1.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY T2.STATS_MONTH
|
||||
ORDER BY T2.DEPOSIT_DATE DESC
|
||||
</select>
|
||||
<!-- 일별 구매 수량 -->
|
||||
<select id="selectBOItrntDailyGoodsEa" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
DAY(T2.DEPOSIT_DATE) AS STATS_DAY,SUM(STEP75) AS CNT
|
||||
FROM GC_ORDER_ITEM_OPTION T1
|
||||
LEFT JOIN GC_ORDER T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
LEFT JOIN GC_ORDER_POSINFO T3
|
||||
ON T1.ORDER_SEQ = T3.ORDER_SEQ
|
||||
WHERE 1=1
|
||||
AND T3.STORE_SEQ > 1
|
||||
AND T3.PDATE LIKE CONCAT(#{year}, '-', #{month})
|
||||
GROUP BY
|
||||
DAY(T2.DEPOSIT_DATE)
|
||||
</select>
|
||||
|
||||
<!-- 일별 환불 금액 -->
|
||||
<select id="selectBOItrntDailyRefund" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T4.REFUND_DATE, 1) AS WEEKS,
|
||||
HOUR(T4.REFUND_DATE) AS HOUR,
|
||||
SUM(T2.REFUND_PRICE_SUM) AS REFUND_PRICE_SUM,
|
||||
SUM(T2.REFUND_EMONEY_SUM) AS REFUND_EMONEY_SUM,
|
||||
SUM(T2.REFUND_CASH_SUM) AS REFUND_CASH_SUM,
|
||||
SUM(T2.REFUND_COUNT_SUM) AS REFUND_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.CANCEL_PRICE_SUM) AS CANCEL_PRICE_SUM,
|
||||
SUM(T2.CANCEL_COUNT_SUM) AS CANCEL_COUNT_SUM,
|
||||
SUM(T2.RETURN_PRICE_SUM) AS RETURN_PRICE_SUM,
|
||||
SUM(T2.RETURN_COUNT_SUM) AS RETURN_COUNT_SUM,
|
||||
T4.REFUND_DATE,
|
||||
T2.SITETYPE,
|
||||
T2.REFUND_TYPE,
|
||||
T2.REFUND_CODE,
|
||||
SUM(T2.M_REFUND_PRICE) AS M_REFUND_PRICE,
|
||||
SUM(T2.P_REFUND_PRICE) AS P_REFUND_PRICE,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_REFUND T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
LEFT JOIN GC_ORDER_REFUND T4
|
||||
ON T2.REFUND_CODE = T4.REFUND_CODE
|
||||
WHERE 1=1
|
||||
AND T1.STORE_SEQ > 1
|
||||
AND T2.STATS_YEAR = #{year}
|
||||
AND T2.STATS_MONTH = #{month}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T1.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY T2.STATS_DAY
|
||||
ORDER BY T4.REFUND_DATE ASC
|
||||
</select>
|
||||
|
||||
<!-- 주별 환불 금액 -->
|
||||
<select id="selectBOItrntWklyRefund" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T4.REFUND_DATE, 1) AS WEEKS,
|
||||
HOUR(T4.REFUND_DATE) AS HOUR,
|
||||
SUM(T2.REFUND_PRICE_SUM) AS REFUND_PRICE_SUM,
|
||||
SUM(T2.REFUND_EMONEY_SUM) AS REFUND_EMONEY_SUM,
|
||||
SUM(T2.REFUND_CASH_SUM) AS REFUND_CASH_SUM,
|
||||
SUM(T2.REFUND_COUNT_SUM) AS REFUND_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.CANCEL_PRICE_SUM) AS CANCEL_PRICE_SUM,
|
||||
SUM(T2.CANCEL_COUNT_SUM) AS CANCEL_COUNT_SUM,
|
||||
SUM(T2.RETURN_PRICE_SUM) AS RETURN_PRICE_SUM,
|
||||
SUM(T2.RETURN_COUNT_SUM) AS RETURN_COUNT_SUM,
|
||||
T4.REFUND_DATE,
|
||||
T2.SITETYPE,
|
||||
T2.REFUND_TYPE,
|
||||
T2.REFUND_CODE,
|
||||
SUM(T2.M_REFUND_PRICE) AS M_REFUND_PRICE,
|
||||
SUM(T2.P_REFUND_PRICE) AS P_REFUND_PRICE,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_REFUND T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
LEFT JOIN GC_ORDER_REFUND T4
|
||||
ON T2.REFUND_CODE = T4.REFUND_CODE
|
||||
WHERE 1=1
|
||||
AND T1.STORE_SEQ > 1
|
||||
AND YEAR(T4.REFUND_DATE) = #{year}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND t1.store_seq = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY YEAR(T4.REFUND_DATE), WEEK(T4.REFUND_DATE,1)
|
||||
ORDER BY T4.REFUND_DATE ASC
|
||||
</select>
|
||||
|
||||
<!-- 월별 환불 금액 -->
|
||||
<select id="selectBOItrntMnthlyRefund" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
T2.STATS_YEAR,
|
||||
T2.STATS_MONTH,
|
||||
T2.STATS_DAY,
|
||||
WEEK(T4.REFUND_DATE, 1) AS WEEKS,
|
||||
HOUR(T4.REFUND_DATE) AS HOUR,
|
||||
SUM(T2.REFUND_PRICE_SUM) AS REFUND_PRICE_SUM,
|
||||
SUM(T2.REFUND_EMONEY_SUM) AS REFUND_EMONEY_SUM,
|
||||
SUM(T2.REFUND_CASH_SUM) AS REFUND_CASH_SUM,
|
||||
SUM(T2.REFUND_COUNT_SUM) AS REFUND_COUNT_SUM,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM) AS OPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM) AS SUBOPTION_SUPPLY_PRICE_SUM,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM_KRW) AS SUBOPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_SUPPLY_PRICE_SUM_KRW) AS SUBOPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.OPTION_SUPPLY_PRICE_SUM_KRW) AS OPTION_SUPPLY_PRICE_SUM_KRW,
|
||||
SUM(T2.CANCEL_PRICE_SUM) AS CANCEL_PRICE_SUM,
|
||||
SUM(T2.CANCEL_COUNT_SUM) AS CANCEL_COUNT_SUM,
|
||||
SUM(T2.RETURN_PRICE_SUM) AS RETURN_PRICE_SUM,
|
||||
SUM(T2.RETURN_COUNT_SUM) AS RETURN_COUNT_SUM,
|
||||
T4.REFUND_DATE,
|
||||
T2.SITETYPE,
|
||||
T2.REFUND_TYPE,
|
||||
T2.REFUND_CODE,
|
||||
SUM(T2.M_REFUND_PRICE) AS M_REFUND_PRICE,
|
||||
SUM(T2.P_REFUND_PRICE) AS P_REFUND_PRICE,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM) AS OPTION_COMMISSION_PRICE_SUM,
|
||||
SUM(T2.OPTION_COMMISSION_PRICE_SUM_KRW) AS OPTION_COMMISSION_PRICE_SUM_KRW,
|
||||
SUM(T2.SUBOPTION_COMMISSION_PRICE_SUM) AS SUBOPTION_COMMISSION_PRICE_SUM,
|
||||
FROM GC_ORDER_POSINFO T1
|
||||
LEFT JOIN GC_ACCUMUL_SALES_REFUND T2
|
||||
ON T1.ORDER_SEQ = T2.ORDER_SEQ
|
||||
LEFT JOIN GC_ORDER_REFUND T4
|
||||
ON T2.REFUND_CODE = T4.REFUND_CODE
|
||||
WHERE 1=1
|
||||
AND T1.STORE_SEQ > 1
|
||||
AND T2.STATS_YEAR = #{year}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND T1.STORE_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(siteType)">
|
||||
<![CDATA[
|
||||
AND T2.SITETYPE IN (#{sitetype})
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY T2.STATS_MONTH
|
||||
ORDER BY T4.REFUND_DATE ASC
|
||||
</select>
|
||||
|
||||
<!-- 입점사별 통계 -->
|
||||
<select id="selectBOItrntStrSelng" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
I.GOODS_NAME, I.GOODS_SEQ,
|
||||
SUM( IFNULL(IO.EA,0) ) AS EA_SUM,
|
||||
SUM( (IFNULL(IO.PRICE,0) * IFNULL(IO.EA,0)) + (IFNULL(ISUBO.PRICE,0) * IFNULL(ISUBO.EA,0)) ) AS PRICE_SUM,
|
||||
SUM( IFNULL(IO.COUPON_SALE,0) + ( IFNULL(IO.MEMBER_SALE,0) * IFNULL(IO.EA,0) ) + IFNULL(IO.FBLIKE_SALE,0) + IFNULL(IO.MOBILE_SALE,0) + IFNULL(IO.PROMOTION_CODE_SALE,0) + IFNULL(IO.REFERER_SALE,0) ) AS SALE_SUM
|
||||
FROM GC_ORDER_ITEM_OPTION AS IO
|
||||
LEFT JOIN GC_ORDER_ITEM_SUBOPTION AS ISUBO
|
||||
ON IO.ORDER_SEQ=ISUBO.ORDER_SEQ
|
||||
AND IO.ITEM_SEQ=ISUBO.ITEM_SEQ
|
||||
AND IO.ITEM_OPTION_SEQ=ISUBO.ITEM_OPTION_SEQ
|
||||
LEFT JOIN GC_ORDER_ITEM AS I
|
||||
ON I.ITEM_SEQ=IO.ITEM_SEQ
|
||||
WHERE 1=1
|
||||
AND IO.ORDER_SEQ IN (
|
||||
SELECT ORDER_SEQ
|
||||
FROM GC_ORDER
|
||||
WHERE DEPOSIT_DATE BETWEEN '#{sdate} 00:00:00' AND '#{edate} 23:59:59 '
|
||||
AND DEPOSIT_YN = 'Y'
|
||||
AND SITETYPE IN (#{sitetype})
|
||||
AND STEP BETWEEN '15' AND '85'
|
||||
)
|
||||
GROUP BY i.goods_seq
|
||||
</select>
|
||||
<!-- 반품 환불 조회 -->
|
||||
<select id="selectBOItrntRefund" parameterType="com.wb.domainserver.domain.itrnt.selng.vo.BOItrntSelngVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
RP.PROVIDER_SEQ,
|
||||
SUM(IFNULL(RP.REFUND_PRICE,0)) AS REFUND_PRICE
|
||||
FROM GC_ORDER_REFUND_PROVIDER AS RP, GC_ORDER_REFUND AS R
|
||||
WHERE 1=1
|
||||
AND RP.REFUND_CODE = R.REFUND_CODE
|
||||
AND R.STATUS = 'COMPLETE'
|
||||
AND R.REFUND_DATE BETWEEN '#{sdate}' AND '#{edate}'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(providerSeq)">
|
||||
<![CDATA[
|
||||
AND RP.PROVIDER_SEQ = #{providerSeq}
|
||||
AND I.PROVIDER_SEQ = #{providerSeq}
|
||||
]]>
|
||||
</if>
|
||||
GROUP BY RP.PROVIDER_SEQ
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?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.itrnt.stock.mapper.BOItrntStockMapper">
|
||||
<!--매장 정보 조회-->
|
||||
<select id="selectBOStrInfo" resultType="com.wb.domainserver.domain.itrnt.stock.vo.BOItrntStockVO">
|
||||
SELECT POS_CD_DV_VAL AS GOODS_POS_HDQRTRS_CD,
|
||||
POS_CD_PASSIV_INPUT_VAL AS STR_POS_CD,
|
||||
#{tentGroup} AS TENT_GROUP
|
||||
FROM GC_STORE
|
||||
WHERE STR_INNB = #{strInnb}
|
||||
</select>
|
||||
|
||||
<!--상품 분류 조회-->
|
||||
<select id="selectBOGoodsItm" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT GOODS_POS_HDQRTRS_CD,
|
||||
GRP_CD,
|
||||
GRP_CD_1,
|
||||
GRP_CD_2,
|
||||
GRP_CD_3,
|
||||
GRP_NM
|
||||
FROM GC_POS_GRP
|
||||
WHERE GOODS_POS_HDQRTRS_CD = #{srchGoodsPosHdqrtrsCd}
|
||||
ORDER BY GRP_CD
|
||||
</select>
|
||||
|
||||
<!--재고 조회-->
|
||||
<select id="selectBOStockList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
GOODS_IDNTFC_CD,
|
||||
STR_IDNTFC_CD,
|
||||
GOODS_CL_CD,
|
||||
IFNULL(INVNTRY_QY,0) AS INVNTRY_QY,
|
||||
IFNULL(SLE_QY,0) AS SLE_QY,
|
||||
IFNULL(PD_AVRG_QY,0) AS PD_AVRG_QY
|
||||
FROM
|
||||
GC_POS_STOCK GPS
|
||||
WHERE
|
||||
GPS.YM = DATE_FORMAT(DATE_SUB(NOW() , INTERVAL 1 DAY),'%Y%m')
|
||||
AND GPS.GOODS_POS_HDQRTRS_CD = #{srchGoodsPosHdqrtrsCd}
|
||||
ORDER BY
|
||||
GPS.GOODS_CL_CD,GPS.GOODS_NM
|
||||
</select>
|
||||
|
||||
<!--상품 목록-->
|
||||
<select id="selectBOGoodsList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
DISTINCT
|
||||
GPS.GOODS_IDNTFC_CD,
|
||||
GPS.GOODS_POS_HDQRTRS_CD,
|
||||
GPS.GOODS_POS_CD ,
|
||||
GPS.GOODS_NM,
|
||||
GPS.GOODS_BRCD,
|
||||
GPS.GOODS_CL_CD,
|
||||
SUBSTRING(GPS.GOODS_CL_CD,1,3) AS GRP_CD_1,
|
||||
SUBSTRING(GPS.GOODS_CL_CD,4,3) AS GRP_CD_2,
|
||||
SUBSTRING(GPS.GOODS_CL_CD,7,3) AS GRP_CD_3,
|
||||
(SELECT GA.GRP_NM FROM GC_POS_GRP GA WHERE GPS.GOODS_POS_HDQRTRS_CD = GA.GOODS_POS_HDQRTRS_CD AND GA.GRP_CD= CONCAT(SUBSTRING(GPS.GOODS_CL_CD,1,3),'000000'))AS GRP_CD_NM_1,
|
||||
(SELECT GA.GRP_NM FROM GC_POS_GRP GA WHERE GPS.GOODS_POS_HDQRTRS_CD = GA.GOODS_POS_HDQRTRS_CD AND GA.GRP_CD= CONCAT(SUBSTRING(GPS.GOODS_CL_CD,1,3),SUBSTRING(GPS.GOODS_CL_CD,4,3),'000'))AS GRP_CD_NM_2,
|
||||
(SELECT GA.GRP_NM FROM GC_POS_GRP GA WHERE GPS.GOODS_POS_HDQRTRS_CD = GA.GOODS_POS_HDQRTRS_CD AND GA.GRP_CD= CONCAT(SUBSTRING(GPS.GOODS_CL_CD,1,3),SUBSTRING(GPS.GOODS_CL_CD,4,3),SUBSTRING(GPS.GOODS_CL_CD,7,3)))AS GRP_CD_NM_3
|
||||
FROM
|
||||
GC_POS_STOCK GPS
|
||||
WHERE
|
||||
GPS.YM = DATE_FORMAT(DATE_SUB(NOW() , INTERVAL 1 DAY),'%Y%m')
|
||||
AND GPS.GOODS_POS_HDQRTRS_CD = #{srchGoodsPosHdqrtrsCd}
|
||||
ORDER BY
|
||||
GPS.GOODS_CL_CD,GPS.GOODS_NM
|
||||
</select>
|
||||
|
||||
<!--매장 목록 조회-->
|
||||
<select id="selectBOStrList" resultType="com.wb.domainserver.util.dataaccess.DataMap">
|
||||
SELECT
|
||||
DISTINCT
|
||||
IF(STR_POS_HDQRTRS_CD = #{srchGoodsPosHdqrtrsCd} AND STR_POS_CD = #{srchStrPosCd},1,2) AS IS_MY, -- 본인매장인지
|
||||
STR_POS_HDQRTRS_CD,
|
||||
STR_POS_CD,
|
||||
STR_IDNTFC_CD,
|
||||
REPLACE(REPLACE(STR_NM,'뉴트리코어 ',''),'참다한홍삼 ','') AS STR_NM
|
||||
FROM
|
||||
GC_POS_STOCK
|
||||
WHERE
|
||||
YM = DATE_FORMAT(DATE_SUB(NOW() , INTERVAL 1 DAY),'%Y%m')
|
||||
AND GOODS_POS_HDQRTRS_CD = #{srchGoodsPosHdqrtrsCd}
|
||||
ORDER BY
|
||||
IS_MY,
|
||||
STR_NM
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,225 @@
|
||||
<?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.itrnt.str.mapper.BOItrntStrMapper">
|
||||
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 > where -->
|
||||
<sql id="selectBOStrListWhere">
|
||||
<![CDATA[
|
||||
WHERE 1=1
|
||||
AND ST.TENT_STTUS = '02'
|
||||
AND ST.MRHST_AT = 'Y'
|
||||
AND ST.SITE_EXPSR_AT = 'Y'
|
||||
AND IFNULl(ST.REPRSNT_BRAND, '') != ''
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
|
||||
AND ST.TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(reprsntBrand)">
|
||||
AND ST.REPRSNT_BRAND = #{reprsntBrand}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKeyword)">
|
||||
<![CDATA[
|
||||
AND ST.STR_NM LIKE CONCAT('%', #{srchKeyword},'%')
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCtyDo)">
|
||||
<![CDATA[
|
||||
AND ST.CTY_DO = (
|
||||
SELECT
|
||||
GCD.CD_NM
|
||||
FROM GC_CODE_GROUP GRP
|
||||
INNER JOIN GC_CODE GCD ON GCD.GROUP_CD = GRP.GROUP_CD
|
||||
WHERE 1=1
|
||||
AND GRP.GROUP_CD = 'SIDO'
|
||||
AND GCD.CD = #{srchCtyDo}
|
||||
)
|
||||
]]>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCtyGunGu)">
|
||||
<![CDATA[
|
||||
AND ST.CTY_GUN_GU LIKE CONCAT('%', #{srchCtyGunGu},'%')
|
||||
]]>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 > from -->
|
||||
<sql id="selectBOStrListFrom">
|
||||
<![CDATA[
|
||||
FROM
|
||||
GC_STORE ST
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT
|
||||
CTY_DO
|
||||
FROM
|
||||
GC_STORE
|
||||
GROUP BY
|
||||
CTY_DO
|
||||
) AS CTY
|
||||
ON
|
||||
ST.CTY_DO = CTY.CTY_DO
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 -->
|
||||
<select id = "selectBOStrListCnt"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
|
||||
resultType = "java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
]]>
|
||||
<include refid = "selectBOStrListFrom"/>
|
||||
<include refid = "selectBOStrListWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 -->
|
||||
<select id = "selectBOStrListInqire"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
|
||||
resultType = "dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
ST.STR_INNB,
|
||||
ST.TENTCPN_ID,
|
||||
ST.TENTCPN_NM,
|
||||
ST.STR_NM,
|
||||
ST.TENT_GROUP,
|
||||
ST.TENT_STTUS,
|
||||
ST.STR_CD,
|
||||
ST.CTY_DO,
|
||||
ST.CTY_GUN_GU,
|
||||
ST.STR_ADRES_DV,
|
||||
ST.STR_ZIP,
|
||||
ST.STR_ADRES,
|
||||
ST.STR_RNM_ADRES,
|
||||
ST.STR_DTL_ADRES,
|
||||
ST.STR_TELNB,
|
||||
ST.REPRSNT_BRAND
|
||||
]]>
|
||||
<include refid = "selectBOStrListFrom"/>
|
||||
<include refid = "selectBOStrListWhere"/>
|
||||
<![CDATA[
|
||||
ORDER BY FIELD(ST.CTY_DO, '제주특별자치도', '부산광역시', '울산광역시', '대구광역시', '광주광역시', '세종', '충청남도', '충청북도', '대전광역시', '강원도', '인천광역시', '경기도', '서울특별시') DESC
|
||||
, ST.CTY_GUN_GU
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 시/도 별 그룹 -->
|
||||
<select id = "selectBOStrListCtyGroup"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
|
||||
resultType = "com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CTY_DO,
|
||||
COUNT(STR_INNB) AS STR_COUNT
|
||||
FROM GC_STORE
|
||||
WHERE CTY_DO IS NOT NULL
|
||||
AND TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
|
||||
AND TENT_STTUS = '02' -- 개점
|
||||
AND SITE_EXPSR_AT = 'Y'
|
||||
AND MRHST_AT = 'Y'
|
||||
AND IFNULl(REPRSNT_BRAND, '') != ''
|
||||
GROUP BY CTY_DO
|
||||
ORDER BY FIELD(CTY_DO, '제주특별자치도', '부산광역시', '울산광역시', '대구광역시', '광주광역시', '세종', '충청남도', '충청북도', '대전광역시', '강원도', '인천광역시', '경기도', '서울특별시') DESC;
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 매장 > 매장 목록 조회 군/구 별 그룹 -->
|
||||
<select id = "selectBOStrListGunGuGroup"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
|
||||
resultType = "dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CASE
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '서울' THEN 1
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '경기' THEN 2
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '인천' THEN 3
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '강원' THEN 4
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '대전' THEN 5
|
||||
WHEN SUBSTR(ST.CTY_DO,1,4) = '충청북도' THEN 6
|
||||
WHEN SUBSTR(ST.CTY_DO,1,4) = '충청남도' THEN 7
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '광주' THEN 8
|
||||
WHEN SUBSTR(ST.CTY_DO,1,4) = '전라북도' THEN 9
|
||||
WHEN SUBSTR(ST.CTY_DO,1,4) = '전라남도' THEN 10
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '대구' THEN 11
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '울산' THEN 12
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '부산' THEN 13
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '경북' THEN 14
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '경남' THEN 15
|
||||
WHEN SUBSTR(ST.CTY_DO,1,2) = '제주' THEN 16
|
||||
ELSE 99
|
||||
END AS CTY_DO_IDX,
|
||||
ST.STR_INNB,
|
||||
ST.CTY_DO,
|
||||
ST.CTY_GUN_GU,
|
||||
ST.STR_NM
|
||||
FROM GC_STORE ST
|
||||
INNER JOIN (
|
||||
SELECT CTY_DO,
|
||||
COUNT(STR_INNB) AS STR_COUNT
|
||||
FROM GC_STORE
|
||||
GROUP BY CTY_DO ) AS GROUP_COUNT
|
||||
ON ST.CTY_DO = GROUP_COUNT.CTY_DO
|
||||
WHERE TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
|
||||
AND TENT_STTUS = '02' -- 개점
|
||||
AND SITE_EXPSR_AT = 'Y'
|
||||
AND MRHST_AT = 'Y'
|
||||
AND IFNULl(REPRSNT_BRAND, '') != ''
|
||||
ORDER BY CTY_DO_IDX, STR_NM
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 매장 > 매장 상세 조회 -->
|
||||
<select id = "selectBOStrDtlInqire"
|
||||
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
|
||||
resultType = "dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
STR_INNB
|
||||
,STR_NM
|
||||
,HVOF_DE
|
||||
,HVOF_DE_ADIT
|
||||
,CASE WHEN BSN_TME ='||||' THEN NULL ELSE BSN_TME END AS BSN_TME -- 빈값일 경우 |||| 으로 저장되는 부분있어 수정
|
||||
,DATE_FORMAT(OPBIZ_DE, '%Y-%m-%d') AS OPBIZ_DE
|
||||
,FN_GET_SOPMAL_NAME(#{sopmalCd}) AS SOPMAL_NM
|
||||
,FN_GET_SOPMAL_NAME(REPRSNT_BRAND) AS REPRSNT_BRAND_NM
|
||||
,REPRSNT_BRAND
|
||||
,STR_TELNB
|
||||
,STR_OPER_DV
|
||||
,CTY_DO
|
||||
,CTY_GUN_GU
|
||||
,STR_ADRES_DV
|
||||
,STR_ZIP
|
||||
,STR_ADRES
|
||||
,STR_RNM_ADRES
|
||||
,STR_DTL_ADRES
|
||||
,STR_REPRSNT_IMG
|
||||
,STR_DTL_IMG
|
||||
,CONCAT(STR_REPRSNT_IMG,'|',STR_DTL_IMG) AS STR_IMG
|
||||
,LA
|
||||
,LO
|
||||
FROM
|
||||
GC_STORE
|
||||
WHERE 1=1
|
||||
AND STR_INNB = #{strInnb}
|
||||
AND TENT_STTUS = '02' -- 개점
|
||||
AND SITE_EXPSR_AT = 'Y'
|
||||
AND MRHST_AT = 'Y'
|
||||
AND IFNULL(REPRSNT_BRAND, '') != ''
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user