From 48d938c4f7742b2392997ed78a4d7f5d17a899d7 Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Fri, 23 Oct 2026 17:36:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=8C=89=E6=8F=90=E8=B4=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=87=8D=E6=96=B0=E8=AE=A1=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../price/domain/vo/LocalRebillRequest.java | 2 ++ .../service/impl/PrcOrderBillServiceImpl.java | 30 ++++++++++++++----- bms-front/src/views/price/orderBill/index.vue | 11 ++++--- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/bms-back/bms-system/src/main/java/com/bms/price/domain/vo/LocalRebillRequest.java b/bms-back/bms-system/src/main/java/com/bms/price/domain/vo/LocalRebillRequest.java index ad5f756a..d80e807b 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/domain/vo/LocalRebillRequest.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/domain/vo/LocalRebillRequest.java @@ -28,4 +28,6 @@ public class LocalRebillRequest implements Serializable private String creditArrearsStatus; private String beginBizDate; private String endBizDate; + private String beginPickupDate; + private String endPickupDate; } diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcOrderBillServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcOrderBillServiceImpl.java index 335b5c79..78ec31b9 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcOrderBillServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcOrderBillServiceImpl.java @@ -1007,16 +1007,24 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService : request.getCountryCode().trim().toUpperCase(); String beginBizDate = StringUtils.isEmpty(request.getBeginBizDate()) ? null : request.getBeginBizDate().trim(); String endBizDate = StringUtils.isEmpty(request.getEndBizDate()) ? null : request.getEndBizDate().trim(); - boolean hasFilter = (orderNos != null && !orderNos.isEmpty()) + String beginPickupDate = StringUtils.isEmpty(request.getBeginPickupDate()) ? null + : request.getBeginPickupDate().trim(); + String endPickupDate = StringUtils.isEmpty(request.getEndPickupDate()) ? null + : request.getEndPickupDate().trim(); + boolean hasIdentifier = (orderNos != null && !orderNos.isEmpty()) || (trackingNos != null && !trackingNos.isEmpty()) || (transferNos != null && !transferNos.isEmpty()) - || (orderIdentifiers != null && !orderIdentifiers.isEmpty()) - || (customerCodes != null && !customerCodes.isEmpty()) - || (productCodes != null && !productCodes.isEmpty()) + || (orderIdentifiers != null && !orderIdentifiers.isEmpty()); + boolean hasCustomer = customerCodes != null && !customerCodes.isEmpty(); + boolean hasBizDate = StringUtils.isNotEmpty(beginBizDate) && StringUtils.isNotEmpty(endBizDate); + boolean hasPickupDate = StringUtils.isNotEmpty(beginPickupDate) && StringUtils.isNotEmpty(endPickupDate); + boolean hasOtherFilter = (productCodes != null && !productCodes.isEmpty()) || StringUtils.isNotEmpty(creditArrearsStatus) - || StringUtils.isNotEmpty(countryCode) - || StringUtils.isNotEmpty(beginBizDate) - || StringUtils.isNotEmpty(endBizDate); + || StringUtils.isNotEmpty(countryCode); + // Same gate as order-list UI: identifiers, or customer + (bizDate or pickupDate). + boolean hasFilter = hasIdentifier + || (hasCustomer && (hasBizDate || hasPickupDate)) + || hasOtherFilter; if (!hasFilter) { throw new ServiceException(MessageUtils.message("price.bill.recalc.filterRequired")); @@ -1039,6 +1047,14 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService { query.getParams().put("endBizDate", endBizDate); } + if (beginPickupDate != null) + { + query.getParams().put("beginPickupDate", beginPickupDate); + } + if (endPickupDate != null) + { + query.getParams().put("endPickupDate", endPickupDate); + } return query; } diff --git a/bms-front/src/views/price/orderBill/index.vue b/bms-front/src/views/price/orderBill/index.vue index 834cc587..8d837a90 100644 --- a/bms-front/src/views/price/orderBill/index.vue +++ b/bms-front/src/views/price/orderBill/index.vue @@ -410,7 +410,9 @@ function buildRebillFilter() { orderStatuses: Array.isArray(q.orderStatuses) ? q.orderStatuses : [], billingFailStatuses: Array.isArray(q.billingFailStatuses) ? q.billingFailStatuses : [], beginBizDate: q.params?.beginBizDate || null, - endBizDate: q.params?.endBizDate || null + endBizDate: q.params?.endBizDate || null, + beginPickupDate: q.params?.beginPickupDate || null, + endPickupDate: q.params?.endPickupDate || null } return filter } @@ -420,7 +422,8 @@ function hasRebillFilter(filter) { if (ids.length) return true const hasCustomer = Array.isArray(filter.customerCodes) && filter.customerCodes.length > 0 const hasBizDate = !!(filter.beginBizDate && filter.endBizDate) - return hasCustomer && hasBizDate + const hasPickupDate = !!(filter.beginPickupDate && filter.endPickupDate) + return hasCustomer && (hasBizDate || hasPickupDate) } function buildCheckQuery() { @@ -507,7 +510,7 @@ function openFilterRebill() { const identifiers = filter.orderIdentifiers || [] if (!validateOrderIdentifierLimit(identifiers)) return if (!hasRebillFilter(filter)) { - ElMessage.warning('请输入单号,或选择客户并选择计费时间后再重新计费;也可勾选订单后点重新计费选中') + ElMessage.warning('请输入单号,或选择客户并选择计费时间或提货时间后再重新计费;也可勾选订单后点重新计费选中') return } if (identifiers.length > MAX_REBILL) { @@ -518,7 +521,7 @@ function openFilterRebill() { if (identifiers.length) { confirmText = '将按 ' + identifiers.length + ' 个单号从本地订单表重新计费(不查上游),确认继续?' } else { - confirmText = '将按当前列表筛选(客户 + 计费时间等)从本地订单表重新计费(不查上游),确认继续?' + confirmText = '将按当前列表筛选(客户 + 计费时间/提货时间等)从本地订单表重新计费(不查上游),确认继续?' } runLocalRebill(filter, confirmText) }