From ef77cc9ff685f257e3d51944f98206f4e849829a Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 18 八月 2026 09:34:59 +0800
Subject: [PATCH] fix:外来文件空指针报错优化
---
cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 35 insertions(+), 23 deletions(-)
diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
index 043e911..3758aa0 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
@@ -37,7 +37,7 @@
* 澶栨潵鏂囦欢纭璁板綍 鏈嶅姟瀹炵幇绫�
* </p>
*
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @author
* @since 2024-11-12 10:29:44
*/
@Service
@@ -53,14 +53,10 @@
@Override
public IPage<ManageRecordVerify> pageManageRecordVerify(Page page, ManageRecordVerify manageRecordVerify) {
if (ObjectUtils.isEmpty(manageRecordVerify.getManageRecordTotalId())) {
- //鑾峰彇褰撳墠骞翠唤
- LocalDate currentDate = LocalDate.now();
- // 瀹氫箟鏃ユ湡鏍煎紡
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
- // 鏍煎紡鍖栧綋鍓嶆棩鏈�
- String currentMonth = currentDate.format(formatter);
- //鏌ヨ鍘嗗彶
- ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth));
+ ManageRecordTotal manageRecordTotal = getCurrentYearRecord();
+ if (ObjectUtils.isEmpty(manageRecordTotal)) {
+ return new Page<>();
+ }
manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId());
}
return manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify));
@@ -68,17 +64,39 @@
@Override
public int addManageRecordVerify(ManageRecordVerify manageRecordVerify) {
+ ManageRecordTotal manageRecordTotal = getOrCreateCurrentYearRecord();
+ manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId());
+ manageRecordVerifyMapper.insert(manageRecordVerify);
+ manageRecordTotal.setTotalNum(1 + manageRecordTotal.getTotalNum());
+ return manageRecordTotalMapper.updateById(manageRecordTotal);
+ }
+
+ private ManageRecordTotal getCurrentYearRecord() {
//鑾峰彇褰撳墠骞翠唤
LocalDate currentDate = LocalDate.now();
// 瀹氫箟鏃ユ湡鏍煎紡
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
// 鏍煎紡鍖栧綋鍓嶆棩鏈�
- String currentMonth = currentDate.format(formatter);
- ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth));
- manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId());
- manageRecordVerifyMapper.insert(manageRecordVerify);
- manageRecordTotal.setTotalNum(1 + manageRecordTotal.getTotalNum());
- return manageRecordTotalMapper.updateById(manageRecordTotal);
+ String currentYear = currentDate.format(formatter);
+ //鏌ヨ鍘嗗彶
+ return manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentYear));
+ }
+
+ private ManageRecordTotal getOrCreateCurrentYearRecord() {
+ ManageRecordTotal manageRecordTotal = getCurrentYearRecord();
+ if (ObjectUtils.isEmpty(manageRecordTotal)) {
+ manageRecordTotal = new ManageRecordTotal();
+ //鑾峰彇褰撳墠骞翠唤
+ LocalDate currentDate = LocalDate.now();
+ // 瀹氫箟鏃ユ湡鏍煎紡
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
+ // 鏍煎紡鍖栧綋鍓嶆棩鏈�
+ String currentYear = currentDate.format(formatter);
+ manageRecordTotal.setYear(currentYear);
+ manageRecordTotal.setTotalNum(0);
+ manageRecordTotalMapper.insert(manageRecordTotal);
+ }
+ return manageRecordTotal;
}
@Override
@@ -94,13 +112,7 @@
public int exportManageRecordVerify(MultipartFile file) {
List<ManageRecordVerify> manageRecordVerifyList = new ArrayList<>();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- //鑾峰彇褰撳墠骞翠唤
- LocalDate currentDate = LocalDate.now();
- // 瀹氫箟鏃ユ湡鏍煎紡
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
- // 鏍煎紡鍖栧綋鍓嶆棩鏈�
- String currentMonth = currentDate.format(formatter);
- ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth));
+ ManageRecordTotal manageRecordTotal = getOrCreateCurrentYearRecord();
try {
InputStream inputStream = file.getInputStream();
XWPFDocument document = new XWPFDocument(inputStream);
@@ -154,4 +166,4 @@
}
return 0;
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3