From ce9c9af4a3710d17e17814bab629ab4ef474f3f1 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 09 七月 2025 11:16:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OpenController.java | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 156 insertions(+), 10 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..a207073 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,23 +1,28 @@ 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.ShuttleGatherResult; import com.zy.asrs.domain.enums.NotifyMsgType; import com.zy.asrs.domain.param.*; import com.zy.asrs.entity.ApiLog; +import com.zy.asrs.entity.DeviceConfig; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.DeviceConfigService; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.NotifyUtils; 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.enums.WrkIoType; 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 lombok.extern.slf4j.Slf4j; @@ -27,6 +32,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.List; @Slf4j @RestController @@ -40,9 +46,13 @@ @Autowired private NotifyUtils notifyUtils; @Autowired - private SlaveProperties slaveProperties; - @Autowired private ApiLogService apiLogService; + @Autowired + private LocMastService locMastService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private DeviceConfigService deviceConfigService; @PostMapping("/createMoveTask") @OpenApiLog(memo = "灏忚溅绉诲姩浠诲姟") @@ -227,8 +237,10 @@ 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()); + List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() + .eq("device_type", String.valueOf(SlaveType.Shuttle))); + for (DeviceConfig device : shuttleList) { + ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getDeviceNo()); if (shuttleThread == null) { continue; } @@ -242,8 +254,10 @@ //鑾峰彇璐у弶鎻愬崌鏈烘暟鎹� ArrayList<ForkLiftProtocol> forkLiftProtocols = new ArrayList<>(); - for (ForkLiftSlave slave : slaveProperties.getForkLift()) { - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId()); + List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() + .eq("device_type", String.valueOf(SlaveType.ForkLift))); + for (DeviceConfig device : forkLiftList) { + ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, device.getDeviceNo()); if (forkLiftThread == null) { continue; } @@ -278,6 +292,138 @@ 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()); + + apiLogService.insert(new ApiLog( + null + , "鑾峰彇鎸囧畾搴撲綅淇℃伅" + , "/getLocInformation" + , null + , null + , null + , JSON.toJSONString(param) + , JSON.toJSONString(map) + , null + , null + , 1 + , new Date() + , null + , null + )); + + 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); + } + + apiLogService.insert(new ApiLog( + null + , "鑾峰彇鍏ㄩ儴搴撲綅淇℃伅" + , "/getAllLocInformation" + , null + , null + , null + , null + , JSON.toJSONString(list) + , null + , null + , 1 + , new Date() + , null + , null + )); + + return R.ok().add(list); + } + + @PostMapping("/shuttleGather") + @OpenApiLog(memo = "灏忚溅闆嗗悎") + public R shuttleGather(@RequestBody ShuttleGatherParam param) { + List<ShuttleGatherResult> shuttleGather = shuttleDispatchUtils.shuttleGather(param); + + apiLogService.insert(new ApiLog( + null + , "灏忚溅闆嗗悎" + , "/shuttleGather" + , null + , null + , null + , null + , JSON.toJSONString(shuttleGather) + , null + , null + , 1 + , new Date() + , null + , null + )); + + return R.ok().add(shuttleGather); + } + + @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); + apiLogService.insert(new ApiLog( + null + , "鏌ヨ浠诲姟" + , "/queryTask" + , null + , null + , null + , null + , JSON.toJSONString(wrkMasts) + , null + , null + , 1 + , new Date() + , null + , null + )); + + return R.ok().add(wrkMasts); + } + @GetMapping("/test") public R test() { notifyUtils.notify("task", 1, "9999", "W9999", NotifyMsgType.SHUTTLE_MOVING, "data"); -- Gitblit v1.9.1