gaoluyang
21 小时以前 abd339106ed3a6465293edccd33e5f87bd43bdde
cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -248,6 +248,7 @@
                        // 对象复制
                    QualityMonitorDetails monitorDetails = new QualityMonitorDetails();
                    BeanUtils.copyProperties(detailsUpload, monitorDetails);
                    monitorDetails.setMonitorWay(normalizeMonitorWay(detailsUpload.getMonitorWay()));
                    monitorDetails.setQualityMonitorId(qualityMonitor.getQualityMonitorId());
                    if (!detailsUpload.getCompletionMonth().matches("\\d{4}-\\d{2}")) {
                        throw new ErrorException("完成时限格式应为yyyy-MM");
@@ -275,6 +276,20 @@
            throw new RuntimeException(e);
        }
        return qualityMonitor;
    }
    /**
     * 质控方式统一用“、”分隔,兼容导入模板里常见的逗号/分号写法。
     */
    private String normalizeMonitorWay(String value) {
        if (StringUtils.isBlank(value)) {
            return value;
        }
        return java.util.Arrays.stream(value.split("[、,,;;]"))
                .map(String::trim)
                .filter(StringUtils::isNotBlank)
                .distinct()
                .collect(Collectors.joining("、"));
    }
    /**
@@ -628,7 +643,7 @@
        try {
            response.setContentType("application/msword");
            String fileName = URLEncoder.encode(
                    "质量监控实施计划", "UTF-8");
                    "质量控制措施", "UTF-8");
            response.setHeader("Content-disposition",
                    "attachment;filename=" + fileName + ".docx");
            OutputStream os = response.getOutputStream();
@@ -842,7 +857,7 @@
        try {
            response.setContentType("application/msword");
            String fileName = URLEncoder.encode(
                    "监控评价", "UTF-8");
                    "质量控制评价记录", "UTF-8");
            response.setHeader("Content-disposition",
                    "attachment;filename=" + fileName + ".docx");
            OutputStream os = response.getOutputStream();