From b1bd4cbd01cb8d7616de0b3c321439985a149e5e Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 13 十月 2023 14:15:06 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 25 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..03b1226 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,159 @@ 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.*; +import com.smartor.mapper.Icd10AssociationMapper; +import com.smartor.mapper.SvyLibTopicMapper; +import com.smartor.mapper.SvyTopicoptionMapper; +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; + @Autowired + private SvyTopicoptionMapper svyTopicoptionMapper; /** * 鏌ヨ闂嵎 - * + * * @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); + //娣诲姞棰樼洰 + 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++) { + if (svyLibTopics.get(j).getTopictype() == 3) { + //浣滅瓟棰橈紝涓嶉渶瑕侀�夐」 + continue a; + } else { + SvyTopicoption svyTopicoption = new SvyTopicoption(); + svyTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId()); + List<SvyTopicoption> svyTopicoptions = svyTopicoptionMapper.selectSvyTopicoptionList(svyTopicoption); + //灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑 + svyLibTopics.get(j).setSvyTopicoptions(svyTopicoptions); + } + } + //灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑 + svyLibTitles.get(i).setSvyLibTopics(svyLibTopics); + } + + //鍏堝皢鐩稿悓鐨刬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); + svyLibTopic.setSvyid(svyLibTitle.getSvyid()); + //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicidf鍘诲叧鑱� + 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