云
10 天以前 fd1efdba56dbf07943b82c971694579af034fc5a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java
@@ -115,6 +115,15 @@
                .setTemplateId(templateId)
                .setSourceDocCode(sourceDocCode)
                .setStatus(MesQcStatusEnum.DRAFT.getStatus());
        if (Objects.equals(createReqVO.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)
                && createReqVO.getSourceLineId() != null) {
            var line = returnSalesLineService.validateReturnSalesLineExists(createReqVO.getSourceLineId());
            if (!Objects.equals(line.getReturnId(), createReqVO.getSourceDocId())
                    || !Objects.equals(line.getItemId(), createReqVO.getItemId())) {
                throw exception(WM_RETURN_SALES_DETAIL_SOURCE_MISMATCH);
            }
            rqc.setBatchCode(line.getBatchCode());
        }
        rqcMapper.insert(rqc);
        // 3. 从模板指标自动生成检验行
@@ -125,7 +134,7 @@
    @Override
    public void updateRqc(MesQcRqcSaveReqVO updateReqVO) {
        // 1.1 校验存在 + 草稿状态
        validateRqcStatusPrepare(updateReqVO.getId());
        MesQcRqcDO existingRqc = validateRqcStatusPrepare(updateReqVO.getId());
        // 1.2 校验数据
        validateRqcSaveData(updateReqVO);
@@ -134,6 +143,8 @@
        updateObj.setSourceDocType(null).setSourceDocId(null).setSourceLineId(null); // 不允许修改来源单据
        updateObj.setTemplateId(null); // 不允许修改模板
        updateObj.setItemId(null); // 不允许修改物料
        if (Objects.equals(existingRqc.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)
                && existingRqc.getSourceLineId() != null) updateObj.setBatchCode(null);
        rqcMapper.updateById(updateObj);
    }