1、装配清单部件列表补充长宽厚属性;2、已排订单撤回生产限制进入开料状态的操作;

This commit is contained in:
gaoqr
2026-07-09 11:23:36 +08:00
parent bab76a31f3
commit abab07f9a0
3 changed files with 22 additions and 3 deletions
@@ -25,4 +25,13 @@ public class OrderComponentRespVO {
@Schema(description = "加工状态")
private Integer processStatus;
@Schema(description = "部件宽度")
private Double width;
@Schema(description = "部件高度")
private Double height;
@Schema(description = "部件深度")
private Double depth;
}
@@ -155,7 +155,8 @@ public class AssemblyListServiceImpl implements AssemblyListService {
List<OrderComponentDO> allNodesOnTopIds = orderComponentMapper.selectList(new LambdaQueryWrapperX<OrderComponentDO>()
.in(OrderComponentDO::getTopId, topIds)
.in(OrderComponentDO::getOrderId, orderIds)
.select(OrderComponentDO::getId, OrderComponentDO::getPid, OrderComponentDO::getName, OrderComponentDO::getProcessStatus, OrderComponentDO::getExtraProcessStatus));
.select(OrderComponentDO::getId, OrderComponentDO::getPid, OrderComponentDO::getName, OrderComponentDO::getProcessStatus,
OrderComponentDO::getExtraProcessStatus, OrderComponentDO::getWidth, OrderComponentDO::getHeight, OrderComponentDO::getDepth));
// 遍历处理状态
for (OrderComponentDO orderComponent : allNodesOnTopIds) {
@@ -218,11 +218,12 @@ public class PlanServiceImpl implements PlanService {
if (planId != null) {
PlanDO planDO = validatePlan(planId);
Integer planDOStatus = planDO.getStatus();
Long currProcessId = updateReqVO.getProcessId();
if (currProcessId != null) {
if (planDO.getStatus().equals(PlanStatusEnum.OPENING.getStatus()) || planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())) {
if (planDOStatus.equals(PlanStatusEnum.OPENING.getStatus()) || planDOStatus.equals(PlanStatusEnum.OPENED.getStatus())) {
throw new ServiceException(PLAN_PLATE_IS_CUT);
}
// 如果方案组id发生改变需要记录前序的
@@ -237,8 +238,16 @@ public class PlanServiceImpl implements PlanService {
planMapper.updateById(planDO);
} else {
// true投入生产、false撤回生产
Boolean isScheduled = updateReqVO.getIsScheduled();
// 任何开料状态都不允许撤回了
if (isScheduled != null
&& Boolean.FALSE.equals(isScheduled)
&& PlanStatusEnum.OPENING.getStatus().equals(planDOStatus) || PlanStatusEnum.OPENED.getStatus().equals(planDOStatus)) {
throw new ServiceException(PLAN_PLATE_IS_CUT);
}
planDO.setIsScheduled(updateReqVO.getIsScheduled());
planDO.setIsScheduled(isScheduled);
planMapper.updateById(planDO);
}