From 052ee1f9c0b9e2bc8bbd4cf135ae45fed7422023 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 28 十月 2024 10:36:28 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 8 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 2cefcc9..316f116 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
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.acs.manager.common.annotation.OperationLog;
 import com.zy.acs.manager.common.domain.BaseParam;
 import com.zy.acs.manager.common.domain.KeyValVo;
@@ -12,11 +13,13 @@
 import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.manager.controller.result.AgvResult;
 import com.zy.acs.manager.manager.entity.Agv;
-import com.zy.acs.manager.manager.service.AgvDetailService;
-import com.zy.acs.manager.manager.service.AgvService;
+import com.zy.acs.manager.manager.entity.AgvDetail;
+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;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -30,6 +33,12 @@
     private AgvService agvService;
     @Autowired
     private AgvDetailService agvDetailService;
+    @Autowired
+    private AgvModelService agvModelService;
+    @Autowired
+    private CodeService codeService;
+    @Autowired
+    private TaskService taskService;
 
 //    @PreAuthorize("hasAuthority('manager:agv:list')")
 //    @PostMapping("/agv/page")
@@ -51,6 +60,8 @@
         PageParam<Agv, BaseParam> pageParam = new PageParam<>(baseParam, Agv.class);
         PageResult<AgvResult> page = agvService.pageRel(pageParam);
         for (AgvResult result : page.getRecords()) {
+            result.sync(agvDetailService.selectByAgvId(result.getId()), codeService, taskService, agvService);
+            if (result.getUuid().equals("2")) { result.setOnline(true); }
         }
         return R.ok().add(page);
     }
@@ -70,19 +81,46 @@
     @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.getById(agv.getAgvModel());
+            if (null != agvModel) {
+                agv.setAgvModelData(agvModel);
+            }
+        }
+        return R.ok().add(agv);
     }
 
     @PreAuthorize("hasAuthority('manager:agv:save')")
     @OperationLog("Create Agv")
     @PostMapping("/agv/save")
+    @Transactional
     public R save(@RequestBody Agv agv) {
-        agv.setCreateBy(getLoginUserId());
-        agv.setCreateTime(new Date());
-        agv.setUpdateBy(getLoginUserId());
-        agv.setUpdateTime(new Date());
+        if (agvService.count(new LambdaQueryWrapper<Agv>()
+                .eq(Agv::getUuid, agv.getUuid())) > 0) {
+            return R.error("agv no has already exist !");
+        }
+        Long loginUserId = getLoginUserId();
+        Date now = new Date();
+        agv.setCreateBy(loginUserId);
+        agv.setCreateTime(now);
+        agv.setUpdateBy(loginUserId);
+        agv.setUpdateTime(now);
         if (!agvService.save(agv)) {
-            return R.error("Save Fail");
+            throw new CoolException("Save Fail");
+        }
+        AgvDetail agvDetail = new AgvDetail();
+        agvDetail.setAgvId(agv.getId());
+        agvDetail.setCreateBy(loginUserId);
+        agvDetail.setUpdateBy(loginUserId);
+        if (!agvDetailService.save(agvDetail)) {
+            throw new CoolException("Save Fail");
         }
         return R.ok("Save Success").add(agv);
     }
@@ -91,6 +129,11 @@
     @OperationLog("Update Agv")
     @PostMapping("/agv/update")
     public R update(@RequestBody Agv agv) {
+        if (agvService.count(new LambdaQueryWrapper<Agv>()
+                .eq(Agv::getUuid, agv.getUuid())
+                .ne(Agv::getId, agv.getId())) > 0) {
+            return R.error("Update Fail");
+        }
         agv.setUpdateBy(getLoginUserId());
         agv.setUpdateTime(new Date());
         if (!agvService.updateById(agv)) {

--
Gitblit v1.9.1