fix(firstleg): honor terminal partial pick outcomes
This commit is contained in:
@@ -230,7 +230,15 @@ public interface LoadingPickItemMapper extends BaseMapper<LoadingPickItemEntity>
|
||||
WHERE pick_item.loading_plan_item_id = plan_item.id
|
||||
AND pick_task.loading_plan_id = #{planId}
|
||||
AND pick_task.task_status = 'LOADING'
|
||||
AND pick_item.picked_package_count = plan_item.package_count
|
||||
AND (
|
||||
(pick_item.item_status = 'PICKED'
|
||||
AND pick_item.picked_package_count = plan_item.package_count)
|
||||
OR (pick_item.item_status = 'PARTIAL'
|
||||
AND pick_item.picked_package_count > 0
|
||||
AND pick_item.picked_package_count < plan_item.package_count)
|
||||
OR (pick_item.item_status = 'SKIPPED'
|
||||
AND pick_item.picked_package_count = 0)
|
||||
)
|
||||
)
|
||||
""")
|
||||
long unfinishedCount(@Param("planId") long planId);
|
||||
|
||||
+9
-1
@@ -39,7 +39,15 @@ class LoadingPickItemMapperContractTest {
|
||||
.contains("plan_item.deleted = 0")
|
||||
.contains("pick_task.loading_plan_id = #{planId}")
|
||||
.contains("pick_task.task_status = 'LOADING'")
|
||||
.contains("pick_item.picked_package_count = plan_item.package_count");
|
||||
.contains("pick_item.item_status = 'PICKED'")
|
||||
.contains("pick_item.picked_package_count = plan_item.package_count")
|
||||
.contains("pick_item.item_status = 'PARTIAL'")
|
||||
.contains("pick_item.picked_package_count > 0")
|
||||
.contains("pick_item.picked_package_count < plan_item.package_count")
|
||||
.contains("pick_item.item_status = 'SKIPPED'")
|
||||
.contains("pick_item.picked_package_count = 0")
|
||||
.doesNotContain("pick_item.item_status = 'PENDING'")
|
||||
.doesNotContain("pick_item.item_status = 'PICKING'");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user