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