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 @@ + + + + + + + +