diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java index f557357..d9ef157 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java @@ -10,6 +10,7 @@ import com.youchain.basicdata.domain.Stock; import com.youchain.basicdata.service.PointService; import com.youchain.basicdata.service.StockService; import com.youchain.businessdata.domain.*; +import com.youchain.businessdata.repository.InventoryRepository; import com.youchain.businessdata.service.*; import com.youchain.exception.BadRequestException; import com.youchain.modules.quartz.utils.TimeNumberUtils; @@ -29,6 +30,7 @@ import java.util.stream.Collectors; @Slf4j @RequiredArgsConstructor public class KMReServiceImpl implements KMReService { + private final InventoryRepository inventoryRepository; private final DictRepository dictRepository; private final PickService pickService; private final StockService stockService; @@ -772,8 +774,20 @@ public class KMReServiceImpl implements KMReService { private void handleJl(Stock stock, Point endPoint, AgvTask agvTask) { List taskList = taskService.findTaskByCallAgvTask(agvTask.getId()); + List areaNames = taskList.stream() + .map(task -> task.getItemKey().getItem()) + .map(item -> BizStatus.XJ.equals(item.getGoodType()) ? AreaNameDic.XJFBCQ : AreaNameDic.DJFBCQ) + .collect(Collectors.toList()); + List allInventories = new ArrayList<>(); + for (String areaName : areaNames) { + List inventoryList = inventoryRepository.queryInventory(stock.getId(), null, null, areaName, stock.getDept().getId()); + allInventories.addAll(inventoryList); + } + // 删除所有查询到的库存 + if (!allInventories.isEmpty()) { + inventoryRepository.deleteAll(allInventories); + } for (Task task : taskList) { - inventoryService.deleteAll(new Long[]{task.getNewInvId()}); //回传MES pickService.returnPickByTask(task); }