From 280053b113e37ceba080826ffcd94a83a07efb36 Mon Sep 17 00:00:00 2001 From: lsymicc Date: Tue, 14 Apr 2026 17:13:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ddj/controller/MsgDdjController.java | 78 +++++++++++++++---- .../device/ddj/domain/StackerStatus.java | 1 + .../ssj/controller/DeviceSsjController.java | 28 +++++++ .../ruoyi/device/ssj/domain/ConvStatus.java | 41 ++++++++++ .../ruoyi/device/ssj/domain/DeviceSsj.java | 5 ++ .../device/ssj/mapper/DeviceSsjMapper.java | 8 ++ .../device/ssj/service/IDeviceSsjService.java | 8 ++ .../service/impl/DeviceSsjServiceImpl.java | 12 +++ .../schedule/plcRead/ssj/PlcSsjRead.java | 1 + .../mapper/device/DeviceSsjMapper.xml | 5 ++ 10 files changed, 172 insertions(+), 15 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/ConvStatus.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/controller/MsgDdjController.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/controller/MsgDdjController.java index ae4f17e..3a458d8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/controller/MsgDdjController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/controller/MsgDdjController.java @@ -105,27 +105,75 @@ public class MsgDdjController extends BaseController } + public record StackerStatus( + String id, String mode, String taskNo, String deviceStatus, String forkStatus, String executionPhase, String permission, String position){} + /** + * 请求获取堆垛机状态 + * @param id 堆垛机编号 + * @return + */ @GetMapping("/getStackerStatus/{id}") public StackerStatus getStackerStatus(@PathVariable Long id){ //返回堆垛机部分参数的状态映射 if (id == 1) { MsgDdj msg = msgDdjService.selectMsgDdjById(id); - StackerStatus status = new StackerStatus(); - status.setId(msg.getId()); - status.setName(msg.getName()); - status.setMode(msg.getCzfs()); - status.setTaskNo(msg.getRwh()); - status.setDeviceStatus(msg.getSbzt()); - status.setForkStatus(msg.getHczt()); - status.setExecutionPhase(msg.getJdbz()); - status.setPermission(msg.getYxxf()); - status.setCurrentRow(msg.getCurrentRow()); - status.setCurrentColumn(msg.getCurrentColumn()); - status.setCurrentFloor(msg.getCurrentFloor()); -// status.setCurrentRoad(msg.getId()); - status.setCurrentPosition(msg.getCurrentRow() + "排" + msg.getCurrentColumn() + "列" + msg.getCurrentFloor() + "层"); + com.ruoyi.device.ddj.domain.StackerStatus status = new com.ruoyi.device.ddj.domain.StackerStatus(); - return status; + //操作模式 + String mode = "其他"; + switch (msg.getCzfs()){ + case 1 -> mode = "手动"; + case 5 -> mode = "联机自动"; + } + + //设备状态 + String deviceStatus = "待机"; + switch (msg.getSbzt()){ + case 0 -> deviceStatus = "待机"; + case 1 -> deviceStatus = "运行中"; + default -> deviceStatus = "运行报警"; + } + + //设备状态 + String forkState = "货叉无货"; + if (msg.getHczt() > 0){ + forkState = "货叉无货"; + } + + //设备状态 + String executionPhase = "待机"; + switch (msg.getJdbz()){ + case 1 -> executionPhase = "取货途中"; + case 2 -> executionPhase = "取货中"; + case 3 -> executionPhase = "放货途中"; + case 4 -> executionPhase = "放货中"; + case 5 -> executionPhase = "放货完成"; + } + + StackerStatus statusContent = new StackerStatus( + String.valueOf(id), + mode, + String.valueOf(msg.getRwh()), + deviceStatus, + forkState, + executionPhase, + msg.getYxxf() == 1 ? "允许下发" : "禁止下发", + msg.getCurrentRow() + "排" + msg.getCurrentColumn() + "列" + msg.getCurrentFloor() + "层" + ); +// status.setId(msg.getId()); +// status.setMode(msg.getCzfs()); +// status.setTaskNo(msg.getRwh()); +// status.setDeviceStatus(msg.getSbzt()); +// status.setForkStatus(msg.getHczt()); +// status.setExecutionPhase(msg.getJdbz()); +// status.setPermission(msg.getYxxf()); +// status.setCurrentRow(msg.getCurrentRow()); +// status.setCurrentColumn(msg.getCurrentColumn()); +// status.setCurrentFloor(msg.getCurrentFloor()); +// status.setCurrentRoad(msg.getId()); +// status.setCurrentPosition(msg.getCurrentRow() + "排" + msg.getCurrentColumn() + "列" + msg.getCurrentFloor() + "层"); + + return statusContent; }else{ return null; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/domain/StackerStatus.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/domain/StackerStatus.java index 328f18e..0f1f7ae 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/domain/StackerStatus.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ddj/domain/StackerStatus.java @@ -86,3 +86,4 @@ public class StackerStatus { } + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/controller/DeviceSsjController.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/controller/DeviceSsjController.java index 231ada4..936ac68 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/controller/DeviceSsjController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/controller/DeviceSsjController.java @@ -2,6 +2,8 @@ package com.ruoyi.device.ssj.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.device.ssj.domain.ConvStatus; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -101,4 +103,30 @@ public class DeviceSsjController extends BaseController { return toAjax(deviceSsjService.deleteDeviceSsjByIds(ids)); } + + /** + * 返回的输送机状态 + */ + private record ConvStatus(String id, String mode, String free, String inPosition, String taskNo){} + + /** + * 请求返回输送机状态 + * @param id 输送机编号 + * @return + */ + @GetMapping("/getConvStatus/{id}") + public ConvStatus getConvStatus(@PathVariable String id){ + DeviceSsj msgSsj = deviceSsjService.selectDeviceSsjByDeviceCode(id); + ConvStatus status = new ConvStatus( + id, + msgSsj.getMode() == 1 ? "自动模式" : "手动模式", + msgSsj.getKx() == 1 ? "占用" : "空闲", + msgSsj.getDw() == 1 ? "输送到位" : "未到位", + String.valueOf(msgSsj.getTaskNo()) + ); + + return status; + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/ConvStatus.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/ConvStatus.java new file mode 100644 index 0000000..85aad7b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/ConvStatus.java @@ -0,0 +1,41 @@ +package com.ruoyi.device.ssj.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@ToString +public class ConvStatus { + + /** + * 输送机编号 + */ + private String id; + + /** + * 手/自动模式 + */ + private String mode; + + /** + * 0-空闲 1-占用 + */ + private String free; + + /** + * 0-未到位 1-到位 + */ + private String inPosition; + + /** + * 任务号 + */ + private String taskNo; + + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java index a6079ad..b3d3fac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/domain/DeviceSsj.java @@ -105,4 +105,9 @@ public class DeviceSsj extends BaseEntity */ private String weight; + /** + * 手/自动 + */ + private int mode; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/mapper/DeviceSsjMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/mapper/DeviceSsjMapper.java index 2fbe26f..3e675a9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/mapper/DeviceSsjMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/mapper/DeviceSsjMapper.java @@ -19,6 +19,14 @@ public interface DeviceSsjMapper */ public DeviceSsj selectDeviceSsjById(Long id); + /** + * 查询输送机 + * + * @param deviceCode 输送机编号 + * @return 输送机 + */ + public DeviceSsj selectDeviceSsjByDeviceCode(String deviceCode); + /** * 查询输送机列表 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/IDeviceSsjService.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/IDeviceSsjService.java index 8a000e4..0a8af54 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/IDeviceSsjService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/IDeviceSsjService.java @@ -19,6 +19,14 @@ public interface IDeviceSsjService */ public DeviceSsj selectDeviceSsjById(Long id); + /** + * 查询输送机 + * + * @param deviceCode 输送机编号 + * @return 输送机 + */ + public DeviceSsj selectDeviceSsjByDeviceCode(String deviceCode); + /** * 查询输送机列表 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/impl/DeviceSsjServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/impl/DeviceSsjServiceImpl.java index d3f2513..de3605f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/impl/DeviceSsjServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/ssj/service/impl/DeviceSsjServiceImpl.java @@ -32,6 +32,18 @@ public class DeviceSsjServiceImpl implements IDeviceSsjService return deviceSsjMapper.selectDeviceSsjById(id); } + /** + * 查询输送机 + * + * @param deviceCode 输送机主键 + * @return 输送机 + */ + @Override + public DeviceSsj selectDeviceSsjByDeviceCode(String deviceCode) + { + return deviceSsjMapper.selectDeviceSsjByDeviceCode(deviceCode); + } + /** * 查询输送机列表 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/plcRead/ssj/PlcSsjRead.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/plcRead/ssj/PlcSsjRead.java index a72a741..11147d1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/plcRead/ssj/PlcSsjRead.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/plcRead/ssj/PlcSsjRead.java @@ -110,6 +110,7 @@ public class PlcSsjRead implements Runnable { ssjDevice.setRkqq(ParseUtil.optInt(10, ddsx1)); ssjDevice.setTraySize(ParseUtil.optInt(12, ddsx1)); ssjDevice.setException(ParseUtil.optInt(28, ddsx1)); + ssjDevice.setMode(ParseUtil.optInt(30, ddsx1));//todo 输送机操作模式 } } diff --git a/ruoyi-admin/src/main/resources/mapper/device/DeviceSsjMapper.xml b/ruoyi-admin/src/main/resources/mapper/device/DeviceSsjMapper.xml index dca006e..cfc8159 100644 --- a/ruoyi-admin/src/main/resources/mapper/device/DeviceSsjMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/device/DeviceSsjMapper.xml @@ -60,6 +60,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + insert into device_ssj