From dd5d13d049c89f2059ffb8884d6d3fec6c5a1d3f Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 15:35:52 +0800
Subject: [PATCH] 增加整版全部拿走接口
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 53 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 41 insertions(+), 12 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index abca8a6..78840f9 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -304,7 +304,7 @@
log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
- @Scheduled(fixedDelay = 10000)
+ @Scheduled(fixedDelay = 5000)
public void plcToHomeEdgOutTask() {
Date startDate = new Date();
log.info("澶х悊鐗囩鍑虹墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -393,7 +393,7 @@
+ temperingOccupySlot.getEngineerId() + "' and tempering_layout_id = '" + temperingOccupySlot.getTemperingLayoutId() + "'")
.orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence)
);
- Map<Integer, List<GlassInfo>> listMap = glassInfos.stream().collect(Collectors.groupingBy(item -> item.getSlot()));
+ Map<Integer, List<GlassInfo>> listMap = glassInfos.stream().collect(Collectors.groupingBy(item -> item.getTargetSlot()));
for (Map.Entry<Integer, List<GlassInfo>> entry : listMap.entrySet()) {
List<GlassInfo> valueList = entry.getValue();
List<String> glassIds = valueList.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
@@ -427,9 +427,9 @@
.ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
//涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
// 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
- List<Integer> updateSlots = new ArrayList<>();
- updateSlots.add(bigStorageCageDetails.getSlot());
- updateSlotRemainBySlots(updateSlots);
+// List<Integer> updateSlots = new ArrayList<>();
+// updateSlots.add(bigStorageCageDetails.getSlot());
+// updateSlotRemainBySlots(updateSlots);
}
}
break loop;
@@ -673,7 +673,10 @@
bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
//鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
+// .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW)
+ .and(e -> e.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).or()
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN))
+ .in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
//灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
List<Integer> slotList = new ArrayList<>();
for (BigStorageCageFeedTask bigStorageCageFeedTask : inDamageTaskInfoList) {
@@ -857,7 +860,9 @@
);
}
String carRequest = plcParameterObject.getPlcParameter("CarRequest").getValue();
- log.info("澶ц溅褰撳墠鐜荤拑id{}",glassIdsCar);
+ log.info("澶ц溅褰撳墠鐜荤拑id{}", glassIdsCar);
+ log.info("鍗ц浆绔�1鐜荤拑id{}", glassIds1);
+ log.info("鍗ц浆绔�2鐜荤拑id{}", glassIds2);
if (CollectionUtils.isNotEmpty(glassIdsCar) && REQUEST_WORD.equals(carRequest)) {
List<BigStorageCageFeedTask> bigStorageCageFeedTasks = bigStorageCageFeedTaskService.list(
new LambdaQueryWrapper<BigStorageCageFeedTask>()
@@ -865,7 +870,21 @@
.eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
.eq(BigStorageCageFeedTask::getTargetSlot, 0)
);
- computeTargetByLineCar(bigStorageCageFeedTasks.get(0).getLine());
+ if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks)) {
+ log.info("璁$畻鐩爣鏍煎瓙鍙戦�佷换鍔}", bigStorageCageFeedTasks);
+ computeTargetByLineCar(bigStorageCageFeedTasks.get(0).getLine(), glassIdsCar);
+ } else {
+ log.info("鍐嶆鍙戦�佽繘鐗囦换鍔}", bigStorageCageFeedTasks);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.list(
+ new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ .in(BigStorageCageFeedTask::getGlassId, glassIdsCar)
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR)
+ .gt(BigStorageCageFeedTask::getTargetSlot, 0)
+ );
+ if (CollectionUtils.isNotEmpty(bigStorageCageFeedTaskList)) {
+ sendTaskListToPLCCar(bigStorageCageFeedTaskList);
+ }
+ }
}
@@ -1000,7 +1019,7 @@
new LambdaQueryWrapper<GlassInfo>()
.eq(GlassInfo::getGlassId, glassId)
);
- if (glassInfo.getSlot() == null) {
+ if (glassInfo.getTargetSlot() == null) {
List<GlassInfo> glassInfos = glassInfoService.list(
new LambdaQueryWrapper<GlassInfo>()
.eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
@@ -1020,7 +1039,7 @@
glassInfoService.update(
new LambdaUpdateWrapper<GlassInfo>()
.eq(GlassInfo::getGlassId, bigStorageCageOutTask.getGlassId())
- .set(GlassInfo::getSlot, bigStorageCageOutTask.getTrainNumber())
+ .set(GlassInfo::getTargetSlot, bigStorageCageOutTask.getTrainNumber())
);
}
}
@@ -1081,11 +1100,13 @@
/**
* 璁$畻浠诲姟琛ㄨ繘鐗囩嚎璺殑鐩爣鏍煎瓙锛屽苟鍚姩浠诲姟
*/
- public boolean computeTargetByLineCar(Integer line) {
+ public boolean computeTargetByLineCar(Integer line, List<String> carGlassId) {
//1銆佽幏鍙栦换鍔¤〃涓殑鎵�鏈夌幓鐠冿紙鎸囧畾绾胯矾涓斿凡缁忚繘鍗ц浆绔嬪畬鎴愶級
List<BigStorageCageFeedTask> taskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
.eq(BigStorageCageFeedTask::getLine, line)
- .and(e -> e.isNull(BigStorageCageFeedTask::getTargetSlot).or().eq(BigStorageCageFeedTask::getTargetSlot, Const.OUT_TARGET_POSITION_ZERO))
+ .in(BigStorageCageFeedTask::getGlassId, carGlassId)
+ .and(e -> e.isNull(BigStorageCageFeedTask::getTargetSlot).or()
+ .eq(BigStorageCageFeedTask::getTargetSlot, Const.OUT_TARGET_POSITION_ZERO))
.in(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP_ALL)
.orderByAsc(BigStorageCageFeedTask::getId));
//2銆佸幓绗煎瓙鍐呮煡鎵炬槸鍚﹀彲浠ョ户缁瓨鏀剧殑绗煎瓙
@@ -1115,6 +1136,13 @@
// GlassInfo info = glassInfoMap.get(e.getGlassId());
if (info == null) {
continue;
+ }
+ if (info.getTargetSlot() == null) {
+ computeSlot(info.getGlassId());
+ info = glassInfoService.getOne(
+ new LambdaQueryWrapper<GlassInfo>()
+ .eq(GlassInfo::getGlassId, info.getGlassId())
+ );
}
BigStorageCageDetails cageDetails = new BigStorageCageDetails();
BeanUtils.copyProperties(info, cageDetails);
@@ -1408,6 +1436,7 @@
.eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
.eq(GlassInfo::getLayer, glassInfo.getLayer())
.eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
+ .eq(GlassInfo::getMarkIcon, glassInfo.getMarkIcon())
.notInSql(GlassInfo::getGlassId, "select distinct glass_id from big_storage_cage_details " +
"where state!=101 and engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight())
.orderByAsc(GlassInfo::getTemperingLayoutId)
--
Gitblit v1.8.0