From 75a5ce81ad0b32849060e09166598cfd26c962dc Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 28 四月 2025 13:39:19 +0800 Subject: [PATCH] 空闲理货高度限制 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++++- 1 files changed, 75 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index f79844f..dc18ea9 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -15,9 +15,7 @@ import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.entity.result.ZphjcdgzVo; import com.zy.asrs.entity.result.ZphjcdwcVo; -import com.zy.asrs.mapper.LocDetlMapper; -import com.zy.asrs.mapper.MatMapper; -import com.zy.asrs.mapper.TagMapper; +import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; import com.zy.common.constant.MesConstant; @@ -107,6 +105,12 @@ @Resource private ConfigMapper configMapper; + + @Resource + private OrderMapper orderMapper; + + @Resource + private BasCrnpMapper basCrnpMapper; @Override @Transactional @@ -1244,6 +1248,7 @@ // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); + wrkMast.setWhsType(iotype == 1 && param.getPalletizingNo() == 2051 ? 1 : 0); // 杩斾慨鍏ュ簱鏍囪 wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋 wrkMast.setIoType(iotype); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 @@ -1961,6 +1966,73 @@ } + @Override + public R getUnfulfilledOrders() { + // 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭� + List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders(""); + return R.ok(unfulfilledOrders); + } + + @Override + public R getCrnLaneWayInfo() { + List<CrnLaneWayInfoDto> crnLaneWayInfo = basCrnpMapper.getCrnLaneWayInfo(); + return R.ok(crnLaneWayInfo); + } + + @Override + public R getOutLocInfoByBarcode(String barcode) { + + // 鏍规嵁鎵樼洏鐮佽幏鍙栦换鍔′富妗� + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); + // 鏍规嵁浠诲姟涓绘。鑾峰彇宸ヤ綔妗f槑缁� + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + // 鎻愬彇鍖呰缁勫彿 + List<String> brandList = wrkDetls.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList()); + OutLocInfoDto outLocInfoDto = new OutLocInfoDto(); + outLocInfoDto.setWrkNo(wrkMast.getWrkNo()); + List<OutLocInfoDto.Material> materialList = new ArrayList<>(); + for (String brand : brandList) { + // 涓�涓湪绠� + OutLocInfoDto.Material material = new OutLocInfoDto.Material(); + material.setPackageGroupNo(brand); // 鍖呰缁勫彿 + // 鎸夊寘瑁呯粍鍙疯繃婊� + List<WrkDetl> wrkDetls1 = wrkDetls.stream().filter(wrkDetl -> Objects.equals(wrkDetl.getBrand(), brand)).collect(Collectors.toList()); + // 鍗蜂俊鎭� + List<OutLocInfoDto.Material.MaterialDetail> materialDetailList = new ArrayList<>(); + for (WrkDetl wrkDetl : wrkDetls1) { + OutLocInfoDto.Material.MaterialDetail materialDetail = new OutLocInfoDto.Material.MaterialDetail(); + materialDetail.setRollNo(wrkDetl.getModel()); + materialDetail.setBoxNo(wrkDetl.getUnit()); + materialDetail.setSpecs(wrkDetl.getMatnr()); + material.setBoxPos(wrkDetl.getOrigin()); // 鎵樼洏涓婃湪绠变綅缃� + materialDetailList.add(materialDetail); + } + // 璁㈠崟淇℃伅 + WrkDetl wrkDetl = wrkDetls1.get(0); + if (wrkDetl != null && wrkDetl.getOrderNo() != null) { + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo())); + if (order != null) { + material.setOrderNo(order.getOrderNo()); + material.setMemo(order.getMemo()); + material.setCustomerName(order.getCstmrName()); + List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders(order.getOrderNo()); + if (unfulfilledOrders.size() == 1) { + OrderStatisticsDto orderStatisticsDto = unfulfilledOrders.get(0); + material.setSum(orderStatisticsDto.getSum()); + material.setToShipQuantity(orderStatisticsDto.getToShipQuantity()); + material.setWorkQuantity(orderStatisticsDto.getWorkQuantity()); + } + } + } + + material.setMaterialDetailList(materialDetailList); + materialList.add(material); + } + outLocInfoDto.setMaterialList(materialList); + + return R.ok(outLocInfoDto); + } + /** * 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。 */ -- Gitblit v1.9.1