From af396db5b1e6dcbb53879af52bd682b4a7e82664 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 21 十月 2024 15:46:44 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java | 161 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 104 insertions(+), 57 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 55016ea..1d9bdc9 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; + private TemplateDeptMapper templateDeptMapper; + @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,69 +106,64 @@ } } //灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑 - svyLibTemplates.get(i).setSvyLibScripts(svyLibTemplateScripts); + 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.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) { //鏂板 @@ -161,8 +180,8 @@ i = svyLibTemplate.getSvyid().intValue(); //澶勭悊棰樼洰 - if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibScripts())) { - for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyLibScripts()) { + if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyTemplateLibScripts())) { + for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) { //瀵归鐩繘琛屽鐞� if (svyLibScript.getIsoperation() != null) { //闂鐨勬搷浣滀笉涓虹┖ @@ -190,18 +209,46 @@ } 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; } -- Gitblit v1.9.3