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++) {