From a0bcee3aa22b79f592c44cdb3dcdbd681490f265 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 15 一月 2024 10:34:31 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java |  136 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 132 insertions(+), 4 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 9466aff..75cd312 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
@@ -1,18 +1,22 @@
 package com.smartor.service.impl;
 
+import java.util.ArrayList;
 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.SvyLibTitleReq;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 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涓氬姟灞傚鐞�
@@ -20,10 +24,19 @@
  * @author ruoyi
  * @date 2023-03-02
  */
+@Slf4j
 @Service
 public class SvyLibTitleServiceImpl implements ISvyLibTitleService {
     @Autowired
     private SvyLibTitleMapper svyLibTitleMapper;
+    @Autowired
+    private Icd10AssociationMapper icd10AssociationMapper;
+    @Autowired
+    private SvyLibTopicMapper svyLibTopicMapper;
+    @Autowired
+    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+    @Autowired
+    private TempDetpRelevanceMapper tempDetpRelevanceMapper;
 
     /**
      * 鏌ヨ闂嵎
@@ -45,6 +58,36 @@
     @Override
     public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitleReq svyLibTitleReq) {
         List<SvyLibTitle> svyLibTitles = svyLibTitleMapper.selectSvyLibTitleList(svyLibTitleReq);
+        //娣诲姞棰樼洰
+        for (int i = 0; i < svyLibTitles.size(); i++) {
+            SvyLibTopic svyLibTopic = new SvyLibTopic();
+            svyLibTopic.setSvyid(svyLibTitles.get(i).getSvyid());
+            List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
+            //鑾峰彇棰樼洰閫夐」
+            a:
+            for (int j = 0; j < svyLibTopics.size(); j++) {
+                log.info("闂id涓猴細{}", svyLibTopics.get(j).getSvyTopicId());
+                if (StringUtils.isNotEmpty(svyLibTopics.get(j).getTopictype()) && svyLibTopics.get(j).getTopictype().equals("3") || svyLibTopics.get(j).getSvyTopicId() == null) {
+                    //浣滅瓟棰橈紝涓嶉渶瑕侀�夐」
+                    continue a;
+                } else {
+                    SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
+                    svyLibTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId());
+                    List<SvyLibTopicoption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption);
+                    //灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑
+                    svyLibTopics.get(j).setSvyLibTopicoptions(svyLibTopicoptions);
+                }
+            }
+            //灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
+            svyLibTitles.get(i).setSvyLibTopics(svyLibTopics);
+
+            //鑾峰彇姣忎釜闂嵎瀵瑰簲鐨勭瀹�
+            TempDetpRelevance tempDetpRelevance = new TempDetpRelevance();
+            tempDetpRelevance.setTempid(svyLibTitles.get(i).getSvyid());
+            List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance);
+            svyLibTitles.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
+        }
+
         //鍏堝皢鐩稿悓鐨刬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());
         //涓存椂鍙橀噺锛岀敤鏉ヤ繚瀛樼柧鐥呭悕绉�
@@ -69,10 +112,95 @@
      * @param svyLibTitle 闂嵎
      * @return 缁撴灉
      */
+    @Transactional
     @Override
     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);
+            svyLibTopic.setSvyid(svyLibTitle.getSvyid());
+            //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicidf鍘诲叧鑱�
+            svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+        }
+        return 1;
+    }
+
+    /**
+     * 鏂板鎴栦慨鏀归棶鍗锋ā鏉夸俊鎭�
+     *
+     * @param svyLibTitle
+     * @return
+     */
+    @Override
+    public Integer saveOrUpdateTitle(SvyLibTitle svyLibTitle) {
+        Integer i = null;
+        if (svyLibTitle.getIsoperation() != null && svyLibTitle.getIsoperation() == 1) {
+            //鏂板
+            svyLibTitle.setCreateTime(DateUtils.getNowDate());
+            i = svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
+        } else if (svyLibTitle.getIsoperation() != null && svyLibTitle.getIsoperation() == 2) {
+            //淇敼
+            svyLibTitle.setUpdateTime(DateUtils.getNowDate());
+            i = svyLibTitleMapper.updateSvyLibTitle(svyLibTitle);
+        }
+
+        //澶勭悊棰樼洰
+        if (CollectionUtils.isNotEmpty(svyLibTitle.getSvyLibTopics())) {
+            for (SvyLibTopic svyLibTopic : svyLibTitle.getSvyLibTopics()) {
+                //瀵归鐩繘琛屽鐞�
+                if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
+                    //鏂板
+                    svyLibTopic.setSvyid(svyLibTitle.getSvyid());
+                    //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicid鍘诲叧鑱�
+                    svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+                } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
+                    //淇敼
+                    svyLibTopic.setSvyid(svyLibTitle.getSvyid());
+                    svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
+                }
+
+                //瀵归鐩�夐」杩涜澶勭悊
+                if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibTopicoptions())) {
+                    for (SvyLibTopicoption svyLibTopicoption : svyLibTopic.getSvyLibTopicoptions()) {
+                        if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
+                            //鏂板
+                            svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
+                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                        } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
+                            //淇敼
+                            svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
+                            svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption);
+                        }
+                    }
+
+                }
+
+            }
+        }
+
+        if (CollectionUtils.isNotEmpty(svyLibTitle.getTempDetpRelevances())) {
+            for (TempDetpRelevance tempDetpRelevance : svyLibTitle.getTempDetpRelevances()) {
+                if (tempDetpRelevance.getId() == null) {
+                    //鏂板
+                    tempDetpRelevance.setTempid(svyLibTitle.getSvyid());
+                    tempDetpRelevance.setType(1L);
+                    tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
+                } else {
+                    tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
+                }
+            }
+
+        }
+        return i;
     }
 
     /**

--
Gitblit v1.9.3