diff --git a/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml b/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml index 3e7dc49..571e08c 100644 --- a/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml +++ b/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml @@ -719,22 +719,23 @@ UPDATE wms_order_task SET status = '已完成' WHERE site = #{site} - - AND (task_no, item_no) IN ( - - (#{key.taskNo}, #{key.itemNo}) - - ) - -- 只更新所有明细都已完成的任务 - rqrq - AND NOT EXISTS ( - SELECT 1 - FROM wms_order_task_detail d - WHERE d.site = wms_order_task.site - AND d.task_no = wms_order_task.task_no - AND d.item_no = wms_order_task.item_no - AND d.status != '已完成' - ) - + AND EXISTS ( + SELECT 1 FROM (VALUES + + (#{key.taskNo}, #{key.itemNo}) + + ) AS TaskKey(taskNo, itemNo) + WHERE TaskKey.taskNo = wms_order_task.task_no + AND TaskKey.itemNo = wms_order_task.item_no + ) + AND NOT EXISTS ( + SELECT 1 + FROM wms_order_task_detail d + WHERE d.site = wms_order_task.site + AND d.task_no = wms_order_task.task_no + AND d.item_no = wms_order_task.item_no + AND d.status != '已完成' + )