liusheng
2023-06-27 0b193b98347b5563e59492d8f57eba8f67af6d23
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
@@ -1,96 +1,134 @@
package com.smartor.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.Icd10Association;
import com.smartor.domain.SvyLibTitleReq;
import com.smartor.domain.SvyLibTopic;
import com.smartor.mapper.Icd10AssociationMapper;
import com.smartor.mapper.SvyLibTopicMapper;
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业务层处理
 *
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Service
public class SvyLibTitleServiceImpl implements ISvyLibTitleService
{
public class SvyLibTitleServiceImpl implements ISvyLibTitleService {
    @Autowired
    private SvyLibTitleMapper svyLibTitleMapper;
    @Autowired
    private Icd10AssociationMapper icd10AssociationMapper;
    @Autowired
    private SvyLibTopicMapper svyLibTopicMapper;
    /**
     * 查询问卷
     *
     *
     * @param svyid 问卷主键
     * @return 问卷
     */
    @Override
    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid)
    {
    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid) {
        return svyLibTitleMapper.selectSvyLibTitleBySvyid(svyid);
    }
    /**
     * 查询问卷列表
     *
     * @param svyLibTitle 问卷
     *
     * @param svyLibTitleReq 问卷
     * @return 问卷
     */
    @Override
    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle)
    {
        return svyLibTitleMapper.selectSvyLibTitleList(svyLibTitle);
    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitleReq svyLibTitleReq) {
        List<SvyLibTitle> svyLibTitles = svyLibTitleMapper.selectSvyLibTitleList(svyLibTitleReq);
        //先将相同的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());
        //临时变量,用来保存疾病名称
        String icdname = null;
        for (int i = 0; i < libTitles.size(); i++) {
            for (int j = 0; j < svyLibTitles.size(); j++) {
                if (ObjectUtils.isNotEmpty(libTitles.get(i).getSvyid()) && libTitles.get(i).getSvyid() == svyLibTitles.get(j).getSvyid()) {
                    icdname = libTitles.get(i).getIcdname();
                    // 将原数据拷贝到整理的好的对象上
                    BeanUtils.copyProperties(svyLibTitles.get(j), libTitles.get(i));
                    //再将整理好的“疾病名称”替换
                    libTitles.get(i).setIcdname(icdname);
                }
            }
        }
        return libTitles;
    }
    /**
     * 新增问卷
     *
     *
     * @param svyLibTitle 问卷
     * @return 结果
     */
    @Transactional
    @Override
    public int insertSvyLibTitle(SvyLibTitle svyLibTitle)
    {
    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);
            svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
        }
        return 1;
    }
    /**
     * 修改问卷
     *
     *
     * @param svyLibTitle 问卷
     * @return 结果
     */
    @Override
    public int updateSvyLibTitle(SvyLibTitle svyLibTitle)
    {
    public int updateSvyLibTitle(SvyLibTitle svyLibTitle) {
        svyLibTitle.setUpdateTime(DateUtils.getNowDate());
        return svyLibTitleMapper.updateSvyLibTitle(svyLibTitle);
    }
    /**
     * 批量删除问卷
     *
     *
     * @param svyids 需要删除的问卷主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTitleBySvyids(Long[] svyids)
    {
    public int deleteSvyLibTitleBySvyids(Long[] svyids) {
        return svyLibTitleMapper.deleteSvyLibTitleBySvyids(svyids);
    }
    /**
     * 删除问卷信息
     *
     *
     * @param svyid 问卷主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTitleBySvyid(Long svyid)
    {
    public int deleteSvyLibTitleBySvyid(Long svyid) {
        return svyLibTitleMapper.deleteSvyLibTitleBySvyid(svyid);
    }
}