From 489b48ad9fad5ad17106b7e69d778c824df3df9d Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 11 九月 2024 09:14:49 +0800
Subject: [PATCH] 提交合并代码
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCMechanicalArm.java | 72 ++++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java | 44 +++
JiuMuMesParent/.idea/encodings.xml | 1
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCTurn.java | 65 +++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java | 58 ++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQR.java | 73 ++++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/TaskingModuleApplicationTest.java | 57 ++++
JiuMuMesParent/.idea/inspectionProfiles/Project_Default.xml | 21 +
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCRinse.java | 65 +++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java | 105 ++++++++
JiuMuMesParent/.idea/compiler.xml | 4
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQRVerify.java | 73 ++++++
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCEdging.java | 79 ++++++
13 files changed, 708 insertions(+), 9 deletions(-)
diff --git a/JiuMuMesParent/.idea/compiler.xml b/JiuMuMesParent/.idea/compiler.xml
index d20a0db..ce226e1 100644
--- a/JiuMuMesParent/.idea/compiler.xml
+++ b/JiuMuMesParent/.idea/compiler.xml
@@ -7,8 +7,9 @@
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
- <module name="servicebase" />
<module name="springsecurity" />
+ <module name="servicebase" />
+ <module name="deviceInteraction" />
<module name="gateway" />
<module name="cacheGlass" />
</profile>
@@ -25,6 +26,7 @@
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="cacheGlass" options="-parameters" />
<module name="cacheVerticalGlass" options="-parameters" />
+ <module name="deviceInteraction" options="-parameters" />
<module name="gateway" options="-parameters" />
<module name="glassStorage" options="-parameters" />
<module name="loadGlass" options="-parameters" />
diff --git a/JiuMuMesParent/.idea/encodings.xml b/JiuMuMesParent/.idea/encodings.xml
index b18a0c7..5c2a03a 100644
--- a/JiuMuMesParent/.idea/encodings.xml
+++ b/JiuMuMesParent/.idea/encodings.xml
@@ -8,6 +8,7 @@
<file url="file://$PROJECT_DIR$/gateway/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/moduleService/CacheGlassModule/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/moduleService/CacheVerticalGlassModule/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/moduleService/DeviceInteractionModule/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/moduleService/GlassStorageModule/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/moduleService/LoadGlassModule/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/moduleService/TemperingGlassModule/src/main/java" charset="UTF-8" />
diff --git a/JiuMuMesParent/.idea/inspectionProfiles/Project_Default.xml b/JiuMuMesParent/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..31fda01
--- /dev/null
+++ b/JiuMuMesParent/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,21 @@
+<component name="InspectionProjectProfileManager">
+ <profile version="1.0">
+ <option name="myName" value="Project Default" />
+ <inspection_tool class="AliAccessStaticViaInstance" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAbstractClassShouldStartWithAbstractNaming" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidApacheBeanUtilsCopy" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidCallStaticSimpleDateFormat" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidComplexCondition" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidNewDateGetTime" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidPatternCompileInMethod" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaAvoidUseTimer" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaClassMustHaveAuthor" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaLockShouldWithTryFinally" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaMethodTooLong" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaPackageNaming" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaSneakyThrowsWithoutExceptionType" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaTestClassShouldEndWithTestNaming" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaTransactionMustHaveRollback" enabled="true" level="WARNING" enabled_by_default="true" />
+ <inspection_tool class="AlibabaUseRightCaseForDateFormat" enabled="true" level="WARNING" enabled_by_default="true" />
+ </profile>
+</component>
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCEdging.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCEdging.java
new file mode 100644
index 0000000..bda06d5
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCEdging.java
@@ -0,0 +1,79 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCEdging {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void PLCEdging() {
+ //纾ㄨ竟杩涚墖璇锋眰淇″彿
+ String edgingSign = plcParameterObject.getPlcParameter("edgingSign").getValue();
+ if (!Objects.equals(edgingSign, "")){
+ Tasking glass = new Tasking();
+ glass.setWorkState("宸ヤ綔");
+ glass.setCurrentCraft("纾ㄨ竟");
+ glass.setState("绾夸笂");
+ Tasking tasking =taskingService.selectTaskLoad(glass);
+ //鍙戦�侀暱瀹藉帤灏哄
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("length").getAddress(), Integer.parseInt(tasking.getLength().toString()));
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("width").getAddress(), Integer.parseInt(tasking.getWidth().toString()));
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("thickness").getAddress(), Integer.parseInt(tasking.getThickness().toString()));
+
+ }
+ //鎸佺画鑾峰彇閫熷害鍚屾缁欎笅涓�涓満鍣�
+ String edgingSpeed = plcParameterObject.getPlcParameter("edgingSpeed").getValue();
+ if(!Objects.equals(edgingSpeed, "")){
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("cleaningSpeed").getAddress(), Integer.parseInt(edgingSpeed));
+ }
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void edgingWeb() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("warning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("warning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanQrCode");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCMechanicalArm.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCMechanicalArm.java
new file mode 100644
index 0000000..cfa5114
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCMechanicalArm.java
@@ -0,0 +1,72 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCMechanicalArm {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void plcEdging() {
+ //鏈烘鑷傝姹備俊鍙�
+ String request = plcParameterObject.getPlcParameter("request").getValue();
+ if (!Objects.equals(request, "")){
+ //褰撴満姊拌噦璇锋眰淇″彿涓�1鐨勬椂鍊�,//鍒ゆ柇褰撳墠浠诲姟鏄畾鍒惰繕鏄爣鍑�
+ String status = plcParameterObject.getPlcParameter("Status").getValue();
+ boolean tasking = taskingService.insertTasking(status);
+ if(tasking){
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("overGlass").getAddress(), Integer.parseInt("1"));
+ //鍙戦�佷笂鐗囧畬姣�
+ }
+ }
+
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void mechanicalAmWeb() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("warning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("warning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("mechanicalAmWeb");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCRinse.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCRinse.java
new file mode 100644
index 0000000..4b03923
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCRinse.java
@@ -0,0 +1,65 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCRinse {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void plcRinse() {
+ //纾ㄨ竟绾块�熷害
+ String edgingSpeed = plcParameterObject.getPlcParameter("edgingSpeed").getValue();
+ if(!Objects.equals(edgingSpeed, "")){
+ //缁欐竻娲楁満鍣ㄥ彂閫佺(杈规満閫熷害
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("rinseSpeed").getAddress(), Integer.parseInt(edgingSpeed));
+ }
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void edgingWeb() {
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("rinseWarning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("rinseWarning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("rinse");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQR.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQR.java
new file mode 100644
index 0000000..f59d007
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQR.java
@@ -0,0 +1,73 @@
+package com.mes.job;
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import com.mes.device.PlcParameterObject;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCScanQR {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void pLCScanQR() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鎵爜绾跨▼
+ //鐢垫皵鍘绘牴鎹笂涓�涓换鍔′紶閫掍笅鏉ョ殑鐘舵�佽嚜宸卞垽鏂渶涓嶉渶瑕佹壂鐮�,濡傛灉闇�瑕佹壂鐮佺洿鎺ヤ紶杈撴壂鐮乮d
+ String scanId = plcParameterObject.getPlcParameter("scanId").getValue();
+ if(!Objects.equals(scanId, "")){
+ boolean result = taskingService.insertTaskingPro(scanId);
+ if (result){
+ //娣诲姞鎴愬姛鏃跺彂閫佽繃鐗囦俊鍙�
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("scan").getAddress(), Integer.parseInt("1"));
+ }
+ log.info("鎵弿瀹氬埗浜岀淮鐮侊細"+scanId);
+ }else {
+ log.info("鏍囧噯妯″紡鎵弿浜岀淮鐮侊細鏃�");
+ }
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void scanQrCode() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("warning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("warning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanQrCode");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQRVerify.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQRVerify.java
new file mode 100644
index 0000000..85a7953
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCScanQRVerify.java
@@ -0,0 +1,73 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCScanQRVerify {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void plcScanQrVerify() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鎵爜纭绾跨▼
+ //鐢垫皵鍘绘牴鎹笂涓�涓换鍔′紶閫掍笅鏉ョ殑鐘舵�佽嚜宸卞垽鏂渶涓嶉渶瑕佹壂鐮�,濡傛灉闇�瑕佹壂鐮佺洿鎺ヤ紶杈撴壂鐮乮d
+ String scanId = plcParameterObject.getPlcParameter("scanId").getValue();
+ if(!Objects.equals(scanId, "")){
+ boolean result = taskingService.updateTasking(scanId);
+ if (result){
+ //娣诲姞鎴愬姛鏃跺彂閫佽繃鐗囦俊鍙�
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("scan").getAddress(), Integer.parseInt("1"));
+ }
+ log.info("鎵弿瀹氬埗浜岀淮鐮侊細"+scanId);
+ }else {
+ log.info("鏍囧噯妯″紡鎵弿浜岀淮鐮侊細鏃�");
+ }
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void scanQrCode() {
+ //鑾峰彇褰撳墠浠诲姟琛ㄦ渶鏂扮殑涓�鍧椾换鍔$姸鎬�
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("warning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("warning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ScanQrVerify");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCTurn.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCTurn.java
new file mode 100644
index 0000000..79e2810
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCTurn.java
@@ -0,0 +1,65 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PLCTurn {
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Autowired
+ TaskingService taskingService;
+ @Scheduled(fixedDelay = 500)
+ public void plcTurn() {
+ //娓呮礂鏈洪�熷害
+ String rinseSpeed = plcParameterObject.getPlcParameter("rinseSpeed").getValue();
+ if(!Objects.equals(rinseSpeed, "")){
+ //缁欑炕鐗囧彴鍙戦�佺(杈规満閫熷害
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("turnSpeed").getAddress(), Integer.parseInt(rinseSpeed));
+ }
+
+ }
+ @Scheduled(fixedDelay = 1000)
+ public void turnWeb() {
+ //鑾峰彇鎶ヨ鐘舵��
+ String warning = plcParameterObject.getPlcParameter("turnWarning").getValue();
+ JSONObject jsonObject = new JSONObject();
+ if (!Objects.equals(warning, "0")) {
+ //log.info("鎶ヨ淇℃伅锛�"+warning);
+ jsonObject.append("turnWarning", warning);
+ }
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("turn");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java
index 329b2ef..9cad4da 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java
@@ -1,9 +1,14 @@
package com.mes.md.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
/**
* <p>
@@ -13,9 +18,52 @@
* @author wu
* @since 2024-08-28
*/
-@RestController
-@RequestMapping("/tasking")
-public class TaskingController {
+ @RestController
+ @RequestMapping("/jiumumes/tasking")
+ public class TaskingController {
+ @Autowired
+ private TaskingService taskingService;
+ @ApiOperation("鍒囨崲妯″紡")
+ @PostMapping("/updateLoadState") //鍒囨崲妯″紡"
+ @ResponseBody
+ public Result<Boolean> updateStatus(@RequestBody Integer state) {
+ if(state == 1){
+ boolean result =taskingService.updateStatus(state);
+ return Result.build(1,"瀹氬埗妯″紡",result);
+ }else {
+ boolean result =taskingService.updateStatus(state);
+ return Result.build(0,"鏍囧噯妯″紡",result);
+ }
+ }
+ @ApiOperation("鐐瑰嚮鏆傚仠璁惧")
+ @PostMapping("/updateLoadStatus") //鐐瑰嚮鏆傚仠璁惧
+ @ResponseBody
+ public Result<Boolean> updateLoadStatus(@RequestBody Integer state) {
+ if(state == 1){
+ boolean result =taskingService.updateLoadState(state);
+ return Result.build(1,"鎴愬姛",result);
+ }else {
+ boolean result =taskingService.updateLoadState(state);
+ return Result.build(0,"鎴愬姛",result);
+ }
+ }
+ @ApiOperation("鐐瑰嚮鐮存崯")
+ @PostMapping("/updateDamage") //鏆傚仠涓婄墖浠诲姟
+ @ResponseBody
+ public Result<Tasking> updateDamage(@RequestBody Tasking tasking) {
+ boolean result =taskingService.updateDamage(tasking);
+ return Result.build(1,"瀹氬埗妯″紡",null);
+
+
+ }
+ @ApiOperation("鏌ヨ褰撳墠妯″紡杩囧幓鐨勭幓鐠�")
+ @PostMapping("/selectTasking") //鏆傚仠涓婄墖浠诲姟
+ @ResponseBody
+ public Result<List<Tasking>> selectTasking() {
+
+ List<Tasking> tasking =taskingService.selectTasking();
+ return Result.build(1,"瀹氬埗妯″紡",tasking);
+ }
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java
index de729da..17381da 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java
@@ -2,7 +2,8 @@
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Tasking;
-import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
/**
* <p>
@@ -13,5 +14,44 @@
* @since 2024-08-28
*/
public interface TaskingService extends MPJBaseService<Tasking> {
-
+ /**
+ * 鏇存敼涓婄墖妯″紡
+ * @return boolean
+ */
+ boolean updateStatus(Integer state);
+ /**
+ *鏇存敼鑱旀満鐘舵��
+ * @return boolean
+ */
+ boolean updateLoadState(Integer state);
+ /**
+ * 鐐瑰嚮鐮存崯
+ * @return boolean
+ */
+ boolean updateDamage(Tasking tasking);
+ /**
+ * 鏌ヨ褰撳墠妯″紡杩囧幓鐨勭幓鐠�
+ * @return List<Tasking>
+ */
+ List<Tasking> selectTasking();
+ /**
+ * 瀹氬埗妯″紡涓嬪皢鎵爜鍑烘潵id鑾峰彇鎴愮幓鐠冩暟鎹祴鍊肩粰褰撳墠鏈�鏂扮殑glassId
+ * @return List<Tasking>
+ */
+ Boolean insertTaskingPro(String scanId);
+ /**
+ * 鏍规嵁涓嶅悓宸ヨ壓鏌ヨ鍗冲皢涓婄墖鐨勬暟鎹�
+ * @return List<Tasking>
+ */
+ Tasking selectTaskLoad(Tasking tasking);
+ /**
+ * 鏍规嵁鏍囧噯妯″紡鐨勪换鍔¢『搴忚幏鍙栫幓鐠冩暟鎹�
+ * @return List<Tasking>
+ */
+ Boolean insertTasking(String status);
+ /**
+ * 琛ュ叏浠诲姟鏁版嵁
+ * @return List<Tasking>
+ */
+ boolean updateTasking(String scanId);
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
index 37a8b4f..1df3131 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -1,11 +1,20 @@
package com.mes.md.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.md.entity.GlassInfo;
import com.mes.md.entity.Tasking;
+import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.service.TaskingService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
/**
* <p>
@@ -17,5 +26,99 @@
*/
@Service
public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService {
+ @Resource
+ GlassInfoMapper glassInfoMapper;
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ @Override
+ public boolean updateStatus(Integer state) {
+ //鏇存敼涓婄墖妯″紡
+ //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
+ //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+ String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
+ return state == Integer.parseInt(loadStatus);
+ }
+
+ @Override
+ public boolean updateLoadState(Integer state) {
+ //鏇存敼鑱旀満鐘舵��
+ //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
+ //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+ String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
+ return state == Integer.parseInt(loadState);
+
+ }
+
+ @Override
+ public boolean updateDamage(Tasking tasking) {
+ UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
+ queryWrapper.eq("glass_id",tasking.getGlassId())
+ .set("work_state",tasking.getWorkState());
+ return this.update(queryWrapper);
+ }
+
+ @Override
+ public List<Tasking> selectTasking() {
+ QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+ queryWrapper.orderByDesc("task_sequence");
+ return list(queryWrapper);
+ }
+
+ @Override
+ public Boolean insertTasking(String status) {
+ Tasking tasking = new Tasking();
+ if(Objects.equals(status, "1")){
+ QueryWrapper <GlassInfo> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("task_type","鏍囧噯")
+ .eq("work_state","宸ヤ綔")
+ .orderByAsc("task_sequence");
+ GlassInfo glassInfo =glassInfoMapper.selectOne(queryWrapper);
+ if(glassInfo!=null){
+ tasking.setBatchNumber(glassInfo.getBatchNumber());
+ tasking.setScanId(glassInfo.getScanId());
+ tasking.setProgramId(glassInfo.getProgramId());
+ tasking.setTaskType(glassInfo.getTaskType());
+ tasking.setTaskSequence(glassInfo.getTaskSequence());
+ tasking.setTaskQuantity(glassInfo.getTaskQuantity());
+ tasking.setLength(glassInfo.getLength());
+ tasking.setWidth(glassInfo.getWidth());
+ tasking.setThickness(glassInfo.getThickness());
+ tasking.setDrawingGlue(glassInfo.getDrawingGlue());
+ tasking.setDrawingMarking(glassInfo.getDrawingMarking());
+ tasking.setSilkScreenX(glassInfo.getSilkScreenX());
+ tasking.setSilkScreenY(glassInfo.getSilkScreenY());
+ tasking.setIsMarking(glassInfo.getIsMarking());
+ tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
+ tasking.setCurrentCraft("涓婄墖");
+
+ }
+ }
+ else {
+ tasking.setTaskType("瀹氬埗");
+ tasking.setCurrentCraft("涓婄墖");
+ }
+ return save(tasking);
+ }
+
+ @Override
+ public boolean updateTasking(String scanId) {
+ return false;
+ }
+
+ @Override
+ public Tasking selectTaskLoad(Tasking tasking) {
+ QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("current_craft",tasking.getGlassId())
+ .eq("state",tasking.getState())
+ .eq("work_state",tasking.getWorkState())
+ .orderByAsc("glass_id");
+ return getOne(queryWrapper);
+ }
+
+ @Override
+ public Boolean insertTaskingPro(String tasking) {
+ return null;
+ }
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/TaskingModuleApplicationTest.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/TaskingModuleApplicationTest.java
new file mode 100644
index 0000000..01e51eb
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/TaskingModuleApplicationTest.java
@@ -0,0 +1,57 @@
+package com.mes;
+
+import com.mes.md.entity.Tasking;
+import com.mes.md.service.TaskingService;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = DeviceInteractionModuleApplication.class)
+public class TaskingModuleApplicationTest {
+
+// @Resource
+// private OptimizeProjectMapper optimizeProjectMapper;
+ @Autowired
+ private TaskingService taskingService;
+
+ @Test
+ public void test() {
+// List<OptimizeProject> list = optimizeProjectMapper.saveProject("P24032204");
+// log.info("list:{}", list);
+
+ }
+
+ @Test
+ public void testFindPath() {
+ log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
+ }
+
+ @Test
+ public void testFindPa() {
+ Tasking task=new Tasking();
+ task.setGlassId(1L);
+ task.setWorkState("鐮存崯");
+ boolean tasking= taskingService.updateDamage(task);
+ log.info("鏇存敼鏆傚仠寮�濮嬶細{}", Arrays.asList(tasking));
+ }
+ @Test
+ public void testFindPa2() {
+ List<Tasking> tasking= taskingService.selectTasking();
+ log.info("鏌ヨ褰撳墠杩囧幓鐨勪换鍔★細{}", Arrays.asList(tasking));
+
+ }
+
+
+
+}
--
Gitblit v1.8.0