| | |
| | | @Autowired |
| | | private SvyLibTemplateTagMapper svyLibTemplateTagMapper; |
| | | @Autowired |
| | | private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper; |
| | | @Autowired |
| | | private Icd10AssociationMapper icd10AssociationMapper; |
| | | |
| | | /** |
| | |
| | | svyLibTemplateReq.setSvyname(svyLibTemplate.getSvyname()); |
| | | svyLibTemplateReq.setOrgid(svyLibTemplate.getOrgid()); |
| | | List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq); |
| | | for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) { |
| | | SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); |
| | | svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid()); |
| | | svyLibTemplateScript.setOrgid(svyLibTemplate1.getOrgid()); |
| | | 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()); |
| | | svyLibTemplateTargetoption.setOrgid(svyLibTemplateScript1.getOrgid()); |
| | | List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption); |
| | | svyLibTemplateScript1.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); |
| | | } |
| | | } |
| | | svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts); |
| | | } |
| | | svyLibTemplatesCycle(svyLibTemplates); |
| | | return svyLibTemplates; |
| | | } |
| | | |
| | | @Override |
| | | public List<SvyLibTemplate> getSviLibTemplateByDeptCode(TemplateDeptVO templateDeptVO) { |
| | | if (templateDeptVO.getType() == null) templateDeptVO.setType(1L); |
| | | if (templateDeptVO.getDeptType() == null) templateDeptVO.setDeptType("1"); |
| | | List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateListByDeptCode(templateDeptVO); |
| | | svyLibTemplatesCycle(svyLibTemplates); |
| | | return svyLibTemplates; |
| | | } |
| | | |
| | |
| | | for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) { |
| | | svyLibScript.setGuid(svyLibTemplateVO.getGuid()); |
| | | svyLibScript.setOrgid(svyLibTemplateVO.getOrgid()); |
| | | //获取一下分类名称 |
| | | if (StringUtils.isEmpty(svyLibScript.getCategoryName())) { |
| | | SvyLibScriptCategory svyLibScriptCategory = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryById(svyLibScript.getCategoryid()); |
| | | if (svyLibScriptCategory != null) svyLibScript.setCategoryName(svyLibScriptCategory.getName()); |
| | | } |
| | | |
| | | |
| | | //对题目进行处理 |
| | | if (svyLibScript.getIsoperation() != null) { |
| | | //问题的操作不为空 |
| | |
| | | svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId()); |
| | | } |
| | | } |
| | | |
| | | private void svyLibTemplatesCycle(List<SvyLibTemplate> svyLibTemplates) { |
| | | for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) { |
| | | SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); |
| | | svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid()); |
| | | svyLibTemplateScript.setOrgid(svyLibTemplate1.getOrgid()); |
| | | List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); |
| | | |
| | | // 收集所有需要查询选项的scriptId(scriptType为1或2的题目才需要选项) |
| | | List<Long> scriptIds = svyLibTemplateScripts.stream().filter(s -> "1".equals(s.getScriptType()) || "2".equals(s.getScriptType())).map(SvyLibTemplateScript::getId).filter(Objects::nonNull).collect(Collectors.toList()); |
| | | |
| | | // 批量查询所有选项,按scriptId分组 |
| | | Map<Long, List<SvyLibTemplateTargetoption>> optionMap; |
| | | if (CollectionUtils.isNotEmpty(scriptIds)) { |
| | | List<SvyLibTemplateTargetoption> allOptions = svyLibTemplateTargetoptionMapper.selectByScriptIds(scriptIds, svyLibTemplate1.getOrgid()); |
| | | optionMap = allOptions.stream().collect(Collectors.groupingBy(SvyLibTemplateTargetoption::getScriptid)); |
| | | } else { |
| | | optionMap = new HashMap<>(); |
| | | } |
| | | |
| | | // 将选项分配到对应题目 |
| | | for (SvyLibTemplateScript svyLibTemplateScript1 : svyLibTemplateScripts) { |
| | | if ("1".equals(svyLibTemplateScript1.getScriptType()) || "2".equals(svyLibTemplateScript1.getScriptType())) { |
| | | svyLibTemplateScript1.setSvyLibTemplateTargetoptions(optionMap.getOrDefault(svyLibTemplateScript1.getId(), new ArrayList<>())); |
| | | } |
| | | } |
| | | |
| | | svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts); |
| | | } |
| | | } |
| | | } |