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}