Commit f3c3d3dd23b329b2c13dca0f899a695b9e058a9f

Authored by xcq
1 parent d25e5be4

优化组盘

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,24 +323,28 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
323 String warehouseCode = inventoryDetail.getWarehouseCode(); 323 String warehouseCode = inventoryDetail.getWarehouseCode();
324 String locationCode = inventoryDetail.getLocationCode(); 324 String locationCode = inventoryDetail.getLocationCode();
325 Container container = containerService.getContainerByCode(containerCode, warehouseCode); 325 Container container = containerService.getContainerByCode(containerCode, warehouseCode);
  326 + // 每次组盘都需判断是整盘出库还是分拣出库
326 LambdaQueryWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); 327 LambdaQueryWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
327 shipmentContainerHeaderLambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode, containerCode) 328 shipmentContainerHeaderLambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode, containerCode)
328 .eq(ShipmentContainerHeader::getFromLocationCode, locationCode).eq(ShipmentContainerHeader::getWarehouseCode, warehouseCode) 329 .eq(ShipmentContainerHeader::getFromLocationCode, locationCode).eq(ShipmentContainerHeader::getWarehouseCode, warehouseCode)
329 .lt(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED); 330 .lt(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED);
330 ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getOne(shipmentContainerHeaderLambdaQueryWrapper); 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 shipmentContainerHeader = new ShipmentContainerHeader(); 348 shipmentContainerHeader = new ShipmentContainerHeader();
345 shipmentContainerHeader.setContainerCode(containerCode); 349 shipmentContainerHeader.setContainerCode(containerCode);
346 shipmentContainerHeader.setFromLocationCode(locationCode); 350 shipmentContainerHeader.setFromLocationCode(locationCode);
@@ -354,8 +358,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi @@ -354,8 +358,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
354 if (!success) { 358 if (!success) {
355 throw new JeecgBootException("新增出库组盘头失败"); 359 throw new JeecgBootException("新增出库组盘头失败");
356 } 360 }
357 - return shipmentContainerHeader; 361 +
358 } 362 }
  363 + return shipmentContainerHeader;
359 } 364 }
360 365
361 @Transactional(rollbackFor = JeecgBootException.class) 366 @Transactional(rollbackFor = JeecgBootException.class)