| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | private TTaskDetailService tTaskDetailService; |
| | | @Resource |
| | | private TDeptService deptService; |
| | | @Resource |
| | | private TTemplateCountService templateCountService; |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | @Resource |
| | |
| | | TTemplate tTemplate = templates.stream().filter(e -> e.getId().equals(record.getTemplateId())).findFirst().orElse(null); |
| | | record.setNum1(1); |
| | | if(Objects.nonNull(tTemplate)){ |
| | | TTemplateCount templateCount = templateCountService.lambdaQuery().eq(TTemplateCount::getUserId, record.getUserId()) |
| | | .eq(TTemplateCount::getTemplateId, tTemplate.getId()) |
| | | .orderByDesc(TTemplateCount::getCreateTime).last("limit 1").one(); |
| | | if (templateCount!=null){ |
| | | record.setNum1(templateCount.getTaskCount()); |
| | | } |
| | | // todo 应生成计划数 |
| | | LocalDateTime createTime = tTemplate.getCreateTime(); |
| | | // 转化为yyyy-MM-dd字符串 |
| | |
| | | break; |
| | | } |
| | | } |
| | | LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp); |
| | | LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp-1); |
| | | stringBuilder.append(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | record.setTemplateDate(stringBuilder.toString()); |
| | | } |
| | | } |
| | | if (record.getNum2() != 0) { |
| | | |
| | | if (record.getNum1() != 0) { |
| | | record.setNum4(new BigDecimal((double) record.getNum2() / (double) record.getNum1() * 100).setScale(2, RoundingMode.HALF_DOWN)); |
| | | } else { |
| | | record.setNum4(new BigDecimal(0)); |
| | |
| | | } |
| | | List<ProjectDeptDetailsVO> res = new ArrayList<>(); |
| | | List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper); |
| | | if(CollectionUtils.isEmpty(tasks)){ |
| | | return R.ok(res); |
| | | } |
| | | List<TTaskDetail> taskDetails = taskDetailService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).list(); |
| | | List<String> collect = tasks.stream().map(TTask::getProjectId).distinct().collect(Collectors.toList()); |
| | | List<TProjectDept> projectDepts = projectDeptService.list(); |
| | |
| | | for (LocationTypeListByProjectVO locationTypeListByProjectVO : locationTypeListByProjectVOS) { |
| | | LocationTypeListByProjectVO temp = new LocationTypeListByProjectVO(); |
| | | BeanUtils.copyProperties(locationTypeListByProjectVO, temp); |
| | | List<String> locationIds = locations.stream().filter(e -> e.getLocationType().equals(locationTypeListByProjectVO.getId())).map(TLocation::getId).collect(Collectors.toList()); |
| | | List<String> locationIds = locations.stream().filter(e -> |
| | | e.getProjectId().equals(projectDeptDetailsChildVO.getProjectId())&& |
| | | e.getLocationType().equals(locationTypeListByProjectVO.getId())) |
| | | .map(TLocation::getId).collect(Collectors.toList()); |
| | | if (locationIds.isEmpty()) { |
| | | locationTypeListByProjectVO.setLocationNum(0); |
| | | } else { |
| | |
| | | List<SysUser> sysUsers = sysUserService.selectAllList(); |
| | | LambdaQueryWrapper<TLeave> tLeaveLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | if (StringUtils.hasLength(query.getStartTime())){ |
| | | tLeaveLambdaQueryWrapper.ge(TLeave::getCreateTime, query.getStartTime()); |
| | | tLeaveLambdaQueryWrapper.le(TLeave::getCreateTime, query.getEndTime()); |
| | | tLeaveLambdaQueryWrapper.ge(TLeave::getCreateTime, query.getStartTime()+" :00:00:00"); |
| | | tLeaveLambdaQueryWrapper.le(TLeave::getCreateTime, query.getEndTime()+" :23:59:59"); |
| | | } |
| | | tLeaveLambdaQueryWrapper.eq(TLeave::getAuditStatus,2); |
| | | List<TLeave> leaves = leaveService.list(tLeaveLambdaQueryWrapper); |
| | |
| | | List<PatrolInspectorVO> res = new ArrayList<>(); |
| | | LambdaQueryWrapper<TTask> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | if (StringUtils.hasLength(query.getStartTime())){ |
| | | tTaskLambdaQueryWrapper.ge(TTask::getCreateTime, query.getStartTime()); |
| | | tTaskLambdaQueryWrapper.le(TTask::getCreateTime, query.getEndTime()); |
| | | tTaskLambdaQueryWrapper.ge(TTask::getCreateTime, query.getStartTime()+" :00:00:00"); |
| | | tTaskLambdaQueryWrapper.le(TTask::getCreateTime, query.getEndTime()+" :23:59:59"); |
| | | } |
| | | if(query.getPatrolInspectorIds()!=null){ |
| | | tTaskLambdaQueryWrapper.in(TTask::getPatrolInspector, query.getPatrolInspectorIds()); |
| | | sysUsers = sysUsers.stream().filter(sysUser -> query.getPatrolInspectorIds().contains(sysUser.getUserId())).collect(Collectors.toList()); |
| | | } |
| | | List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper); |
| | | |
| | | sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList()); |
| | | for (SysUser sysUser : sysUsers) { |
| | | |
| | | PatrolInspectorVO patrolInspectorVO = new PatrolInspectorVO(); |
| | |
| | | } |
| | | // 查询巡检员任务ids |
| | | List<String> taskIds = tasks.stream().filter(e->e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList()); |
| | | if (taskIds.isEmpty()){ |
| | | taskIds.add("-1"); |
| | | } |
| | | // 完成的任务 |
| | | List<String> taskIdsFinish = tasks.stream().filter(e-> |
| | | (e.getStatus()==5 || e.getStatus()==6) |
| | | && |
| | | e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList()); |
| | | |
| | | if (taskIdsFinish.isEmpty()){ |
| | | taskIdsFinish.add("-1"); |
| | | } |
| | | List<TTaskDetail> list = taskDetailService.lambdaQuery() |
| | | .eq(TTaskDetail::getAuditStatus, 1) |
| | | .isNotNull(TTaskDetail::getClearStatus).orderByDesc(BaseModel::getCreateTime) |
| | | .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIds).groupBy(TTaskDetail::getTaskId).list(); |
| | | .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIdsFinish).groupBy(TTaskDetail::getTaskId).list(); |
| | | // 查询clearStatus为1的数量 |
| | | List<TTaskDetail> clearStatus1 = list.stream().filter(e -> e.getClearStatus().equals(1)).collect(Collectors.toList()); |
| | | List<TTaskDetail> clearStatus2 = list.stream().filter(e -> e.getClearStatus().equals(2)).collect(Collectors.toList()); |
| | |
| | | patrolInspectorVO.setTotal(taskList.size()); |
| | | patrolInspectorVO.setNum1(clearStatus1.size()); |
| | | patrolInspectorVO.setNum2(clearStatus2.size()); |
| | | patrolInspectorVO.setNum3(clearStatus1.size()+clearStatus2.size()!=0? |
| | | patrolInspectorVO.setNum3(!clearStatus1.isEmpty() ? |
| | | (new BigDecimal(clearStatus1.size()).add(new BigDecimal(clearStatus2.size()))) |
| | | .divide(new BigDecimal(clearStatus1.size()), 2, RoundingMode.HALF_DOWN) |
| | | .multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | |
| | | patrolInspectorVO.setNum6(status3.size()); |
| | | patrolInspectorVO.setNum7(status4.size()); |
| | | patrolInspectorVO.setNum8(status5.size()); |
| | | patrolInspectorVO.setNum9(!status5.isEmpty()?new BigDecimal(status5.size()) |
| | | patrolInspectorVO.setNum9(!status5.isEmpty()||!status4.isEmpty()?new BigDecimal(status5.size()) |
| | | .divide(new BigDecimal(status4.size()).add(new BigDecimal(status5.size())),2,RoundingMode.HALF_DOWN) |
| | | .multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | | patrolInspectorVO.setNum10(status6.size()); |
| | | patrolInspectorVO.setNum11(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO); |
| | | patrolInspectorVO.setNum11(!taskList.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO); |
| | | List<TLeave> collect1 = leaves.stream().filter(e -> e.getLeavePerson().equals(sysUser.getUserId()+"")).collect(Collectors.toList()); |
| | | patrolInspectorVO.setNum12(collect1.size()); |
| | | res.add(patrolInspectorVO); |
| | |
| | | sysUsers = sysUsers.stream().filter(sysUser -> query.getPatrolInspectorIds().contains(sysUser.getUserId())).collect(Collectors.toList()); |
| | | } |
| | | List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper); |
| | | sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList()); |
| | | |
| | | for (SysUser sysUser : sysUsers) { |
| | | |
| | |
| | | } |
| | | // 查询巡检员任务ids |
| | | List<String> taskIds = tasks.stream().filter(e->e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList()); |
| | | if (taskIds.isEmpty()){ |
| | | taskIds.add("-1"); |
| | | } |
| | | // 完成的任务 |
| | | List<String> taskIdsFinish = tasks.stream().filter(e-> |
| | | (e.getStatus()==5 || e.getStatus()==6) |
| | | && |
| | | e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList()); |
| | | |
| | | if (taskIdsFinish.isEmpty()){ |
| | | taskIdsFinish.add("-1"); |
| | | } |
| | | List<TTaskDetail> list = taskDetailService.lambdaQuery() |
| | | .eq(TTaskDetail::getAuditStatus, 1) |
| | | .isNotNull(TTaskDetail::getClearStatus).orderByDesc(BaseModel::getCreateTime) |
| | | .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIds).groupBy(TTaskDetail::getTaskId).list(); |
| | | .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIdsFinish).groupBy(TTaskDetail::getTaskId).list(); |
| | | // 查询clearStatus为1的数量 |
| | | List<TTaskDetail> clearStatus1 = list.stream().filter(e -> e.getClearStatus().equals(1)).collect(Collectors.toList()); |
| | | List<TTaskDetail> clearStatus2 = list.stream().filter(e -> e.getClearStatus().equals(2)).collect(Collectors.toList()); |
| | |
| | | patrolInspectorVO.setTotal(taskList.size()); |
| | | patrolInspectorVO.setNum1(clearStatus1.size()); |
| | | patrolInspectorVO.setNum2(clearStatus2.size()); |
| | | patrolInspectorVO.setNum3(clearStatus1.size()+clearStatus2.size()!=0? |
| | | patrolInspectorVO.setNum3(!clearStatus1.isEmpty() ? |
| | | (new BigDecimal(clearStatus1.size()).add(new BigDecimal(clearStatus2.size()))) |
| | | .divide(new BigDecimal(clearStatus1.size()), 2, RoundingMode.HALF_DOWN) |
| | | .multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | |
| | | patrolInspectorVO.setNum6(status3.size()); |
| | | patrolInspectorVO.setNum7(status4.size()); |
| | | patrolInspectorVO.setNum8(status5.size()); |
| | | patrolInspectorVO.setNum9(!status5.isEmpty()?new BigDecimal(status5.size()) |
| | | patrolInspectorVO.setNum9(!status5.isEmpty()||!status4.isEmpty()?new BigDecimal(status5.size()) |
| | | .divide(new BigDecimal(status4.size()).add(new BigDecimal(status5.size())),2,RoundingMode.HALF_DOWN) |
| | | .multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | | patrolInspectorVO.setNum10(status6.size()); |
| | | patrolInspectorVO.setNum11(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO); |
| | | patrolInspectorVO.setNum11(!taskList.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO); |
| | | List<TLeave> collect1 = leaves.stream().filter(e -> e.getLeavePerson().equals(sysUser.getUserId()+"")).collect(Collectors.toList()); |
| | | patrolInspectorVO.setNum12(collect1.size()); |
| | | res.add(patrolInspectorVO); |
| | |
| | | } |
| | | List<InspectorVO> res = new ArrayList<>(); |
| | | List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper); |
| | | sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList()); |
| | | for (SysUser sysUser : sysUsers) { |
| | | InspectorVO inspectorVO = new InspectorVO(); |
| | | inspectorVO.setNickName(sysUser.getNickName()); |
| | |
| | | |
| | | inspectorVO.setNum1(status1.size()); |
| | | inspectorVO.setNum2(status2.size()); |
| | | inspectorVO.setNum3(!status1.isEmpty()?new BigDecimal(status1.size()).divide(new BigDecimal(status2.size()+status1.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | | inspectorVO.setNum3(!status1.isEmpty()||!status2.isEmpty()?new BigDecimal(status1.size()).divide(new BigDecimal(status2.size()+status1.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):BigDecimal.ZERO); |
| | | inspectorVO.setNum4(status4.size()); |
| | | inspectorVO.setNum5(status5.size()); |
| | | inspectorVO.setNum6(status6.size()); |
| | | inspectorVO.setNum7(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(status5.size()+status6.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):new BigDecimal(0)); |
| | | inspectorVO.setNum7(!status6.isEmpty()||!status5.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(status5.size()+status6.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):new BigDecimal(0)); |
| | | res.add(inspectorVO); |
| | | } |
| | | return R.ok(res); |
| | |
| | | } |
| | | List<InspectorVO> res = new ArrayList<>(); |
| | | List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper); |
| | | sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList()); |
| | | |
| | | for (SysUser sysUser : sysUsers) { |
| | | InspectorVO inspectorVO = new InspectorVO(); |
| | | inspectorVO.setNickName(sysUser.getNickName()); |