From 027c21867ac838a35d9b29b5c138bc59e4cfbca3 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期日, 28 九月 2025 16:31:46 +0800
Subject: [PATCH] yys 修改word模板
---
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java | 116 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 61 insertions(+), 55 deletions(-)
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
index 6ce3e62..c190fa1 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
@@ -39,6 +39,7 @@
import java.io.OutputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -182,17 +183,17 @@
*/
@Override
public Result submitReviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) {
-// User audit = userMapper.selectById(deviceImpowerDto.getAuditId());
-// this.update(Wrappers.<DeviceImpower>lambdaUpdate()
-// .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId())
-// .set(DeviceImpower::getAuditId, audit.getId())
-// .set(DeviceImpower::getAudit, audit.getName())
-// .set(DeviceImpower::getAuditDate, null)
-// .set(DeviceImpower::getStatus, null)
-// .set(DeviceImpower::getAuditRemark, null));
-//
-// DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId());
-//
+ User audit = userMapper.selectById(deviceImpowerDto.getAuditId());
+ this.update(Wrappers.<DeviceImpower>lambdaUpdate()
+ .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId())
+ .set(DeviceImpower::getAuditId, audit.getId())
+ .set(DeviceImpower::getAudit, audit.getName())
+ .set(DeviceImpower::getAuditDate, null)
+ .set(DeviceImpower::getStatus, null)
+ .set(DeviceImpower::getAuditRemark, null));
+
+ DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId());
+
// // 鍙戦�佹秷鎭�
// Integer userId = SecurityUtils.getUserId().intValue();
// User user = userMapper.selectById(userId);
@@ -226,9 +227,9 @@
}
/**
- * 瀹℃牳璁惧浣跨敤
*
- * @param deviceImpowerDto 璁惧浣跨敤
+ *
+ * @param deviceImpowerDto
*/
@Override
public Result reviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) {
@@ -245,50 +246,55 @@
/**
* 瀵煎嚭璁惧浣跨敤
*
- * @param ImpowerId 璁惧浣跨敤id
+ * @param impowerId 璁惧浣跨敤id
*/
@Override
- public Result exportDeviceImpowerDto(Integer ImpowerId, HttpServletResponse response) {
-// // 鏌ヨ璁惧淇濆吇璁″垝
-// DeviceImpowerDto deviceImpower = baseMapper.selectDeviceImpowerById(ImpowerId);
-//
-// // 鏌ヨ璁惧淇濆吇璁″垝璇︽儏
-// List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(ImpowerId);
-// // 璁剧疆搴忓彿
-// deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> {
-// deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1);
-// });
-//
-// // 鑾峰彇璺緞
-// InputStream inputStream = this.getClass().getResourceAsStream("/static/word/traceability-management-details.docx");
-// Configure configure = Configure.builder()
-// .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy())
-// .build();
-// XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
-// new HashMap<String, Object>() {{
-// put("deviceImpower", deviceImpower);
-// put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList);
-// // 缂栧埗浜虹鍚嶅湴鍧�
-// put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getCompilerId()));
-// // 瀹℃牳浜虹鍚嶅湴鍧�
-// put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId()));
-// }});
-//
-// try {
-// response.setContentType("application/msword");
-// String finalFileName = deviceImpower.getFileName() == null ? "" : deviceImpower.getFileName() + "_";
-// String fileName = URLEncoder.encode(
-// finalFileName+ "璁惧浣跨敤", "UTF-8");
-// response.setHeader("Content-disposition",
-// "attachment;filename=" + fileName + ".docx");
-// OutputStream os = response.getOutputStream();
-// template.write(os);
-// os.flush();
-// os.close();
-// } catch (Exception e) {
-// e.printStackTrace();
-// throw new RuntimeException("瀵煎嚭澶辫触");
-// }
+ public Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response) {
+ // 鏌ヨ璁惧浣跨敤鎺堟潈璁″垝
+ DeviceImpower deviceImpower = baseMapper.selectById(impowerId);
+ DeviceImpowerDto deviceImpowerDto = new DeviceImpowerDto();
+ BeanUtils.copyProperties(deviceImpower, deviceImpowerDto);
+ // 鏍煎紡鍖栨棩鏈熶腑鑻辨枃
+ DateTimeFormatter formatterCH = DateTimeFormatter.ofPattern("yyyy 骞� MM 鏈� dd 鏃�");
+ DateTimeFormatter formatterEN = DateTimeFormatter.ofPattern("yyyy 'Year' MM 'Month' dd 'Day'");
+ deviceImpowerDto.setAuditDateCH(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterCH));
+ deviceImpowerDto.setAuditDateEN(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterEN));
+
+ // 鏌ヨ璁惧淇濆吇璁″垝璇︽儏
+ List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(impowerId);
+ // 璁剧疆搴忓彿
+ deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> {
+ deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1);
+ });
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-impower.docx");
+ Configure configure = Configure.builder()
+ .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy())
+ .build();
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("deviceImpower", deviceImpowerDto);
+ put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList);
+ // 鎺堟潈浜哄湴鍧�
+ put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId()));
+ }});
+
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "璁惧浣跨敤鎺堟潈", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ inputStream.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
return Result.success();
}
}
--
Gitblit v1.9.3