装配清单-部件列表状态解析错误修正

This commit is contained in:
gaoqr
2026-03-05 17:48:59 +08:00
parent 04264eaa64
commit b894c24165
@@ -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<OrderComponentRespVO> getUnProcessedComponentList(OrderDetailComponentListReqVO reqVO, List<Long> topIds) {
private List<OrderComponentRespVO> getUnProcessedComponentList(OrderDetailComponentListReqVO reqVO, List<Long> topIds, boolean showAll) {
// 根据部件的topid查询树上所有已加工节点
List<OrderComponentDO> topUnProcessedComponentList = orderComponentMapper.selectList(new LambdaQueryWrapperX<OrderComponentDO>()
.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️⃣ 处理子节点