From 3fd8fc38a8c0ee454b842f0ef189fd507b8d9468 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期二, 06 八月 2024 09:30:45 +0800
Subject: [PATCH] 下片:websocket新增查询条件查询数据

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java   |   48 ++++++++++++++++++++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java          |    3 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java    |   12 ++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java                                        |   29 ++++++++++++--
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java |   15 +++++++
 5 files changed, 103 insertions(+), 4 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index c9a17a1..3f8d7d5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -1,5 +1,10 @@
 package com.mes.downglassinfo.controller;
 
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -7,5 +12,12 @@
 @RequestMapping("/downGlassInfo")
 public class DownGlassInfoController {
 
+    @Autowired
+    DownGlassInfoService downGlassInfoService;
+
+    @RequestMapping("/selectDownGlassInfo")
+    public Result<String> setDownGlassInfoRequest(@RequestBody DownGlassInfoRequest request) {
+        return Result.success(downGlassInfoService.setDownGlassInfoRequest(request));
+    }
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
new file mode 100644
index 0000000..aa307b9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
@@ -0,0 +1,48 @@
+package com.mes.downglassinfo.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownGlassInfoRequest implements Serializable {
+
+    /**
+     * 宸ヤ綅id
+     */
+    private Integer workStationId;
+
+    /**
+     * 宸ョ▼id
+     */
+    private String engineerId;
+
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date beginDate;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
index 0830e6b..54c0318 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
 import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
 
 import java.util.List;
@@ -40,4 +41,6 @@
      * @return
      */
     boolean generateOutGlassTask(String glassId);
+
+    String setDownGlassInfoRequest(DownGlassInfoRequest request);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index b39daf2..232743a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -5,7 +5,9 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.common.config.Const;
+import com.mes.common.utils.RedisUtil;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
 import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
@@ -27,6 +29,9 @@
 
     @Autowired
     DownStorageCageDetailsService downStorageCageDetailsService;
+
+    @Autowired
+    RedisUtil redisUtil;
 
     /**
      * 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
@@ -82,4 +87,14 @@
         BeanUtils.copyProperties(details, glassInfo);
         return downLoadCacheGlassTask.initDownGlassTask(glassInfo, details.getSlot(), Const.G13_WORK_STATION, 2);
     }
+
+    @Override
+    public String setDownGlassInfoRequest(DownGlassInfoRequest request) {
+        if (request == null) {
+            redisUtil.deleteObject("downGlassRequest");
+        } else {
+            redisUtil.setCacheObject("downGlassRequest", request);
+        }
+        return "success";
+    }
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index 7a84902..0346749 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -2,13 +2,18 @@
 
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.common.config.Const;
+import com.mes.common.utils.RedisUtil;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downstorage.service.DownStorageCageService;
 import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.tools.WebSocketServer;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -28,6 +33,9 @@
     private DownStorageCageService downStorageCageService;
     @Autowired
     private DownGlassInfoService downGlassInfoService;
+
+    @Autowired
+    private RedisUtil redisUtil;
 
     @Scheduled(fixedDelay = 2000)
     public void sendDownWorkstations() {
@@ -101,13 +109,26 @@
 
     @Scheduled(fixedDelay = 2000)
     public void sendDownGlassInfo() {
+        DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest");
+        if (null == request) {
+            request = new DownGlassInfoRequest();
+        }
         log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�");
-        List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(new LambdaQueryWrapper<DownGlassInfo>()
-                .inSql(DownGlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
+        LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>()
+                .between(null != request.getBeginDate(), DownGlassInfo::getEngineerId, request.getBeginDate(), request.getEndDate())
+                .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId());
+        if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) {
+            wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL);
+        } else {
+            wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId());
+        }
+        List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper);
         Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
+        List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id"));
+        List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList());
         JSONObject jsonObject4 = new JSONObject();
-        List<Map<String, Object>> list = downStorageCageService.selectDownStorageCages();
-        jsonObject4.append("params", listMap);
+        jsonObject4.append("downGlassInfos", listMap);
+        jsonObject4.append("engineerIdList", engineerIdList);
         ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("sendDownGlass");
         if (sendwServer4 != null) {
             for (WebSocketServer webserver : sendwServer4) {

--
Gitblit v1.8.0