liusheng
2024-09-18 907641e56c2085aaa81f267946dc3e3e9fca73e7
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptServiceImpl.java
@@ -1,11 +1,15 @@
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;
@@ -13,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -30,6 +35,9 @@
    @Autowired
    private SvyLibScriptOptionMapper svyLibScriptOptionMapper;
    @Autowired
    private SvyLibScriptTagMapper svyLibScriptTagMapper;
    /**
     * 查询问卷题目
@@ -50,25 +58,30 @@
     */
    @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;
    }
    /**
@@ -87,6 +100,10 @@
    @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) {
@@ -112,7 +129,23 @@
                    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);
                }
            }
        }