From dbbb114c25b2406b6d1fd52019d2f2228ffcacd0 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 27 十一月 2024 18:04:16 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java | 267 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 176 insertions(+), 91 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
index 9f3abf0..1d9bdc9 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -1,21 +1,21 @@
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 com.smartor.service.ISvyLibTemplateService;
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.service.ISvyLibTemplateService;
import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 闂嵎Service涓氬姟灞傚鐞�
@@ -29,13 +29,15 @@
@Autowired
private SvyLibTemplateMapper svyLibTemplateMapper;
@Autowired
+ private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
+ @Autowired
+ private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
+ @Autowired
+ private TemplateDeptMapper templateDeptMapper;
+ @Autowired
+ private SvyLibTemplateTagMapper svyLibTemplateTagMapper;
+ @Autowired
private Icd10AssociationMapper icd10AssociationMapper;
- @Autowired
- private SvyLibScriptMapper svyLibScriptMapper;
- @Autowired
- private SvyLibScriptOptionMapper svyLibTopicoptionMapper;
- @Autowired
- private TempDetpRelevanceMapper tempDetpRelevanceMapper;
/**
* 鏌ヨ闂嵎
@@ -48,6 +50,31 @@
return svyLibTemplateMapper.selectSvyLibTemplateBySvyid(svyid);
}
+ @Override
+ public List<SvyLibTemplate> getSviLibTemplate(SvyLibTemplate svyLibTemplate) {
+ SvyLibTemplateReq svyLibTemplateReq = new SvyLibTemplateReq();
+ svyLibTemplateReq.setSvyid(svyLibTemplate.getSvyid());
+ svyLibTemplateReq.setCategoryid(svyLibTemplate.getCategoryid());
+ svyLibTemplateReq.setDescription(svyLibTemplate.getDescription());
+ List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
+ for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) {
+ SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+ svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid());
+ List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+ for (SvyLibTemplateScript svyLibTemplateScript1 : svyLibTemplateScripts) {
+ if (svyLibTemplateScript1.getScriptType().equals("1") || svyLibTemplateScript1.getScriptType().equals("2")) {
+ SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
+ svyLibTemplateTargetoption.setScriptid(svyLibTemplateScript1.getId());
+ List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
+ svyLibTemplateScript1.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
+ }
+ }
+ svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts);
+ }
+
+ return svyLibTemplates;
+ }
+
/**
* 鏌ヨ闂嵎鍒楄〃
*
@@ -55,149 +82,172 @@
* @return 闂嵎
*/
@Override
- public List<SvyLibTemplate> selectSvyLibTemplateList(SvyLibTemplateReq svyLibTemplateReq) {
+ public List<SvyLibTemplateVO> selectSvyLibTemplateList(SvyLibTemplateReq svyLibTemplateReq) {
List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
+ List<SvyLibTemplateVO> svyLibTemplateVOS = DtoConversionUtils.sourceToTarget(svyLibTemplates, SvyLibTemplateVO.class);
//娣诲姞棰樼洰
- for (int i = 0; i < svyLibTemplates.size(); i++) {
- SvyLibScript svyLibTopic = new SvyLibScript();
- svyLibTopic.setSvyid(svyLibTemplates.get(i).getSvyid());
- List<SvyLibScript> svyLibTopics = svyLibScriptMapper.selectSvyLibScriptList(svyLibTopic);
+ for (int i = 0; i < svyLibTemplateVOS.size(); i++) {
+ SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+ svyLibTemplateScript.setSvyid(svyLibTemplateVOS.get(i).getSvyid());
+ List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
//鑾峰彇棰樼洰閫夐」
a:
- for (int j = 0; j < svyLibTopics.size(); j++) {
- log.info("闂id涓猴細{}", svyLibTopics.get(j).getSvyscriptId());
- if (StringUtils.isNotEmpty(svyLibTopics.get(j).getScripttype()) && svyLibTopics.get(j).getScripttype().equals("3") || svyLibTopics.get(j).getSvyscriptId() == null) {
+ for (int j = 0; j < svyLibTemplateScripts.size(); j++) {
+ log.info("闂id涓猴細{}", svyLibTemplateScripts.get(j).getId());
+ if (StringUtils.isNotEmpty(svyLibTemplateScripts.get(j).getScriptType()) && svyLibTemplateScripts.get(j).getScriptType().equals("3") || svyLibTemplateScripts.get(j).getId() == null) {
//浣滅瓟棰橈紝涓嶉渶瑕侀�夐」
continue a;
} else {
- SvyLibScriptOption svyLibTopicoption = new SvyLibScriptOption();
- svyLibTopicoption.setTopicid(svyLibTopics.get(j).getSvyscriptId());
- List<SvyLibScriptOption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibScriptOptionList(svyLibTopicoption);
+ SvyLibTemplateTargetoption svyLibTopicoption = new SvyLibTemplateTargetoption();
+ svyLibTopicoption.setScriptid(svyLibTemplateScripts.get(j).getId());
+ List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTopicoption);
//灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑
- svyLibTopics.get(j).setSvyLibScriptOptions(svyLibTopicoptions);
+ svyLibTemplateScripts.get(j).setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
}
}
//灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
- svyLibTemplates.get(i).setSvyLibTopics(svyLibTopics);
+ svyLibTemplateVOS.get(i).setSvyTemplateLibScripts(svyLibTemplateScripts);
//鑾峰彇姣忎釜闂嵎瀵瑰簲鐨勭瀹�
- TempDetpRelevance tempDetpRelevance = new TempDetpRelevance();
- tempDetpRelevance.setTempid(svyLibTemplates.get(i).getSvyid());
- List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance);
- svyLibTemplates.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
+ TemplateDept templateDept = new TemplateDept();
+ templateDept.setTempid(svyLibTemplateVOS.get(i).getSvyid());
+ List<TemplateDept> tempDetpRelevances = templateDeptMapper.selectTemplateDeptList(templateDept);
+ svyLibTemplateVOS.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
+
+ //鑾峰彇鏍囩
+ SvyLibTemplateTag svyLibTemplateTag = new SvyLibTemplateTag();
+ svyLibTemplateTag.setTemplateid(svyLibTemplateVOS.get(i).getSvyid());
+ List<SvyLibTemplateTag> svyLibTemplateTags = svyLibTemplateTagMapper.selectSvyLibTemplateTagList(svyLibTemplateTag);
+ svyLibTemplateVOS.get(i).setSvyLibTemplateTagList(svyLibTemplateTags);
+
+ //鑾峰彇鐤剧梾
+ Icd10Association icd10Association = new Icd10Association();
+ icd10Association.setType(5L);
+ icd10Association.setOutid(svyLibTemplateVOS.get(i).getSvyid());
+ svyLibTemplateVOS.get(i).setIcd10AssociationList(icd10AssociationMapper.selectIcd10AssociationList(icd10Association));
+
}
//鍏堝皢鐩稿悓鐨刬d鐨刬cdname,鏁寸悊鍒颁竴鍧�
- List<SvyLibTemplate> libTemplates = svyLibTemplates.stream().collect(Collectors.groupingBy(SvyLibTemplate::getSvyid, Collectors.mapping(SvyLibTemplate::getIcdname, Collectors.joining(", ")))).entrySet().stream().map(entry -> new SvyLibTemplate(entry.getKey(), entry.getValue())).collect(Collectors.toList());
+ List<SvyLibTemplateVO> libTemplates = svyLibTemplateVOS.stream().collect(Collectors.groupingBy(SvyLibTemplateVO::getSvyid, Collectors.mapping(SvyLibTemplateVO::getIcdname, Collectors.joining(", ")))).entrySet().stream().map(entry -> new SvyLibTemplateVO(entry.getKey(), entry.getValue())).collect(Collectors.toList());
//涓存椂鍙橀噺锛岀敤鏉ヤ繚瀛樼柧鐥呭悕绉�
String icdname = null;
for (int i = 0; i < libTemplates.size(); i++) {
- for (int j = 0; j < svyLibTemplates.size(); j++) {
- if (ObjectUtils.isNotEmpty(libTemplates.get(i).getSvyid()) && libTemplates.get(i).getSvyid() == svyLibTemplates.get(j).getSvyid()) {
+ for (int j = 0; j < svyLibTemplateVOS.size(); j++) {
+ if (ObjectUtils.isNotEmpty(libTemplates.get(i).getSvyid()) && libTemplates.get(i).getSvyid() == svyLibTemplateVOS.get(j).getSvyid()) {
icdname = libTemplates.get(i).getIcdname();
// 灏嗗師鏁版嵁鎷疯礉鍒版暣鐞嗙殑濂界殑瀵硅薄涓�
- BeanUtils.copyProperties(svyLibTemplates.get(j), libTemplates.get(i));
+ BeanUtils.copyProperties(svyLibTemplateVOS.get(j), libTemplates.get(i));
//鍐嶅皢鏁寸悊濂界殑鈥滅柧鐥呭悕绉扳�濇浛鎹�
libTemplates.get(i).setIcdname(icdname);
}
+ //灏嗛棶棰樻寜搴忓彿鎺掍竴涓嬪簭
+ Collections.sort(svyLibTemplateVOS.get(j).getSvyTemplateLibScripts(), new Comparator<SvyLibTemplateScript>() {
+ @Override
+ public int compare(SvyLibTemplateScript o1, SvyLibTemplateScript o2) {
+ return Integer.compare(o1.getSort().intValue(), o2.getSort().intValue());
+ }
+ });
}
}
- return libTemplates;
- }
- /**
- * 鏂板闂嵎
- *
- * @param svyLibTemplate 闂嵎
- * @return 缁撴灉
- */
- @Transactional
- @Override
- public int insertSvyLibTemplate(SvyLibTemplate svyLibTemplate) {
- svyLibTemplate.setCreateTime(DateUtils.getNowDate());
- svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
- //鍏宠仈闂嵎鐤剧梾
- for (String icdId : svyLibTemplate.getIcdID()) {
- Icd10Association icd10Association = new Icd10Association();
- icd10Association.setIcd10code(icdId);
- icd10Association.setSvyid(svyLibTemplate.getSvyid());
- icd10AssociationMapper.insertIcd10Association(icd10Association);
- }
- //鏂板闂棰樼洰
- for (int i = 0; i < svyLibTemplate.getSvyLibTopics().size(); i++) {
- SvyLibScript svyLibScript = svyLibTemplate.getSvyLibTopics().get(i);
- svyLibScript.setSvyid(svyLibTemplate.getSvyid());
- //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicidf鍘诲叧鑱�
- svyLibScriptMapper.insertSvyLibScript(svyLibScript);
- }
- return 1;
+ return svyLibTemplateVOS;
}
/**
* 鏂板鎴栦慨鏀归棶鍗锋ā鏉夸俊鎭�
*
- * @param svyLibTemplate
+ * @param svyLibTemplateVO
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
@Override
- public Integer saveOrUpdateTemplate(SvyLibTemplate svyLibTemplate) {
+ public Integer saveOrUpdateTemplate(SvyLibTemplateVO svyLibTemplateVO) {
+ SvyLibTemplate svyLibTemplate = DtoConversionUtils.sourceToTarget(svyLibTemplateVO, SvyLibTemplate.class);
Integer i = null;
if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 1) {
//鏂板
svyLibTemplate.setCreateTime(DateUtils.getNowDate());
- i = svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
+ svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
} else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 2) {
//淇敼
svyLibTemplate.setUpdateTime(DateUtils.getNowDate());
- i = svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
+ svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
+ } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 3) {
+ //鍒犻櫎
+ svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyLibTemplate.getSvyid());
}
+ i = svyLibTemplate.getSvyid().intValue();
//澶勭悊棰樼洰
- if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibTopics())) {
- for (SvyLibScript svyLibTopic : svyLibTemplate.getSvyLibTopics()) {
+ if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyTemplateLibScripts())) {
+ for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) {
//瀵归鐩繘琛屽鐞�
- if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
- //鏂板
- svyLibTopic.setSvyid(svyLibTemplate.getSvyid());
- //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicid鍘诲叧鑱�
- svyLibScriptMapper.insertSvyLibScript(svyLibTopic);
- } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
- //淇敼
- svyLibTopic.setSvyid(svyLibTemplate.getSvyid());
- svyLibScriptMapper.updateSvyLibScript(svyLibTopic);
+ if (svyLibScript.getIsoperation() != null) {
+ //闂鐨勬搷浣滀笉涓虹┖
+ scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibScript.getIsoperation());
+ } else if (svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
+ //妯℃澘鐨勬搷浣滀笉涓虹┖
+ scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibTemplate.getIsoperation());
}
-
//瀵归鐩�夐」杩涜澶勭悊
- if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibScriptOptions())) {
- for (SvyLibScriptOption svyLibTopicoption : svyLibTopic.getSvyLibScriptOptions()) {
- if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
- //鏂板
- svyLibTopicoption.setTopicid(svyLibTopic.getId());
- svyLibTopicoptionMapper.insertSvyLibScriptOption(svyLibTopicoption);
- } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
- //淇敼
- svyLibTopicoption.setTopicid(svyLibTopic.getId());
- svyLibTopicoptionMapper.updateSvyLibScriptOption(svyLibTopicoption);
+ if (CollectionUtils.isNotEmpty(svyLibScript.getSvyLibTemplateTargetoptions())) {
+ for (SvyLibTemplateTargetoption svyLibTemplateTargetoption : svyLibScript.getSvyLibTemplateTargetoptions()) {
+ if (svyLibTemplateTargetoption.getIsoperation() != null) {
+ //閫夐�夐」鐨勬搷浣滀笉涓虹┖
+ optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplateTargetoption.getIsoperation());
+ } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() != null) {
+ //闂鐨勬搷浣滀笉涓虹┖
+ optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibScript.getIsoperation());
+ } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
+ //妯℃澘鐨勬搷浣滀笉涓虹┖
+ optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplate.getIsoperation());
}
}
-
}
-
}
}
if (CollectionUtils.isNotEmpty(svyLibTemplate.getTempDetpRelevances())) {
- for (TempDetpRelevance tempDetpRelevance : svyLibTemplate.getTempDetpRelevances()) {
+ for (TemplateDept tempDetpRelevance : svyLibTemplate.getTempDetpRelevances()) {
if (tempDetpRelevance.getId() == null) {
//鏂板
tempDetpRelevance.setTempid(svyLibTemplate.getSvyid());
tempDetpRelevance.setType(1L);
- tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
+ templateDeptMapper.insertTemplateDept(tempDetpRelevance);
} else {
- tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
+ templateDeptMapper.updateTemplateDept(tempDetpRelevance);
}
}
+ }
+
+ //鏍囩澶勭悊
+ if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibTemplateTagList())) {
+ for (SvyLibTemplateTag svyLibTemplateTag : svyLibTemplate.getSvyLibTemplateTagList()) {
+ if (svyLibTemplateTag.getId() == null) {
+ //鏂板
+ svyLibTemplateTag.setTemplateid(svyLibTemplate.getSvyid());
+ svyLibTemplateTagMapper.insertSvyLibTemplateTag(svyLibTemplateTag);
+ } else {
+ svyLibTemplateTag.setTemplateid(svyLibTemplate.getSvyid());
+ svyLibTemplateTagMapper.updateSvyLibTemplateTag(svyLibTemplateTag);
+ }
+ }
+
+ }
+ if (CollectionUtils.isNotEmpty(svyLibTemplateVO.getIcd10AssociationList())) {
+ for (Icd10Association icd10Association : svyLibTemplateVO.getIcd10AssociationList()) {
+ if (icd10Association.getId() == null) {
+ icd10Association.setType(5L);
+ icd10Association.setOutid(svyLibTemplate.getSvyid());
+ icd10AssociationMapper.insertIcd10Association(icd10Association);
+ } else {
+ icd10Association.setType(5L);
+ icd10Association.setOutid(svyLibTemplate.getSvyid());
+ icd10AssociationMapper.updateIcd10Association(icd10Association);
+ }
+ }
}
return i;
}
@@ -235,4 +285,39 @@
public int deleteSvyLibTemplateBySvyid(Long svyid) {
return svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyid);
}
+
+ private void scriptHandle(Long svyid, SvyLibTemplateScript svyLibScript, Integer isoperation) {
+ if (isoperation == 1) {
+ //鏂板
+ svyLibScript.setSvyid(svyid);
+ svyLibScript.setId(null);
+ svyLibScript.setCreateTime(new Date());
+ svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibScript);
+
+ } else if (isoperation == 2) {
+ //淇敼
+ svyLibScript.setSvyid(svyid);
+ svyLibScript.setUpdateTime(new Date());
+ svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibScript);
+ } else if (isoperation == 3) {
+ svyLibTemplateScriptMapper.deleteSvyLibTemplateScriptByTopicid(svyLibScript.getId());
+ }
+ }
+
+ private void optionHandle(SvyLibTemplateTargetoption svyLibTemplateTargetoption, Long scriptId, Integer isoperation) {
+ if (isoperation == 1) {
+ //鏂板
+ svyLibTemplateTargetoption.setScriptid(scriptId);
+ svyLibTemplateTargetoption.setCreateTime(new Date());
+ svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
+ } else if (isoperation == 2) {
+ //淇敼
+ svyLibTemplateTargetoption.setScriptid(scriptId);
+ svyLibTemplateTargetoption.setUpdateTime(new Date());
+ svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
+ } else if (isoperation == 3) {
+ //鍒犻櫎
+ svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId());
+ }
+ }
}
--
Gitblit v1.9.3