From 379f39703eff09d5cf083a9267971ecbb7726f05 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 05 十二月 2025 14:47:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 311 +++++++++++++++++++++++----------------------------
1 files changed, 143 insertions(+), 168 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 20ac3c6..d2d65e8 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,77 +1,52 @@
package com.zy.asrs.controller;
-import com.alibaba.fastjson.JSON;
+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.*;
-import com.zy.asrs.entity.ApiLog;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.utils.NotifyUtils;
+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.cache.SlaveConnection;
-import com.zy.core.dispatcher.ShuttleDispatchUtils;
import com.zy.core.enums.SlaveType;
-import com.zy.core.model.ForkLiftSlave;
-import com.zy.core.model.ShuttleSlave;
-import com.zy.core.model.protocol.ForkLiftProtocol;
-import com.zy.core.model.protocol.ShuttleProtocol;
-import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.ForkLiftThread;
-import com.zy.core.thread.ShuttleThread;
+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.Date;
import java.util.HashMap;
+import java.util.List;
@Slf4j
@RestController
@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 SlaveProperties slaveProperties;
+ private ConfigService configService;
@Autowired
- private ApiLogService apiLogService;
-
- @PostMapping("/createMoveTask")
- @OpenApiLog(memo = "灏忚溅绉诲姩浠诲姟")
- public R createMoveTask(@RequestBody CreateMoveTaskParam param) {
- if (param == null) {
- return R.error("鍙傛暟涓嶈兘涓虹┖");
- }
- boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, param.getLocNo(), param.getShuttleNo());
- apiLogService.insert(new ApiLog(
- null
- , "灏忚溅绉诲姩浠诲姟"
- , "/createMoveTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , dispatchShuttle ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
- if (dispatchShuttle) {
- return R.ok();
- }
- return R.error("鐢熸垚澶辫触");
- }
+ private DeviceConfigService deviceConfigService;
//绉诲簱浠诲姟
@PostMapping("/createLocMoveTask")
@@ -81,22 +56,6 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
boolean result = commonService.createLocMoveTask(param);
- apiLogService.insert(new ApiLog(
- null
- , "绉诲簱浠诲姟"
- , "/createLocMoveTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , result ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
if (result) {
return R.ok();
}
@@ -111,22 +70,6 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
boolean result = commonService.createInTask(param);
- apiLogService.insert(new ApiLog(
- null
- , "鍏ュ簱浠诲姟"
- , "/createInTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , result ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
if (result) {
return R.ok();
}
@@ -141,22 +84,6 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
boolean result = commonService.createOutTask(param);
- apiLogService.insert(new ApiLog(
- null
- , "鍑哄簱浠诲姟"
- , "/createOutTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , result ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
if (result) {
return R.ok();
}
@@ -170,22 +97,6 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
boolean completeTask = commonService.completeTask(param);
- apiLogService.insert(new ApiLog(
- null
- , "浠诲姟瀹屾垚"
- , "/completeTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , completeTask ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
if (completeTask) {
return R.ok();
}
@@ -199,89 +110,153 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
boolean completeTask = commonService.cancelTask(param);
- apiLogService.insert(new ApiLog(
- null
- , "浠诲姟鍙栨秷"
- , "/cancelTask"
- , null
- , null
- , null
- , JSON.toJSONString(param)
- , null
- , null
- , completeTask ? 1 : 0
- , 1
- , new Date()
- , null
- , null
- ));
if (completeTask) {
return R.ok();
}
return R.error("浠诲姟鍙栨秷澶辫触");
}
- @PostMapping("/deviceStatus")
- @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��")
+ @RequestMapping("/deviceStatus")
+// @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��")
public R getDeviceStatus() {
HashMap<String, Object> map = new HashMap<>();
- //鑾峰彇灏忚溅鏁版嵁
- ArrayList<ShuttleProtocol> shuttleProtocols = new ArrayList<>();
- for (ShuttleSlave slave : slaveProperties.getShuttle()) {
- ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
- if (shuttleThread == null) {
+ //鑾峰彇鍫嗗灈鏈烘暟鎹�
+ 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;
}
- ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
- if (shuttleProtocol == null) {
+ CrnProtocol crnProtocol = crnThread.getStatus();
+ if (crnProtocol == null) {
continue;
}
- shuttleProtocols.add(shuttleProtocol);
+ crnProtocols.add(crnProtocol);
}
- //鑾峰彇璐у弶鎻愬崌鏈烘暟鎹�
- ArrayList<ForkLiftProtocol> forkLiftProtocols = new ArrayList<>();
- for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
- ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
- if (forkLiftThread == null) {
+ //鑾峰彇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;
}
- ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
- if (forkLiftProtocol == null) {
+ RgvProtocol rgvProtocol = rgvThread.getStatus();
+ if (rgvProtocol == null) {
continue;
}
- forkLiftProtocols.add(forkLiftProtocol);
+ rgvProtocols.add(rgvProtocol);
}
- map.put("shuttle", shuttleProtocols);
- map.put("forkLift", forkLiftProtocols);
+ map.put("crn", crnList);
+ map.put("rgv", rgvList);
+ return R.ok().add(map);
+ }
- apiLogService.insert(new ApiLog(
- null
- , "鑾峰彇璁惧鐘舵��"
- , "/deviceStatus"
- , null
- , null
- , null
- , null
- , JSON.toJSONString(map)
- , null
- , null
- , 1
- , new Date()
- , null
- , null
- ));
+ @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);
}
- @GetMapping("/test")
- public R test() {
- notifyUtils.notify("task", 1, "9999", "W9999", NotifyMsgType.SHUTTLE_MOVING, "data");
- notifyUtils.notify(String.valueOf(SlaveType.Shuttle), 2, "9999", "W9999", NotifyMsgType.SHUTTLE_MOVE_COMPLETE);
+ @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