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