|
@@ -3,6 +3,8 @@ package com.fjhx.sale.flow;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.*;
|
|
|
+import com.fjhx.account.entity.account.po.AccountRunningWater;
|
|
|
+import com.fjhx.account.service.account.AccountRunningWaterService;
|
|
|
import com.fjhx.area.utils.CustomizeAreaUtil;
|
|
|
import com.fjhx.common.enums.FlowStatusEnum1;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
@@ -58,6 +60,9 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
private ClaimContractService claimContractService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private AccountRunningWaterService accountRunningWaterService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private ClaimService claimService;
|
|
|
|
|
|
@Autowired
|
|
@@ -284,6 +289,23 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
List<ClaimContract> claimContractList = claimContractService.list(Wrappers.<ClaimContract>query().lambda().eq(ClaimContract::getContractId,oldContractId));
|
|
|
List<Long> claimIds = claimContractList.stream().map(ClaimContract::getClaimId).collect(Collectors.toList());
|
|
|
List<Long> claimContractIds = claimContractList.stream().map(ClaimContract::getId).collect(Collectors.toList());
|
|
|
+ //取出到账认领数据
|
|
|
+ List<Claim> claims = claimService.list(q -> q.in(Claim::getId, claimIds));
|
|
|
+ for(Claim c : claims){
|
|
|
+ //查询流水数据
|
|
|
+ AccountRunningWater accountRunningWater = accountRunningWaterService.getById(c.getBusinessId());
|
|
|
+ BigDecimal sumClaimMoney = accountRunningWater.getClaimAmount().add(c.getAmount());
|
|
|
+ //更新流水数据为认领状态---已认领金额还原
|
|
|
+ AccountRunningWater water = new AccountRunningWater();
|
|
|
+ if(accountRunningWater.getAmount().compareTo(sumClaimMoney)>0){
|
|
|
+ water.setIsClaim(2);//部分认领
|
|
|
+ }else{
|
|
|
+ water.setIsClaim(0);//未认领
|
|
|
+ }
|
|
|
+ water.setId(c.getBusinessId());
|
|
|
+ water.setClaimAmount(sumClaimMoney);
|
|
|
+ accountRunningWaterService.updateById(water);
|
|
|
+ }
|
|
|
//删除到账认领数据
|
|
|
claimContractService.remove(q -> q.in(ClaimContract::getId, claimContractIds));
|
|
|
//删除到账认领数据
|