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; import java.util.List; /** * 单一任务(问卷)Service业务层处理 * * @author ruoyi * @date 2024-06-12 */ @Slf4j @Service public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService { @Autowired private SvyTaskSingleMapper svyTaskSingleMapper; @Autowired private ISvyTaskService svyTaskService; /** * 查询单一任务(问卷) * * @param id 单一任务(问卷)主键 * @return 单一任务(问卷) */ @Override public SvyTaskSingle selectSvyTaskSingleById(Long id) { return svyTaskSingleMapper.selectSvyTaskSingleById(id); } /** * 查询单一任务(问卷)列表 * * @param svyTaskSingle 单一任务(问卷) * @return 单一任务(问卷) */ @Override public List selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) { return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle); } /** * 新增单一任务(问卷) * * @param svyTaskSingle 单一任务(问卷) * @return 结果 */ @Override public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) { svyTaskSingle.setCreateTime(DateUtils.getNowDate()); return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); } /** * 修改单一任务(问卷) * * @param svyTaskSingle 单一任务(问卷) * @return 结果 */ @Override public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) { svyTaskSingle.setUpdateTime(DateUtils.getNowDate()); return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); } /** * 批量删除单一任务(问卷) * * @param ids 需要删除的单一任务(问卷)主键 * @return 结果 */ @Override public int deleteSvyTaskSingleByIds(Long[] ids) { return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids); } /** * 删除单一任务(问卷)信息 * * @param id 单一任务(问卷)主键 * @return 结果 */ @Override 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; } }