diff --git a/src/main/java/digital/laboratory/platform/entrustment/constant/EntrustMarkConstants.java b/src/main/java/digital/laboratory/platform/entrustment/constant/EntrustMarkConstants.java index 916f158..c7770fa 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/constant/EntrustMarkConstants.java +++ b/src/main/java/digital/laboratory/platform/entrustment/constant/EntrustMarkConstants.java @@ -15,4 +15,10 @@ public interface EntrustMarkConstants { String PUBLIC_SECURITY_BUREAU = "公安局"; + /***** datasource *******/ + Integer LOCAL_SYSTEM = 0; // 本系统数据 + + Integer THIRD_PARTY_SYSTEM = 1; // 大数据平台同步过来的数据 + + } diff --git a/src/main/java/digital/laboratory/platform/entrustment/entity/Entrustment.java b/src/main/java/digital/laboratory/platform/entrustment/entity/Entrustment.java index 6e34684..a351a74 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/entity/Entrustment.java +++ b/src/main/java/digital/laboratory/platform/entrustment/entity/Entrustment.java @@ -712,7 +712,7 @@ public class Entrustment extends BaseEntity { /** * 数据来源,用于区别数据来自自身系统还是外部系统 */ - @ApiModelProperty(value="数据来源") + @ApiModelProperty(value="数据来源, 0 本系统 | 1 大数据平台") private Integer dataSources; /** diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java index d4460db..96a3395 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java +++ b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java @@ -3046,21 +3046,20 @@ public class EntrustmentServiceImpl extends ServiceImpl entrustmentList1 = this.list(new LambdaQueryWrapper().eq(Entrustment::getClientOrgId, orgId) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_CREATED.getStatus())); - markersVOS.add(new MarkersVO("案件委托", entrustmentList1.size(), "待提交")); + // 获取该机构的委托 + List entrustList = this.list(new LambdaQueryWrapper().eq(Entrustment::getClientOrgId, orgId)); + // 根据状态进行分组 + Map> entrustGroupByStatusMap = entrustList.stream().collect(Collectors.groupingBy(Entrustment::getStatus)); - List entrustmentList2 = this.list(new LambdaQueryWrapper().eq(Entrustment::getClientOrgId, orgId) - .in(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_DELIVER.getStatus(), EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_CONFIRM.getStatus())); - markersVOS.add(new MarkersVO("案件委托", entrustmentList2.size(), "待送检")); + markersVOS.add(new MarkersVO("案件委托", entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_CREATED.getStatus(), Collections.EMPTY_LIST).size(), "待提交")); - List entrustmentList3 = this.list(new LambdaQueryWrapper().eq(Entrustment::getClientOrgId, orgId) - .eq(Entrustment::getReturnOrNot, -1)); - markersVOS.add(new MarkersVO("案件委托", entrustmentList3.size(), "已退回")); + int deliverCount = entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_DELIVER.getStatus(), Collections.EMPTY_LIST).size() + + entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_CONFIRM.getStatus(), Collections.EMPTY_LIST).size(); + markersVOS.add(new MarkersVO("案件委托", deliverCount, "待送检")); - List entrustmentList4 = this.list(new LambdaQueryWrapper().eq(Entrustment::getClientOrgId, orgId) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_COMPLETED.getStatus())); - markersVOS.add(new MarkersVO("案件委托", entrustmentList4.size(), "已完成")); + markersVOS.add(new MarkersVO("案件委托", entrustList.stream().filter(entrust -> entrust.getReturnOrNot() != null &&entrust.getReturnOrNot().equals(-1)).collect(Collectors.toList()).size(), "已退回")); + + markersVOS.add(new MarkersVO("案件委托", entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_COMPLETED.getStatus(), Collections.EMPTY_LIST).size(), "已完成")); Integer entrustAlterApplyCount = (int) entrustAlterApplyService.count(Wrappers.lambdaQuery() .eq(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.APPLY_SUCCESS.getStatus()) @@ -3229,29 +3228,11 @@ public class EntrustmentServiceImpl extends ServiceImpl getMarkersForEntrustment() { List markersVOS = new ArrayList<>(); + Map> entrustListMap = this.list().stream().collect(Collectors.groupingBy(entrust -> entrust.getDataSources() + "_" + entrust.getStatus())); - List entrustmentList1 = this.list(new LambdaQueryWrapper() - .eq(Entrustment::getDataSources, 0) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus())); - - List entrustmentList2 = this.list(new LambdaQueryWrapper() - .eq(Entrustment::getDataSources, 1) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus())); - - List entrustmentList3 = this.list(new LambdaQueryWrapper() - .eq(Entrustment::getDataSources, 0) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus())); - - List entrustmentList4 = this.list(new LambdaQueryWrapper() - .eq(Entrustment::getDataSources, 1) - .eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus())); - - List integers1 = new ArrayList<>(); - List integers2 = new ArrayList<>(); - integers1.add(1); - integers1.add(2); - integers2.add(3); - integers2.add(4); + // 使用常量定义状态集合,避免重复创建 + final List REVIEW_STATUS_GROUP1 = Arrays.asList(1, 2); + final List REVIEW_STATUS_GROUP2 = Arrays.asList(3, 4); // 创建一个污水系统的统计DTO 初始化统计数量为0 StatisticsDiffStatusJobDTO statisticsDiffStatusSewageJobDTO = new StatisticsDiffStatusJobDTO( 0, 0, 0, 0, 0); @@ -3262,29 +3243,41 @@ public class EntrustmentServiceImpl extends ServiceImpl integers = new ArrayList<>(); - integers.add(2); - markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList1.size(), String.format("待受理(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); - markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList2.size(), "待受理 (大数据平台)")); - markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); - markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList4.size(), "已受理 (大数据平台)")); + markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, + entrustListMap.getOrDefault( + StrUtil.join("_", EntrustMarkConstants.LOCAL_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()), + Collections.EMPTY_LIST + ).size(), + String.format("待受理(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); + markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, + entrustListMap.getOrDefault( + StrUtil.join("_", EntrustMarkConstants.THIRD_PARTY_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()), + Collections.EMPTY_LIST + ).size(), + "待受理 (大数据平台)")); + markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustListMap.getOrDefault(StrUtil.join("_", EntrustMarkConstants.LOCAL_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()), Collections.EMPTY_LIST).size(), String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); + markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustListMap.getOrDefault(StrUtil.join("_", EntrustMarkConstants.THIRD_PARTY_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()), Collections.EMPTY_LIST).size(), "已受理 (大数据平台)")); markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, this.list(Wrappers.lambdaQuery().inSql(Entrustment::getId, "SELECT entrust_id FROM b_entrust_material_checkout_result")).size(), "检测结果")); markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, - this.list(new LambdaQueryWrapper() - .in(Entrustment::getStatus, integers1) - .eq(Entrustment::getDataSources, 0)).size(), String.format("委托审核(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); + REVIEW_STATUS_GROUP1.stream() + .mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size()) + .sum(), + String.format("委托审核(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, - this.list(new LambdaQueryWrapper() - .in(Entrustment::getStatus, integers2) - .eq(Entrustment::getDataSources, 0)).size(), String.format("委托审批(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); + REVIEW_STATUS_GROUP2.stream() + .mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size()) + .sum(), + String.format("委托审批(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, - this.list(new LambdaQueryWrapper() - .in(Entrustment::getStatus, integers1) - .eq(Entrustment::getDataSources, 1)).size(), "委托审核(大数据平台)")); + REVIEW_STATUS_GROUP1.stream() + .mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.THIRD_PARTY_SYSTEM + "_" + status, Collections.emptyList()).size()) + .sum(), + "委托审核(大数据平台)")); markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, - this.list(new LambdaQueryWrapper() - .in(Entrustment::getStatus, integers2) - .eq(Entrustment::getDataSources, 1)).size(), "委托审批(大数据平台)")); + REVIEW_STATUS_GROUP2.stream() + .mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size()) + .sum(), + "委托审批(大数据平台)")); markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, (int) entrustAlterApplyService.count(Wrappers.lambdaQuery() .eq(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.SUBMITTED_WAIT_APPROVE.getStatus())),