This commit is contained in:
ls
2025-07-08 23:53:25 +08:00
parent c03a6ea811
commit 38944b6002
2 changed files with 49 additions and 20 deletions

View File

@@ -82,7 +82,7 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
@Autowired @Autowired
private IrradiationStandardsServiceImpl irradiationStandardsService; private IrradiationStandardsServiceImpl irradiationStandardsService;
public static void main(String[] args) throws IOException { public static void main2(String[] args) throws IOException {
//The core API uses a minimalist design, only one line of code is required //The core API uses a minimalist design, only one line of code is required
TestStandards testStandards = new TestStandards(); TestStandards testStandards = new TestStandards();
testStandards.setAttachment(""); testStandards.setAttachment("");
@@ -141,20 +141,27 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
} }
private static String formatDate(String date) { private static String formatDateTime(String date) {
if (StringUtils.isBlank(date)) { if (StringUtils.isBlank(date)) {
return ""; return "";
} }
return StringUtils.contains(date, " ") ? StringUtils.substringBefore(date, " ") : date; return StringUtils.contains(date, " ") ? StringUtils.substringBefore(date, " ") : date;
} }
private static String formatDate(Date date) { private static String formatDateTime(Date date) {
if (Objects.isNull(date)) { if (Objects.isNull(date)) {
return ""; return "";
} }
return DateUtils.formatDate(date, "yyyy-MM-dd HH:mm"); return DateUtils.formatDate(date, "yyyy-MM-dd HH:mm");
} }
private static String formatDate(Date date) {
if (Objects.isNull(date)) {
return "";
}
return DateUtils.formatDate(date, "yyyy-MM-dd");
}
public String generateExperimentDoc(String experimentId, String fileName, String version) { public String generateExperimentDoc(String experimentId, String fileName, String version) {
String absolutePath = templatePath + File.separator + docTempalteMap.get(fileName); String absolutePath = templatePath + File.separator + docTempalteMap.get(fileName);
log.info("doc template path: " + absolutePath); log.info("doc template path: " + absolutePath);
@@ -269,8 +276,8 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
root.put("试验编号", experiment.getExperimentNo()); root.put("试验编号", experiment.getExperimentNo());
Client client = clientService.getOne(new LambdaQueryWrapper<Client>().eq(Client::getName, experiment.getClientName()), false); Client client = clientService.getOne(new LambdaQueryWrapper<Client>().eq(Client::getName, experiment.getClientName()), false);
root.put("委托方单位名称", Optional.ofNullable(client).map(Client::getName).orElse("")); root.put("委托方单位名称", Optional.ofNullable(client).map(Client::getName).orElse(""));
String startDate = formatDate(experiment.getStartDate()); String startDate = formatDateTime(experiment.getStartDate());
String endDate = formatDate(experiment.getEndDate()); String endDate = formatDateTime(experiment.getEndDate());
root.put("试验时间", StringUtils.joinWith(" ~ ", startDate, endDate)); root.put("试验时间", StringUtils.joinWith(" ~ ", startDate, endDate));
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experimentId); List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experimentId);
String collect = radiationProcessList.stream().map(v -> v.getRadiationSource()).collect(Collectors.joining(",")); String collect = radiationProcessList.stream().map(v -> v.getRadiationSource()).collect(Collectors.joining(","));
@@ -278,10 +285,11 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
String temp = radiationProcessList.stream().map(v -> v.getEnvironmentalTemperature()).collect(Collectors.joining(",")); String temp = radiationProcessList.stream().map(v -> v.getEnvironmentalTemperature()).collect(Collectors.joining(","));
root.put("温度", temp); root.put("温度", temp);
ExperimentReport latestReport = experimentReportService.getLatestReport(experimentId); ExperimentReport latestReport = experimentReportService.getLatestReport(experimentId);
root.put("批准人员姓名", Optional.ofNullable(latestReport).map(v -> sysUserService.getById(v.getConfirmer())) root.put("批准人员姓名", fixChineseName(Optional.ofNullable(latestReport).map(v -> sysUserService.getById(v.getConfirmer()))
.map(SysUser::getRealname).orElse("")); .map(SysUser::getRealname).orElse("")));
root.put("编制人员姓名", Optional.ofNullable(sysUserService.getUserByName(experiment.getCreateBy())).map(SysUser::getRealname) root.put("编制人员姓名", fixChineseName(Optional.ofNullable(sysUserService.getUserByName(experiment.getCreateBy()))
.orElse("")); .map(SysUser::getRealname)
.orElse("")));
List<Map<String, Object>> sampleList = new ArrayList<>(); List<Map<String, Object>> sampleList = new ArrayList<>();
for (ExperimentRadiationProcess radiationProcess : radiationProcessList) { for (ExperimentRadiationProcess radiationProcess : radiationProcessList) {
@@ -328,12 +336,13 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
} }
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
if (Objects.nonNull(experimentReport)) { if (Objects.nonNull(experimentReport)) {
params.put("审核人员姓名", Optional.ofNullable(sysUserService.getById(experimentReport.getAuditor())).map(SysUser::getRealname) params.put("审核人员姓名", fixChineseName(Optional.ofNullable(sysUserService.getById(experimentReport.getAuditor()))
.orElse("")); .map(SysUser::getRealname)
params.put("校对人员姓名", Optional.ofNullable(sysUserService.getById(experimentReport.getProofreader())) .orElse("")));
.map(SysUser::getRealname).orElse("")); params.put("校对人员姓名", fixChineseName(Optional.ofNullable(sysUserService.getById(experimentReport.getProofreader()))
params.put("批准人员姓名", Optional.ofNullable(sysUserService.getById(experimentReport.getConfirmer())) .map(SysUser::getRealname).orElse("")));
.map(SysUser::getRealname).orElse("")); params.put("批准人员姓名", fixChineseName(Optional.ofNullable(sysUserService.getById(experimentReport.getConfirmer()))
.map(SysUser::getRealname).orElse("")));
params.put("报告生成日期", formatDate(experimentReport.getCreateTime())); params.put("报告生成日期", formatDate(experimentReport.getCreateTime()));
params.put("批准日期", experimentReport.getConfirmerTime()); params.put("批准日期", experimentReport.getConfirmerTime());
params.put("校对日期", experimentReport.getProofreaderTime()); params.put("校对日期", experimentReport.getProofreaderTime());
@@ -342,8 +351,9 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
} }
params.put("试验报告名称", experiment.getName()); params.put("试验报告名称", experiment.getName());
params.put("试验编号", experiment.getExperimentNo()); params.put("试验编号", experiment.getExperimentNo());
params.put("编制人员姓名", Optional.ofNullable(sysUserService.getUserByName(experiment.getCreateBy())).map(SysUser::getRealname) params.put("编制人员姓名", fixChineseName(Optional.ofNullable(sysUserService.getUserByName(experiment.getCreateBy()))
.orElse("")); .map(SysUser::getRealname)
.orElse("")));
Client client = clientService.getOne(new LambdaQueryWrapper<Client>().eq(Client::getName, experiment.getClientName()), false); Client client = clientService.getOne(new LambdaQueryWrapper<Client>().eq(Client::getName, experiment.getClientName()), false);
params.put("委托方单位名称", Optional.ofNullable(client).map(Client::getName).orElse("")); params.put("委托方单位名称", Optional.ofNullable(client).map(Client::getName).orElse(""));
params.put("委托方单位地址", Optional.ofNullable(client).map(Client::getAddress).orElse("")); params.put("委托方单位地址", Optional.ofNullable(client).map(Client::getAddress).orElse(""));
@@ -391,11 +401,11 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
} }
} }
} }
String formatDate = formatDate(experiment.getStartDate()); String formatDate = formatDateTime(experiment.getStartDate());
String toDate = formatDate(experiment.getEndDate()); String toDate = formatDateTime(experiment.getEndDate());
params.put("试验日期", formatDate + (StringUtils.isBlank(toDate) ? "" : (" ~ " + toDate))); params.put("试验日期", formatDate + (StringUtils.isBlank(toDate) ? "" : (" ~ " + toDate)));
params.put("负责人名称", experiment.getSupervisorName()); params.put("负责人名称", fixChineseName(experiment.getSupervisorName()));
params.put("剂量管理员名称", ""); params.put("剂量管理员名称", "");
String operatorName = experiment.getExperimentUserList().stream().map(v -> v.getUserName()).collect(Collectors.joining(",")); String operatorName = experiment.getExperimentUserList().stream().map(v -> v.getUserName()).collect(Collectors.joining(","));
params.put("操作员名称", operatorName); params.put("操作员名称", operatorName);
@@ -770,5 +780,24 @@ public class ExperimentDocServiceImpl extends ServiceImpl<ExperimentDocMapper, E
} }
return string; return string;
} }
private static String fixChineseName(String name) {
if (name == null || name.length() < 2) {
return name;
}
if (name.length() == 2) {
// 两个汉字的情况下,在中间加一个空格
return name.charAt(0) + " " + name.charAt(1);
}
// 三个及以上汉字的情况下,保持不变或按需调整
return name;
}
public static void main(String[] args) {
System.out.println(fixChineseName("张三"));
System.out.println(fixChineseName("张站三"));
}
} }

Binary file not shown.