From faa3b0410410415c4ad788c7e0955ef97158df2e Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期四, 13 三月 2025 22:37:20 +0800
Subject: [PATCH] 贴膜机任务数据显示异常修改
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MachineTask.java | 337 +++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 223 insertions(+), 114 deletions(-)
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 05f160b..073b79d 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
@@ -1,18 +1,19 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.S7objectFlipSlice;
import com.mes.common.S7objectMachine;
import com.mes.common.S7objectMarking;
import com.mes.device.PlcParameterInfo;
import com.mes.device.PlcParameterObject;
-import com.mes.md.entity.Machine;
-import com.mes.md.entity.Tasking;
+import com.mes.md.entity.*;
import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.mapper.MachineMapper;
import com.mes.md.mapper.TaskingMapper;
-import com.mes.md.service.TaskingService;
+import com.mes.md.service.*;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +22,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* 鑷姩鎵撴爣鏈�
@@ -41,124 +43,231 @@
@Autowired
TaskingService taskingService;
@Autowired
+ ProjectService projectService;
+ @Autowired
+ PrimitiveTaskService primitiveTaskService;
+ @Autowired
+ KBBTJPDrawingBPService kBBTJPDrawingBPService;
+ @Autowired
+ LineConfigurationService lineConfigurationService;
+ @Autowired
private GlassInfoMapper glassInfoMapper;
- public int a =1;
- public S7objectMachine s7objectMachine;
+ public List<Map> sendRecords = new ArrayList<>();
+ private List<Machine> machineListLoad;
+ private List<Machine> machineListEdging;
+ private List<Machine> machineListFlipSlice;
+ private List<Machine> machineListMarking;
+ private List<Machine> machineListSilkScreen;
+ private List<Machine> machineListRotate;
+ private List<Machine> machineListGlueDispenser;
+ private List<Machine> machineListScanQrCode;
+ private List<Machine> machineListLamination;
- //@Scheduled(fixedDelay = 1000)
- public void plcMachineTask() {
- Long machineId=12L;
- Machine machine=machineMapper.selectById(machineId);
- if (s7objectMachine==null){
- s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),"PlcMarking", 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");//
-
- PlcParameterInfo plcReport =plcParameterObject.getPlcParameter("plcReport");//姹囨姤瀛�
- PlcParameterInfo plcReportID =plcParameterObject.getPlcParameter("plcReportID");//姹囨姤ID
- PlcParameterInfo mesConfirm =plcParameterObject.getPlcParameter("mesConfirm");//纭瀛�
- PlcParameterInfo mesConfirmID =plcParameterObject.getPlcParameter("mesConfirmID");//纭ID
-
- String str=S7objectMarking.getinstance().plccontrol.readString("DB14.30");
-
- //String width=S7objectMarking.getinstance().plccontrol.readWord(widthOutOfService.getAddress());
- log.info("plcRequest:{},plcRequestID:{},mesSend:{},mesSendID:{},drawingMark:{}," +
- "plcReport:{},plcReportID:{},mesConfirm:{},mesConfirmID:{}"
- ,plcRequest.getValue(),plcRequestID.getValue(),mesSend.getValue(),isMark.getValue(),drawingMark.getValue(),
- plcReport.getValue(),plcReportID.getValue(),mesConfirm.getValue(),mesConfirmID.getValue());
- if ("0".equals(plcRequest.getValue())&&"1".equals(mesSend.getValue())) {
- //鍙戦�佸瓧缃�0
- log.info("1.鍙戦�佸瓧缃浂,娓呴櫎涓婃鍙戦�佺殑鏁版嵁{},{},{},{},{}"
- ,markingMode.getValue()
- ,isMark.getValue()
- ,lengthOutOfService.getValue()
- ,widthOutOfService.getValue()
- ,mesSend.getValue());
- //S7objectMarking.getinstance().plccontrol.writeString(drawingMark.getAddress(),"");
- S7objectMarking.getinstance().plccontrol.writeWord(markingMode.getAddress(), 0);
- S7objectMarking.getinstance().plccontrol.writeWord(lengthOutOfService.getAddress(), 0);
- S7objectMarking.getinstance().plccontrol.writeWord(widthOutOfService.getAddress(), 0);
- S7objectMarking.getinstance().plccontrol.writeWord(isMark.getAddress(), 0);
- S7objectMarking.getinstance().plccontrol.writeWord(mesSend.getAddress(), 0);
- return;
- }
- if ("0".equals(plcReport.getValue())&&"1".equals(mesConfirm.getValue())) {
- log.info("2.纭瀛楃疆闆�");
- //鍙戦�佸瓧缃�0
- S7objectMarking.getinstance().plccontrol.writeWord(mesConfirm.getAddress(), 0);
- return;
- }
- if("1".equals(plcReport.getValue())&&"0".equals(mesConfirm.getValue())){
- int finishCount=taskingService.finishMachineTask(machine);
- log.info("3銆佷换鍔″畬鎴�");
- if(finishCount>0){//鏈変换鍔�
- S7objectMarking.getinstance().plccontrol.writeWord(mesConfirm.getAddress(), 1);
- return;
- }
- }
- if("1".equals(plcRequest.getValue())&&"0".equals(mesSend.getValue())&& !plcRequestID.getValue().isEmpty()&&"寮�宸�".equals(machine.getState())){
- Tasking tasking;
- if("0".equals(plcRequestID.getValue())){
- //鏍囧噯妯″紡
- tasking=taskingService.startMachineTask(machine);
- }else{
- //瀹氬埗妯″紡
- tasking=taskingService.startMachineTask(machine,plcRequestID.getValue());
- }
- //log.info("4銆佸彂閫佷换鍔� 璁惧鐘舵��:{}, 鏁版嵁锛歿},",machine,tasking);
- if(tasking!=null){
- //妯″紡锛�1瀹氬埗 0 鎵归噺 鏄惁鎵撴爣锛�0涓嶆墦鏍� 1鎵撴爣
- int isMark_=tasking.getDrawingMarking()==null?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){
- S7objectMarking.getinstance().plccontrol.writeString(drawingMark.getAddress(), tasking.getProgramId());
- }
- //S7objectMarking.getinstance().plccontrol.writeUInt32 (mesSendID.getAddress(), 2);
- S7objectMarking.getinstance().plccontrol.writeWord(lengthOutOfService.getAddress(), tasking.getLength().intValue());
- S7objectMarking.getinstance().plccontrol.writeWord(widthOutOfService.getAddress(), tasking.getWidth().intValue());
- S7objectMarking.getinstance().plccontrol.writeWord(isMark.getAddress(), isMark_);
- S7objectMarking.getinstance().plccontrol.writeWord(markingMode.getAddress(), isMarkingMode_);
- S7objectMarking.getinstance().plccontrol.writeWord(mesSend.getAddress(), 1);
- return;
- }
- }
- //log.info("鏃犲彲鎵ц鐨勬潯浠�");
-
- }
- //@Scheduled(fixedDelay = 1000)
- public void markingTasks() {
+ //鏈烘鎵�
+ @Scheduled(fixedDelay = 500)
+ public void MarkingTasks() {
+ machineListLoad =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"涓婄墖"));
JSONObject jsonObject = new JSONObject();
- Machine machine=machineMapper.selectById(11L);
- List<Tasking> taskingList=taskingService.findMachineTask(machine);
- jsonObject.append("taskingList", taskingList);
- jsonObject.append("machine", machine);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("marking");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- if (webserver != null) {
- webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
+ jsonObject.append("sessionMapName", "loadTask");
+ for (Machine machine : machineListLoad) {
+ JSONObject jsonObjectItem = new JSONObject();
+ //鏍囧噯妯″紡 鎵惧凡棰嗗彇鏈畬鎴愮殑绗竴鏉′换鍔�
+ LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
+ //姝ょ嚎璺凡棰嗗彇鐨勪换鍔�
+ List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfiguration.getLineId());
+ //姝ょ嚎璺湭棰嗗彇鐨勪换鍔� 鏈湴
+ //List<PrimitiveTask> findPrimitiveTask=primitiveTaskService.findPrimitiveTaskNotFinish();
+ //姝ょ嚎璺湭棰嗗彇鐨勪换鍔� 瀹㈡埛鏁版嵁搴�
+ List<KBBTJPDrawingBP> list =kBBTJPDrawingBPService.notReceiveKBBTJPDrawingBP();
+ jsonObjectItem.append("findPrimitiveTask", list);
+ jsonObjectItem.append("findPrimitiveTasking", findPrimitiveTasking);
+ //jsonObject.append("findPrimitiveTask", findPrimitiveTask);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+ //纾ㄨ竟鏈�
+ @Scheduled(fixedDelay = 500)
+ public void edgingTasks() {
+ machineListEdging =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"纾ㄨ竟"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "edgingTask");
+ for (Machine machine : machineListEdging) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+
+ //缈荤墖鍙�
+ @Scheduled(fixedDelay = 500)
+ public void flipSliceTasks() {
+ machineListFlipSlice =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"缈荤墖"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "flipSlice");
+ for (Machine machine : machineListFlipSlice) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+
+ //鎵撴爣鏈�
+ @Scheduled(fixedDelay = 500)
+ public void markingTasks() {
+ machineListMarking =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩鎵撴爣鏈�"));
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "marking");
+ for (Machine machine : machineListMarking) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+
+ //涓濆嵃鏈�
+ @Scheduled(fixedDelay = 500)
+ public void silkScreenTasks() {
+ machineListSilkScreen =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩涓濆嵃鏈�"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "silkScreenTask");
+ for (Machine machine : machineListSilkScreen) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+ //鐐硅兌鏈�
+ //@Scheduled(fixedDelay = 500)
+ public void glueDispenserTasks() {
+ machineListGlueDispenser =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩鐐硅兌鏈�"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "glueDispenser");
+ for (Machine machine : machineListGlueDispenser) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+ //鏃嬭浆鍙�
+ @Scheduled(fixedDelay = 500)
+ public void rotateTasks() {
+ machineListRotate =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鏃嬭浆鍙�"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "rotate");
+ for (Machine machine : machineListRotate) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+ //璐磋啘鏈�
+ @Scheduled(fixedDelay = 500)
+ public void laminationTasks() {
+ machineListLamination =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩璐磋啘鏈�"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "lamination");
+ for (Machine machine : machineListLamination) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObjectItem.append("sendRecords", sendRecords);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+ this.webSocketServer(jsonObject);
+ }
+
+
+ //鎶ュ伐椤甸潰鏌ヨ
+ @Scheduled(fixedDelay = 1000)
+ public void manualReporting() {
+
+ machineListScanQrCode =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"璇嗗埆鎶ュ伐"));
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.append("sessionMapName", "manualReporting");
+ for (Machine machine : machineListScanQrCode) {
+ JSONObject jsonObjectItem = new JSONObject();
+ List<Tasking> taskingList=taskingMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>()
+ .selectAll(Tasking.class)
+ .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+ .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+ .eq(LineConfiguration::getMachineId,machine.getId())
+ .eq(Tasking::getGlassState,"姝e父")
+ .eq(Tasking::getState,"绾夸笂")
+ .ne(Tasking::getWorkState,"瀹屽伐")
+ .orderByDesc(Tasking::getOperationRecordTime));
+ jsonObjectItem.append("taskingList", taskingList);
+ jsonObjectItem.append("machine", machine);
+ jsonObject.append(machine.getId().toString(), jsonObjectItem);
+ }
+
+ this.webSocketServer(jsonObject);
+ }
+ //绾夸笅鐜荤拑鏌ヨ
+ @Scheduled(fixedDelay = 1000)
+ public void downLineTask() {
+ JSONObject jsonObject = new JSONObject();
+ List<Tasking> downLineTask=taskingService.findDownLineTask();
+ jsonObject.append("sessionMapName", "downLineTask");
+ jsonObject.append("downLineTask", downLineTask);
+ this.webSocketServer(jsonObject);
+ }
+
+
+ public void webSocketServer(JSONObject jsonObject) {
+ try {
+ String sessionMapName=jsonObject.getJSONArray("sessionMapName").get(0).toString();
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(sessionMapName);
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ try {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ }catch (Exception e) {
+
+ }
+ } else {
+ log.info("Home is closed");
}
- } else {
- log.info("Home is closed");
}
}
+ }catch (Exception e) {
+
}
+
}
}
--
Gitblit v1.8.0