From 6d6a1b26fcdad0ae743a6e99c8f321969bd2345f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 12 五月 2025 16:26:16 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
---
rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java | 77 +++++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java | 18 ++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java | 9 +++
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java | 45 +++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java | 4 +
6 files changed, 154 insertions(+), 1 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx b/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
index 172f17c..6509b57 100644
--- a/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
@@ -140,7 +140,7 @@
label="table.field.basStation.outAble"
render={record => record.inAble === 1 ? '鏄�' : '鍚�'}
/>
- <TextField source="useStatus" label="table.field.basStation.useStatus" />
+ <TextField source="useStatus$" label="table.field.basStation.useStatus" />
<NumberField source="area$" label="table.field.basStation.area" />
<FunctionField
source="isCrossZone"
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java
new file mode 100644
index 0000000..f436604
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java
@@ -0,0 +1,45 @@
+package com.vincent.rsf.server.api.controller.pda;
+
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.api.service.AgvService;
+import com.vincent.rsf.server.system.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+import java.util.Objects;
+
+@Api(tags = "PDA鎿嶄綔鎺ュ彛")
+@RequestMapping("/pda")
+@RestController
+public class AgvController extends BaseController {
+
+ @Autowired
+ private AgvService agvService;
+
+ @PreAuthorize("hasAuthority('manager:basStation:list')")
+ @ApiOperation("鑾峰彇鎷栫洏鏄庣粏")
+ @PostMapping("/AGV/staBind")
+ public R getAGVStaBind(@RequestBody Map<String, Object> params) {
+ if (Objects.isNull(params)) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return agvService.getAGVStaBind(params);
+ }
+
+ @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
+ @ApiOperation("鑾峰彇鎷栫洏鏄庣粏")
+ @PostMapping("/AGV/staUnBind")
+ public R getAGVStaUnBind(@RequestBody Map<String, Object> params) {
+ if (Objects.isNull(params)) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return agvService.getAGVStaBind(params);
+ }
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java
new file mode 100644
index 0000000..5f12328
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java
@@ -0,0 +1,9 @@
+package com.vincent.rsf.server.api.service;
+
+import com.vincent.rsf.framework.common.R;
+
+import java.util.Map;
+
+public interface AgvService {
+ R getAGVStaBind(Map<String, Object> params);
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
new file mode 100644
index 0000000..3e87aed
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
@@ -0,0 +1,77 @@
+package com.vincent.rsf.server.api.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.framework.common.Cools;
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.service.AgvService;
+import com.vincent.rsf.server.manager.entity.BasStation;
+import com.vincent.rsf.server.manager.entity.WaitPakin;
+import com.vincent.rsf.server.manager.enums.PakinIOStatus;
+import com.vincent.rsf.server.manager.enums.StaUseStatusType;
+import com.vincent.rsf.server.manager.service.BasStationService;
+import com.vincent.rsf.server.manager.service.WaitPakinService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AgvServiceImpl implements AgvService {
+
+ @Autowired
+ private WaitPakinService waitPakinService;
+ @Autowired
+ private BasStationService basStationService;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R getAGVStaBind(Map<String, Object> params) {
+ String barcode = params.get("barcode").toString();
+ String sta = params.get("sta").toString();
+ //楠岃瘉鍩虹淇℃伅
+ BasStation basStation = checkStaStatus(barcode, sta);
+ //鏇存柊绔欑偣鐘舵��
+ basStation.setUseStatus(StaUseStatusType.TYPE_F.type);
+ basStation.setBarcode(barcode);
+ if (!basStationService.updateById(basStation)){
+ throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐�");
+ }
+ return R.ok("缁戝畾鎴愬姛");
+ }
+
+ private BasStation checkStaStatus(String barcode, String sta){
+ if (Cools.isEmpty(barcode)){
+ throw new CoolException("瀹瑰櫒鐮佷笉鑳戒负绌�");
+ }
+ if (Cools.isEmpty(sta)){
+ throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�");
+ }
+ WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
+ .eq(WaitPakin::getBarcode, barcode)
+ .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val)
+ );
+ if (Cools.isEmpty(waitPakin)){
+ throw new CoolException("瀹瑰櫒鐮佹湭鎵惧埌缁勬墭淇℃伅,璇锋鏌ョ粍鎵樼姸鎬�");
+ }
+ BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getBarcode, barcode)
+ ,false
+ );
+ if (!Cools.isEmpty(isBarcodeSta)){
+ throw new CoolException("璇ユ潯鐮佸凡琚�"+isBarcodeSta.getStationName()+"绔欑粦瀹�");
+ }
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getStationName, sta)
+ );
+ if (Cools.isEmpty(basStation)){
+ throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�");
+ }
+ if (!basStation.getUseStatus().equals("O")){
+ throw new CoolException("绔欑偣鐘舵�佷笉涓虹┖闂�");
+ }
+ return basStation;
+ }
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
index 6bea7f0..7a5e03e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
@@ -80,6 +80,10 @@
basStation.setCreateTime(new Date());
basStation.setUpdateBy(getLoginUserId());
basStation.setUpdateTime(new Date());
+ BasStation serviceOne = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, basStation.getStationName()));
+ if (!Cools.isEmpty(serviceOne)) {
+ return R.error(basStation.getStationName()+"绔欏凡琚垵濮嬪寲");
+ }
if (!basStationService.save(basStation)) {
return R.error("淇濆瓨澶辫触");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java
new file mode 100644
index 0000000..4a14128
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java
@@ -0,0 +1,18 @@
+package com.vincent.rsf.server.manager.enums;
+
+public enum StaUseStatusType {
+ //璁㈠崟绫诲瀷
+ TYPE_O("O", "绌洪棽"),
+ TYPE_F("F", "鍗犵敤"),
+ TYPE_X("X", "绂佺敤"),
+
+ ;
+
+ StaUseStatusType(String type, String desc) {
+ this.type = type;
+ this.desc = desc;
+ }
+
+ public String type;
+ public String desc;
+}
--
Gitblit v1.9.1