From 046b7c8c7a1307be3d0693ef66e4fbac1e8d24a9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 21 三月 2025 15:25:49 +0800 Subject: [PATCH] 修改演示版本模型3执行bug --- guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java | 76 ++++++++++++++++++++++++++++---------- 1 files changed, 56 insertions(+), 20 deletions(-) diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java index fc4b306..bbf43c0 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java @@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.dao.TaskDetailMapper; -import com.stylefeng.guns.modular.system.model.PatrolTask; -import com.stylefeng.guns.modular.system.model.TaskDetail; -import com.stylefeng.guns.modular.system.model.TaskDetailVehicles; -import com.stylefeng.guns.modular.system.model.TaskDetailVehiclesChannel; +import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.model.enums.VideoChannelEnum; import com.stylefeng.guns.modular.system.model.vo.*; import com.stylefeng.guns.modular.system.service.*; @@ -36,6 +33,7 @@ import java.net.URLConnection; import java.net.URLEncoder; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +61,9 @@ @Autowired private IUserService userService; + @Autowired + private IIconService iconService; + @@ -84,12 +85,13 @@ * @param ids */ @Override - public void delTaskDetail(List<Integer> ids) { - this.baseMapper.deleteBatchIds(ids); + public void delTaskDetail(List<String> ids) { List<TaskDetail> taskDetails = this.selectBatchIds(ids); for (TaskDetail taskDetail : taskDetails) { JobKey jobKey = new JobKey(taskDetail.getId().toString()); quartzUtil.deleteQuartzTask(jobKey); + taskDetail.setDelFlag(1); + this.updateById(taskDetail); } } @@ -124,12 +126,15 @@ info.setName(patrolTask.getName()); info.setStatus(taskDetail.getStatus()); info.setExecutionTime(taskDetail.getExecutionTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - long offlineNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 3).count(); + //执行状态(1=待执行,2=执行中,3=成功,4=离线,5=失败) + long offlineNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 4).count(); info.setOfflineNum(offlineNum); - long normalNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 2).count(); + long normalNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 3).count(); info.setNormalNum(normalNum); - long abnormalNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 4).count(); + long abnormalNum = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 5).count(); info.setAbnormalNum(abnormalNum); + long underway = taskDetailVehiclesList.stream().filter(s -> s.getStatus() == 2).count(); + info.setUnderway(underway); return info; } @@ -157,21 +162,25 @@ wrapper.eq("status", vo.getStatus()); } if(null != vo.getSysStatus()){ - List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("sys_status", vo.getSysStatus())); + List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>() + .eq("sys_status", vo.getSysStatus())); List<Integer> collect = sys_status.stream().map(TaskDetailVehiclesChannel::getTaskDetailVehiclesId).collect(Collectors.toList()); - if(collect.size() > 0){ - wrapper.in("id", collect); + if(collect.size() == 0){ + collect.add(-1); } + wrapper.in("id", collect); } if(null != vo.getArtificialStatus()){ - List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("artificial_status", vo.getArtificialStatus())); + List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>() + .eq("artificial_status", vo.getArtificialStatus())); List<Integer> collect = sys_status.stream().map(TaskDetailVehiclesChannel::getTaskDetailVehiclesId).collect(Collectors.toList()); - if(collect.size() > 0){ - wrapper.in("id", collect); + if(collect.size() == 0){ + collect.add(-1); } + wrapper.in("id", collect); } - List<TaskDetailVehicles> taskDetailVehiclesList = taskDetailVehiclesService.selectList(wrapper); + List<TaskDetailVehicles> taskDetailVehiclesList = taskDetailVehiclesService.selectList(wrapper.groupBy("vehicleIdUnique")); List<TaskDetailVehicles> vehiclesList = taskDetailVehiclesList.stream().filter(s -> s.getVehicleType() == 1).collect(Collectors.toList()); List<VehicleVo> vehicle = new ArrayList<>(); for (TaskDetailVehicles taskDetailVehicles : vehiclesList) { @@ -217,12 +226,26 @@ } List<TaskDetailVehicles> taskDetailVehiclesList = taskDetailVehiclesService.selectList(wrapper); List<Integer> collect = taskDetailVehiclesList.stream().map(TaskDetailVehicles::getId).collect(Collectors.toList()); - + if(collect.size() > 0){ + collect.add(-1); + } List<PictureDetails> pictureDetails = taskDetailVehiclesChannelService.getPictureDetails(pageInfo, collect, vo.getSysStatus(), vo.getArtificialStatus()); + List<Icon> icons = iconService.selectList(null); for (PictureDetails pictureDetail : pictureDetails) { String videoChannel = pictureDetail.getVideoChannel(); String name = VideoChannelEnum.getName(Integer.valueOf(videoChannel)); pictureDetail.setVideoChannel(name); + //异常 + if(pictureDetail.getStatus() == 5){ + pictureDetail.setImageUrl(icons.stream().filter(s->s.getType() == 2).findFirst().get().getUrl()); + }else if(ToolUtil.isEmpty(pictureDetail.getImageUrl())){ + //没有图片返回 + pictureDetail.setImageUrl(icons.stream().filter(s->s.getType() == 3).findFirst().get().getUrl()); + } + //离线 + if(pictureDetail.getStatus() == 4){ + pictureDetail.setImageUrl(icons.stream().filter(s->s.getType() == 1).findFirst().get().getUrl()); + } } return pictureDetails; } @@ -234,14 +257,16 @@ * @return */ @Override - public ResultUtil manualAudit(ManualAuditVo vo) { + public ResultUtil manualAudit(ManualAuditVo vo, String userId) { List<TaskDetailVehiclesChannel> taskDetailVehiclesChannels = taskDetailVehiclesChannelService.selectBatchIds(vo.getId()); for (TaskDetailVehiclesChannel taskDetailVehiclesChannel : taskDetailVehiclesChannels) { - if(1 == taskDetailVehiclesChannel.getArtificialStatus()){ + if(null != taskDetailVehiclesChannel.getArtificialStatus() && 1 != taskDetailVehiclesChannel.getArtificialStatus()){ return ResultUtil.error("不能重复审核"); } taskDetailVehiclesChannel.setArtificialStatus(vo.getStatus()); taskDetailVehiclesChannel.setRemark(vo.getRemark()); + taskDetailVehiclesChannel.setArtificialCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialUserId(Integer.valueOf(userId)); taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); } return ResultUtil.success(); @@ -298,7 +323,7 @@ hssfCell.setCellStyle(style); hssfCell.setCellValue(titles.get(l)); } - + List<Icon> icons = iconService.selectList(null); HSSFPatriarch patriarch = hssfSheet.createDrawingPatriarch(); for (int i = 0; i < mapList.size(); i++) { hssfRow = hssfSheet.createRow(i + 2); @@ -342,6 +367,17 @@ Integer status1 = Integer.valueOf(map.get("status").toString()); //执行状态(1=待执行,2=进行中,3=成功,4=失败) hssfCell4.setCellValue(1 == status1 ? "待执行" : 2 == status1 ? "进行中" : 3 == status1 ? "成功" : "失败"); + //异常 + if(status1 == 5){ + map.put("imageUrl", icons.stream().filter(s->s.getType() == 2).findFirst().get().getUrl()); + }else if(ToolUtil.isEmpty(map.get("imageUrl"))){ + //没有图片返回 + map.put("imageUrl", icons.stream().filter(s->s.getType() == 3).findFirst().get().getUrl()); + } + //离线 + if(status1 == 4){ + map.put("imageUrl", icons.stream().filter(s->s.getType() == 1).findFirst().get().getUrl()); + } } //车牌号 HSSFCell hssfCell5 = hssfRow.createCell(5); -- Gitblit v1.7.1