From 1313906bb1eb983d3beece810035e7fc28d6a92f Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 20 五月 2025 16:57:11 +0800
Subject: [PATCH] 新增充电桩

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
index 4a440a2..6947650 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
@@ -1,6 +1,7 @@
 package com.zy.acs.manager.manager.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
@@ -11,13 +12,12 @@
 import com.zy.acs.manager.common.domain.PageParam;
 import com.zy.acs.manager.common.domain.PageResult;
 import com.zy.acs.manager.common.utils.ExcelUtil;
+import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
 import com.zy.acs.manager.manager.controller.result.AgvResult;
 import com.zy.acs.manager.manager.entity.Agv;
 import com.zy.acs.manager.manager.entity.AgvDetail;
-import com.zy.acs.manager.manager.service.AgvDetailService;
-import com.zy.acs.manager.manager.service.AgvService;
-import com.zy.acs.manager.manager.service.CodeService;
-import com.zy.acs.manager.manager.service.TaskService;
+import com.zy.acs.manager.manager.entity.AgvModel;
+import com.zy.acs.manager.manager.service.*;
 import com.zy.acs.manager.system.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -36,9 +36,13 @@
     @Autowired
     private AgvDetailService agvDetailService;
     @Autowired
+    private AgvModelService agvModelService;
+    @Autowired
     private CodeService codeService;
     @Autowired
     private TaskService taskService;
+    @Autowired
+    private MapDataDispatcher mapDataDispatcher;
 
 //    @PreAuthorize("hasAuthority('manager:agv:list')")
 //    @PostMapping("/agv/page")
@@ -80,7 +84,20 @@
     @PreAuthorize("hasAuthority('manager:agv:list')")
     @GetMapping("/agv/{id}")
     public R get(@PathVariable("id") Long id) {
-        return R.ok().add(agvService.getById(id));
+        Agv agv = agvService.getById(id);
+        if (null != agv) {
+            agv.setOnline(agvService.judgeOnline(agv.getId()));
+            if (agv.getUuid().equals("2")) { agv.setOnline(true); }
+            AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
+            if (null != agvDetail) {
+                agv.setAgvDetail(agvDetail);
+            }
+            AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
+            if (null != agvModel) {
+                agv.setAgvModelData(agvModel);
+            }
+        }
+        return R.ok().add(agv);
     }
 
     @PreAuthorize("hasAuthority('manager:agv:save')")
@@ -158,4 +175,24 @@
         ExcelUtil.build(ExcelUtil.create(agvService.list(), Agv.class), response);
     }
 
+    @PreAuthorize("hasAuthority('manager:agv:remove')")
+    @OperationLog("Remove Agv From Map")
+    @PostMapping("/agv/remove/from/map")
+    public R removeFromMap(@RequestBody Agv agv) {
+        AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
+        if (null != agvDetail) {
+            LambdaUpdateWrapper<AgvDetail> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.set(AgvDetail::getCode, null)
+                    .set(AgvDetail::getLastCode, null)
+                    .set(AgvDetail::getUpdateBy, getLoginUserId())
+                    .set(AgvDetail::getUpdateTime, new Date())
+                    .eq(AgvDetail::getId, agvDetail.getId());
+            if (!agvDetailService.update(null, wrapper)) {
+                return R.error("Remove Fail");
+            }
+            mapDataDispatcher.modifyDynamicMatrix(MapDataDispatcher.MAP_DEFAULT_LEV, null, agv.getUuid(), true);
+        }
+        return R.ok("Remove Success").add(agv);
+    }
+
 }

--
Gitblit v1.9.1