fix : 관리자 결제취소, 환불 원화추가

This commit is contained in:
jazz
2026-03-10 12:09:42 +09:00
parent c82f48966a
commit e7a9499780
6 changed files with 106 additions and 39 deletions

View File

@@ -75,8 +75,8 @@
let pRefundQy = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundQy }"/>');
let rlOrdrQy = parseAmount('<c:out value="${ resultMap.result.pRefund.rlOrdrQy }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>'); /*환불상품금액*/
let pRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundDlvyAmt }"/>'); /*환불배송비*/
// 마일리지
let pUseCancelMlg = parseAmount('<c:out value="${ resultMap.result.pRefund.pUseCancelMlg }"/>');
let rlUseMlg = parseAmount('<c:out value="${ resultMap.result.pRefund.rlUseMlg }"/>');
@@ -98,13 +98,18 @@
totalRefundQy += refundQy;
});
//전체 환불인경우
if (totalRefundQy + pRefundQy >= rlOrdrQy) {
let nowRefundDlvyAmt = 0;
$('input[name="shippingDlvyAmt"]').each(function (idx){
nowRefundDlvyAmt += parseAmount($(this).val());
} );
let pRemainAmt = (rlSetleAmt - pRefundAmt) - nowRefundAmt;
// (주문전체 결제금액 - 이전환불 환불금액 - 이전환불배송비) - 총환불금액(배송비 제외) - 전체배송비
let pRemainAmt = (rlSetleAmt - pRefundAmt - pRefundDlvyAmt) - nowRefundAmt - nowRefundDlvyAmt;
// 절대값
let pRemainAmtRemain = Math.abs(pRemainAmt);
@@ -374,7 +379,11 @@
function rlRefundAmtProcessing() {
let buyRate = parseAmount('${resultMap.result.totRefundDscntAmt.buyRate}');
let wonRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.wonRlSetleAmt}'); /*실주문결제금액(원)*/
let pWonRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundAmt }"/>'); /*이전환불상품금액*/
let pWonRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundDlvyAmt }"/>'); /*이전환불배송비*/
let wonLimitRefundAmt = wonRlSetleAmt - (pWonRefundAmt + pWonRefundDlvyAmt); /*환불최대금액*/
let buyRate = parseFloat('${resultMap.result.totRefundDscntAmt.buyRate}',2);
let refundTyCd = '<c:out value="${ resultMap.result.refnd.refundTyCd }"/>';
let returnMthCd = $('input[name="returnMthCd"]:checked').val(); // 반품 방법 코드
let refundDlvyAmt = '<c:out value="${ resultMap.result.refnd.refundDlvyAmt }"/>'; // 환불 배송비 금액
@@ -509,14 +518,23 @@
/*환불금액 한화환불금액 계산*/
let wonRlRefundAmt = Math.round(realRefundAmt * buyRate);
console.log("wonRlRefundAmt : ",wonRlRefundAmt, " realRefundAmt : ",realRefundAmt, " buyRate : ",buyRate)
wonRlRefundAmt = wonRlRefundAmt > 0 ? wonRlRefundAmt : 0;
/*환불금액이 최대금액을 넘어설경우 원화 최대치로 치환 */
wonRlRefundAmt = wonRlRefundAmt > wonLimitRefundAmt ? wonLimitRefundAmt : wonRlRefundAmt;
$('.wonRlRefundAmt').text(formatWithComma(wonRlRefundAmt));
}
function rlRefundAmtProcessingInput() {
let wonRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.wonRlSetleAmt}'); /*실주문결제금액(원)*/
let pWonRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundAmt }"/>'); /*이전환불상품금액*/
let pWonRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundDlvyAmt }"/>'); /*이전환불배송비*/
let wonLimitRefundAmt = wonRlSetleAmt - (pWonRefundAmt + pWonRefundDlvyAmt); /*환불최대금액*/
let buyRate = parseAmount('${resultMap.result.totRefundDscntAmt.buyRate}');
let buyRate = parseFloat('${resultMap.result.totRefundDscntAmt.buyRate}',2);
let refundTyCd = '<c:out value="${ resultMap.result.refnd.refundTyCd }"/>';
let returnMthCd = $('input[name="returnMthCd"]:checked').val(); // 반품 방법 코드
let refundDlvyAmt = '<c:out value="${ resultMap.result.refnd.refundDlvyAmt }"/>'; // 환불 배송비 금액
@@ -643,9 +661,11 @@
/*환불금액 한화환불금액 계산*/
let wonRlRefundAmt = Math.round(realRefundAmt * buyRate);
wonRlRefundAmt = wonRlRefundAmt > 0 ? wonRlRefundAmt : 0;
/*환불금액이 최대금액을 넘어설경우 원화 최대치로 치환 */
wonRlRefundAmt = wonRlRefundAmt > wonLimitRefundAmt ? wonLimitRefundAmt : wonRlRefundAmt;
$('.wonRlRefundAmt').text(formatWithComma(wonRlRefundAmt));
}
$('#returnDlvyPymntTyCd').on('change', function() {
@@ -693,9 +713,6 @@
$('select[name="refundMthCd"]').on('change', function() {
fn_refund_mth_ctrl();
});
});
@@ -1087,16 +1104,20 @@
fn_create_input('hidden', "orderReItemVOList["+idx+"].invntryIncrsQy", $('[name=invntryIncrsQy]').eq(idx).val(), hiddenForm);
}
});
/*총 환불금액은 계산된 금액으로 대체 (상품금액 + 배송비)*/
totRefundAmt = parseAmount($('.realRefundAmt').text());
let registRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.setleAmt}');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>'); /*이전상품환불금액*/
let nowRefundAmt = parseAmount('<c:out value="${ resultMap.result.totRefundDscntAmt.refundAmt }"/>');
console.log("환불 계산 정보 pRefundAmt : ", pRefundAmt);
console.log("환불 계산 정보 nowRefundAmt : ", nowRefundAmt);
let pRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundDlvyAmt }"/>'); /*이전환불배송금액*/
console.debug("환불 계산 정보 pRefundAmt : ", pRefundAmt);
console.debug("환불 계산 정보 nowRefundAmt : ", nowRefundAmt);
let registRefundAmt = pRefundAmt + totRefundAmt;
console.log("던질 마일리지가 총 합산을 넘으면 안됌.", registRefundAmt);
console.log("던질 마일리지가 총 합산을 넘으면 안됌.", totRefundAmt);
/*총 환불금액 계산 : 이전상품환불금액 + 현재환불금액(상품환불금액 + 환불배송비) + 이전환불배송금액 */
let registRefundAmt = pRefundAmt + totRefundAmt + pRefundDlvyAmt;
console.debug("던질 마일리지가 총 합산을 넘으면 안됌.", registRefundAmt);
console.debug("던질 마일리지가 총 합산을 넘으면 안됌.", totRefundAmt);
if (registRefundAmt > registRlSetleAmt) {
alert("최종 환불금액이 전체 결제금액을 넘을 수 없습니다.");
@@ -2647,7 +2668,7 @@
<td class="center" rowspan="${reRowspanCnt}">
<span class="fs-13 fw-400">${reDlvyCnt += ' 번째 배송지'}</span><br>
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
<input type="hidden" id="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<input type="hidden" id="shippingDlvyAmt" name="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<c:choose>
<c:when test="${0 == refundList.dlvyAmt}">
<span class="fs-13 fw-400">무료</span>
@@ -2665,7 +2686,7 @@
<c:if test="${status.index == 0}">
<td class="center" ${fn:length(resultMap.result.itemsList) > 1 ? 'rowspan="' += fn:length(resultMap.result.itemsList) += '"' : ''}>
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
<input type="hidden" id="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<input type="hidden" id="shippingDlvyAmt" name="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<c:choose>
<c:when test="${0 == refundList.dlvyAmt}">
<span class="fs-13 fw-400">무료</span>