diff --git a/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java b/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java index ce84276..a98c965 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java @@ -30,8 +30,8 @@ import java.util.List; **/ public interface PickRepository extends JpaRepository, JpaSpecificationExecutor { - @Query(value = " FROM Pick p WHERE p.status in :status and p.isCall=:isCall and (:orderType is null or p.orderType = :orderType) order by p.createTime,p.lineNo ") - List findByPickStatus(List status,Boolean isCall,String orderType); + @Query(value = " FROM Pick p WHERE p.status in :status and p.isCall=:isCall order by p.createTime,p.lineNo ") + List findByPickStatus(List status,Boolean isCall); @Query(value = " FROM Pick p WHERE p.gdCode=:gdNo and p.cpCodeOrDpCode=:completeCode and p.station=:station ") Pick findByPick(String gdNo, String completeCode, String station); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/PickService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/PickService.java index cbc59ec..2b3472d 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/PickService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/PickService.java @@ -102,9 +102,8 @@ public interface PickService { * 根据状态查询、是否叫料出库单 * @param statuses 状态集合 * @param isCall 是否叫料 - * @param orderType 订单类型 */ - List findByPickStatus(List statuses, boolean isCall,String orderType); + List findByPickStatus(List statuses, boolean isCall); /** * 刷新出库单拣货状态 diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java index 9ab7707..1d94bae 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MesServiceImpl.java @@ -104,7 +104,10 @@ public class MesServiceImpl implements MesService { public void itemCall(String gdNo, String itemCode, String station, String pointCode) { Pick pick = pickRepository.findByPick(gdNo, itemCode, station); if (pick == null) { - throw new BadRequestException(gdNo + "工单未备料,叫料失败!"); + throw new BadRequestException(gdNo + ":" + itemCode + ":" + station + "工单不存在,叫料失败!"); + } + if (BizStatus.OPEN.equals(pick.getStatus()) || BizStatus.ASSIGN.equals(pick.getStatus())) { + throw new BadRequestException(gdNo + "工单未备料完成,叫料失败!"); } Point point = pointService.queryPoint(pointCode, null, null, null); @@ -128,7 +131,11 @@ public class MesServiceImpl implements MesService { public void bigItemCall(String gdNo, String completeCode, String station, String pointCode) { Pick pick = pickRepository.findByPick(gdNo, completeCode, station); if (pick == null) { - throw new IllegalArgumentException(gdNo + "工单未备料,叫料失败!"); + throw new BadRequestException(gdNo + ":" + completeCode + ":" + station + "工单不存在,叫料失败!"); + } + + if (BizStatus.OPEN.equals(pick.getStatus()) || BizStatus.ASSIGN.equals(pick.getStatus())) { + throw new BadRequestException(gdNo + "工单未备料完成,叫料失败!"); } Point point = pointService.queryPoint(pointCode, null, null, null); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java index 0d72550..cffe5db 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickServiceImpl.java @@ -121,8 +121,8 @@ public class PickServiceImpl implements PickService { } @Override - public List findByPickStatus(List statuses, boolean isCall,String orderType) { - return pickRepository.findByPickStatus(statuses, isCall, orderType); + public List findByPickStatus(List statuses, boolean isCall) { + return pickRepository.findByPickStatus(statuses, isCall); } 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 ae3f366..edae74e 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 @@ -176,7 +176,7 @@ public class TaskServiceImpl implements TaskService { List pointList = pointService.queryPoints(null, BaseStatus.FREE, BaseStatus.BOX, areaName); if (pointList.isEmpty()) { logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", "分配失败,翻包区没有空闲点位!", "出库单分配", 200, "info"); - throw new BadRequestException(pick.getCode() + "分配失败,翻包区没有空闲点位!"); + return; } endPoint = pointList.get(0); } else { diff --git a/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java b/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java index a93bb56..3e2699e 100644 --- a/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java +++ b/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java @@ -40,31 +40,14 @@ public class pickTask { /** * 轮询打开和分配中的成品出库单,分配库存 */ - public void allocateCpPick() { + public void allocatePick() { List statuses = Arrays.asList(BizStatus.OPEN, BizStatus.ASSIGN); - List pickList = pickService.findByPickStatus(statuses, false,BaseStatus.GD_TYPE_CT); + List pickList = pickService.findByPickStatus(statuses, false); if (pickList.isEmpty()) { throw new BadRequestException("无待分配的成品出库单,分配失败!"); } for (Pick pick : pickList) { taskService.allocatePick(pick); - - } - - } - - /*** - * 轮询打开和分配中的单品品出库单,分配库存 - */ - public void allocateDpPick() { - List statuses = Arrays.asList(BizStatus.OPEN, BizStatus.ASSIGN); - List pickList = pickService.findByPickStatus(statuses, false, BaseStatus.GD_TYPE_DP); - if (pickList.isEmpty()) { - throw new BadRequestException("无待分配的单品出库单,分配失败!"); - } - for (Pick pick : pickList) { - taskService.allocatePick(pick); - } } @@ -75,7 +58,7 @@ public class pickTask { public void pickAgvTask() { /*查询分配完成的出库单*/ List statuses = Arrays.asList(BizStatus.ALLOCATE); - List pickList = pickService.findByPickStatus(statuses, false,null); + List pickList = pickService.findByPickStatus(statuses, false); if (pickList.isEmpty()) { throw new BadRequestException("无已分配的出库单,下发任务失败!"); } @@ -91,7 +74,7 @@ public class pickTask { public void callJlTask() { /*查询拣货完成完成的出库单*/ List statuses = Arrays.asList(BizStatus.PICK_ALL); - List pickList = pickService.findByPickStatus(statuses, true,null); + List pickList = pickService.findByPickStatus(statuses, true); if (pickList.isEmpty()) { throw new BadRequestException("无拣货完成的出库单或出库单未叫料,叫料失败!"); }