| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.dto.WorkBenchesDTO; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.query.DataStatisticsQuery; |
| | | import com.ruoyi.system.query.TaskSituationQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.vo.system.*; |
| | | import com.ruoyi.web.util.OssUploadUtil; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @Resource |
| | | private TTaskDetailService tTaskDetailService; |
| | | @Resource |
| | | private TDeptService deptService; |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | @Resource |
| | | private TAppealService appealService; |
| | | @Resource |
| | | private TDictDataService dictDataService; |
| | | |
| | | @PostMapping("/data") |
| | | @ApiOperation(value = "工作台", tags = "工作台") |
| | | public R<WorkBenchesVO> data(@RequestBody WorkBenchesDTO dto) { |
| | | |
| | | return R.ok(); |
| | | } |
| | | @Resource |
| | | private TCleanerService cleanerService; |
| | | @Resource |
| | | private TLeaveService leaveService; |
| | | |
| | | @ApiOperation(value = "查询部门 项目部列表 不分页") |
| | | @GetMapping(value = "/listDepts") |
| | |
| | | |
| | | @ApiOperation(value = "通过片区id查询点位类型") |
| | | @GetMapping(value = "/queryLocationByProjectId") |
| | | public R<List<TLocationType>> queryLocationByProjectId(@RequestParam(value = "projectId") String projectId) { |
| | | List<TLocationType> locationTypes = new ArrayList<>(); |
| | | // 通过片区id查询点位 |
| | | List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) |
| | | .eq(TLocation::getProjectId, projectId)); |
| | | if(CollectionUtils.isEmpty(locationList)){ |
| | | return R.ok(locationTypes); |
| | | } |
| | | List<String> typeIds = locationList.stream().map(TLocation::getLocationType).collect(Collectors.toList()); |
| | | locationTypes = locationTypeService.list(Wrappers.lambdaQuery(TLocationType.class) |
| | | .in(TLocationType::getId, typeIds)); |
| | | public R<List<TLocationType>> queryLocationByProjectId() { |
| | | List<TLocationType> locationTypes = locationTypeService.list(); |
| | | return R.ok(locationTypes); |
| | | } |
| | | |
| | | @ApiOperation(value = "顶部数量统计") |
| | | @PostMapping(value = "/topQuantityStatistics") |
| | | public R<Map<String, Object>> topQuantityStatistics(@RequestBody DataStatisticsQuery query) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | Integer deptType = tokenService.getLoginUser().getUser().getDeptType(); |
| | | String deptId = tokenService.getLoginUser().getUser().getDeptId(); |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | |
| | | LambdaQueryWrapper<TTask> wrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | List<TTask> list; |
| | | if (userId != 1L) { |
| | | // 查询点位类型 |
| | | if(StringUtils.isNotEmpty(query.getLocationTypeId())){ |
| | | // 查询点位 |
| | | List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) |
| | | .in(TLocation::getLocationType, query.getLocationTypeId())); |
| | | if(!CollectionUtils.isEmpty(locationList)){ |
| | | List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getLocationId, locationIds); |
| | | } |
| | | map.put("totalLocationNum", locationList.size()); |
| | | } |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | | taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class) |
| | | .eq(TTask::getPatrolInspector, userId)); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | // 查询所有项目部的任务列表 |
| | | List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) |
| | | .eq(TProjectDept::getStatus, 1) |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 查询片区 |
| | | if(!CollectionUtils.isEmpty(query.getProjectId())){ |
| | | wrapper.in(TTask::getProjectId, query.getProjectId()); |
| | | // 查询点位数 |
| | | List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) |
| | | .in(TLocation::getProjectId, query.getProjectId())); |
| | | map.put("totalLocationNum", locationList.size()); |
| | | } |
| | | |
| | | list = taskCleanService.list(wrapper); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return R.ok(); |
| | | } |
| | | |
| | | if(!CollectionUtils.isEmpty(taskList)){ |
| | | list.addAll(taskList); |
| | | } |
| | | }else { |
| | | // 超级管理员 |
| | | // 查询点位类型 |
| | | if(StringUtils.isNotEmpty(query.getLocationTypeId())){ |
| | | // 查询点位 |
| | | List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) |
| | | .in(TLocation::getLocationType, query.getLocationTypeId())); |
| | | if(!CollectionUtils.isEmpty(locationList)){ |
| | | List<String> locationIds = locationList.stream().map(TLocation::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getLocationId, locationIds); |
| | | } |
| | | map.put("totalLocationNum", locationList.size()); |
| | | } |
| | | // 超级管理员 查询所有的任务列表 |
| | | List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | // 查询所有项目部的任务列表 |
| | | List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) |
| | | .eq(TProjectDept::getStatus, 1) |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |
| | | // 查询片区 |
| | | if(!CollectionUtils.isEmpty(query.getProjectId())){ |
| | | wrapper.in(TTask::getProjectId, query.getProjectId()); |
| | | List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) |
| | | .in(TLocation::getProjectId, query.getProjectId())); |
| | | map.put("totalLocationNum", locationList.size()); |
| | | } |
| | | |
| | | list = taskCleanService.list(wrapper); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return R.ok(); |
| | | } |
| | | |
| | | if(!CollectionUtils.isEmpty(taskList)){ |
| | | list.addAll(taskList); |
| | | } |
| | | } |
| | | |
| | | // 查询任务相关数据 |
| | | // 总计任务数 |
| | | map.put("totalTaskNum", list.size()); |
| | | // 今日任务数 |
| | | map.put("todayTaskNum", list.stream().filter(tTask -> tTask.getImplementTime().toLocalDate().isEqual(LocalDate.now())).count()); |
| | | // 待执行任务数 |
| | | map.put("waitTaskNum", list.stream().filter(tTask -> tTask.getStatus() == 1).count()); |
| | | |
| | | // 总计员工数 |
| | | Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),deptType); |
| | | if (deptType != 1) { |
| | | totalEmployeeNum = totalEmployeeNum + 1; |
| | | } |
| | | map.put("totalEmployeeNum", totalEmployeeNum); |
| | | |
| | | // 今日请假员工数量 |
| | | List<TLeave> leaves = leaveService.list(Wrappers.lambdaQuery(TLeave.class) |
| | | .le(TLeave::getStartTime, LocalDate.now()) |
| | | .ge(TLeave::getEndTime, LocalDate.now()) |
| | | .eq(TLeave::getAuditStatus, 2)); |
| | | if(!CollectionUtils.isEmpty(leaves)){ |
| | | map.put("todayLeaveNum", leaves.size()); |
| | | }else { |
| | | map.put("todayLeaveNum", 0); |
| | | } |
| | | |
| | | // 总计保洁员数 |
| | | long totalCleanerNum = cleanerService.count(Wrappers.lambdaQuery(TCleaner.class) |
| | | .in(TCleaner::getProjectId, query.getProjectId())); |
| | | map.put("totalCleanerNum", totalCleanerNum); |
| | | |
| | | return R.ok(map); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "任务情况") |
| | | @PostMapping(value = "/taskSituation") |
| | | public R<List<TTask>> taskSituation(@RequestBody DataStatisticsQuery query) { |
| | | public R<TaskSituationVO> taskSituation(@RequestBody TaskSituationQuery query) { |
| | | Integer deptType = tokenService.getLoginUser().getUser().getDeptType(); |
| | | String deptId = tokenService.getLoginUser().getUser().getDeptId(); |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | |
| | | // 查询所有点位 |
| | | List<TLocation> locations = locationService.list(); |
| | | TaskSituationVO taskSituationVO = new TaskSituationVO(); |
| | | |
| | | LambdaQueryWrapper<TTask> wrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | if(StringUtils.isEmpty(query.getStartTime()) || StringUtils.isNotEmpty(query.getEndTime())){ |
| | | LocalDate now = LocalDate.now(); |
| | | String startTime = now.minusDays(6) + " 00:00:00"; |
| | | String endTime = now + " 23:59:59"; |
| | | query.setStartTime(startTime); |
| | | query.setEndTime(endTime); |
| | | }else { |
| | | query.setStartTime(query.getStartTime() + " 00:00:00"); |
| | | query.setEndTime(query.getEndTime() + " 23:59:59"); |
| | | } |
| | | |
| | | wrapper.between(TTask::getImplementTime, query.getStartTime(), query.getEndTime()); |
| | | |
| | | List<TTask> list; |
| | | if (userId != 1L) { |
| | | // 查询点位类型 |
| | | if(StringUtils.isNotEmpty(query.getLocationTypeId())){ |
| | |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | |
| | | wrapper.in(TTask::getProjectId, query.getProjectId()); |
| | | } |
| | | |
| | | List<TTask> list = taskCleanService.list(wrapper); |
| | | list = taskCleanService.list(wrapper); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return R.ok(); |
| | | } |
| | |
| | | if(!CollectionUtils.isEmpty(taskList)){ |
| | | list.addAll(taskList); |
| | | } |
| | | List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList()); |
| | | for (TTask task : result) { |
| | | TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tLocation)) { |
| | | task.setLocationName(tLocation.getLocationName()); |
| | | } |
| | | } |
| | | return R.ok(result); |
| | | }else { |
| | | // 超级管理员 |
| | | // 查询点位类型 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |
| | |
| | | wrapper.in(TTask::getProjectId, query.getProjectId()); |
| | | } |
| | | |
| | | List<TTask> list = taskCleanService.list(wrapper); |
| | | list = taskCleanService.list(wrapper); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return R.ok(); |
| | | } |
| | |
| | | if(!CollectionUtils.isEmpty(taskList)){ |
| | | list.addAll(taskList); |
| | | } |
| | | List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList()); |
| | | for (TTask task : result) { |
| | | TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tLocation)) { |
| | | task.setLocationName(tLocation.getLocationName()); |
| | | } |
| | | // 任务总数 |
| | | taskSituationVO.setTotalTaskNum(list.size()); |
| | | List<TTask> result = list.stream().filter(task -> task.getStatus() == 6).collect(Collectors.toList()); |
| | | // 已完成任务数 |
| | | taskSituationVO.setCompletedTaskNum(result.size()); |
| | | // 匹配任务详情查看合格数量 |
| | | List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(tasks)){ |
| | | taskSituationVO.setPassRate(BigDecimal.ZERO); |
| | | return R.ok(taskSituationVO); |
| | | } |
| | | List<String> taskIds = tasks.stream().map(TTask::getId).collect(Collectors.toList()); |
| | | List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class) |
| | | .in(TTaskDetail::getTaskId, taskIds) |
| | | .orderByDesc(TTaskDetail::getCreateTime)); |
| | | int qualifiedWarn = 0; |
| | | 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){ |
| | | qualifiedWarn++; |
| | | } |
| | | } |
| | | return R.ok(result); |
| | | } |
| | | taskSituationVO.setPassRate(new BigDecimal(qualifiedWarn).divide(new BigDecimal(tasks.size()), 2, RoundingMode.HALF_UP)); |
| | | |
| | | // 过滤每天的任务 |
| | | LocalDateTime start = DateUtils.stringToLocalDateTime(query.getStartTime()); |
| | | LocalDateTime end = DateUtils.stringToLocalDateTime(query.getEndTime()); |
| | | |
| | | long daysBetween = ChronoUnit.DAYS.between(start, end); |
| | | |
| | | List<TaskSituationDayVO> taskSituationDayVOList = new ArrayList<>(); |
| | | |
| | | LocalDateTime localDateTime = DateUtils.stringToLocalDateTime(query.getStartTime()); |
| | | 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")); |
| | | } |
| | | taskSituationDayVO.setTaskTime(format); |
| | | List<TTask> tTasks = list.stream().filter(task -> DateUtils.localDateTimeToString(task.getImplementTime()).contains(format)).collect(Collectors.toList()); |
| | | taskSituationDayVO.setTaskNum(tTasks.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){ |
| | | qualifiedWarnChild++; |
| | | } |
| | | } |
| | | } |
| | | taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP)); |
| | | taskSituationDayVOList.add(taskSituationDayVO); |
| | | } |
| | | taskSituationVO.setTaskSituationDayVO(taskSituationDayVOList); |
| | | return R.ok(taskSituationVO); |
| | | } |
| | | |
| | | @ApiOperation(value = "今日预警") |
| | |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |
| | |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |
| | |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |
| | |
| | | List<TTask> taskList = new ArrayList<>(); |
| | | if (deptType == 1) { |
| | | // 项目部人员 |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | if(CollectionUtils.isEmpty(query.getProjectId())){ |
| | | List<String> projectIds = new ArrayList<>(); |
| | | projectIds.add(deptId); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | }else { |
| | | // 公司人员 |
| | | // 查询自己的任务列表 |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | } |
| | |
| | | .ne(TProjectDept::getParentId, 0)); |
| | | if(!CollectionUtils.isEmpty(tProjectDeptList)){ |
| | | List<String> projectIds = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); |
| | | wrapper.in(TTask::getProjectId, projectIds); |
| | | query.setProjectId(projectIds); |
| | | } |
| | | } |
| | | |