|
|
@ -114,8 +114,15 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
|
if (!verification.getVerificationState().equals(VtbVerificationState.Finished.getCode())){ |
|
|
|
Assert.throwEx("当前核销不可作废"); |
|
|
|
} |
|
|
|
//移除核销相关记录
|
|
|
|
this.removeWithVerification(id); |
|
|
|
TbsActivity activity = activityService.getById(verification.getActivityId()); |
|
|
|
if(activity.getReleaseFlag()!=null&&activity.getReleaseFlag().equals(1)){ |
|
|
|
Assert.throwEx("当前活动已释放不可作废"); |
|
|
|
} |
|
|
|
boolean canCancel = activity.getActivityState().equals(TbsActivityState.STATE_0_Todo)|| |
|
|
|
activity.getActivityState().equals(TbsActivityState.STATE_1_Finished); |
|
|
|
if(!canCancel){ |
|
|
|
Assert.throwEx("当前活动状态不可作废"); |
|
|
|
} |
|
|
|
//判断费用申请类型
|
|
|
|
TbsCostApply costApply = costApplyService.getById(verification.getCostApplyId()); |
|
|
|
if(costApply.getContractFlag().equals(1)){ |
|
|
@ -125,9 +132,36 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
|
payCondition.setFinishedFlag(0); |
|
|
|
activityPayConditionService.updateById(payCondition); |
|
|
|
} |
|
|
|
//移除核销相关记录
|
|
|
|
this.removeWithVerification(id); |
|
|
|
//更新活动统计金额
|
|
|
|
|
|
|
|
LambdaQueryWrapper<VtbVerification> vtbVerificationLqw = new LambdaQueryWrapper<>(); |
|
|
|
vtbVerificationLqw.eq(VtbVerification::getActivityId,activity.getId()); |
|
|
|
vtbVerificationLqw.ne(VtbVerification::getId,id); |
|
|
|
List<VtbVerification> vtbVerificationList = this.list(vtbVerificationLqw); |
|
|
|
BigDecimal totalVtbAmt = BigDecimal.ZERO; |
|
|
|
for (VtbVerification vtbVerification : vtbVerificationList) { |
|
|
|
totalVtbAmt = totalVtbAmt.add(vtbVerification.getAmount()); |
|
|
|
} |
|
|
|
//更新活动状态
|
|
|
|
TbsActivity activityUpdate = new TbsActivity(); |
|
|
|
activityUpdate.setId(costApply.getId()); |
|
|
|
activityUpdate.setActivityState(TbsActivityState.STATE_0_Todo); |
|
|
|
activityUpdate.setUsedAmount(totalVtbAmt); |
|
|
|
activityService.updateById(activityUpdate); |
|
|
|
//更新活动其它表金额
|
|
|
|
BigDecimal n100 = new BigDecimal("100"); |
|
|
|
BigDecimal n10000 = new BigDecimal("10000"); |
|
|
|
List<TbsActivityCenter> activityCenterList = activityCenterService.listByActivity(activity.getId()); |
|
|
|
for (TbsActivityCenter activityCenter : activityCenterList) { |
|
|
|
activityCenter.setUsedAmount(totalVtbAmt.multiply(activityCenter.getCenterRate()).divide(n100,2, RoundingMode.DOWN)); |
|
|
|
} |
|
|
|
activityCenterService.updateBatchById(activityCenterList); |
|
|
|
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activity.getId()); |
|
|
|
for (TbsActivityCenterGoods centerGoods : centerGoodsList) { |
|
|
|
centerGoods.setUsedAmount(totalVtbAmt.multiply(centerGoods.getCenterRate()).multiply(centerGoods.getCenterGoodsRate()).divide(n10000,2,RoundingMode.DOWN)); |
|
|
|
} |
|
|
|
activityCenterGoodsService.updateBatchById(centerGoodsList); |
|
|
|
//如果为最后的活动,更变费用申请状态
|
|
|
|
costApplyService.flushCostStatus(costApply.getId(),costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)); |
|
|
|
} |
|
|
@ -137,11 +171,11 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
|
rmqw.eq("verification_id",verificationId); |
|
|
|
|
|
|
|
fundFlowService.remove(rmqw); |
|
|
|
verificationSubjectService.remove(rmqw); |
|
|
|
verificationChannelService.remove(rmqw); |
|
|
|
verificationChannelPointService.remove(rmqw); |
|
|
|
verificationYardMapper.delete(rmqw); |
|
|
|
verificationYardItemMapper.delete(rmqw); |
|
|
|
// verificationSubjectService.remove(rmqw);
|
|
|
|
// verificationChannelService.remove(rmqw);
|
|
|
|
// verificationChannelPointService.remove(rmqw);
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|