| | |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.smartor.domain.SvyLibTitleReq; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.Icd10AssociationMapper; |
| | | import com.smartor.mapper.SvyLibTopicMapper; |
| | | import com.smartor.mapper.SvyTopicoptionMapper; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.smartor.mapper.SvyLibTitleMapper; |
| | | import com.smartor.domain.SvyLibTitle; |
| | | import com.smartor.service.ISvyLibTitleService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | /** |
| | | * 问卷Service业务层处理 |
| | |
| | | public class SvyLibTitleServiceImpl implements ISvyLibTitleService { |
| | | @Autowired |
| | | private SvyLibTitleMapper svyLibTitleMapper; |
| | | @Autowired |
| | | private Icd10AssociationMapper icd10AssociationMapper; |
| | | @Autowired |
| | | private SvyLibTopicMapper svyLibTopicMapper; |
| | | @Autowired |
| | | private SvyTopicoptionMapper svyTopicoptionMapper; |
| | | |
| | | /** |
| | | * 查询问卷 |
| | |
| | | @Override |
| | | public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitleReq svyLibTitleReq) { |
| | | List<SvyLibTitle> svyLibTitles = svyLibTitleMapper.selectSvyLibTitleList(svyLibTitleReq); |
| | | //添加题目 |
| | | for (int i = 0; i < svyLibTitles.size(); i++) { |
| | | SvyLibTopic svyLibTopic = new SvyLibTopic(); |
| | | svyLibTopic.setSvyid(svyLibTitles.get(i).getSvyid()); |
| | | List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic); |
| | | //获取题目选项 |
| | | a: |
| | | for (int j = 0; j < svyLibTopics.size(); j++) { |
| | | if (svyLibTopics.get(j).getTopictype() == 3) { |
| | | //作答题,不需要选项 |
| | | continue a; |
| | | } else { |
| | | SvyTopicoption svyTopicoption = new SvyTopicoption(); |
| | | svyTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId()); |
| | | List<SvyTopicoption> svyTopicoptions = svyTopicoptionMapper.selectSvyTopicoptionList(svyTopicoption); |
| | | //将查询出的选项目放到题目中 |
| | | svyLibTopics.get(j).setSvyTopicoptions(svyTopicoptions); |
| | | } |
| | | } |
| | | //将题目放到问卷列表中 |
| | | svyLibTitles.get(i).setSvyLibTopics(svyLibTopics); |
| | | } |
| | | |
| | | //先将相同的id的icdname,整理到一块 |
| | | List<SvyLibTitle> libTitles = svyLibTitles.stream().collect(Collectors.groupingBy(SvyLibTitle::getSvyid, Collectors.mapping(SvyLibTitle::getIcdname, Collectors.joining(", ")))).entrySet().stream().map(entry -> new SvyLibTitle(entry.getKey(), entry.getValue())).collect(Collectors.toList()); |
| | | //临时变量,用来保存疾病名称 |
| | |
| | | * @param svyLibTitle 问卷 |
| | | * @return 结果 |
| | | */ |
| | | @Transactional |
| | | @Override |
| | | public int insertSvyLibTitle(SvyLibTitle svyLibTitle) { |
| | | svyLibTitle.setCreateTime(DateUtils.getNowDate()); |
| | | return svyLibTitleMapper.insertSvyLibTitle(svyLibTitle); |
| | | svyLibTitleMapper.insertSvyLibTitle(svyLibTitle); |
| | | //关联问卷疾病 |
| | | for (String icdId : svyLibTitle.getIcdID()) { |
| | | Icd10Association icd10Association = new Icd10Association(); |
| | | icd10Association.setIcd10code(icdId); |
| | | icd10Association.setSvyid(svyLibTitle.getSvyid()); |
| | | icd10AssociationMapper.insertIcd10Association(icd10Association); |
| | | } |
| | | //新增问题题目 |
| | | for (int i = 0; i < svyLibTitle.getSvyLibTopics().size(); i++) { |
| | | SvyLibTopic svyLibTopic = svyLibTitle.getSvyLibTopics().get(i); |
| | | svyLibTopic.setSvyid(svyLibTitle.getSvyid()); |
| | | //题目的选项目,直接用svy_topicoption表,用svyTopicidf去关联 |
| | | svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | /** |