|
|
@@ -60,8 +60,8 @@ public class TscOrderRefundService {
|
|
|
|
|
|
int sumDeliveryFee = 0; // 배송금액 (전체 취소시에 배송금액도 같이 환불)
|
|
|
|
|
|
- List<Order> cancelOrderRefundList = new ArrayList<Order>(); // 주문환불금액목록
|
|
|
- List<Order> cancelDelvRefundList = new ArrayList<Order>(); // 주문환불배송금액목록
|
|
|
+ List<Order> cancelOrderRefundList = new ArrayList<>(); // 주문환불금액목록
|
|
|
+ List<Order> cancelDelvRefundList = new ArrayList<>(); // 주문환불배송금액목록
|
|
|
|
|
|
Order orderObj = new Order();
|
|
|
Order delvObj = new Order();
|
|
|
@@ -78,7 +78,8 @@ public class TscOrderRefundService {
|
|
|
delvObj.setExcDelvFee(cnclRtnList.get(k).getExcDelvFee());
|
|
|
delvObj.setSupplyCompCd(cnclRtnList.get(k).getSupplyCompCd());
|
|
|
delvObj.setDelvFeeCd(cnclRtnList.get(k).getDelvFeeCd());
|
|
|
- delvObj.setAllCanYn(cnclRtnList.get(k).getAllCanYn());
|
|
|
+ // delvObj.setAllCanYn(cnclRtnList.get(k).getAllCanYn());
|
|
|
+ delvObj.setLastCanYn(cnclRtnList.get(k).getLastCanYn());
|
|
|
cancelDelvRefundList.add(delvObj);
|
|
|
|
|
|
// 3. 취소신청수량 정보를 취소 환불 금액 계산
|
|
|
@@ -109,8 +110,9 @@ public class TscOrderRefundService {
|
|
|
int ordQty = oneData.getOrdQty();
|
|
|
int itemQty = oneData.getItemQty();
|
|
|
int ordCanChgQty = oneData.getOrdCanChgQty();
|
|
|
+ int cnclRtnQty = oneData.getCnclRtnQty();
|
|
|
|
|
|
- float _appQty = (float)ordCanChgQty / (float)ordQty;
|
|
|
+ float _appQty = (float)ordCanChgQty / (float)(ordQty - cnclRtnQty);
|
|
|
|
|
|
// 3.3 주문취소금액 & 취소할인금액 계산
|
|
|
orderObj.setCnclRtnAmt(((oneData.getItemPrice() + oneData.getOptAddPrice()) * itemQty) * ordCanChgQty);
|
|
|
@@ -152,7 +154,8 @@ public class TscOrderRefundService {
|
|
|
// 3.7 주문상세상태체크
|
|
|
orderObj.setOrdDtlStat(oneData.getOrdDtlStat());
|
|
|
orderObj.setOrdDtlStatNm(oneData.getOrdDtlStatNm());
|
|
|
- orderObj.setAllCanYn(oneData.getAllCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
|
|
|
+ // orderObj.setAllCanYn(oneData.getAllCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
|
|
|
+ orderObj.setLastCanYn(oneData.getLastCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
|
|
|
orderObj.setDelvYn(oneData.getDelvYn());
|
|
|
|
|
|
cancelOrderRefundList.add(orderObj);
|
|
|
@@ -178,8 +181,12 @@ public class TscOrderRefundService {
|
|
|
cancelDelvRefundList.get(k).setDelvYn(orderObj.getDelvYn());
|
|
|
}
|
|
|
|
|
|
- if ("N".equals(orderObj.getAllCanYn())) {
|
|
|
- cancelDelvRefundList.get(k).setAllCanYn("N");
|
|
|
+ // if ("N".equals(orderObj.getAllCanYn())) {
|
|
|
+ // cancelDelvRefundList.get(k).setAllCanYn("N");
|
|
|
+ // }
|
|
|
+
|
|
|
+ if ("N".equals(orderObj.getLastCanYn())) {
|
|
|
+ cancelDelvRefundList.get(k).setLastCanYn("N");
|
|
|
}
|
|
|
} else {
|
|
|
k++;
|
|
|
@@ -208,7 +215,8 @@ public class TscOrderRefundService {
|
|
|
delvObj.setExcDelvFee(orderObj.getExcDelvFee());
|
|
|
delvObj.setSupplyCompCd(orderObj.getSupplyCompCd());
|
|
|
delvObj.setDelvFeeCd(orderObj.getDelvFeeCd());
|
|
|
- delvObj.setAllCanYn(orderObj.getAllCanYn());
|
|
|
+ // delvObj.setAllCanYn(orderObj.getAllCanYn());
|
|
|
+ delvObj.setLastCanYn(orderObj.getLastCanYn());
|
|
|
delvObj.setDelvYn(orderObj.getDelvYn());
|
|
|
|
|
|
cancelDelvRefundList.add(delvObj);
|
|
|
@@ -242,7 +250,8 @@ public class TscOrderRefundService {
|
|
|
|
|
|
// 4.2.1 전체취소시 배송비 환불
|
|
|
if ((obj.getOrdAmt() - obj.getCnclRtnAmt()) == 0) {
|
|
|
- if ("Y".equals(obj.getAllCanYn())) {
|
|
|
+ // if ("Y".equals(obj.getAllCanYn())) {
|
|
|
+ if ("Y".equals(obj.getLastCanYn())) {
|
|
|
sumDeliveryFee += obj.getDelvFee(); // 전체취소시 배송금액도 같이 환불
|
|
|
}
|
|
|
}
|
|
|
@@ -254,7 +263,8 @@ public class TscOrderRefundService {
|
|
|
// 2021.03.29 delvFeeCd별 기존 출고 여부 확인
|
|
|
if("N".equals(obj.getDelvYn())) {
|
|
|
// 전체 취소 여부
|
|
|
- if ("N".equals(obj.getAllCanYn())) {
|
|
|
+ // if ("N".equals(obj.getAllCanYn())) {
|
|
|
+ if ("N".equals(obj.getLastCanYn())) {
|
|
|
obj.setAddDelvFeeYn("Y");
|
|
|
} else {
|
|
|
obj.setAddDelvFeeYn("N");
|
|
|
@@ -262,7 +272,8 @@ public class TscOrderRefundService {
|
|
|
// 취소는 주문 금액 - 취소 금액이 0이면 취소는 추가배송비 여부가 없음.
|
|
|
obj.setAddDelvFee(0);
|
|
|
} else {
|
|
|
- if ("N".equals(obj.getAllCanYn())) {
|
|
|
+ // if ("N".equals(obj.getAllCanYn())) {
|
|
|
+ if ("N".equals(obj.getLastCanYn())) {
|
|
|
obj.setAddDelvFeeYn("Y");
|
|
|
obj.setAddDelvFee(obj.getOrgDelvFee());
|
|
|
} else {
|