/component/direct-children补充加工状态

This commit is contained in:
gaoqr
2026-07-15 12:05:21 +08:00
parent c4fb10c49e
commit bd39de589f
2 changed files with 16 additions and 1 deletions
@@ -41,6 +41,9 @@ public class AssemblyComponentChildPrintRespVO {
@Schema(description = "柜名")
private String bodyName;
@Schema(description = "加工状态")
private Integer processStatus;
@Schema(description = "子元素")
private List<AssemblyComponentChildPrintRespVO> children;
}
@@ -238,11 +238,14 @@ public class AssemblyListServiceImpl implements AssemblyListService {
.eq(OrderComponentDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus())
.select(
OrderComponentDO::getId,
OrderComponentDO::getPid,
OrderComponentDO::getOrderId,
OrderComponentDO::getName,
OrderComponentDO::getWidth,
OrderComponentDO::getHeight,
OrderComponentDO::getDepth
OrderComponentDO::getDepth,
OrderComponentDO::getProcessStatus,
OrderComponentDO::getExtraProcessStatus
)
);
@@ -256,6 +259,14 @@ public class AssemblyListServiceImpl implements AssemblyListService {
throw new ServiceException(ORDER_COMPONENT_NOT_EXIST);
}
// 只有顶级节点才允许使用 extraProcessStatus;非顶级节点始终返回自身 processStatus。
for (OrderComponentDO parentComponent : parentComponents) {
if (Objects.equals(parentComponent.getPid(), OrderComponentDO.PARENT_ID_ROOT)
&& ObjectUtil.isNotEmpty(parentComponent.getExtraProcessStatus())) {
parentComponent.setProcessStatus(parentComponent.getExtraProcessStatus());
}
}
Map<Long, OrderComponentDO> componentDOMap = parentComponents.stream()
.collect(Collectors.toMap(OrderComponentDO::getId, Function.identity()));
List<Long> orderIds = parentComponents.stream()
@@ -381,6 +392,7 @@ public class AssemblyListServiceImpl implements AssemblyListService {
target.setThickness(toBigDecimal(source.getDepth()));
target.setRoomName(source.getRoomName());
target.setBodyName(source.getBodyName());
target.setProcessStatus(source.getProcessStatus());
// 仅父节点存在 children;叶子子部件明确设置为 null。
target.setChildren(hasChildren ? new ArrayList<>() : null);