From 89e6e823e4eeed9c08ac612d8089678ad24b4ef2 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 12 四月 2024 22:18:54 +0800
Subject: [PATCH] #取放货动作
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleOperatorParam.java | 3 +++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java | 7 ++++++-
3 files changed, 58 insertions(+), 1 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
index 0d519de..3f70cf7 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
@@ -150,11 +150,16 @@
return R.error();
}
+ String sourceLoc = null;//婧愬簱浣�
String targetLoc = null;//浠诲姟鐩爣(鍊熺敤瀛楁)
String targetSite = param.getShuttleTaskMode();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
if (param.getShuttleTaskMode().equals("moveLoc")) {
//杩佺Щ浠诲姟
targetLoc = param.getTargetLocNo();
+ } else if (param.getShuttleTaskMode().equals("takeMove")) {
+ //鍙栨斁璐т换鍔�
+ targetLoc = param.getTargetLocNo();
+ sourceLoc = param.getSourceLocNo();
}
Task task = new Task();
@@ -164,7 +169,7 @@
task.setTaskCtg(taskCtg.getId());
task.setPriority(10);
task.setOriginSite(null);
- task.setOriginLoc(null);
+ task.setOriginLoc(sourceLoc);
task.setDestSite(targetSite);
task.setDestLoc(targetLoc);
task.setIoTime(new Date());
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleOperatorParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleOperatorParam.java
index 00ddd3a..599b045 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleOperatorParam.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleOperatorParam.java
@@ -11,6 +11,9 @@
// 鍛戒护绫诲瀷
private String shuttleTaskMode;
+ // 婧愬簱浣�
+ private String sourceLocNo;
+
// 鐩爣搴撲綅
private String targetLocNo;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
index 68d7a94..2702cdc 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
@@ -980,6 +980,7 @@
return motionList;
}
+ String sourceLoc = task.getOriginLoc();//婧愬簱浣�
String targetLoc = task.getDestLoc();//浠诲姟鐩爣(鍊熺敤瀛楁)
String targetSite = task.getDestSite();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
@@ -1052,6 +1053,54 @@
}));
} else if (targetSite.equals("reset")) {
//澶嶄綅
+ } else if (targetSite.equals("takeMove")) {
+ //鍙栨斁璐�
+ String shuttleLocNo = shuttleProtocol.getCurrentLocNo();
+
+ // 鍒ゆ柇绌挎杞︽槸鍚﹀湪鐩爣灞�
+ if (Utils.getLev(shuttleLocNo) == Utils.getLev(targetLoc)) {
+
+ // 绌挎杞﹁蛋琛岃嚦婧愬簱浣�
+ motionList.addAll(kernelService.shuttleMove(
+ MotionDto.build((dto -> {
+ dto.setShuttleNo(device.getId().intValue());
+ dto.setLocNo(shuttleLocNo);
+ })),
+ MotionDto.build((dto -> {
+ dto.setShuttleNo(device.getId().intValue());
+ dto.setLocNo(sourceLoc);
+ })),
+ MotionCtgType.SHUTTLE_MOVE
+ ));
+
+ //鎵樼洏椤跺崌
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.SHUTTLE.val());
+ motion.setDevice(String.valueOf(device.getId()));
+ motion.setMotionCtg(MotionCtgType.SHUTTLE_PALLET_LIFT.val());
+ }));
+
+ // 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅
+ motionList.addAll(kernelService.shuttleMove(
+ MotionDto.build((dto -> {
+ dto.setShuttleNo(device.getId().intValue());
+ dto.setLocNo(sourceLoc);
+ })),
+ MotionDto.build((dto -> {
+ dto.setShuttleNo(device.getId().intValue());
+ dto.setLocNo(targetLoc);
+ })),
+ MotionCtgType.SHUTTLE_MOVE
+ ));
+
+ //鎵樼洏涓嬮檷
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.SHUTTLE.val());
+ motion.setDevice(String.valueOf(device.getId()));
+ motion.setMotionCtg(MotionCtgType.SHUTTLE_PALLET_DOWN.val());
+ }));
+
+ }
}
return motionList;
--
Gitblit v1.9.1