修复风险仪表盘总人数统计
This commit is contained in:
@@ -2,6 +2,7 @@ package com.ruoyi.ccdi.project.service.impl;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.ccdi.project.domain.CcdiProject;
|
||||
import com.ruoyi.ccdi.project.domain.enums.TriggerType;
|
||||
@@ -235,6 +236,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
||||
}
|
||||
|
||||
bankStatementMapper.deleteByProjectIdAndBatchId(record.getProjectId(), record.getLogId());
|
||||
refreshProjectTargetCount(record.getProjectId());
|
||||
|
||||
CcdiFileUploadRecord update = new CcdiFileUploadRecord();
|
||||
update.setId(record.getId());
|
||||
@@ -853,6 +855,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
||||
result.setTotalCount(totalCount == null ? 0 : totalCount);
|
||||
if (totalCount == null || totalCount <= 0) {
|
||||
log.warn("【文件上传】无流水数据需要保存: totalCount={}", totalCount);
|
||||
refreshProjectTargetCount(projectId);
|
||||
result.setSuccess(true);
|
||||
return result;
|
||||
}
|
||||
@@ -922,6 +925,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
||||
|
||||
log.info("【文件上传】流水入库完成: fetchedCount={}, attemptedCount={}",
|
||||
totalCount, totalAttempted);
|
||||
refreshProjectTargetCount(projectId);
|
||||
result.setSuccess(true);
|
||||
result.setAttemptedCount(totalAttempted);
|
||||
return result;
|
||||
@@ -938,6 +942,24 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
||||
bankStatementMapper.deleteByProjectIdAndBatchId(projectId, logId);
|
||||
}
|
||||
|
||||
private void refreshProjectTargetCount(Long projectId) {
|
||||
CcdiProject project = projectMapper.selectById(projectId);
|
||||
if (project == null) {
|
||||
log.warn("【项目】刷新目标人数时项目不存在: projectId={}", projectId);
|
||||
return;
|
||||
}
|
||||
|
||||
QueryWrapper<CcdiBankStatement> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("DISTINCT TRIM(cret_no)");
|
||||
queryWrapper.eq("project_id", projectId);
|
||||
queryWrapper.isNotNull("cret_no");
|
||||
queryWrapper.apply("TRIM(cret_no) <> ''");
|
||||
|
||||
int targetCount = bankStatementMapper.selectObjs(queryWrapper).size();
|
||||
project.setTargetCount(targetCount);
|
||||
projectMapper.updateById(project);
|
||||
}
|
||||
|
||||
private void validateDeleteRecord(CcdiFileUploadRecord record) {
|
||||
if (record == null) {
|
||||
throw new RuntimeException("上传记录不存在");
|
||||
|
||||
Reference in New Issue
Block a user