Commit f3c3d3dd23b329b2c13dca0f899a695b9e058a9f
1 parent
d25e5be4
优化组盘
Showing
1 changed file
with
17 additions
and
12 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
... | ... | @@ -323,24 +323,28 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
323 | 323 | String warehouseCode = inventoryDetail.getWarehouseCode(); |
324 | 324 | String locationCode = inventoryDetail.getLocationCode(); |
325 | 325 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); |
326 | + // 每次组盘都需判断是整盘出库还是分拣出库 | |
326 | 327 | LambdaQueryWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
327 | 328 | shipmentContainerHeaderLambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode, containerCode) |
328 | 329 | .eq(ShipmentContainerHeader::getFromLocationCode, locationCode).eq(ShipmentContainerHeader::getWarehouseCode, warehouseCode) |
329 | 330 | .lt(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED); |
330 | 331 | ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getOne(shipmentContainerHeaderLambdaQueryWrapper); |
331 | - if (shipmentContainerHeader != null) { | |
332 | - return shipmentContainerHeader; | |
333 | - } else { | |
334 | - List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode); | |
335 | - int taskType = QuantityConstant.TASK_TYPE_WHOLESHIPMENT; | |
336 | - // 如果库存还有剩余,那么就是分拣出库 | |
337 | - if (inventoryDetailList != null && inventoryDetailList.size() > 0) { | |
338 | - for (InventoryDetail inventoryDetail1 : inventoryDetailList) { | |
339 | - if (inventoryDetail1.getQty().subtract(inventoryDetail1.getTaskQty()).compareTo(BigDecimal.ZERO) > 0) { | |
340 | - taskType = QuantityConstant.TASK_TYPE_SORTINGSHIPMENT; | |
341 | - } | |
332 | + List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode); | |
333 | + int taskType = QuantityConstant.TASK_TYPE_WHOLESHIPMENT; | |
334 | + // 如果库存还有剩余,那么就是分拣出库 | |
335 | + if (inventoryDetailList != null && inventoryDetailList.size() > 0) { | |
336 | + for (InventoryDetail inventoryDetail1 : inventoryDetailList) { | |
337 | + if (inventoryDetail1.getQty().subtract(inventoryDetail1.getTaskQty()).compareTo(BigDecimal.ZERO) > 0) { | |
338 | + taskType = QuantityConstant.TASK_TYPE_SORTINGSHIPMENT; | |
342 | 339 | } |
343 | 340 | } |
341 | + } | |
342 | + if (shipmentContainerHeader != null) { | |
343 | + if (taskType != shipmentContainerHeader.getTaskType()) { | |
344 | + shipmentContainerHeader.setTaskType(taskType); | |
345 | + shipmentContainerHeaderService.updateById(shipmentContainerHeader); | |
346 | + } | |
347 | + } else { | |
344 | 348 | shipmentContainerHeader = new ShipmentContainerHeader(); |
345 | 349 | shipmentContainerHeader.setContainerCode(containerCode); |
346 | 350 | shipmentContainerHeader.setFromLocationCode(locationCode); |
... | ... | @@ -354,8 +358,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
354 | 358 | if (!success) { |
355 | 359 | throw new JeecgBootException("新增出库组盘头失败"); |
356 | 360 | } |
357 | - return shipmentContainerHeader; | |
361 | + | |
358 | 362 | } |
363 | + return shipmentContainerHeader; | |
359 | 364 | } |
360 | 365 | |
361 | 366 | @Transactional(rollbackFor = JeecgBootException.class) |
... | ... |