From 8d58c40af40493bd5f066cbfdb1ffd9f113c22fc Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 03 九月 2025 16:37:21 +0800
Subject: [PATCH] 1.前端推数据使用了最新的webSokect客户现场总是掉线,修改为接口方式 2.设备交互整体增加异常处理以及PLC连接方式改为短连接
---
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst | 3
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java | 50
UI-Project/src/views/ManualReporting/manualReporting.vue | 162 ++-
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java | 6
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineThread.java | 16
JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original | 0
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java | 6
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineFlipSlice.java | 194 ++-
UI-Project/src/views/FlipSlice/flipSlice.vue | 423 ++++---
UI-Project/src/views/Lamination/lamination.vue | 110 +
UI-Project/src/views/SilkScreen/SilkScreen.vue | 102 +
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java | 1
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml | 16
UI-Project/package.json | 1
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst | 24
UI-Project/src/views/Marking/marking.vue | 87 +
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java | 38
UI-Project/config.js | 8
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java | 6
UI-Project/src/views/Rotate/rotate.vue | 122 +
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml | 16
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineMarking.java | 102 +
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst | 24
UI-Project/src/utils/constants.js | 4
UI-Project/src/views/Cleaning/cleaning.vue | 136 +-
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java | 48
UI-Project/src/views/GlueDispenser/glueDispenser.vue | 98 +
UI-Project/src/views/MechanicalArm/mechanicalArm.vue | 567 ++++++----
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java | 23
UI-Project/src/views/Edging/edging.vue | 126 +
/dev/null | 78 -
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLamination.java | 78
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineSilkScreen.java | 7
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java | 14
JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original | 0
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst | 3
UI-Project/package-lock.json | 92 +
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineRotate.java | 195 ++-
38 files changed, 1,757 insertions(+), 1,229 deletions(-)
diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
index 8385a74..917dd3d 100644
--- a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
+++ b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
@@ -293,7 +293,6 @@
if (s7PLC == null) {
return null;
}
- // List<String> addresslist = GetAddressList(address, count, 16);
byte[] bytes = null;
try {
bytes = s7PLC.readByte(address, count);
diff --git a/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 314e2ba..e76a642 100644
--- a/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -4,15 +4,16 @@
com\mes\device\PlcBitInfo.class
com\mes\device\PlcBitObject.class
com\mes\utils\MD5.class
-com\mes\tools\WebSocketServer.class
com\mes\common\config\Const.class
com\mes\service\PlcAgreement.class
com\mes\tools\DatabaseDesignDocUtil.class
+com\mes\websocket\WebSocketServer.class
com\mes\utils\Result.class
com\mes\common\config\MybatisPlusConfig.class
com\mes\common\exception\ServiceException.class
com\mes\service\ModbusTcp.class
com\mes\utils\ResponseUtil.class
+com\mes\websocket\WebSocketUtils.class
com\mes\common\handler\MyMetaObjectHandler.class
com\mes\device\PlcParameterObject.class
com\mes\entity\request\GeneralRequest.class
diff --git a/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 6ca42b8..940796b 100644
--- a/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,4 +1,3 @@
-D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\WebSocketServer.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\ModbusTcp.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\handler\MyMetaObjectHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\Swagger2Config.java
@@ -11,11 +10,13 @@
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\HexUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\CodeGet.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\MybatisPlusConfig.java
+D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\websocket\WebSocketServer.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\PlcAgreement.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\HexConversion.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\Const.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\entity\request\GeneralRequest.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcBitInfo.java
+D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\websocket\WebSocketUtils.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\ResponseUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\ResultCodeEnum.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcParameterInfo.java
diff --git a/JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original b/JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original
index c4fe093..4cb2340 100644
--- a/JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original
+++ b/JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original
Binary files differ
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
index 0357a7a..4339a36 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -46,29 +46,29 @@
List<Machine> machineDispensing =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩鐐硅兌鏈�").eq(Machine::getState,"寮�宸�"));
List<Machine> machineListRotate =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鏃嬭浆鍙�").eq(Machine::getState,"寮�宸�"));
List<Machine> machineListLamination =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩璐磋啘鏈�").eq(Machine::getState,"寮�宸�"));
- for (Machine item:machineListLoad){
- new MachineLoad(item,primitiveTaskMapper,taskingMapper,machineMapper,taskingService,primitiveTaskService,lineConfigurationService).start();
- }
- for (Machine item:machineListEdging){
- new MachineEdging(item,taskingMapper,machineMapper,taskingService,primitiveTaskService,lineConfigurationService).start();
- }
- for (Machine item:machineListFlipSlice){
- new MachineFlipSlice(item,machineMapper,taskingService).start();
- }
- for (Machine item:machineListMarking){
- new MachineMarking(item,machineMapper,taskingService).start();
- }
- for (Machine item:machineListSilkScreen){
- new MachineSilkScreen(item,machineMapper,taskingService).start();
- }
- for (Machine item:machineDispensing){
- new MachineDispensing(item,machineMapper,taskingService).start();
- }
- for (Machine item:machineListRotate){
- new MachineRotate(item,machineMapper,taskingService).start();
- }
- for (Machine item:machineListLamination){
- new MachineLamination(item,machineMapper,taskingService).start();
- }
+// for (Machine item:machineListLoad){
+// new MachineLoad(item,primitiveTaskMapper,taskingMapper,machineMapper,taskingService,primitiveTaskService,lineConfigurationService).start();
+// }
+// for (Machine item:machineListEdging){
+// new MachineEdging(item,taskingMapper,machineMapper,taskingService,primitiveTaskService,lineConfigurationService).start();
+// }
+// for (Machine item:machineListFlipSlice){
+// new MachineFlipSlice(item,machineMapper,taskingService).start();
+// }
+// for (Machine item:machineListMarking){
+// new MachineMarking(item,machineMapper,taskingService).start();
+// }
+// for (Machine item:machineListSilkScreen){
+// new MachineSilkScreen(item,machineMapper,taskingService).start();
+// }
+// for (Machine item:machineDispensing){
+// new MachineDispensing(item,machineMapper,taskingService).start();
+// }
+// for (Machine item:machineListRotate){
+// new MachineRotate(item,machineMapper,taskingService).start();
+// }
+// for (Machine item:machineListLamination){
+// new MachineLamination(item,machineMapper,taskingService).start();
+// }
}
}
\ No newline at end of file
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectFlipSlice.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectFlipSlice.java
deleted file mode 100644
index 4333aa8..0000000
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectFlipSlice.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.mes.common;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.mes.device.PlcParameterObject;
-import com.mes.tools.InitUtil;
-import com.mes.tools.S7control;
-
-
-/**
- * @Author : yanzhixin
- * @Date: 2024/4/9 15:13
- * @Description:
- */
-public class S7objectFlipSlice extends Thread {
- public S7control plccontrol; // PLC閫氳绫诲疄渚�
- private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
- private String ip = "10.36.164.120"; // plc ip鍦板潃
- private int port = 102; // plc 绔彛鍙�
-
-
- public PlcParameterObject PlcMesObject;
- private static volatile S7objectFlipSlice instance = null;
-
- private S7objectFlipSlice() {
- if (plccontrol == null) {
- plccontrol = new S7control(plcType, ip, port, 0, 0);
- String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcFlipSlice.json";
-// String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheGlass.json").getPath();
- System.out.println("Load Glass File: " + PlcLoadGlass);
- PlcMesObject = InitUtil.initword(PlcLoadGlass);
- }
- }
-
- // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
- public static S7objectFlipSlice getinstance() {
- if (instance == null) {
- synchronized (S7objectFlipSlice.class) {
- if (instance == null) {
- instance = new S7objectFlipSlice();
- }
- }
- }
- return instance;
- }
-
- @Override
- public void run() {
- while (this != null) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
- int maxRead=1092;
- int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
- (PlcMesObject.getPlcAddressLength()/maxRead):
- (PlcMesObject.getPlcAddressLength()/maxRead+1);
- for (int i = 0; i <size ; i++) {
- int begin=i*maxRead;
- int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
- String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
- byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
- System.arraycopy(getplcvlues,0,resultValues,begin,length);
- }
- if (resultValues != null) {
- PlcMesObject.setPlcParameterList(resultValues);
- }
-// byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
-// if (getplcvlues != null) {
-// PlcMesObject.setPlcParameterList(getplcvlues);
-// }
- }
- }
-}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
index 139d6f6..fea75a5 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
@@ -3,7 +3,6 @@
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
import com.mes.device.PlcParameterInfo;
import com.mes.device.PlcParameterObject;
-import com.mes.service.ModbusTcp;
import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
import lombok.extern.slf4j.Slf4j;
@@ -17,14 +16,15 @@
* @Description:
*/
@Slf4j
-public class S7objectMachine extends Thread {
+public class S7objectMachine{
public S7control plccontrol; // PLC閫氳绫诲疄渚�
private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
private String ip = ""; // plc ip鍦板潃
private int port = 102; // plc 绔彛鍙�
private String plcFileName=""; // json鍚嶇О
public PlcParameterObject PlcMesObject;
- public S7objectMachine(String ip,int port,String plcFileName,EPlcType plcType) {
+
+ public S7objectMachine(String ip, int port, String plcFileName, EPlcType plcType) {
initialize(ip,port,plcFileName,plcType);
if (plccontrol == null) {
plccontrol = new S7control(this.plcType, this.ip, this.port, 0, 0);
@@ -51,34 +51,26 @@
}
log.info(logInfo);
}
- @Override
- public void run() {
- while (this != null) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ public void readData() {
+ try {
+ byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
+ int maxRead=1092;
+ int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
+ (PlcMesObject.getPlcAddressLength()/maxRead):
+ (PlcMesObject.getPlcAddressLength()/maxRead+1);
+ for (int i = 0; i <size ; i++) {
+ int begin=i*maxRead;
+ int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
+ String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
+ byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
+ System.arraycopy(getplcvlues,0,resultValues,begin,length);
}
- try {
- byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
- int maxRead=1092;
- int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
- (PlcMesObject.getPlcAddressLength()/maxRead):
- (PlcMesObject.getPlcAddressLength()/maxRead+1);
- for (int i = 0; i <size ; i++) {
- int begin=i*maxRead;
- int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
- String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
- byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
- System.arraycopy(getplcvlues,0,resultValues,begin,length);
- }
- if (resultValues != null) {
- PlcMesObject.setPlcParameterList(resultValues);
- }
- } catch (Exception e) {
- //log.info("寮傚父:ip:{},port:{}",this.ip,this.port);
+ if (resultValues != null) {
+ PlcMesObject.setPlcParameterList(resultValues);
}
-
+ } catch (Exception e) {
+ PlcMesObject=null;
+ log.info("寮傚父:ip:{},port:{},閿欒{}",this.ip,this.port,e.getMessage());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMarking.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMarking.java
deleted file mode 100644
index 47b6879..0000000
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMarking.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.mes.common;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.mes.device.PlcParameterObject;
-import com.mes.tools.InitUtil;
-import com.mes.tools.S7control;
-
-import java.util.List;
-
-
-/**
- * @Author : yanzhixin
- * @Date: 2024/4/9 15:13
- * @Description:
- */
-public class S7objectMarking extends Thread {
- public S7control plccontrol; // PLC閫氳绫诲疄渚�
- private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
- private String ip = "10.36.164.40"; // plc ip鍦板潃
- private int port = 102; // plc 绔彛鍙�
-
-
- public PlcParameterObject PlcMesObject;
- private static volatile S7objectMarking instance = null;
-
- private S7objectMarking() {
- if (plccontrol == null) {
- plccontrol = new S7control(plcType, ip, port, 0, 0);
- String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcMarking.json";
-// String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheGlass.json").getPath();
- System.out.println("Load Glass File: " + PlcLoadGlass);
- PlcMesObject = InitUtil.initword(PlcLoadGlass);
- }
- }
-
- // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
- public static S7objectMarking getinstance() {
- if (instance == null) {
- synchronized (S7objectMarking.class) {
- if (instance == null) {
- instance = new S7objectMarking();
- }
- }
- }
- return instance;
- }
-
- @Override
- public void run() {
- while (this != null) {
- try {
- Thread.sleep(100);
-
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
- int maxRead=1092;
- int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
- (PlcMesObject.getPlcAddressLength()/maxRead):
- (PlcMesObject.getPlcAddressLength()/maxRead+1);
- for (int i = 0; i <size ; i++) {
- int begin=i*maxRead;
- int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
- String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
- byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
- System.arraycopy(getplcvlues,0,resultValues,begin,length);
- }
- if (resultValues != null) {
- PlcMesObject.setPlcParameterList(resultValues);
- }
-// byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
-// if (getplcvlues != null) {
-// PlcMesObject.setPlcParameterList(getplcvlues);
-// }
- }
- }
-}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
index fb1ab1d..5bced79 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java
@@ -62,8 +62,8 @@
private List<Machine> machineListLamination;
//鏈烘鎵�
- @Scheduled(fixedDelay = 500)
- public void MarkingTasks() {
+ //@Scheduled(fixedDelay = 500)
+ public void loadTasks() {
try {
machineListLoad = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "涓婄墖"));
JSONObject jsonObject = new JSONObject();
@@ -92,7 +92,7 @@
}
//纾ㄨ竟鏈�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void edgingTasks() {
try {
machineListEdging = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "纾ㄨ竟"));
@@ -113,7 +113,7 @@
}
//缈荤墖鍙�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void flipSliceTasks() {
try {
machineListFlipSlice = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "缈荤墖"));
@@ -135,7 +135,7 @@
}
//鎵撴爣鏈�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void markingTasks() {
try {
machineListMarking = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "鑷姩鎵撴爣鏈�"));
@@ -157,7 +157,7 @@
}
//涓濆嵃鏈�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void silkScreenTasks() {
try {
machineListSilkScreen = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "鑷姩涓濆嵃鏈�"));
@@ -178,7 +178,7 @@
}
//鐐硅兌鏈�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void glueDispenserTasks() {
try {
machineListGlueDispenser = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "鑷姩鐐硅兌鏈�"));
@@ -199,7 +199,7 @@
}
//鏃嬭浆鍙�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void rotateTasks() {
try {
machineListRotate = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "鏃嬭浆鍙�"));
@@ -220,7 +220,7 @@
}
//璐磋啘鏈�
- @Scheduled(fixedDelay = 500)
+ //@Scheduled(fixedDelay = 500)
public void laminationTasks() {
try {
machineListLamination = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "鑷姩璐磋啘鏈�"));
@@ -242,7 +242,7 @@
//鎶ュ伐椤甸潰鏌ヨ
- @Scheduled(fixedDelay = 1000)
+ //@Scheduled(fixedDelay = 1000)
public void manualReporting() {
try {
machineListScanQrCode = machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName, "璇嗗埆鎶ュ伐"));
@@ -271,7 +271,7 @@
}
//绾夸笅鐜荤拑鏌ヨ
- @Scheduled(fixedDelay = 1000)
+ //@Scheduled(fixedDelay = 1000)
public void downLineTask() {
try {
JSONObject jsonObject = new JSONObject();
@@ -292,7 +292,6 @@
} catch (Exception ex) {
log.info("{}鍙戦�佹暟鎹け璐ワ細{}", "rawGlassStorage", ex.getMessage());
}
-
}
// public void webSocketServer(JSONObject jsonObject) {
// try {
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
index 1c4d7d0..ab86444 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
@@ -32,27 +32,35 @@
public S7objectMachine s7objectMachine;
//@Scheduled(fixedDelay = 500)
- public void cleaning() {
+ public void cleaning() throws Exception {
//纾ㄨ竟绾块�熷害 10.36.164.200
Long machineId=8L;
Machine machine=machineMapper.selectById(machineId);
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),"PlcCleaning", EPlcType.S200_SMART);
- s7objectMachine.start();
- }
+ S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(),machine.getPort(),"PlcCleaning", EPlcType.S200_SMART);
+ s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
- PlcParameterInfo edgSpeed =plcParameterObject.getPlcParameter("edgSpeed");//纾ㄨ竟鏈洪�熷害
- PlcParameterInfo thinness =plcParameterObject.getPlcParameter("thinness");//鍘氬害
- if (machine.getIsLog()>0){
- s7objectMachine.consoleLogInfo();
+ if (plcParameterObject == null) {
+ s7objectMachine.plccontrol.closeS7client();
+ return;
}
- int edgSpeedInt=0;
- int edgThinnessInt=0;
- if(!(edgSpeedInt+"").equals(edgSpeed.getValue())||!(edgThinnessInt+"").equals(thinness.getValue())){
- //缁欐竻娲楁満鍣ㄥ彂閫佺(杈规満閫熷害
- S7objectCleaning.getinstance().plccontrol.writeWord(edgSpeed.getAddress(), edgSpeedInt);
- S7objectCleaning.getinstance().plccontrol.writeWord(thinness.getAddress(), edgThinnessInt);
+ try {
+ PlcParameterInfo edgSpeed =plcParameterObject.getPlcParameter("edgSpeed");//纾ㄨ竟鏈洪�熷害
+ PlcParameterInfo thinness =plcParameterObject.getPlcParameter("thinness");//鍘氬害
+ if (machine.getIsLog()>0){
+ s7objectMachine.consoleLogInfo();
+ }
+ int edgSpeedInt=0;
+ int edgThinnessInt=0;
+ if(!(edgSpeedInt+"").equals(edgSpeed.getValue())||!(edgThinnessInt+"").equals(thinness.getValue())){
+ //缁欐竻娲楁満鍣ㄥ彂閫佺(杈规満閫熷害
+ S7objectCleaning.getinstance().plccontrol.writeWord(edgSpeed.getAddress(), edgSpeedInt);
+ S7objectCleaning.getinstance().plccontrol.writeWord(thinness.getAddress(), edgThinnessInt);
+ }
+ }catch (Exception e) {
+ s7objectMachine.plccontrol.closeS7client();
+ log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
}
+
}
//@Scheduled(fixedDelay = 1000)
public void cleaningTask() {
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
index 917fd58..26d12aa 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
@@ -2,12 +2,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.mes.md.entity.KBBTJPDrawingBP;
-import com.mes.md.entity.PrimitiveTask;
-import com.mes.md.entity.TaskingLog;
+import com.mes.md.entity.*;
import com.mes.md.mapper.KBBTJPDrawingBPMapper;
import com.mes.md.mapper.TaskingLogMapper;
import com.mes.md.service.KBBTJPDrawingBPService;
+import com.mes.md.service.LineConfigurationService;
import com.mes.md.service.PrimitiveTaskService;
import com.mes.md.service.TaskingLogService;
import com.mes.utils.Result;
@@ -42,12 +41,15 @@
TaskingLogService taskingLogService;
@Autowired
TaskingLogMapper taskingLogMapper;
+ @Autowired
+ LineConfigurationService lineConfigurationService;
@ApiOperation("鏌ヨ褰撳墠璁惧锛屾湭瀹屽伐鐘舵�佺殑绾夸笂浠诲姟")
- @PostMapping("/selectPrimitiveTask")
+ @PostMapping("/findMachineTask")
@ResponseBody
- public Result findMachineTask(@RequestBody PrimitiveTask primitiveTask) {
- List<PrimitiveTask> list =primitiveTaskService.selectPrimitiveTask(primitiveTask);
+ public Result findMachineTask(@RequestBody Machine machine) {
+ LineConfiguration lineConfiguration = lineConfigurationService.machineLineConfiguration(machine);
+ List<PrimitiveTask> list =primitiveTaskService.findPrimitiveTasking(machine,lineConfiguration.getLineId());
return Result.build(200,"鎴愬姛",list);
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java
index cf2d6bf..b41de5f 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java
@@ -29,7 +29,7 @@
this.taskingService = taskingService;
}
- public void plcStart() {
+ public void plcStart()throws Exception {
Machine machine = machineMapper.selectById(thisMachine.getId());
String fileName = machine.getFileName();
ModbusTcp modbusTcp1 = new ModbusTcp(machine.getIp(), machine.getPort(), fileName);
@@ -223,12 +223,14 @@
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ }catch (Exception e) {
+ throw new RuntimeException(e);
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
index 68f44f0..b2e43ba 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
@@ -48,7 +48,7 @@
this.lineConfigurationService = lineConfigurationService;
}
- public void plcStart() {
+ public void plcStart() throws Exception{
Machine machine=machineMapper.selectById(thisMachine.getId());
ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName());
try {
@@ -325,12 +325,14 @@
}
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineFlipSlice.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineFlipSlice.java
index 948210d..902d5ee 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineFlipSlice.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineFlipSlice.java
@@ -14,136 +14,142 @@
import java.util.*;
@Slf4j
-public class MachineFlipSlice extends Thread{
+public class MachineFlipSlice extends Thread {
private MachineMapper machineMapper;
private TaskingService taskingService;
- private S7objectMachine s7objectMachine;
public static int thinness = 40;
public static int edgSpeed = 40;
- //public static Long machineId = 6L;
public List<Map> sendRecords = new ArrayList<>();
public Machine thisMachine;
- public MachineFlipSlice(Machine machine,MachineMapper machineMapper, TaskingService taskingService){
+ public MachineFlipSlice(Machine machine, MachineMapper machineMapper, TaskingService taskingService) {
this.thisMachine = machine;
this.machineMapper = machineMapper;
this.taskingService = taskingService;
}
- public void plcStart() {
- //Long machineId=26L;
- Machine machine=machineMapper.selectById(thisMachine.getId());
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),machine.getFileName(), EPlcType.S1200);
- s7objectMachine.start();
- }
+ public void plcStart() throws Exception {
+ Machine machine = machineMapper.selectById(thisMachine.getId());
+ S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(), machine.getPort(), machine.getFileName(), EPlcType.S1200);
+ s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
- PlcParameterInfo plcRequest =plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
- PlcParameterInfo plcRequestID =plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
- PlcParameterInfo plcRequestType =plcParameterObject.getPlcParameter("plcRequestType");//PLC璇锋眰
-
- PlcParameterInfo mesSend =plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
- PlcParameterInfo mesSendId =plcParameterObject.getPlcParameter("mesSendID");//鍙戦�両D
- PlcParameterInfo length =plcParameterObject.getPlcParameter("length");//闀�
- PlcParameterInfo width =plcParameterObject.getPlcParameter("width");//瀹�
- PlcParameterInfo mesSendType =plcParameterObject.getPlcParameter("mesSendType");// 鎵爜1 涓嶆壂鐮�2
-
- String scan_id="";
- if (machine.getIsLog()>0){
- s7objectMachine.consoleLogInfo();
- }
- if ("0".equals(plcRequestType.getValue())&&!"0".equals(mesSendType.getValue())) {
- //鍙戦�佸瓧缃�0
- log.info("1.鍙戦�佺被鍨嬪瓧缃浂,娓呴櫎涓婃鍙戦�佺殑绫诲瀷鏁版嵁{}->0",mesSendType.getValue());
- s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), 0);
-
+ if (plcParameterObject == null) {
+ s7objectMachine.plccontrol.closeS7client();
return;
}
- if ("0".equals(plcRequest.getValue())&&!"0".equals(mesSend.getValue())) {
- //鍙戦�佸瓧缃�0
- int finishCount=taskingService.finishMachineTask(machine);
- nullMachine(machine);
- log.info("2.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
- ,finishCount
- ,length.getValue()
- ,width.getValue()
- ,mesSendId.getValue()
- ,mesSend.getValue());
- s7objectMachine.plccontrol.writeWord(length.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(width.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(mesSendId.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
- return;
- }
- if ("1".equals(plcRequestType.getValue())&&"0".equals(mesSendType.getValue())) {
- //鍙戦�佺被鍨� 1鎵爜 2涓嶆壂鐮�
- int type=machine.getMode()==1?2:1;
- log.info("3.鍙戦�佺被鍨嬫暟鎹�0->{}",mesSendType.getValue());
- s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), type);
- return;
- }
- List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
- if(("1".equals(plcRequest.getValue())&&"0".equals(mesSend.getValue())
- &&"寮�宸�".equals(machine.getState())
- &&taskingCount.size()<machine.getMaxTaskCount())){
- Tasking tasking;
- if(machine.getMode()==1){
- //鏍囧噯妯″紡
- tasking=taskingService.startMachineTask(machine);
- }else{
- //瀹氬埗妯″紡
- String PlcRequestID_=plcRequestID.getValue();
- //String PlcRequestID_=",,46403118";
- scan_id= PlcRequestID_.substring(PlcRequestID_.lastIndexOf(",")+1);
- tasking=taskingService.startScanIdMachineTask(machine,scan_id);//涓嶇椤哄簭锛岀洿鎺ユ壘浠庣(杈规満鎵爜鍚庡埌缈荤墖鍙扮殑鏁版嵁
+ try {
+ PlcParameterInfo plcRequest = plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
+ PlcParameterInfo plcRequestID = plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
+ PlcParameterInfo plcRequestType = plcParameterObject.getPlcParameter("plcRequestType");//PLC璇锋眰
+
+ PlcParameterInfo mesSend = plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
+ PlcParameterInfo mesSendId = plcParameterObject.getPlcParameter("mesSendID");//鍙戦�両D
+ PlcParameterInfo length = plcParameterObject.getPlcParameter("length");//闀�
+ PlcParameterInfo width = plcParameterObject.getPlcParameter("width");//瀹�
+ PlcParameterInfo mesSendType = plcParameterObject.getPlcParameter("mesSendType");// 鎵爜1 涓嶆壂鐮�2
+
+ String scan_id = "";
+ if (machine.getIsLog() > 0) {
+ s7objectMachine.consoleLogInfo();
}
- if(tasking!=null){
- log.info("4銆佸彂閫佹暟鎹�:{},{},{},{},{}"
- ,tasking.getGlassId(),tasking.getProgramId()
- ,tasking.getLength().intValue(),tasking.getWidth().intValue(),1);
- s7objectMachine.plccontrol.writeWord(length.getAddress(), tasking.getLength().intValue());
- s7objectMachine.plccontrol.writeWord(width.getAddress(), tasking.getWidth().intValue());
- s7objectMachine.plccontrol.writeString(mesSendId.getAddress(), tasking.getTaskSequence().toString());
- s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 1);
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String sendRecord=df.format(new Date())+" "+
- tasking.getGlassId()+"-"+
- tasking.getLength()+"-"+
- tasking.getWidth();
- if (sendRecords.size()>7){
- sendRecords.remove(0);
- }
- Map sendContentMap=new HashMap();
- sendContentMap.put("sendContent",sendRecord);
- sendRecords.add(sendContentMap);
- nullMachine(machine);
+ if ("0".equals(plcRequestType.getValue()) && !"0".equals(mesSendType.getValue())) {
+ //鍙戦�佸瓧缃�0
+ log.info("1.鍙戦�佺被鍨嬪瓧缃浂,娓呴櫎涓婃鍙戦�佺殑绫诲瀷鏁版嵁{}->0", mesSendType.getValue());
+ s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), 0);
+
return;
- }else if(!scan_id.isEmpty()){
- taskingService.scanMachineAdd(machine,scan_id);
}
- }else if("0".equals(plcRequest.getValue())){
- nullMachine(machine);
+ if ("0".equals(plcRequest.getValue()) && !"0".equals(mesSend.getValue())) {
+ //鍙戦�佸瓧缃�0
+ int finishCount = taskingService.finishMachineTask(machine);
+ nullMachine(machine);
+ log.info("2.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
+ , finishCount
+ , length.getValue()
+ , width.getValue()
+ , mesSendId.getValue()
+ , mesSend.getValue());
+ s7objectMachine.plccontrol.writeWord(length.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(width.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(mesSendId.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
+ return;
+ }
+ if ("1".equals(plcRequestType.getValue()) && "0".equals(mesSendType.getValue())) {
+ //鍙戦�佺被鍨� 1鎵爜 2涓嶆壂鐮�
+ int type = machine.getMode() == 1 ? 2 : 1;
+ log.info("3.鍙戦�佺被鍨嬫暟鎹�0->{}", mesSendType.getValue());
+ s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), type);
+ return;
+ }
+ List<Tasking> taskingCount = taskingService.findMachineWorkStateTask(machine, "姝e湪宸ヤ綔");
+ if (("1".equals(plcRequest.getValue()) && "0".equals(mesSend.getValue())
+ && "寮�宸�".equals(machine.getState())
+ && taskingCount.size() < machine.getMaxTaskCount())) {
+ Tasking tasking;
+ if (machine.getMode() == 1) {
+ //鏍囧噯妯″紡
+ tasking = taskingService.startMachineTask(machine);
+ } else {
+ //瀹氬埗妯″紡
+ String PlcRequestID_ = plcRequestID.getValue();
+ //String PlcRequestID_=",,46403118";
+ scan_id = PlcRequestID_.substring(PlcRequestID_.lastIndexOf(",") + 1);
+ tasking = taskingService.startScanIdMachineTask(machine, scan_id);//涓嶇椤哄簭锛岀洿鎺ユ壘浠庣(杈规満鎵爜鍚庡埌缈荤墖鍙扮殑鏁版嵁
+ }
+ if (tasking != null) {
+ log.info("4銆佸彂閫佹暟鎹�:{},{},{},{},{}"
+ , tasking.getGlassId(), tasking.getProgramId()
+ , tasking.getLength().intValue(), tasking.getWidth().intValue(), 1);
+ s7objectMachine.plccontrol.writeWord(length.getAddress(), tasking.getLength().intValue());
+ s7objectMachine.plccontrol.writeWord(width.getAddress(), tasking.getWidth().intValue());
+ s7objectMachine.plccontrol.writeString(mesSendId.getAddress(), tasking.getTaskSequence().toString());
+ s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 1);
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String sendRecord = df.format(new Date()) + " " +
+ tasking.getGlassId() + "-" +
+ tasking.getLength() + "-" +
+ tasking.getWidth();
+ if (sendRecords.size() > 7) {
+ sendRecords.remove(0);
+ }
+ Map sendContentMap = new HashMap();
+ sendContentMap.put("sendContent", sendRecord);
+ sendRecords.add(sendContentMap);
+ nullMachine(machine);
+ return;
+ } else if (!scan_id.isEmpty()) {
+ taskingService.scanMachineAdd(machine, scan_id);
+ }
+ } else if ("0".equals(plcRequest.getValue())) {
+ nullMachine(machine);
+ }
+ } catch (Exception e) {
+ s7objectMachine.plccontrol.closeS7client();
+ log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
}
-
}
public void nullMachine(Machine machine) {
- if (!"".equals(machine.getRemark())){
+ if (!"".equals(machine.getRemark())) {
machine.setRemark("");
machineMapper.updateById(machine);
}
}
+
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ } catch (Exception e) {
+ log.info("{}", e.getMessage());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLamination.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLamination.java
index 325f2b7..154c8b2 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLamination.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLamination.java
@@ -15,69 +15,72 @@
import java.util.Map;
@Slf4j
-public class MachineLamination extends Thread{
+public class MachineLamination extends Thread {
private MachineMapper machineMapper;
private TaskingService taskingService;
private S7objectMachine s7objectMachine;
public Machine thisMachine;
- public MachineLamination(Machine machine, MachineMapper machineMapper, TaskingService taskingService){
+
+ public MachineLamination(Machine machine, MachineMapper machineMapper, TaskingService taskingService) {
this.thisMachine = machine;
this.machineMapper = machineMapper;
this.taskingService = taskingService;
}
- public void plcStart() {
- Machine machine=machineMapper.selectById(thisMachine.getId());
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),machine.getFileName(), EPlcType.S1200);
- s7objectMachine.start();
- }
- PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
- PlcParameterInfo plcRequest =plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
- PlcParameterInfo mesSend =plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
- PlcParameterInfo lengthOutOfService =plcParameterObject.getPlcParameter("length");//闀�
- PlcParameterInfo widthOutOfService =plcParameterObject.getPlcParameter("width");//瀹�
- PlcParameterInfo markingMode =plcParameterObject.getPlcParameter("thickness");//鍘氬害
+ public void plcStart()throws Exception {
+ Machine machine = machineMapper.selectById(thisMachine.getId());
- PlcParameterInfo plcReport =plcParameterObject.getPlcParameter("plcReport");//姹囨姤瀛�
- PlcParameterInfo mesConfirm =plcParameterObject.getPlcParameter("mesConfirm");//纭瀛�
- PlcParameterInfo mesConfirmID =plcParameterObject.getPlcParameter("mesConfirmID");//纭ID
- if (machine.getIsLog()>0){
+ S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(), machine.getPort(), machine.getFileName(), EPlcType.S1200);
+ s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
+ PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
+ if (plcParameterObject == null) {
+ s7objectMachine.plccontrol.closeS7client();
+ return;
+ }
+ try {
+ PlcParameterInfo plcRequest = plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
+ PlcParameterInfo mesSend = plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
+ PlcParameterInfo lengthOutOfService = plcParameterObject.getPlcParameter("length");//闀�
+ PlcParameterInfo widthOutOfService = plcParameterObject.getPlcParameter("width");//瀹�
+ PlcParameterInfo markingMode = plcParameterObject.getPlcParameter("thickness");//鍘氬害
+
+ PlcParameterInfo plcReport = plcParameterObject.getPlcParameter("plcReport");//姹囨姤瀛�
+ PlcParameterInfo mesConfirm = plcParameterObject.getPlcParameter("mesConfirm");//纭瀛�
+ PlcParameterInfo mesConfirmID = plcParameterObject.getPlcParameter("mesConfirmID");//纭ID
+ if (machine.getIsLog() > 0) {
s7objectMachine.consoleLogInfo();
}
- if ("0".equals(plcRequest.getValue())&&"1".equals(mesSend.getValue())) {
+ if ("0".equals(plcRequest.getValue()) && "1".equals(mesSend.getValue())) {
//鍙戦�佸瓧缃�0
- log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{}",mesSend.getValue());
+ log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{}", mesSend.getValue());
s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
return;
}
- if ("0".equals(plcReport.getValue())&&"1".equals(mesConfirm.getValue())) {
+ if ("0".equals(plcReport.getValue()) && "1".equals(mesConfirm.getValue())) {
log.info("2.纭瀛楃疆闆�");
//鍙戦�佸瓧缃�0
s7objectMachine.plccontrol.writeWord(mesConfirm.getAddress(), 0);
return;
}
- if("1".equals(plcReport.getValue())&&"0".equals(mesConfirm.getValue())){
-
-
- int finishCount=taskingService.finishMachineTask(machine);
+ if ("1".equals(plcReport.getValue()) && "0".equals(mesConfirm.getValue())) {
+ int finishCount = taskingService.finishMachineTask(machine);
log.info("3銆佷换鍔″畬鎴�");
- if(finishCount>0){//鏈変换鍔�
+ if (finishCount > 0) {//鏈変换鍔�
s7objectMachine.plccontrol.writeWord(mesConfirm.getAddress(), 1);
return;
}
return;
}
- List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
- if("1".equals(plcRequest.getValue())&&"0".equals(mesSend.getValue())
- &&"寮�宸�".equals(machine.getState())
- &&taskingCount.size()<machine.getMaxTaskCount()){
+ List<Tasking> taskingCount = taskingService.findMachineWorkStateTask(machine, "姝e湪宸ヤ綔");
+ if ("1".equals(plcRequest.getValue()) && "0".equals(mesSend.getValue())
+ && "寮�宸�".equals(machine.getState())
+ && taskingCount.size() < machine.getMaxTaskCount()) {
- Tasking tasking=taskingService.startMachineTask(machine);
- if(tasking!=null){
- log.info("4銆佸彂閫佹暟鎹�:{},{},{}",tasking.getLength().intValue(),tasking.getWidth().intValue(),1);
+ Tasking tasking = taskingService.startMachineTask(machine);
+ if (tasking != null) {
+ log.info("4銆佸彂閫佹暟鎹�:{},{},{}", tasking.getLength().intValue(), tasking.getWidth().intValue(), 1);
s7objectMachine.plccontrol.writeWord(lengthOutOfService.getAddress(), tasking.getLength().intValue());//x
s7objectMachine.plccontrol.writeWord(widthOutOfService.getAddress(), tasking.getWidth().intValue());//y
@@ -85,16 +88,23 @@
return;
}
}
+ } catch (Exception e) {
+ s7objectMachine.plccontrol.closeS7client();
+ log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
}
+
+ }
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ } catch (Exception e) {
+ log.info("{}", e.getMessage());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
index c5ae0d7..0d341b9 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
@@ -47,7 +47,7 @@
this.lineConfigurationService = lineConfigurationService;
}
- public void plcStart() {
+ public void plcStart() throws Exception{
ModbusTcp modbusTcp1 = null;
try {
Machine machine = machineMapper.selectById(thisMachine.getId());
@@ -168,12 +168,14 @@
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ }catch (Exception e) {
+ throw new RuntimeException(e);
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineMarking.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineMarking.java
index 50af765..80482aa 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineMarking.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineMarking.java
@@ -14,7 +14,7 @@
import java.util.*;
@Slf4j
-public class MachineMarking extends Thread{
+public class MachineMarking extends Thread {
private MachineMapper machineMapper;
@@ -25,46 +25,47 @@
//public static Long machineId = 6L;
public List<Map> sendRecords = new ArrayList<>();
public Machine thisMachine;
- public MachineMarking(Machine machine,MachineMapper machineMapper, TaskingService taskingService){
+
+ public MachineMarking(Machine machine, MachineMapper machineMapper, TaskingService taskingService) {
this.thisMachine = machine;
this.machineMapper = machineMapper;
this.taskingService = taskingService;
}
- public void plcStart() {
- //Long machineId=12L;
- Machine machine=machineMapper.selectById(thisMachine.getId());
-// S7objectMachine s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),"PlcMarking", EPlcType.S1500);
-// s7objectMachine.start();
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),machine.getFileName(), EPlcType.S1500);
- s7objectMachine.start();
- }
- PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
- PlcParameterInfo plcRequest =plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
- PlcParameterInfo plcRequestID =plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
- PlcParameterInfo mesSend =plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
- PlcParameterInfo isMark =plcParameterObject.getPlcParameter("isMark");//鍙戦�両D銆�0 涓嶆墦鏍囷紝1鏍囧噯妯″紡锛�2瀹氬埗妯″紡銆�
- PlcParameterInfo drawingMark =plcParameterObject.getPlcParameter("drawingMark");//鎵撴爣鍥剧焊鍦板潃
- PlcParameterInfo lengthOutOfService =plcParameterObject.getPlcParameter("length(OutOfService)");//闀�
- PlcParameterInfo widthOutOfService =plcParameterObject.getPlcParameter("width(OutOfService)");//瀹�
- PlcParameterInfo markingMode =plcParameterObject.getPlcParameter("markingMode");//
+ public void plcStart()throws Exception {
+ Machine machine = machineMapper.selectById(thisMachine.getId());
+ S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(), machine.getPort(), machine.getFileName(), EPlcType.S1500);
+ s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
+ PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
+ if (plcParameterObject == null) {
+ s7objectMachine.plccontrol.closeS7client();
+ return;
+ }
+ try {
+ PlcParameterInfo plcRequest = plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
+ PlcParameterInfo plcRequestID = plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
+ PlcParameterInfo mesSend = plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
+ PlcParameterInfo isMark = plcParameterObject.getPlcParameter("isMark");//鍙戦�両D銆�0 涓嶆墦鏍囷紝1鏍囧噯妯″紡锛�2瀹氬埗妯″紡銆�
+ PlcParameterInfo drawingMark = plcParameterObject.getPlcParameter("drawingMark");//鎵撴爣鍥剧焊鍦板潃
+ PlcParameterInfo lengthOutOfService = plcParameterObject.getPlcParameter("length(OutOfService)");//闀�
+ PlcParameterInfo widthOutOfService = plcParameterObject.getPlcParameter("width(OutOfService)");//瀹�
+ PlcParameterInfo markingMode = plcParameterObject.getPlcParameter("markingMode");//
- PlcParameterInfo plcReport =plcParameterObject.getPlcParameter("plcReport");//姹囨姤瀛�
- PlcParameterInfo plcReportID =plcParameterObject.getPlcParameter("plcReportID");//姹囨姤ID
- PlcParameterInfo mesConfirm =plcParameterObject.getPlcParameter("mesConfirm");//纭瀛�
- PlcParameterInfo mesConfirmID =plcParameterObject.getPlcParameter("mesConfirmID");//纭ID
- if (machine.getIsLog()>0){
+ PlcParameterInfo plcReport = plcParameterObject.getPlcParameter("plcReport");//姹囨姤瀛�
+ PlcParameterInfo plcReportID = plcParameterObject.getPlcParameter("plcReportID");//姹囨姤ID
+ PlcParameterInfo mesConfirm = plcParameterObject.getPlcParameter("mesConfirm");//纭瀛�
+ PlcParameterInfo mesConfirmID = plcParameterObject.getPlcParameter("mesConfirmID");//纭ID
+ if (machine.getIsLog() > 0) {
s7objectMachine.consoleLogInfo();
}
- if ("0".equals(plcRequest.getValue())&&"1".equals(mesSend.getValue())) {
+ if ("0".equals(plcRequest.getValue()) && "1".equals(mesSend.getValue())) {
//鍙戦�佸瓧缃�0
log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
- ,markingMode.getValue()
- ,isMark.getValue()
- ,lengthOutOfService.getValue()
- ,widthOutOfService.getValue()
- ,mesSend.getValue());
+ , markingMode.getValue()
+ , isMark.getValue()
+ , lengthOutOfService.getValue()
+ , widthOutOfService.getValue()
+ , mesSend.getValue());
//S7objectMarking.getinstance().plccontrol.writeString(drawingMark.getAddress(),"");
s7objectMachine.plccontrol.writeWord(markingMode.getAddress(), 0);
s7objectMachine.plccontrol.writeWord(lengthOutOfService.getAddress(), 0);
@@ -73,34 +74,34 @@
s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
return;
}
- if ("0".equals(plcReport.getValue())&&"1".equals(mesConfirm.getValue())) {
+ if ("0".equals(plcReport.getValue()) && "1".equals(mesConfirm.getValue())) {
log.info("2.纭瀛楃疆闆�");
//鍙戦�佸瓧缃�0
s7objectMachine.plccontrol.writeWord(mesConfirm.getAddress(), 0);
return;
}
- if("1".equals(plcReport.getValue())&&"0".equals(mesConfirm.getValue())){
- int finishCount=taskingService.finishMachineTask(machine);
+ if ("1".equals(plcReport.getValue()) && "0".equals(mesConfirm.getValue())) {
+ int finishCount = taskingService.finishMachineTask(machine);
log.info("3銆佷换鍔″畬鎴�");
- if(finishCount>0){//鏈変换鍔�
+ if (finishCount > 0) {//鏈変换鍔�
s7objectMachine.plccontrol.writeWord(mesConfirm.getAddress(), 1);
return;
}
return;
}
- List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
- if("1".equals(plcRequest.getValue())&&"0".equals(mesSend.getValue())&& !plcRequestID.getValue().isEmpty()
- &&"寮�宸�".equals(machine.getState())
- &&taskingCount.size()<machine.getMaxTaskCount()){
- Tasking tasking=taskingService.startMachineTask(machine);
- if(tasking!=null){
+ List<Tasking> taskingCount = taskingService.findMachineWorkStateTask(machine, "姝e湪宸ヤ綔");
+ if ("1".equals(plcRequest.getValue()) && "0".equals(mesSend.getValue()) && !plcRequestID.getValue().isEmpty()
+ && "寮�宸�".equals(machine.getState())
+ && taskingCount.size() < machine.getMaxTaskCount()) {
+ Tasking tasking = taskingService.startMachineTask(machine);
+ if (tasking != null) {
//妯″紡锛�1瀹氬埗 0 鎵归噺 鏄惁鎵撴爣锛�0涓嶆墦鏍� 1鎵撴爣
- int isMark_=(tasking.getDrawingMarking()==null||tasking.getDrawingMarking().isEmpty())?0:1;
- int isMarkingMode_="瀹氬埗".equals(tasking.getTaskType()) ?1:0;
+ int isMark_ = (tasking.getDrawingMarking() == null || tasking.getDrawingMarking().isEmpty()) ? 0 : 1;
+ int isMarkingMode_ = "瀹氬埗".equals(tasking.getTaskType()) ? 1 : 0;
log.info("4銆佸彂閫佹暟鎹�:{},{},{},{},{},{}"
- ,tasking.getProgramId()
- ,tasking.getLength().intValue(),tasking.getWidth().intValue(),isMark_,isMarkingMode_,1);
- if(isMark_==1){
+ , tasking.getProgramId()
+ , tasking.getLength().intValue(), tasking.getWidth().intValue(), isMark_, isMarkingMode_, 1);
+ if (isMark_ == 1) {
s7objectMachine.plccontrol.writeString(drawingMark.getAddress(), tasking.getProgramId());
}
s7objectMachine.plccontrol.writeWord(widthOutOfService.getAddress(), tasking.getWidth().intValue());//y
@@ -111,16 +112,23 @@
return;
}
}
+ } catch (Exception e) {
+ s7objectMachine.plccontrol.closeS7client();
+ log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
}
+
+ }
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ } catch (Exception e) {
+ log.info("{}", e.getMessage());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineRotate.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineRotate.java
index d93d27d..68abf6d 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineRotate.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineRotate.java
@@ -14,7 +14,7 @@
import java.util.*;
@Slf4j
-public class MachineRotate extends Thread{
+public class MachineRotate extends Thread {
private MachineMapper machineMapper;
@@ -24,112 +24,121 @@
public List<Map> sendRecords = new ArrayList<>();
public Machine thisMachine;
- public MachineRotate(Machine machine,MachineMapper machineMapper, TaskingService taskingService){
+ public MachineRotate(Machine machine, MachineMapper machineMapper, TaskingService taskingService) {
this.thisMachine = machine;
this.machineMapper = machineMapper;
this.taskingService = taskingService;
}
- public void plcStart() {
+
+ public void plcStart() throws Exception {
//鏃嬭浆鍙�
- //Long machineId=20L;
- Machine machine=machineMapper.selectById(thisMachine.getId());
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),machine.getFileName(), EPlcType.S1200);
- s7objectMachine.start();
- }
+ Machine machine = machineMapper.selectById(thisMachine.getId());
+ S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(), machine.getPort(), machine.getFileName(), EPlcType.S1200);
+ s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
- PlcParameterInfo plcRequest =plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
- PlcParameterInfo plcRequestID =plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
- PlcParameterInfo plcRequestType =plcParameterObject.getPlcParameter("plcRequestType");//PLC璇锋眰
-
- PlcParameterInfo mesSend =plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
- PlcParameterInfo mesSendId =plcParameterObject.getPlcParameter("mesSendID");//鍙戦�両D
- PlcParameterInfo length =plcParameterObject.getPlcParameter("length");//闀�
- PlcParameterInfo width =plcParameterObject.getPlcParameter("width");//瀹�
- PlcParameterInfo rotateType =plcParameterObject.getPlcParameter("rotateType");//鏃嬭浆绫诲瀷
-
- PlcParameterInfo mesSendType =plcParameterObject.getPlcParameter("mesSendType");// 鎵爜1 涓嶆壂鐮�2
- String scan_id="";
- if (machine.getIsLog()>0){
- s7objectMachine.consoleLogInfo();
- }
- if ("0".equals(plcRequestType.getValue())&&!"0".equals(mesSendType.getValue())) {
- //鍙戦�佸瓧缃�0
- log.info("1.鍙戦�佺被鍨嬪瓧缃浂,娓呴櫎涓婃鍙戦�佺殑绫诲瀷鏁版嵁{}->0",mesSendType.getValue());
- s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), 0);
+ if (plcParameterObject == null) {
+ s7objectMachine.plccontrol.closeS7client();
return;
}
- if ("0".equals(plcRequest.getValue())&&!"0".equals(mesSend.getValue())) {
- //鍙戦�佸瓧缃�0
- int finishCount=taskingService.finishMachineTask(machine);
- nullMachine(machine);
- log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
- ,finishCount
- ,length.getValue()
- ,width.getValue()
- ,mesSendId.getValue()
- ,mesSend.getValue());
- s7objectMachine.plccontrol.writeWord(length.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(width.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(mesSendId.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(rotateType.getAddress(), 0);
- s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
+ try {
- return;
- }
- if ("1".equals(plcRequestType.getValue())&&"0".equals(mesSendType.getValue())) {
- //鍙戦�佺被鍨� 1鎵爜 2涓嶆壂鐮�
- int type=machine.getMode()==1?2:1;
- log.info("3.鍙戦�佺被鍨嬫暟鎹�0->{}",mesSendType.getValue());
- s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), type);
- return;
- }
- List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
- if("1".equals(plcRequest.getValue())&&"0".equals(mesSend.getValue())
- &&"寮�宸�".equals(machine.getState())
- &&taskingCount.size()<machine.getMaxTaskCount()){
- Tasking tasking;
- if(machine.getMode()==1){
- //鏍囧噯妯″紡
- tasking=taskingService.startMachineTask(machine);
- }else{
- //瀹氬埗妯″紡
- String PlcRequestID_=plcRequestID.getValue();
- scan_id= PlcRequestID_.substring(PlcRequestID_.lastIndexOf(",")+1);
- //鏍囪褰撳墠宸ュ簭 浠ュ墠鐨勭幓鐠� 鐩存帴鍒板綋鍓嶅伐搴�
- tasking=taskingService.startScanIdMachineTask(machine,scan_id);//涓嶇椤哄簭锛岀洿鎺ユ壘浠庣炕鐗囧彴鎵爜鍚庡埌鏃嬭浆鍙扮殑鏁版嵁
+ PlcParameterInfo plcRequest = plcParameterObject.getPlcParameter("plcRequest");//璇锋眰瀛�
+ PlcParameterInfo plcRequestID = plcParameterObject.getPlcParameter("plcRequestID");//璇锋眰ID
+ PlcParameterInfo plcRequestType = plcParameterObject.getPlcParameter("plcRequestType");//PLC璇锋眰
+
+ PlcParameterInfo mesSend = plcParameterObject.getPlcParameter("mesSend");//鍙戦�佸瓧
+ PlcParameterInfo mesSendId = plcParameterObject.getPlcParameter("mesSendID");//鍙戦�両D
+ PlcParameterInfo length = plcParameterObject.getPlcParameter("length");//闀�
+ PlcParameterInfo width = plcParameterObject.getPlcParameter("width");//瀹�
+ PlcParameterInfo rotateType = plcParameterObject.getPlcParameter("rotateType");//鏃嬭浆绫诲瀷
+
+ PlcParameterInfo mesSendType = plcParameterObject.getPlcParameter("mesSendType");// 鎵爜1 涓嶆壂鐮�2
+ String scan_id = "";
+ if (machine.getIsLog() > 0) {
+ s7objectMachine.consoleLogInfo();
}
- if(tasking!=null){
- log.info("4銆佸彂閫佹暟鎹�:{},{},{},{},{}"
- ,tasking.getGlassId(),tasking.getProgramId()
- ,tasking.getLength().intValue(),tasking.getWidth().intValue(),1);
- s7objectMachine.plccontrol.writeWord(length.getAddress(), tasking.getLength().intValue());
- s7objectMachine.plccontrol.writeWord(width.getAddress(), tasking.getWidth().intValue());
- s7objectMachine.plccontrol.writeString(mesSendId.getAddress(), tasking.getTaskSequence().toString());
- s7objectMachine.plccontrol.writeWord(rotateType.getAddress(), machine.getRotateMode());
- s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 1);
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String sendRecord=df.format(new Date())+" "+
- tasking.getGlassId()+"-"+
- tasking.getLength()+"-"+
- tasking.getWidth();
- if (sendRecords.size()>7){
- sendRecords.remove(0);
- }
+ if ("0".equals(plcRequestType.getValue()) && !"0".equals(mesSendType.getValue())) {
+ //鍙戦�佸瓧缃�0
+ log.info("1.鍙戦�佺被鍨嬪瓧缃浂,娓呴櫎涓婃鍙戦�佺殑绫诲瀷鏁版嵁{}->0", mesSendType.getValue());
+ s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), 0);
+ return;
+ }
+ if ("0".equals(plcRequest.getValue()) && !"0".equals(mesSend.getValue())) {
+ //鍙戦�佸瓧缃�0
+ int finishCount = taskingService.finishMachineTask(machine);
nullMachine(machine);
- Map sendContentMap=new HashMap();
- sendContentMap.put("sendContent",sendRecord);
- sendRecords.add(sendContentMap);
- }else if(!scan_id.isEmpty()){
- taskingService.scanMachineAdd(machine,scan_id);
+ log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
+ , finishCount
+ , length.getValue()
+ , width.getValue()
+ , mesSendId.getValue()
+ , mesSend.getValue());
+ s7objectMachine.plccontrol.writeWord(length.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(width.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(mesSendId.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(rotateType.getAddress(), 0);
+ s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 0);
+
+ return;
}
- }else if("0".equals(plcRequest.getValue())){
- nullMachine(machine);
+ if ("1".equals(plcRequestType.getValue()) && "0".equals(mesSendType.getValue())) {
+ //鍙戦�佺被鍨� 1鎵爜 2涓嶆壂鐮�
+ int type = machine.getMode() == 1 ? 2 : 1;
+ log.info("3.鍙戦�佺被鍨嬫暟鎹�0->{}", mesSendType.getValue());
+ s7objectMachine.plccontrol.writeWord(mesSendType.getAddress(), type);
+ return;
+ }
+ List<Tasking> taskingCount = taskingService.findMachineWorkStateTask(machine, "姝e湪宸ヤ綔");
+ if ("1".equals(plcRequest.getValue()) && "0".equals(mesSend.getValue())
+ && "寮�宸�".equals(machine.getState())
+ && taskingCount.size() < machine.getMaxTaskCount()) {
+ Tasking tasking;
+ if (machine.getMode() == 1) {
+ //鏍囧噯妯″紡
+ tasking = taskingService.startMachineTask(machine);
+ } else {
+ //瀹氬埗妯″紡
+ String PlcRequestID_ = plcRequestID.getValue();
+ scan_id = PlcRequestID_.substring(PlcRequestID_.lastIndexOf(",") + 1);
+ //鏍囪褰撳墠宸ュ簭 浠ュ墠鐨勭幓鐠� 鐩存帴鍒板綋鍓嶅伐搴�
+ tasking = taskingService.startScanIdMachineTask(machine, scan_id);//涓嶇椤哄簭锛岀洿鎺ユ壘浠庣炕鐗囧彴鎵爜鍚庡埌鏃嬭浆鍙扮殑鏁版嵁
+ }
+ if (tasking != null) {
+ log.info("4銆佸彂閫佹暟鎹�:{},{},{},{},{}"
+ , tasking.getGlassId(), tasking.getProgramId()
+ , tasking.getLength().intValue(), tasking.getWidth().intValue(), 1);
+ s7objectMachine.plccontrol.writeWord(length.getAddress(), tasking.getLength().intValue());
+ s7objectMachine.plccontrol.writeWord(width.getAddress(), tasking.getWidth().intValue());
+ s7objectMachine.plccontrol.writeString(mesSendId.getAddress(), tasking.getTaskSequence().toString());
+ s7objectMachine.plccontrol.writeWord(rotateType.getAddress(), machine.getRotateMode());
+ s7objectMachine.plccontrol.writeWord(mesSend.getAddress(), 1);
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String sendRecord = df.format(new Date()) + " " +
+ tasking.getGlassId() + "-" +
+ tasking.getLength() + "-" +
+ tasking.getWidth();
+ if (sendRecords.size() > 7) {
+ sendRecords.remove(0);
+ }
+ nullMachine(machine);
+ Map sendContentMap = new HashMap();
+ sendContentMap.put("sendContent", sendRecord);
+ sendRecords.add(sendContentMap);
+ } else if (!scan_id.isEmpty()) {
+ taskingService.scanMachineAdd(machine, scan_id);
+ }
+ } else if ("0".equals(plcRequest.getValue())) {
+ nullMachine(machine);
+ }
+ } catch (Exception e) {
+ s7objectMachine.plccontrol.closeS7client();
+ log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
}
}
+
public void nullMachine(Machine machine) {
- if (!"".equals(machine.getRemark())){
+ if (!"".equals(machine.getRemark())) {
machine.setRemark("");
machineMapper.updateById(machine);
}
@@ -137,12 +146,14 @@
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ }catch (Exception e) {
+ log.info("{}", e.getMessage());
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineSilkScreen.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineSilkScreen.java
index a7fc9e1..c6c6d23 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineSilkScreen.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineSilkScreen.java
@@ -28,7 +28,7 @@
this.taskingService = taskingService;
}
- public void plcStart() {
+ public void plcStart() throws Exception{
Machine machine=machineMapper.selectById(thisMachine.getId());
String fileName=machine.getFileName();
ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),fileName);
@@ -192,7 +192,6 @@
} catch (Exception e) {
log.info("浜や簰閫昏緫閿欒");
}
-
modbusTcp1.close();
//log.info("鏃犲彲鎵ц鐨勬潯浠�");
}
@@ -200,12 +199,14 @@
@Override
public void run() {
- while (this != null) {
+ while (true) {
try {
Thread.sleep(1000);
plcStart();
} catch (InterruptedException e) {
e.printStackTrace();
+ }catch (Exception e) {
+ throw new RuntimeException(e);
}
}
}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineThread.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineThread.java
index ac2b1b8..eaa9c2f 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineThread.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineThread.java
@@ -43,22 +43,6 @@
public Long machineId = 2L;
public List<Map> sendRecords = new ArrayList<>();
-// public void plcStart1(PlcAgreement plcAgreement,String zuKey) {
-// //閫昏緫缁� 锛氳姹傜粍锛屽畬鎴愮粍锛屽叾浠栫粍
-// //List<Map<String,String>> map=new ArrayList<>();//閫昏緫缁�
-// Map<String,Map<String,Map<String,String>>> map=new HashMap<>();//璇锋眰閫昏緫缁�
-
-// Map<String,Map<String,String>> zuMap=map.get(zuKey);
-//
-// for(String key:map.keySet()){
-// boolean istrue=false;
-// if(plcAgreement.getPlcParameter(key).getValueString()==map.get(key)){
-// istrue=true;
-// }
-// map.put(key,plcAgreement.getPlcParameter(key).getValueString());
-// }
-//
-// }
public void plcStart() {
Machine machine=machineMapper.selectById(machineId);
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml
index c5aea94..bbe1e48 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml
@@ -9,16 +9,16 @@
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
-# salve_JomooKBB:
-# url: jdbc:sqlserver://localhost:1433;databasename=JomooKBB
-# username: sa
-# password: beibo.123/
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
salve_JomooKBB:
- url: jdbc:sqlserver://172.18.19.85:1433;databasename=JomooKBB
- username: thok
- password: jomoo@123
+ url: jdbc:sqlserver://localhost:1433;databasename=JomooKBB
+ username: sa
+ password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+# salve_JomooKBB:
+# url: jdbc:sqlserver://172.18.19.85:1433;databasename=JomooKBB
+# username: thok
+# password: jomoo@123
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
cloud:
nacos:
discovery:
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml
index c5aea94..bbe1e48 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml
@@ -9,16 +9,16 @@
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
-# salve_JomooKBB:
-# url: jdbc:sqlserver://localhost:1433;databasename=JomooKBB
-# username: sa
-# password: beibo.123/
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
salve_JomooKBB:
- url: jdbc:sqlserver://172.18.19.85:1433;databasename=JomooKBB
- username: thok
- password: jomoo@123
+ url: jdbc:sqlserver://localhost:1433;databasename=JomooKBB
+ username: sa
+ password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+# salve_JomooKBB:
+# url: jdbc:sqlserver://172.18.19.85:1433;databasename=JomooKBB
+# username: thok
+# password: jomoo@123
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
cloud:
nacos:
discovery:
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original
index c25bc15..f0eec53 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original
Binary files differ
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index e2390b9..2b469c8 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,11 +1,15 @@
com\mes\energy\entity\EnergyConsumption.class
com\mes\md\mapper\TaskingMapper.class
com\mes\md\entity\Machine.class
+com\mes\plannedAmount\service\impl\PlannedAmountImpl.class
+com\mes\quantity\service\QuantityService.class
+com\mes\yield\controller\YieldController.class
com\mes\md\mapper\RoleMapper.class
com\mes\md\service\TaskingLogService.class
com\mes\md\mapper\KBBTProgramsDeviceStatusLogBPMapper.class
com\mes\md\service\impl\ProjectServiceImpl.class
com\mes\md\service\impl\OrderOriginalPieceServiceImpl.class
+com\mes\plannedAmount\controller\PlannedAmountController.class
com\mes\md\service\AccountService.class
com\mes\DeviceInteractionModuleApplication.class
com\mes\md\service\ProjectService.class
@@ -21,11 +25,15 @@
com\mes\md\mapper\KBBTJPDrawingBPMapper.class
com\mes\md\controller\GlassInfoController.class
com\mes\md\service\KBBTProgramsOperationLogBPService.class
+com\mes\yield\service\impl\YieldServiceImpl.class
com\mes\md\mapper\PageMapper.class
com\mes\md\service\ProjectLogService.class
com\mes\md\entity\Project.class
+com\mes\quantity\controller\QuantityController.class
+com\mes\quantity\entity\Quantity.class
com\mes\md\mapper\PrimitiveTaskMapper.class
com\mes\md\service\impl\EdgeGrindingLogServiceImpl.class
+com\mes\yield\mapper\YieldMapper.class
com\mes\job\AddTask.class
com\mes\md\entity\KBBTProgramsOperationLogBP.class
com\mes\md\entity\LineConfiguration.class
@@ -37,9 +45,11 @@
com\mes\edgstoragecage\service\EdgStorageCageService.class
com\mes\common\CommunicationProtocol.class
com\mes\md\entity\Line.class
+com\mes\utilization\service\impl\UtilizationServiceImpl.class
com\mes\plcTaskThread\MachineEdging.class
com\mes\md\entity\EdgeGrindingLog.class
com\mes\md\service\OrderOriginalPieceService.class
+com\mes\yield\service\YieldService.class
com\mes\md\service\impl\GlassInfoServiceImpl.class
com\mes\mechanicalMonitor\service\MechanicalMonitorService.class
com\mes\plcTaskThread\MachineSilkScreen.class
@@ -53,6 +63,7 @@
com\mes\md\mapper\WorkTaskDetailMapper.class
com\mes\md\service\LineService.class
com\mes\md\service\impl\PageServiceImpl.class
+com\mes\quantity\mapper\QuantityMapper.class
com\mes\md\entity\TaskingLog.class
com\mes\md\service\impl\WorkTaskDetailServiceImpl.class
com\mes\md\service\impl\TaskLogServiceImpl.class
@@ -62,6 +73,7 @@
com\mes\md\service\LineConfigurationService.class
com\mes\md\entity\GlassInfo.class
com\mes\md\service\GlassInfoService.class
+com\mes\utilization\entity\Utilization.class
com\mes\md\entity\Page.class
com\mes\job\PLCCleaning.class
com\mes\md\controller\RoleController.class
@@ -74,6 +86,7 @@
com\mes\md\controller\OrderOriginalPieceController.class
com\mes\md\controller\ProjectController.class
com\mes\md\entity\ProjectLog.class
+com\mes\yield\entity\Yield.class
com\mes\md\service\EdgeGrindingLogService.class
com\mes\AppRunnerConfig.class
com\mes\plcTaskThread\MachineFlipSlice.class
@@ -98,12 +111,16 @@
com\mes\md\service\impl\KBBTJPDrawingBPServiceImpl.class
com\mes\md\mapper\ProjectMapper.class
com\mes\energy\service\EnergyConsumptionService.class
+com\mes\common\S7objectMachine3.class
com\mes\md\controller\EquipmentLogController.class
com\mes\md\controller\TaskingLogController.class
+com\mes\plannedAmount\mapper\PlannedAmountMapper.class
com\mes\common\SmbTool.class
com\mes\md\mapper\ProjectLogMapper.class
+com\mes\plannedAmount\service\PlannedAmountService.class
com\mes\plcTaskThread\MachineMarking.class
com\mes\md\mapper\OrderOriginalPieceMapper.class
+com\mes\plannedAmount\entity\PlannedAmount.class
com\mes\edgstoragecage\entity\EdgStorageCageDetails.class
com\mes\md\service\impl\RoleServiceImpl.class
com\mes\md\controller\MachineController.class
@@ -112,7 +129,7 @@
com\mes\md\service\impl\LineServiceImpl.class
com\mes\md\mapper\LineMapper.class
com\mes\md\mapper\EdgeGrindingLogMapper.class
-com\mes\common\S7objectMarking.class
+com\mes\utilization\service\UtilizationService.class
com\mes\md\entity\KBBTProgramsDeviceOlnlineLogBP.class
com\mes\md\entity\PrimitiveTask.class
com\mes\mechanicalMonitor\controller\MechanicalMonitorController.class
@@ -122,11 +139,11 @@
com\mes\job\MachineTask.class
com\mes\md\entity\Menu.class
com\mes\md\service\impl\LineConfigurationServiceImpl.class
+com\mes\plcTaskThread\MachineDispensing.class
com\mes\common\S7object.class
com\mes\md\mapper\MenuMapper.class
com\mes\md\service\RoleMenuService.class
com\mes\edgstoragecage\service\impl\EdgStorageCageServiceImpl.class
-com\mes\common\S7objectFlipSlice.class
com\mes\edgstoragecage\mapper\EdgStorageCageMapper.class
com\mes\energy\service\impl\EnergyConsumptionServiceImpl.class
com\mes\md\service\impl\ProjectLogServiceImpl.class
@@ -134,11 +151,14 @@
com\mes\md\service\TaskingService.class
com\mes\plcTaskThread\MachineThread.class
com\mes\md\service\RoleService.class
+com\mes\quantity\service\impl\QuantityServiceImpl.class
com\mes\md\service\MachineService.class
com\mes\md\service\PageService.class
+com\mes\utilization\controller\UtilizationController.class
com\mes\md\controller\ProjectLogController.class
com\mes\md\mapper\GlassInfoMapper.class
com\mes\md\service\impl\KBBTProgramsOperationLogBPServiceImpl.class
com\mes\md\entity\Tasking.class
+com\mes\utilization\mapper\UtilizationMapper.class
com\mes\mechanicalMonitor\service\impl\MechanicalMonitorServiceImpl.class
com\mes\md\service\impl\MachineServiceImpl.class
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 838ebb4..ab3093d 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,5 +1,6 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\LineConfiguration.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\mapper\EdgStorageCageMapper.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\quantity\service\QuantityService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\CommunicationProtocol.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\DeviceInteractionModuleApplication.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Role.java
@@ -9,9 +10,11 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\MenuController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\ProjectLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\GlassInfoServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\yield\controller\YieldController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\WorkTaskDetailController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\KBBTProgramsOperationLogBPMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\job\MachineTask.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plannedAmount\service\PlannedAmountService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineThread.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\WorkTaskDetailServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\AccountService.java
@@ -23,12 +26,16 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Project.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\PrimitiveTaskServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\service\EdgStorageCageService.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\quantity\entity\Quantity.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\EdgeGrindingLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\KBBTLensSortingMapper.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plannedAmount\entity\PlannedAmount.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\TaskingController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\TaskLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\TaskingServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\yield\mapper\YieldMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\LineConfigurationService.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\utilization\service\impl\UtilizationServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\AppRunnerConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\AccountMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\ProjectMapper.java
@@ -51,7 +58,6 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\energy\entity\EnergyConsumption.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Page.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\mechanicalMonitor\entity\MechanicalMonitor.java
-D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7objectFlipSlice.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineLoad.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\job\PLCCleaning.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\TaskingLog.java
@@ -60,8 +66,8 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\MachineController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\entity\EdgStorageCageDetails.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineFlipSlice.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plannedAmount\controller\PlannedAmountController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\ProjectLogController.java
-D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7objectMarking.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\WorkTaskDetail.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\energy\service\impl\EnergyConsumptionServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\KBBTProgramsDeviceOlnlineLogBPMapper.java
@@ -77,21 +83,26 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\LineMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\KBBTLensSorting.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineLamination.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\utilization\controller\UtilizationController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\ProjectLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\KBBTJPDrawingBP.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\PageService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineMarking.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\KBBTProgramsOperationLogBP.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plannedAmount\service\impl\PlannedAmountImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\mechanicalMonitor\service\impl\MechanicalMonitorServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\quantity\controller\QuantityController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\TaskLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\GlassInfo.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\OrderOriginalPieceMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\RoleController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\tcpIp.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\WorkTaskDetailService.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\quantity\service\impl\QuantityServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\RoleService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\energy\controller\EnergyConsumptionController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\MachineServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\yield\service\impl\YieldServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\mechanicalMonitor\service\MechanicalMonitorService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\entity\EdgStorageCage.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\PrimitiveTaskMapper.java
@@ -103,6 +114,8 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineRotate.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\EdgeGrindingLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\PrimitiveTaskService.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plannedAmount\mapper\PlannedAmountMapper.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\yield\entity\Yield.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7object.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\EdgeGrindingLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\ProjectServiceImpl.java
@@ -113,10 +126,13 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\RoleMenuMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\EquipmentLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\EquipmentLog.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\utilization\mapper\UtilizationMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\LineConfigurationMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\LineServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\KBBTProgramsDeviceStatusLogBPMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\AccountController.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineDispensing.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\utilization\entity\Utilization.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\KBBTProgramsDeviceStatusLogBP.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\MenuService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Menu.java
@@ -133,12 +149,16 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\TaskingLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\mechanicalMonitor\controller\MechanicalMonitorController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\KBBTProgramsOperationLogBPServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7objectMachine3.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\ProjectLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\TaskingMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\OrderOriginalPieceController.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\utilization\service\UtilizationService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7objectCleaning.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\quantity\mapper\QuantityMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\KBBTProgramsOperationLogBPService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\plcTaskThread\MachineEdging.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\PrimitiveTask.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\EquipmentLogController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\RoleServiceImpl.java
+D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\yield\service\YieldService.java
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 2fd0f18..a653f48 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,13 +1,13 @@
export default {
- // serverUrl: "localhost:88/api",
- // serverUrl2: "localhost:88"
+ serverUrl: "localhost:88/api",
+ serverUrl2: "localhost:88"
// serverUrl: "10.36.164.253:88/api",
// serverUrl2: "10.36.164.253:88"
- serverUrl: "10.36.164.200:88/api",
- serverUrl2: "10.36.164.200:88"
+ // serverUrl: "10.36.164.200:88/api",
+ // serverUrl2: "10.36.164.200:88"
// serverUrl2: "127.0.0.1:88"npm
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index 160ac61..a7239a7 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -28,6 +28,7 @@
"vue-print-nb": "^1.7.5",
"vue-router": "^4.2.4",
"vue3-print-nb": "^0.1.4",
+ "vxe-pc-ui": "^4.9.14",
"vxe-table": "^4.5.15",
"xe-utils": "^3.5.14",
"xlsx": "^0.18.5"
@@ -546,6 +547,18 @@
}
}
},
+ "node_modules/@vxe-ui/core": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmmirror.com/@vxe-ui/core/-/core-4.2.11.tgz",
+ "integrity": "sha512-Cv0XKTGgFD+CD2MGixxM+k60Y3tFEJYErQj59tuPd0y0HuSFc7sQk0fuXdbcNgxZxtAi4zX3nsDk3kY+/HeAgQ==",
+ "dependencies": {
+ "dom-zindex": "^1.0.6",
+ "xe-utils": "^3.7.8"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
"node_modules/acorn": {
"version": "8.12.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
@@ -834,9 +847,9 @@
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"node_modules/dom-zindex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
- "integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/dom-zindex/-/dom-zindex-1.0.6.tgz",
+ "integrity": "sha512-FKWIhiU96bi3xpP9ewRMgANsoVmMUBnMnmpCT6dPMZOunVYJQmJhSRruoI0XSPoHeIif3kyEuiHbFrOJwEJaEA=="
},
"node_modules/echarts": {
"version": "5.6.0",
@@ -2057,6 +2070,14 @@
"vue": "^3.0.5"
}
},
+ "node_modules/vxe-pc-ui": {
+ "version": "4.9.14",
+ "resolved": "https://registry.npmmirror.com/vxe-pc-ui/-/vxe-pc-ui-4.9.14.tgz",
+ "integrity": "sha512-YtpLUU6x43UQnjPBMqgewAYdC9w5FGC/ZHO3ZiYl3fWt+HACkJgreJzgfX4z0QkzLdp/6vmDS4rvnH9vpdNmrw==",
+ "dependencies": {
+ "@vxe-ui/core": "^4.2.11"
+ }
+ },
"node_modules/vxe-table": {
"version": "4.5.15",
"resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.15.tgz",
@@ -2118,9 +2139,9 @@
}
},
"node_modules/xe-utils": {
- "version": "3.5.14",
- "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
- "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
+ "version": "3.7.8",
+ "resolved": "https://registry.npmmirror.com/xe-utils/-/xe-utils-3.7.8.tgz",
+ "integrity": "sha512-V/k6B/ASYir6yLYhp62DnM17po9u1N9mou/rn4if5WoFCsAO49JpCiVpkDpwCv4zxGfWmhWgzmz4FytWF+pDVw=="
},
"node_modules/xlsx": {
"version": "0.18.5",
@@ -2561,6 +2582,15 @@
}
}
},
+ "@vxe-ui/core": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmmirror.com/@vxe-ui/core/-/core-4.2.11.tgz",
+ "integrity": "sha512-Cv0XKTGgFD+CD2MGixxM+k60Y3tFEJYErQj59tuPd0y0HuSFc7sQk0fuXdbcNgxZxtAi4zX3nsDk3kY+/HeAgQ==",
+ "requires": {
+ "dom-zindex": "^1.0.6",
+ "xe-utils": "^3.7.8"
+ }
+ },
"acorn": {
"version": "8.12.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
@@ -2770,9 +2800,9 @@
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"dom-zindex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
- "integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/dom-zindex/-/dom-zindex-1.0.6.tgz",
+ "integrity": "sha512-FKWIhiU96bi3xpP9ewRMgANsoVmMUBnMnmpCT6dPMZOunVYJQmJhSRruoI0XSPoHeIif3kyEuiHbFrOJwEJaEA=="
},
"echarts": {
"version": "5.6.0",
@@ -3156,6 +3186,7 @@
"vue-print-nb": "^1.7.5",
"vue-router": "^4.2.4",
"vue3-print-nb": "^0.1.4",
+ "vxe-pc-ui": "*",
"vxe-table": "^4.5.15",
"xe-utils": "^3.5.14",
"xlsx": "^0.18.5"
@@ -3532,6 +3563,15 @@
}
}
},
+ "@vxe-ui/core": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmmirror.com/@vxe-ui/core/-/core-4.2.11.tgz",
+ "integrity": "sha512-Cv0XKTGgFD+CD2MGixxM+k60Y3tFEJYErQj59tuPd0y0HuSFc7sQk0fuXdbcNgxZxtAi4zX3nsDk3kY+/HeAgQ==",
+ "requires": {
+ "dom-zindex": "^1.0.6",
+ "xe-utils": "^3.7.8"
+ }
+ },
"acorn": {
"version": "8.12.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
@@ -3741,9 +3781,9 @@
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"dom-zindex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
- "integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/dom-zindex/-/dom-zindex-1.0.6.tgz",
+ "integrity": "sha512-FKWIhiU96bi3xpP9ewRMgANsoVmMUBnMnmpCT6dPMZOunVYJQmJhSRruoI0XSPoHeIif3kyEuiHbFrOJwEJaEA=="
},
"echarts": {
"version": "5.6.0",
@@ -4551,6 +4591,14 @@
"vue": "^3.0.5"
}
},
+ "vxe-pc-ui": {
+ "version": "4.9.14",
+ "resolved": "https://registry.npmmirror.com/vxe-pc-ui/-/vxe-pc-ui-4.9.14.tgz",
+ "integrity": "sha512-YtpLUU6x43UQnjPBMqgewAYdC9w5FGC/ZHO3ZiYl3fWt+HACkJgreJzgfX4z0QkzLdp/6vmDS4rvnH9vpdNmrw==",
+ "requires": {
+ "@vxe-ui/core": "^4.2.11"
+ }
+ },
"vxe-table": {
"version": "4.5.15",
"resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.15.tgz",
@@ -4596,9 +4644,9 @@
}
},
"xe-utils": {
- "version": "3.5.14",
- "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
- "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
+ "version": "3.7.8",
+ "resolved": "https://registry.npmmirror.com/xe-utils/-/xe-utils-3.7.8.tgz",
+ "integrity": "sha512-V/k6B/ASYir6yLYhp62DnM17po9u1N9mou/rn4if5WoFCsAO49JpCiVpkDpwCv4zxGfWmhWgzmz4FytWF+pDVw=="
},
"xlsx": {
"version": "0.18.5",
@@ -5108,6 +5156,14 @@
"vue": "^3.0.5"
}
},
+ "vxe-pc-ui": {
+ "version": "4.9.14",
+ "resolved": "https://registry.npmmirror.com/vxe-pc-ui/-/vxe-pc-ui-4.9.14.tgz",
+ "integrity": "sha512-YtpLUU6x43UQnjPBMqgewAYdC9w5FGC/ZHO3ZiYl3fWt+HACkJgreJzgfX4z0QkzLdp/6vmDS4rvnH9vpdNmrw==",
+ "requires": {
+ "@vxe-ui/core": "^4.2.11"
+ }
+ },
"vxe-table": {
"version": "4.5.15",
"resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.15.tgz",
@@ -5153,9 +5209,9 @@
}
},
"xe-utils": {
- "version": "3.5.14",
- "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
- "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
+ "version": "3.7.8",
+ "resolved": "https://registry.npmmirror.com/xe-utils/-/xe-utils-3.7.8.tgz",
+ "integrity": "sha512-V/k6B/ASYir6yLYhp62DnM17po9u1N9mou/rn4if5WoFCsAO49JpCiVpkDpwCv4zxGfWmhWgzmz4FytWF+pDVw=="
},
"xlsx": {
"version": "0.18.5",
diff --git a/UI-Project/package.json b/UI-Project/package.json
index 1dfb52a..d157e48 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -28,6 +28,7 @@
"vue-print-nb": "^1.7.5",
"vue-router": "^4.2.4",
"vue3-print-nb": "^0.1.4",
+ "vxe-pc-ui": "^4.9.14",
"vxe-table": "^4.5.15",
"xe-utils": "^3.5.14",
"xlsx": "^0.18.5"
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 4c965ef..025b336 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@
-// export const WebSocketHost = "localhost";
+ export const WebSocketHost = "localhost";
// export const WebSocketHost = "10.36.164.253";
- export const WebSocketHost = "10.36.164.200";
+ //export const WebSocketHost = "10.36.164.200";
export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/Cleaning/cleaning.vue b/UI-Project/src/views/Cleaning/cleaning.vue
index a8b4c4a..c1d779b 100644
--- a/UI-Project/src/views/Cleaning/cleaning.vue
+++ b/UI-Project/src/views/Cleaning/cleaning.vue
@@ -15,66 +15,94 @@
const loadData = ref([]);
const findMachine = ref([]);
const machineId=7;//褰撳墠椤甸潰鐨勮澶嘔D
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/cleaning`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- loadData.value = data.taskingList[0];
- findMachine.value = data.machine[0];
- // console.log(data);
-};
-onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
+
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+};
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
+};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
+onUnmounted(() => {
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
-
-
- //浣跨敤鎺ュ彛鏂瑰紡灞曠ず鏁版嵁
- //load();
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
-// //鑾峰彇鏁版嵁
-// const load = async() => {
-// //鑾峰彇璁惧浠诲姟鏁版嵁
-// try {
-// const response = await request.post('/deviceInteraction/tasking/findMachineTask',
-// {
-// "id": 11
-// }); // 鏇挎崲涓轰綘鐨凙PI绔偣
-// if (response.code === 200) {
-// loadData.value.findTaskingData= response.data;
-// } else {
-// ElMessage.warning(res.msg)
-// }
-// } catch (error) {
-// // console.error('Error fetching rects :', error);
-// }
-// //鑾峰彇璁惧鐘舵��
-// try {
-// const response = await request.post('/deviceInteraction/machine/findMachine',
-// {
-// "id": 11
-// }); // 鏇挎崲涓轰綘鐨凙PI绔偣
-// if (response.code === 200) {
-// findMachine.value= response.data;
-// } else {
-// ElMessage.warning(res.msg)
-// }
-// } catch (error) {
-// // console.error('Error fetching rects :', error);
-// }
-// }
//淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆�
const workStatus = async(row,state) => {
let url;
diff --git a/UI-Project/src/views/Edging/edging.vue b/UI-Project/src/views/Edging/edging.vue
index 20edac0..752c951 100644
--- a/UI-Project/src/views/Edging/edging.vue
+++ b/UI-Project/src/views/Edging/edging.vue
@@ -25,62 +25,100 @@
const pageParams=userInfo.user.menus[0].pages[1].params;
const pageParamsJson=JSON.parse(pageParams);
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
+
+
+
console.log(machineId);
var errorScanId;
var errorOpen=false;
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/edgingTask`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0].reverse();
-
- if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
- //鏈夋暟鎹氨寮圭獥
- if(errorOpen){
- ElMessageBox.close();
- }
- errorScanId=findMachine.value.remark.toString();
- errorInfoFuntion(findMachine.value.remark.toString());
- errorOpen=true;
-
- }else if(findMachine.value.remark.toString()==""&&errorOpen){
- ElMessageBox.close();
- errorOpen=false;
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
+
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
let infoScancode=info;
diff --git a/UI-Project/src/views/FlipSlice/flipSlice.vue b/UI-Project/src/views/FlipSlice/flipSlice.vue
index 804ac8d..c035cac 100644
--- a/UI-Project/src/views/FlipSlice/flipSlice.vue
+++ b/UI-Project/src/views/FlipSlice/flipSlice.vue
@@ -26,81 +26,124 @@
const pageParams=userInfo.user.menus[0].pages[2].params;
const pageParamsJson=JSON.parse(pageParams);
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
+
+
console.log(machineId);
//const machineId = 26;//褰撳墠椤甸潰鐨勮澶嘔D
var errorScanId;
var errorOpen=false;
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/flipSlice`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0].reverse();
- if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
- //鏈夋暟鎹氨寮圭獥
- if(errorOpen){
- ElMessageBox.close();
- }
- errorScanId=findMachine.value.remark.toString();
- errorInfoFuntion(findMachine.value.remark.toString());
- errorOpen=true;
- }else if(findMachine.value.remark.toString()==""&&errorOpen){
- ElMessageBox.close();
- errorOpen=false;
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
+
+
+
+
+
+
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
let infoScancode=info;
ElMessageBox.confirm(
- infoScancode,
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sureStart'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ infoScancode,
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sureStart'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
+ .then(() => {
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆�
const workStatus = async (row, state) => {
@@ -115,199 +158,199 @@
return;
}
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //寮�濮嬩慨鏀�
- request.post(url,
- {
- "id": machineId
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //寮�濮嬩慨鏀�
+ request.post(url,
+ {
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//寮�宸�/鏆傚仠
const machineStatus = async (state) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/machine/updateMachineState",
- {
- "id": machineId,
- "state": state
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/machine/updateMachineState",
+ {
+ "id": machineId,
+ "state": state
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//瀹氬埗/鏍囧噯
const machineMode = async (mode) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/machine/toggleModeMachine",
- {
- "id": machineId,
- "mode": mode
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/machine/toggleModeMachine",
+ {
+ "id": machineId,
+ "mode": mode
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//鐮存崯
const damagedTask = async (row) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/tasking/damagedTask",
- {
- "glassId": row.glassId
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/tasking/damagedTask",
+ {
+ "glassId": row.glassId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//涓嬬嚎(鎷胯蛋)
const glassDownLine = async (row) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/tasking/glassDownLine",
- {
- "glassId": row.glassId,
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/tasking/glassDownLine",
+ {
+ "glassId": row.glassId,
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
const topLineShow = async () => {
- blind.value = true;
+ blind.value = true;
}
//涓婄嚎
const topLine = async (row) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓婄嚎鎺ュ彛
- request.post("/deviceInteraction/tasking/glassTopLine",
- {
- "glassId": row.glassId,
- "lineConfigurationId": machineId
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓婄嚎鎺ュ彛
+ request.post("/deviceInteraction/tasking/glassTopLine",
+ {
+ "glassId": row.glassId,
+ "lineConfigurationId": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {n
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
-const handleDialogClose = () => {
-
+const handleDialogClose = () => {
+
}
</script>
<template>
@@ -316,7 +359,7 @@
{{ $t('machine.flipSlice') }}
</div>
<el-dialog v-model="blind" top="30vh" style="text-align: center;" @close="handleDialogClose">
- <!-- 绾夸笅鐜荤拑 -->
+ <!-- 绾夸笅鐜荤拑 -->
<el-table :data="downLineTask" stripe :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
<!-- <el-table-column type="selection" min-width="30" /> -->
<el-table-column type="index" :label="$t('glassInfo.number')" min-width="30" />
@@ -330,7 +373,7 @@
<el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="70">
<template #default="scope">
<el-button size="mini" link type="primary" plain @click="topLine(scope.row)">{{
- $t('functionState.topLine') }}</el-button>
+ $t('functionState.topLine') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -340,13 +383,13 @@
<div id="search">
<!-- 鍔熻兘 -->
<el-button :type="(findMachine['state'] == '鏆傚仠' ? 'danger' : 'success')" id="ButtonMachineStatus"
- @click="machineStatus((findMachine['state'] == '鏆傚仠' ? '寮�宸�' : '鏆傚仠'))">{{ findMachine['state'] == '寮�宸�' ?
+ @click="machineStatus((findMachine['state'] == '鏆傚仠' ? '寮�宸�' : '鏆傚仠'))">{{ findMachine['state'] == '寮�宸�' ?
$t('functionState.start') : $t('functionState.stop') }}</el-button>
<el-button :type="(findMachine['mode'] == '瀹氬埗' ? 'danger' : 'success')" id="ButtonMachineMode"
- @click="machineMode((findMachine['mode'] == 0 ? 1 : 0))">{{ findMachine['mode'] == 0 ?
- $t('functionState.modeD') : $t('functionState.modeB') }}</el-button>
-
+ @click="machineMode((findMachine['mode'] == 0 ? 1 : 0))">{{ findMachine['mode'] == 0 ?
+ $t('functionState.modeD') : $t('functionState.modeB') }}</el-button>
+
<el-button type="primary" id="ButtonTopLine" @click="topLineShow">{{ $t('functionState.topLine') }}</el-button>
<!-- <el-button type="primary" id="searchButton" @click="downLine('涓嬬嚎')">涓嬬嚎</el-button>
<el-button type="primary" id="searchButton" @click="workStatus('鐮存崯')">鐮存崯</el-button>
@@ -355,8 +398,8 @@
<div id="main-body">
<!-- 琛ㄦ牸鍐呭 -->
<el-table :data="loadData" stripe style="height:260px"
- :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
- :cell-style="{ textAlign: 'center' }">
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
+ :cell-style="{ textAlign: 'center' }">
<!-- <el-table-column type="selection" min-width="30" /> -->
<el-table-column type="index" :label="$t('glassInfo.number')" min-width="30" />
<el-table-column prop="batchNumber" :label="$t('glassInfo.batchNumber')" />
@@ -371,13 +414,13 @@
<el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270">
<template #default="scope">
<el-button size="mini" link type="primary" plain @click="workStatus(scope.row, '閲嶅彂')">{{
- $t('functionState.anew') }}</el-button>
+ $t('functionState.anew') }}</el-button>
<el-button size="mini" link type="primary" plain @click="workStatus(scope.row, '瀹屽伐')">{{
- $t('functionState.finish') }}</el-button>
+ $t('functionState.finish') }}</el-button>
<el-button size="mini" link type="primary" plain @click="damagedTask(scope.row)">{{ $t('functionState.lose')
}}</el-button>
<el-button size="mini" link type="primary" plain @click="glassDownLine(scope.row)">{{
- $t('functionState.downLine') }}</el-button>
+ $t('functionState.downLine') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -391,8 +434,8 @@
</div> -->
<div style="width: 30%;min-width: 300px; height: 460px;float: left;padding: 20px;;">
<el-table :data="sendRecords" stripe
- :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center', height: '30px' }"
- :cell-style="{ textAlign: 'center' }">
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center', height: '30px' }"
+ :cell-style="{ textAlign: 'center' }">
<el-table-column prop="sendContent" :label="$t('glassInfo.sendContent')" />
</el-table>
</div>
@@ -467,6 +510,6 @@
height:10px;
border-radius: 50%;
display: block;
- margin-left: 10px;
+ margin-left: 10px;
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/GlueDispenser/glueDispenser.vue b/UI-Project/src/views/GlueDispenser/glueDispenser.vue
index 92fe088..d56c87c 100644
--- a/UI-Project/src/views/GlueDispenser/glueDispenser.vue
+++ b/UI-Project/src/views/GlueDispenser/glueDispenser.vue
@@ -24,50 +24,82 @@
const userInfo=JSON.parse(window.localStorage.getItem('userInfo'));
const pageParams=userInfo.user.menus[0].pages[8].params;
const pageParamsJson=JSON.parse(pageParams);
-console.log(pageParams);
-console.log(userInfo.user);
+
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
console.log(machineId);
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/glueDispenser`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ }
+ });
- sendRecords.value = dataJson.sendRecords[0].reverse();
-
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
+ }
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
diff --git a/UI-Project/src/views/Lamination/lamination.vue b/UI-Project/src/views/Lamination/lamination.vue
index 73f211d..77aa2e2 100644
--- a/UI-Project/src/views/Lamination/lamination.vue
+++ b/UI-Project/src/views/Lamination/lamination.vue
@@ -31,44 +31,92 @@
//const machineId = 21;//褰撳墠椤甸潰鐨勮澶嘔D
var errorScanId;
var errorOpen=false;
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/lamination`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0].reverse();
-
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
+ }
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
diff --git a/UI-Project/src/views/ManualReporting/manualReporting.vue b/UI-Project/src/views/ManualReporting/manualReporting.vue
index c7c992c..662c7cf 100644
--- a/UI-Project/src/views/ManualReporting/manualReporting.vue
+++ b/UI-Project/src/views/ManualReporting/manualReporting.vue
@@ -16,7 +16,7 @@
const blind = ref(false)
const errorInfo = ref(true)
const loadData = ref([]);
-const taskinggoruby = ref([]);
+
const findMachine = ref([]);
const sendRecords = ref([]);
const downLineTask = ref([]);
@@ -31,57 +31,122 @@
console.log(machineId);
var errorScanId;
var errorOpen=false;
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/manualReporting`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- //taskinggoruby.value = data.taskinggoruby[0];
- //loadData.value =getDataSort(data.taskingList[0]);
- const dataJson = data[""+machineId][0];
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
-
- if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
- //鏈夋暟鎹氨寮圭獥
- if(errorOpen){
- ElMessageBox.close();
+// 鍒嗙粍鍚庣殑缁熻鏁版嵁
+const taskingGroupBy = ref([]);
+// 鍒嗙粍骞剁粺璁$殑鏂规硶
+const groupAndCount = () => {
+ // 鍒涘缓涓�涓复鏃跺璞$敤浜庡垎缁勮鏁�
+ const groupMap = {};
+ // 閬嶅巻鍘熷鏁版嵁
+ loadData.value.forEach(item => {
+ // 鐢熸垚鍞竴鐨勫垎缁勯敭锛堢粍鍚堜笁涓瓧娈碉級
+ const groupKey = `${item.scanId || ''}-${item.batchNumber || ''}-${item.taskType || ''}`;
+ // 妫�鏌ヨ鍒嗙粍鏄惁宸插瓨鍦�
+ if (groupMap[groupKey]) {
+ // 宸插瓨鍦ㄥ垯鏁伴噺+1
+ groupMap[groupKey].reportCount++;
+ } else {
+ // 涓嶅瓨鍦ㄥ垯鍒涘缓鏂板垎缁�
+ groupMap[groupKey] = {
+ scanId: item.scanId,
+ batchNumber: item.batchNumber,
+ taskType: item.taskType,
+ taskQuantity: item.taskQuantity,
+ reportCount:1
+
+ };
}
- errorScanId=findMachine.value.remark.toString();
- errorInfoFuntion(findMachine.value.remark.toString());
- errorOpen=true;
- }else if(findMachine.value.remark.toString()==""&&errorOpen){
- ElMessageBox.close();
- errorOpen=false;
+ });
+ console.log(taskingGroupBy.value);
+ // 灏嗗璞¤浆鎹负鏁扮粍
+ taskingGroupBy.value = Object.values(groupMap);
+};
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ groupAndCount();
+ }
+ });
+
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
@@ -362,7 +427,7 @@
<div id="main-body" style="min-height:240px;">
<!-- 琛ㄦ牸鍐呭 -->
- <el-table :data="taskinggoruby" stripe
+ <el-table :data="taskingGroupBy" stripe
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }">
<!-- <el-table-column type="selection" min-width="30" /> -->
@@ -383,13 +448,6 @@
<el-table-column prop="scanId" :label="$t('glassInfo.scanId')" />
<el-table-column prop="taskQuantity" :label="$t('glassInfo.taskQuantity')" />
<el-table-column prop="reportCount" :label="$t('glassInfo.reportCount')" />
-
- <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270">
- <template #default="scope">
- <el-button size="mini" link type="primary" plain @click="damagedTask(scope.row)">{{ $t('functionState.lose')
- }}</el-button>
- </template>
- </el-table-column>
</el-table>
</div>
diff --git a/UI-Project/src/views/Marking/marking.vue b/UI-Project/src/views/Marking/marking.vue
index bba4efb..49771e2 100644
--- a/UI-Project/src/views/Marking/marking.vue
+++ b/UI-Project/src/views/Marking/marking.vue
@@ -24,31 +24,78 @@
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
console.log(machineId);
//const machineId=12;//褰撳墠椤甸潰鐨勮澶嘔D
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/marking`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0];
-};
-onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+};
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
+};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
+onUnmounted(() => {
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆�
const workStatus = async(row,state) => {
diff --git a/UI-Project/src/views/MechanicalArm/mechanicalArm.vue b/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
index a173998..219468b 100644
--- a/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
+++ b/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
@@ -1,13 +1,14 @@
<!-- 涓婄墖鏈� -->
<script setup>
import request from "@/utils/request";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { computed, reactive, ref, onMounted, onBeforeUnmount, onUnmounted } from 'vue'
-import { useI18n } from 'vue-i18n'
-import { WebSocketHost, host } from '@/utils/constants'
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import {ElMessage, ElMessageBox} from "element-plus";
+import {computed, reactive, ref, onMounted, onBeforeUnmount, onUnmounted} from 'vue'
+import {useI18n} from 'vue-i18n'
+import {WebSocketHost, host} from '@/utils/constants'
+import {initializeWebSocket, closeWebSocket} from '@/utils/WebSocketService';
+
let language = ref(localStorage.getItem('lang') || 'zh')
-const { t } = useI18n()
+const {t} = useI18n()
const requestData = reactive({
account: '',
password: '',
@@ -24,12 +25,121 @@
const scanCodeOld = ref([]);
const searchs = ref();
-const userInfo=JSON.parse(window.localStorage.getItem('userInfo'));
-const pageParams=userInfo.user.menus[0].pages[0].params;
-const pageParamsJson=JSON.parse(pageParams);
+const userInfo = JSON.parse(window.localStorage.getItem('userInfo'));
+const pageParams = userInfo.user.menus[0].pages[0].params;
+const pageParamsJson = JSON.parse(pageParams);
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
console.log(machineId);
var errorScanId;
+
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 宸查鍙栫殑浠诲姟鏁版嵁
+ request.post("/deviceInteraction/primitiveTask/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value = responseData;
+ }
+ });
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛銆愬凡棰嗗彇鐨勪换鍔℃暟鎹�戝け璐ワ細', err);
+ }
+ try {
+ // 鍙鍙栫殑浠诲姟鏁版嵁
+ request.post("/deviceInteraction/primitiveTask/findKBBTJPDrawingBP").then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findPrimitiveTask.value = responseData;
+ }
+ });
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛銆愬彲棰嗗彇鐨勪换鍔℃暟鎹細瀹㈡埛琛ㄣ�戝け璐ワ細', err);
+ }
+ try {
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine", {
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value = responseData;
+ if (Object.keys(findMachine.value).length === 0) {
+ if (findMachine.value.mode == "1") {
+ modevalue.value = {
+ value: '1',
+ label: '鏍囧噯',
+ };
+ } else if (findMachine.value.mode == "2") {
+ modevalue.value = {
+ value: '2',
+ label: '瀹氬埗',
+ };
+ } else if (findMachine.value.mode == "3") {
+ modevalue.value = {
+ value: '3',
+ label: '鎵嬪姩',
+ };
+ }
+ }
+ }
+ });
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触銆愯澶囨暟鎹�戯細', err);
+ }
+
+};
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
+};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
+onUnmounted(() => {
+ clearTimer();
+});
+
+onMounted(async () => {
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+});
+
+
//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
let socket = null;
let socketDownLineTask = null;
@@ -38,25 +148,24 @@
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+ let dataJson = data["" + machineId][0];
loadData.value = dataJson.findPrimitiveTasking[0];
findPrimitiveTask.value = dataJson.findPrimitiveTask[0];
findMachine.value = dataJson.machine[0];
- if(findMachine.value.mode=="1"){
+ if (findMachine.value.mode == "1") {
modevalue.value = {
- value: '1',
- label: '鏍囧噯',
- };
- }else if(findMachine.value.mode=="2"){
+ value: '1',
+ label: '鏍囧噯',
+ };
+ } else if (findMachine.value.mode == "2") {
modevalue.value = {
value: '2',
label: '瀹氬埗',
};
- }else if(findMachine.value.mode=="3"){
+ } else if (findMachine.value.mode == "3") {
modevalue.value = {
value: '3',
label: '鎵嬪姩',
@@ -87,40 +196,8 @@
socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
-
+
});
-//鎶ヨ鎻愮ず
-const errorInfoFuntion = async (info) => {
- let infoScancode = '鎵爜ID锛�' + info.scanId + ' ' + info.scanCode;
- ElMessageBox.confirm(
- infoScancode,
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sureStart'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
- )
- .then(() => {
- //閲嶆柊琛ュ崟
- request.post("/deviceInteraction/tasking/glassAgainTopLine",
- {
- "scanId": info.scanId,
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
- if (res.code === 200) {
- ElMessage.success(res.message);
- } else {
- ElMessage.warning(res.message)
- }
- })
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
- })
- })
-}
//淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆�
const workStatus = async (row, state) => {
let url;
@@ -134,161 +211,161 @@
return;
}
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //寮�濮嬩慨鏀�
- request.post(url,
- {
- "id": machineId
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //寮�濮嬩慨鏀�
+ request.post(url,
+ {
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//瀹氬埗/鏍囧噯
const machineMode = async (mode) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/machine/toggleModeMachine",
- {
- "id": machineId,
- "mode": mode
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/machine/toggleModeMachine",
+ {
+ "id": machineId,
+ "mode": mode
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//寮�宸�/鏆傚仠
const machineStatus = async (state) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/machine/updateMachineState",
- {
- "id": machineId,
- "state": state
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/machine/updateMachineState",
+ {
+ "id": machineId,
+ "state": state
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//鐮存崯
const damagedTask = async (row) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/tasking/damagedTask",
- {
- "glassId": row.glassId
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/tasking/damagedTask",
+ {
+ "glassId": row.glassId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
//涓嬬嚎(鎷胯蛋)
const glassDownLine = async (row) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //涓嬬嚎鎺ュ彛
- request.post("/deviceInteraction/tasking/glassDownLine",
- {
- "glassId": row.glassId,
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //涓嬬嚎鎺ュ彛
+ request.post("/deviceInteraction/tasking/glassDownLine",
+ {
+ "glassId": row.glassId,
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
const topLineShow = async () => {
blind.value = true;
@@ -296,22 +373,22 @@
//棰嗗彇浠诲姟/缁撴潫浠诲姟
const startOrStopTask = async (row, line, isWorking) => {
ElMessageBox.confirm(
- t('functionState.tips'),
- t('delivery.prompt'),
- {
- confirmButtonText: t('functionState.sure'),
- cancelButtonText: t('functionState.cancel'),
- type: 'warning',
- }
+ t('functionState.tips'),
+ t('delivery.prompt'),
+ {
+ confirmButtonText: t('functionState.sure'),
+ cancelButtonText: t('functionState.cancel'),
+ type: 'warning',
+ }
)
- .then(() => {
- //棰嗗彇浠诲姟
- request.post("/deviceInteraction/primitiveTask/startOrStopPrimitiveTasking",
- {
- "id": row.id,
- "getLine": line,
- "isWorking": isWorking
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ .then(() => {
+ //棰嗗彇浠诲姟
+ request.post("/deviceInteraction/primitiveTask/startOrStopPrimitiveTasking",
+ {
+ "id": row.id,
+ "getLine": line,
+ "isWorking": isWorking
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
if (res.code === 200) {
ElMessage.success(res.message);
} else {
@@ -319,13 +396,13 @@
ElMessage.warning(res.message)
}
})
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: t('functionState.cancel'),
})
- })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: t('functionState.cancel'),
+ })
+ })
}
const handleDialogClose = () => {
@@ -338,10 +415,10 @@
}
const filterTableData = computed(() =>
- loadData.value.filter(
- (data) =>
- !searchs.value || data.scanId.toLowerCase().includes(searchs.value.toLowerCase())
- )
+ loadData.value.filter(
+ (data) =>
+ !searchs.value || data.scanId.toLowerCase().includes(searchs.value.toLowerCase())
+ )
)
//涓嬫媺妗嗘ā寮忛�夋嫨
@@ -364,45 +441,45 @@
const modeShow = async () => {
blindMode.value = true;
- blindModeNumberLocal.value=findMachine.taskCount;
+ blindModeNumberLocal.value = findMachine.taskCount;
}
//妯″紡閫夋嫨鏃惰繘琛屽鐞�
const modeChange = async () => {
- let mode=modevalue.value;
+ let mode = modevalue.value;
request.post("/deviceInteraction/machine/toggleModeMachine",
- {
- "id": machineId,
- "mode": mode
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
- if (res.code === 200) {
- ElMessage.success(res.message);
- } else {
- ElMessage.warning(res.message)
- }
- })
- if(modevalue.value=='3'){
+ {
+ "id": machineId,
+ "mode": mode
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ ElMessage.success(res.message);
+ } else {
+ ElMessage.warning(res.message)
+ }
+ })
+ if (modevalue.value == '3') {
//褰撴槸鎵嬪姩妯″紡鏃跺脊绐楁彁绀� 璁剧疆涓婄墖鏁伴噺
blindMode.value = true;
}
-
+
}
//鎻愪氦淇敼鎵嬪姩妯″紡鐨勫惛鐗囨暟閲�
const fetchSubmit = async () => {
//鎵爜鍥炶溅鎻愪氦
request.post("/deviceInteraction/machine/manualOperationTask",
- {
- "id": machineId,
- "taskCount": blindModeNumberLocal.value,
- "finshCount": 0
- }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
- if (res.code === 200) {
- ElMessage.success(res.message);
- } else {
- ElMessage.warning(res.message)
- }
- })
- blindMode.value = false;
+ {
+ "id": machineId,
+ "taskCount": blindModeNumberLocal.value,
+ "finshCount": 0
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ ElMessage.success(res.message);
+ } else {
+ ElMessage.warning(res.message)
+ }
+ })
+ blindMode.value = false;
}
</script>
<template>
@@ -414,24 +491,26 @@
<!-- 鏈鍙栫殑鏍囧噯浠诲姟 -->
<el-table :data="findPrimitiveTask" stripe style="height:660px"
- :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
- :cell-style="{ textAlign: 'center' }">
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
+ :cell-style="{ textAlign: 'center' }">
<!-- <el-table-column type="selection" min-width="30" /> -->
- <el-table-column type="index" :label="$t('glassInfo.number')" min-width="30" />
- <el-table-column prop="batchNumber" :label="$t('glassInfo.batchNumber')" />
- <el-table-column prop="taskType" :label="$t('glassInfo.taskType')" />
- <el-table-column prop="scanId" :label="$t('glassInfo.scanId')" />
- <el-table-column prop="length" :label="$t('glassInfo.length')" />
- <el-table-column prop="width" :label="$t('glassInfo.width')" />
- <el-table-column prop="thickness" :label="$t('glassInfo.thickness')" />
- <el-table-column prop="taskQuantity" :label="$t('glassInfo.taskQuantity')" />
- <el-table-column prop="reportCount" :label="$t('glassInfo.reportCount')" />
- <el-table-column prop="workState" :label="$t('glassInfo.workState')" />
+ <el-table-column type="index" :label="$t('glassInfo.number')" min-width="30"/>
+ <el-table-column prop="batchNumber" :label="$t('glassInfo.batchNumber')"/>
+ <el-table-column prop="taskType" :label="$t('glassInfo.taskType')"/>
+ <el-table-column prop="scanId" :label="$t('glassInfo.scanId')"/>
+ <el-table-column prop="length" :label="$t('glassInfo.length')"/>
+ <el-table-column prop="width" :label="$t('glassInfo.width')"/>
+ <el-table-column prop="thickness" :label="$t('glassInfo.thickness')"/>
+ <el-table-column prop="taskQuantity" :label="$t('glassInfo.taskQuantity')"/>
+ <el-table-column prop="reportCount" :label="$t('glassInfo.reportCount')"/>
+ <el-table-column prop="workState" :label="$t('glassInfo.workState')"/>
<el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="70">
<template #default="scope">
<el-button size="small" link type="primary" plain @click="startOrStopTask(scope.row, findMachine.id, 1)">{{
- $t('functionState.getTask') }}</el-button>
+ $t('functionState.getTask')
+ }}
+ </el-button>
</template>
</el-table-column>
</el-table>
@@ -444,15 +523,16 @@
</div>
<div>
鎵嬪姩杈撳叆涓婄墖鏁伴噺锛�
- <el-input v-model="blindModeNumberLocal" style="width: 200px;" type="Number" id="blindMode" @keyup.enter="fetchSubmit"></el-input>
-
+ <el-input v-model="blindModeNumberLocal" style="width: 200px;" type="Number" id="blindMode"
+ @keyup.enter="fetchSubmit"></el-input>
+
</div>
<!-- <div>
<el-button size="mini" link type="primary" plain @click="startOrStopTask(scope.row, 2, 2)">纭</el-button>
<el-button size="mini" link type="primary" plain @click="startOrStopTask(scope.row, 2, 2)">鍙栨秷</el-button>
</div> -->
</el-dialog>
- <hr />
+ <hr/>
<br>
<div id="search">
<!-- 鍔熻兘 -->
@@ -460,33 +540,40 @@
<div class="flex flex-wrap gap-4 items-center">
涓婄墖鏈鸿繍琛屾ā寮�:
<el-select v-model="modevalue" @change="modeChange" placeholder="璇烽�夋嫨妯″紡" size="large" style="width: 220px">
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
-
+
<span>
- <span @click="modeShow" style="margin-left: 40px;">{{ findMachine.mode=="3"? ("涓婄墖鏁伴噺锛�"+findMachine.taskCount):"" }}</span>
- <span style="margin-left: 40px;">{{ findMachine.mode=="3"? ("宸插畬鎴愭暟閲忥細"+findMachine.finshCount):"" }}</span>
+ <span @click="modeShow" style="margin-left: 40px;">{{
+ findMachine.mode == "3" ? ("涓婄墖鏁伴噺锛�" + findMachine.taskCount) : ""
+ }}</span>
+ <span style="margin-left: 40px;">{{
+ findMachine.mode == "3" ? ("宸插畬鎴愭暟閲忥細" + findMachine.finshCount) : ""
+ }}</span>
</span>
-
-
+
+
</div>
<br>
<el-button :type="(findMachine['state'] == '鏆傚仠' ? 'danger' : 'success')" id="ButtonMachineStatus"
- @click="machineStatus((findMachine['state'] == '鏆傚仠' ? '寮�宸�' : '鏆傚仠'))">{{ findMachine['state'] == '寮�宸�' ?
- $t('functionState.start') : $t('functionState.stop') }}</el-button>
+ @click="machineStatus((findMachine['state'] == '鏆傚仠' ? '寮�宸�' : '鏆傚仠'))">{{
+ findMachine['state'] == '寮�宸�' ?
+ $t('functionState.start') : $t('functionState.stop')
+ }}
+ </el-button>
<el-button type="primary" id="ButtonTopLine" @click="topLineShow">{{ $t('functionState.getTask') }}</el-button>
</div>
<div id="main-body" style="min-height:240px;">
<!-- 琛ㄦ牸鍐呭 -->
<el-table :data="filterTableData" stripe style="height:260px"
- :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
- :cell-style="{ textAlign: 'center' }">
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center' }"
+ :cell-style="{ textAlign: 'center' }">
<!-- <el-table-column type="selection" min-width="30" /> -->
- <el-table-column type="index" :label="$t('glassInfo.number')" min-width="30" />
- <el-table-column prop="batchNumber" sortable :label="$t('glassInfo.batchNumber')" />
- <el-table-column prop="taskType" sortable :label="$t('glassInfo.taskType')" />
+ <el-table-column type="index" :label="$t('glassInfo.number')" min-width="30"/>
+ <el-table-column prop="batchNumber" sortable :label="$t('glassInfo.batchNumber')"/>
+ <el-table-column prop="taskType" sortable :label="$t('glassInfo.taskType')"/>
<el-table-column prop="scanId" :label="$t('glassInfo.scanId')">
<template #header>
<div>
@@ -496,30 +583,32 @@
<el-input v-model="searchs" type="primary" id="ReportSubmission" @keyup.enter="fetchData"></el-input>
<template #reference>
<el-icon>
- <Filter />
+ <Filter/>
</el-icon>
</template>
</el-popover>
<el-icon>
- <CaretTop />
+ <CaretTop/>
</el-icon>
<el-icon>
- <CaretBottom />
+ <CaretBottom/>
</el-icon>
<!-- <el-input v-model="searchs" type="primary" id="ReportSubmission" @keyup.enter="fetchData"></el-input> -->
<!-- <el-input size="small" placeholder="Type to search" /> -->
</div>
</template>
</el-table-column>
- <el-table-column prop="length" sortable :label="$t('glassInfo.length')" />
- <el-table-column prop="width" sortable :label="$t('glassInfo.width')" />
- <el-table-column prop="thickness" sortable :label="$t('glassInfo.thickness')" />
- <el-table-column prop="taskQuantity" sortable :label="$t('glassInfo.taskQuantity')" />
- <el-table-column prop="isWorking" sortable :label="$t('glassInfo.isWorking')" />
+ <el-table-column prop="length" sortable :label="$t('glassInfo.length')"/>
+ <el-table-column prop="width" sortable :label="$t('glassInfo.width')"/>
+ <el-table-column prop="thickness" sortable :label="$t('glassInfo.thickness')"/>
+ <el-table-column prop="taskQuantity" sortable :label="$t('glassInfo.taskQuantity')"/>
+ <el-table-column prop="isWorking" sortable :label="$t('glassInfo.isWorking')"/>
<el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270">
<template #default="scope">
<el-button size="mini" link type="primary" plain @click="startOrStopTask(scope.row, 2, 2)">{{
- $t('functionState.stopTask') }}</el-button>
+ $t('functionState.stopTask')
+ }}
+ </el-button>
</template>
</el-table-column>
</el-table>
@@ -533,9 +622,9 @@
</div> -->
<div style="width: 30%;min-width: 300px; height: 460px;float: left;padding: 20px;;">
<el-table :data="sendRecords" stripe
- :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center', height: '30px' }"
- :cell-style="{ textAlign: 'center' }">
- <el-table-column prop="sendContent" :label="$t('glassInfo.sendContent')" />
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129', textAlign: 'center', height: '30px' }"
+ :cell-style="{ textAlign: 'center' }">
+ <el-table-column prop="sendContent" :label="$t('glassInfo.sendContent')"/>
</el-table>
</div>
<div style="clear锛歜oth"></div>
diff --git a/UI-Project/src/views/Rotate/rotate.vue b/UI-Project/src/views/Rotate/rotate.vue
index e961aeb..c9cc309 100644
--- a/UI-Project/src/views/Rotate/rotate.vue
+++ b/UI-Project/src/views/Rotate/rotate.vue
@@ -29,57 +29,93 @@
//const machineId = 20;//褰撳墠椤甸潰鐨勮澶嘔D
var errorScanId;
var errorOpen=false;
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-let socketDownLineTask = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/rotate`;
-const socketDownLineTaskUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/downLineTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0].reverse();
-
- if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
- //鏈夋暟鎹氨寮圭獥
- if(errorOpen){
- ElMessageBox.close();
- }
- errorScanId=findMachine.value.remark.toString();
- errorInfoFuntion(findMachine.value.remark.toString());
- errorOpen=true;
- }else if(findMachine.value.remark.toString()==""&&errorOpen){
- ElMessageBox.close();
- errorOpen=false;
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
+
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-
};
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage2 = (data) => {
- downLineTask.value = data.downLineTask[0];
- // console.log(data);
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
- }
- if (socketDownLineTask) {
- closeWebSocket(socketDownLineTask);
- }
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//鎶ヨ鎻愮ず
const errorInfoFuntion = async (info) => {
diff --git a/UI-Project/src/views/SilkScreen/SilkScreen.vue b/UI-Project/src/views/SilkScreen/SilkScreen.vue
index d81ebe3..807c85c 100644
--- a/UI-Project/src/views/SilkScreen/SilkScreen.vue
+++ b/UI-Project/src/views/SilkScreen/SilkScreen.vue
@@ -24,30 +24,92 @@
const machineId = pageParamsJson.machineId;//褰撳墠椤甸潰鐨勮澶嘔D
console.log(machineId);
//const machineId=14;//褰撳墠椤甸潰鐨勮澶嘔D
-//浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
-let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/deviceInteraction/api/talk/silkScreenTask`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
- let dataJson = data[""+machineId][0];
- loadData.value = dataJson.taskingList[0];
- findMachine.value = dataJson.machine[0];
- sendRecords.value = dataJson.sendRecords[0];
-};
-onUnmounted(() => {
- if (socket) {
- closeWebSocket(socket);
+// 鏂板锛氬畾鏃朵换鍔D锛堢敤浜庢竻闄ゅ畾鏃跺櫒锛�
+const timerId = ref(null);
+/**
+ * 鍗曟鎺ュ彛璇锋眰鍑芥暟
+ * 浣滅敤锛氳皟鐢ㄥ悗绔帴鍙o紝鑾峰彇鏁版嵁鍚庝氦缁� handleMessage 澶勭悊
+ */
+const fetchMachineData = async () => {
+ try {
+ // 浠诲姟鏁版嵁
+ request.post("/deviceInteraction/tasking/findMachineTask",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ loadData.value =responseData;
+ }
+ });
+
+ // 璁惧鏁版嵁
+ request.post("/deviceInteraction/machine/findMachine",{
+ "id": machineId
+ }).then((res) => { // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (res.code === 200) {
+ // 鍋囪鍚庣杩斿洖鐨勬暟鎹牸寮忎笌 handleMessage 棰勬湡涓�鑷�
+ const responseData = res.data || {};
+ findMachine.value =responseData;
+ if (Object.keys(findMachine.value).length === 0){
+ if(findMachine.value.remark.toString()!=errorScanId&&findMachine.value.remark.toString()!=""&&findMachine.value.remark.toString()!=undefined){
+ //鏈夋暟鎹氨寮圭獥
+ if(errorOpen){
+ ElMessageBox.close();
+ }
+ errorScanId=findMachine.value.remark.toString();
+ errorInfoFuntion(findMachine.value.remark.toString());
+ errorOpen=true;
+ }else if(findMachine.value.remark.toString()==""&&errorOpen){
+ ElMessageBox.close();
+ errorOpen=false;
+ }
+ }
+ }
+ });
+
+ // 绾夸笅鏁版嵁
+ } catch (err) {
+ console.error('瀹氭椂璇锋眰鍚庣鎺ュ彛澶辫触锛�', err);
}
-});
-onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
- closeWebSocket();
+};
+
+/**
+ * 鍚姩瀹氭椂鍣�
+ * @param {number} interval - 瀹氭椂闂撮殧锛堟绉掞紝榛樿500ms锛屼笌鍚庣浠诲姟棰戠巼瀵归綈锛�
+ */
+const startTimer = (interval = 500) => {
+ // 鍏堟竻闄ゅ凡鏈夊畾鏃跺櫒锛堥伩鍏嶉噸澶嶅垱寤猴級
+ if (timerId.value) clearInterval(timerId.value);
+ // 绔嬪嵆鎵ц涓�娆★紙閬垮厤棣栨绛夊緟闂撮殧锛�
+ fetchMachineData();
+ // 鍒涘缓鏂板畾鏃跺櫒
+ timerId.value = setInterval(() => {
+ fetchMachineData();
+ }, interval);
+};
+
+/**
+ * 娓呴櫎瀹氭椂鍣紙閬垮厤鍐呭瓨娉勬紡锛�
+ */
+const clearTimer = () => {
+ if (timerId.value) {
+ clearInterval(timerId.value);
+ timerId.value = null; // 閲嶇疆ID
+ }
+};
+
+// 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒锛堝叧閿細閬垮厤缁勪欢閿�姣佸悗瀹氭椂鍣ㄤ粛杩愯锛�
+onUnmounted(() => {
+ clearTimer();
});
onMounted(async () => {
- //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
- socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ startTimer(500); // 500ms 闂撮殧锛堝彲鏍规嵁涓氬姟璋冩暣锛屽1000ms锛�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+ // //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
+ // socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
});
//淇敼宸ヤ綔鐘舵�� 銆愬け璐�/姝e湪宸ヤ綔/瀹屽伐銆�
const workStatus = async(row,state) => {
--
Gitblit v1.8.0