| | |
| | | package com.smartor.service.impl; |
| | | |
| | | 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 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.stream.Collectors; |
| | | |
| | |
| | | @Autowired |
| | | private SvyLibTemplateMapper svyLibTemplateMapper; |
| | | @Autowired |
| | | private Icd10AssociationMapper icd10AssociationMapper; |
| | | @Autowired |
| | | private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; |
| | | @Autowired |
| | | private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper; |
| | | @Autowired |
| | | private TempDetpRelevanceMapper tempDetpRelevanceMapper; |
| | | @Autowired |
| | | private SvyLibTemplateTagMapper svyLibTemplateTagMapper; |
| | | |
| | | /** |
| | | * 查询问卷 |
| | |
| | | @Override |
| | | public SvyLibTemplate selectSvyLibTemplateBySvyid(Long svyid) { |
| | | 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()); |
| | | return svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq); |
| | | } |
| | | |
| | | /** |
| | |
| | | List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq); |
| | | //添加题目 |
| | | for (int i = 0; i < svyLibTemplates.size(); i++) { |
| | | // SvyLibScript svyLibScript = new SvyLibScript(); |
| | | // svyLibScript.setSvyid(svyLibTemplates.get(i).getSvyid()); |
| | | // List<SvyLibScript> svyLibTopics = svyLibScriptMapper.selectSvyLibScriptList(svyLibScript); |
| | | SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); |
| | | svyLibTemplateScript.setSvyid(svyLibTemplates.get(i).getSvyid()); |
| | | List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); |
| | |
| | | } |
| | | } |
| | | //将题目放到问卷列表中 |
| | | svyLibTemplates.get(i).setSvyLibScripts(svyLibTemplateScripts); |
| | | svyLibTemplates.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<>()); |
| | | |
| | | //获取标签 |
| | | SvyLibTemplateTag svyLibTemplateTag = new SvyLibTemplateTag(); |
| | | svyLibTemplateTag.setTemplateid(svyLibTemplates.get(i).getSvyid()); |
| | | List<SvyLibTemplateTag> svyLibTemplateTags = svyLibTemplateTagMapper.selectSvyLibTemplateTagList(svyLibTemplateTag); |
| | | svyLibTemplates.get(i).setSvyLibTemplateTagList(svyLibTemplateTags); |
| | | } |
| | | |
| | | //先将相同的id的icdname,整理到一块 |
| | |
| | | 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()); |
| | | // //题目的选项目,直接用svy_topicoption表,用svyTopicidf去关联 |
| | | // svyLibScriptMapper.insertSvyLibScript(svyLibScript); |
| | | // } |
| | | // return 1; |
| | | // } |
| | | |
| | | /** |
| | | * 新增或修改问卷模板信息 |
| | | * |
| | | * @param svyLibTemplate |
| | | * @return |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public Integer saveOrUpdateTemplate(SvyLibTemplate svyLibTemplate) { |
| | | 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.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) { |
| | | //新增 |
| | | svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid()); |
| | | svyLibTemplateScript.setId(null); |
| | | svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibTemplateScript); |
| | | |
| | | } else if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 2) { |
| | | //修改 |
| | | svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid()); |
| | | svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibTemplateScript); |
| | | 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()); |
| | | svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption); |
| | | } else if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 2) { |
| | | //修改 |
| | | svyLibTemplateTargetoption.setScriptid(svyLibScript.getId()); |
| | | svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption); |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance); |
| | | } else { |
| | | tempDetpRelevanceMapper.updateTempDetpRelevance(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); |
| | | } |
| | | } |
| | | |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | } |