From 9c66ddc3ce35a35eb69c50e5f6d68caf8d9b8137 Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 23 Oct 2023 10:29:14 +0800 Subject: [PATCH] =?UTF-8?q?0=E5=85=83=E6=A0=B8=E9=94=80=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9Bbir=5Fact=E8=84=8F=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BirActivityCenterGoodsServiceImpl.java | 3 ++ .../impl/VtbVerificationServiceImpl.java | 36 +++++++++++++------ .../bir/BirActivityCenterGoodsMapper.xml | 26 +++++--------- .../mapper/bms/BmsChannelPointMapper.xml | 3 +- 4 files changed, 40 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java index 5b93391d..e340919b 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java @@ -88,6 +88,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl activityIds = activityCenterGoodsAllList.stream().filter(a->a.getId()!=null) .map(TbsActivityCenterGoods::getActivityId).collect(Collectors.toList()); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 31669cfd..c0cad725 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -957,8 +957,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl subjectBoList = verificationBo.getSubjectList(); int countCode = 1; for (VtbVerificationSubjectBo subjectBo : subjectBoList) { + boolean isCheckZero = subjectBo.getAmount().compareTo(BigDecimal.ZERO)==0; //忽略金额为0的数据 - if (subjectBo.getAmount() == null || subjectBo.getAmount().compareTo(BigDecimal.ZERO) < 1) { + if (subjectBo.getAmount() != null && subjectBo.getAmount().compareTo(BigDecimal.ZERO) < 1) { continue; } BmsSubject subject = subjectService.getById(subjectBo.getSubjectId()); @@ -970,17 +971,21 @@ public class VtbVerificationServiceImpl extends ServiceImpl subjectFundFlowItems = funFlowListMap.get(subject.getId()); - BigDecimal totalSubjectUsedAmount = BigDecimal.ZERO; - if (CollectionUtil.isNotEmpty(subjectFundFlowItems)) { - for (VtbFundFlow subjectFundFlowItem : subjectFundFlowItems) { - totalSubjectUsedAmount = totalSubjectUsedAmount.add(subjectFundFlowItem.getUsedAmount()); + //兼容支持非0元核销 + if(!isCheckZero){ + List subjectFundFlowItems = funFlowListMap.get(subject.getId()); + BigDecimal totalSubjectUsedAmount = BigDecimal.ZERO; + if (CollectionUtil.isNotEmpty(subjectFundFlowItems)) { + for (VtbFundFlow subjectFundFlowItem : subjectFundFlowItems) { + totalSubjectUsedAmount = totalSubjectUsedAmount.add(subjectFundFlowItem.getUsedAmount()); + } + } + totalSubjectUsedAmount = totalSubjectUsedAmount.add(subjectBo.getAmount()); + if (totalSubjectUsedAmount.compareTo(currentActivitySubject.getAmount()) > 0) { + Assert.throwEx("费用类型[" + subject.getSubjectName() + "]超额"); } } - totalSubjectUsedAmount = totalSubjectUsedAmount.add(subjectBo.getAmount()); - if (totalSubjectUsedAmount.compareTo(currentActivitySubject.getAmount()) > 0) { - Assert.throwEx("费用类型[" + subject.getSubjectName() + "]超额"); - } + //保存费用结果 VtbVerificationSubject verificationSubject = new VtbVerificationSubject(); verificationSubject.setVerificationSubCode(verificationCode+"_"+countCode); @@ -1013,6 +1018,17 @@ public class VtbVerificationServiceImpl extends ServiceImpl @@ -351,6 +351,7 @@ and `bms_channel_point`.`id` = #{query.id} and `bms_channel_point`.`channel_id` = #{query.channelId} and `bms_channel_point`.`channel_name` like concat('%',#{query.channelName},'%') + and `bms_channel_point`.`channel_code` like concat('%',#{query.channelCode},'%') and `bms_channel_point`.`point_code` like concat('%',#{query.pointCode},'%') and `bms_channel_point`.`point_name` like concat('%',#{query.pointName},'%') and `bms_channel_point`.`shop_area` = #{query.shopArea}