diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java index 64888d264..1dc0065fe 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java @@ -26,7 +26,7 @@ public class WorkOrderRun extends BaseEntity { private static final long serialVersionUID = 1L; public WorkOrderRun(Long woId, String woCode, Short runType, Long outTeam, Long inTeam, Long outCustomer, - Long inCustomer, String memo, Long approvalMan, String systemData, String collaborate) { + Long inCustomer, String memo, Long approvalMan, String systemData, String collaborate, Short oemStatus) { this.woId = woId; this.woCode = woCode; this.runType = runType; @@ -39,6 +39,7 @@ public class WorkOrderRun extends BaseEntity { this.systemData = systemData; this.collaborate = collaborate; this.runStatus = RUN_STATUS_ISSUED; + this.oemStatus = oemStatus; } public WorkOrderRun() { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java index a70536329..714b24a4a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java @@ -3,6 +3,7 @@ package org.springblade.desk.produce.service.impl; import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import net.sourceforge.barbecue.Barcode; @@ -339,7 +340,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl wprList = workPlanRunMapper.selectList( - new LambdaQueryWrapper() - .eq(WorkPlanRun::getWorId, workOrderRun.getId())); - if (!wprList.isEmpty()) { - List wpIds = wprList.stream().map(WorkPlanRun::getWpId).collect(Collectors.toList()); - List oemPlans = workPlanMapper.selectList( - new LambdaQueryWrapper().in(WorkPlan::getId, wpIds)); - for (WorkPlan wp : oemPlans) { - wp.setStatus(WorkPlan.STATUS_WORK_OK); - wp.setFactStartTime(startTime); - wp.setFactEndTime(endTime); - wp.setWorkQty(workOrder.getMakeQty()); - wp.setQualifiedQty(workOrder.getMakeQty()); - } - workPlanMapper.updateById(oemPlans); + List oemPlans = workPlanMapper.selectList(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getOem, "1") + .eq(WorkPlan::getWoId, deliverablePlan.getWoId()).lt(WorkPlan::getStatus, WorkPlan.STATUS_WORK_OK) + .lt(WorkPlan::getOrders, deliverablePlan.getOrders())); + for (WorkPlan wp : oemPlans) { + wp.setStatus(WorkPlan.STATUS_COMPLETE); + wp.setFactStartTime(startTime); + wp.setFactEndTime(endTime); + wp.setWorkQty(workOrder.getMakeQty()); + wp.setQualifiedQty(workOrder.getMakeQty()); } + workPlanMapper.updateById(oemPlans); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index b0d2aba66..9e9d0b290 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -2936,7 +2936,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl