ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java
@@ -694,9 +694,12 @@ Map<Long, List<FlwHisTask>> flwHisTaskMap = flwHisTaskList.stream().collect(Collectors.groupingBy(FlwHisTask::getInstanceId)); //查询原因 List<String> taskIds = flwHisTaskList.stream().map(FlowEntity::getId).map(String::valueOf).collect(Collectors.toList()); List<StateProcessInstanceAction> actions = stateProcessInstanceActionService.list( Wrappers.<StateProcessInstanceAction>lambdaQuery().in(StateProcessInstanceAction::getNodeId, taskIds)); Map<String, StateProcessInstanceAction> actionMap = actions.stream().collect(Collectors.toMap(StateProcessInstanceAction::getNodeId, Function.identity())); Map<String, StateProcessInstanceAction> actionMap = new HashMap<>(); if(!CollectionUtils.isEmpty(taskIds)){ List<StateProcessInstanceAction> actions = stateProcessInstanceActionService.list( Wrappers.<StateProcessInstanceAction>lambdaQuery().in(StateProcessInstanceAction::getNodeId, taskIds)); actionMap = actions.stream().collect(Collectors.toMap(StateProcessInstanceAction::getNodeId, Function.identity())); } List<String> updateUserId = processTaskListVOS.getRecords().stream().map(ProcessTaskListVO::getCreateBy).collect(Collectors.toList()); Map<Long, SysUser> sysUserMap; @@ -726,9 +729,11 @@ } } } StateProcessInstanceAction action = actionMap.get(processTaskListVO.getTaskId()); if (ObjectUtil.isNotEmpty(action)) { processTaskListVO.setReason(action.getRemark()); if(!CollectionUtils.isEmpty(actionMap)){ StateProcessInstanceAction action = actionMap.get(processTaskListVO.getTaskId()); if (ObjectUtil.isNotEmpty(action)) { processTaskListVO.setReason(action.getRemark()); } } SysUser sysUser = sysUserMap.get(processTaskListVO.getCreateBy()); if (Objects.nonNull(sysUser)) { ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java
@@ -41,9 +41,13 @@ // 查询所有未缴费账单 List<TBill> list = billMapper.selectList(new LambdaQueryWrapper<TBill>().ne(TBill::getPayFeesStatus, 5) .ne(TBill::getOutstandingMoney,0)); List<TContract> contractList = contractService.list(); for (TBill tBill : list) { tBill.setPayFeesStatus("4"); TContract contract = contractService.getById(tBill.getContractId()); TContract contract = contractList.stream().filter(e -> e.getId().equals(tBill.getContractId())).findFirst().orElse(null); if (contract==null)continue; if (contract.getProportion().compareTo(BigDecimal.ZERO)==0)continue; LocalDate payableFeesTime = tBill.getPayableFeesTime(); // 将LocalDate转化为LocalDateTime LocalDateTime payableFeesTime1 = LocalDateTime.of(payableFeesTime, LocalTime.of(0, 0, 0)); @@ -65,11 +69,10 @@ boolean isok = redisCache.trylockLoop(lockkey, requestId, 60); if (isok){ try { BigDecimal money = tBill.getOutstandingMoney().multiply(new BigDecimal(100).add(proportion)).divide(new BigDecimal(100),2, BigDecimal.ROUND_DOWN); BigDecimal money = contract.getTotalYear().multiply(proportion.divide(new BigDecimal(100),4, BigDecimal.ROUND_DOWN)); tBill.setOverDays((int) l); BigDecimal bigDecimal = tBill.getOutstandingMoney().multiply(proportion).setScale(2, BigDecimal.ROUND_DOWN); tBill.setPayableFeesPenalty(tBill.getPayableFeesPenalty()!=null?tBill.getPayableFeesPenalty():new BigDecimal("0").add(bigDecimal)); tBill.setOutstandingMoney(money); tBill.setPayableFeesPenalty(tBill.getPayableFeesPenalty()!=null?tBill.getPayableFeesPenalty().add(money):new BigDecimal("0").add(money)); tBill.setOutstandingMoney(money.add(tBill.getOutstandingMoney())); billMapper.updateById(tBill); }finally { redisCache.unlock(lockkey,requestId);