Browse Source

核销兼容协议类

contract
Yen 2 years ago
parent
commit
54831a6d38
  1. 2
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  2. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityPayCondition.java
  3. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  4. 9
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  5. 12
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  6. 70
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

2
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("占用预算的申请,不支持删除");
}

2
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;
/** 备注 */

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -119,7 +119,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
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;
}

9
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -283,11 +283,10 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
if(isContractFlag){
LambdaQueryWrapper<TbsActivityPayCondition> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityPayCondition::getCostApplyId,costApplyId);
List<TbsActivityPayCondition> 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<TbsActivity> actLqw = new LambdaQueryWrapper<>();

12
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();

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

@ -156,6 +156,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(CollectionUtil.isNotEmpty(budgetLogList)){
budgetLogService.saveBatch(budgetLogList);
}
//更新付款条件状态
LambdaQueryWrapper<TbsActivityPayCondition> 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 ServiceImpl<VtbVerificationMappe
if(vtbVerificationList.size()>0){
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<VtbVerificationMappe
activityParam.setId(activity.getId());
activityParam.setActivityState(TbsActivityState.STATE_1_Checking);
activityService.updateById(activityParam);
//计算费用申请是否完成
BigDecimal totalCostApplyUsed = costApply.getTotalActivityUsedAmount().add(totalAmount);
TbsCostApply updCost = new TbsCostApply();
updCost.setId(costApply.getId());
updCost.setTotalActivityUsedAmount(totalCostApplyUsed);
if(costApply.getTotalActivityAmount().compareTo(totalCostApplyUsed)<=0){
updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode());
}else {
List<TbsActivity> 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<VtbVerificationMappe
VtbVerificationSubject subjectParam = new VtbVerificationSubject();
subjectParam.setEffectiveFlag(1);
verificationSubjectService.update(subjectParam,subjectLqw);
BigDecimal totalCostApplyUsed = costApply.getTotalActivityUsedAmount().add(verification.getAmount());
TbsCostApply updCost = new TbsCostApply();
updCost.setId(costApply.getId());
updCost.setTotalActivityUsedAmount(totalCostApplyUsed);
if(costApply.getTotalActivityAmount().compareTo(totalCostApplyUsed)<=0){
//金额是否用完
updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode());
}else if (costApply.getContractFlag().equals(1)){
//协议类
LambdaQueryWrapper<TbsActivityPayCondition> 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<TbsActivity> 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);
}
/**

Loading…
Cancel
Save