Commit 2147749d authored by 刘林's avatar 刘林

fix(jg):超设计使用年限功能开发

parent 894b5621
...@@ -171,4 +171,10 @@ public class JgOverDesignServiceLife extends BaseEntity { ...@@ -171,4 +171,10 @@ public class JgOverDesignServiceLife extends BaseEntity {
*/ */
@TableField("use_registration_code") @TableField("use_registration_code")
private String useRegistrationCode; private String useRegistrationCode;
@TableField(exist = false)
private String equList;
@TableField(exist = false)
private String equCategory;
} }
...@@ -2282,8 +2282,8 @@ public class CommonServiceImpl implements ICommonService { ...@@ -2282,8 +2282,8 @@ public class CommonServiceImpl implements ICommonService {
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Pattern timePattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}"); Pattern timePattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}");
//如果是历史无证的修改类型为SP_TT并且枚举没有在登记类型中 //如果是历史无证的修改类型为SP_TT并且枚举没有在登记类型中
if(Objects.isNull(RegistrationTypeEnum.getNameByType(formData.getString("type"))) && "jg_his_black".equals(formData.getString("dataSource"))){ if (Objects.isNull(RegistrationTypeEnum.getNameByType(formData.getString("type"))) && "jg_his_black".equals(formData.getString("dataSource"))) {
formData.put("type","SP_TT"); formData.put("type", "SP_TT");
} }
//如果是历史无证的修改类型为SP_TT并且枚举没有在登记类型中 //如果是历史无证的修改类型为SP_TT并且枚举没有在登记类型中
...@@ -2588,31 +2588,46 @@ public class CommonServiceImpl implements ICommonService { ...@@ -2588,31 +2588,46 @@ public class CommonServiceImpl implements ICommonService {
File mergedPdfFile = null; File mergedPdfFile = null;
try { try {
List<File> pdfFiles = new ArrayList<>(); List<File> pdfFiles = formDataList.stream()
for (JSONObject formData : formDataList) { .map(formData -> {
File pdfFile = wordToPdf(fileName, wordPath, formData); File pdfFile = null;
pdfFiles.add(pdfFile); try {
generatedFiles.add(pdfFile); pdfFile = wordToPdf(fileName, wordPath, formData);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (pdfFile != null && pdfFile.exists()) {
generatedFiles.add(pdfFile);
}
return pdfFile;
})
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (!pdfFiles.isEmpty()) {
mergedPdfFile = mergePdfFiles(pdfFiles, fileName + "合并.pdf");
if (mergedPdfFile.exists()) {
generatedFiles.add(mergedPdfFile);
}
} }
mergedPdfFile = mergePdfFiles(pdfFiles, fileName + "合并.pdf");
String uploadedUrl = uploadFile(mergedPdfFile, "useRegistrationFormFiles"); String uploadedUrl = uploadFile(mergedPdfFile, "useRegistrationFormFiles");
return MapBuilder.<String, Object>create().put("useRegistrationFormUrl", uploadedUrl).build(); return Collections.singletonMap("useRegistrationFormUrl", uploadedUrl);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); log.error("生成或上传文件失败", e);
throw new RuntimeException("文件处理失败", e);
} finally { } finally {
for (File file : generatedFiles) { generatedFiles.forEach(this::deleteFileSafely);
try { }
Files.deleteIfExists(file.toPath()); }
} catch (Exception e) {
log.error("文件找不到,删除失败:{}", e); /**
} * 安全删除文件方法
} */
if (mergedPdfFile != null) { private void deleteFileSafely(File file) {
try { if (file != null && file.exists()) {
Files.deleteIfExists(mergedPdfFile.toPath()); try {
} catch (Exception e) { Files.deleteIfExists(file.toPath());
log.error("合并 PDF 文件删除失败:{}", e); } catch (IOException e) {
} log.error("删除文件失败: {}", file.getAbsolutePath(), e);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment