From 61ea55200a92c536bca48c4bc4e74c758496be79 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 16 十二月 2025 09:20:39 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java | 6 +++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java | 2 +
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 2
zy-acs-flow/src/map/areaSettings/index.jsx | 14 +++---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java | 40 ++++++++++++++++++++
5 files changed, 56 insertions(+), 8 deletions(-)
diff --git a/zy-acs-flow/src/map/areaSettings/index.jsx b/zy-acs-flow/src/map/areaSettings/index.jsx
index 1c340fd..38b4ab1 100644
--- a/zy-acs-flow/src/map/areaSettings/index.jsx
+++ b/zy-acs-flow/src/map/areaSettings/index.jsx
@@ -121,12 +121,12 @@
};
const handleSaveBasic = async () => {
- const areaId = sprite?.data?.id;
- if (!areaId) {
+ const id = sprite?.data?.id;
+ if (!id) {
return;
}
const payload = {
- areaId,
+ id,
name,
agvIds: agvList.map(getAgvOptionId),
};
@@ -136,16 +136,16 @@
name,
agvIds: payload.agvIds,
});
- fetchAreaInfo(areaId);
+ fetchAreaInfo(id);
}
};
const handleDeleteArea = async () => {
- const areaId = sprite?.data?.id;
- if (!areaId) {
+ const id = sprite?.data?.id;
+ if (!id) {
return;
}
- const success = await removeArea(areaId);
+ const success = await removeArea(id);
if (success) {
onCancel?.();
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
index e2abf74..570f825 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
@@ -458,7 +458,7 @@
@PreAuthorize("hasAuthority('manager:loc:update')")
@PostMapping("/area/update")
public R areaUpdate(@RequestBody MapAreaParam param) {
- return R.ok();
+ return R.ok().add(areaService.modifyMapArea(param, getLoginUserId()));
}
@PreAuthorize("hasAuthority('manager:loc:remove')")
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java
index 7244aec..2cd7bd3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java
@@ -3,8 +3,12 @@
import com.zy.acs.manager.common.domain.MapPointDto;
import lombok.Data;
+import java.util.List;
+
@Data
public class MapAreaParam {
+
+ private Long id;
private String zoneId;
@@ -28,4 +32,6 @@
private String memo;
+ private List<Long> agvIds;
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java
index 11244f1..3befd46 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java
@@ -8,4 +8,6 @@
Area saveMapArea(MapAreaParam param, Long loginUserId);
+ Area modifyMapArea(MapAreaParam param, Long loginUserId);
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
index bf15681..d174773 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
@@ -1,14 +1,17 @@
package com.zy.acs.manager.manager.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.domain.AreaShapeDto;
import com.zy.acs.manager.core.service.AreaGovernService;
import com.zy.acs.manager.manager.controller.param.MapAreaParam;
import com.zy.acs.manager.manager.entity.Area;
+import com.zy.acs.manager.manager.entity.AreaAgv;
import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.mapper.AreaMapper;
+import com.zy.acs.manager.manager.service.AreaAgvService;
import com.zy.acs.manager.manager.service.AreaService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +26,8 @@
@Autowired
private AreaGovernService areaGovernService;
+ @Autowired
+ private AreaAgvService areaAgvService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -64,4 +69,39 @@
return area;
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Area modifyMapArea(MapAreaParam param, Long loginUserId) {
+ Long areaId = param.getId();
+ Area area = this.getById(areaId);
+
+ // area - agv
+ areaAgvService.remove(new LambdaQueryWrapper<AreaAgv>().eq(AreaAgv::getAreaId, areaId));
+ if (!Cools.isEmpty(param.getAgvIds())) {
+ for (Long agvId : param.getAgvIds()) {
+ if (null == agvId) { continue; }
+
+ if (!areaAgvService.save(new AreaAgv(areaId, agvId))) {
+ throw new RuntimeException("failed to save AreaAgv");
+ }
+
+ }
+ }
+
+ // area
+ boolean needModify = false;
+ if (!Cools.isEmpty(param.getName()) && !area.getName().equals(param.getName())) {
+ area.setName(param.getName());
+ needModify = true;
+ }
+
+ if (needModify) {
+ if (!this.updateById(area)) {
+ throw new RuntimeException("failed to update Area");
+ }
+ }
+
+ return area;
+ }
+
}
--
Gitblit v1.9.1