From 0b193b98347b5563e59492d8f57eba8f67af6d23 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 27 六月 2023 11:35:54 +0800
Subject: [PATCH] 新增题目

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
index 76b5c12..d871d26 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
@@ -1,96 +1,134 @@
 package com.smartor.service.impl;
 
 import java.util.List;
+import java.util.stream.Collectors;
+
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.smartor.domain.Icd10Association;
+import com.smartor.domain.SvyLibTitleReq;
+import com.smartor.domain.SvyLibTopic;
+import com.smartor.mapper.Icd10AssociationMapper;
+import com.smartor.mapper.SvyLibTopicMapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.smartor.mapper.SvyLibTitleMapper;
 import com.smartor.domain.SvyLibTitle;
 import com.smartor.service.ISvyLibTitleService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 闂嵎Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2023-03-02
  */
 @Service
-public class SvyLibTitleServiceImpl implements ISvyLibTitleService 
-{
+public class SvyLibTitleServiceImpl implements ISvyLibTitleService {
     @Autowired
     private SvyLibTitleMapper svyLibTitleMapper;
+    @Autowired
+    private Icd10AssociationMapper icd10AssociationMapper;
+    @Autowired
+    private SvyLibTopicMapper svyLibTopicMapper;
 
     /**
      * 鏌ヨ闂嵎
-     * 
+     *
      * @param svyid 闂嵎涓婚敭
      * @return 闂嵎
      */
     @Override
-    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid)
-    {
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid) {
         return svyLibTitleMapper.selectSvyLibTitleBySvyid(svyid);
     }
 
     /**
      * 鏌ヨ闂嵎鍒楄〃
-     * 
-     * @param svyLibTitle 闂嵎
+     *
+     * @param svyLibTitleReq 闂嵎
      * @return 闂嵎
      */
     @Override
-    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle)
-    {
-        return svyLibTitleMapper.selectSvyLibTitleList(svyLibTitle);
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitleReq svyLibTitleReq) {
+        List<SvyLibTitle> svyLibTitles = svyLibTitleMapper.selectSvyLibTitleList(svyLibTitleReq);
+        //鍏堝皢鐩稿悓鐨刬d鐨刬cdname,鏁寸悊鍒颁竴鍧�
+        List<SvyLibTitle> libTitles = svyLibTitles.stream().collect(Collectors.groupingBy(SvyLibTitle::getSvyid, Collectors.mapping(SvyLibTitle::getIcdname, Collectors.joining(", ")))).entrySet().stream().map(entry -> new SvyLibTitle(entry.getKey(), entry.getValue())).collect(Collectors.toList());
+        //涓存椂鍙橀噺锛岀敤鏉ヤ繚瀛樼柧鐥呭悕绉�
+        String icdname = null;
+        for (int i = 0; i < libTitles.size(); i++) {
+            for (int j = 0; j < svyLibTitles.size(); j++) {
+                if (ObjectUtils.isNotEmpty(libTitles.get(i).getSvyid()) && libTitles.get(i).getSvyid() == svyLibTitles.get(j).getSvyid()) {
+                    icdname = libTitles.get(i).getIcdname();
+                    // 灏嗗師鏁版嵁鎷疯礉鍒版暣鐞嗙殑濂界殑瀵硅薄涓�
+                    BeanUtils.copyProperties(svyLibTitles.get(j), libTitles.get(i));
+                    //鍐嶅皢鏁寸悊濂界殑鈥滅柧鐥呭悕绉扳�濇浛鎹�
+                    libTitles.get(i).setIcdname(icdname);
+                }
+            }
+        }
+        return libTitles;
     }
 
     /**
      * 鏂板闂嵎
-     * 
+     *
      * @param svyLibTitle 闂嵎
      * @return 缁撴灉
      */
+    @Transactional
     @Override
-    public int insertSvyLibTitle(SvyLibTitle svyLibTitle)
-    {
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle) {
         svyLibTitle.setCreateTime(DateUtils.getNowDate());
-        return svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
+        svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
+        //鍏宠仈闂嵎鐤剧梾
+        for (String icdId : svyLibTitle.getIcdID()) {
+            Icd10Association icd10Association = new Icd10Association();
+            icd10Association.setIcd10code(icdId);
+            icd10Association.setSvyid(svyLibTitle.getSvyid());
+            icd10AssociationMapper.insertIcd10Association(icd10Association);
+        }
+        //鏂板闂棰樼洰
+        for (int i = 0; i < svyLibTitle.getSvyLibTopics().size(); i++) {
+            SvyLibTopic svyLibTopic = svyLibTitle.getSvyLibTopics().get(i);
+            svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+        }
+        return 1;
     }
 
     /**
      * 淇敼闂嵎
-     * 
+     *
      * @param svyLibTitle 闂嵎
      * @return 缁撴灉
      */
     @Override
-    public int updateSvyLibTitle(SvyLibTitle svyLibTitle)
-    {
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle) {
         svyLibTitle.setUpdateTime(DateUtils.getNowDate());
         return svyLibTitleMapper.updateSvyLibTitle(svyLibTitle);
     }
 
     /**
      * 鎵归噺鍒犻櫎闂嵎
-     * 
+     *
      * @param svyids 闇�瑕佸垹闄ょ殑闂嵎涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTitleBySvyids(Long[] svyids)
-    {
+    public int deleteSvyLibTitleBySvyids(Long[] svyids) {
         return svyLibTitleMapper.deleteSvyLibTitleBySvyids(svyids);
     }
 
     /**
      * 鍒犻櫎闂嵎淇℃伅
-     * 
+     *
      * @param svyid 闂嵎涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTitleBySvyid(Long svyid)
-    {
+    public int deleteSvyLibTitleBySvyid(Long svyid) {
         return svyLibTitleMapper.deleteSvyLibTitleBySvyid(svyid);
     }
 }

--
Gitblit v1.9.3