From 6205b4f5cf7f637ba6a878de289f70ac657661d6 Mon Sep 17 00:00:00 2001 From: Huluwa22 <2667400744@qq.com> Date: Wed, 19 Mar 2025 16:25:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=BA=93=E6=97=B6=E5=90=8C=E6=8E=92?= =?UTF-8?q?=E7=A7=BB=E5=BA=93=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/wms/bussiness/JobComponent.java | 2 +- src/main/java/com/wms/model/enums/DestinationEnum.java | 8 +++----- .../service/serviceImplements/OrderOutImplements.java | 10 +--------- src/main/java/com/wms/utils/storage/LocationUtils.java | 7 ++++++- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/wms/bussiness/JobComponent.java b/src/main/java/com/wms/bussiness/JobComponent.java index 9a68134..027b8a2 100644 --- a/src/main/java/com/wms/bussiness/JobComponent.java +++ b/src/main/java/com/wms/bussiness/JobComponent.java @@ -251,7 +251,7 @@ public class JobComponent extends BaseController { logger.info("移库没有可用库位"); return; // 移库没有可用库位 } - Location emptyLocationItem = locationUtils.checkCanUseChangeLocation(emptyLocations); // 取得新库位 + Location emptyLocationItem = locationUtils.checkCanUseChangeLocation(emptyLocations,thisLocation); // 取得新库位 if(emptyLocationItem == null) { logger.info("没有可移动库位,移动库位存在任务"); return; // 没有可用库位或者m库位存在干涉 diff --git a/src/main/java/com/wms/model/enums/DestinationEnum.java b/src/main/java/com/wms/model/enums/DestinationEnum.java index d51cda3..46ad6db 100644 --- a/src/main/java/com/wms/model/enums/DestinationEnum.java +++ b/src/main/java/com/wms/model/enums/DestinationEnum.java @@ -13,8 +13,8 @@ import javax.print.attribute.standard.Destination; */ @Getter public enum DestinationEnum { - EXIT_CODE("出库","111" ), - ENTRY_CODE("入库", "" ); + EXIT_CODE("出库站台","111" ), + ENTRY_CODE("入库站台", "" ); private final String text; private final String value; @@ -40,9 +40,7 @@ public enum DestinationEnum { return null; } - public static void main(String[] args) { - System.out.println(DestinationEnum.getByValue("111")); - } + } diff --git a/src/main/java/com/wms/service/serviceImplements/OrderOutImplements.java b/src/main/java/com/wms/service/serviceImplements/OrderOutImplements.java index b093af2..579131d 100644 --- a/src/main/java/com/wms/service/serviceImplements/OrderOutImplements.java +++ b/src/main/java/com/wms/service/serviceImplements/OrderOutImplements.java @@ -132,7 +132,7 @@ public class OrderOutImplements implements IOrderOutService { task.setRemark1("手动出库"); outTasks.add(task); } - // 把这条库存记录可用数量更新为 0 + // 把这条库存记录可用数量进行更新 stockMapper.updateStockAvailableNumWithStockId(outStock.getStockId(), outStock.getAvailableNum()-outNum); // 更新库存为出库中 stockMapper.updateStockStatusWithLocationId(outStock.getLocationId(), StockStatus.OUT.getCode()); @@ -179,11 +179,6 @@ public class OrderOutImplements implements IOrderOutService { } int addResult = taskMapper.addTasks(outTasks); if(addResult == outTasks.size()) { -// //删除出库单对应的任务 -// int deleteResult =orderOutMapper.deleteOrderOut(orderOut.getRowId()); -// if (deleteResult > 0){ -// log.info("添加任务成功,删除出库单成功,任务:{}", outTasks); -// } //更改出库单状态为出库中 OrderOut orderOutUpdateStatus = new OrderOut(); orderOutUpdateStatus.setRowId(rowId); @@ -260,7 +255,6 @@ public class OrderOutImplements implements IOrderOutService { return new WmsApiResponse<>(1, "数量必须大于0", null); } /* 插入数据,插入记录表 */ - //OrderOut orderOutList = new OrderOut(); OrderOut orderOut = new OrderOut(); orderOut.setRowId(UUID.randomUUID().toString()); orderOut.setRecordId(UUID.randomUUID().toString()); @@ -281,7 +275,6 @@ public class OrderOutImplements implements IOrderOutService { }else{ //空托盘出库 /* 插入数据,插入记录表 */ - //OrderOut orderOutList = new OrderOut(); OrderOut orderOut = new OrderOut(); orderOut.setRowId(UUID.randomUUID().toString()); orderOut.setRecordId(UUID.randomUUID().toString()); @@ -292,7 +285,6 @@ public class OrderOutImplements implements IOrderOutService { orderOut.setRowNo(1); orderOut.setGoodsId(request.goodsId); orderOut.setGoodsNum(String.valueOf(request.goodsNum)); - //Integer.parseInt(row.getQty()) orderOut.setUnit(""); orderOut.setStatus(OrderOutStatusEnum.CREATED.getCode()); orderOut.setCreateTime(new Timestamp(System.currentTimeMillis())); diff --git a/src/main/java/com/wms/utils/storage/LocationUtils.java b/src/main/java/com/wms/utils/storage/LocationUtils.java index f91e303..99b1603 100644 --- a/src/main/java/com/wms/utils/storage/LocationUtils.java +++ b/src/main/java/com/wms/utils/storage/LocationUtils.java @@ -9,6 +9,7 @@ import com.wms.model.entity.table.Task; import com.wms.mapper.LocationMapper; import com.wms.mapper.StockMapper; import com.wms.mapper.TaskMapper; +import com.wms.service.LocationService; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -150,13 +151,17 @@ public class LocationUtils { * @param canUseLocations 可用的库位 * @return 可用的库位,若没有可用的库位则返回 null */ - public Location checkCanUseChangeLocation(List canUseLocations) { + public Location checkCanUseChangeLocation(List canUseLocations,Location thisLocation) { if(canUseLocations == null || canUseLocations.isEmpty()) { return null; } boolean canUse = true; for (Location location : canUseLocations) { /* 校验此位置是否有遮挡 */ /* 如果这位置有库存(可能出现记错导致有库存),或者这位置其他深度(不论深度大小)有任务则不采用此位置 */ + // 如果在同一排上则不采用 + if (location.getQueue().equals(thisLocation.getQueue())) { + continue; + } /* 1 判断库存 */ Stock checkStock = new Stock(); checkStock.setLocationId(location.getLocationId());