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 | 69 ++++++++++++++++++++--------------
1 files changed, 40 insertions(+), 29 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 3fac647..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
@@ -1,11 +1,14 @@
package com.ruoyi.manage.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.manage.mapper.ManageRecordTotalMapper;
import com.ruoyi.manage.mapper.ManageRecordVerifyMapper;
import com.ruoyi.manage.pojo.ManageRecordTotal;
@@ -34,7 +37,7 @@
* 澶栨潵鏂囦欢纭璁板綍 鏈嶅姟瀹炵幇绫�
* </p>
*
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @author
* @since 2024-11-12 10:29:44
*/
@Service
@@ -48,37 +51,52 @@
private ManageRecordTotalMapper manageRecordTotalMapper;
@Override
- public Map<String, Object> pageManageRecordVerify(Page page, ManageRecordVerify manageRecordVerify) {
- Map<String, Object> map = new HashMap<>();
- map.put("head", PrintChina.printChina(ManageRecordVerify.class));
+ 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());
}
- map.put("body", manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify)));
- return map;
+ return manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify));
}
@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);
@@ -117,7 +129,6 @@
for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご
XWPFTableRow row = rows.get(i);
if (row.getTableCells().size() != 8) {
- System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�");
continue;
}
if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) {
@@ -155,4 +166,4 @@
}
return 0;
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3