From 907641e56c2085aaa81f267946dc3e3e9fca73e7 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 18 九月 2024 09:39:02 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 94 insertions(+), 18 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 8dccacc..e0f6288 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -14,9 +14,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -31,13 +29,15 @@
@Autowired
private SvyLibTemplateMapper svyLibTemplateMapper;
@Autowired
- private Icd10AssociationMapper icd10AssociationMapper;
- @Autowired
private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
@Autowired
private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
@Autowired
private TempDetpRelevanceMapper tempDetpRelevanceMapper;
+ @Autowired
+ private SvyLibTemplateTagMapper svyLibTemplateTagMapper;
+ @Autowired
+ private Icd10AssociationMapper icd10AssociationMapper;
/**
* 鏌ヨ闂嵎
@@ -50,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;
+ }
+
/**
* 鏌ヨ闂嵎鍒楄〃
*
@@ -57,12 +82,13 @@
* @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++) {
+ for (int i = 0; i < svyLibTemplateVOS.size(); i++) {
SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
- svyLibTemplateScript.setSvyid(svyLibTemplates.get(i).getSvyid());
+ svyLibTemplateScript.setSvyid(svyLibTemplateVOS.get(i).getSvyid());
List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
//鑾峰彇棰樼洰閫夐」
a:
@@ -80,42 +106,64 @@
}
}
//灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
- svyLibTemplates.get(i).setSvyTemplateLibScripts(svyLibTemplateScripts);
+ svyLibTemplateVOS.get(i).setSvyTemplateLibScripts(svyLibTemplateScripts);
//鑾峰彇姣忎釜闂嵎瀵瑰簲鐨勭瀹�
TempDetpRelevance tempDetpRelevance = new TempDetpRelevance();
- tempDetpRelevance.setTempid(svyLibTemplates.get(i).getSvyid());
+ tempDetpRelevance.setTempid(svyLibTemplateVOS.get(i).getSvyid());
List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance);
- svyLibTemplates.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
+ 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;
+
+ 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) {
//鏂板
@@ -173,6 +221,34 @@
}
}
+
+ //鏍囩澶勭悊
+ 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;
}
--
Gitblit v1.9.3