#
vincentlu
2025-12-16 61ea55200a92c536bca48c4bc4e74c758496be79
#
5个文件已修改
64 ■■■■ 已修改文件
zy-acs-flow/src/map/areaSettings/index.jsx 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/MapAreaParam.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AreaService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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?.();
        }
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')")
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;
}
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);
}
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;
    }
}