From 77d7257c02fc811a53b8d9207e4239f69c8a600c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 15 六月 2023 14:33:36 +0800
Subject: [PATCH] 题目和标签代码提交

---
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java |   87 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 8 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 9cad7d3..55eb072 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -3,18 +3,14 @@
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.smartor.domain.BaseTag;
-import com.smartor.domain.PatArchivetag;
-import com.smartor.domain.PatUpInfoVO;
+import com.smartor.domain.*;
 import com.smartor.mapper.BaseTagMapper;
 import com.smartor.mapper.PatArchivetagMapper;
 import org.apache.commons.collections4.CollectionUtils;
@@ -24,9 +20,9 @@
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import com.smartor.mapper.PatArchiveMapper;
-import com.smartor.domain.PatArchive;
 import com.smartor.service.IPatArchiveService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
@@ -313,6 +309,81 @@
         return "瀵煎嚭鎴愬姛";
     }
 
+    @Override
+    public List<PatArchive> patInfoByContion(PatArchiveReq patArchive) {
+        List<PatArchive> patArchives = new ArrayList<>();
+
+        //鏍规嵁鏉′欢鑾峰彇鎮h�呬俊鎭�
+        List<PatArchive> patArchiveList = patArchiveMapper.patInfoByContion(patArchive);
+        //鏍规嵁鎮h�匢D杩涜鍒嗙粍
+        Map<Long, List<PatArchive>> listMap = patArchiveList.stream().collect(Collectors.groupingBy(PatArchive::getPatid));
+
+        //瀵规暟鎹繘琛屽皝瑁�
+        for (List<PatArchive> list : listMap.values()) {
+            PatArchive patArchive1 = new PatArchive();
+            List<String> stringList = new ArrayList<>();
+            for (int i = 0; i < list.size(); i++) {
+                if (i == 0) {
+                    patArchive1 = DtoConversionUtils.sourceToTarget(list.get(0), PatArchive.class);
+                    //灏嗘爣绛剧疆绌�,涓嶇┖涔熸病鏈夐棶棰�
+                    patArchive1.setTag("");
+                }
+                //灏嗘煡鍑虹殑tag锛屾斁鍒皃atArchive1閲岀殑TagList涓�
+                stringList.add(list.get(i).getTag());
+            }
+            patArchive1.setTagList(stringList);
+            patArchives.add(patArchive1);
+        }
+
+        return patArchives;
+    }
+
+    @Override
+    public List<PatArchivetagAndPatientInfo> patTagByContion(List<Long> tagids) {
+        List<PatArchivetagAndPatientInfo> patArchivetagAndPatientInfos = new ArrayList<>();
+        if (tagids.size() > 0) {
+            for (int i = 0; i < tagids.size(); i++) {
+                PatArchivetag patArchivetag = new PatArchivetag();
+                patArchivetag.setTagid(tagids.get(i));
+                //鑾峰彇鎮h�卲atid
+                List<PatArchivetag> patArchivetags1 = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag);
+                for (int j = 0; j < patArchivetags1.size(); j++) {
+                    PatArchivetagAndPatientInfo patArchivetagAndPatientInfo = DtoConversionUtils.sourceToTarget(patArchivetags1.get(j), PatArchivetagAndPatientInfo.class);
+                    PatArchive patArchive = new PatArchive();
+                    patArchive.setPatid(patArchivetagAndPatientInfo.getPatid());
+                    List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive);
+                    patArchivetagAndPatientInfo.setPatNum(patArchiveList.size());
+                    // patArchivetagAndPatientInfo.setPatArchives(patArchiveList);
+                    patArchivetagAndPatientInfos.add(patArchivetagAndPatientInfo);
+                }
+            }
+        } else {
+            PatArchivetag patArchivetag = new PatArchivetag();
+            //鑾峰彇鎮h�卲atid
+            List<PatArchivetag> patArchivetags1 = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag);
+            for (int j = 0; j < patArchivetags1.size(); j++) {
+                PatArchivetagAndPatientInfo patArchivetagAndPatientInfo = DtoConversionUtils.sourceToTarget(patArchivetags1.get(j), PatArchivetagAndPatientInfo.class);
+                PatArchive patArchive = new PatArchive();
+                patArchive.setPatid(patArchivetagAndPatientInfo.getPatid());
+                List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive);
+                //  patArchivetagAndPatientInfo.setPatArchives(patArchiveList);
+                patArchivetagAndPatientInfo.setPatNum(patArchiveList.size());
+                patArchivetagAndPatientInfos.add(patArchivetagAndPatientInfo);
+            }
+        }
+        return patArchivetagAndPatientInfos;
+    }
+
+    @Override
+    public List<PatArchivetagAndPatientInfo> patInfoByTag(List<Long> tagids) {
+
+
+
+
+
+        return null;
+    }
+
     private void getdata(Row row, PatArchive patArchive, Boolean head) {
         if (head) {
             row.createCell(0).setCellValue("濮撳悕");

--
Gitblit v1.9.3