From c4f9c032d2a4fcd57d59846bc208d7d225ba5aa8 Mon Sep 17 00:00:00 2001 From: zhs <zhs18203887318@163.com> Date: 星期六, 16 八月 2025 15:28:48 +0800 Subject: [PATCH] 0816 zhs --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 17 +++++++- smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java | 9 ++++ smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 36 ++++++++++++++---- smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java | 4 ++ 4 files changed, 54 insertions(+), 12 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index 4bb1950..51f383f 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -352,10 +352,21 @@ //涓芥按鏈夌殑鍖婚櫌杩樻病娉曞仛闀挎湡浠诲姟闅忚 List<ServiceSubtask> subtaskList2 = new ArrayList<>(); if (visitHosp == 2) { - for (ServiceSubtask serviceSubtask : subtaskList) { - Boolean b = VisitSendStateEnum.getDescByCode(serviceSubtask.getOrgid()); - if (b) subtaskList2.add(serviceSubtask); + try { + for (ServiceSubtask serviceSubtask : subtaskList) { + Boolean b = VisitSendStateEnum.getDescByCode(serviceSubtask.getOrgid()); + + if (b) subtaskList2.add(serviceSubtask); + } + } catch (Exception e) { + log.error("-------闀挎湡浠诲姟寮傚父涓猴細", e); + continue; } +// for (ServiceSubtask serviceSubtask : subtaskList) { +// Boolean b = VisitSendStateEnum.getDescByCode(serviceSubtask.getOrgid()); +// +// if (b) subtaskList2.add(serviceSubtask); +// } subtaskList = subtaskList2; } diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java index eccfc8b..74f92f7 100644 --- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java @@ -47,4 +47,8 @@ private String visitDeptCode; private String visitDeptName; + + @ApiModelProperty(value = "鍖荤敓缂栫爜") + private String drcode; + } diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java index e3b6883..36ea120 100644 --- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java +++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java @@ -161,9 +161,9 @@ @ApiModelProperty(value = "浜屾鐭俊") @Excel(name = " 浜屾鐭俊 ") private Long smsAgain = 0L; + @Excel(name = " 浜屾寰俊 ") @ApiModelProperty(value = "浜屾寰俊") - @Excel(name = " 浜屾寰俊 ") private Long weChatAgain = 0L; @ApiModelProperty(value = "缁撴灉寮傚父") @@ -172,4 +172,11 @@ @ApiModelProperty(value = "绉戝鐥呭尯") private Integer statisticaltype; + + + @ApiModelProperty(value = "鍖荤敓缂栫爜") + private String drcode; + + @ApiModelProperty(value = "鍖荤敓濮撳悕") + private String drname; } diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java index bc69fb7..010442c 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -2227,14 +2227,25 @@ public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) { log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq); List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>(); - //Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown"))); + List<ServiceSubtask> rawData = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq); + + // 鏍规嵁鏉′欢杩涜鍒嗙粍 Map<String, List<ServiceSubtask>> collect = new HashMap<>(); + if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) { - collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown"))); - + if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { + collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown"))); + } else { + collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown"))); + } } else if (serviceSubtaskCountReq.getDeptcodes() != null && serviceSubtaskCountReq.getDeptcodes().size() > 0) { - collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown"))); + if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { + collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown"))); + } else { + collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown"))); + } } + for (List<ServiceSubtask> serviceSubtaskList : collect.values()) { if (CollectionUtils.isEmpty(serviceSubtaskList)) { continue; @@ -2244,11 +2255,18 @@ //鍙婃椂鐜� ServiceSubtask ss = new ServiceSubtask(); ss.setOrgid(serviceSubtaskList.get(0).getOrgid()); - if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) { - ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); - } else { - ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode()); + + // 濡傛灉鏈夊尰鐢熺紪鐮侊紝璁剧疆鍖荤敓缂栫爜鐢ㄤ簬鍙婃椂鐜囨煡璇� + if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) { + ss.setDrcode(serviceSubtaskList.get(0).getDrcode()); + }else { + if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) { + ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); + } else if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getDeptcodes())) { + ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode()); + } } + ss.setStarttime(serviceSubtaskCountReq.getStartTime()); ss.setEndtime(serviceSubtaskCountReq.getEndTime()); if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) { @@ -2272,6 +2290,8 @@ serviceSubtaskStatistic.setDeptcode(serviceSubtaskList.get(0).getDeptcode()); serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname()); serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); + serviceSubtaskStatistic.setDrcode(serviceSubtaskList.get(0).getDrcode()); + serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname()); //鍑洪櫌浜烘 serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size()); for (ServiceSubtask serviceSubtask : serviceSubtaskList) { -- Gitblit v1.9.3