From b176072388747abb438990157bfa305b215b4b90 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 14 四月 2026 21:59:39 +0800
Subject: [PATCH] 我们现在讨论一下系统找库位方案, 如何实现,对现有找库位规则进行整改,数据库也要整改 1、要能方便的填写单伸堆垛机或双伸堆垛机的深浅库位配置 2、根据设备状态分配库位,离线设备不分配 3、库位分配要均衡到每一个设备 4、库位高度需要匹配到对应库位信息,低库位能向上兼容 5、空托盘优先放在locType2库位=1的库位,没有这种库位了,允许放到其他库位 6、给入库站点设置有限去那些堆垛机,其次去那些堆垛机,弄成页面可以配置入库站点 7、在系统配置新增优先放前几列的配置,当入库的货物是高频货物时放在前几列 8、组托中会标识该托盘是高频还是低频,如果是高频则从前往后找库位,如果是低频则从后往前找库位 9、找库位时locMast中whsType字段无用
---
src/main/java/com/zy/ai/utils/AiUtils.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/ai/utils/AiUtils.java b/src/main/java/com/zy/ai/utils/AiUtils.java
index 3c456d7..d14083a 100644
--- a/src/main/java/com/zy/ai/utils/AiUtils.java
+++ b/src/main/java/com/zy/ai/utils/AiUtils.java
@@ -2,18 +2,19 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.ai.entity.DeviceConfigsData;
import com.zy.ai.entity.DeviceRealTimeData;
import com.zy.ai.entity.WcsDiagnosisRequest;
import com.zy.ai.entity.enums.RedisKeyType;
import com.zy.ai.log.AiLogAppender;
import com.zy.asrs.entity.ApiLog;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.BasCrnpService;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasRgvService;
import com.zy.common.utils.RedisUtil;
-import com.zy.system.entity.Config;
-import com.zy.system.service.ConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -24,13 +25,15 @@
public class AiUtils {
@Autowired
- private WrkMastService wrkMastService;
- @Autowired
- private ConfigService configService;
+ private BasCrnpService basCrnpService;
@Autowired
private RedisUtil redisUtil;
@Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private BasDevpService basDevpService;
+ @Autowired
+ private BasRgvService basRgvService;
public WcsDiagnosisRequest makeAiRequest(int logLimit, String alarmMessage) {
WcsDiagnosisRequest request = new WcsDiagnosisRequest();
@@ -41,6 +44,36 @@
List<ApiLog> latestData = apiLogService.getLatestData(200);
request.setApiLogs(latestData);
+
+ List<DeviceRealTimeData> deviceRealTimeDataList = new ArrayList<>();
+ request.setDeviceRealtimeData(deviceRealTimeDataList);
+
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ for (BasCrnp basCrnp : basCrnps) {
+ DeviceRealTimeData deviceRealTimeData = new DeviceRealTimeData();
+ deviceRealTimeData.setDeviceNo(basCrnp.getCrnNo());
+ deviceRealTimeData.setDeviceType("鍫嗗灈鏈�");
+ deviceRealTimeData.setDeviceData(JSON.toJSONString(basCrnp));
+ deviceRealTimeDataList.add(deviceRealTimeData);
+ }
+
+ List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ for (BasDevp basDevp : basDevps) {
+ DeviceRealTimeData deviceRealTimeData = new DeviceRealTimeData();
+ deviceRealTimeData.setDeviceNo(basDevp.getDevNo());
+ deviceRealTimeData.setDeviceType("杈撻�佺珯鐐�");
+ deviceRealTimeData.setDeviceData(JSON.toJSONString(basDevp));
+ deviceRealTimeDataList.add(deviceRealTimeData);
+ }
+
+ List<BasRgv> basRgvs = basRgvService.selectList(new EntityWrapper<>());
+ for (BasRgv basRgv : basRgvs) {
+ DeviceRealTimeData deviceRealTimeData = new DeviceRealTimeData();
+ deviceRealTimeData.setDeviceNo(basRgv.getRgvNo());
+ deviceRealTimeData.setDeviceType("RGV灏忚溅");
+ deviceRealTimeData.setDeviceData(JSON.toJSONString(basRgv));
+ deviceRealTimeDataList.add(deviceRealTimeData);
+ }
return request;
}
--
Gitblit v1.9.1