修复PDA稳定柜次查询契约
This commit is contained in:
+3
-1
@@ -46,9 +46,11 @@ public class PlatformLoadingPdaController {
|
||||
@PreAuthorize("hasAuthority('platform:firstleg:pda:view')")
|
||||
public ApiResponse<Task> task(@AuthenticationPrincipal AuthenticatedUser user,
|
||||
@RequestParam(required = false) String containerNo,
|
||||
@RequestParam(required = false) String cabinetNo,
|
||||
@RequestParam(required = false) Long loadingPlanId,
|
||||
@RequestParam @Positive long warehouseId) {
|
||||
FirstlegScopeGuard.platform(user);
|
||||
return ApiResponse.success(service.task(containerNo, warehouseId));
|
||||
return ApiResponse.success(service.task(containerNo, cabinetNo, loadingPlanId, warehouseId));
|
||||
}
|
||||
|
||||
@GetMapping("/tasks/pending")
|
||||
|
||||
@@ -31,6 +31,16 @@ public interface LoadingPickTaskMapper extends BaseMapper<LoadingPickTaskEntity>
|
||||
LoadingPickTaskEntity selectLoadingByContainerAndAccount(@Param("containerNo") String containerNo,
|
||||
@Param("warehouseId") long warehouseId);
|
||||
|
||||
@Select("SELECT task.* FROM fl_loading_pick_task task JOIN fl_loading_plan plan ON plan.id=task.loading_plan_id "
|
||||
+ "JOIN fl_container_booking booking ON booking.id=plan.container_booking_id "
|
||||
+ "WHERE task.task_status='LOADING' AND booking.cabinet_no=#{cabinetNo} AND booking.warehouse_id=#{warehouseId} LIMIT 1")
|
||||
LoadingPickTaskEntity selectLoadingByCabinet(@Param("cabinetNo") String cabinetNo, @Param("warehouseId") long warehouseId);
|
||||
|
||||
@Select("SELECT task.* FROM fl_loading_pick_task task JOIN fl_loading_plan plan ON plan.id=task.loading_plan_id "
|
||||
+ "JOIN fl_container_booking booking ON booking.id=plan.container_booking_id "
|
||||
+ "WHERE task.task_status='LOADING' AND task.loading_plan_id=#{loadingPlanId} AND booking.warehouse_id=#{warehouseId} LIMIT 1")
|
||||
LoadingPickTaskEntity selectLoadingByPlan(@Param("loadingPlanId") long loadingPlanId, @Param("warehouseId") long warehouseId);
|
||||
|
||||
@Select("""
|
||||
<script>
|
||||
SELECT task.id AS taskId, task.loading_plan_id AS loadingPlanId,
|
||||
|
||||
@@ -67,6 +67,12 @@ public class LoadingPickRepository {
|
||||
public LoadingPickTaskEntity taskByContainer(String containerNo, long warehouseId) {
|
||||
return tasks.selectLoadingByContainerAndAccount(containerNo, warehouseId);
|
||||
}
|
||||
public LoadingPickTaskEntity taskByCabinet(String cabinetNo, long warehouseId) {
|
||||
return tasks.selectLoadingByCabinet(cabinetNo, warehouseId);
|
||||
}
|
||||
public LoadingPickTaskEntity taskByPlan(long loadingPlanId, long warehouseId) {
|
||||
return tasks.selectLoadingByPlan(loadingPlanId, warehouseId);
|
||||
}
|
||||
|
||||
public List<PendingTaskRow> pendingTasks(long operatorId, String keyword) {
|
||||
return tasks.selectPendingForOperator(operatorId, keyword);
|
||||
|
||||
@@ -125,6 +125,19 @@ public class LoadingPickService {
|
||||
return view(task, warehouseId);
|
||||
}
|
||||
|
||||
public Task task(String containerNo, String cabinetNo, Long loadingPlanId, long warehouseId) {
|
||||
int selectors = (StringUtils.hasText(containerNo) ? 1 : 0) + (StringUtils.hasText(cabinetNo) ? 1 : 0)
|
||||
+ (loadingPlanId != null ? 1 : 0);
|
||||
if (selectors != 1) throw new BizException(ResultCode.BAD_REQUEST,
|
||||
"containerNo、cabinetNo、loadingPlanId必须且只能提供一个");
|
||||
LoadingPickTaskEntity task = StringUtils.hasText(cabinetNo)
|
||||
? repository.taskByCabinet(cabinetNo.trim(), warehouseId)
|
||||
: loadingPlanId != null ? repository.taskByPlan(loadingPlanId, warehouseId)
|
||||
: repository.taskByContainer(containerNo.trim(), warehouseId);
|
||||
if (task == null) throw new BizException(ResultCode.NOT_FOUND, "未找到装柜中的PDA拣货任务");
|
||||
return view(task, warehouseId);
|
||||
}
|
||||
|
||||
public Task task(long taskId, long warehouseId) {
|
||||
return view(requiredTask(taskId), warehouseId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user