diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/assemblylist/AssemblyListServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/assemblylist/AssemblyListServiceImpl.java index d62e52df9..7b8774fc4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/assemblylist/AssemblyListServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/assemblylist/AssemblyListServiceImpl.java @@ -966,12 +966,14 @@ public class AssemblyListServiceImpl implements AssemblyListService { switch (status) { case PROCESSED: + // 已加工:部件根节点已加工 if (state.rootProcessed) { return true; } break; case UNPROCESSED: + // 未加工:部件根节点未加工,且子节点均为未加工状态 if (!state.rootProcessed && state.allUnprocessed && !state.notProcessConfig) { @@ -980,14 +982,15 @@ public class AssemblyListServiceImpl implements AssemblyListService { break; case PART_PROCESSED: + // 部份加工:部件根节点未加工,且子节点至少有一个已加工 if (!state.rootProcessed - && state.anyChildProcessed - && !state.notProcessConfig) { + && state.anyChildProcessed) { return true; } break; case NOT_PROCESS: + // 不加工: 部件装配设置中至少有一个节点标记为不加工 if (state.notProcessConfig) { return true; } @@ -1009,12 +1012,24 @@ public class AssemblyListServiceImpl implements AssemblyListService { OrderComponentTreeCompareVO node; + /** + * 根节点加工了 + */ boolean rootProcessed; + /** + * 全都未加工 + */ boolean allUnprocessed; + /** + * 任一子节点加工 + */ boolean anyChildProcessed; + /** + * 不加工 + */ boolean notProcessConfig; } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java index adde08e2f..b5f4a56f5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java @@ -275,7 +275,8 @@ public class HeapSplitServiceImpl implements HeapSplitService { // ===== 1. 分组 key ===== String key = row.getPartsId() + "_" + row.getRoomId() - + "_" + row.getBodyId(); + + "_" + row.getBodyId() + + "_" + row.getHeapSplitStatus(); OrderPartsRespVO vo = map.computeIfAbsent(key, k -> { OrderPartsRespVO v = new OrderPartsRespVO(); @@ -486,11 +487,7 @@ public class HeapSplitServiceImpl implements HeapSplitService { if (!updateList.isEmpty()) { orderItemMapper.updateBatch(updateList); } - if (!insertList.isEmpty()) { - orderItemMapper.insertBatch(insertList); - } - if (!deleteIds.isEmpty()) { - orderItemMapper.deleteByIds(deleteIds); - } + orderItemMapper.insertBatch(insertList); + orderItemMapper.deleteByIds(deleteIds); } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index eb6336028..bb93195e1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -480,7 +480,10 @@ ob.multi_num AS multiNum, ob.multi_sort AS multiSort, - (oi.num - oi.heap_num) AS num, + CASE + WHEN oi.heap_split_status = 1 THEN oi.heap_num + ELSE (oi.num - oi.heap_num) + END AS num, oi.heap_num AS heapNum, op.id AS partsId,