From 225018d0b2e66c2066c83dfbc0d6701593ddac9a Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 05 三月 2026 10:02:39 +0800
Subject: [PATCH] #备货
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java | 71 ++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 35 deletions(-)
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
index 4f38bed..c29ee3d 100644
--- 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
@@ -83,15 +83,15 @@
if (Cools.isEmpty(basStation)) {
throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
}
- List<Long> ids = new ArrayList<>();
- ids.add(basStation.getArea());
- if (basStation.getIsCrossZone() == 1) {
- String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
- String[] parts = content.split(",");
- for (int i = 0; i < parts.length; i++) {
- ids.add(Long.parseLong(parts[i].trim()));
- }
- }
+ List<Long> ids = basStation.getCrossZoneArea();
+// ids.add(basStation.getArea());
+// if (basStation.getIsCrossZone() == 1) {
+// String content = basStation.getCrossZoneArea().substring(1,.length() - 1);
+// String[] parts = content.split(",");
+// for (int i = 0; i < parts.length; i++) {
+// ids.add(Long.parseLong(parts[i].trim()));
+// }
+// }
List<WarehouseAreas> warehouseAreasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>()
.in(WarehouseAreas::getId, ids)
);
@@ -110,17 +110,26 @@
String sta = waitPakinPda.getStaNo();
String area = waitPakinPda.getArea();
if (Cools.isEmpty(sta)) {
- throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�");
+ throw new CoolException("璧风偣涓嶈兘涓虹┖");
}
if (Cools.isEmpty(area)) {
throw new CoolException("鐩爣搴撳尯涓嶈兘涓虹┖");
}
+
+ DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
+ .eq(DeviceSite::getSite, sta)
+ .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
+ .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
+ if (Cools.isEmpty(deviceSite)) {
+ throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");
+ }
+
BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
.eq(BasStation::getStationName, sta)
.eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type)
);
if (Cools.isEmpty(basStation)) {
- throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
+ throw new CoolException("鏈壘鍒拌捣鐐圭珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
}
if (Cools.isEmpty(basStation.getBarcode())) {
throw new CoolException("鏁版嵁閿欒锛屾帴椹崇珯鏃犳潯鐮佷俊鎭�");
@@ -134,15 +143,7 @@
}
String targetLoc = LocManageUtil.getTargetLoc(Long.parseLong(area));
- DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getSite, sta)
- .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
- .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
- if (Cools.isEmpty(deviceSite)) {
- throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");
- }
-
- taskService.generateAGVTasks(waitPakin, targetLoc, sta, deviceSite.getTarget(),loginUserId);
+ taskService.generateAGVTasks(waitPakin, targetLoc, sta, deviceSite.getDeviceCode(),loginUserId);
basStation.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
if (!basStationService.updateById(basStation)) {
@@ -212,15 +213,15 @@
if (Cools.isEmpty(waitPakinItems)) {
throw new CoolException("鏁版嵁閿欒锛屾湭鎵惧埌缁勬墭鏄庣粏");
}
- List<Long> ids = new ArrayList<>();
- ids.add(basStation.getArea());
- if (basStation.getIsCrossZone() == 1) {
- String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
- String[] parts = content.split(",");
- for (int i = 0; i < parts.length; i++) {
- ids.add(Long.parseLong(parts[i].trim()));
- }
- }
+ List<Long> ids = basStation.getCrossZoneArea();
+// ids.add(basStation.getArea());
+// if (basStation.getIsCrossZone() == 1) {
+// String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
+// String[] parts = content.split(",");
+// for (int i = 0; i < parts.length; i++) {
+// ids.add(Long.parseLong(parts[i].trim()));
+// }
+// }
List<WarehouseAreas> warehouseAreasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>()
.in(WarehouseAreas::getId, ids)
);
@@ -261,7 +262,7 @@
BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
.eq(BasStation::getBarcode, barcode)
- , false
+ .last("limit 1")
);
if (!Cools.isEmpty(isBarcodeSta)) {
throw new CoolException("璇ユ潯鐮佸凡琚�" + isBarcodeSta.getStationName() + "绔欑粦瀹�");
@@ -273,7 +274,7 @@
throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�");
}
if (!Cools.isEmpty(basStation.getContainerType())) {
- List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+ List<Long> longs1 = basStation.getCrossZoneArea();
List<BasContainer> containers = basContainerService.list(
new LambdaQueryWrapper<BasContainer>()
.in(BasContainer::getContainerType, longs1)
@@ -329,12 +330,12 @@
throw new CoolException("绔欑偣涓哄厜鐢电珯鐐癸紝绂佹鍛煎彨AGV");
}
- List<String> areaList = JSONObject.parseArray(basStation.getCrossZoneArea(), String.class);
- if (!areaList.contains(area)) {
+ List<Long> areaList = basStation.getCrossZoneArea();
+ if (!areaList.contains(Long.parseLong(area))) {
throw new CoolException("褰撳墠绔欑偣涓嶆敮鎸佺洰鏍囧簱鍖�");
}
if (!Cools.isEmpty(basStation.getContainerType())) {
- List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+ List<Long> longs1 = basStation.getContainerType();
List<BasContainer> containers = basContainerService.list(
new LambdaQueryWrapper<BasContainer>()
.in(BasContainer::getContainerType, longs1)
@@ -344,7 +345,7 @@
for (BasContainer container : containers) {
String codeType = container.getCodeType(); // 鑾峰彇姝e垯琛ㄨ揪寮�
if (barcode.matches(codeType)) { // 鍒ゆ柇鏉$爜鏄惁绗﹀悎杩欎釜姝e垯
- List<Integer> areaList2 = container.getAreas();
+ List<Integer> areaList2 = container.getAreasIds();
if (!areaList2.contains(Integer.valueOf(area))) {
matches2 = false;
continue;
--
Gitblit v1.9.1