From a8a2358f8c2cdd1c3d39df4502f66357960e5030 Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Wed, 8 Jul 2026 11:32:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(qms):=20=E6=B7=BB=E5=8A=A0=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E7=BC=96=E5=8F=B7=E5=8F=82=E6=95=B0=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=A8=A1=E6=9D=BF=E6=98=8E=E7=BB=86=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 QcMapper 中为 listDetail 方法添加 supplierNo 参数 - 更新 QcMapper.xml 中的 SQL 查询,添加对供应商的关联查询 - 修改 QcServiceImpl 中的 getTemplateDetail 方法签名以包含供应商编号 - 调整模板明细查询逻辑以支持按供应商过滤数据 --- .../entity/QcAttributeTemplate.java | 105 ++++++++++++++++++ .../mapper/QcAttributeTemplateMapper.java | 26 +++++ .../impl/InspectionRequestServiceImpl.java | 31 ++++++ .../inspection/QcAttributeTemplateMapper.xml | 29 +++++ 4 files changed, 191 insertions(+) create mode 100644 src/main/java/com/xujie/modules/inspection/entity/QcAttributeTemplate.java create mode 100644 src/main/java/com/xujie/modules/inspection/mapper/QcAttributeTemplateMapper.java create mode 100644 src/main/resources/mapper/inspection/QcAttributeTemplateMapper.xml diff --git a/src/main/java/com/xujie/modules/inspection/entity/QcAttributeTemplate.java b/src/main/java/com/xujie/modules/inspection/entity/QcAttributeTemplate.java new file mode 100644 index 0000000..944ce7a --- /dev/null +++ b/src/main/java/com/xujie/modules/inspection/entity/QcAttributeTemplate.java @@ -0,0 +1,105 @@ +package com.xujie.modules.inspection.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * QC检验模板实体类 + */ +@Data +@TableName("qc_attribute_template") +public class QcAttributeTemplate { + + /** + * 物料编码 + */ + @TableField("attribute_no") + private String attributeNo; + + /** + * 模板ID + */ + @TableField("template_id") + private String templateId; + + /** + * 抽样水平编号 + */ + @TableField("sampling_level_no") + private String samplingLevelNo; + + /** + * 检验周期 + */ + @TableField("inspection_cycle") + private BigDecimal inspectionCycle; + + /** + * 抽样方案编号 + */ + @TableField("sampling_programme_no") + private String samplingProgrammeNo; + + /** + * AQL值 + */ + @TableField("AQL") + private BigDecimal aql; + + /** + * AC值 + */ + @TableField("AC") + private BigDecimal ac; + + /** + * RE值 + */ + @TableField("RE") + private BigDecimal re; + + /** + * 属性类型 + */ + @TableField("attribute_type") + private String attributeType; + + /** + * 资源ID + */ + @TableField("resource_id") + private String resourceId; + + /** + * 操作 + */ + @TableField("operation") + private String operation; + + /** + * 供应商编号 + */ + @TableField("manufacturer_id") + private String manufacturerId; + + /** + * 站点 + */ + @TableField("site") + private String site; + + /** + * 业务单元编号 + */ + @TableField("bu_no") + private String buNo; + + /** + * 检验类型编号 + */ + @TableField("inspection_type_no") + private String inspectionTypeNo; +} diff --git a/src/main/java/com/xujie/modules/inspection/mapper/QcAttributeTemplateMapper.java b/src/main/java/com/xujie/modules/inspection/mapper/QcAttributeTemplateMapper.java new file mode 100644 index 0000000..436afe1 --- /dev/null +++ b/src/main/java/com/xujie/modules/inspection/mapper/QcAttributeTemplateMapper.java @@ -0,0 +1,26 @@ +package com.xujie.modules.inspection.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xujie.modules.inspection.entity.QcAttributeTemplate; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * QC检验模板 Mapper + */ +@Mapper +public interface QcAttributeTemplateMapper extends BaseMapper { + + /** + * 查询申请单中没有维护检验模板的物料列表 + * @param site 站点 + * @param requestNos 申请单号列表 + * @return 未维护模板的物料和供应商组合列表 + */ + List> findMissingTemplates( + @Param("site") String site, + @Param("requestNos") List requestNos + ); +} diff --git a/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java b/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java index 31d438a..d13d152 100644 --- a/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java +++ b/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java @@ -11,9 +11,11 @@ import com.xujie.common.utils.PageUtils; import com.xujie.modules.inspection.data.*; import com.xujie.modules.inspection.entity.InspectionRequestDetail; import com.xujie.modules.inspection.entity.InspectionRequestDetailSub; +import com.xujie.modules.inspection.entity.QcAttributeTemplate; import com.xujie.modules.inspection.entity.QcPersonList; import com.xujie.modules.inspection.mapper.InspectionRequestDetailMapper; import com.xujie.modules.inspection.mapper.InspectionRequestDetailSubMapper; +import com.xujie.modules.inspection.mapper.QcAttributeTemplateMapper; import com.xujie.modules.order.dao.PODetailMapper; import com.xujie.modules.order.dao.POHeaderMapper; import com.xujie.modules.order.entity.PODetail; @@ -60,6 +62,9 @@ public class InspectionRequestServiceImpl extends ServiceImpl resultList = baseMapper.myPage(new Page<>(data.getPage(), data.getLimit()), data); @@ -629,6 +634,9 @@ public class InspectionRequestServiceImpl extends ServiceImpl requestNos) { + // 查询未维护检验模板的物料和供应商组合 + List> missingTemplates = qcAttributeTemplateMapper.findMissingTemplates(site, requestNos); + + if (missingTemplates != null && !missingTemplates.isEmpty()) { + StringBuilder errorMsg = new StringBuilder("本申请单有以下物料没有维护检验模板:"); + + for (int i = 0; i < missingTemplates.size(); i++) { + HashMap item = missingTemplates.get(i); + String attributeNo = (String) item.get("attributeNo"); + String manufacturerId = (String) item.get("manufacturerId"); + + if (i > 0) { + errorMsg.append(";"); + } + errorMsg.append("物料编码:").append(attributeNo) + .append(",供应商编号:").append(manufacturerId); + } + + throw new RuntimeException(errorMsg.toString()); + } + } + @Override public List queryScheduleView(String qcOperator) { diff --git a/src/main/resources/mapper/inspection/QcAttributeTemplateMapper.xml b/src/main/resources/mapper/inspection/QcAttributeTemplateMapper.xml new file mode 100644 index 0000000..169d758 --- /dev/null +++ b/src/main/resources/mapper/inspection/QcAttributeTemplateMapper.xml @@ -0,0 +1,29 @@ + + + + + + + +