From bed432092780b40c46401357ef0119bc3e782740 Mon Sep 17 00:00:00 2001 From: ls Date: Wed, 9 Jul 2025 00:47:48 +0800 Subject: [PATCH] update --- .../ExperimentReportController.java | 8 +-- .../service/IExperimentDocService.java | 2 + .../impl/ExperimentDocServiceImpl.java | 49 ++++++++++++++++-- templates/sybg.docx | Bin 38006 -> 38110 bytes 4 files changed, 52 insertions(+), 7 deletions(-) diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java index 2dbe84d..8438bfb 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java @@ -127,8 +127,8 @@ public class ExperimentReportController extends JeecgController { ExperimentDoc generate(String experimentId, String type); + String generateExperimentReport(String experimentReportId); + List getHistoryByExperimentId(String experimentId, String type); ExperimentDoc getByExperimentId(String experimentId, String type); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java index f2119f0..b93d994 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java @@ -19,6 +19,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.*; import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.MinioUtil; +import org.jeecg.modules.database.constant.ExperimentDocType; import org.jeecg.modules.database.dto.RadiationDetailDTO; import org.jeecg.modules.database.dto.RadiationMapDTO; import org.jeecg.modules.database.entity.*; @@ -232,9 +233,6 @@ public class ExperimentDocServiceImpl extends ServiceImpl params = assembleSybg(experimentId, experimentReport); XWPFTemplate render = XWPFTemplate.compile(absolutePath).render(params); String filePath = outputDir + File.separator + experimentReport.getReportName() + ".docx"; @@ -245,6 +243,7 @@ public class ExperimentDocServiceImpl extends ServiceImpl pathList = new ArrayList<>(); + + String outputDir = tmpDirPath + ExperimentDocType.sybg.getType() + File.separator + experimentId + File.separator + version; + if (FileUtil.exist(outputDir)) { + FileUtil.del(outputDir); + } + if (!FileUtil.exist(outputDir)) { + FileUtil.mkdir(outputDir); + } + Map params = assembleSybg(experimentId, experimentReport); + XWPFTemplate render = XWPFTemplate.compile(absolutePath).render(params); + String filePath = outputDir + File.separator + experimentReport.getReportName() + ".docx"; + render.writeToFile(filePath); + String reportPath = MinioUtil.upload(FileUtil.getInputStream(filePath), + "experiment_doc/" + experimentId + "/" + version + "/" + experimentReport.getReportName() + ".docx"); + experimentReport.setFileUrl(reportPath); + experimentReportService.updateById(experimentReport); + return reportPath; + } catch (Exception e) { + log.error(e.getMessage()); + return ""; + } + } + @Override public ExperimentDoc generate(String experimentId, String type) { String version = DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN); diff --git a/templates/sybg.docx b/templates/sybg.docx index ff672d38111c0b5b1f45a4030ea3e930225a1343..a6e481a2902efc1e9899a304b5f10dbefb1b912e 100644 GIT binary patch delta 5396 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 delta 5271 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 RL;wbeiX?Voa`=BD{tp8AUUvWh