Browse Source

核销作废

v1.0
Yen 2 years ago
parent
commit
5e8c3d34d5
  1. 2
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  2. 46
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

2
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -80,7 +80,7 @@ public class VtbVerificationController {
*/ */
@DeleteMapping("/removeCheckById/{id}") @DeleteMapping("/removeCheckById/{id}")
public R<?> removeVtbById(@PathVariable("id") Long id){ public R<?> removeVtbById(@PathVariable("id") Long id){
vtbVerificationService.removeCheck(id);
return R.ok(); return R.ok();
} }

46
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -114,8 +114,15 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if (!verification.getVerificationState().equals(VtbVerificationState.Finished.getCode())){ if (!verification.getVerificationState().equals(VtbVerificationState.Finished.getCode())){
Assert.throwEx("当前核销不可作废"); Assert.throwEx("当前核销不可作废");
} }
//移除核销相关记录 TbsActivity activity = activityService.getById(verification.getActivityId());
this.removeWithVerification(id); 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()); TbsCostApply costApply = costApplyService.getById(verification.getCostApplyId());
if(costApply.getContractFlag().equals(1)){ if(costApply.getContractFlag().equals(1)){
@ -125,9 +132,36 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
payCondition.setFinishedFlag(0); payCondition.setFinishedFlag(0);
activityPayConditionService.updateById(payCondition); 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)); 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); rmqw.eq("verification_id",verificationId);
fundFlowService.remove(rmqw); fundFlowService.remove(rmqw);
verificationSubjectService.remove(rmqw);
verificationChannelService.remove(rmqw);
verificationChannelPointService.remove(rmqw);
verificationYardMapper.delete(rmqw); verificationYardMapper.delete(rmqw);
verificationYardItemMapper.delete(rmqw); verificationYardItemMapper.delete(rmqw);
// verificationSubjectService.remove(rmqw);
// verificationChannelService.remove(rmqw);
// verificationChannelPointService.remove(rmqw);
} }

Loading…
Cancel
Save