From d5d652d23a0bdf64ce527a6b592713a849abac7d Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 17 十月 2024 15:22:37 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 184 +++++++++++++++++++++++++++++++++++----------
1 files changed, 142 insertions(+), 42 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
index d0c68d0..903d7aa 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -1,34 +1,34 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
+import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
-import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
-import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
-import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
-import com.mes.common.S7object;
-import com.mes.device.PlcParameterObject;
-import com.mes.edgstoragetask.service.TaskCacheService;
+import com.mes.common.utils.RedisUtil;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.menu.service.SysMenuService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+/**
+ * @author SNG-015
+ */
@Component
@Slf4j
public class PlcSlicecage {
@@ -39,46 +39,95 @@
private BigStorageCageDetailsService bigStorageCageDetailsService;
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ @Resource
+ private RedisUtil redisUtil;
+ @Autowired
+ private GlassInfoService glassInfoService;
- PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Value("${mes.scan.ip}")
+ private String scanIp;
+
+ @Value("${mes.scan.port}")
+ private Integer scanPort;
+
+ private JSONObject jsonObject = new JSONObject();
+
+ public void queryDataSource1() throws InterruptedException {
+ List<Double> carPostion = new ArrayList<>();
+ carPostion.add(0.25);
+ carPostion.add(0.5);
+ jsonObject.append("carPostion", carPostion);
+ //鐣岄潰灞曠ず绗煎瓙淇℃伅
+ jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail());
+
+ //杩涚墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsFeedTask = bigStorageCageDetailsService.selectFeedTask();
+ jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
+
+ //鍑虹墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsOutTask = bigStorageCageDetailsService.selectOutTask();
+ jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
+
+ //鐞嗙墖绗间娇鐢ㄦ儏鍐�
+ List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage();
+ jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+
+ //鐞嗙墖绗艰〃鏍间俊鎭�
+ jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll());
+
+ //閽㈠寲寮�鍏�
+ boolean temperingSwitch = false;
+ if (redisUtil.getCacheObject("temperingSwitch") == null) {
+ redisUtil.setCacheObject("temperingSwitch", false);
+ } else {
+ temperingSwitch = redisUtil.getCacheObject("temperingSwitch");
+ }
+ jsonObject.append("temperingSwitch", temperingSwitch);
+ //鎵撳嵃寮�鍏�
+ boolean autoPrint = false;
+ if (redisUtil.getCacheObject("autoPrint") == null) {
+ redisUtil.setCacheObject("autoPrint", false);
+ } else {
+ autoPrint = redisUtil.getCacheObject("autoPrint");
+ }
+ jsonObject.append("autoPrint", autoPrint);
+
+ //褰撳墠鎸囧畾宸ョ▼
+ String temperingengineerId = "";
+ if (redisUtil.getCacheObject("temperingengineerId") == null) {
+ redisUtil.setCacheObject("temperingengineerId", temperingengineerId);
+ } else {
+ temperingengineerId = redisUtil.getCacheObject("temperingengineerId");
+ }
+ jsonObject.append("temperingengineerId", temperingengineerId);
+
+
+ }
+
+ public void queryDataSource2() throws InterruptedException {
+ //鍑虹墖闃熷垪
+ List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(
+ new LambdaQueryWrapper<TemperingGlassInfo>()
+ .inSql(TemperingGlassInfo::getEngineerId, "select distinct engineer_id from tempering_glass_info where state<4")
+ );
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
+
+ }
+
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 1000)
public void plcStorageCageTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
+ jsonObject = new JSONObject();
try {
- //鐣岄潰灞曠ず绗煎瓙淇℃伅
- jsonObject.append("bigStorageCageInfo1", bigStorageCageService.querybigStorageCageDetail(1));
- jsonObject.append("bigStorageCageInfo2", bigStorageCageService.querybigStorageCageDetail(2));
- jsonObject.append("bigStorageCageInfo3", bigStorageCageService.querybigStorageCageDetail(3));
- jsonObject.append("bigStorageCageInfo4", bigStorageCageService.querybigStorageCageDetail(4));
- jsonObject.append("bigStorageCageInfo5", bigStorageCageService.querybigStorageCageDetail(5));
- jsonObject.append("bigStorageCageInfo6", bigStorageCageService.querybigStorageCageDetail(6));
- jsonObject.append("bigStorageCageInfo7", bigStorageCageService.querybigStorageCageDetail(7));
- jsonObject.append("bigStorageCageInfo8", bigStorageCageService.querybigStorageCageDetail(8));
+ //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁
+ queryDataSource1();
+ //鏌ヨ浣跨敤鏁版嵁婧�2鏌ヨ鏁版嵁
+ queryDataSource2();
- //杩涚墖浠诲姟鏁版嵁
- List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectTask(1);
- jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
-
- //鍑虹墖浠诲姟鏁版嵁
- List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectTask(2);
- jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
-
- //鐞嗙墖绗间娇鐢ㄦ儏鍐�
- List<Map<String, Object>> bigStorageCageUsage=bigStorageCageService.selectBigStorageCageUsage();
- jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
-
- //鍑虹墖闃熷垪
- List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
- jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
-
- //鎶ヨ淇℃伅
- jsonObject.append("bigStorageCageFullAlarm", PlcStorageCageTask.bigStorageCageFullAlarm);
-
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
@@ -98,4 +147,55 @@
}
}
+ @Scheduled(fixedDelay = 1000)
+ public void temperingIsRun() {
+ JSONObject jsonObject = new JSONObject();
+ //杩涚墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsFeedTask = bigStorageCageDetailsService.selectFeedTask();
+ jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
+ //鍑虹墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsOutTask = bigStorageCageDetailsService.selectOutTask();
+ jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ } else {
+ log.info("Home is closed");
+ }
+ }
+ }
+ }
+
+ @Scheduled(fixedDelay = Long.MAX_VALUE)
+ public void scanCodeTask() {
+ log.info("鎵弿浠诲姟宸插惎鍔�");
+ while (true) {
+ JSONObject jsonObject = new JSONObject();
+ try (Socket socket = new Socket(scanIp, scanPort);
+ BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
+ // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴�
+ log.info("绛夊緟鎵爜涓�......");
+ String glassId = in.readLine();
+ log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", glassId);
+ List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
+ if (CollectionUtils.isNotEmpty(sendwServer)) {
+ //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭
+ GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
+ .eq(GlassInfo::getGlassId, glassId).last("limit 1"));
+ if (null == glassInfo) {
+ log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", glassId);
+ } else {
+ for (WebSocketServer webserver : sendwServer) {
+ jsonObject.append("scanGlass", glassInfo);
+ webserver.sendMessage(jsonObject.toString());
+ }
+ }
+ }
+ } catch (Exception exception) {
+ log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage());
+ }
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0