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 | 238 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 152 insertions(+), 86 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 55c43c6..e0f6288 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -12,10 +12,9 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
@@ -30,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;
/**
* 鏌ヨ闂嵎
@@ -49,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;
+ }
+
/**
* 鏌ヨ闂嵎鍒楄〃
*
@@ -56,15 +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++) {
-// SvyLibScript svyLibScript = new SvyLibScript();
-// svyLibScript.setSvyid(svyLibTemplates.get(i).getSvyid());
-// List<SvyLibScript> svyLibTopics = svyLibScriptMapper.selectSvyLibScriptList(svyLibScript);
+ 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:
@@ -82,126 +106,105 @@
}
}
//灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
- svyLibTemplates.get(i).setSvyLibScripts(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;
- }
-// /**
-// * 鏂板闂嵎
-// *
-// * @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.getSvyLibScripts().size(); i++) {
-// SvyLibScript svyLibScript = svyLibTemplate.getSvyLibScripts().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) {
//鍒犻櫎
- i = svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyLibTemplate.getSvyid());
-
+ svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyLibTemplate.getSvyid());
}
+ i = svyLibTemplate.getSvyid().intValue();
//澶勭悊棰樼洰
- if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibScripts())) {
- for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyLibScripts()) {
-// SvyLibTemplateScript svyLibTemplateScript = DtoConversionUtils.sourceToTarget(svyLibScript, SvyLibTemplateScript.class);
+ if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyTemplateLibScripts())) {
+ for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) {
//瀵归鐩繘琛屽鐞�
- if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 1) {
- //鏂板
- svyLibScript.setSvyid(svyLibTemplate.getSvyid());
- svyLibScript.setId(null);
- svyLibScript.setCreateTime(new Date());
- svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibScript);
-
- } else if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 2) {
- //淇敼
- svyLibScript.setSvyid(svyLibTemplate.getSvyid());
- svyLibScript.setUpdateTime(new Date());
- svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibScript);
- } else if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 3) {
- svyLibTemplateScriptMapper.deleteSvyLibTemplateScriptByTopicid(svyLibScript.getId());
+ 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(svyLibScript.getSvyLibTemplateTargetoptions())) {
for (SvyLibTemplateTargetoption svyLibTemplateTargetoption : svyLibScript.getSvyLibTemplateTargetoptions()) {
- if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 1) {
- //鏂板
- svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
- svyLibTemplateTargetoption.setCreateTime(new Date());
- svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
- } else if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 2) {
- //淇敼
- svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
- svyLibTemplateTargetoption.setUpdateTime(new Date());
- svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
- } else if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 3) {
- //鍒犻櫎
- svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId());
+ 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());
}
}
-
}
-
}
}
@@ -217,6 +220,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;
}
@@ -254,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