liusheng
2024-06-24 3153009257c97b0f0099f787e951dd15472d077e
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
@@ -1,9 +1,20 @@
package com.smartor.service.impl;
import com.alibaba.fastjson2.JSON;
import com.google.gson.Gson;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.PatTaskRelevance;
import com.smartor.domain.SvyTask;
import com.smartor.domain.SvyTaskSingle;
import com.smartor.domain.SvyTaskVO;
import com.smartor.mapper.SvyTaskSingleMapper;
import com.smartor.service.ISvyTaskService;
import com.smartor.service.ISvyTaskSingleService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -15,11 +26,14 @@
 * @author ruoyi
 * @date 2024-06-12
 */
@Slf4j
@Service
public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService
{
public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService {
    @Autowired
    private SvyTaskSingleMapper svyTaskSingleMapper;
    @Autowired
    private ISvyTaskService svyTaskService;
    /**
     * 查询单一任务(问卷)
@@ -28,8 +42,7 @@
     * @return 单一任务(问卷)
     */
    @Override
    public SvyTaskSingle selectSvyTaskSingleById(Long id)
    {
    public SvyTaskSingle selectSvyTaskSingleById(Long id) {
        return svyTaskSingleMapper.selectSvyTaskSingleById(id);
    }
@@ -40,8 +53,7 @@
     * @return 单一任务(问卷)
     */
    @Override
    public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle)
    {
    public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) {
        return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle);
    }
@@ -52,8 +64,7 @@
     * @return 结果
     */
    @Override
    public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle)
    {
    public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) {
        svyTaskSingle.setCreateTime(DateUtils.getNowDate());
        return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle);
    }
@@ -65,8 +76,7 @@
     * @return 结果
     */
    @Override
    public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle)
    {
    public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) {
        svyTaskSingle.setUpdateTime(DateUtils.getNowDate());
        return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle);
    }
@@ -78,8 +88,7 @@
     * @return 结果
     */
    @Override
    public int deleteSvyTaskSingleByIds(Long[] ids)
    {
    public int deleteSvyTaskSingleByIds(Long[] ids) {
        return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids);
    }
@@ -90,8 +99,84 @@
     * @return 结果
     */
    @Override
    public int deleteSvyTaskSingleById(Long id)
    {
    public int deleteSvyTaskSingleById(Long id) {
        return svyTaskSingleMapper.deleteSvyTaskSingleById(id);
    }
    @Override
    public int insertOrUpdateSvyTask(SvyTaskVO svyTaskVO) {
        if (ObjectUtils.isEmpty(svyTaskVO)) {
            log.info("问卷任务入参为空,请检查入参");
            throw new BaseException("问卷任务入参为空,请检查入参");
        }
        Integer integer = 1;
        SvyTask svyTask = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTask.class);
        svyTask.setTextParam(JSON.toJSONString(svyTaskVO.getTextParamMap()));
        if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 1) {
            //往任务表中,新增任务
            if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot()))
                svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot()));
            if (svyTask.getSendState() == null) svyTask.setSendState("1");
            svyTask.setTemplateid(svyTaskVO.getLibtemplateid());
            svyTaskService.insertSvyTask(svyTask);
            //将任务信息放到服务表中
            SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class);
            svyTaskSingle.setTaskid(svyTask.getTaskid());
            //新增
            if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) {
                for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) {
                    //将任务信息新增到随访服务表中
                    svyTaskSingle.setSendname(patTaskRelevance.getName());
                    svyTaskSingle.setAge(patTaskRelevance.getAge());
                    svyTaskSingle.setSfzh(patTaskRelevance.getSfzh());
                    svyTaskSingle.setPhone(patTaskRelevance.getPhone());
                    svyTaskSingle.setAddr(patTaskRelevance.getAddr());
                    svyTaskSingle.setPatid(patTaskRelevance.getPatid());
                    svyTaskSingle.setCreateTime(DateUtils.getNowDate());
                    svyTaskSingle.setCreateTime(DateUtils.getNowDate());
                    svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle);
                    integer = svyTaskSingle.getId().intValue();
                }
            }
        } else if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 2) {
            //任务修改
            if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot()))
                svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot()));
            //修改操作,需要将stopState状态+1
            SvyTask svyTask1 = svyTaskService.selectSvyTaskByTaskid(svyTaskVO.getTaskid());
            svyTask.setStopState(svyTask1.getStopState() + 1);
            svyTask.setTemplateid(svyTaskVO.getLibtemplateid());
            svyTaskService.updateSvyTask(svyTask);
            if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) {
                for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) {
                    SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class);
                    svyTaskSingle.setSendname(patTaskRelevance.getName());
                    svyTaskSingle.setAge(patTaskRelevance.getAge());
                    svyTaskSingle.setSfzh(patTaskRelevance.getSfzh());
                    svyTaskSingle.setPhone(patTaskRelevance.getPhone());
                    svyTaskSingle.setAddr(patTaskRelevance.getAddr());
                    svyTaskSingle.setPatid(patTaskRelevance.getPatid());
                    svyTaskSingle.setCreateTime(DateUtils.getNowDate());
                    svyTaskSingle.setTextParam(new Gson().toJson(svyTaskVO.getTextParamMap()));
                    if (patTaskRelevance.getIsoperation() != null) {
                        if (patTaskRelevance.getIsoperation() == 2)
                            svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle);
                        if (patTaskRelevance.getIsoperation() == 1)
                            svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle);
                        if (patTaskRelevance.getIsoperation() == 3)
                            //  通过taskid和patid去删除该条数据
                            svyTaskSingleMapper.deleteSvyTaskcallByCondition(svyTaskVO.getTaskid(), patTaskRelevance.getPatid());
                    }
                    integer = svyTaskSingle.getTaskid().intValue();
                }
            }
        }
        return integer;
    }
}