diff --git a/src/main/java/com/supervision/police/dto/homepage/HomepageResultDto.java b/src/main/java/com/supervision/police/dto/homepage/HomepageResultDto.java index 2731ad9..1ce8820 100644 --- a/src/main/java/com/supervision/police/dto/homepage/HomepageResultDto.java +++ b/src/main/java/com/supervision/police/dto/homepage/HomepageResultDto.java @@ -29,4 +29,14 @@ public class HomepageResultDto { * 模型分数小于70数量 */ private int modelScoreLessThan70Number = 0; + + /** + * 取证不完全占比 + */ + private double incompleteEvidenceRate = 0.0; + + /** + * 自动投案占比 + */ + private double surrenderRate = 0.0; } diff --git a/src/main/java/com/supervision/police/service/impl/HomepageServiceImpl.java b/src/main/java/com/supervision/police/service/impl/HomepageServiceImpl.java index 1d0686a..29c8eec 100644 --- a/src/main/java/com/supervision/police/service/impl/HomepageServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/HomepageServiceImpl.java @@ -16,6 +16,8 @@ import java.util.List; @Slf4j @Service public class HomepageServiceImpl implements HomepageService { + private static final String CRIME_MODE_SURRENDER = "1"; + private static final String IDENTIFY_RESULT_INCOMPLETE_EVIDENCE = "1"; @Autowired private ModelCaseService modelCaseService; @@ -26,6 +28,7 @@ public class HomepageServiceImpl implements HomepageService { @Override public HomepageResultDto queryStatisticsData() { HomepageResultDto homepageResultDto = new HomepageResultDto(); + // 只统计非逻辑删除的案件 List modelCaseList = modelCaseService.list(new QueryWrapper().eq("data_status", 1)); int currentMonthCaseNumber = (int) modelCaseList.stream().filter(modelCase -> modelCase.getCreateTime().getMonthValue() == 9).count(); int lastMonthCaseNumber = (int) modelCaseList.stream().filter(modelCase -> modelCase.getCreateTime().getMonthValue() == 8).count(); @@ -34,6 +37,8 @@ public class HomepageServiceImpl implements HomepageService { homepageResultDto.setMonthlyNewCaseNumber(currentMonthCaseNumber); homepageResultDto.setComparedToLastMonthIncreaseNumber(Math.max(currentMonthCaseNumber - lastMonthCaseNumber, 0)); homepageResultDto.setModelScoreLessThan70Number((int) modelCaseList.stream().filter(modelCase -> modelCase.getTotalScore() != null && modelCase.getTotalScore() < 70).count()); + homepageResultDto.setIncompleteEvidenceRate(Double.parseDouble(String.format("%.2f", (double) modelCaseList.stream().filter(modelCase -> IDENTIFY_RESULT_INCOMPLETE_EVIDENCE.equals(modelCase.getIdentifyResult())).count() / modelCaseList.size() * 100))); + homepageResultDto.setSurrenderRate(Double.parseDouble(String.format("%.2f", (double) modelCaseList.stream().filter(modelCase -> CRIME_MODE_SURRENDER.equals(modelCase.getCrimeMode())).count() / modelCaseList.size() * 100))); return homepageResultDto; } }