无关风月
2025-06-26 69b10ab2a3e171e6f30091ee54d8957cf4987809
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
@@ -150,11 +150,26 @@
        List<TTask> finishTask = taskCleanerService.lambdaQuery().eq(TTask::getPatrolInspector, userId)
                .ge(TTask::getImplementTime, startOfMonth)
                .le(TTask::getImplementTime, endOfMonth).list();
        List<String> taskIds = finishTask.stream().map(TTask::getId).collect(Collectors.toList());
        List<TTaskDetail> taskDetails = taskDetailService.lambdaQuery()
                .eq(TTaskDetail::getAuditStatus,1).in(TTaskDetail::getTaskId, taskIds)
                .isNotNull(TTaskDetail::getClearStatus)
                .groupBy(TTaskDetail::getTaskId)
                .orderByDesc(TTaskDetail::getCreateTime).list();
        int size = (int) finishTask.stream().filter(e -> e.getStatus() == 5 || e.getStatus() == 6).count();
        userIndexVO.setFinishCount(size);
        BigDecimal divide = new BigDecimal(size).divide(new BigDecimal(finishTask.size()), 2, BigDecimal.ROUND_DOWN);
        userIndexVO.setRate(divide);
//        userIndexVO.setRanking();
        List<TTaskDetail> status1 = taskDetails.stream().filter(e -> e.getClearStatus() == 1).collect(Collectors.toList());
        List<TTaskDetail> status2 = taskDetails.stream().filter(e -> e.getClearStatus() == 2).collect(Collectors.toList());
        if (status1.size()+status2.size()!=0){
            BigDecimal divide = new BigDecimal(status1.size()+status2.size())
                    .divide(new BigDecimal(status1.size()), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
            userIndexVO.setRate(divide);
        }else{
            userIndexVO.setRate(new BigDecimal(0));
        }
        // todo 月排名
        userIndexVO.setRanking(0);
        return R.ok(userIndexVO);
    }
    @ApiOperation(value = "任务记录分页列表")
@@ -267,7 +282,7 @@
    @ApiOperation(value = "上传督察任务")
    @PostMapping(value = "/addInspector")
    public R<Boolean> addInspector(@RequestBody InspectorAddDTO dto) {
        dto.setCommit_person(tokenService.getLoginUser().getUserId()+"");
        dto.setCommitPerson(tokenService.getLoginUser().getUserId()+"");
        if (dto.getClearStatus()==1){
            dto.setStatus(4);
        }else{