From 96986b2442fe69df7cb973400bea2523f6be6774 Mon Sep 17 00:00:00 2001 From: ls Date: Sun, 9 Feb 2025 01:38:42 +0800 Subject: [PATCH] update --- .../controller/ExperimentController.java | 26 ++++ .../ExperimentSampleInfoController.java | 4 +- .../entity/ExperimentDeviationCondition.java | 6 + .../entity/ExperimentDeviationEquipment.java | 6 + .../entity/ExperimentIrradiationBoard.java | 134 ++++++++++------- .../impl/ExperimentDocServiceImpl.java | 142 +++++++++++++++--- templates/sybg.docx | Bin 31756 -> 32338 bytes 7 files changed, 240 insertions(+), 78 deletions(-) diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java index c28ce8f..10b44f7 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.util.*; +import java.util.stream.Collectors; /** * @Description: 试验管理 @@ -116,6 +117,18 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); + List irradiationBoardList = experiment.getIrradiationBoardList(); + List deviationConditionList = experiment.getDeviationConditionList(); + Set sampleList = sampleInfoList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + Set boardList = irradiationBoardList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + Set conditionList = deviationConditionList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + if (!sampleList.equals(boardList)) { + return Result.error("辐照板信息不匹配!"); + } + if (!sampleList.equals(conditionList)) { + return Result.error("偏置条件信息不匹配!"); + } experiment.setStatus(ExperimentStatus.PRE_TEST); experimentService.saveWithDetail(experiment); @@ -181,6 +194,19 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); + List irradiationBoardList = experiment.getIrradiationBoardList(); + List deviationConditionList = experiment.getDeviationConditionList(); + Set sampleList = sampleInfoList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + Set boardList = irradiationBoardList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + Set conditionList = deviationConditionList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); + if (!sampleList.equals(boardList)) { + return Result.error("辐照板信息不匹配!"); + } + if (!sampleList.equals(conditionList)) { + return Result.error("偏置条件信息不匹配!"); + } + experimentService.saveWithDetail(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experiment.getId()); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java index 563592e..5461b1e 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java @@ -64,6 +64,8 @@ public class ExperimentSampleInfoController extends JeecgController customeRuleMap = new HashMap<>(); // 自定义 sampleModel 字段的查询规则为:RIGHT_LIKE customeRuleMap.put("sampleModel", QueryRuleEnum.RIGHT_LIKE); + customeRuleMap.put("sampleType", QueryRuleEnum.RIGHT_LIKE); + customeRuleMap.put("sampleName", QueryRuleEnum.RIGHT_LIKE); QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap(), customeRuleMap); List pageList = experimentSampleInfoService.list(queryWrapper); @@ -153,7 +155,7 @@ public class ExperimentSampleInfoController extends JeecgController docTempalteMap = new HashMap<>(); + @Autowired + private ISysUserService sysUserService; + + @Autowired + private IClientService clientService; + + @Autowired + private IExperimentTestProcessService experimentTestProcessService; + @Autowired + private ITestStandardsService testStandardsService; + + static Map docTempalteMap = new HashMap<>(); static { //辐照试验计划表 @@ -49,8 +67,11 @@ public class ExperimentDocServiceImpl extends ServiceImpl maps = new HashMap<>(); - maps.put("title", "辐照试验计划表"); + TestStandards testStandards = new TestStandards(); + testStandards.setAttachment(""); + Path lastPathEle = PathUtil.getLastPathEle(Path.of(Optional.ofNullable(testStandards).map(TestStandards::getAttachment).orElse("")) + .getFileName()); + System.out.println(lastPathEle.toString()); //generateExperimentDoc("20241028号实验", "辐照试验计划表", maps); } @@ -72,19 +93,79 @@ public class ExperimentDocServiceImpl extends ServiceImpl params = assembleParams(experimentId, fileName); - XWPFDocument doc = WordExportUtil.exportWord07(absolutePath, params); - FileOutputStream fos = new FileOutputStream(outputFile); - doc.write(fos); - fos.close(); - String path = MinioUtil.upload(FileUtil.getInputStream(outputFile), - "experiment_doc/" + experimentId + "/" + version + "/" + experiment.getName() + "-" + fileName + ".docx"); - return path; + XWPFDocument document = WordExportUtil.exportWord07(absolutePath, params); + + List headers = document.getHeaderList(); + + // 遍历所有节,确保每个节的页眉都添加了页码 + for (XWPFHeader h : headers) { + // 添加页码到每个节的页眉 + addPageNumberToHeader("报告编号:" + experiment.getExperimentNo(), h); + } + + try (FileOutputStream out = new FileOutputStream("/Users/lise/" + fileName + ".docx")) { + document.write(out); + } + document.close(); + //String path = MinioUtil.upload(FileUtil.getInputStream(outputFile), + // "experiment_doc/" + experimentId + "/" + version + "/" + experiment.getName() + "-" + fileName + ".docx"); + return "path"; } catch (Exception e) { log.error(e.getMessage()); + e.printStackTrace(); return null; } } + private static void addPageNumberToHeader(String left, XWPFHeader header) { + + // 创建一个新的段落用于页码 + XWPFParagraph paragraph = header.createParagraph(); + + // 设置段落右对齐 + CTPPr pPr = paragraph.getCTP().addNewPPr(); + pPr.addNewJc().setVal(STJc.BOTH); + + // 添加页码文本 + // 添加文本“第” + XWPFRun run = paragraph.createRun(); + run.setText(left); + // 添加制表符(用于分隔左侧固定字符串和右侧页码) + run.addTab(); + + run = paragraph.createRun(); + run.setText("第 "); + + // 插入当前页码字段 + run = paragraph.createRun(); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.BEGIN); + run.getCTR().addNewInstrText().setStringValue("PAGE"); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.SEPARATE); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.END); + + // 添加文本“页,共” + run = paragraph.createRun(); + run.setText(" 页,共 "); + + // 插入总页数字段 + run = paragraph.createRun(); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.BEGIN); + run.getCTR().addNewInstrText().setStringValue("NUMPAGES"); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.SEPARATE); + run.getCTR().addNewFldChar().setFldCharType(org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType.END); + + // 添加文本“页(含封面)” + run = paragraph.createRun(); + run.setText(" 页(含封面)"); + + // 设置制表符的对齐方式为右对齐 + CTTabs tabs = pPr.addNewTabs(); + CTTabStop tabStop = tabs.addNewTab(); + tabStop.setVal(STTabJc.RIGHT); // 右对齐 + tabStop.setPos(BigInteger.valueOf(8000)); // 设置制表符位置(单位:twips,1 cm = 567 twips) + + } + private Map assembleParams(String experimentId, String type) { switch (type) { case "辐照试验计划表": @@ -107,20 +188,37 @@ public class ExperimentDocServiceImpl extends ServiceImpl assembleSybg(String experimentId) { Experiment experiment = experimentService.getById(experimentId); + experimentService.fetchExperimentDetail(experiment); + if (Objects.isNull(experiment)) { + return new HashMap<>(); + } ExperimentReport latestReport = experimentReportService.getLatestReport(experimentId); Map params = new HashMap<>(); + if (Objects.nonNull(latestReport)) { + params.put("审核人员姓名", Optional.ofNullable(sysUserService.getById(latestReport.getAuditor())).map(SysUser::getRealname) + .orElse("")); + params.put("校对人员姓名", Optional.ofNullable(sysUserService.getById(latestReport.getProofreader())).map(SysUser::getRealname) + .orElse("")); + params.put("批准人员姓名", Optional.ofNullable(sysUserService.getById(latestReport.getConfirmer())).map(SysUser::getRealname) + .orElse("")); + } params.put("试验报告名称", experiment.getName()); params.put("试验编号", experiment.getExperimentNo()); - params.put("编制人员姓名", experiment.getExperimentNo()); - params.put("校对人员姓名", experiment.getExperimentNo()); - params.put("审核人员姓名", experiment.getExperimentNo()); - params.put("批准人员姓名", experiment.getExperimentNo()); - params.put("最后批准完成的日期", experiment.getExperimentNo()); - params.put("委托方单位名称", experiment.getExperimentNo()); - params.put("委托方单位地址", experiment.getExperimentNo()); - params.put("标准代号", experiment.getExperimentNo()); - params.put("标准名称", experiment.getExperimentNo()); - params.put("依据的文件名称", experiment.getExperimentNo()); + params.put("编制人员姓名", Optional.ofNullable(sysUserService.getUserByName(experiment.getCreateBy())).map(SysUser::getRealname) + .orElse("")); + params.put("最后批准完成的日期", DateUtils.formatDate(latestReport.getUpdateTime(), "yyyy年MM月dd日")); + Client client = clientService.getOne(new LambdaQueryWrapper().eq(Client::getName, experiment.getClientName()), false); + params.put("委托方单位名称", Optional.ofNullable(client).map(Client::getName).orElse("")); + params.put("委托方单位地址", Optional.ofNullable(client).map(Client::getAddress).orElse("")); + List experimentTestProcesses = experimentTestProcessService.getByExperimentId(experiment.getId()); + if (CollUtil.isNotEmpty(experimentTestProcesses)) { + String testStandardsId = experimentTestProcesses.get(0).getTestStandardsId(); + Optional testStandards = Optional.ofNullable(testStandardsService.getById(testStandardsId)); + params.put("标准代号", testStandards.map(TestStandards::getCode).orElse("")); + params.put("标准名称", testStandards.map(TestStandards::getName).orElse("")); + Path lastPathEle = PathUtil.getLastPathEle(Path.of(testStandards.map(TestStandards::getAttachment).orElse("")).getFileName()); + params.put("依据的文件名称", lastPathEle.toString()); + } params.put("样品名称", experiment.getExperimentNo()); params.put("样品型号", experiment.getExperimentNo()); params.put("批次", experiment.getExperimentNo()); diff --git a/templates/sybg.docx b/templates/sybg.docx index 542123da94bec5f760a9df40c3405ef604aa5c57..56b679546ba60caed3d1098471db1c7bc8f4d67b 100644 GIT binary patch delta 24985 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 OLB%7yM&08t)BgcZogYsC delta 24462 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 SCWj-3dxs1MSM2fkxc>+A#-zUh