From 0388d54af57e8d3d4a99554501b232ca572b50c6 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 12 十月 2026 17:48:51 +0800
Subject: [PATCH] 客户满意度新增附件与委托单关联;供应商管理新增附件;标准物质接收、记录、验收模块调整;委托单新增已完成列表接口(满意度下拉用);管理记录服务调整

---
 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java
index 9b24dc6..0d0dcad 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java
@@ -428,13 +428,7 @@
         List<ManageRecordIntervals> manageRecordIntervalsList = new ArrayList<>();
 
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        //鑾峰彇褰撳墠骞翠唤
-        LocalDate currentDate = LocalDate.now();
-        // 瀹氫箟鏃ユ湡鏍煎紡
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
-        // 鏍煎紡鍖栧綋鍓嶆棩鏈�
-        String currentMonth = currentDate.format(formatter);
-        ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectOne(Wrappers.<ManageRecordIntervalsTotal>lambdaQuery().eq(ManageRecordIntervalsTotal::getYear, currentMonth));
+        ManageRecordIntervalsTotal manageRecordIntervalsTotal = getOrCreateCurrentYearTotal();
         try {
             InputStream inputStream = file.getInputStream();
             XWPFDocument document = new XWPFDocument(inputStream);
@@ -482,13 +476,7 @@
 
     @Override
     public int addManageRecordIntervals(ManageRecordIntervals manageRecordIntervals) {
-        //鑾峰彇褰撳墠骞翠唤
-        LocalDate currentDate = LocalDate.now();
-        // 瀹氫箟鏃ユ湡鏍煎紡
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
-        // 鏍煎紡鍖栧綋鍓嶆棩鏈�
-        String currentMonth = currentDate.format(formatter);
-        ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectOne(Wrappers.<ManageRecordIntervalsTotal>lambdaQuery().eq(ManageRecordIntervalsTotal::getYear, currentMonth));
+        ManageRecordIntervalsTotal manageRecordIntervalsTotal = getOrCreateCurrentYearTotal();
         manageRecordIntervals.setRecordIntervalsTotalId(manageRecordIntervalsTotal.getId());
         manageRecordIntervalsMapper.insert(manageRecordIntervals);
         manageRecordIntervalsTotal.setTotalNum(1 + manageRecordIntervalsTotal.getTotalNum());
@@ -500,10 +488,28 @@
         ManageRecordIntervals manageRecordIntervals = manageRecordIntervalsMapper.selectById(id);
         manageRecordIntervalsMapper.deleteById(id);
         ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectById(manageRecordIntervals.getRecordIntervalsTotalId());
-        manageRecordIntervalsTotal.setTotalNum(manageRecordIntervalsTotal.getTotalNum() - 1);
+        if (manageRecordIntervalsTotal == null) {
+            return 0;
+        }
+        manageRecordIntervalsTotal.setTotalNum((manageRecordIntervalsTotal.getTotalNum() == null ? 0 : manageRecordIntervalsTotal.getTotalNum()) - 1);
         return manageRecordIntervalsTotalMapper.updateById(manageRecordIntervalsTotal);
     }
 
+    // 骞村害姹囨�昏褰曞師鏈敱姣忓勾 1 鏈� 1 鏃ョ殑瀹氭椂浠诲姟鍒涘缓锛屼换鍔℃湭鍚敤鏃舵澶勫厹搴曡嚜鍔ㄨˉ寤猴紝閬垮厤鍙� id 鏃舵姤绌烘寚閽�
+    private ManageRecordIntervalsTotal getOrCreateCurrentYearTotal() {
+        String year = String.valueOf(LocalDate.now().getYear());
+        ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectOne(Wrappers.<ManageRecordIntervalsTotal>lambdaQuery().eq(ManageRecordIntervalsTotal::getYear, year));
+        if (manageRecordIntervalsTotal == null) {
+            manageRecordIntervalsTotal = new ManageRecordIntervalsTotal();
+            manageRecordIntervalsTotal.setYear(year);
+            manageRecordIntervalsTotal.setTotalNum(0);
+            manageRecordIntervalsTotalMapper.insert(manageRecordIntervalsTotal);
+        } else if (manageRecordIntervalsTotal.getTotalNum() == null) {
+            manageRecordIntervalsTotal.setTotalNum(0);
+        }
+        return manageRecordIntervalsTotal;
+    }
+
     // 姘村钩鍚堝苟鍗曞厓鏍�
     private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) {
         for (int i = fromCol; i <= toCol; i++) {

--
Gitblit v1.9.3