xuhy
10 天以前 44ae40a268c94886f653831a6f88b80ae28ddd33
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java
@@ -115,12 +115,21 @@
            if (deptType == 1) {
                // 查询片区
                TProjectDept projectDept = projectDeptService.getById(deptId);
                // 查询项目部
                TProjectDept parent = projectDeptService.getById(projectDept.getParentId());
                List<TProjectDept> children = new ArrayList<>();
                children.add(projectDept);
                parent.setChildren(children);
                projectDeptList.add(parent);
                if("0".equals(projectDept.getParentId())){
                    // 查询项目部
                    List<TProjectDept> childProjectDept = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
                            .eq(TProjectDept::getStatus,1)
                            .eq(TProjectDept::getParentId,projectDept.getId()));
                    projectDept.setChildren(childProjectDept);
                    projectDeptList.add(projectDept);
                }else {
                    // 查询项目部
                    TProjectDept parent = projectDeptService.getById(projectDept.getParentId());
                    List<TProjectDept> children = new ArrayList<>();
                    children.add(projectDept);
                    parent.setChildren(children);
                    projectDeptList.add(parent);
                }
            }else {
                projectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
                        .eq(TProjectDept::getStatus,1)
@@ -305,10 +314,9 @@
        Long userId = tokenService.getLoginUser().getUserId();
        TaskSituationVO taskSituationVO = new TaskSituationVO();
        LambdaQueryWrapper<TTask> wrapper = new LambdaQueryWrapper<>();
        if(StringUtils.isEmpty(query.getStartTime()) || StringUtils.isNotEmpty(query.getEndTime())){
        if(StringUtils.isEmpty(query.getStartTime()) || StringUtils.isEmpty(query.getEndTime())){
            LocalDate now = LocalDate.now();
            String startTime = now.minusDays(6) + " 00:00:00";
            String endTime = now + " 23:59:59";
@@ -345,7 +353,8 @@
                // 公司人员
                // 查询自己的任务列表
                taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
                        .eq(TTask::getPatrolInspector, userId));
                        .eq(TTask::getPatrolInspector, userId)
                        .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime()));
                if(CollectionUtils.isEmpty(query.getProjectId())){
                    // 查询所有项目部的任务列表
                    List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -384,7 +393,8 @@
                }
            }
            // 超级管理员 查询所有的任务列表
            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class));
            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
                    .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime()));
            if(CollectionUtils.isEmpty(query.getProjectId())){
                // 查询所有项目部的任务列表
                List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -429,7 +439,7 @@
        for (TTask task : list) {
            TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
            if(Objects.nonNull(tTaskDetail)){
                if(tTaskDetail.getClearStatus() == 1){
                if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 1){
                    qualifiedWarn++;
                }
            }
@@ -445,27 +455,35 @@
        List<TaskSituationDayVO> taskSituationDayVOList = new ArrayList<>();
        LocalDateTime localDateTime = DateUtils.stringToLocalDateTime(query.getStartTime());
        String format = null;
        for (long i = 0; i <= daysBetween; i++) {
            TaskSituationDayVO taskSituationDayVO = new TaskSituationDayVO();
            String format;
            if(i == 0){
                format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
            }else {
                format = localDateTime.plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                format = DateUtils.stringToLocalDate(format).plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
            }
            taskSituationDayVO.setTaskTime(format);
            List<TTask> tTasks = list.stream().filter(task -> DateUtils.localDateTimeToString(task.getImplementTime()).contains(format)).collect(Collectors.toList());
            String finalFormat = format;
            List<TTask> tTasks = list.stream().filter(task -> DateUtils.localDateTimeToString(task.getImplementTime()).contains(finalFormat)).collect(Collectors.toList());
            // 任务数
            taskSituationDayVO.setTaskNum(tTasks.size());
            // 完成数
            taskSituationDayVO.setCompletedNum(tTasks.stream().filter(task -> task.getStatus() == 6).collect(Collectors.toList()).size());
            int qualifiedWarnChild = 0;
            for (TTask task : tTasks) {
                TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                if(Objects.nonNull(tTaskDetail)){
                    if(tTaskDetail.getClearStatus() == 1){
                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 1){
                        qualifiedWarnChild++;
                    }
                }
            }
            taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
            if(tTasks.isEmpty()){
                taskSituationDayVO.setCompleteRate(BigDecimal.ZERO);
            }else {
                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
            }
            taskSituationDayVOList.add(taskSituationDayVO);
        }
        taskSituationVO.setTaskSituationDayVO(taskSituationDayVOList);
@@ -509,7 +527,8 @@
                // 公司人员
                // 查询自己的任务列表
                taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
                        .eq(TTask::getPatrolInspector, userId));
                        .eq(TTask::getPatrolInspector, userId)
                        .between(TTask::getImplementTime, startTime, endTime));
                if(CollectionUtils.isEmpty(query.getProjectId())){
                    // 查询所有项目部的任务列表
                    List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -553,7 +572,7 @@
            for (TTask task : list) {
                TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                if(Objects.nonNull(tTaskDetail)){
                    if(tTaskDetail.getClearStatus() == 2){
                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 2){
                        result.add(task);
                    }
                }
@@ -578,7 +597,8 @@
                }
            }
            // 超级管理员 查询所有的任务列表
            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class));
            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
                    .between(TTask::getImplementTime, startTime, endTime));
            if(CollectionUtils.isEmpty(query.getProjectId())){
                // 查询所有项目部的任务列表
                List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -621,7 +641,7 @@
            for (TTask task : list) {
                TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                if(Objects.nonNull(tTaskDetail)){
                    if(tTaskDetail.getClearStatus() == 2){
                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 2){
                        result.add(task);
                    }
                }
@@ -757,8 +777,6 @@
    @PostMapping(value = "/cleaningQualitySummary")
    public R<Map<String, Object>> cleaningQualitySummary(@RequestBody DataStatisticsQuery query) {
        Map<String, Object> map = new HashMap<>();
        map.put("timeoutWarn", 0);
        map.put("unqualifiedWarn", 0);
        Integer deptType = tokenService.getLoginUser().getUser().getDeptType();
        String deptId = tokenService.getLoginUser().getUser().getDeptId();
        Long userId = tokenService.getLoginUser().getUserId();
@@ -827,10 +845,14 @@
            for (TTask task : list) {
                TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                if(Objects.nonNull(tTaskDetail)){
                    if(tTaskDetail.getClearStatus() == 2){
                        unqualifiedWarn++;
                    if(Objects.nonNull(tTaskDetail.getClearStatus())){
                        if(tTaskDetail.getClearStatus() == 2){
                            unqualifiedWarn++;
                        }else {
                            qualifiedWarn++;
                        }
                    }else {
                        qualifiedWarn++;
                        unqualifiedWarn++;
                    }
                }
            }
@@ -889,10 +911,14 @@
            for (TTask task : list) {
                TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                if(Objects.nonNull(tTaskDetail)){
                    if(tTaskDetail.getClearStatus() == 2){
                        unqualifiedWarn++;
                    if(Objects.nonNull(tTaskDetail.getClearStatus())){
                        if(tTaskDetail.getClearStatus() == 2){
                            unqualifiedWarn++;
                        }else {
                            qualifiedWarn++;
                        }
                    }else {
                        qualifiedWarn++;
                        unqualifiedWarn++;
                    }
                }
            }
@@ -968,6 +994,7 @@
            List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class)
                    .in(TTaskDetail::getTaskId, taskIds)
                    .eq(TTaskDetail::getClearStatus, 2)
                            .eq(TTaskDetail::getHandleType,1)
                    .orderByDesc(TTaskDetail::getCreateTime));
            List<TTaskDetail> taskDetailList = new ArrayList<>();
            for (TTask task : list) {