From b14531e3b850fe6d2fa916ba7b88b3e2bd2ff30a Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 11 九月 2024 16:47:48 +0800 Subject: [PATCH] OSD加标签 --- ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 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 2464693..8adb134 100644 --- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java +++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java @@ -2,15 +2,22 @@ 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 com.ycl.utils.DateUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.bytedeco.javacv.FFmpegFrameGrabber; import org.springframework.stereotype.Component; 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; @@ -30,21 +37,27 @@ private final WorkOrderService workOrderService; private final DeviceInfoMapper deviceInfoMapper; + private final WorkOrderCheckImgMapper workOrderCheckImgMapper; - private static final ExecutorService executorService = new ThreadPoolExecutor(8, - 24, + private static final ExecutorService executorService = new ThreadPoolExecutor(16, + 128, 5000, TimeUnit.SECONDS, - new ArrayBlockingQueue<>(10), + new ArrayBlockingQueue<>(1000), 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(DateUtils.getDayStart(ca.getTime()), DateUtils.getDayEnd(now)); if (CollectionUtils.isEmpty(deviceList)) { return; } + // 鏌ュ嚭鍥芥爣璁惧锛屽氨涓�鏉℃暟鎹� List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper) .orderByDesc(DeviceInfo::getUpdateTime) .last("limit 1") @@ -55,9 +68,13 @@ for (DeviceInfoVO deviceInfo : deviceList) { executorService.submit(() -> { // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id - String frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId()); + 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); } }); } -- Gitblit v1.8.0