| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | 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.domain.*; |
| | | import com.smartor.mapper.SvyTaskSingleMapper; |
| | | import com.smartor.service.ISvyTaskService; |
| | | import com.smartor.service.ISvyTaskSingleService; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 单一任务(问卷)Service业务层处理 |
| | |
| | | svyTaskSingle.setPhone(patTaskRelevance.getPhone()); |
| | | svyTaskSingle.setAddr(patTaskRelevance.getAddr()); |
| | | svyTaskSingle.setPatid(patTaskRelevance.getPatid()); |
| | | svyTaskSingle.setCreateTime(DateUtils.getNowDate()); |
| | | svyTaskSingle.setSendstate(1L); |
| | | svyTaskSingle.setCreateTime(DateUtils.getNowDate()); |
| | | svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); |
| | | integer = svyTaskSingle.getId().intValue(); |
| | |
| | | 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()); |
| | | optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid()); |
| | | } else if (patTaskRelevance.getIsoperation() == null) { |
| | | optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), svyTaskVO.getIsoperation(), patTaskRelevance.getPatid()); |
| | | } |
| | | integer = svyTaskSingle.getTaskid().intValue(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return integer; |
| | | } |
| | | |
| | | @Override |
| | | public SvyTaskVO queryTaskByCondition(SvyTaskSingle svyTaskSingle) { |
| | | //定义患者与单一任务关联表集合 |
| | | List<PatTaskRelevance> patTaskRelevances = new ArrayList<>(); |
| | | List<SvyTaskSingle> list = selectSvyTaskSingleList(svyTaskSingle); |
| | | if (CollectionUtils.isEmpty(list) || list.size() == 0) { |
| | | return new SvyTaskVO(); |
| | | } |
| | | SvyTask svyTask = svyTaskService.selectSvyTaskByTaskid(svyTaskSingle.getTaskid()); |
| | | //将查出来的数据倒入ivrTasksingleVO中 |
| | | SvyTaskVO svyTaskVO = DtoConversionUtils.sourceToTarget(list.get(0), SvyTaskVO.class); |
| | | svyTaskVO.setShowDate(svyTask.getShowDate()); |
| | | svyTaskVO.setShowTimeMorn(svyTask.getShowTimeMorn()); |
| | | svyTaskVO.setShowTimeNoon(svyTask.getShowTimeNoon()); |
| | | svyTaskVO.setShowTimeNight(svyTask.getShowTimeNight()); |
| | | svyTaskVO.setPreachform(svyTask.getPreachform()); |
| | | String sendTimeSlot = svyTask.getSendTimeSlot(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | try { |
| | | //获取到发送时间的集合 |
| | | if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) { |
| | | List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class); |
| | | svyTaskVO.setSendTimeSlot(taskSendTimeVOList); |
| | | svyTaskVO.setSendType(svyTask.getSendType()); |
| | | } |
| | | //文本变量参数 |
| | | if (com.ruoyi.common.utils.StringUtils.isNotEmpty(svyTask.getTextParam())) { |
| | | Map<String, Map<String, String>> textParam = objectMapper.readValue(svyTask.getTextParam(), Map.class); |
| | | svyTaskVO.setTextParam(textParam); |
| | | } |
| | | } catch (JsonProcessingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | for (SvyTaskSingle svyTaskSingle1 : list) { |
| | | PatTaskRelevance patTaskRelevance = new PatTaskRelevance(); |
| | | if (!svyTaskSingle1.getHospType().equals("2")) { |
| | | log.info("随访查询不为出院,{}", svyTaskSingle1.getHospType()); |
| | | //获取到患者信息,并放入到集合中 |
| | | patTaskRelevance.setName(svyTaskSingle1.getSendname()); |
| | | patTaskRelevance.setAge(svyTaskSingle1.getAge()); |
| | | patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); |
| | | patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); |
| | | patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); |
| | | patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); |
| | | patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); |
| | | patTaskRelevances.add(patTaskRelevance); |
| | | } |
| | | if (svyTaskSingle1.getHospType().equals("2")) { |
| | | log.info("随访查询为出院,{}", svyTaskSingle1.getHospType()); |
| | | patTaskRelevance.setName(svyTaskSingle1.getSendname()); |
| | | patTaskRelevance.setAge(svyTaskSingle1.getAge()); |
| | | patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); |
| | | patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); |
| | | patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); |
| | | patTaskRelevance.setDeptName(svyTaskSingle1.getDeptname()); |
| | | patTaskRelevance.setBedNo(svyTaskSingle1.getBedno()); |
| | | patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); |
| | | patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); |
| | | patTaskRelevances.add(patTaskRelevance); |
| | | } |
| | | } |
| | | |
| | | svyTaskVO.setPatTaskRelevances(patTaskRelevances); |
| | | return svyTaskVO; |
| | | } |
| | | |
| | | private void optionHandle(SvyTaskSingle svyTaskSingle, Long taskId, Integer isoperation, Long patid) { |
| | | if (isoperation == 1) { |
| | | svyTaskSingle.setSendstate(1L); |
| | | svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); |
| | | } else if (isoperation == 2) svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); |
| | | else if (isoperation == 3) svyTaskSingleMapper.deleteSvyTaskcallByCondition(taskId, patid); |
| | | } |
| | | } |