diff --git a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/BydAppServiceImpl.java b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/BydAppServiceImpl.java index 1631a66..fa404c9 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/BydAppServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/BydAppServiceImpl.java @@ -185,18 +185,18 @@ public class BydAppServiceImpl implements BydAppService { @Override public ReturnTaskVo scanStock(String stockCode) { - List taskList = taskService.findTaskByContains(BizStatus.PICK, BizStatus.ARRIVED, stockCode); - if (taskList.isEmpty()) { - throw new BadRequestException("未找到" + stockCode + "托盘的翻包拣货任务!"); - } - - //推荐目标托盘 Stock stock; stock = stockService.findByPointCode(stockCode); if (stock == null) { stock = stockService.findByCode(stockCode); } - String pickCode = taskService.findByStockCodeToPick(stock.getCode()); + List taskList = taskService.findTaskByContains(BizStatus.PICK, BizStatus.ARRIVED, stockCode); + if (taskList.isEmpty()) { + throw new BadRequestException( stock.getCode() + "托盘任务已翻包完成!"); + } + + //推荐目标托盘 + String pickCode = taskService.findBySrcStockToPick(stock.getCode()); String dstStockCode = taskService.findByPickToStockCode(pickCode); if (StringUtils.isEmpty(dstStockCode)) { dstStockCode = ""; @@ -488,6 +488,11 @@ public class BydAppServiceImpl implements BydAppService { if (StringUtils.isNotBlank(stockCode) && !dstStockCode.equals(stockCode)) { throw new BadRequestException("一个工单的物料只能放入同一个货架! 请放入" + stockCode + "货架!"); } + String pickCode = taskService.findByDstStockToPick(dstStockCode); + if (StringUtils.isNotBlank(pickCode) && !pick.getCode().equals(pickCode)) { + throw new BadRequestException(dstStockCode+"货架已绑定其他工单,请更换容器"); + } + } return dstStock; } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/repository/TaskRepository.java b/youchain-system/src/main/java/com/youchain/businessdata/repository/TaskRepository.java index 985d2be..aafd06f 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/repository/TaskRepository.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/repository/TaskRepository.java @@ -106,12 +106,20 @@ public interface TaskRepository extends JpaRepository, JpaSpecificat /** - * 根据容器查找翻包完成的拣货单号 - * @param stockCode + * 根据原容器查找翻包完成的拣货单号 + * @param srcStockCode * @return */ - @Query(value = "select max(t.pickDetail.pick.code) from Task t where t.srcStock.code=:stockCode and t.taskType='PICK' and t.planQty-t.moveQty>0 and t.callAgvTaskId is null") - String findByStockCodeToPick(String stockCode); + @Query(value = "select max(t.pickDetail.pick.code) from Task t where t.srcStock.code=:srcStockCode and t.taskType='PICK' and t.planQty-t.moveQty>0 and t.callAgvTaskId is null") + String findBySrcStockToPick(String srcStockCode); + + /** + * 根据目标容器查找翻包完成的拣货单号 + * @param dstStockCode + * @return + */ + @Query(value = "select max(t.pickDetail.pick.code) from Task t where t.dstStock.code=:dstStockCode and t.taskType='PICK' and t.planQty-t.moveQty=0 and t.callAgvTaskId is null") + String findByDstStockToPick(String dstStockCode); /** * 根据容器查找翻包完成的任务集合 diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java index e68aa3f..5b83789 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java @@ -163,11 +163,19 @@ public interface TaskService { List findTaskByContains(String taskType, String taskStatus, String srcStockCode); /** - * 根据容器找到对应出库单 + * 根据原容器找到对应出库单 * - * @param stockCode 原容器号 + * @param srcStockCode 原容器号 */ - String findByStockCodeToPick(String stockCode); + String findBySrcStockToPick(String srcStockCode); + + + /** + * 根据目标容器找到对应出库单 + * + * @param dstStockCode 目标器号 + */ + String findByDstStockToPick(String dstStockCode); /** diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java index 1be38da..90d40e2 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java @@ -171,8 +171,13 @@ public class TaskServiceImpl implements TaskService { } @Override - public String findByStockCodeToPick(String stockCode) { - return taskRepository.findByStockCodeToPick(stockCode); + public String findBySrcStockToPick(String srcStockCode) { + return taskRepository.findBySrcStockToPick(srcStockCode); + } + + @Override + public String findByDstStockToPick(String dstStockCode) { + return taskRepository.findByDstStockToPick(dstStockCode); } @Override