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 527c8a7d4..ad07b07f6 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 @@ -90,12 +90,12 @@ public class AssemblyListServiceImpl implements AssemblyListService { return getNotProcessComponentList(reqVO, topIds); } else if (OrderComponentProcessStatusEnum.UNPROCESSED.equals(orderComponentProcessStatusEnum)) { // 未加工 - return getUnProcessedComponentList(reqVO, topIds); + return getUnProcessedComponentList(reqVO, topIds, false); } else if (OrderComponentProcessStatusEnum.PROCESSED.equals(orderComponentProcessStatusEnum)) { // 已加工 return getProcessedComponentList(reqVO, topIds); } else { - return getUnProcessedComponentList(reqVO, topIds); + return getUnProcessedComponentList(reqVO, topIds, true); } } @@ -182,14 +182,14 @@ public class AssemblyListServiceImpl implements AssemblyListService { * @param reqVO * @return */ - private List getUnProcessedComponentList(OrderDetailComponentListReqVO reqVO, List topIds) { + private List getUnProcessedComponentList(OrderDetailComponentListReqVO reqVO, List topIds, boolean showAll) { // 根据部件的topid查询树上所有已加工节点 List topUnProcessedComponentList = orderComponentMapper.selectList(new LambdaQueryWrapperX() .in(OrderComponentDO::getTopId, topIds) .eq(OrderComponentDO::getOrderId, reqVO.getOrderId()) .eqIfPresent(OrderComponentDO::getDeleted, reqVO.isDeleted()) .likeIfPresent(OrderComponentDO::getName, reqVO.getName()) - .ne(OrderComponentDO::getProcessStatus, OrderComponentProcessStatusEnum.PROCESSED.getStatus()) + .neIfPresent(OrderComponentDO::getProcessStatus, showAll ? null : OrderComponentProcessStatusEnum.PROCESSED.getStatus()) .select(OrderComponentDO::getId, OrderComponentDO::getPid, OrderComponentDO::getName, OrderComponentDO::getProcessStatus)); // 计算部件状态 @@ -317,8 +317,9 @@ public class AssemblyListServiceImpl implements AssemblyListService { /** * 逐级对比:当b状态不是已加工时,a的process是false,b的状态才是不加工 - * @param a - * @param b + * + * @param a 配置 + * @param b 部件数据 */ private void processRecursive( OrderComponentTreeCompareVO a, @@ -327,8 +328,6 @@ public class AssemblyListServiceImpl implements AssemblyListService { // 1️⃣ 赋值当前层 if (ObjectUtil.notEqual(OrderComponentProcessStatusEnum.PROCESSED.getStatus(), b.getProcessStatus())) { b.setProcessStatus(a.isProcess() ? OrderComponentProcessStatusEnum.UNPROCESSED.getStatus() : OrderComponentProcessStatusEnum.NOT_PROCESS.getStatus()); - } else { - b.setProcessStatus(a.getProcessStatus()); } // 2️⃣ 处理子节点