From f0ec80a9eb4d12aca25f311fecf8f6e5edf8c577 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 06 十一月 2024 16:47:00 +0800
Subject: [PATCH] 工单加搜索table、一些搜索bug

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 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 ae1a348..241e65b 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
@@ -40,6 +40,8 @@
 import com.ycl.utils.http.HttpUtils;
 import com.ycl.utils.redis.RedisCache;
 import com.ycl.utils.uuid.IdUtils;
+import constant.ApiConstants;
+import constant.CheckConstants;
 import constant.Constants;
 import constant.RedisConstant;
 import enumeration.general.*;
@@ -52,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;
@@ -98,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;
 
@@ -211,9 +217,12 @@
             return Boolean.TRUE;
         }
         List<String> willAddSerialNumber = waitAddList.stream().map(WorkOrder::getSerialNumber).collect(Collectors.toList());
+        //鍙敓鎴愯�冩牳璁惧銆佷笖鏈夎繍缁村崟浣嶇殑宸ュ崟
         List<YwPoint> pointList = new LambdaQueryChainWrapper<>(ywPointService.getBaseMapper())
                 .select(YwPoint::getUnitId, YwPoint::getSerialNumber, YwPoint::getImportantTag, YwPoint::getImportantTag, YwPoint::getProvinceTag, YwPoint::getImportantCommandImageTag)
                 .in(YwPoint::getSerialNumber, willAddSerialNumber)
+                .eq(YwPoint::getExamineStatus, Boolean.TRUE)
+                .isNotNull(YwPoint::getUnitId)
                 .list();
         Map<String, YwPoint> pointMapping = pointList.stream().collect(Collectors.toMap(YwPoint::getSerialNumber, point -> point));
         // 鏌ュ嚭閲嶇偣鐐逛綅銆佹櫘閫氱偣浣嶇殑澶勭悊鏃堕棿
@@ -455,6 +464,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result ywCondition(WorkOrderYWConditionForm form) {
+
         WorkOrder workOrder = baseMapper.selectById(form.getId());
         if (Objects.isNull(workOrder)) {
             throw new ServiceException("宸ュ崟涓嶅瓨鍦�");
@@ -471,9 +481,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);
@@ -540,7 +578,9 @@
     @Override
     public Result page(WorkOrderQuery query) {
         IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
-        query.setUnitId(SecurityUtils.getUnitId());
+        if(query.getUnitId()==null) {
+            query.setUnitId(SecurityUtils.getUnitId());
+        }
         query.setStart(DateUtils.getDayStart(query.getStart()));
         query.setEnd(DateUtils.getDayEnd(query.getEnd()));
         baseMapper.page(page, query);
@@ -787,6 +827,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);
@@ -994,7 +1035,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");
         }
@@ -1079,4 +1120,6 @@
         updateWhiteList.stream().forEach(white -> workOrderWhiteMapper.updateBySerialNumber(white));
         insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white));
     }
+
+
 }

--
Gitblit v1.8.0