| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.smartor.domain.SvyLibScript; |
| | | import com.smartor.domain.SvyLibScriptOption; |
| | | import com.smartor.domain.SvyLibScriptTag; |
| | | import com.smartor.mapper.SvyLibScriptMapper; |
| | | import com.smartor.mapper.SvyLibScriptOptionMapper; |
| | | import com.smartor.mapper.SvyLibScriptTagMapper; |
| | | import com.smartor.service.ISvyLibScriptService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private SvyLibScriptOptionMapper svyLibScriptOptionMapper; |
| | | |
| | | @Autowired |
| | | private SvyLibScriptTagMapper svyLibScriptTagMapper; |
| | | |
| | | /** |
| | | * 查询问卷题目 |
| | |
| | | */ |
| | | @Override |
| | | public List<SvyLibScript> selectSvyLibScriptList(SvyLibScript svyLibTopic) { |
| | | //添加题目 |
| | | |
| | | List<SvyLibScript> svyLibTopics = svyLibTopicMapper.selectSvyLibScriptList(svyLibTopic); |
| | | List<SvyLibScript> svyLibScripts = svyLibTopicMapper.selectSvyLibScriptList(svyLibTopic); |
| | | //获取题目选项 |
| | | for (int j = 0; j < svyLibScripts.size(); j++) { |
| | | log.info("问题id为:{}", svyLibScripts.get(j).getId()); |
| | | if (StringUtils.isNotEmpty(svyLibScripts.get(j).getIcd10Name())) |
| | | svyLibScripts.get(j).setIcd10NameList(JSONArray.parseArray(svyLibScripts.get(j).getIcd10Name(), String.class)); |
| | | |
| | | for (int j = 0; j < svyLibTopics.size(); j++) { |
| | | log.info("问题id为:{}", svyLibTopics.get(j).getSvyscriptId()); |
| | | if (StringUtils.isNotEmpty(svyLibTopics.get(j).getScripttype()) && svyLibTopics.get(j).getScripttype().equals("3") || svyLibTopics.get(j).getId() == null) { |
| | | if (StringUtils.isNotEmpty(svyLibScripts.get(j).getScriptType()) && svyLibScripts.get(j).getScriptType().equals("3") || svyLibScripts.get(j).getId() == null) { |
| | | //作答题,不需要选项 |
| | | continue; |
| | | } else { |
| | | SvyLibScriptOption svyLibTopicoption = new SvyLibScriptOption(); |
| | | svyLibTopicoption.setTopicid(svyLibTopics.get(j).getId()); |
| | | svyLibTopicoption.setTopicid(svyLibScripts.get(j).getId()); |
| | | List<SvyLibScriptOption> svyLibTopicoptions = svyLibScriptOptionMapper.selectSvyLibScriptOptionList(svyLibTopicoption); |
| | | //将查询出的选项目放到题目中 |
| | | svyLibTopics.get(j).setSvyLibScriptOptions(svyLibTopicoptions); |
| | | svyLibScripts.get(j).setSvyLibScriptOptions(svyLibTopicoptions); |
| | | } |
| | | //获取tag |
| | | SvyLibScriptTag svyLibScriptTag = new SvyLibScriptTag(); |
| | | svyLibScriptTag.setScriptid(svyLibScripts.get(j).getId()); |
| | | List<SvyLibScriptTag> svyLibScriptTags = svyLibScriptTagMapper.selectSvyLibScriptTagList(svyLibScriptTag); |
| | | svyLibScripts.get(j).setSvyLibScriptTagList(svyLibScriptTags); |
| | | } |
| | | return svyLibTopics; |
| | | return svyLibScripts; |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public Integer saveOrUpdateScript(SvyLibScript svyLibTopic) { |
| | | Integer i = null; |
| | | if (CollectionUtils.isNotEmpty(svyLibTopic.getIcd10NameList()) && svyLibTopic.getIcd10NameList().size() > 0) { |
| | | //将数组转成字符串 |
| | | svyLibTopic.setIcd10Name(JSON.toJSONString(svyLibTopic.getIcd10NameList())); |
| | | } |
| | | |
| | | //对题目进行处理 |
| | | if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) { |
| | |
| | | svyLibScriptOptionMapper.updateSvyLibScriptOption(svyLibTopicoption); |
| | | } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 3) { |
| | | //删除 |
| | | svyLibScriptOptionMapper.deleteSvyLibScriptOptionByOptionid(svyLibTopicoption.getOptionid()); |
| | | svyLibScriptOptionMapper.deleteSvyLibScriptOptionByOptionid(svyLibTopicoption.getId()); |
| | | } |
| | | } |
| | | } |
| | | //标签处理 |
| | | if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibScriptTagList())) { |
| | | for (SvyLibScriptTag svyLibScriptTag : svyLibTopic.getSvyLibScriptTagList()) { |
| | | if (svyLibScriptTag.getId() == null) { |
| | | //新增 |
| | | svyLibScriptTag.setScriptid(svyLibTopic.getId()); |
| | | svyLibScriptTag.setCreateTime(new Date()); |
| | | svyLibScriptTagMapper.insertSvyLibScriptTag(svyLibScriptTag); |
| | | } else if (svyLibScriptTag.getId() != null) { |
| | | //修改 |
| | | svyLibScriptTag.setScriptid(svyLibTopic.getId()); |
| | | svyLibScriptTag.setUpdateTime(new Date()); |
| | | svyLibScriptTagMapper.updateSvyLibScriptTag(svyLibScriptTag); |
| | | } |
| | | } |
| | | } |