From 7c5bd333cc1e79f05a6a11d7ea3a9d73511b78a8 Mon Sep 17 00:00:00 2001
From: zzc <Zhengzhic18@163.com>
Date: Tue, 22 Apr 2025 15:22:44 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9A=8F=E8=AE=BF=E5=88=86?=
 =?UTF-8?q?=E5=B8=83=E6=B2=A1=E6=9C=89=E5=85=AC=E5=85=B1=E9=98=9F=E5=88=97?=
 =?UTF-8?q?=E5=90=8D=E7=A7=B0bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/impl/StatisticsServiceImpl.java   | 27 +++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java
index 14db889a..2aaed127 100644
--- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java
+++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java
@@ -3,9 +3,12 @@ package com.acupuncture.system.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
 import com.acupuncture.common.constant.DiseaseMapping;
+import com.acupuncture.common.core.redis.RedisCache;
 import com.acupuncture.common.utils.SecurityUtils;
 import com.acupuncture.system.domain.dto.StatisticsDto;
+import com.acupuncture.system.domain.vo.FmsFollowupVo;
 import com.acupuncture.system.domain.vo.StatisticsVo;
 import com.acupuncture.system.persist.dao.StatisticsDao;
 import com.acupuncture.system.service.StatisticsService;
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -25,6 +29,9 @@ import java.util.stream.Collectors;
 public class StatisticsServiceImpl implements StatisticsService {
     @Resource
     private StatisticsDao statisticsDao;
+    @Resource
+    private RedisCache redisCache;
+    public static String COMMON_FOLLOWUP_QUEUE = "common_followup_queue";
 
     @Override
     public StatisticsVo.PatientVo queryPatientStatistics(StatisticsDto.Query dto) {
@@ -137,8 +144,24 @@ public class StatisticsServiceImpl implements StatisticsService {
 
     @Override
     public List<StatisticsVo.SffbVo.DlVo> querySfStatistics(StatisticsDto.Query dto) {
-        StatisticsVo.SffbVo sffbVo = new StatisticsVo.SffbVo();
-        return statisticsDao.querySfStatistics(dto, SecurityUtils.getTenantId());
+        List<Object> cacheList = redisCache.getCacheList(COMMON_FOLLOWUP_QUEUE);
+        Map<Long, FmsFollowupVo.FollowupQueueVO> map = new HashMap<>();
+        if (CollUtil.isNotEmpty(cacheList)) {
+            List<FmsFollowupVo.FollowupQueueVO> followupQueueVOS = BeanUtil.copyToList(cacheList, FmsFollowupVo.FollowupQueueVO.class);
+            map = followupQueueVOS.stream().collect(Collectors.toMap(FmsFollowupVo.FollowupQueueVO::getId, Function.identity()));
+        }
+        List<StatisticsVo.SffbVo.DlVo> dlVos = statisticsDao.querySfStatistics(dto, SecurityUtils.getTenantId());
+        if (CollUtil.isNotEmpty(dlVos)) {
+            for (StatisticsVo.SffbVo.DlVo dlVo : dlVos) {
+                if (StrUtil.isEmpty(dlVo.getQueueName())) {
+                    FmsFollowupVo.FollowupQueueVO followupQueueVO = map.get(dlVo.getQueueId());
+                    if (followupQueueVO != null) {
+                        dlVo.setQueueName(followupQueueVO.getName());
+                    }
+                }
+            }
+        }
+        return dlVos;
 //        if (CollUtil.isNotEmpty(dlVos)) {
 //            for (StatisticsVo.SffbVo.DlVo dlVo : dlVos) {
 //                if (dlVo.getQueueId() == 10L) {