From 86492d2d3bb54b36571b48fc713e2301bfd8f879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Mon, 11 May 2026 09:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=B4=A8=E9=87=8F=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=20-=20=E9=87=8F=E5=85=B7=20-=20=E5=90=8C=E7=82=89?= =?UTF-8?q?=E5=90=8C=E6=A7=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quality/pojo/vo/WorkPlanItemDetailVO.java | 6 ++++ .../service/impl/OemStatementServiceImpl.java | 26 ++++++++-------- .../controller/InspectionTaskController.java | 30 +++++++++++++------ .../impl/WorkPlanItemDetailServiceImpl.java | 17 ++++++++++- 4 files changed, 57 insertions(+), 22 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java index aa0a35421..540b08b96 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java @@ -3,12 +3,14 @@ */ package org.springblade.desk.quality.pojo.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail; import java.io.Serial; +import java.util.Date; /** * [工序检验项明细] 视图实体类 @@ -27,4 +29,8 @@ public class WorkPlanItemDetailVO extends WorkPlanItemDetail { @Schema(description = "实际[量具]名称") private String actMtName ; + + @Schema(description = "到期日期(有效日期)") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date dueDate; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java index c78a2da3d..570b84370 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java @@ -569,18 +569,20 @@ public class OemStatementServiceImpl extends BaseServiceImpl list) { if (null != list && list.size() > 0) { - List saves = list.stream().map(statementVO -> { - OemStatementEntity entity = new OemStatementEntity(); - BeanUtils.copyProperties(statementVO, entity); - entity.setApprovalStatus(OemStatementEntity.APPROVAL_STATUS_VIA); - entity.setRosStatus(OemStatementEntity.NOT_NEED_SETTLEMENT); - entity.setMemo("无需结算"); - entity.setTotalPrice(null); - entity.setUnitPrice(null); - entity.setQuotation(""); - entity.setUpdateTime(new Date()); - return entity; - }).collect(Collectors.toList()); + List saves = list.stream() + .map(statementVO -> { + OemStatementEntity entity = new OemStatementEntity(); + BeanUtils.copyProperties(statementVO, entity); + entity.setApprovalStatus(OemStatementEntity.APPROVAL_STATUS_VIA); + entity.setRosStatus(OemStatementEntity.ERR_SETTLEMENT); + entity.setMemo("无需结算"); + entity.setTotalPrice(null); + entity.setUnitPrice(null); + entity.setQuotation(""); + entity.setUpdateTime(new Date()); + return entity; + }) + .collect(Collectors.toList()); // baseMapper.insertOrUpdate(saves); // 逐条处理 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java index 2a6abcf55..0fb4cf904 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java @@ -76,10 +76,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -729,12 +726,28 @@ public class InspectionTaskController extends BladeController { qw.eq("TASK_ID", id); List listSheet = rsSubService.list(qw); - -// InspectionTask inspectionTask = new InspectionTask(); -// inspectionTask.setId(id); -// InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask)); InspectionTask detail = service.getById( id); WorkPlan workPlan = workPlanService.getOne(new QueryWrapper().lambda().eq(WorkPlan::getId, detail.getWpId())); + // 根据workPlan的frontWpId(上一到工序ID)一直往上循环查询到cruxProcess为1的关键工序 + if (workPlan != null && workPlan.getFrontWpId() != null) { + Long currentFrontWpId = workPlan.getFrontWpId(); + //(A→B→A) + int maxIterations = 100; + int iterations = 0; + while (Objects.nonNull(currentFrontWpId) && iterations < maxIterations) { + WorkPlan frontWorkPlan = workPlanService.getById(currentFrontWpId); + if (BeanUtil.isEmpty(frontWorkPlan)) { + break; + } + // 关键工序 + if (StrUtil.isNotEmpty(frontWorkPlan.getCruxProcess()) && "1".equals(frontWorkPlan.getCruxProcess().trim())) { + workPlan = frontWorkPlan; + break; + } + currentFrontWpId = frontWorkPlan.getFrontWpId(); + iterations++; + } + } List list = new ArrayList<>(); if(null != workPlan){ list = macToolUseService.listSlotInfo(workPlan); @@ -749,7 +762,6 @@ public class InspectionTaskController extends BladeController { } } return R.data(list); -// return service.getSamePlace(id); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemDetailServiceImpl.java index e78daf33f..0d7128425 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemDetailServiceImpl.java @@ -3,6 +3,8 @@ */ package org.springblade.desk.quality.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -15,6 +17,8 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.desk.dashboard.pojo.entity.DsProcessMeasuringToolEntity; import org.springblade.desk.dashboard.service.IDsProcessMeasuringToolService; +import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity; +import org.springblade.desk.device.service.IMeasurementRecordsService; import org.springblade.desk.quality.excel.WorkPlanItemDetailExcel; import org.springblade.desk.quality.mapper.WorkPlanItemDetailMapper; import org.springblade.desk.quality.pojo.entity.WorkPlanItem; @@ -29,6 +33,7 @@ import org.springblade.system.feign.IUserClient; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; /** * [工序检验项明细] 服务实现类 @@ -51,6 +56,7 @@ public class WorkPlanItemDetailServiceImpl extends BaseServiceImpl selectWorkPlanItemDetailPage(IPage page, WorkPlanItemDetailVO workPlanItemDetail) { return page.setRecords(baseMapper.selectWorkPlanItemDetailPage(page, workPlanItemDetail)); @@ -67,7 +73,16 @@ public class WorkPlanItemDetailServiceImpl extends BaseServiceImpl