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 |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 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 336ac3c..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;
+	
 	
 	
 	
@@ -85,11 +86,12 @@
 	 */
 	@Override
 	public void delTaskDetail(List<String> ids) {
-		this.baseMapper.deleteBatchIds(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);
 		}
 	}
 	
@@ -160,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) {
@@ -220,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;
 	}
@@ -237,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(null != taskDetailVehiclesChannel.getArtificialStatus() && 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();
@@ -301,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);
@@ -345,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