From 1ffc844e3483cd3ac7cc73b5fb17c62e09d1ff2f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 30 八月 2024 10:54:34 +0800
Subject: [PATCH] 工单取图像查询工单范围调整、分页图片查询
---
ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
index 85a2aec..018a2b0 100644
--- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.ycl.platform.domain.entity.DeviceInfo;
+import com.ycl.platform.domain.entity.WorkOrderCheckImg;
import com.ycl.platform.domain.vo.DeviceInfoVO;
import com.ycl.platform.mapper.DeviceInfoMapper;
+import com.ycl.platform.mapper.WorkOrderCheckImgMapper;
import com.ycl.platform.service.WorkOrderService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -12,6 +14,9 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ExecutorService;
@@ -31,21 +36,27 @@
private final WorkOrderService workOrderService;
private final DeviceInfoMapper deviceInfoMapper;
+ private final WorkOrderCheckImgMapper workOrderCheckImgMapper;
private static final ExecutorService executorService = new ThreadPoolExecutor(8,
24,
5000,
TimeUnit.SECONDS,
- new ArrayBlockingQueue<>(10),
+ new ArrayBlockingQueue<>(600),
new ThreadPoolExecutor.CallerRunsPolicy()
);
public void run() {
- // 鏌ュ嚭鏁呴殰鐨勮澶�
- List<DeviceInfoVO> deviceList = workOrderService.hasErrorWorkOrderList();
+ // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶�
+ Date now = new Date();
+ Calendar ca = Calendar.getInstance();
+ ca.setTime(now);
+ ca.add(Calendar.DATE, -6);
+ List<DeviceInfoVO> deviceList = workOrderService.hasErrorWorkOrderList(now, ca.getTime());
if (CollectionUtils.isEmpty(deviceList)) {
return;
}
+ // 鏌ュ嚭鍥芥爣璁惧锛屽氨涓�鏉℃暟鎹�
List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
.orderByDesc(DeviceInfo::getUpdateTime)
.last("limit 1")
@@ -56,17 +67,17 @@
for (DeviceInfoVO deviceInfo : deviceList) {
executorService.submit(() -> {
// 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
- String frameImg = null;
- try {
- frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId());
- } catch (FFmpegFrameGrabber.Exception e) {
- e.printStackTrace();
- }
+ String frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
if (StringUtils.hasText(frameImg)) {
- workOrderService.updateImgById(deviceInfo.getWorkOrderId(), frameImg);
+ WorkOrderCheckImg img = new WorkOrderCheckImg();
+ img.setWorkOrderNo(deviceInfo.getWorkOrderNo());
+ img.setImgUrl(frameImg);
+ img.setCreateTime(new Date());
+ workOrderCheckImgMapper.insert(img);
}
});
}
+ executorService.shutdown();
}
}
--
Gitblit v1.8.0