From 54831a6d3835a69baf684b9a738e05a16e97ddce Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 29 May 2023 17:08:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E9=94=80=E5=85=BC=E5=AE=B9=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbsCostApplyController.java | 2 +- .../tbs/entity/TbsActivityPayCondition.java | 2 +- .../service/impl/TbsBudgetServiceImpl.java | 2 +- .../service/impl/TbsCostApplyServiceImpl.java | 9 ++- .../service/VtbVerificationApplication.java | 12 ++++ .../impl/VtbVerificationServiceImpl.java | 70 +++++++++++-------- 6 files changed, 59 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index 58c548bc..a27ca601 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -294,7 +294,7 @@ public class TbsCostApplyController { @Transactional(rollbackFor = Exception.class) public R deleteById(@PathVariable("id") Long id){ TbsCostApply entity = tbsCostApplyService.getById(id); - if(!entity.getChargeState().equals(0)|| + if(!entity.getChargeState().equals(0)&& !entity.getChargeState().equals(TbsCostApplyState.State_5_stop.getCode())){ return R.error("占用预算的申请,不支持删除"); } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java index 7068ca21..73da3ced 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java @@ -65,7 +65,7 @@ public class TbsActivityPayCondition implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate paymentDate; - /** 完成标识 2->审批中 */ + /** 1->完成标识 2->审批中,0->未处理 */ private Integer finishedFlag; /** 备注 */ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index e164727c..ef633575 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -119,7 +119,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl itemBudget.setEndDate(scheduleItem.getEndDate()); itemBudget.setBudgetId(budget.getId()); for (TbsBudgetBo.ScheduleItem boScheduleItem : budgetBo.getScheduleItems()) { - if(itemBudget.getId().equals(boScheduleItem.getScheduleItemId())){ + if(scheduleItem.getId().equals(boScheduleItem.getScheduleItemId())){ itemBudget.setBudgetAmount(boScheduleItem.getAmount()); break; } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index f013c684..ace20504 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -283,11 +283,10 @@ public class TbsCostApplyServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(TbsActivityPayCondition::getCostApplyId,costApplyId); - List conditionList = tbsActivityPayConditionMapper.selectList(lqw); - for (TbsActivityPayCondition condition : conditionList) { - if(condition.getFinishedFlag().equals(0)){ - return; - } + lqw.ne(TbsActivityPayCondition::getFinishedFlag,1); + Long count = tbsActivityPayConditionMapper.selectCount(lqw); + if (count>0){ + return; } }else { LambdaQueryWrapper actLqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index f8e7d454..b0d72373 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -216,6 +216,18 @@ public class VtbVerificationApplication { TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId()); payCondition.setFinishedFlag(1); activityPayConditionService.updateById(payCondition); + }else { + //刷新活动金额 + TbsActivity activity = tbsActivityService.getById(verification.getActivityId()); + BigDecimal totalUsed = activity.getUsedAmount().add(totalAmount); + TbsActivity activity4Upd = new TbsActivity(); + activity4Upd.setId(activity.getId()); + if(totalUsed.compareTo(activity.getTotalAmount())>=0){ + activity4Upd.setActivityState(TbsActivityState.STATE_1_Finished); + }else { + activity4Upd.setActivityState(TbsActivityState.STATE_0_Todo); + } + tbsActivityService.updateById(activity4Upd); } //更新金额,已完成 VtbVerification vtbVer = new VtbVerification(); 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 3772de9a..ebe076bb 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 @@ -156,6 +156,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl updLqw = new LambdaQueryWrapper<>(); + updLqw.eq(TbsActivityPayCondition::getActivityId,activityId); + TbsActivityPayCondition payCondition = new TbsActivityPayCondition(); + payCondition.setFinishedFlag(1); + activityPayConditionService.update(payCondition,updLqw); //如果为最后的活动,更变费用申请状态 costApplyService.flushCostStatus(costApply.getId(),costApply.getContractFlag().equals(1)); } @@ -234,14 +240,6 @@ public class VtbVerificationServiceImpl extends ServiceImpl0){ Assert.throwEx("支付条件已核销"); } -// BigDecimal totalCheck = BigDecimal.ZERO; -// for (VtbVerification verification : vtbVerificationList) { -// totalCheck = totalCheck.add(verification.getAmount()); -// } -// BigDecimal totalCheckPl = payCondition.getPaymentPrice().subtract(totalCheck); -// if(totalCheckPl.compareTo(totalSubjectAmt)>1){ -// Assert.throwEx("核销金额超过支付条件金额,剩余金额:"+totalCheckPl.doubleValue()); -// } payCondition.setFinishedFlag(2); activityPayConditionService.updateById(payCondition); } @@ -336,28 +334,6 @@ public class VtbVerificationServiceImpl extends ServiceImpl activityList = activityService.listByCostApplyId(costApply.getId()); - boolean updateChargeState = true; - for (TbsActivity tbsActivity : activityList) { - if(!tbsActivity.getActivityState().equals(TbsActivityState.STATE_4_Release) - &&!tbsActivity.getActivityState().equals(TbsActivityState.STATE_1_Finished)){ - updateChargeState = false; - break; - } - } - if(updateChargeState){ - updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode()); - } - } - costApplyService.updateById(updCost); } /** @@ -595,6 +571,40 @@ public class VtbVerificationServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(TbsActivityPayCondition::getCostApplyId,costApply.getId()); + lambdaQueryWrapper.ne(TbsActivityPayCondition::getFinishedFlag,1); + long count = activityPayConditionService.count(lambdaQueryWrapper); + if(count<1){ + updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode()); + } + }else { + //所有活动完成 + List activityList = activityService.listByCostApplyId(costApply.getId()); + boolean updateChargeState = true; + for (TbsActivity tbsActivity : activityList) { + if(!tbsActivity.getActivityState().equals(TbsActivityState.STATE_4_Release) + &&!tbsActivity.getActivityState().equals(TbsActivityState.STATE_1_Finished)){ + updateChargeState = false; + break; + } + } + if(updateChargeState){ + updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode()); + } + } + costApplyService.updateById(updCost); + } /**