fix(firstleg): enforce PDA task warehouse scope
This commit is contained in:
@@ -49,6 +49,7 @@ public interface LoadingPickTaskMapper extends BaseMapper<LoadingPickTaskEntity>
|
|||||||
JOIN fl_loading_plan plan ON plan.id = task.loading_plan_id
|
JOIN fl_loading_plan plan ON plan.id = task.loading_plan_id
|
||||||
JOIN fl_container_booking booking ON booking.id = plan.container_booking_id
|
JOIN fl_container_booking booking ON booking.id = plan.container_booking_id
|
||||||
WHERE booking.container_no = #{containerNo} AND booking.record_status = 'ACTIVE'
|
WHERE booking.container_no = #{containerNo} AND booking.record_status = 'ACTIVE'
|
||||||
|
AND booking.warehouse_id = #{warehouseId}
|
||||||
AND task.task_status = 'LOADING'
|
AND task.task_status = 'LOADING'
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
""")
|
""")
|
||||||
@@ -58,12 +59,14 @@ public interface LoadingPickTaskMapper extends BaseMapper<LoadingPickTaskEntity>
|
|||||||
@Select("SELECT task.* FROM fl_loading_pick_task task JOIN fl_loading_plan plan ON plan.id=task.loading_plan_id "
|
@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 "
|
+ "JOIN fl_container_booking booking ON booking.id=plan.container_booking_id "
|
||||||
+ "WHERE task.task_status='LOADING' AND booking.record_status='ACTIVE' "
|
+ "WHERE task.task_status='LOADING' AND booking.record_status='ACTIVE' "
|
||||||
|
+ "AND booking.warehouse_id=#{warehouseId} "
|
||||||
+ "AND booking.cabinet_no=#{cabinetNo} LIMIT 1")
|
+ "AND booking.cabinet_no=#{cabinetNo} LIMIT 1")
|
||||||
LoadingPickTaskEntity selectLoadingByCabinet(@Param("cabinetNo") String cabinetNo, @Param("warehouseId") long warehouseId);
|
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 "
|
@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 "
|
+ "JOIN fl_container_booking booking ON booking.id=plan.container_booking_id "
|
||||||
+ "WHERE task.task_status='LOADING' AND booking.record_status='ACTIVE' "
|
+ "WHERE task.task_status='LOADING' AND booking.record_status='ACTIVE' "
|
||||||
|
+ "AND booking.warehouse_id=#{warehouseId} "
|
||||||
+ "AND task.loading_plan_id=#{loadingPlanId} LIMIT 1")
|
+ "AND task.loading_plan_id=#{loadingPlanId} LIMIT 1")
|
||||||
LoadingPickTaskEntity selectLoadingByPlan(@Param("loadingPlanId") long loadingPlanId, @Param("warehouseId") long warehouseId);
|
LoadingPickTaskEntity selectLoadingByPlan(@Param("loadingPlanId") long loadingPlanId, @Param("warehouseId") long warehouseId);
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -15,10 +15,13 @@ class LoadingPickStableLookupContractTest {
|
|||||||
String legacy = LoadingPickTaskMapper.class.getMethod("selectLoadingByContainerAndAccount", String.class, long.class)
|
String legacy = LoadingPickTaskMapper.class.getMethod("selectLoadingByContainerAndAccount", String.class, long.class)
|
||||||
.getAnnotation(Select.class).value()[0];
|
.getAnnotation(Select.class).value()[0];
|
||||||
assertThat(cabinet).contains("booking.cabinet_no=#{cabinetNo}", "booking.record_status='ACTIVE'")
|
assertThat(cabinet).contains("booking.cabinet_no=#{cabinetNo}", "booking.record_status='ACTIVE'")
|
||||||
|
.contains("booking.warehouse_id=#{warehouseId}")
|
||||||
.doesNotContain("task.container_no");
|
.doesNotContain("task.container_no");
|
||||||
assertThat(plan).contains("task.loading_plan_id=#{loadingPlanId}", "booking.record_status='ACTIVE'")
|
assertThat(plan).contains("task.loading_plan_id=#{loadingPlanId}", "booking.record_status='ACTIVE'")
|
||||||
|
.contains("booking.warehouse_id=#{warehouseId}")
|
||||||
.doesNotContain("task.container_no");
|
.doesNotContain("task.container_no");
|
||||||
assertThat(legacy).contains("booking.container_no = #{containerNo}",
|
assertThat(legacy).contains("booking.container_no = #{containerNo}",
|
||||||
"booking.record_status = 'ACTIVE'").doesNotContain("task.container_no =");
|
"booking.record_status = 'ACTIVE'", "booking.warehouse_id = #{warehouseId}")
|
||||||
|
.doesNotContain("task.container_no =");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user