From 8b60bf565eb475c13e39caa305c4415b34d8ec02 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 05 十二月 2025 08:49:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 207 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index da84136..d2d65e8 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,19 +1,33 @@
package com.zy.asrs.controller;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.R;
-import com.zy.asrs.domain.NotifyDto;
-import com.zy.asrs.domain.enums.NotifyMsgType;
-import com.zy.asrs.domain.param.CancelTaskParam;
-import com.zy.asrs.domain.param.CompleteTaskParam;
-import com.zy.asrs.domain.param.CreateMoveTaskParam;
-import com.zy.asrs.utils.NotifyUtils;
+import com.zy.asrs.domain.param.*;
+import com.zy.asrs.entity.DeviceConfig;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.DeviceConfigService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.common.annotations.OpenApiLog;
import com.zy.common.service.CommonService;
-import com.zy.core.dispatcher.ShuttleDispatchUtils;
+import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.WrkIoType;
+import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
+import com.zy.core.thread.CrnThread;
+import com.zy.core.thread.RgvThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
@Slf4j
@@ -21,26 +35,63 @@
@RequestMapping("/openapi")
public class OpenController {
+ @Value("${mainProcessPlugin}")
+ private String mainProcessPlugin;
@Autowired
private CommonService commonService;
@Autowired
- private ShuttleDispatchUtils shuttleDispatchUtils;
+ private LocMastService locMastService;
@Autowired
- private NotifyUtils notifyUtils;
+ private WrkMastService wrkMastService;
+ @Autowired
+ private ConfigService configService;
+ @Autowired
+ private DeviceConfigService deviceConfigService;
- @PostMapping("/createMoveTask")
- public R createMoveTask(@RequestBody CreateMoveTaskParam param) {
+ //绉诲簱浠诲姟
+ @PostMapping("/createLocMoveTask")
+ @OpenApiLog(memo = "绉诲簱浠诲姟")
+ public R createLocMoveTask(@RequestBody CreateLocMoveTaskParam param) {
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
- boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, param.getLocNo(), param.getShuttleNo());
- if (dispatchShuttle) {
+ boolean result = commonService.createLocMoveTask(param);
+ if (result) {
return R.ok();
}
- return R.error("鐢熸垚澶辫触");
+ return R.error("鐢熸垚绉诲簱浠诲姟澶辫触");
+ }
+
+ //鍏ュ簱浠诲姟
+ @PostMapping("/createInTask")
+ @OpenApiLog(memo = "鍏ュ簱浠诲姟")
+ public R createInTask(@RequestBody CreateInTaskParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ boolean result = commonService.createInTask(param);
+ if (result) {
+ return R.ok();
+ }
+ return R.error("鐢熸垚鍏ュ簱浠诲姟澶辫触");
+ }
+
+ //鍑哄簱浠诲姟
+ @PostMapping("/createOutTask")
+ @OpenApiLog(memo = "鍑哄簱浠诲姟")
+ public R createOutTask(@RequestBody CreateOutTaskParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ boolean result = commonService.createOutTask(param);
+ if (result) {
+ return R.ok();
+ }
+ return R.error("鐢熸垚鍑哄簱浠诲姟澶辫触");
}
@PostMapping("/completeTask")
+ @OpenApiLog(memo = "浠诲姟瀹屾垚")
public R completeTask(@RequestBody CompleteTaskParam param) {
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
@@ -53,6 +104,7 @@
}
@PostMapping("/cancelTask")
+ @OpenApiLog(memo = "浠诲姟鍙栨秷")
public R cancelTask(@RequestBody CancelTaskParam param) {
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
@@ -64,10 +116,147 @@
return R.error("浠诲姟鍙栨秷澶辫触");
}
- @GetMapping("/test")
- public R test() {
- notifyUtils.notify(String.valueOf(SlaveType.Shuttle), 1, "9999", NotifyMsgType.SHUTTLE_MOVING);
- notifyUtils.notify(String.valueOf(SlaveType.Shuttle), 2, "9999", NotifyMsgType.SHUTTLE_MOVE_COMPLETE);
+ @RequestMapping("/deviceStatus")
+// @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��")
+ public R getDeviceStatus() {
+ HashMap<String, Object> map = new HashMap<>();
+ //鑾峰彇鍫嗗灈鏈烘暟鎹�
+ ArrayList<CrnProtocol> crnProtocols = new ArrayList<>();
+ List<DeviceConfig> crnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Crn)));
+ for (DeviceConfig device : crnList) {
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, device.getDeviceNo());
+ if (crnThread == null) {
+ continue;
+ }
+
+ CrnProtocol crnProtocol = crnThread.getStatus();
+ if (crnProtocol == null) {
+ continue;
+ }
+ crnProtocols.add(crnProtocol);
+ }
+
+ //鑾峰彇RGV鏁版嵁
+ ArrayList<RgvProtocol> rgvProtocols = new ArrayList<>();
+ List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Rgv)));
+ for (DeviceConfig device : rgvList) {
+ RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, device.getDeviceNo());
+ if (rgvThread == null) {
+ continue;
+ }
+
+ RgvProtocol rgvProtocol = rgvThread.getStatus();
+ if (rgvProtocol == null) {
+ continue;
+ }
+ rgvProtocols.add(rgvProtocol);
+ }
+
+ map.put("crn", crnList);
+ map.put("rgv", rgvList);
+ return R.ok().add(map);
+ }
+
+ @PostMapping("/getLocInformation")
+ @OpenApiLog(memo = "鑾峰彇鎸囧畾搴撲綅淇℃伅")
+ public R getLocInformation(@RequestBody GetLocInformationParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ LocMast locMast = locMastService.queryByLoc(param.getLocNo());
+ if (locMast == null) {
+ return R.error("搴撲綅淇℃伅涓嶅瓨鍦�");
+ }
+
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("locNo", locMast.getLocNo());
+ map.put("locSts", locMast.getLocSts());
+
+ return R.ok().add(map);
+ }
+
+ @PostMapping("/getAllLocInformation")
+ @OpenApiLog(memo = "鑾峰彇鍏ㄩ儴搴撲綅淇℃伅")
+ public R getAllLocInformation() {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>());
+ if (locMasts.isEmpty()) {
+ return R.error("搴撲綅淇℃伅涓嶅瓨鍦�");
+ }
+
+ ArrayList<HashMap<String, Object>> list = new ArrayList<>();
+ for (LocMast locMast : locMasts) {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("locNo", locMast.getLocNo());
+ map.put("locSts", locMast.getLocSts());
+ list.add(map);
+ }
+
+ return R.ok().add(list);
+ }
+
+ @PostMapping("/queryTask")
+ @OpenApiLog(memo = "鏌ヨ浠诲姟")
+ public R queryTask(@RequestBody QueryTaskParam param) {
+ EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
+ if(param.getTaskNo() != null) {
+ wrapper.eq("wms_wrk_no", param.getTaskNo());
+ }
+
+ if(param.getTaskType() != null) {
+ WrkIoType ioType = WrkIoType.get(param.getTaskType());
+ if(ioType == null) {
+ return R.error("浠诲姟绫诲瀷涓嶅瓨鍦�");
+ }
+ wrapper.eq("io_type", ioType.id);
+ }
+ List<WrkMast> wrkMasts = wrkMastService.selectList(wrapper);
+ return R.ok().add(wrkMasts);
+ }
+
+ @GetMapping("/systemStatus")
+ public R systemStatus() {
+ return R.ok();
+ }
+
+ @GetMapping("/getFakeSystemRunStatus")
+ public R getFakeSystemRunStatus() {
+ HashMap<String, Object> map = new HashMap<>();
+ if(mainProcessPlugin.equals("FakeProcess")) {
+ map.put("running", false);
+ map.put("isFake", true);
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "enableFake"));
+ if(config != null) {
+ if(config.getValue().equals("Y")) {
+ map.put("running", true);
+ }
+ }
+ } else {
+ map.put("isFake", false);
+ }
+ return R.ok().add(map);
+ }
+
+ @PostMapping("/startFakeSystem")
+ @OpenApiLog(memo = "鍚姩浠跨湡妯℃嫙")
+ public R startFakeSystem() {
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "enableFake"));
+ if(config != null) {
+ config.setValue("Y");
+ configService.updateById(config);
+ }
+ return R.ok();
+ }
+
+ @PostMapping("/stopFakeSystem")
+ @OpenApiLog(memo = "鍋滄浠跨湡妯℃嫙")
+ public R stopFakeSystem() {
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "enableFake"));
+ if(config != null) {
+ config.setValue("N");
+ configService.updateById(config);
+ }
return R.ok();
}
--
Gitblit v1.9.1