From 7ae67ba965ea680407ae21fedbd035d43ce8c313 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 30 一月 2024 14:45:07 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java | 195 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 169 insertions(+), 26 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..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,96 +1,239 @@
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.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涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
* @date 2023-03-02
*/
+@Slf4j
@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 SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+ @Autowired
+ private TempDetpRelevanceMapper tempDetpRelevanceMapper;
/**
* 鏌ヨ闂嵎
- *
+ *
* @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++) {
+ 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());
+ //涓存椂鍙橀噺锛岀敤鏉ヤ繚瀛樼柧鐥呭悕绉�
+ 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 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;
}
/**
* 淇敼闂嵎
- *
+ *
* @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