diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/vo/MesQcIpqcSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/vo/MesQcIpqcSaveReqVO.java index cb96704..c42e883 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/vo/MesQcIpqcSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/vo/MesQcIpqcSaveReqVO.java @@ -32,12 +32,13 @@ public class MesQcIpqcSaveReqVO { // ========== 来源单据 ========== - @Schema(description = "来源单据 ID", example = "200") - private Long sourceDocId; - @Schema(description = "来源单据类型", example = "FEEDBACK") private String sourceDocType; + @Schema(description = "来源单据 ID", example = "200") + private Long sourceDocId; + + // TODO @AI: @Schema(description = "来源单据编号", example = "FB20250101001") private String sourceDocCode; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/vo/MesQcOqcSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/vo/MesQcOqcSaveReqVO.java index 08fd1b8..19fc59c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/vo/MesQcOqcSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/vo/MesQcOqcSaveReqVO.java @@ -58,6 +58,7 @@ public class MesQcOqcSaveReqVO { // ========== 数量 ========== + // TODO @AI:这 2 个字段去掉,minCheckQuantity、maxUnqualifiedQuantity;前后端都是; @Schema(description = "最低检测数", example = "5") private Integer minCheckQuantity; @@ -68,6 +69,8 @@ public class MesQcOqcSaveReqVO { @NotNull(message = "本次出货数量不能为空") private BigDecimal outQuantity; + // TODO @AI:checkQuantity = qualifiedQuantity + unqualifiedQuantity;校验下相等;必须的;参考 iqc + @Schema(description = "本次检测数量", example = "10") private Integer checkQuantity; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/vo/MesQcRqcSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/vo/MesQcRqcSaveReqVO.java index 89a2318..4db5ec2 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/vo/MesQcRqcSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/vo/MesQcRqcSaveReqVO.java @@ -57,6 +57,8 @@ public class MesQcRqcSaveReqVO { // ========== 数量 ========== + // TODO @AI:参考 iqc 的参数校验; + @Schema(description = "检测数量", example = "100") private BigDecimal checkQuantity; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/ipqc/MesQcIpqcDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/ipqc/MesQcIpqcDO.java index 80b76f6..9dfae62 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/ipqc/MesQcIpqcDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/ipqc/MesQcIpqcDO.java @@ -65,6 +65,7 @@ public class MesQcIpqcDO extends BaseDO { * 来源单据类型 */ private String sourceDocType; + // TODO @AI:sourceDocCode 是不是不用存储?(晚点在处理,对应模块还没搞完) /** * 来源单据编号 */ diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/iqc/MesQcIqcDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/iqc/MesQcIqcDO.java index 56a79c7..3f428e3 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/iqc/MesQcIqcDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/iqc/MesQcIqcDO.java @@ -159,9 +159,6 @@ public class MesQcIqcDO extends BaseDO { */ private LocalDateTime inspectDate; /** - * 检测人员 - */ - /** * 检测人员用户 ID * * 关联 AdminUserDO 的 id diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java index 608935a..f832c11 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java @@ -67,11 +67,13 @@ public class MesQcIpqcServiceImpl implements MesQcIpqcService { // 1.3 校验工位存在 workstationService.validateWorkstationExists(createReqVO.getWorkstationId()); // 1.4 根据产品 + 检验类型自动匹配模板 + // TODO @AI:参考 iqc,应该通过 getRequiredTemplatesByItemIdAndType 方法; MesQcTemplateDO template = templateDetailService.getTemplateByItemIdAndType( workOrder.getProductId(), MesQcTypeEnum.IPQC.getType()); if (template == null) { throw exception(QC_IPQC_NO_TEMPLATE); } + // TODO @AI:processId 不应该是前端传递,而是通过 workstation + work order + route 表,联合查询出来的; // 2. 插入主表 MesQcIpqcDO ipqc = BeanUtils.toBean(createReqVO, MesQcIpqcDO.class); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java index d922584..34566e4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java @@ -57,6 +57,7 @@ public class MesQcOqcLineServiceImpl implements MesQcOqcLineService { @Override public void createLinesFromTemplate(Long oqcId, Long templateId) { + // TODO @AI:tool 存储 List indicators = templateIndicatorMapper.selectListByTemplateId(templateId); List lines = convertList(indicators, indicator -> new MesQcOqcLineDO() .setOqcId(oqcId).setIndicatorId(indicator.getIndicatorId()) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcServiceImpl.java index b95fd5d..6138796 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcServiceImpl.java @@ -57,7 +57,9 @@ public class MesQcOqcServiceImpl implements MesQcOqcService { public Long createOqc(MesQcOqcSaveReqVO createReqVO) { // 1.1 校验编号唯一 validateOqcCodeUnique(null, createReqVO.getCode()); + // TODO @AI:关联字段的校验! // 1.2 校验模板存在且包含 OQC 类型 + // TODO @AI:不用前端传递,而是类似 iqc 后端计算 Long templateId = createReqVO.getTemplateId(); MesQcTemplateDO template = templateService.validateTemplateExists(templateId); if (!CollUtil.contains(template.getTypes(), MesQcTypeEnum.OQC.getType())) { @@ -66,6 +68,7 @@ public class MesQcOqcServiceImpl implements MesQcOqcService { // 1.3 从模板的产品关联中获取检测参数 // TODO @芋艿:【暂时不用删除】到底 miniCheckQuantity 和 maxUnqualifiedQuantity 是否有必要存储? + // TODO @AI:去掉这 2 个字段的设置,包括数据的存储,也去掉! MesQcTemplateItemDO templateItem = templateDetailService.getTemplateItemByTemplateIdAndItemId( templateId, createReqVO.getItemId()); if (templateItem != null) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java index c35b50f..b251e52 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java @@ -60,7 +60,7 @@ public class MesQcRqcLineServiceImpl implements MesQcRqcLineService { List indicators = templateIndicatorMapper.selectListByTemplateId(templateId); List lines = convertList(indicators, indicator -> new MesQcRqcLineDO() .setRqcId(rqcId).setIndicatorId(indicator.getIndicatorId()) - .setToolId(null) // TODO @芋艿:模板指标暂无 toolId,后续可扩展 + .setToolId(null) // TODO @芋艿:模板指标暂无 toolId,后续可扩展;todo @AI:改成 tool;参考 iqc .setCheckMethod(indicator.getCheckMethod()) .setStandardValue(indicator.getStandardValue()).setUnitMeasureId(indicator.getUnitMeasureId()) .setMaxThreshold(indicator.getThresholdMax()).setMinThreshold(indicator.getThresholdMin()) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java index 4d832d6..2d1d27c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java @@ -53,6 +53,7 @@ public class MesQcRqcServiceImpl implements MesQcRqcService { // TODO @AI:关联的物资等存在的校验; // 1.2 校验检验模板存在且支持 RQC 类型 Long templateId = createReqVO.getTemplateId(); + // TODO @AI:参考 iqc 获取 templateId;不在依赖前端传递; MesQcTemplateDO template = templateService.validateTemplateExists(templateId); if (!CollUtil.contains(template.getTypes(), MesQcTypeEnum.RQC.getType())) { throw exception(QC_RQC_NO_TEMPLATE);