From 5fd478fcee23bbdac0fe4fbe9becdd2a28d14c56 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 13 七月 2024 14:27:04 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java | 6
zy-asrs-flow/src/pages/device/shuttle/index.jsx | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java | 4
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 282 ++++++------------------------
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java | 10
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java | 4
zy-asrs-flow/src/pages/device/lift/index.jsx | 53 ++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java | 4
zy-asrs-wcs/src/main/resources/application.yml | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java | 31 +-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 132 +++++++-------
11 files changed, 202 insertions(+), 328 deletions(-)
diff --git a/zy-asrs-flow/src/pages/device/lift/index.jsx b/zy-asrs-flow/src/pages/device/lift/index.jsx
index 8d80fb7..d6e0405 100644
--- a/zy-asrs-flow/src/pages/device/lift/index.jsx
+++ b/zy-asrs-flow/src/pages/device/lift/index.jsx
@@ -13,8 +13,11 @@
const [ws, setWs] = useState(null);
const [openOpera, setOpenOpera] = useState(false);
const [currentData, setCurrentData] = useState(null);
- const [moveLocType, setMoveLocType] = useState(1);
const [mapLev, setMapLev] = useState([]);
+ const [targetLoc, setTargetLoc] = useState(1);
+ const [originLoc, setOriginLoc] = useState(null);
+ const [originSite, setOriginSite] = useState(null);
+ const [targetSite, setTargetSite] = useState(null);
useEffect(() => {
connect();
@@ -91,7 +94,6 @@
const showOpera = (data) => {
setOpenOpera(true);
- console.log(data);
setCurrentData(data);
};
@@ -123,8 +125,20 @@
}
}
- const targetLocChange = (e) => {
- setTargetLoc(e.target.value)
+ const targetLocChange = (value) => {
+ setTargetLoc(value)
+ }
+
+ const originLocChange = (e) => {
+ setOriginLoc(e.target.value)
+ }
+
+ const targetSiteChange = (e) => {
+ setTargetSite(e.target.value)
+ }
+
+ const originSiteChange = (e) => {
+ setOriginSite(e.target.value)
}
const liftOperator = async (type) => {
@@ -132,8 +146,10 @@
const resp = await Http.doPost('api/basLift/operator/lift', {
liftNo: currentData.liftNo,
liftTaskMode: type,
- sourceStaNo: 0,
- staNo: moveLocType
+ sourceStaNo: originSite,
+ staNo: targetSite,
+ sourceLev: originLoc,
+ targetLev: targetLoc,
});
if (resp.code === 200) {
message.success("璇锋眰鎴愬姛");
@@ -146,10 +162,6 @@
message.warning("璇锋眰澶辫触");
return false;
}
- }
-
- const moveLocTypeChange = (e) => {
- setMoveLocType(e)
}
let codeContent = (<PageContainer
@@ -247,12 +259,23 @@
<p>
<Select
defaultValue="1"
- onChange={moveLocTypeChange}
+ onChange={targetLocChange}
style={{ width: 120 }}
options={mapLev}
/>
- <span><Button onClick={() => liftOperator('move')}>绉诲姩</Button></span>
+ <span><Button onClick={() => liftOperator('move')}>鍗囬檷</Button></span>
</p>
+ <p>
+ <Input addonBefore="璧峰浣嶇疆" onChange={originSiteChange} />
+ </p>
+ <p>
+ <Input addonBefore="鐩爣浣嶇疆" onChange={targetSiteChange} />
+ </p>
+ <p>
+ </p>
+ <div className="commandItem">
+ <Button onClick={() => liftOperator('movePallet')}>鎵樼洏鍑哄叆</Button>
+ </div>
</Card>
</div>
@@ -261,6 +284,12 @@
<div className="commandItem">
<Button onClick={() => liftOperator('reset')}>澶嶄綅</Button>
</div>
+ <div className="commandItem">
+ <Button onClick={() => liftOperator('lock')}>閿佸畾</Button>
+ </div>
+ <div className="commandItem">
+ <Button onClick={() => liftOperator('unlock')}>瑙i攣</Button>
+ </div>
</Card>
</div>
</Drawer>
diff --git a/zy-asrs-flow/src/pages/device/shuttle/index.jsx b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
index b6c1609..fa2e8af 100644
--- a/zy-asrs-flow/src/pages/device/shuttle/index.jsx
+++ b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
@@ -325,8 +325,6 @@
</p>
<p>
</p>
- <p>
- </p>
<div className="commandItem">
<Button onClick={() => shuttleOperator('moveLoc')}>绉诲姩鍒扮洰鏍囦綅缃�</Button>
<Button onClick={() => shuttleOperator('takeMove')}>鍙栨斁璐т綔涓�</Button>
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
index 3aa33ba..bd6b714 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
@@ -122,10 +122,10 @@
//澶嶄綅
command.setComplete(true);
} else if (command.getMode() == LiftCommandModeType.LOCK.id) {
- //澶嶄綅
+ //閿佸畾
command.setComplete(true);
} else if (command.getMode() == LiftCommandModeType.UNLOCK.id) {
- //澶嶄綅
+ //瑙i攣
command.setComplete(true);
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
index bc1d3ff..a95f2dc 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
@@ -185,14 +185,14 @@
task.setTaskSts(TaskStsType.NEW_MANUAL.sts);
task.setTaskCtg(taskCtg.getId());
task.setPriority(10);
- task.setOriginSite(null);
- task.setOriginLoc(param.getSourceStaNo());
- task.setDestSite(param.getLiftTaskMode());
- task.setDestLoc(param.getStaNo());
+ task.setOriginSite(param.getSourceStaNo());
+ task.setOriginLoc(param.getSourceLev());
+ task.setDestSite(param.getStaNo());
+ task.setDestLoc(param.getTargetLev());
task.setIoTime(new Date());
task.setStartTime(new Date());
task.setStatus(1);
- task.setMemo("manual");
+ task.setMemo(param.getLiftTaskMode());
task.setLiftNo(liftNo);
boolean result = taskService.save(task);
if (!result) {
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 0433698..c588fe9 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
@@ -186,12 +186,12 @@
task.setPriority(10);
task.setOriginSite(null);
task.setOriginLoc(sourceLoc);
- task.setDestSite(targetSite);
+ task.setDestSite(null);
task.setDestLoc(targetLoc);
task.setIoTime(new Date());
task.setStartTime(new Date());
task.setStatus(1);
- task.setMemo("manual");
+ task.setMemo(targetSite);
task.setShuttleNo(param.getShuttleNo());
if (param.getShuttleTaskMode().equals("takeMove")) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
index 9a3d13a..b39dad9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
@@ -113,39 +113,39 @@
destSite = String.valueOf(path.getDeviceStn());
}
- //鍒ゆ柇鍑哄叆搴撴ā寮�
- BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
- .eq(BasConveyorSta::getSiteNo, destSite));
- if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) {
- //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱
- //鑾峰彇鍑哄簱浠诲姟绫诲瀷
- TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
- .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT))
- .eq(TaskCtg::getStatus, 1));
- if (taskInCtg == null) {
- return R.error("浠诲姟绫诲瀷寮傚父");
- }
- List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
- .eq(Task::getTaskCtg, taskInCtg.getId()));
- if (!tasks.isEmpty()) {
- return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�");
- }
-
- BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
- if(basConveyor == null) {
- return R.error("杈撻�佺嚎涓嶅瓨鍦�");
- }
-
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
- if(devpThread == null) {
- return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
- }
-
- boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id);
- if (!result) {
- return R.error("妯″紡鍒囨崲澶辫触");
- }
- }
+// //鍒ゆ柇鍑哄叆搴撴ā寮�
+// BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
+// .eq(BasConveyorSta::getSiteNo, destSite));
+// if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) {
+// //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱
+// //鑾峰彇鍑哄簱浠诲姟绫诲瀷
+// TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
+// .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT))
+// .eq(TaskCtg::getStatus, 1));
+// if (taskInCtg == null) {
+// return R.error("浠诲姟绫诲瀷寮傚父");
+// }
+// List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+// .eq(Task::getTaskCtg, taskInCtg.getId()));
+// if (!tasks.isEmpty()) {
+// return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�");
+// }
+//
+// BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
+// if(basConveyor == null) {
+// return R.error("杈撻�佺嚎涓嶅瓨鍦�");
+// }
+//
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
+// if(devpThread == null) {
+// return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
+// }
+//
+// boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id);
+// if (!result) {
+// return R.error("妯″紡鍒囨崲澶辫触");
+// }
+// }
//浼樺厛绾�
Integer priority = 10;
@@ -249,39 +249,39 @@
originSite = String.valueOf(originStaDto.getStaNo());
}
- //鍒ゆ柇鍑哄叆搴撴ā寮�
- BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
- .eq(BasConveyorSta::getSiteNo, originSite));
- if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) {
- //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱
- //鑾峰彇鍏ュ簱浠诲姟绫诲瀷
- TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
- .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN))
- .eq(TaskCtg::getStatus, 1));
- if (taskInCtg == null) {
- return R.error("浠诲姟绫诲瀷寮傚父");
- }
- List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
- .eq(Task::getTaskCtg, taskInCtg.getId()));
- if (!tasks.isEmpty()) {
- return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�");
- }
-
- BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
- if(basConveyor == null) {
- return R.error("杈撻�佺嚎涓嶅瓨鍦�");
- }
-
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
- if(devpThread == null) {
- return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
- }
-
- boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id);
- if (!result) {
- return R.error("妯″紡鍒囨崲澶辫触");
- }
- }
+// //鍒ゆ柇鍑哄叆搴撴ā寮�
+// BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
+// .eq(BasConveyorSta::getSiteNo, originSite));
+// if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) {
+// //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱
+// //鑾峰彇鍏ュ簱浠诲姟绫诲瀷
+// TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
+// .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN))
+// .eq(TaskCtg::getStatus, 1));
+// if (taskInCtg == null) {
+// return R.error("浠诲姟绫诲瀷寮傚父");
+// }
+// List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+// .eq(Task::getTaskCtg, taskInCtg.getId()));
+// if (!tasks.isEmpty()) {
+// return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�");
+// }
+//
+// BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
+// if(basConveyor == null) {
+// return R.error("杈撻�佺嚎涓嶅瓨鍦�");
+// }
+//
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
+// if(devpThread == null) {
+// return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
+// }
+//
+// boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id);
+// if (!result) {
+// return R.error("妯″紡鍒囨崲澶辫触");
+// }
+// }
//浼樺厛绾�
Integer priority = 10;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
index b2b3dcf..d24e236 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
@@ -17,4 +17,10 @@
//鐩爣绔�
private String staNo;
+ //婧愬眰
+ private String sourceLev;
+
+ //鐩爣灞�
+ private String targetLev;
+
}
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 46b9d35..b433be8 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
@@ -67,12 +67,6 @@
/**
* 鍏ュ簱
- * 涓�銆佸叆搴撶洰鏍囧眰鏈夌┛姊溅
- * 1.鎻愬崌鏈哄崌闄嶅埌婧愬眰
- * 2.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満
- * 3.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
- * 4.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈�
- * 5.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅
*/
if (task.getTaskSts() == TaskStsType.NEW_INBOUND.sts) {
// locNo
@@ -151,13 +145,13 @@
motionList.addAll(kernelService.liftMoveGoods(
MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+ dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+ dto.setStaNo(31004);//鍏ュ簱绔欑偣
}))
, MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
dto.setLev(Utils.getLev(task.getDestLoc()));
- dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+ dto.setStaNo(Integer.parseInt(task.getDestSite()));
dto.setSync(0);//寮傛鎵ц
}))
));
@@ -175,28 +169,6 @@
MotionCtgType.SHUTTLE_MOVE
));
- // 閿佸畾鎻愬崌鏈�
- motionList.addAll(kernelService.liftLock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- }))
- ));
-
- // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoTo);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoTo);
- })),
- MotionCtgType.SHUTTLE_MOVE_TO_LIFT
- ));
-
// 绌挎杞﹀叆搴撻《鍗�
motionList.addAll(kernelService.shuttleAction(
null,
@@ -204,29 +176,6 @@
dto.setShuttleNo(shuttleDevice.getId().intValue());
})),
MotionCtgType.SHUTTLE_PALLET_LIFT
- ));
-
- // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoFrom);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoFrom);
- })),
- MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
- ));
-
- // 瑙i攣鎻愬崌鏈�
- motionList.addAll(kernelService.liftUnlock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
- }))
));
// 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅
@@ -254,14 +203,22 @@
/**
* 浜屻�佸叆搴撶洰鏍囧眰娌℃湁绌挎杞�
- * 1.鎻愬崌鏈哄崌闄嶅埌绌挎杞﹀眰
- * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅
- * 3.鎻愬崌鏈烘惉杩愮┛姊溅鑷崇洰鏍囧眰
- * 4.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満
- * 5.鎻愬崌鏈鸿浇杞︿笌璐хЩ鍔紙闈炲繀闇�锛�
- * 6.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅
*/
} else {
+
+ // 鎻愬崌鏈鸿浇璐хЩ鍔�
+ motionList.addAll(kernelService.liftMoveGoods(
+ MotionDto.build((dto -> {
+ dto.setLiftNo(transferLiftDevice.getId().intValue());
+ dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+ dto.setStaNo(31004);//鍏ュ簱绔欑偣
+ }))
+ , MotionDto.build((dto -> {
+ dto.setLiftNo(transferLiftDevice.getId().intValue());
+ dto.setLev(Utils.getLev(task.getDestLoc()));
+ dto.setStaNo(Integer.parseInt(task.getDestSite()));
+ }))
+ ));
// 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅
motionList.addAll(kernelService.shuttleMove(
@@ -316,17 +273,15 @@
}))
));
- // 鎻愬崌鏈鸿浇璐хЩ鍔�
- motionList.addAll(kernelService.liftMoveGoods(
+ // 鎻愬崌鏈烘惉杞� 鑷� 鐩爣浣嶇疆灞�
+ motionList.addAll(kernelService.liftMoveShuttle(
MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
- }))
- , MotionDto.build((dto -> {
+ dto.setLev(Utils.getLev(shuttleLocNo));
+ })),
+ MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(Utils.getLev(task.getDestLoc()));
- dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+ dto.setLev(Utils.getLev(destLoc));
}))
));
@@ -338,15 +293,6 @@
}))
));
- // 绌挎杞﹀叆搴撻《鍗�
- motionList.addAll(kernelService.shuttleAction(
- null,
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- })),
- MotionCtgType.SHUTTLE_PALLET_LIFT
- ));
-
// 鏇存柊灏忚溅鍧愭爣
motionList.addAll(kernelService.shuttleUpdateLocation(
null
@@ -356,7 +302,7 @@
}))
));
- // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
+ // 绌挎杞︾Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
motionList.addAll(kernelService.shuttleMove(
MotionDto.build((dto -> {
dto.setShuttleNo(shuttleDevice.getId().intValue());
@@ -377,6 +323,15 @@
dto.setLiftNo(transferLiftDevice.getId().intValue());
dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
}))
+ ));
+
+ // 绌挎杞﹀叆搴撻《鍗�
+ motionList.addAll(kernelService.shuttleAction(
+ null,
+ MotionDto.build((dto -> {
+ dto.setShuttleNo(shuttleDevice.getId().intValue());
+ })),
+ MotionCtgType.SHUTTLE_PALLET_LIFT
));
// 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅
@@ -500,13 +455,6 @@
/**
* 鍑哄簱
- * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅
- * 1.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅
- * 2.鎻愬崌鏈哄埌鍑哄簱璧峰灞�
- * 3.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈�
- * 4.绌挎杞︾寮�鎻愬崌鏈�
- * 5.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
- * 6.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
*/
if (Utils.getLev(shuttleLocNo) == Utils.getLev(originLoc)) {
@@ -549,37 +497,6 @@
MotionCtgType.SHUTTLE_MOVE
));
- // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰
- motionList.addAll(kernelService.liftMove(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(Utils.getLev(shuttleLocNo));
- }))
- ));
-
- // 閿佸畾鎻愬崌鏈�
- motionList.addAll(kernelService.liftLock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- }))
- ));
-
- // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoTo);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoTo);
- })),
- MotionCtgType.SHUTTLE_MOVE_TO_LIFT
- ));
-
// 绌挎杞﹀嚭搴撴墭鐩樹笅闄�
motionList.addAll(kernelService.shuttleAction(
null,
@@ -589,39 +506,17 @@
MotionCtgType.SHUTTLE_PALLET_DOWN
));
- // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣�
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoFrom);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoFrom);
- })),
- MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
- ));
-
- // 瑙i攣鎻愬崌鏈�
- motionList.addAll(kernelService.liftUnlock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- }))
- ));
-
// 鎻愬崌鏈鸿浇璐хЩ鍔�
motionList.addAll(kernelService.liftMoveGoods(
MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
dto.setLev(Utils.getLev(task.getOriginLoc()));
- dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+ dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
}))
, MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+ dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+ dto.setStaNo(31004);//鍑哄簱绔欑偣
dto.setSync(0);//寮傛鎵ц
dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
}))
@@ -655,16 +550,6 @@
/**
* 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞�
- *
- * 1.鎻愬崌鏈哄埌绌挎杞﹀眰
- * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈�
- * 3.鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞�
- * 4.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅
- * 5.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈�
- * 6.绌挎杞︾寮�鎻愬崌鏈�
- * 7.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
- * 8.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
- *
*/
} else {
@@ -810,37 +695,6 @@
MotionCtgType.SHUTTLE_MOVE
));
- // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌鐩爣灞�
- motionList.addAll(kernelService.liftMove(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(Utils.getLev(originLoc));
- }))
- ));
-
- // 閿佸畾鎻愬崌鏈�
- motionList.addAll(kernelService.liftLock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- }))
- ));
-
- // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoFrom);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoFrom);
- })),
- MotionCtgType.SHUTTLE_MOVE_TO_LIFT
- ));
-
// 绌挎杞﹀嚭搴撴墭鐩樹笅闄�
motionList.addAll(kernelService.shuttleAction(
null,
@@ -850,40 +704,19 @@
MotionCtgType.SHUTTLE_PALLET_DOWN
));
- // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣�
- motionList.addAll(kernelService.shuttleMove(
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLocNo(liftLocNoFrom);
- })),
- MotionDto.build((dto -> {
- dto.setShuttleNo(shuttleDevice.getId().intValue());
- dto.setLocNo(standbyLocNoFrom);
- })),
- MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
- ));
-
- // 瑙i攣鎻愬崌鏈�
- motionList.addAll(kernelService.liftUnlock(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- }))
- ));
-
// 鎻愬崌鏈鸿浇璐хЩ鍔�
motionList.addAll(kernelService.liftMoveGoods(
MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
dto.setLev(Utils.getLev(task.getOriginLoc()));
- dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+ dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
}))
, MotionDto.build((dto -> {
dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+ dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+ dto.setStaNo(31004);//鍑哄簱绔欑偣
dto.setSync(0);//寮傛鎵ц
+ dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
}))
));
@@ -1324,14 +1157,6 @@
MotionCtgType.SHUTTLE_MOVE_TO_LIFT
));
- // 鍚戞彁鍗囨満鍙戦�佸皬杞﹀凡鍒颁綅淇″彿
- motionList.addAll(kernelService.liftShuttleArrival(
- null
- , MotionDto.build((dto -> {
- dto.setLiftNo(liftDevice.getId().intValue());
- }))
- ));
-
// 瑙i攣鎻愬崌鏈�
motionList.addAll(kernelService.liftUnlock(
null
@@ -1420,7 +1245,7 @@
String sourceLoc = task.getOriginLoc();//婧愬簱浣�
String targetLoc = task.getDestLoc();//浠诲姟鐩爣(鍊熺敤瀛楁)
- String targetSite = task.getDestSite();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
+ String targetSite = task.getMemo();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
Device device = deviceService.getOne(new LambdaQueryWrapper<Device>()
.eq(Device::getDeviceNo, task.getShuttleNo())
@@ -1564,7 +1389,8 @@
return motionList;
}
- if (task.getDestSite().equals("move")) {
+ String destSite = task.getMemo();//浠诲姟鐩爣(鍊熺敤瀛楁)
+ if (destSite.equals("move")) {
//鎻愬崌鏈哄崌闄嶆ゼ灞�
// 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰
@@ -1576,23 +1402,39 @@
}))
));
- } else if (task.getDestSite().equals("movePallet")) {
+ } else if (destSite.equals("movePallet")) {
//绉诲姩鎵樼洏
// 鎻愬崌鏈虹Щ鍔ㄦ墭鐩�
motionList.addAll(kernelService.liftMoveGoods(
MotionDto.build((dto -> {
dto.setLiftNo(device.getId().intValue());
- dto.setLev(Integer.parseInt(task.getOriginLoc()));
+ dto.setLev(0);
dto.setStaNo(Integer.parseInt(task.getOriginSite()));
}))
, MotionDto.build((dto -> {
dto.setLiftNo(device.getId().intValue());
- dto.setLev(Integer.parseInt(task.getDestLoc()));
+ dto.setLev(0);
dto.setStaNo(Integer.parseInt(task.getDestSite()));
}))
));
+ } else if (destSite.equals("lock")) {
+ // 閿佸畾鎻愬崌鏈�
+ motionList.addAll(kernelService.liftLock(
+ null
+ , MotionDto.build((dto -> {
+ dto.setLiftNo(device.getId().intValue());
+ }))
+ ));
+ } else if (destSite.equals("unlock")) {
+ // 瑙i攣鎻愬崌鏈�
+ motionList.addAll(kernelService.liftUnlock(
+ null
+ , MotionDto.build((dto -> {
+ dto.setLiftNo(device.getId().intValue());
+ }))
+ ));
}
return motionList;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
index 1d8f4ab..bba1dd3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
@@ -65,7 +65,7 @@
this.device = device;
this.redisUtil = redisUtil;
- workModeTypes.put(101, new WorkModeTypeDto(101, WorkModeType.NONE, "DB1001.120"));
+// workModeTypes.put(101, new WorkModeTypeDto(101, WorkModeType.NONE, "DB1001.120"));
}
private ArrayList<BasConveyorSta> getStaNo() {
@@ -139,7 +139,7 @@
}
}
- OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.160", (short) 8);
+ OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.166", (short) 8);
if (resultBarcode.IsSuccess) {
//鏉$爜鏁版嵁
String barcode = siemensS7Net.getByteTransform().TransString(resultBarcode.Content,0,8, "UTF-8");// 鏉$爜
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
index c5b257e..4217f10 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
@@ -114,8 +114,8 @@
liftProtocol.setHasCar(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6) == 1);
//褰撳墠妤煎眰
liftProtocol.setLev((int) siemensS7Net.getByteTransform().TransInt16(result1.Content, 8));
- //宸ヤ綔鍙�
- liftProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result1.Content, 12));
+// //宸ヤ綔鍙�
+// liftProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result1.Content, 12));
//璁惧鏁呴殰
liftProtocol.setError(siemensS7Net.getByteTransform().TransInt16(result1.Content, 16) == 1);
//鏁呴殰鐮�
@@ -212,22 +212,23 @@
return false;
}
- List<Short> shorts = JSON.parseArray(command.getBody(), Short.class);
- short[] array = new short[shorts.size()];//鑾峰彇鍛戒护鎶ユ枃
- for (int i = 0; i < shorts.size(); i++) {
- array[i] = shorts.get(i);
+ List<Integer> list = JSON.parseArray(command.getBody(), Integer.class);
+ int[] array = new int[list.size()];//鑾峰彇鍛戒护鎶ユ枃
+ for (int i = 0; i < list.size(); i++) {
+ array[i] = list.get(i);
}
OperateResult result = null;
if (command.getMode() == LiftCommandModeType.MOVE.id) {
//绉诲姩
- result = siemensS7Net.Write("DB101.2", array);
+ result = siemensS7Net.Write("DB101.2", (short) array[0]);
+ result = siemensS7Net.Write("DB101.4", (int) array[1]);
} else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) {
//鎵樼洏鍑哄叆
result = siemensS7Net.Write("DB101.8", array);
} else if (command.getMode() == LiftCommandModeType.LOCK.id || command.getMode() == LiftCommandModeType.UNLOCK.id) {
//鎻愬崌鏈洪攣瀹�/瑙i攣
- result = siemensS7Net.Write("DB101.0", array);
+ result = siemensS7Net.Write("DB101.0", (short) array[0]);
}
if (result != null && result.IsSuccess) {
@@ -244,12 +245,12 @@
@Override
public boolean lock(LiftCommand command) {
- return true;
+ return write(command);
}
@Override
public boolean unlock(LiftCommand command) {
- return true;
+ return write(command);
}
@Override
@@ -319,10 +320,8 @@
@Override
public boolean isLock(ExecuteSupport support) {
- if (support != null) {
- return support.judgement();
- }
- return true;
+ InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
+ return extend.getLock();
}
@Override
@@ -353,7 +352,7 @@
@Override
public List<LiftCommand> getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
// 寮�濮嬩换鍔�
- short[] array = new short[2];
+ short[] array = new short[3];
array[0] = originSta.shortValue();//璧峰绔�
array[1] = targetSta.shortValue();//鐩爣绔�
array[2] = taskNo.shortValue();//宸ヤ綔鍙�
@@ -381,7 +380,7 @@
command.setLiftNo(Integer.valueOf(this.device.getDeviceNo()));
command.setTaskNo(taskNo);
command.setBody(JSON.toJSONString(array));
- command.setMode(LiftCommandModeType.PALLET_INOUT.id);
+ command.setMode(lock ? LiftCommandModeType.LOCK.id : LiftCommandModeType.UNLOCK.id);
ArrayList<LiftCommand> list = new ArrayList<>();
list.add(command);
diff --git a/zy-asrs-wcs/src/main/resources/application.yml b/zy-asrs-wcs/src/main/resources/application.yml
index 9155a1d..82165b3 100644
--- a/zy-asrs-wcs/src/main/resources/application.yml
+++ b/zy-asrs-wcs/src/main/resources/application.yml
@@ -18,7 +18,7 @@
# url: jdbc:mysql://47.97.1.152:3306/asrs?useUnicode=trKue&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
# username: root
# password: zy@123
- url: jdbc:mysql://127.0.0.1:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://127.0.0.1:3306/jxgtasrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: root
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
--
Gitblit v1.9.1