fix : 관리자 결제취소, 환불 원화추가
This commit is contained in:
@@ -3920,6 +3920,7 @@
|
||||
AND FOS.ORDR_INNB = FO.ORDR_INNB
|
||||
WHERE FO.USE_AT = 'Y'
|
||||
AND FO.SUBSVC_AT = 'N' /*구독서비스 제외*/
|
||||
AND ( ( FO.ORDR_STTUS_CD BETWEEN '15' AND '75' ) OR FO.ORDR_STTUS_CD = '95' )
|
||||
AND IFNULL(FOS.ORDR_INNB, '') != ''
|
||||
AND FO.SOPMAL_CD = #{sopmalCd}
|
||||
AND FO.MBR_DV_CD = #{mbrDvCd}
|
||||
@@ -5587,6 +5588,32 @@
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update -->
|
||||
<update id="updateBOWonRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO">
|
||||
<![CDATA[
|
||||
WITH BF AS (SELECT MAX(O.WON_RL_SETLE_AMT) - IFNULL(SUM(IFNULL(GOR2.WON_REFUND_AMT,0))+SUM(IFNULL(GOR2.WON_REFUND_DLVY_AMT,0)),0) AS WON_REST_AMT
|
||||
FROM GC_ORDER O
|
||||
LEFT OUTER JOIN GC_ORDER_REFUND GOR2
|
||||
ON GOR2.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND GOR2.ORDR_INNB = O.ORDR_INNB
|
||||
AND GOR2.USE_AT = 'Y'
|
||||
AND GOR2.REFUND_PROCS_STTUS_CD = '03'
|
||||
AND GOR2.ORDER_REFUND_INNB != #{orderRefundInnb}
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
)
|
||||
UPDATE GC_ORDER_REFUND
|
||||
SET WON_REFUND_AMT = (CASE
|
||||
WHEN WON_REFUND_AMT + WON_REFUND_DLVY_AMT > (SELECT WON_REST_AMT FROM BF) THEN (SELECT WON_REST_AMT FROM BF) - WON_REFUND_DLVY_AMT
|
||||
ELSE WON_REFUND_AMT
|
||||
END)
|
||||
, UPDT_DT = NOW()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND ORDER_REFUND_INNB = #{orderRefundInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
|
||||
@@ -1144,12 +1144,20 @@
|
||||
</when>
|
||||
</choose>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dlvyAmtRefundAmt)">
|
||||
<![CDATA[DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},]]>
|
||||
DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},
|
||||
WON_DLVY_AMT_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{dlvyAmtRefundAmt}, 0),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt)">
|
||||
REFUND_AMT = #{refundAmt},
|
||||
WON_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt}, 0) ,
|
||||
</if>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(wonRefundAmt)">
|
||||
WON_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt}, 0) ,
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(wonRefundAmt)">
|
||||
WON_REFUND_AMT = #{wonRefundAmt},
|
||||
</when>
|
||||
</choose>
|
||||
MNGR_INNB = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
<![CDATA[
|
||||
@@ -1347,8 +1355,10 @@
|
||||
RE.REFUND_ACNT_DPSTR_NM,
|
||||
RE.REFUND_ACNTNB,
|
||||
ROUND(RE.REFUND_AMT) AS REFUND_AMT,
|
||||
ROUND(RE.WON_REFUND_AMT) AS WON_REFUND_AMT,
|
||||
RE.REFUND_ACCMLMNY_AMT,
|
||||
ROUND(RE.REFUND_DLVY_AMT) AS REFUND_DLVY_AMT,
|
||||
ROUND(RE.WON_REFUND_DLVY_AMT) AS WON_REFUND_DLVY_AMT,
|
||||
RE.MLG_ACCMLMNY_AMT,
|
||||
RE.MLG_ACCMLMNY_VALID_DT,
|
||||
RE.ENURI_REVISN_AMT,
|
||||
@@ -1369,6 +1379,7 @@
|
||||
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_TELNB,
|
||||
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_MBTLNB,
|
||||
ROUND(RE.RETURN_DLVY_AMT) AS RETURN_DLVY_AMT,
|
||||
ROUND(RE.RETURN_DLVY_AMT * O.BUY_RATE) AS WON_RETURN_DLVY_AMT,
|
||||
RE.RETURN_DLVY_TRGET_CD,
|
||||
RE.RETURN_DLVY_RSPNSBL_CD,
|
||||
RE.RETURN_DLVY_PYMNT_TY_CD,
|
||||
@@ -1388,7 +1399,10 @@
|
||||
RE.REGIST_DT,
|
||||
RE.UPDT_DT,
|
||||
O.MBR_DV_CD,
|
||||
O.MBR_INNB
|
||||
O.MBR_INNB,
|
||||
O.BUY_RATE,
|
||||
ROUND(RE.DLVY_AMT_REFUND_AMT) AS DLVY_AMT_REFUND_AMT,
|
||||
ROUND(RE.DLVY_AMT_REFUND_AMT * O.BUY_RATE) AS WON_DLVY_AMT_REFUND_AMT
|
||||
FROM
|
||||
GC_ORDER_REFUND RE
|
||||
INNER JOIN GC_ORDER O ON RE.SOPMAL_CD = O.SOPMAL_CD
|
||||
@@ -1539,6 +1553,7 @@
|
||||
,ST.SOPMAL_CD
|
||||
,ST.ORDR_INNB
|
||||
,IFNULL(ST.SETLE_AMT, 0) AS SETLE_AMT -- 결제금액
|
||||
,IFNULL(ST.WON_SETLE_AMT, 0) AS WON_SETLE_AMT -- 결제금액
|
||||
,ST.PG_CMPNY_NM -- pg 회사명
|
||||
,ST.PG_INNB -- pg고유번호
|
||||
,ST.SETLE_TY_CD
|
||||
@@ -1572,28 +1587,36 @@
|
||||
<!-- 주문 환불 총 금액 -->
|
||||
<select id="selectBOORderRefundAmtSumInqire"
|
||||
parameterType="com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO"
|
||||
resultType="Integer">
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
IFNULL((
|
||||
SELECT ROUND(
|
||||
SUM(
|
||||
CASE
|
||||
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
|
||||
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||
CASE
|
||||
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
|
||||
ELSE RE.REFUND_AMT
|
||||
END
|
||||
END
|
||||
), 0)
|
||||
FROM GC_ORDER_REFUND RE
|
||||
WHERE RE.SOPMAL_CD = #{sopmalCd}
|
||||
AND RE.ORDR_INNB = #{ordrInnb}
|
||||
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
|
||||
AND RE.USE_AT = 'Y'
|
||||
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
|
||||
), 0) AS ORDER_REFUND_AMT_SUM
|
||||
SELECT ROUND(
|
||||
SUM(
|
||||
CASE
|
||||
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
|
||||
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||
CASE
|
||||
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
|
||||
ELSE RE.REFUND_AMT
|
||||
END
|
||||
END
|
||||
), 0) AS ORDER_REFUND_AMT_SUM
|
||||
, ROUND(
|
||||
SUM(
|
||||
CASE
|
||||
WHEN RE.REFUND_TY_CD = '01' THEN RE.WON_REFUND_AMT + RE.WON_REFUND_DLVY_AMT
|
||||
WHEN RE.REFUND_TY_CD = '02' THEN
|
||||
CASE
|
||||
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT - IFNULL(RE.WON_DLVY_AMT_REFUND_AMT, 0), 0)
|
||||
ELSE RE.WON_REFUND_AMT
|
||||
END
|
||||
END
|
||||
), 0) AS WON_ORDER_REFUND_AMT_SUM
|
||||
FROM GC_ORDER_REFUND RE
|
||||
WHERE RE.SOPMAL_CD = #{sopmalCd}
|
||||
AND RE.ORDR_INNB = #{ordrInnb}
|
||||
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
|
||||
AND RE.USE_AT = 'Y'
|
||||
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user