diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java
index d3a3a137..0613f5c9 100644
--- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java
+++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java
@@ -2291,15 +2291,18 @@ public class BOOrdrService{
}});
}
+ //상품 환불금액 합산
refundVO.setRefundAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getGoodsRefundAmt().intValue()).sum()));
refundVO.setRefundAccmlmnyAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsAccmlMlgAmt().intValue()).sum()));
BigDecimal useMlg = null;
+ // 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
- // BigDecimal의 더하기 연산은 add() 메서드를 사용
+ // 마일리지 합산 + 자투리 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum())
.add(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgRmndrAmt().intValue()).sum()));
} else {
+ // 마일리지 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum());
}
@@ -2426,13 +2429,15 @@ public class BOOrdrService{
BigDecimal addPaidDlvyAmt = new BigDecimal(0); // 유료배송 도서산간 추가 배송비 합
BigDecimal returnPaidDlvyAmt = new BigDecimal(0); // 유료배송 반품 배송비
-
+ int loopCnt = 0;
+
if (!CollectionUtils.isEmpty(dlvylcItemList)) {
log.debug("환불 상품 목록 확인 : {}", dlvylcItemList);
// 1. 주문 금액에서 환불 금액빼는 상품별 금액 합산 변수 선언
// 2. 반품 배송비 변수 선언
// 3. 왕복 배송비 변수 선언
+ /* 반품/환불 신청 인경우*/
if (param.get("returnMthCd") != null) {
for (DataMap shippingGrouping : dlvylcItemList) {
log.debug("환불 상품 확인 : {}", shippingGrouping);
@@ -2453,6 +2458,13 @@ public class BOOrdrService{
BigDecimal subSlepric = (BigDecimal) shippingGrouping.get("subSlepric");
+ BigDecimal realDlvyAmt = (BigDecimal) shippingGrouping.get("realDlvyAmt"); // 상품별 결제 배송비
+ /*환불배송비 누적*/
+ if(loopCnt == 0 ){
+ rlRefundDlvyAmt = rlRefundDlvyAmt.add(realDlvyAmt);
+ loopCnt++;
+ }
+
if (!StringUtils.isEmpty(shippingGrouping.get("refundQy"))) {
Integer refundQy = Integer.parseInt(String.valueOf(shippingGrouping.get("refundQy"))); // 환불 수량
@@ -2634,10 +2646,9 @@ public class BOOrdrService{
// 최종 반품 배송비
refundVO.setReturnDlvyAmt(rlReturnDlvyAmt);
-
// 최종 환불 배송비 : 전체 환불일 경우에만 산정됨.
log.debug(" selectBOLastRefundDlvyAmtInqire 업데이트 치기 전 refundVO:: {}", refundVO);
- rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
+// rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 rlRefundDlvyAmt:: {}", rlRefundDlvyAmt);
refundVO.setRefundDlvyAmt(rlRefundDlvyAmt);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 refundVO:: {}", refundVO);
diff --git a/src/main/java/com/wb/domainserver/security/config/ResourceServerConfig.java b/src/main/java/com/wb/domainserver/security/config/ResourceServerConfig.java
index 01595397..6a4e8e4e 100644
--- a/src/main/java/com/wb/domainserver/security/config/ResourceServerConfig.java
+++ b/src/main/java/com/wb/domainserver/security/config/ResourceServerConfig.java
@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
import static org.springframework.beans.factory.config.BeanDefinition.ROLE_INFRASTRUCTURE;
-@EnableWebSecurity(debug = true)
+@EnableWebSecurity
@Configuration
//@EnableMethodSecurity
public class ResourceServerConfig {
diff --git a/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml
index cdadfdac..bbf0e351 100644
--- a/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml
+++ b/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml
@@ -1003,7 +1003,7 @@
, IFNULL(FOI.MLG_AMT, 0) AS MLG_AMT
, IFNULL(FOS.DLVY_AMT, 0) AS DLVY_AMT
, IFNULL(FO.RL_SETLE_AMT, 0) AS SETLE_AMT
- , ROUND(FO.WON_RL_SETLE_AMT) AS WON_RL_SETLE_AMT
+ , ROUND(IFNULL(FO.WON_RL_SETLE_AMT, 0)) AS WON_RL_SETLE_AMT
FROM (
SELECT FOI.SOPMAL_CD
, FOI.ORDR_INNB
@@ -1733,10 +1733,10 @@
, #{refundAcntDpstrNm}
, REPLACE(#{refundAcntnb}, '-', '')
, #{refundAmt}
- , ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * ${refundAmt},0)
+ , ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt},0)
, #{refundAccmlmnyAmt}
, #{refundDlvyAmt}
- , #{wonRefundDlvyAmt}
+ , ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundDlvyAmt},0)
, #{mlgAccmlmnyAmt}
, #{mlgAccmlmnyValidDt}
, #{enuriRevisnAmt}
@@ -1762,7 +1762,7 @@
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrTelnb}, '-', ''), '1df5be2f7e90ae36'))
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
, #{returnDlvyAmt}
- , #{wonReturnDlvyAmt}
+ , ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{returnDlvyAmt},0)
, #{returnDlvyTrgetCd}
, #{returnDlvyRspnsblCd}
, #{returnDlvyPymntTyCd}
@@ -4818,19 +4818,51 @@
THEN (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) + IFNULL(OIOP2.ENURI_DSCNT_REST, 0)
ELSE (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) END ) AS SUB_SLEPRIC
, FSG.DLVY_GROUP_DV_CD
- , ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0') AS DFT_DLVY_AMT
- , FSG.AMT_CND_USE_AT
- , ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0') AS AMT_CND_ADIT_AMT
- , FSG.CNT_CND_USE_AT
- , ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0') AS CNT_CND_ADIT_AMT
- , FSG.BUNDLE_DLVY_USE_AT
- , ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0') AS BUNDLE_DLVY_CND_AMT
- , FSG.DLVY_AREA_ADIT_AT
- , ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0') AS AREA_ADIT_DLVY_AMT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.DFT_DLVY_AMT2, 0), '0')
+ ELSE ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0')
+ END) AS DFT_DLVY_AMT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.AMT_CND_USE_AT2
+ ELSE FSG.AMT_CND_USE_AT
+ END) AS AMT_CND_USE_AT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT2, 0), '0')
+ ELSE ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0')
+ END) AS AMT_CND_ADIT_AMT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.CNT_CND_USE_AT2
+ ELSE FSG.CNT_CND_USE_AT
+ END) AS CNT_CND_USE_AT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT2, 0), '0')
+ ELSE ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0')
+ END) AS CNT_CND_ADIT_AMT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.BUNDLE_DLVY_USE_AT2
+ ELSE FSG.BUNDLE_DLVY_USE_AT
+ END) AS BUNDLE_DLVY_USE_AT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT2, 0), '0')
+ ELSE ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0')
+ END) AS BUNDLE_DLVY_CND_AMT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.DLVY_AREA_ADIT_AT2
+ ELSE FSG.DLVY_AREA_ADIT_AT
+ END) AS DLVY_AREA_ADIT_AT
+ , (CASE
+ WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT2, 0), '0')
+ ELSE ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0')
+ END) AS AREA_ADIT_DLVY_AMT
+ , (CASE
+ WHEN OIOP2.ORDR_QY = (OIOP2.STEP85 + RI.REFUND_QY) THEN ROUND(IFNULL(SH.RL_DLVY_AMT, 0), '0')
+ ELSE 0
+ END) AS REAL_DLVY_AMT
, ROUND(IFNULL(SH.RL_DLVY_AMT + SH.DLVY_COUPON_DSCNT_AMT, 0), '0') AS RL_DLVY_AMT
, OIOP2.RETURN_DLVY_APPLC_AT
, ROUND(IFNULL(OIOP2.RETURN_DLVY_AMT, 0), '0') AS RETURN_DLVY_AMT
, ROUND(IFNULL(OIOP2.EXCHNG_DLVY_AMT, 0), '0') AS EXCHNG_DLVY_AMT
+ , SH.DLVYLC_AREA_CD
FROM GC_ORDER_ITEM_OPTION OIOP2
INNER JOIN GC_ORDER_ITEM OI
ON OIOP2.SOPMAL_CD = OI.SOPMAL_CD
diff --git a/src/main/resources/mybatis/xml/mapper/gcone/ordr/rtngudrefnd/BORtngudrefndMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/ordr/rtngudrefnd/BORtngudrefndMapper.xml
index 643eda87..b12f1a1d 100644
--- a/src/main/resources/mybatis/xml/mapper/gcone/ordr/rtngudrefnd/BORtngudrefndMapper.xml
+++ b/src/main/resources/mybatis/xml/mapper/gcone/ordr/rtngudrefnd/BORtngudrefndMapper.xml
@@ -1750,6 +1750,9 @@
,SUM(PRI.CASH_DSCNT_UNIT * PRI.REFUND_QY + PRI.CASH_DSCNT_REST) AS P_USE_CANCEL_CASH
,ROUND(RL_USE_CASH) AS RL_USE_CASH
,RL_ORDR_ITEM.RL_ORDR_QY
+ ,SUM(PRE.REFUND_DLVY_AMT) AS P_REFUND_DLVY_AMT
+ ,SUM(PRE.WON_REFUND_DLVY_AMT) AS P_WON_REFUND_DLVY_AMT
+ ,SUM(PRE.WON_REFUND_AMT) AS P_WON_REFUND_AMT
FROM GC_ORDER_REFUND_ITEM PRI
INNER JOIN GC_ORDER_REFUND PRE ON PRI.SOPMAL_CD = PRE.SOPMAL_CD
AND PRI.ORDER_REFUND_INNB = PRE.ORDER_REFUND_INNB
diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsListRForm.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsListRForm.jsp
index 39d251b8..68892fe7 100644
--- a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsListRForm.jsp
+++ b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsListRForm.jsp
@@ -671,7 +671,7 @@