|
|
@ -90,7 +90,6 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
} |
|
|
|
//添加支持:活动明细删除了,在bir_activity_center_goods还存在
|
|
|
|
|
|
|
|
|
|
|
|
// 删除历史数据
|
|
|
|
List<Long> activityIds = activityCenterGoodsAllList.stream().filter(a->a.getId()!=null) |
|
|
|
.map(TbsActivityCenterGoods::getActivityId).collect(Collectors.toList()); |
|
|
@ -243,6 +242,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
entity.setSplitAmount(goodSplitDTO.getCurrentSplitAmount()); |
|
|
|
entity.setSplitUsedAmount(goodSplitDTO.getCurrentSplitCheckAmount()); |
|
|
|
entity.setSplitReleaseAmount(goodSplitDTO.getCurrentSplitReleaseAmount()); |
|
|
|
entity.setSplitPayAmount(goodSplitDTO.getCurrentSplitPayAmount()); |
|
|
|
entity.setCenterGoodsCode(activityCenterGoods.getCenterGoodsCode()); |
|
|
|
entity.setCostApplyId(activityCenterGoods.getCostApplyId()); |
|
|
|
entity.setActivityId(activityCenterGoods.getActivityId()); |
|
|
@ -254,6 +254,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
releaseAmount = entity.getActivityTotalAmount().subtract(entity.getActivityTotalCheckAmount()); |
|
|
|
} |
|
|
|
entity.setActivityTotalReleaseAmount(releaseAmount); |
|
|
|
entity.setActivityTotalPayAmount(activityCenterGoods.getPayAmount()); |
|
|
|
entity.setActivityFinishedFlag(activityCenterGoods.getActivityFinishedFlag()); |
|
|
|
entity.setSubjectId(activityCenterGoods.getSubjectId()); |
|
|
|
entity.setSubjectCode(activityCenterGoods.getSubjectCode()); |
|
|
@ -408,6 +409,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
BigDecimal currentCheckAmount = activityCenterGoods.getUsedAmount(); |
|
|
|
BigDecimal splitCheckAmount = activityCenterGoods.getUsedAmount(); |
|
|
|
|
|
|
|
BigDecimal currentPayAmount = activityCenterGoods.getPayAmount(); |
|
|
|
BigDecimal splitPayAmount = activityCenterGoods.getPayAmount(); |
|
|
|
|
|
|
|
// sort==size 最后一个节点
|
|
|
|
if (currDateSplit.getSort().equals(dateSplitList.size())) { |
|
|
|
for (DateSplitDTO splitDTO : dateSplitList) { |
|
|
@ -419,21 +423,25 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
} |
|
|
|
splitCenterGoodsAmount = splitCenterGoodsAmount.subtract(currentCenterGoodsAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
splitCheckAmount = splitCheckAmount.subtract(currentCheckAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
splitPayAmount = splitPayAmount.subtract(currentPayAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
BigDecimal dayRate = new BigDecimal(currDateSplit.getDays() + "") |
|
|
|
.divide(new BigDecimal(currentActDays + ""), 4, BigDecimal.ROUND_HALF_DOWN); |
|
|
|
splitCenterGoodsAmount = currentCenterGoodsAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP); |
|
|
|
splitCheckAmount = currentCheckAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP); |
|
|
|
splitPayAmount = currentPayAmount.multiply(dayRate).setScale(2, RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = new BirCenterGoodSplitDTO(); |
|
|
|
goodSplitDTO.setCurrentSplitAmount(splitCenterGoodsAmount); |
|
|
|
goodSplitDTO.setCurrentSplitCheckAmount(splitCenterGoodsAmount); |
|
|
|
goodSplitDTO.setCurrentSplitPayAmount(splitPayAmount); |
|
|
|
goodSplitDTO.setCurrentSplitReleaseAmount(BigDecimal.ZERO); |
|
|
|
if(activityCenterGoods.getActivityFinishedFlag().equals(1)){ |
|
|
|
BigDecimal currentReleaseAmount = splitCenterGoodsAmount.subtract(splitCheckAmount); |
|
|
|
goodSplitDTO.setCurrentSplitReleaseAmount(currentReleaseAmount); |
|
|
|
goodSplitDTO.setCurrentSplitCheckAmount(splitCheckAmount); |
|
|
|
goodSplitDTO.setCurrentSplitPayAmount(splitPayAmount); |
|
|
|
} |
|
|
|
return goodSplitDTO; |
|
|
|
} |
|
|
|