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 ff672d3..a6e481a 100644 Binary files a/templates/sybg.docx and b/templates/sybg.docx differ