Browse Source

fix--政府投资屏幕

master
buaixuexideshitongxue 3 weeks ago
parent
commit
0d02069df7
  1. 82
      src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java
  2. 3
      src/main/java/com/biutag/supervision/mapper/DataAuditMapper.java
  3. 21
      src/main/java/com/biutag/supervision/mapper/ReportProjectMapper.java
  4. 15
      src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java
  5. 5
      src/main/java/com/biutag/supervision/repository/dataAudit/DataAuditResourceService.java
  6. 4
      src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java
  7. 22
      src/main/java/com/biutag/supervision/service/datav/DatavService.java
  8. 130
      src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java
  9. 15
      src/main/resources/mapper/DataAuditMapper.xml

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

@ -1,24 +1,18 @@
package com.biutag.supervision.controller.datav; package com.biutag.supervision.controller.datav;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; 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.constants.enums.invest.DeleteStatusEnum;
import com.biutag.supervision.constants.enums.invest.ReportProjectNodeEnum;
import com.biutag.supervision.mapper.NegativeMapper; import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.mapper.ReportProjectMapper; 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.request.datav.DataVRequest;
import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.NegativeBlame;
import com.biutag.supervision.pojo.entity.News; import com.biutag.supervision.pojo.entity.News;
import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.vo.AuditNegativeVo; 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.pojo.vo.EchartsVo;
import com.biutag.supervision.service.NegativeBlameService; 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;
@ -30,12 +24,9 @@ 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.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.biutag.supervision.constants.WorkDynamicConstants.SJGZDT; import static com.biutag.supervision.constants.WorkDynamicConstants.SJGZDT;
@ -67,55 +58,46 @@ public class DataVAuditController {
@Resource @Resource
private DatavService datavService; private DatavService datavService;
@Operation(description = "审计督察一级大屏中央数字")
@GetMapping("/overview")
public Result<AuditOverview> overview(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
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())));
long accountableNumber = 0;
if (CollectionUtil.isNotEmpty(negatives)){
accountableNumber = negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negatives.stream().map(Negative::getId).collect(Collectors.toSet()))
.ne(NegativeBlame::getHandleResultName, "不予追责"));
}
LambdaQueryWrapper<ReportProject> projectLambdaQueryWrapper = new LambdaQueryWrapper<>();
projectLambdaQueryWrapper.eq(ReportProject::getNode, ReportProjectNodeEnum.END);
projectLambdaQueryWrapper.eq(ReportProject::getDeleteFlag, DeleteStatusEnum.NO.getCode());
projectLambdaQueryWrapper.between(ReportProject::getApplicantTime, beginTime, endTime);
List<ReportProject> reportProjects = reportProjectMapper.selectList(projectLambdaQueryWrapper);
BigDecimal totalReportMoney = reportProjects.stream().map(ReportProject::getReportMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP); ;
BigDecimal totalArchivingReduceMoney = reportProjects.stream().map(ReportProject::getArchivingReduceMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP);
AuditOverview overview = new AuditOverview();
overview.setNegativeNumber(negatives.size());
overview.setAccountableNumber(accountableNumber);
overview.setProjectNumber(new BigDecimal(reportProjects.size()));
overview.setAuditAmount(totalReportMoney);
overview.setAuditSjAmount(totalArchivingReduceMoney);
return Result.success(overview);
}
@Operation(summary = "审计整改结果")
@GetMapping("/getAuditNegativeVo") @GetMapping("/getAuditNegativeVo")
public Result<JSONObject> getAuditNegativeVo(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){ public Result<JSONObject> getAuditNegativeVo(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
List<AuditNegativeVo> fxData = negativeMapper.getAuditNegativeVo(beginTime,endTime,"3"); List<AuditNegativeVo> fxData = negativeMapper.getAuditNegativeVo(beginTime,endTime,"3");
List<AuditNegativeVo> jsData = negativeMapper.getAuditNegativeVo(beginTime,endTime,"4"); List<AuditNegativeVo> jsData = negativeMapper.getAuditNegativeVo(beginTime,endTime,"4");
List<EchartsVo> barData = negativeMapper.getBarEchartsVoData(beginTime,endTime);
JSONObject object=new JSONObject(); JSONObject object=new JSONObject();
object.fluentPut("fxData",fxData); object.fluentPut("fxData",fxData);
object.fluentPut("jsData",jsData); object.fluentPut("jsData",jsData);
object.fluentPut("barData",barData);
return Result.success(object); return Result.success(object);
} }
@Operation(summary = "获取审计项目类型")
@PostMapping("/getAuditType")
public Result<JSONObject> getAuditType(@RequestBody DataVRequest request) {
return datavService.getAuditType(request);
}
@Operation(description = "审计督察一级大屏中央数字")
@PostMapping("/getOverview")
public Result<AuditOverview> getOverview(@RequestBody DataVRequest request){
return datavService.aduitOverview(request);
@GetMapping("/getWorkDynamics")
public Result<List<News>> getWorkDynamics(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
List<News> newsList = newsService.getWorkDynamics(beginTime, DateUtil.endOfDay(endTime), SJGZDT, null);
return Result.success(newsList);
} }
@Operation(description = "审计督察一级大屏中央地图数据")
@PostMapping("/getAuditMap")
public Result<JSONObject> getAuditMap(@RequestBody DataVRequest request){
return datavService.getAuditMap(request);
}
@Operation(description = "审计工作趋势")
@GetMapping("/getAuditTrend")
public Result<JSONObject> getAuditTrend(@RequestParam Integer year){
return datavService.getAuditTrend(year);
}
@Operation(summary = "审计查出问题")
@GetMapping("/problems") @GetMapping("/problems")
public Result<List<PieItem>> problems(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, public Result<List<PieItem>> problems(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
@ -129,13 +111,15 @@ public class DataVAuditController {
return Result.success(result); return Result.success(result);
} }
@Operation(summary = "审计工作动态")
@GetMapping("/getWorkDynamics")
public Result<List<News>> getWorkDynamics(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
List<News> newsList = newsService.getWorkDynamics(beginTime, DateUtil.endOfDay(endTime), SJGZDT, null);
return Result.success(newsList);
}
@Operation(description = "审计督察一级大屏中央地图数据")
@PostMapping("/getAuditMap")
public Result<JSONObject> getAuditMap(@RequestBody DataVRequest request){
return datavService.getAuditMap(request);
}
} }

3
src/main/java/com/biutag/supervision/mapper/DataAuditMapper.java

@ -1,6 +1,7 @@
package com.biutag.supervision.mapper; package com.biutag.supervision.mapper;
import com.biutag.supervision.pojo.entity.DataAudit; import com.biutag.supervision.pojo.entity.DataAudit;
import com.biutag.supervision.pojo.vo.EchartsVo;
import com.biutag.supervision.repository.base.HBaseMapper; import com.biutag.supervision.repository.base.HBaseMapper;
import java.util.List; import java.util.List;
@ -8,4 +9,6 @@ import java.util.List;
public interface DataAuditMapper extends HBaseMapper<DataAudit> { public interface DataAuditMapper extends HBaseMapper<DataAudit> {
int insertBatch(List<DataAudit> list); int insertBatch(List<DataAudit> list);
List<EchartsVo> getAuditTrend(Integer year);
} }

21
src/main/java/com/biutag/supervision/mapper/ReportProjectMapper.java

@ -4,9 +4,30 @@ package com.biutag.supervision.mapper;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.entity.report.ReportProject;
import com.biutag.supervision.pojo.vo.EchartsVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@DS("invest") @DS("invest")
public interface ReportProjectMapper extends BaseMapper<ReportProject> { public interface ReportProjectMapper extends BaseMapper<ReportProject> {
@Select("SELECT " +
" CONCAT(months.month, '月') AS name, " +
" COUNT(rp.id) AS value " +
"FROM ( " +
" SELECT 1 AS month UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 " +
" UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 " +
" UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12 " +
") months " +
"LEFT JOIN report_project rp " +
" ON MONTH(rp.crt_time) = months.month " +
" AND YEAR(rp.crt_time) = #{year} " +
" AND rp.delete_flag = 0 " +
"GROUP BY months.month " +
"ORDER BY months.month")
List<EchartsVo> getReportProjectTrend(@Param("year") Integer year);
} }

15
src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java

@ -15,23 +15,22 @@ import java.math.BigDecimal;
@Schema(description = "审计督察中央数字数据VO") @Schema(description = "审计督察中央数字数据VO")
public class AuditOverview { public class AuditOverview {
// 查出问题数
private Integer negativeNumber;
// 追责问责数
private Long accountableNumber;
@Schema(description = "审计单位/项目") @Schema(description = "审计单位/项目")
private BigDecimal projectNumber; private BigDecimal projectNumber;
@Schema(description = "审计总金额") @Schema(description = "审计总金额")
private BigDecimal auditAmount; private BigDecimal auditAmount;
@Schema(description = "审减金额") @Schema(description = "审减金额")
private BigDecimal auditSjAmount; private BigDecimal auditSjAmount;
@Schema(description = "问题金额")
private BigDecimal auditWtAmount;
@Schema(description = "查出问题数")
private Integer negativeNumber;
@Schema(description = "追责问责数")
private Long accountableNumber;
} }

5
src/main/java/com/biutag/supervision/repository/dataAudit/DataAuditResourceService.java

@ -9,6 +9,7 @@ import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.mapper.DataAuditMapper; import com.biutag.supervision.mapper.DataAuditMapper;
import com.biutag.supervision.pojo.entity.DataAudit; import com.biutag.supervision.pojo.entity.DataAudit;
import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam; import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam;
import com.biutag.supervision.pojo.vo.EchartsVo;
import com.biutag.supervision.repository.base.BaseDAO; import com.biutag.supervision.repository.base.BaseDAO;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.ValidationException; import jakarta.validation.ValidationException;
@ -110,4 +111,8 @@ public class DataAuditResourceService extends BaseDAO {
} }
return dataAuditMapper.selectById(id); return dataAuditMapper.selectById(id);
} }
public List<EchartsVo> getAuditTrend(Integer year) {
return dataAuditMapper.getAuditTrend(year);
}
} }

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

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervision.mapper.ReportProjectMapper; 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 jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -87,4 +88,7 @@ public class ReportProjectResourceService {
} }
public List<EchartsVo> getReportProjectTrend(Integer year) {
return reportProjectMapper.getReportProjectTrend(year);
}
} }

22
src/main/java/com/biutag/supervision/service/datav/DatavService.java

@ -3,6 +3,7 @@ package com.biutag.supervision.service.datav;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.request.datav.DataVRequest; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.vo.AuditOverview;
/** /**
* @ClassName DatavService * @ClassName DatavService
@ -47,4 +48,25 @@ public interface DatavService {
* @return * @return
*/ */
Result<JSONObject> getAllCaseVerificationCount(DataVRequest request); Result<JSONObject> getAllCaseVerificationCount(DataVRequest request);
/**
* 审计大屏 审计项目类型
* @param request
* @return
*/
Result<JSONObject> getAuditType(DataVRequest request);
/**
* 审计大屏 工作趋势
* @param year
* @return
*/
Result<JSONObject> getAuditTrend( Integer year);
/**
* 审计大屏 中央总览数据
* @param request
* @return
*/
Result<AuditOverview> aduitOverview(DataVRequest request);
} }

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

@ -1,6 +1,7 @@
package com.biutag.supervision.service.datav; package com.biutag.supervision.service.datav;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
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;
@ -9,16 +10,16 @@ import com.biutag.supervision.constants.enums.DepartGroupEnum;
import com.biutag.supervision.constants.enums.InspectCaseEnum; import com.biutag.supervision.constants.enums.InspectCaseEnum;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum; import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.constants.enums.invest.DeleteStatusEnum; import com.biutag.supervision.constants.enums.invest.DeleteStatusEnum;
import com.biutag.supervision.constants.enums.invest.ReportProjectNodeEnum;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.DepartAndSubDepartDto; import com.biutag.supervision.pojo.dto.DepartAndSubDepartDto;
import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.entity.NegativeBlame;
import com.biutag.supervision.pojo.entity.SupExternalDepart;
import com.biutag.supervision.pojo.entity.SupPolice;
import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.entity.report.ReportProject;
import com.biutag.supervision.pojo.param.*; import com.biutag.supervision.pojo.param.*;
import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam;
import com.biutag.supervision.pojo.request.datav.DataVRequest; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.vo.*; import com.biutag.supervision.pojo.vo.*;
import com.biutag.supervision.repository.dataAudit.DataAuditResourceService;
import com.biutag.supervision.repository.dataCaseVerif.DataCaseVerifResourceService; import com.biutag.supervision.repository.dataCaseVerif.DataCaseVerifResourceService;
import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService; import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService;
import com.biutag.supervision.repository.mail.MailResourceService; import com.biutag.supervision.repository.mail.MailResourceService;
@ -27,11 +28,15 @@ import com.biutag.supervision.repository.reportproject.ReportProjectResourceServ
import com.biutag.supervision.repository.supExternalDepart.SupExternalDepartResourceService; import com.biutag.supervision.repository.supExternalDepart.SupExternalDepartResourceService;
import com.biutag.supervision.repository.supdepart.SupDepartResourceService; import com.biutag.supervision.repository.supdepart.SupDepartResourceService;
import com.biutag.supervision.service.NegativeBlameService; import com.biutag.supervision.service.NegativeBlameService;
import com.biutag.supervision.service.NegativeService;
import com.biutag.supervision.service.SupPoliceService; import com.biutag.supervision.service.SupPoliceService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -74,6 +79,12 @@ public class DatavServiceImpl implements DatavService {
@Resource @Resource
private SupPoliceService supPoliceService; private SupPoliceService supPoliceService;
@Resource
private DataAuditResourceService dataAuditResourceService;
@Resource
private NegativeService negativeService;
@Override @Override
public Result<JSONObject> getAuditMap(DataVRequest request) { public Result<JSONObject> getAuditMap(DataVRequest request) {
List<AuditSuperviseMapIconVo> auditSuperviseMapIconVoList = new ArrayList<>(); List<AuditSuperviseMapIconVo> auditSuperviseMapIconVoList = new ArrayList<>();
@ -97,7 +108,14 @@ public class DatavServiceImpl implements DatavService {
reportProjectQueryParam.setAuditUnitIds(allDepartIds); reportProjectQueryParam.setAuditUnitIds(allDepartIds);
reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode()); reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode());
List<ReportProject> reportProjectList = reportProjectResourceService.query(reportProjectQueryParam); List<ReportProject> reportProjectList = reportProjectResourceService.query(reportProjectQueryParam);
auditSuperviseMapIconVo.setReportProjectNumber(reportProjectList.size()); // 其他审计项目
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam();
dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setSecondLevelDeptId(Long.valueOf(entry.getKey()));
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()); List<Date> dates = Arrays.asList(request.getBeginTime(), request.getEndTime());
@ -410,4 +428,106 @@ public class DatavServiceImpl implements DatavService {
JSONObject res = new JSONObject().fluentPut("overview", overview); JSONObject res = new JSONObject().fluentPut("overview", overview);
return Result.success(res); return Result.success(res);
} }
/**
* 审计大屏 审计项目类型
* @param request
* @return
*/
@Override
public Result<JSONObject> getAuditType(DataVRequest request) {
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam();
dataAuditQueryParam.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam);
List<EchartsVo> barData = dataAuditList.stream()
.collect(Collectors.groupingBy(DataAudit::getAuditTypeName, Collectors.counting()))
.entrySet().stream()
.map(entry -> new EchartsVo(entry.getKey(), entry.getValue().intValue()))
.collect(Collectors.toList());
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam();
reportProjectQueryParam.setArchivingStart(request.getBeginTime());
reportProjectQueryParam.setArchivingEnd(request.getEndTime());
List<ReportProject> reportProjects = reportProjectResourceService.query(reportProjectQueryParam);
if (CollectionUtil.isNotEmpty(reportProjects)){
EchartsVo echartsVo = new EchartsVo();
echartsVo.setName("政府投资审计");
echartsVo.setValue(reportProjects.size());
barData.add(echartsVo);
}
JSONObject object=new JSONObject();
object.fluentPut("barData",barData);
return Result.success(object);
}
@Override
public Result<JSONObject> getAuditTrend(Integer year) {
// 其他审计
List<EchartsVo> auditTrend = dataAuditResourceService.getAuditTrend(year);
// 政府投资审计
List<EchartsVo> invertTrend = reportProjectResourceService.getReportProjectTrend(year);
// 将两个列表转换为 Map,key 为月份名称,value 为数量
Map<String, Integer> auditMap = auditTrend.stream().collect(Collectors.toMap(EchartsVo::getName, EchartsVo::getValue));
Map<String, Integer> invertMap = invertTrend.stream().collect(Collectors.toMap(EchartsVo::getName, EchartsVo::getValue));
// 生成合并后的列表
List<EchartsVo> mergedList = new ArrayList<>();
for (int i = 1; i <= 12; i++) {
String monthName = i + "月";
int auditValue = auditMap.getOrDefault(monthName, 0);
int invertValue = invertMap.getOrDefault(monthName, 0);
mergedList.add(new EchartsVo(monthName, auditValue + invertValue));
}
JSONObject object=new JSONObject();
object.fluentPut("auditTrend",mergedList);
return Result.success(object);
}
@Override
public Result<AuditOverview> aduitOverview(DataVRequest request) {
Date beginTime = request.getBeginTime();
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())));
long accountableNumber = 0;
if (CollectionUtil.isNotEmpty(negatives)){
accountableNumber = negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negatives.stream().map(Negative::getId).collect(Collectors.toSet()))
.ne(NegativeBlame::getHandleResultName, "不予追责"));
}
// 政府投资数据
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam();
reportProjectQueryParam.setArchivingStart(beginTime);
reportProjectQueryParam.setArchivingEnd(endTime);
reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode());
reportProjectQueryParam.setNode(ReportProjectNodeEnum.END.getCode());
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.setAuditTimeStart(request.getBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dataAuditQueryParam.setAuditTimeEnd(request.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
List<DataAudit> dataAuditList = dataAuditResourceService.query(dataAuditQueryParam);
// 其他审计金额
BigDecimal qtsjje = dataAuditList.stream().map(DataAudit::getAuditAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// 发现问题金额
BigDecimal fxwtje = dataAuditList.stream().map(DataAudit::getIssueAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
// 最后得出的总的项目数量
int projectNumber = reportProjects.size() + dataAuditList.size();
// 审计总金额
BigDecimal auditAmount = zftzje.add(qtsjje);
//
AuditOverview overview = new AuditOverview();
overview.setProjectNumber(new BigDecimal(projectNumber));
overview.setAuditAmount(auditAmount);
overview.setAuditSjAmount(zftzsjje);
overview.setAuditWtAmount(fxwtje);
overview.setNegativeNumber(negatives.size());
overview.setAccountableNumber(accountableNumber);
return Result.success(overview);
}
} }

15
src/main/resources/mapper/DataAuditMapper.xml

@ -44,4 +44,19 @@
</foreach> </foreach>
</insert> </insert>
<select id="getAuditTrend" resultType="com.biutag.supervision.pojo.vo.EchartsVo">
SELECT
CONCAT(months.month, '月') AS name,
COUNT(data_audit.id) AS value
FROM (
SELECT 1 AS month UNION SELECT 2 UNION SELECT 3 UNION SELECT 4
UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8
UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12
) months
LEFT JOIN data_audit ON MONTH(data_audit.audit_time) = months.month
AND YEAR(data_audit.audit_time) = #{year}
GROUP BY months.month
ORDER BY months.month;
</select>
</mapper> </mapper>

Loading…
Cancel
Save