From 3dc714284a95fe9677a964ec039b2b547547e30d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 05 十一月 2024 11:20:37 +0800
Subject: [PATCH] 工单异步获取图片、工单导出时间参数bug

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 5859cbc..fe5aea3 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -54,7 +54,9 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ApplicationContext;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
@@ -100,6 +102,8 @@
     private final ReportMapper reportMapper;
     private final WorkOrderCheckImgMapper workOrderCheckImgMapper;
     private final WorkOrderWhiteMapper workOrderWhiteMapper;
+    private final DeviceInfoMapper deviceInfoMapper;
+    private final ApplicationContext applicationContext;
     @Value("${rtsp.server:http://127.0.0.1:7788}")
     private String rtspServer;
 
@@ -459,6 +463,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result ywCondition(WorkOrderYWConditionForm form) {
+
         WorkOrder workOrder = baseMapper.selectById(form.getId());
         if (Objects.isNull(workOrder)) {
             throw new ServiceException("宸ュ崟涓嶅瓨鍦�");
@@ -475,9 +480,37 @@
         workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
         workOrderYwConditionRecord.setSysMsg(Boolean.FALSE);
         workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
+        //寮傛鑾峰彇鍥剧墖
+        WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class);
+        self.getImage(workOrder);
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 
+    @Async("threadPoolTaskExecutor")
+    public void getImage(WorkOrder workOrder) {
+        List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
+                .orderByDesc(DeviceInfo::getUpdateTime)
+                .last("limit 1")
+                .list();
+        if (CollectionUtils.isEmpty(gbDevices)) {
+            return;
+        }
+        // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
+        String frameImg = null;
+        try {
+            log.info("鍥芥爣骞冲彴:{},璁惧缂栫爜:{},宸ュ崟鍙�:{}",gbDevices.get(0).getDeviceId(), workOrder.getSerialNumber(), workOrder.getWorkOrderNo());
+            frameImg = this.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), workOrder.getSerialNumber(), workOrder.getWorkOrderNo());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (StringUtils.hasText(frameImg)) {
+            WorkOrderCheckImg img = new WorkOrderCheckImg();
+            img.setWorkOrderNo(workOrder.getWorkOrderNo());
+            img.setImgUrl(frameImg);
+            img.setCreateTime(new Date());
+            workOrderCheckImgMapper.insert(img);
+        }
+    }
     @Override
     public List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(String workOrderNo) {
         List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(workOrderNo);
@@ -791,6 +824,7 @@
     @Override
     public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception {
         String url = String.format(this.rtspServer + "/api/play/start/img/%s/%s", deviceId, channelId);
+        log.info("璁块棶璺緞{}",url);
         String result = HttpUtils.sendGet(url);
         log.info("鎷垮埌鍙栨祦鍥剧墖鍝嶅簲缁撴灉锛�" + result);
         WVPResult wvpResult = JSON.parseObject(result, WVPResult.class);
@@ -998,7 +1032,7 @@
             query.setStart(query.getStart() + " 00:00:00");
         }
         if (query.getEnd() == null) {
-            query.setStart(format.format(DateUtils.getDayEnd(new Date())));
+            query.setEnd(format.format(DateUtils.getDayEnd(new Date())));
         } else {
             query.setEnd(query.getEnd() + " 23:59:59");
         }
@@ -1083,4 +1117,6 @@
         updateWhiteList.stream().forEach(white -> workOrderWhiteMapper.updateBySerialNumber(white));
         insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white));
     }
+
+
 }

--
Gitblit v1.8.0