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/asrs/service/impl/DigitalTwinServiceImpl.java | 70 ++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
index a099b9d..e31d1e7 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -220,24 +220,14 @@
/**
* 鏌ヨ搴撳瓨鍜屽簱浣嶈缁嗕俊鎭�
*
- * @param areaId
+ * @param arr
* @return
*/
- public List<DtLocDetailVo> warehouseDetail(String areaId) {
-
- List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
- return locMastList.stream()
- .map(loc -> {
- DtLocDetailVo vo = new DtLocDetailVo();
- BeanUtils.copyProperties(loc, vo);
- vo.setLocMast(loc);
- LocDetl query = new LocDetl();
- query.setLocNo(loc.getLocNo());
- LocDetl locDetl = locDetlMapper.selectOne(query);
- vo.setLocDetl(locDetl);
- return vo;
- })
- .collect(Collectors.toList());
+ public List<LocMast> warehouseDetail(Integer[] arr) {
+ if (arr == null || arr.length == 0) {
+ return locMastService.selectList(new EntityWrapper<>());
+ }
+ return locMastService.selectList(new EntityWrapper<LocMast>().in("row1", Arrays.asList(arr)));
}
/**
@@ -341,12 +331,20 @@
vo.setCrnNo(crnp.getCrnNo());
Integer wrkNo = crnp.getWrkNo();
vo.setTaskNo(wrkNo == null ? null : String.valueOf(wrkNo));
- String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
- if (!Cools.isEmpty(locNo)) {
- LocMast locMast = locMastService.selectById(locNo);
- if (locMast != null) {
- vo.setBay1(locMast.getBay1());
- vo.setLev1(locMast.getLev1());
+ vo.setBay1(crnp.getBay());
+ vo.setLev1(crnp.getLevel());
+ if (vo.getBay1() == null || vo.getLev1() == null) {
+ String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
+ if (!Cools.isEmpty(locNo)) {
+ LocMast locMast = locMastService.selectById(locNo);
+ if (locMast != null) {
+ if (vo.getBay1() == null) {
+ vo.setBay1(locMast.getBay1());
+ }
+ if (vo.getLev1() == null) {
+ vo.setLev1(locMast.getLev1());
+ }
+ }
}
}
vo.setVerticalSpeed(parseInteger(crnp.getCtlHp()));
@@ -447,6 +445,34 @@
return result;
}
+
+ @Override
+ public List<Map<String, Object>> getLocalDetalByLocNo(String locNo) {
+ if (locNo == null || locNo.trim().isEmpty()) {
+ return Collections.emptyList();
+ }
+
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("loc_no", locNo.trim())
+ .orderBy("appe_time", true));
+ List<Map<String, Object>> result = new ArrayList<>();
+
+ for (LocDetl locDetl : locDetls) {
+ Map<String, Object> item = new LinkedHashMap<>();
+ item.put("locNo", locDetl.getLocNo());
+ item.put("zpallet", locDetl.getZpallet());
+ item.put("matnr", locDetl.getMatnr());
+ item.put("maktx", locDetl.getMaktx());
+ item.put("specs", locDetl.getSpecs());
+ item.put("batch", locDetl.getBatch());
+ item.put("anfme", locDetl.getAnfme());
+ item.put("orderNo", locDetl.getOrderNo());
+ item.put("frozen", locDetl.getFrozen());
+ result.add(item);
+ }
+
+ return result;
+ }
public Map<String, Object> getLocInfo() {
List<LocMast> LocMasts = locMastMapper.selectList(new EntityWrapper<>());
Map<String, Object> result = new HashMap<>();
--
Gitblit v1.9.1