From aad36163fc3424143f6373d486494dfc6786c263 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 14 十一月 2025 18:06:02 +0800
Subject: [PATCH] 11

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java               |   42 +++++++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java      |   11 +++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/LocSiteParams.java |   26 +++++++++++++
 3 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 26789de..c015d8f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -18,6 +18,7 @@
 import com.zy.acs.common.utils.GsonUtils;
 import com.zy.acs.common.utils.Utils;
 import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.R;
 import com.zy.acs.framework.common.SnowflakeIdWorker;
 import com.zy.acs.framework.exception.CoolException;
 import com.zy.acs.manager.common.domain.TaskDto;
@@ -28,10 +29,12 @@
 import com.zy.acs.manager.core.domain.TaskPosDto;
 import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
 import com.zy.acs.manager.core.utils.HttpHandler;
+import com.zy.acs.manager.manager.controller.param.LocSiteParams;
 import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam;
 import com.zy.acs.manager.manager.entity.*;
 import com.zy.acs.manager.manager.enums.*;
 import com.zy.acs.manager.manager.service.*;
+import com.zy.acs.manager.manager.service.impl.LocStsServiceImpl;
 import com.zy.acs.manager.manager.service.impl.WebsocketServiceImpl;
 import com.zy.acs.manager.manager.utils.ActionSorter;
 import com.zy.acs.manager.system.service.ConfigService;
@@ -104,6 +107,8 @@
     private TaskReportService taskReportService;
     @Autowired
     private AgvDurationService agvDurationService;
+    @Autowired
+    private LocStsService locStsService;
 
     @SuppressWarnings("all")
     @Transactional
@@ -2407,4 +2412,41 @@
         }
         return false;
     }
+
+    /**
+     * @author Ryan
+     * @date 2025/11/10
+     * @description: 淇敼搴撲綅鐘舵��
+     * @version 1.0
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public R modifyStatus(LocSiteParams params) {
+        if (Objects.isNull(params.getStatus())) {
+            return R.error("淇敼鐘舵�佷笉鑳戒负绌猴紒锛�");
+        }
+        LocSts locSts = locStsService.getOne(new LambdaQueryWrapper<LocSts>().eq(LocSts::getUuid, params.getStatus()));
+        if (Objects.isNull(locSts)) {
+            return R.error("鏁版嵁閿欒锛屾湭鎵惧埌瀵瑰簲宸ヤ綔鐘舵�侊紒锛�");
+        }
+        if (!params.getType().equals("loc")) {
+            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, params.getCode()));
+            if (Objects.isNull(loc)) {
+                return R.error("搴撲綅淇℃伅涓嶅瓨鍦紒锛�");
+            }
+            loc.setLocSts(locSts.getId());
+            if (!locService.updateById(loc)) {
+                return R.ok("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+            }
+        } else {
+            Sta sta = staService.getOne(new LambdaQueryWrapper<Sta>().eq(Sta::getStaNo, params.getCode()));
+            if (Objects.isNull(sta)) {
+                return R.error("绔欑偣淇℃伅涓嶅瓨鍦紒锛�");
+            }
+            sta.setStatus(locSts.getStatus());
+            if (!staService.updateById(sta)) {
+                return R.error("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+            }
+        }
+        return R.ok();
+    }
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java
index 04dfbb9..e2f6b85 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/OpenController.java
@@ -9,6 +9,7 @@
 import com.zy.acs.manager.common.domain.TaskDto;
 import com.zy.acs.manager.core.constant.LocGroupConstant;
 import com.zy.acs.manager.core.service.MainService;
+import com.zy.acs.manager.manager.controller.param.LocSiteParams;
 import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam;
 import com.zy.acs.manager.manager.entity.Loc;
 import com.zy.acs.manager.manager.entity.Sta;
@@ -53,7 +54,6 @@
     private TaskService taskService;
 
 
-    //@PreAuthorize("hasAuthority('open:bus:submit')")
     @PostMapping("/bus/submit")
     @OperationLog("generate task from open api")
     public synchronized R save(@RequestBody OpenBusSubmitParam param) {
@@ -69,6 +69,15 @@
         return R.ok("generate tasks success");
     }
 
+    @OperationLog("淇敼搴撲綅鎴栫珯鐐圭姸鎬�")
+    @PostMapping("/modify/status")
+    public R modifyLocOrSite(@RequestBody LocSiteParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mainService.modifyStatus(params);
+    }
+
 
     @OperationLog("Cancel Task")
     @PostMapping("/task/cancel")
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/LocSiteParams.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/LocSiteParams.java
new file mode 100644
index 0000000..03ef999
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/LocSiteParams.java
@@ -0,0 +1,26 @@
+package com.zy.acs.manager.manager.controller.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "LocSiteParams", description = "搴撲綅鎴栫姸鎬佸弬鏁�")
+public class LocSiteParams implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("绫诲瀷锛歭oc: 搴撲綅锛� site: 绔欑偣")
+    private String type = "loc";
+
+    @ApiModelProperty("绔欑偣鎴栧簱浣�")
+    private String code;
+
+    @ApiModelProperty("搴撲綅鎴栫珯鐐圭姸鎬�")
+    private String status;
+
+}

--
Gitblit v1.9.1