Browse Source

feat--审计督察大屏

master
parent
commit
108dfe1c13
  1. 7
      src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java
  2. 3
      src/main/java/com/biutag/supervision/pojo/param/ReportProjectQueryParam.java
  3. 31
      src/main/java/com/biutag/supervision/pojo/vo/AuditSuperviseMapIconVo.java
  4. 4
      src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java
  5. 143
      src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java

7
src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java

@ -4,22 +4,17 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum; import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.mapper.ReportProjectMapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.common.PieItem; import com.biutag.supervision.pojo.dto.common.PieItem;
import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.News; import com.biutag.supervision.pojo.entity.News;
import com.biutag.supervision.pojo.request.datav.DataVRequest; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.vo.AuditNegativeVo;
import com.biutag.supervision.pojo.vo.AuditOverview; import com.biutag.supervision.pojo.vo.AuditOverview;
import com.biutag.supervision.service.NegativeBlameService;
import com.biutag.supervision.service.NegativeService; import com.biutag.supervision.service.NegativeService;
import com.biutag.supervision.service.NewsService; import com.biutag.supervision.service.NewsService;
import com.biutag.supervision.service.datav.DatavService; import com.biutag.supervision.service.datav.DatavService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -48,8 +43,6 @@ public class DataVAuditController {
private final NegativeService negativeService; private final NegativeService negativeService;
private final NegativeMapper negativeMapper;
private final DatavService datavService; private final DatavService datavService;

3
src/main/java/com/biutag/supervision/pojo/param/ReportProjectQueryParam.java

@ -62,6 +62,9 @@ public class ReportProjectQueryParam implements Serializable {
@Schema(defaultValue = "项目单位ID") @Schema(defaultValue = "项目单位ID")
private String projectUnitId; private String projectUnitId;
@Schema(defaultValue = "项目单位ID || 报审单位")
private Set<String> projectUnitIds;
@Schema(defaultValue = "节点状态") @Schema(defaultValue = "节点状态")
private String node; private String node;

31
src/main/java/com/biutag/supervision/pojo/vo/AuditSuperviseMapIconVo.java

@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.math.BigDecimal;
/** /**
* @ClassName AuditSuperviseMapIconVo * @ClassName AuditSuperviseMapIconVo
* @Description 审计监督一级大屏地图数据 * @Description 审计监督一级大屏地图数据
@ -22,27 +24,32 @@ public class AuditSuperviseMapIconVo {
@Schema(description = "部门ID") @Schema(description = "部门ID")
private String departId; private String departId;
@Schema(description = "项目数")
private Integer reportProjectNumber;
@Schema(description = "查处问题数") @Schema(description = "审计单位/项目")
private Integer checkProNumber; private Integer projectNumber;
@Schema(description = "追责问责数") @Schema(description = "审计总金额")
private Integer rushProNumber; private BigDecimal auditAmount;
@Schema(description = "审减||问题金额")
private BigDecimal auditSjAmount;
@Schema(description = "整改问题数") @Schema(description = "查出问题数")
private Integer rectifyNumber; private Integer negativeNumber;
@Schema(description = "追责问责数")
private Integer accountableNumber;
public static AuditSuperviseMapIconVo of(String departId, String name) { public static AuditSuperviseMapIconVo of(String departId, String name) {
AuditSuperviseMapIconVo vo = new AuditSuperviseMapIconVo(); AuditSuperviseMapIconVo vo = new AuditSuperviseMapIconVo();
vo.setDepartId(departId); vo.setDepartId(departId);
vo.setName(name); vo.setName(name);
// 默认初始值 // 默认初始值
vo.setReportProjectNumber(0); vo.setProjectNumber(0);
vo.setCheckProNumber(0); vo.setAuditAmount(new BigDecimal(0));
vo.setRushProNumber(0); vo.setAuditSjAmount(new BigDecimal(0));
vo.setRectifyNumber(0); vo.setNegativeNumber(0);
vo.setAccountableNumber(0);
return vo; return vo;
} }

4
src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java

@ -7,6 +7,7 @@ import com.biutag.supervision.mapper.ReportProjectMapper;
import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.entity.report.ReportProject;
import com.biutag.supervision.pojo.param.ReportProjectQueryParam; import com.biutag.supervision.pojo.param.ReportProjectQueryParam;
import com.biutag.supervision.pojo.vo.EchartsVo; import com.biutag.supervision.pojo.vo.EchartsVo;
import com.biutag.supervision.repository.base.BaseDAO;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,7 +21,7 @@ import java.util.List;
* @Date 2025/12/11 9:40 * @Date 2025/12/11 9:40
*/ */
@Service @Service
public class ReportProjectResourceService { public class ReportProjectResourceService extends BaseDAO {
@Resource @Resource
@ -28,6 +29,7 @@ public class ReportProjectResourceService {
public List<ReportProject> query(ReportProjectQueryParam param) { public List<ReportProject> query(ReportProjectQueryParam param) {
LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
setBatchQuery(param.getProjectUnitId(), param.getProjectUnitIds(), queryWrapper, ReportProject::getProjectUnitId);
queryWrapper.eq(StrUtil.isNotBlank(param.getId()), ReportProject::getId, param.getId()); queryWrapper.eq(StrUtil.isNotBlank(param.getId()), ReportProject::getId, param.getId());
queryWrapper.in(CollUtil.isNotEmpty(param.getIds()), ReportProject::getId, param.getIds()); queryWrapper.in(CollUtil.isNotEmpty(param.getIds()), ReportProject::getId, param.getIds());
queryWrapper.in(CollUtil.isNotEmpty(param.getReportTypes()), ReportProject::getReportType, param.getReportTypes()); queryWrapper.in(CollUtil.isNotEmpty(param.getReportTypes()), ReportProject::getReportType, param.getReportTypes());

143
src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java

@ -1234,7 +1234,12 @@ public class DatavServiceImpl implements DatavService {
auditOverview.setAuditAmount(zftzje); auditOverview.setAuditAmount(zftzje);
auditOverview.setAuditSjAmount(zftzsjje); auditOverview.setAuditSjAmount(zftzsjje);
auditOverview.setNegativeNumber(negativeListData.size()); auditOverview.setNegativeNumber(negativeListData.size());
auditOverview.setAccountableNumber((long) (blameResult.personalBlames().size() + blameResult.leadBlames().size())); long accountableNumber = 0L;
if (blameResult != null) {
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size();
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size();
}
auditOverview.setAccountableNumber(accountableNumber);
} else { } else {
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam(); DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam();
dataAuditQueryParam.setAuditTimeStart(toLocalDateTime(request.getBeginTime())); dataAuditQueryParam.setAuditTimeStart(toLocalDateTime(request.getBeginTime()));
@ -1252,8 +1257,12 @@ public class DatavServiceImpl implements DatavService {
auditOverview.setAuditAmount(je); auditOverview.setAuditAmount(je);
auditOverview.setAuditSjAmount(zsjje); auditOverview.setAuditSjAmount(zsjje);
auditOverview.setNegativeNumber(negativeListData.size()); auditOverview.setNegativeNumber(negativeListData.size());
auditOverview.setAccountableNumber((long) (blameResult.personalBlames().size() + blameResult.leadBlames().size())); long accountableNumber = 0L;
if (blameResult != null) {
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size();
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size();
}
auditOverview.setAccountableNumber(accountableNumber);
} }
JSONObject object = new JSONObject(); JSONObject object = new JSONObject();
object.fluentPut("fxData", fxData); object.fluentPut("fxData", fxData);
@ -1293,45 +1302,40 @@ public class DatavServiceImpl implements DatavService {
// 审计总览 // 审计总览
@Override @Override
public Result<AuditOverview> aduitOverview(DataVRequest request) { public Result<AuditOverview> aduitOverview(DataVRequest request) {
Date beginTime = request.getBeginTime(); AuditOverview overview = new AuditOverview();
Date endTime = request.getEndTime(); // 政府投资审计总数
List<Negative> negatives = negativeService.list(new LambdaQueryWrapper<Negative>().between(Negative::getCrtTime, beginTime, DateUtil.endOfDay(endTime))
.in(Negative::getProblemSourcesCode, List.of(ProblemSourcesEnum.ZFTZSJ.getValue(), ProblemSourcesEnum.ZFSACFSS.getValue(), ProblemSourcesEnum.JJZRSJ.getValue(), ProblemSourcesEnum.ZXSJ.getValue())));
BlameResult blameResult = buildBlameResult(negatives);
// 政府投资数据
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam(); ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam();
reportProjectQueryParam.setArchivingStart(beginTime); reportProjectQueryParam.setPublicationDateStart(request.getBeginTime());
reportProjectQueryParam.setArchivingEnd(endTime); reportProjectQueryParam.setPublicationDateEnd(request.getEndTime());
reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode());
reportProjectQueryParam.setNode(ReportProjectNodeEnum.END.getCode());
List<ReportProject> reportProjects = reportProjectResourceService.query(reportProjectQueryParam); List<ReportProject> reportProjects = reportProjectResourceService.query(reportProjectQueryParam);
// 政府投资审计金额 // 其他项目总数
BigDecimal zftzje = reportProjects.stream().map(ReportProject::getReportMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP);
// 政府投资审减金额
BigDecimal zftzsjje = reportProjects.stream().map(ReportProject::getArchivingReduceMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP);
// 其他审计数据
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam(); DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam();
dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam); List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam);
// 其他审计金额 NegativeQueryParam negativeQueryParam = new NegativeQueryParam();
BigDecimal qtsjje = dataAuditList.stream().map(DataAudit::getAuditAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime()));
// 发现问题金额 negativeQueryParam.setProblemSourcesCode(GROUP_27_28_29_30);
BigDecimal fxwtje = dataAuditList.stream().map(DataAudit::getIssueAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam);
BlameResult blameResult = this.buildBlameResult(negativeListData);
// 政府投资总金额
// 最后得出的总的项目数量 BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney);
int projectNumber = reportProjects.size() + dataAuditList.size(); // 政府投资审减金额
// 审计总金额 BigDecimal zftzsjje = this.sumAmountInWan(reportProjects, ReportProject::getArchivingReduceMoney);
BigDecimal auditAmount = zftzje.add(qtsjje); // 其他审计总金额
// BigDecimal qtsjje = this.sumAmount(dataAuditList, DataAudit::getAuditAmount, new BigDecimal(1));
AuditOverview overview = new AuditOverview(); // 其他审计审减问题金额
overview.setProjectNumber(new BigDecimal(projectNumber)); BigDecimal qtsjwtje = this.sumAmount(dataAuditList, DataAudit::getIssueAmount, new BigDecimal(1));
overview.setAuditAmount(auditAmount); overview.setProjectNumber(BigDecimal.valueOf(reportProjects.size()+ dataAuditList.size()));
overview.setAuditSjAmount(zftzsjje); overview.setAuditAmount(zftzje.add(qtsjje));
overview.setAuditWtAmount(fxwtje); overview.setAuditSjAmount(zftzsjje.add(qtsjwtje));
overview.setNegativeNumber(negatives.size()); overview.setNegativeNumber(negativeListData.size());
overview.setAccountableNumber((long) (blameResult.personalBlames().size() + blameResult.leadBlames().size())); long accountableNumber = 0L;
if (blameResult != null) {
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size();
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size();
}
overview.setAccountableNumber(accountableNumber);
return Result.success(overview); return Result.success(overview);
} }
@ -1351,49 +1355,46 @@ public class DatavServiceImpl implements DatavService {
Set<String> allDepartIds = value.getAllDepartIds(); Set<String> allDepartIds = value.getAllDepartIds();
AuditSuperviseMapIconVo auditSuperviseMapIconVo = AuditSuperviseMapIconVo.of(key, value.getParentName()); AuditSuperviseMapIconVo auditSuperviseMapIconVo = AuditSuperviseMapIconVo.of(key, value.getParentName());
// 政府投资审计总数
// 项目数
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam(); ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam();
reportProjectQueryParam.setArchivingStart(request.getBeginTime()); reportProjectQueryParam.setPublicationDateStart(request.getBeginTime());
reportProjectQueryParam.setArchivingEnd(request.getEndTime()); reportProjectQueryParam.setPublicationDateEnd(request.getEndTime());
reportProjectQueryParam.setAuditUnitIds(allDepartIds); // 用报审单位
reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode()); reportProjectQueryParam.setProjectUnitIds(allDepartIds);
reportProjectQueryParam.setNode(ReportProjectNodeEnum.END.getCode()); List<ReportProject> reportProjects = reportProjectResourceService.query(reportProjectQueryParam);
List<ReportProject> reportProjectList = reportProjectResourceService.query(reportProjectQueryParam); // 其他项目总数
// 其他审计项目
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam(); DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam();
dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setSecondLevelDeptId(Long.valueOf(entry.getKey())); dataAuditQueryParam.setSecondLevelDeptId(Long.valueOf(key));
List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam); List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam);
Integer reportProjectNumber = reportProjectList.size() + dataAuditList.size();
auditSuperviseMapIconVo.setReportProjectNumber(reportProjectNumber);
NegativeQueryParam negativeQueryParam = new NegativeQueryParam(); NegativeQueryParam negativeQueryParam = new NegativeQueryParam();
List<Date> dates = Arrays.asList(request.getBeginTime(), request.getEndTime()); negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime()));
negativeQueryParam.setCrtTime(dates); negativeQueryParam.setProblemSourcesCode(GROUP_27_28_29_30);
negativeQueryParam.setInvolveDepartIds(allDepartIds); List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam);
negativeQueryParam.setProblemSourcesCode(List.of(ProblemSourcesEnum.ZFTZSJ.getValue(),
ProblemSourcesEnum.ZFSACFSS.getValue(), BlameResult blameResult = this.buildBlameResult(negativeListData);
ProblemSourcesEnum.JJZRSJ.getValue(), // 政府投资总金额
ProblemSourcesEnum.ZXSJ.getValue())); BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney);
List<Negative> negativeList = negativeResourceService.query(negativeQueryParam); // 政府投资审减金额
// 查处问题数 BigDecimal zftzsjje = this.sumAmountInWan(reportProjects, ReportProject::getArchivingReduceMoney);
auditSuperviseMapIconVo.setCheckProNumber(negativeList.size()); // 其他审计总金额
if (CollectionUtil.isNotEmpty(negativeList)) { BigDecimal qtsjje = this.sumAmount(dataAuditList, DataAudit::getAuditAmount, new BigDecimal(1));
// 追责问责数 // 其他审计审减问题金额
Set<String> negativeIds = negativeList.stream().map(Negative::getId).collect(Collectors.toSet()); BigDecimal qtsjwtje = this.sumAmount(dataAuditList, DataAudit::getIssueAmount, new BigDecimal(1));
if (CollectionUtil.isNotEmpty(negativeIds)) {
LambdaQueryWrapper<NegativeBlame> wrapper = new LambdaQueryWrapper<>(); auditSuperviseMapIconVo.setProjectNumber(reportProjects.size()+ dataAuditList.size());
wrapper.in(NegativeBlame::getNegativeId, negativeIds); auditSuperviseMapIconVo.setAuditAmount(zftzje.add(qtsjje));
wrapper.ne(NegativeBlame::getHandleResultName, "不予追责"); auditSuperviseMapIconVo.setAuditSjAmount(zftzsjje.add(qtsjwtje));
int rushProNumber = (int) negativeBlameService.count(wrapper); auditSuperviseMapIconVo.setNegativeNumber(negativeListData.size());
auditSuperviseMapIconVo.setRushProNumber(rushProNumber); int accountableNumber = 0;
} if (blameResult != null) {
// 整改问题数 accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size();
long rectifyNumber = negativeList.stream().filter(one -> Objects.equals(one.getIsRectifyCode(), "1")).count(); accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size();
auditSuperviseMapIconVo.setRectifyNumber((int) rectifyNumber);
} }
auditSuperviseMapIconVo.setAccountableNumber(accountableNumber);
auditSuperviseMapIconVoList.add(auditSuperviseMapIconVo); auditSuperviseMapIconVoList.add(auditSuperviseMapIconVo);
} }
JSONObject data = new JSONObject().fluentPut("auditSuperviseMapIconVoList", auditSuperviseMapIconVoList); JSONObject data = new JSONObject().fluentPut("auditSuperviseMapIconVoList", auditSuperviseMapIconVoList);

Loading…
Cancel
Save