fix : 관리자 구독서비스 상품준비 관리
This commit is contained in:
@@ -343,6 +343,8 @@
|
||||
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||
FROM (
|
||||
SELECT FG.GOODS_INNB
|
||||
, FGO.GOODS_OPTN_INNB
|
||||
, FGO.OPTN_TY
|
||||
, FG.DLVY_GROUP_INNB
|
||||
, FG.SOPMAL_CD
|
||||
, FG.GOODS_NM
|
||||
@@ -378,6 +380,7 @@
|
||||
, FGO.CNSMRPRIC
|
||||
, FGO.SLEPRIC
|
||||
, FGO.SOPMAL_CD
|
||||
, FGO.OPTN_TY
|
||||
FROM GC_GOODS_OPTION FGO
|
||||
WHERE FGO.OPTN_EXPSR_AT = 'Y'
|
||||
AND FGO.STDR_DV_AT = 'Y'
|
||||
|
||||
@@ -0,0 +1,240 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.wb.domainserver.domain.gcone.ordr.subsvc.mapper.BOSubsvcOrdrMapper">
|
||||
<!--구독서비스 상품준비 관리 목록-->
|
||||
<select id="selectBOSubsvcOrderList" parameterType="com.wb.domainserver.domain.gcone.ordr.subsvc.vo.BOSubsvcOrderVO" resultType="dataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||
, COUNT(*) OVER() AS TOT_CNT
|
||||
, MAIN.*
|
||||
FROM (
|
||||
SELECT ROW_NUMBER() OVER(PARTITION BY GO.ORDR_INNB ORDER BY GO.ORDR_INNB ASC, GOIO.ORDR_STTUS_CD ASC, GOI.ORDR_GOODS_INNB ASC, GOIO.ORDR_GOODS_OPTN_INNB ASC) AS LINE
|
||||
, GO.ORDR_INNB
|
||||
, GOI.ORDR_GOODS_INNB
|
||||
, GOIO.ORDR_GOODS_OPTN_INNB /*일괄처리 대상 주문상품옵션고유번호*/
|
||||
, GOIO.ORDR_DLVY_INNB
|
||||
, GS.SUBSVC_NM
|
||||
, GS.SUBSVC_GNR
|
||||
, GS.SUBSVC_GNR_NM
|
||||
, GM.MBR_NM
|
||||
, GM.MBR_ID
|
||||
, GM.MBR_DV_CD
|
||||
, GM.MBR_INNB
|
||||
, fn_get_member_grad_name(GO.SOPMAL_CD, GM.MBR_DV_CD, GM.MBR_INNB) AS GRADE
|
||||
, SUM(CASE WHEN GOIO.ORDR_STTUS_CD BETWEEN '35' AND '75' THEN 1 ELSE 0 END) OVER(PARTITION BY GO.ORDR_INNB)+1 AS CURT_PROCS_ODR
|
||||
, SUM(CASE WHEN GOIO.ORDR_STTUS_CD BETWEEN '35' AND '75' THEN 1 ELSE 0 END) OVER(PARTITION BY GO.ORDR_INNB) AS MBR_LAST_PROCS_ODR /*회원별 최종차수 상품준비 ~ 배송완료*/
|
||||
, MAX(GOIO.UPDT_DT) OVER(PARTITION BY GO.ORDR_INNB) AS LAST_PRCS_DT/*최종처리일*/
|
||||
, IFNULL(GS.LAST_PROCS_ODR,0) AS LAST_PROCS_ODR /*최종차수*/
|
||||
, GOIO.ORDR_STTUS_CD
|
||||
FROM GC_ORDER GO
|
||||
JOIN GC_SUBSVC GS ON GS.SOPMAL_CD = GO.SOPMAL_CD AND GS.SUBSVC_INNB = GO.SUBSVC_INNB
|
||||
JOIN GC_MEMBER GM ON GM.MBR_DV_CD = GO.MBR_DV_CD AND GM.MBR_INNB = GO.MBR_INNB
|
||||
JOIN GC_ORDER_ITEM GOI ON GO.SOPMAL_CD =GOI.SOPMAL_CD AND GO.ORDR_INNB = GOI.ORDR_INNB
|
||||
JOIN GC_ORDER_ITEM_OPTION GOIO ON GOI.SOPMAL_CD = GOIO.SOPMAL_CD AND GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB AND GOIO.OPTN_TY = '01'
|
||||
WHERE GO.USE_AT = 'Y'
|
||||
AND GO.SUBSVC_AT = 'Y'
|
||||
AND GO.SOPMAL_CD = #{sopmalCd}
|
||||
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
|
||||
AND GS.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
|
||||
</if>
|
||||
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
|
||||
AND GS.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
|
||||
</if>
|
||||
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
|
||||
AND GS.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
|
||||
</if>
|
||||
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
|
||||
AND GS.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
|
||||
</if>
|
||||
) MAIN
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND MAIN.LINE = 1
|
||||
AND MAIN.ORDR_STTUS_CD = '25'
|
||||
<if test='srchCurMonExclude!= null and srchCurMonExclude == "Y"'>
|
||||
<![CDATA[
|
||||
AND MAIN.LAST_PRCS_DT < CONCAT(DATE_FORMAT(NOW(),'%Y-%m'),'-01') /*당월 처리자 제외*/
|
||||
]]>
|
||||
</if>
|
||||
<choose>
|
||||
<when test="sortDv == 'subsvcGnrAsc'">
|
||||
ORDER BY SUBSVC_NM ASC, SUBSVC_GNR ASC /*구독서비스명+기수*/
|
||||
</when>
|
||||
<when test="sortDv == 'subsvcGnrDesc'">
|
||||
ORDER BY SUBSVC_NM DESC, SUBSVC_GNR DESC /*구독서비스명+기수*/
|
||||
</when>
|
||||
<when test="sortDv == 'mbrAsc'">
|
||||
ORDER BY MBR_NM ASC, MBR_ID ASC /*주문자순*/
|
||||
</when>
|
||||
<when test="sortDv == 'mbrDesc'">
|
||||
ORDER BY MBR_NM DESC, MBR_ID DESC /*주문자순*/
|
||||
</when>
|
||||
<when test="sortDv == 'ordrAsc'">
|
||||
ORDER BY ORDR_INNB ASC /*주문번호순*/
|
||||
</when>
|
||||
<when test="sortDv == 'ordrDesc'">
|
||||
ORDER BY ORDR_INNB DESC /*주문번호순*/
|
||||
</when>
|
||||
<when test="sortDv == 'lastPrcsDtAsc'">
|
||||
ORDER BY LAST_PRCS_DT ASC /*최종처리일순*/
|
||||
</when>
|
||||
<when test="sortDv == 'lastPrcsDtDesc'">
|
||||
ORDER BY LAST_PRCS_DT ASC /*최종처리일순*/
|
||||
</when>
|
||||
<otherwise>
|
||||
ORDER BY GS.SUBSVC_NM ASC, GS.SUBSVC_GNR ASC
|
||||
</otherwise>
|
||||
</choose>
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
|
||||
<!--구독서비스 상품준비 관리 목록 배송내역 팝업 배송내역목록-->
|
||||
<select id="selectBOSubsvcOrderDlvyList" parameterType="com.wb.domainserver.domain.gcone.ordr.subsvc.vo.BOSubsvcOrderVO" resultType="dataMap">
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
|
||||
, GOIO.ORDR_GOODS_OPTN_INNB
|
||||
, GO.ORDR_INNB
|
||||
, GM.MBR_NM
|
||||
, GM.MBR_ID
|
||||
, GM.MBR_DV_CD
|
||||
, GM.MBR_INNB
|
||||
, fn_get_member_grad_name(GO.SOPMAL_CD, GM.MBR_DV_CD, GM.MBR_INNB) AS GRADE
|
||||
, IFNULL(GOIO.UPDT_DT, GOIO.REGIST_DT) AS PROCS_DT /*발생일자*/
|
||||
, GOI.GOODS_IMG_COURS
|
||||
, GOI.GOODS_NM
|
||||
, GOIO.OPTN_NM_1
|
||||
, GOIO.OPTN_VAL_1
|
||||
, GOIO.CNSMRPRIC /*정가*/
|
||||
, GOIO.SLEPRIC /*판매가*/
|
||||
, fn_get_commcode_name('ORDR_STTUS', GOIO.ORDR_STTUS_CD) AS ORDR_STTUS
|
||||
FROM GC_ORDER GO
|
||||
JOIN GC_MEMBER GM ON GM.MBR_DV_CD = GO.MBR_DV_CD AND GM.MBR_INNB = GO.MBR_INNB
|
||||
JOIN GC_ORDER_ITEM GOI ON GOI.SOPMAL_CD = GO.SOPMAL_CD AND GOI.ORDR_INNB = GO.ORDR_INNB
|
||||
JOIN GC_ORDER_ITEM_OPTION GOIO ON GOI.SOPMAL_CD = GOIO.SOPMAL_CD AND GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB AND GOIO.OPTN_TY = '01'
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND GOI.ORDR_INNB = #{ordrInnb}
|
||||
AND GOI.SOPMAL_CD = #{sopmalCd}
|
||||
ORDER BY GOIO.ORDR_GOODS_OPTN_INNB ASC
|
||||
</select>
|
||||
<!--구독서비스 상품준비 관리 상품매칭 - 1. GC_ORDER update-->
|
||||
<update id="updateBOSubsvcGoodsMappgOrdr" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<foreach collection="arrOrdrInnb" item="ordrInnb" separator=";">
|
||||
UPDATE GC_ORDER
|
||||
SET ORDR_STTUS_CD = (CASE WHEN ORDR_STTUS_CD = '25' THEN '35' ELSE ORDR_STTUS_CD END)
|
||||
, UPDT_DT = NOW()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND ORDR_INNB = #{ordrInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
<!--구독서비스 상품준비 관리 상품매칭 - 2. GC_ORDER_ITEM update-->
|
||||
<update id="updateBOSubsvcGoodsMappgOrdrItem" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<foreach collection="arrOrdrGoodsInnb" item="ordrGoodsInnb" separator=";">
|
||||
UPDATE GC_ORDER_ITEM GOI, (SELECT GG.GOODS_INNB, GG.GOODS_NM, GGI.IMG
|
||||
FROM GC_GOODS GG
|
||||
JOIN GC_GOODS_IMAGE GGI ON GGI.SOPMAL_CD = GG.SOPMAL_CD AND GGI.GOODS_INNB = GG.GOODS_INNB AND GGI.CUT_NB = 1 AND GGI.IMG_KND = '02'
|
||||
WHERE GG.GOODS_INNB = #{goodsInnb}
|
||||
LIMIT 1) G
|
||||
SET GOI.GOODS_INNB = G.GOODS_INNB
|
||||
, GOI.GOODS_NM = G.GOODS_NM
|
||||
, GOI.GOODS_IMG_COURS = G.IMG
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND GOI.ORDR_GOODS_INNB = #{ordrGoodsInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
<!--구독서비스 상품준비 관리 상품매칭 - 3. GC_ORDER_ITEM_OPTION update-->
|
||||
<update id="updateBOSubsvcGoodsMappgOrdrItemOptn" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<foreach collection="arrOrdrGoodsOptnInnb" item="ordrGoodsOptnInnb" separator=";">
|
||||
UPDATE GC_ORDER_ITEM_OPTION GOIO, (SELECT GOODS_OPTN_INNB
|
||||
, OPTN_TY
|
||||
, OPTN_NM_1
|
||||
, OPTN_NM_2
|
||||
, OPTN_NM_3
|
||||
, OPTN_NM_4
|
||||
, OPTN_VAL_1
|
||||
, OPTN_VAL_2
|
||||
, OPTN_VAL_3
|
||||
, OPTN_VAL_4
|
||||
, OPTN_CD_1
|
||||
, OPTN_CD_2
|
||||
, OPTN_CD_3
|
||||
, OPTN_CD_4
|
||||
, OPTN_INFO
|
||||
, CNSMRPRIC
|
||||
, SLEPRIC
|
||||
, GG.TAX_AT
|
||||
FROM GC_GOODS_OPTION GGO
|
||||
JOIN GC_GOODS GG ON GG.SOPMAL_CD = GGO.SOPMAL_CD AND GG.GOODS_INNB = GGO.GOODS_INNB
|
||||
WHERE GGO.GOODS_OPTN_INNB = #{goodsOptnInnb}
|
||||
AND GGO.OPTN_TY = #{optnTy}
|
||||
LIMIT 1) G
|
||||
SET GOIO.GOODS_OPTN_INNB = G.GOODS_OPTN_INNB
|
||||
, GOIO.OPTN_TY = G.OPTN_TY
|
||||
, GOIO.OPTN_NM_1 = G.OPTN_NM_1
|
||||
, GOIO.OPTN_NM_2 = G.OPTN_NM_2
|
||||
, GOIO.OPTN_NM_3 = G.OPTN_NM_3
|
||||
, GOIO.OPTN_NM_4 = G.OPTN_NM_4
|
||||
, GOIO.OPTN_VAL_1 = G.OPTN_VAL_1
|
||||
, GOIO.OPTN_VAL_2 = G.OPTN_VAL_2
|
||||
, GOIO.OPTN_VAL_3 = G.OPTN_VAL_3
|
||||
, GOIO.OPTN_VAL_4 = G.OPTN_VAL_4
|
||||
, GOIO.OPTN_CD_1 = G.OPTN_CD_1
|
||||
, GOIO.OPTN_CD_2 = G.OPTN_CD_2
|
||||
, GOIO.OPTN_CD_3 = G.OPTN_CD_3
|
||||
, GOIO.OPTN_CD_4 = G.OPTN_CD_4
|
||||
, GOIO.OPTN_INFO = G.OPTN_INFO
|
||||
, GOIO.CNSMRPRIC = G.CNSMRPRIC
|
||||
, GOIO.SLEPRIC = G.SLEPRIC
|
||||
, GOIO.TAX_AT = G.TAX_AT
|
||||
, GOIO.STEP85 = 0
|
||||
, GOIO.STEP35 = GOIO.ORDR_QY
|
||||
, GOIO.STEP45 = 0
|
||||
, GOIO.STEP55 = 0
|
||||
, GOIO.STEP65 = 0
|
||||
, GOIO.STEP75 = 0
|
||||
, GOIO.ORDR_STTUS_CD = '35'
|
||||
, GOIO.UPDT_DT = NOW()
|
||||
WHERE GOIO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GOIO.ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
<!--구독서비스 상품준비 관리 상품매칭 - 4. GC_ORDER_SHIPPING update-->
|
||||
<update id="updateBOSubsvcGoodsMappgShipping" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
<foreach collection="arrOrdrDlvyInnb" item="ordrDlvyInnb" separator=";">
|
||||
UPDATE GC_ORDER_SHIPPING
|
||||
SET ORDR_STTUS_CD = '35'
|
||||
, UPDT_DT = NOW()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
</foreach>
|
||||
</update>
|
||||
<!--구독서비스 상품준비 관리 상품매칭 - 5. GC_SUBSVC update-->
|
||||
<update id="updateBOSubsvcGoodsMappgSubsvc" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
|
||||
UPDATE GC_SUBSVC GS, ( SELECT SOPMAL_CD, SUBSVC_INNB, MAX(LAST_PROCS_ODR) LAST_PROCS_ODR
|
||||
FROM (
|
||||
SELECT GOIO.SOPMAL_CD, GO.SUBSVC_INNB, SUM(CASE WHEN GOIO.ORDR_STTUS_CD BETWEEN '35' AND '75' THEN 1 ELSE 0 END) OVER(PARTITION BY GO.SOPMAL_CD, GO.ORDR_INNB) AS LAST_PROCS_ODR
|
||||
FROM GC_ORDER GO
|
||||
JOIN GC_ORDER_ITEM GOI ON GOI.SOPMAL_CD = GO.SOPMAL_CD AND GOI.ORDR_INNB = GO.ORDR_INNB
|
||||
JOIN GC_ORDER_ITEM_OPTION GOIO ON GOIO.SOPMAL_CD = GOI.SOPMAL_CD AND GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB
|
||||
WHERE GO.SUBSVC_AT = 'Y'
|
||||
AND GO.SOPMAL_CD = #{sopmalCd}
|
||||
AND GO.SUBSVC_INNB IN (SELECT DISTINCT SUBSVC_INNB
|
||||
FROM GC_ORDER
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND ORDR_INNB IN
|
||||
<foreach collection="arrOrdrInnb" item="ordrInnb" open="(" close=")" separator=",">
|
||||
#{ordrInnb}
|
||||
</foreach>
|
||||
)
|
||||
) M
|
||||
GROUP BY SOPMAL_CD, SUBSVC_INNB
|
||||
) MAIN
|
||||
SET GS.LAST_PROCS_ODR = MAIN.LAST_PROCS_ODR
|
||||
, UPDT_DT = NOW()
|
||||
WHERE GS.SOPMAL_CD = MAIN.SOPMAL_CD
|
||||
AND GS.SUBSVC_INNB = MAIN.SUBSVC_INNB
|
||||
</update>
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user