From 3bb8c58c42badd5768cacfda3c9a5ccce9136e4e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 09 四月 2024 15:24:12 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java | 20 ++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java | 6 +-
zy-asrs-flow/src/pages/device/shuttle/index.jsx | 64 +++++++++++++++++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java | 24 +++----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 9 ++
5 files changed, 99 insertions(+), 24 deletions(-)
diff --git a/zy-asrs-flow/src/pages/device/shuttle/index.jsx b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
index c370945..be86591 100644
--- a/zy-asrs-flow/src/pages/device/shuttle/index.jsx
+++ b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
@@ -13,6 +13,11 @@
const [openOpera, setOpenOpera] = useState(false);
const [currentData, setCurrentData] = useState(null);
const [targetLoc, setTargetLoc] = useState("");
+ const [xStart, setXStart] = useState(1);
+ const [xTarget, setXTarget] = useState(1);
+ const [yStart, setYStart] = useState(1);
+ const [yTarget, setYTarget] = useState(1);
+ const [moveLocType, setMoveLocType] = useState(1);
useEffect(() => {
var newWs = new WebSocket("ws://127.0.0.1:9090/wcs/ws/shuttle/websocket");
@@ -112,6 +117,54 @@
message.warning("璇锋眰澶辫触");
return false;
}
+ }
+
+ const shuttleMoveLoc = async () => {
+ if (xStart == '' || xTarget == '' || yStart == '' || yTarget == '') {
+ message.warning('璇疯緭鍏ュ弬鏁�');
+ return;
+ }
+
+ try {
+ const resp = await Http.doPost('api/basShuttle/moveLoc', {
+ shuttleNo: currentData.shuttleNo,
+ moveType: moveLocType,
+ startX: xStart,
+ targetX: xTarget,
+ startY: yStart,
+ targetY: yTarget,
+ });
+ if (resp.code === 200) {
+ message.success("璇锋眰鎴愬姛");
+ return true;
+ } else {
+ message.warning(resp.msg);
+ return false;
+ }
+ } catch (error) {
+ message.warning("璇锋眰澶辫触");
+ return false;
+ }
+ }
+
+ const xStartChange = (e) => {
+ setXStart(e.target.value)
+ }
+
+ const xTargetChange = (e) => {
+ setXTarget(e.target.value)
+ }
+
+ const yStartChange = (e) => {
+ setYStart(e.target.value)
+ }
+
+ const yTargetChange = (e) => {
+ setYTarget(e.target.value)
+ }
+
+ const moveLocTypeChange = (e) => {
+ setMoveLocType(e)
}
let codeContent = (<PageContainer
@@ -230,18 +283,19 @@
<div style={{ marginBottom: '15px' }}>
<Card title="璺戝簱绯荤粺" style={{ width: 300 }}>
<div className="commandItem">
- <div><Input addonBefore="X璧风偣" defaultValue="1" /></div>
- <div><Input addonBefore="X缁堢偣" defaultValue="1" /></div>
- <div><Input addonBefore="Y璧风偣" defaultValue="1" /></div>
- <div><Input addonBefore="Y缁堢偣" defaultValue="1" /></div>
+ <div><Input addonBefore="X璧风偣" defaultValue="1" onChange={xStartChange} /></div>
+ <div><Input addonBefore="X缁堢偣" defaultValue="1" onChange={xTargetChange} /></div>
+ <div><Input addonBefore="Y璧风偣" defaultValue="1" onChange={yStartChange} /></div>
+ <div><Input addonBefore="Y缁堢偣" defaultValue="1" onChange={yTargetChange} /></div>
<div>
<Select
defaultValue="0"
+ onChange={moveLocTypeChange}
style={{ width: 120 }}
options={[{ value: '0', label: '璺戣建閬�' }, { value: '1', label: '璺戝簱浣�' }, { value: '2', label: '姣嶈建閬撳惊鐜窇' }, { value: '3', label: '瀛愯建閬撳惊鐜窇' }]}
/>
</div>
- <Button>璺戝簱</Button>
+ <Button onClick={() => shuttleMoveLoc()}>璺戝簱</Button>
</div>
</Card>
</div>
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index 6f55847..515b53e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -217,8 +217,13 @@
return;
}
- //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭
- if (!(shuttleThread.isIdle() && shuttleProtocol.getMoveLoc())) {
+ //灏忚溅寮�鍚窇搴撴ā寮�
+ if (!shuttleProtocol.getMoveLoc()) {
+ return;
+ }
+
+ //灏忚溅绌洪棽
+ if (!shuttleThread.isIdle()) {
return;
}
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 cfca0db..905f5ec 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
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.BaseParam;
import com.zy.asrs.wcs.common.domain.KeyValVo;
import com.zy.asrs.wcs.common.domain.PageParam;
+import com.zy.asrs.wcs.core.domain.param.ShuttleMoveLocParam;
import com.zy.asrs.wcs.core.domain.param.ShuttleOperatorParam;
import com.zy.asrs.wcs.core.entity.BasShuttle;
import com.zy.asrs.wcs.core.entity.Motion;
@@ -200,12 +201,7 @@
@PreAuthorize("hasAuthority('core:basShuttle:operator')")
@PostMapping("/basShuttle/moveLoc")
@Transactional
- public synchronized R shuttleMoveLoc(@RequestParam Integer shuttleNo,
- @RequestParam Integer moveType,
- @RequestParam Integer xStart,
- @RequestParam Integer xTarget,
- @RequestParam Integer yStart,
- @RequestParam Integer yTarget) {
+ public synchronized R shuttleMoveLoc(@RequestBody ShuttleMoveLocParam param) {
DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>()
.eq(DeviceType::getFlag, String.valueOf(SlaveType.Shuttle))
.eq(DeviceType::getStatus, 1)
@@ -218,7 +214,7 @@
.eq(Device::getDeviceType, deviceType.getId())
.eq(Device::getStatus, 1)
.eq(Device::getHostId, getHostId())
- .eq(Device::getDeviceNo, shuttleNo));
+ .eq(Device::getDeviceNo, param.getShuttleNo()));
if (device == null) {
return R.error();
}
@@ -238,13 +234,13 @@
}
shuttleProtocol.setMoveLoc(true);//寮�鍚窇搴�
- shuttleProtocol.setMoveType(moveType);
- shuttleProtocol.setXStart(xStart);
- shuttleProtocol.setXTarget(xTarget);
- shuttleProtocol.setXCurrent(xStart);
- shuttleProtocol.setYStart(yStart);
- shuttleProtocol.setYTarget(yTarget);
- shuttleProtocol.setYCurrent(yStart);
+ shuttleProtocol.setMoveType(param.getMoveType());
+ shuttleProtocol.setXStart(param.getStartX());
+ shuttleProtocol.setXTarget(param.getTargetX());
+ shuttleProtocol.setXCurrent(param.getStartX());
+ shuttleProtocol.setYStart(param.getStartY());
+ shuttleProtocol.setYTarget(param.getTargetY());
+ shuttleProtocol.setYCurrent(param.getStartY());
return R.ok();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java
new file mode 100644
index 0000000..0da8cf2
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/ShuttleMoveLocParam.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.wcs.core.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ShuttleMoveLocParam {
+
+ private Integer shuttleNo;
+
+ private Integer moveType;
+
+ private Integer startX;
+
+ private Integer targetX;
+
+ private Integer startY;
+
+ private Integer targetY;
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java
index c127569..f464165 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/DeviceTimer.java
@@ -48,6 +48,9 @@
.eq(Device::getStatus, 1)
.eq(Device::getDeviceType, deviceType.getId()));
for (Device device : list) {
+ //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭
+ shuttleAction.moveLoc(device);
+
Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + device.getDeviceNo());
if (object == null) {
continue;
@@ -58,9 +61,6 @@
//瀛樺湪浠诲姟闇�瑕佹墽琛�
boolean result = shuttleAction.executeWork(device, taskNo);
}
-
- //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭
- shuttleAction.moveLoc(device);
}
}
--
Gitblit v1.9.1