From fdd23f01d070cf65386b3f72fad92acdf8155815 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 23 Apr 2026 16:24:06 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=A3=85=E9=85=8D=E6=B8=85=E5=8D=95?= =?UTF-8?q?=20-=20=E9=83=A8=E5=88=86=E5=8A=A0=E5=B7=A5=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E9=A1=B6=E7=BA=A7=E9=83=A8=E4=BB=B6=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=B8=8D=E5=8C=B9=E9=85=8D=E4=BF=AE=E5=A4=8D=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=20=E5=88=86=E5=A0=86=20-=20=E9=83=A8=E4=BB=B6?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=88=86=E5=A0=86=E4=BF=9D=E5=AD=98=E5=90=8E?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=95=B0=E9=87=8F=E9=94=99=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assemblylist/AssemblyListServiceImpl.java | 19 +++++++++++++++++-- .../heapsplit/HeapSplitServiceImpl.java | 11 ++++------- .../mapper/orderParts/OrderPartsMapper.xml | 5 ++++- 3 files changed, 25 insertions(+), 10 deletions(-) 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,