| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | 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.Icd10AssociationMapper; |
| | | import com.smartor.mapper.SvyLibTopicMapper; |
| | | import com.smartor.mapper.SvyTopicoptionMapper; |
| | | import com.smartor.mapper.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | 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.service.ISvyLibTitleService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | * @author ruoyi |
| | | * @date 2023-03-02 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class SvyLibTitleServiceImpl implements ISvyLibTitleService { |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private SvyLibTopicMapper svyLibTopicMapper; |
| | | @Autowired |
| | | private SvyTopicoptionMapper svyTopicoptionMapper; |
| | | private SvyLibTopicoptionMapper svyLibTopicoptionMapper; |
| | | @Autowired |
| | | private TempDetpRelevanceMapper tempDetpRelevanceMapper; |
| | | |
| | | /** |
| | | * 查询问卷 |
| | |
| | | //获取题目选项 |
| | | a: |
| | | for (int j = 0; j < svyLibTopics.size(); j++) { |
| | | if (svyLibTopics.get(j).getTopictype() == 3) { |
| | | log.info("问题id为:{}", svyLibTopics.get(j).getSvyTopicId()); |
| | | if (StringUtils.isNotEmpty(svyLibTopics.get(j).getTopictype()) && svyLibTopics.get(j).getTopictype().equals("3") || svyLibTopics.get(j).getSvyTopicId() == null) { |
| | | //作答题,不需要选项 |
| | | continue a; |
| | | } else { |
| | | SvyTopicoption svyTopicoption = new SvyTopicoption(); |
| | | svyTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId()); |
| | | List<SvyTopicoption> svyTopicoptions = svyTopicoptionMapper.selectSvyTopicoptionList(svyTopicoption); |
| | | SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption(); |
| | | svyLibTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId()); |
| | | List<SvyLibTopicoption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption); |
| | | //将查询出的选项目放到题目中 |
| | | svyLibTopics.get(j).setSvyTopicoptions(svyTopicoptions); |
| | | svyLibTopics.get(j).setSvyLibTopicoptions(svyLibTopicoptions); |
| | | } |
| | | } |
| | | //将题目放到问卷列表中 |
| | | svyLibTitles.get(i).setSvyLibTopics(svyLibTopics); |
| | | |
| | | //获取每个问卷对应的科室 |
| | | TempDetpRelevance tempDetpRelevance = new TempDetpRelevance(); |
| | | tempDetpRelevance.setTempid(svyLibTitles.get(i).getSvyid()); |
| | | List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance); |
| | | svyLibTitles.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>()); |
| | | } |
| | | |
| | | //先将相同的id的icdname,整理到一块 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增或修改问卷模板信息 |
| | | * |
| | | * @param svyLibTitle |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer saveOrUpdateTitle(SvyLibTitle svyLibTitle) { |
| | | Integer i = null; |
| | | if (svyLibTitle.getIsoperation() != null && svyLibTitle.getIsoperation() == 1) { |
| | | //新增 |
| | | svyLibTitle.setCreateTime(DateUtils.getNowDate()); |
| | | i = svyLibTitleMapper.insertSvyLibTitle(svyLibTitle); |
| | | } else if (svyLibTitle.getIsoperation() != null && svyLibTitle.getIsoperation() == 2) { |
| | | //修改 |
| | | svyLibTitle.setUpdateTime(DateUtils.getNowDate()); |
| | | i = svyLibTitleMapper.updateSvyLibTitle(svyLibTitle); |
| | | } |
| | | |
| | | //处理题目 |
| | | if (CollectionUtils.isNotEmpty(svyLibTitle.getSvyLibTopics())) { |
| | | for (SvyLibTopic svyLibTopic : svyLibTitle.getSvyLibTopics()) { |
| | | //对题目进行处理 |
| | | if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) { |
| | | //新增 |
| | | svyLibTopic.setSvyid(svyLibTitle.getSvyid()); |
| | | //题目的选项目,直接用svy_topicoption表,用svyTopicid去关联 |
| | | svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); |
| | | } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) { |
| | | //修改 |
| | | svyLibTopic.setSvyid(svyLibTitle.getSvyid()); |
| | | svyLibTopicMapper.updateSvyLibTopic(svyLibTopic); |
| | | } |
| | | |
| | | //对题目选项进行处理 |
| | | if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibTopicoptions())) { |
| | | for (SvyLibTopicoption svyLibTopicoption : svyLibTopic.getSvyLibTopicoptions()) { |
| | | if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) { |
| | | //新增 |
| | | svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) { |
| | | //修改 |
| | | svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); |
| | | svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(svyLibTitle.getTempDetpRelevances())) { |
| | | for (TempDetpRelevance tempDetpRelevance : svyLibTitle.getTempDetpRelevances()) { |
| | | if (tempDetpRelevance.getId() == null) { |
| | | //新增 |
| | | tempDetpRelevance.setTempid(svyLibTitle.getSvyid()); |
| | | tempDetpRelevance.setType(1L); |
| | | tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance); |
| | | } else { |
| | | tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return i; |
| | | } |
| | | |
| | | /** |
| | | * 修改问卷 |
| | | * |
| | | * @param svyLibTitle 问卷 |