liusheng
9 小时以前 28da7e877a08aaff967efa4adf9d2d4ab4b80c67
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -1,6 +1,7 @@
package com.smartor.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.redis.RedisCache;
@@ -10,6 +11,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IServiceSubtaskAnswerService;
@@ -898,7 +900,12 @@
            subtaskDetailTrace.setAsrtext(stt.getOptioncontent());
            subtaskDetailTrace.setRecordpath(null);
            subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid());
            subtaskDetailTrace.setPatdesc(selectServiceSubtaskList.get(0).getSendname() + "," + selectServiceSubtaskList.get(0).getPhone() + "," + selectServiceSubtaskList.get(0).getDeptname());
            JSONObject patdescJson1 = new JSONObject();
            patdescJson1.put("sendname", selectServiceSubtaskList.get(0).getSendname());
            patdescJson1.put("phone", selectServiceSubtaskList.get(0).getPhone());
            patdescJson1.put("sex", selectServiceSubtaskList.get(0).getSex() != null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "男" : "女" : null);
            patdescJson1.put("age", selectServiceSubtaskList.get(0).getAge());
            subtaskDetailTrace.setPatdesc(patdescJson1.toJSONString());
            subtaskDetailTrace.setTodeptcode(svyTaskTemplateScriptVO.getDutyDeptCode());
            subtaskDetailTrace.setTodeptname(svyTaskTemplateScriptVO.getDutyDeptName());
            subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
@@ -906,13 +913,23 @@
            subtaskDetailTrace.setCreateTime(new Date());
            subtaskDetailTrace.setUpdateTime(new Date());
            subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
            traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
        } else if (ObjectUtils.isNotEmpty(stt) && stt.getIsabnormal() == 1L) {
            ServiceSubtaskDetailTraceVO ssdt = new ServiceSubtaskDetailTraceVO();
            ssdt.setSubId(subtaskDetailTrace.getSubId());
            ssdt.setScriptid(subtaskDetailTrace.getScriptid());
            ssdt.setTemplateType(subtaskDetailTrace.getTemplateType());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(ssdt);
            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
                subtaskDetailTrace.setId(serviceSubtaskDetailTraces.get(0).getId());
                traceService.updateServiceSubtaskDetailTtrace(subtaskDetailTrace);
            }
            else traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
        } else if (ObjectUtils.isNotEmpty(stt) && stt.getIsabnormal() != 1L) {
            //这里主要是怕医护人员把异常选项改成了非异常的,这里就需要查一下这条数据是不是在满意度异常表,如果在,则要删除
            ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace();
            subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId());
            subtaskDetailTrace.setScriptid(svyTaskTemplateScriptVO.getId());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTrace);
            ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
            subtaskDetailTraceVO.setSubId(serviceSubtaskDetailVO.getSubId());
            subtaskDetailTraceVO.setScriptid(svyTaskTemplateScriptVO.getId());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
                traceService.deleteServiceSubtaskDetailTtraceById(serviceSubtaskDetailTraces.get(0).getId());
            }
@@ -1103,7 +1120,7 @@
            subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId());
            subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId());
            subtaskDetailTrace.setTaskid(serviceSubtaskDetailVO.getTaskid());
            subtaskDetailTrace.setTemplateid(ivrTaskTemplateScriptVO.getTemplateID()!=null ? Long.valueOf(ivrTaskTemplateScriptVO.getTemplateID()) : null);
            subtaskDetailTrace.setTemplateid(ivrTaskTemplateScriptVO.getTemplateID() != null ? Long.valueOf(ivrTaskTemplateScriptVO.getTemplateID()) : null);
            subtaskDetailTrace.setTemplatequestionnum(ivrTaskTemplateScriptVO.getSort() == null ? null : Long.valueOf(ivrTaskTemplateScriptVO.getSort()));
            //获取分类信息
@@ -1124,14 +1141,17 @@
            subtaskDetailTrace.setGuid(ivrTaskTemplateScriptVO.getGuid());
            subtaskDetailTrace.setValueType(serviceSubtaskDetail.getValueType());
            subtaskDetailTrace.setTemplateType(1);
            subtaskDetailTrace.setType(ivrLibaScriptAssort != null ? ivrLibaScriptAssort.getType() : null);
            subtaskDetailTrace.setScriptid(ivrTaskTemplateScriptVO.getId() == null ? ivrTaskTemplateScriptVO.getScriptID() : ivrTaskTemplateScriptVO.getId());
            subtaskDetailTrace.setAsrtext(ivrTaskTemplateScriptVO.getIvrtext());
            subtaskDetailTrace.setRecordpath(null);
            subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid());
            subtaskDetailTrace.setPatdesc(selectServiceSubtaskList.get(0).getSendname() + "," + selectServiceSubtaskList.get(0).getPhone() + "," + selectServiceSubtaskList.get(0).getDeptname());
            JSONObject patdescJson2 = new JSONObject();
            patdescJson2.put("sendname", selectServiceSubtaskList.get(0).getSendname());
            patdescJson2.put("phone", selectServiceSubtaskList.get(0).getPhone());
            patdescJson2.put("sex", selectServiceSubtaskList.get(0).getSex() != null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "男" : "女" : null);
            patdescJson2.put("age", selectServiceSubtaskList.get(0).getAge());
            subtaskDetailTrace.setPatdesc(patdescJson2.toJSONString());
            subtaskDetailTrace.setTodeptcode(ivrTaskTemplateScriptVO.getDutyDeptCode());
            subtaskDetailTrace.setTodeptname(ivrTaskTemplateScriptVO.getDutyDeptName());
            subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
@@ -1139,13 +1159,23 @@
            subtaskDetailTrace.setCreateTime(new Date());
            subtaskDetailTrace.setUpdateTime(new Date());
            subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
            traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
            ServiceSubtaskDetailTraceVO ssdt = new ServiceSubtaskDetailTraceVO();
            ssdt.setSubId(subtaskDetailTrace.getSubId());
            ssdt.setScriptid(subtaskDetailTrace.getScriptid());
            ssdt.setTemplateType(subtaskDetailTrace.getTemplateType());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(ssdt);
            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
                subtaskDetailTrace.setId(serviceSubtaskDetailTraces.get(0).getId());
                traceService.updateServiceSubtaskDetailTtrace(subtaskDetailTrace);
            }
            else traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
        } else if (stt.getIsabnormal() != null && stt.getIsabnormal() != 1L) {
            //这里主要是怕医护人员把异常选项改成了非异常的,这里就需要查一下这条数据是不是在满意度异常表,如果在,则要删除
            ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace();
            subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId());
            subtaskDetailTrace.setScriptid(ivrTaskTemplateScriptVO.getScriptID() == null ? ivrTaskTemplateScriptVO.getId() : ivrTaskTemplateScriptVO.getScriptID());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTrace);
            ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
            subtaskDetailTraceVO.setSubId(serviceSubtaskDetailVO.getSubId());
            subtaskDetailTraceVO.setScriptid(ivrTaskTemplateScriptVO.getScriptID() == null ? ivrTaskTemplateScriptVO.getId() : ivrTaskTemplateScriptVO.getScriptID());
            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
                traceService.deleteServiceSubtaskDetailTtraceById(serviceSubtaskDetailTraces.get(0).getId());
            }