From 26caccd05881f23189bdc8cc4db892e2b789e57d Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 04 九月 2025 13:47:10 +0800
Subject: [PATCH] 1、中空调整:定任务优先级可控,界面新增按钮 2、中空缺片详情报破损功能以实现
---
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java | 74 ++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 29 deletions(-)
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index 202efb4..1867c5d 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -104,6 +104,9 @@
private static final String BIG_STORAGE_CAGE_IN_TWO_TASK = "big_storage_cage_in_two_task";
private static final String BIG_STORAGE_CAGE_OUT_TWO_TASK = "big_storage_cage_out_two_task";
+ private static final List<Integer> ONE_LINE_FIRST = Arrays.asList(930, 931, 932);
+ private static final List<Integer> TWO_LINE_FIRST = Arrays.asList(931, 930, 932);
+
/**
* 鐩撮�氭牸瀛�
*/
@@ -375,14 +378,14 @@
return;
}
//鑾峰彇鎵�鏈夌┖闂茬殑绾胯矾淇℃伅
- List<Integer> freeLineList = new ArrayList<>();
+ HashMap<Integer, Boolean> map = new HashMap<>();
//鑾峰彇绌洪棽涓旈鍙栦换鍔$殑鏁版嵁淇℃伅锛屾病鏈変换鍔$洿鎺ヨ蛋鐜荤拑璋冨害
try {
if (CMJ1ModbusTcp.checkConnected()) {
Boolean oneState = CMJ1ModbusTcp.readUInt16(42027 - 40001) != 0;
- if (oneState) {
- freeLineList.add(930);
- }
+ map.put(930, oneState);
+ } else {
+ map.put(930, Boolean.FALSE);
}
} catch (Exception e) {
//nothing
@@ -391,34 +394,47 @@
try {
S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class);
log.info("涓┖棰濆璇诲彇{}", s7DataZKExtra);
- Boolean twoState = s7DataZKExtra.getIsFree();
- Boolean threeState = s7DataZKExtra.getIsFree03();
- if (twoState) {
- freeLineList.add(931);
- }
- if (threeState) {
- freeLineList.add(932);
- }
+ map.put(931, s7DataZKExtra.getIsFree());
+ map.put(932, s7DataZKExtra.getIsFree03());
} catch (Exception e) {
//nothing
log.info("浜�/涓夌嚎绾跨┖闂茬姸鎬佽幏鍙栧紓甯�");
}
- HollowGlassOutRelationInfo hollowGlassOutRelationInfo = null;
- if (CollectionUtil.isNotEmpty(freeLineList)) {
- hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService
- .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
- .in(HollowGlassOutRelationInfo::getCell, freeLineList)
- .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
- .orderByAsc(HollowGlassOutRelationInfo::getUpdateTime).last("limit 1")
- );
+ List<Integer> resultList = new ArrayList<>();
+ if (redisUtil.getCacheObject("priorityHollowSwitch")) {
+ resultList = TWO_LINE_FIRST;
+ } else {
+ resultList = ONE_LINE_FIRST;
}
- if (hollowGlassOutRelationInfo == null) {
- hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService
- .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
- .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
- .orderByAsc(HollowGlassOutRelationInfo::getUpdateTime).last("limit 1")
- );
+ HollowGlassOutRelationInfo hollowGlassOutRelationInfo = null;
+ int cell = -1;
+ for (Integer i : resultList) {
+ if (null == hollowGlassOutRelationInfo) {
+ Boolean entity = map.get(i);
+ cell = i;
+ if (null != entity && entity) {
+ hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService
+ .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
+ .eq(HollowGlassOutRelationInfo::getCell, cell)
+ .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
+ );
+ }
+ } else {
+ break;
+ }
+ }
+ for (Integer i : resultList) {
+ if (null == hollowGlassOutRelationInfo) {
+ cell = i;
+ hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService
+ .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
+ .eq(HollowGlassOutRelationInfo::getCell, cell)
+ .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
+ );
+ } else {
+ break;
+ }
}
if (null != hollowGlassOutRelationInfo) {
@@ -853,7 +869,7 @@
List<String> glassList = noDealTaskList.stream().map(BigStorageCageTask::getGlassId).collect(Collectors.toList());
hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
.set(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .ne(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .notIn(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
.in(HollowBigStorageCageDetails::getGlassId, glassList));
} else {
@@ -862,7 +878,7 @@
hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
.set(HollowBigStorageCageDetails::getSlot, item.getStartSlot())
.set(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .ne(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .notIn(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
.eq(HollowBigStorageCageDetails::getGlassId, item.getGlassId()));
}
}
@@ -1049,7 +1065,7 @@
hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
.set(HollowBigStorageCageDetails::getState, state)
.set(Const.BIG_STORAGE_AFTER_DISPATCH.equals(taskType), HollowBigStorageCageDetails::getSlot, targetSlot)
- .ne(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .notIn(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
.in(HollowBigStorageCageDetails::getGlassId, glassIds));
try {
s7DataZKDLPTwo = new S7DataZKDLPTwo();
--
Gitblit v1.8.0