From 982bc1e3eb588021b2f73dfb04bfc78beb462db7 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 10 六月 2025 14:25:19 +0800
Subject: [PATCH] 添加引入,修改S7类short为int
---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java | 127 +++++++++++++++++++++++++++++++++---------
1 files changed, 100 insertions(+), 27 deletions(-)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
index 80ea1bf..66bdcb3 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
import com.mes.common.config.Const;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
@@ -14,11 +15,14 @@
import com.mes.pp.service.OptimizeProjectService;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
+import com.mes.s7.entity.S7DataSP;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.entity.vo.UpPattenUsageVO;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@@ -53,6 +57,14 @@
@Resource
private OptimizeProjectService optimizeProjectService;
+ @Autowired
+ @Qualifier("s7SerializerSPOne")
+ private S7Serializer s7SerializerSPOne;
+
+ @Autowired
+ @Qualifier("s7SerializerSPTwo")
+ private S7Serializer s7SerializerSPTwo;
+
private static final List<Integer> LOAD_STATION_01 = Arrays.asList(101, 102);
private static final List<Integer> LOAD_STATION_02 = Arrays.asList(103, 104);
@@ -69,22 +81,22 @@
//2銆�1鍙蜂笂鐗囦綅鏄惁鏈夊師鐗囷紝鍘熺墖灏哄鏄惁鍜屼笂鐗囧緟涓婄墖鐨勫昂瀵镐竴鑷�
//3銆�1鍙锋棤鍘熺墖锛屼笖娌℃湁鏋跺瓙锛�2鍙蜂笂鐗囦綅灏哄鏄惁鍜屽甫涓婄墖灏哄涓�鑷�
//4銆佷笉涓�鑷村彲鑳藉嚭鐜扮幓鐠冪牬鎹熷鑷寸殑涓婁竴鏋跺師鐗囨暟閲忎笉澶�
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassOne() {
opcLoadGlassChild(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassTwo() {
opcLoadGlassChild(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassOneFinish() {
opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassTwoFinish() {
opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
}
@@ -92,7 +104,7 @@
/**
* 瀹氭椂浠诲姟鎵爜宸插畬鎴愪笂鐗囩殑宸ョ▼锛屽皢宸ョ▼鐘舵�佹敼涓哄凡瀹屾垚锛屽悓姝p琛ㄧ殑宸ョ▼琛紝鐘舵�佹敼涓�300
*/
- @Scheduled(fixedDelay = 3000)
+ @Scheduled(fixedDelay = 5000)
public void updateEngineerState() {
log.info("淇敼宸插畬鎴愬伐绋嬬姸鎬佷换鍔″紑濮嬫墽琛�");
List<Engineering> engineerings = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING));
@@ -109,6 +121,12 @@
}
private void opcLoadGlassChild(String tableName, Integer deviceId) {
+ S7DataSP s7DataSP = new S7DataSP();
+ if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
+ s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
+ } else {
+ s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
+ }
Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
.eq(Engineering::getState, Const.ENGINEERING_RUNNING).eq(Engineering::getStationCell, deviceId));
if (null == engineering) {
@@ -116,12 +134,22 @@
return;
}
//浠诲姟鏆傚仠
- LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
- if (0 == task.getInkageState()) {
- log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
+ S7DataSP task = new S7DataSP();
+ if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+ s7SerializerSPOne.read(S7DataSP.class);
+ } else {
+ s7SerializerSPTwo.read(S7DataSP.class);
+ }
+// LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+ ;
+ if ("0".equals(s7DataSP.getInkageState().toString())) {
+ log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, s7DataSP.getInkageState().toString());
+// if (0 == task.getInkageState()) {
+// log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
return;
}
- if (task.getTaskRunning().equals(Const.ENGINEERING_RUNNING)) {
+ if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_RUNNING)) {
+// if (task.getTaskRunning().equals(Const.ENGINEERING_RUNNING)) {
log.info("{}涓婄墖绾匡紝鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId);
return;
}
@@ -156,11 +184,22 @@
int number = Math.min(twoLoadStation.getRemainQuantity(), usageVOS.size());
//鐢熸垚涓婄墖浠诲姟
task.setTotalCount(number);
- task.setTaskRunning(Const.ENGINEERING_RUNNING);
+ task.setTaskRunning(Boolean.TRUE);
task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
task.setSlot(loadStation.get(1));
- loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+// loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+ S7DataSP s7DataSPWrite = new S7DataSP();
+ s7DataSPWrite.setTotalCount(number);
+ s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+ s7DataSPWrite.setRawGlassWidth((int) usageVOS.get(0).getWidth());
+ s7DataSPWrite.setRawGlassHeight((int) usageVOS.get(0).getHeight());
+ s7DataSPWrite.setSlot(loadStation.get(1));
+ if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+ s7SerializerSPOne.write(s7DataSPWrite);
+ } else {
+ s7SerializerSPTwo.write(s7DataSPWrite);
+ }
saveHistoryTask(task, deviceId);
return;
}
@@ -172,33 +211,56 @@
//鐢熸垚涓婄墖浠诲姟
int number = Math.min(oneLoadStation.getRemainQuantity(), usageVOS.size());
task.setTotalCount(number);
- task.setTaskRunning(Const.ENGINEERING_RUNNING);
+ task.setTaskRunning(Boolean.TRUE);
task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
task.setSlot(loadStation.get(0));
- loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+// loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+ S7DataSP s7DataSPWrite = new S7DataSP();
+ s7DataSPWrite.setTotalCount(number);
+ s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+ s7DataSPWrite.setRawGlassWidth((int) usageVOS.get(0).getWidth());
+ s7DataSPWrite.setRawGlassHeight((int) usageVOS.get(0).getHeight());
+ s7DataSPWrite.setSlot(loadStation.get(0));
+ if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+ s7SerializerSPOne.write(s7DataSPWrite);
+ } else {
+ s7SerializerSPTwo.write(s7DataSPWrite);
+ }
saveHistoryTask(task, deviceId);
}
private void opcLoadGlassFinishChid(String tableName, Integer deviceId) {
- LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
- if (task.getTaskRunning().equals(Const.ENGINEERING_NEW)) {
+ S7DataSP s7DataSP = new S7DataSP();
+ if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
+ s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
+ } else {
+ s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
+ }
+// LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+ if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_NEW)) {
+// if (task.getTaskRunning().equals(Const.ENGINEERING_NEW)) {
log.info("鏃犱换鍔�,缁撴潫");
return;
}
- if (task.getTaskState() <= 1) {
+ if (Integer.parseInt(s7DataSP.getTaskState().toString()) <= 1) {
+// if (task.getTaskState() <= 1) {
log.info("浠诲姟姝e湪鎵ц,缁撴潫");
return;
}
//鑾峰彇浠诲姟瀹屾垚鎯呭喌
// 宸插畬鎴愭暟閲� 鐮存崯鏁伴噺
- Integer finishCount = task.getFinishCount();
- Integer damageCount = task.getDamageCount();
+ Integer finishCount = Integer.parseInt(s7DataSP.getFinishCount().toString());
+ Integer damageCount = Integer.parseInt(s7DataSP.getDamageCount().toString());
+ Integer slot = Integer.parseInt(s7DataSP.getSlot().toString());
+// Integer finishCount = task.getFinishCount();
+// Integer damageCount = task.getDamageCount();
//鏇存柊褰撳墠鏋跺瓙涓婄殑鍘熺墖鍓╀綑鎯呭喌
rawGlassStorageDetailsService.update(new UpdateWrapper<RawGlassStorageDetails>()
.inSql("slot", "select slot from raw_glass_storage_station where enable_state = 1")
- .eq("slot", task.getSlot())
+// .eq("slot", task.getSlot())
+ .eq("slot", slot)
.eq("state", Const.RAW_GLASS_STATE_IN)
.setSql("remain_quantity = remain_quantity - " + (finishCount + damageCount)));
//鏇存柊宸ョ▼涓嬬殑鍘熺墖鏁伴噺 todo:sql寰呬紭鍖�
@@ -209,13 +271,24 @@
.in(UpPattenUsage::getId, ids)
.set(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
}
- //todo:浠诲姟琛ㄦ暟鎹儏鍐�
- task.setTaskRunning(0);
- task.setTotalCount(0);
- task.setRawGlassWidth(0);
- task.setRawGlassHeight(0);
- task.setSlot(0);
- loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+ //浠诲姟琛ㄦ暟鎹儏鍐�
+// task.setTaskRunning(0);
+// task.setTotalCount(0);
+// task.setRawGlassWidth(0);
+// task.setRawGlassHeight(0);
+// task.setSlot(0);
+// loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+ S7DataSP s7DataSPWrite = new S7DataSP();
+ s7DataSPWrite.setTaskRunning(Boolean.FALSE);
+ s7DataSPWrite.setTotalCount(0);
+ s7DataSPWrite.setRawGlassWidth(0);
+ s7DataSPWrite.setRawGlassHeight(0);
+ s7DataSPWrite.setSlot(0);
+ if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+ s7SerializerSPOne.write(s7DataSPWrite);
+ } else {
+ s7SerializerSPTwo.write(s7DataSPWrite);
+ }
loadGlassDeviceTaskHistoryService.update(new LambdaUpdateWrapper<LoadGlassDeviceTaskHistory>()
.set(LoadGlassDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS)
.eq(LoadGlassDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
@@ -223,7 +296,7 @@
);
}
- private boolean saveHistoryTask(LoadGlassDeviceTask task, Integer deviceId) {
+ private boolean saveHistoryTask(S7DataSP task, Integer deviceId) {
LoadGlassDeviceTaskHistory taskHistory = new LoadGlassDeviceTaskHistory();
BeanUtils.copyProperties(task, taskHistory);
taskHistory.setStation(deviceId);
--
Gitblit v1.8.0