cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
@@ -53,28 +53,14 @@
    @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));
            manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId());
            manageRecordVerify.setManageRecordTotalId(getOrCreateCurrentYearTotal().getId());
        }
        return manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify));
    }
    @Override
    public int addManageRecordVerify(ManageRecordVerify manageRecordVerify) {
        //获取当前年份
        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 = getOrCreateCurrentYearTotal();
        manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId());
        manageRecordVerifyMapper.insert(manageRecordVerify);
        manageRecordTotal.setTotalNum(1 + manageRecordTotal.getTotalNum());
@@ -86,7 +72,10 @@
        ManageRecordVerify manageRecordVerify = manageRecordVerifyMapper.selectById(id);
        manageRecordVerifyMapper.deleteById(id);
        ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectById(manageRecordVerify.getManageRecordTotalId());
        manageRecordTotal.setTotalNum(manageRecordTotal.getTotalNum() - 1);
        if (manageRecordTotal == null) {
            return 0;
        }
        manageRecordTotal.setTotalNum((manageRecordTotal.getTotalNum() == null ? 0 : manageRecordTotal.getTotalNum()) - 1);
        return manageRecordTotalMapper.updateById(manageRecordTotal);
    }
@@ -94,13 +83,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 = getOrCreateCurrentYearTotal();
        try {
            InputStream inputStream = file.getInputStream();
            XWPFDocument document = new XWPFDocument(inputStream);
@@ -154,4 +137,19 @@
        }
        return 0;
    }
    // 年度汇总记录原本由每年 1 月 1 日的定时任务创建,任务未启用时此处兜底自动补建,避免取 id 时报空指针
    private ManageRecordTotal getOrCreateCurrentYearTotal() {
        String year = String.valueOf(LocalDate.now().getYear());
        ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, year));
        if (manageRecordTotal == null) {
            manageRecordTotal = new ManageRecordTotal();
            manageRecordTotal.setYear(year);
            manageRecordTotal.setTotalNum(0);
            manageRecordTotalMapper.insert(manageRecordTotal);
        } else if (manageRecordTotal.getTotalNum() == null) {
            manageRecordTotal.setTotalNum(0);
        }
        return manageRecordTotal;
    }
}