diff --git a/postdischarge-common/src/main/java/com/xinelu/common/constant/AiboTaskTypeContant.java b/postdischarge-common/src/main/java/com/xinelu/common/constant/AiobTaskTypeContant.java similarity index 90% rename from postdischarge-common/src/main/java/com/xinelu/common/constant/AiboTaskTypeContant.java rename to postdischarge-common/src/main/java/com/xinelu/common/constant/AiobTaskTypeContant.java index 762ca1b1..c514fdee 100644 --- a/postdischarge-common/src/main/java/com/xinelu/common/constant/AiboTaskTypeContant.java +++ b/postdischarge-common/src/main/java/com/xinelu/common/constant/AiobTaskTypeContant.java @@ -5,7 +5,7 @@ package com.xinelu.common.constant; * @author: haown * @create: 2024-09-24 14:38 **/ -public class AiboTaskTypeContant { +public class AiobTaskTypeContant { /** * 批量任务 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/aibo/AIOBController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/aiob/AIOBController.java similarity index 92% rename from postdischarge-manage/src/main/java/com/xinelu/manage/controller/aibo/AIOBController.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/controller/aiob/AIOBController.java index ee23d30d..c6d63557 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/aibo/AIOBController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/aiob/AIOBController.java @@ -1,13 +1,13 @@ -package com.xinelu.manage.controller.aibo; +package com.xinelu.manage.controller.aiob; import com.alibaba.fastjson2.JSONObject; import com.aliyuncs.exceptions.ClientException; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.R; -import com.xinelu.manage.dto.aibo.ActualTimeTaskDto; -import com.xinelu.manage.dto.aibo.CreateTaskDto; -import com.xinelu.manage.dto.aibo.TaskCallbackDto; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; +import com.xinelu.manage.dto.aiob.CreateTaskDto; +import com.xinelu.manage.dto.aiob.TaskCallbackDto; +import com.xinelu.manage.service.aiob.IAIOBService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javax.annotation.Resource; @@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api") public class AIOBController extends BaseController { @Resource - public IAIOBService aiobService; + private IAIOBService aiobService; /** * @description 获取外呼平台accessToken @@ -102,4 +102,5 @@ public class AIOBController extends BaseController { public String record() throws ClientException { return aiobService.record("1726726696448834_936326"); } + } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java index 65011dee..8f8994cf 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java @@ -12,7 +12,7 @@ import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; -import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiboActualTimeTaskDto; +import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiobActualTimeTaskDto; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO; import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO; @@ -117,15 +117,15 @@ public class SignPatientManageRouteController extends BaseController { /** * @description 随访待办列表-创建实时呼叫任务 - * @Param createAiboActualTimeTaskDto 创建百度外呼实时任务传输对象 + * @Param createAiobActualTimeTaskDto 创建百度外呼实时任务传输对象 * @return 结果 * @Author haown * @Date 2024-11-4 16:06 */ @ApiOperation("随访待办列表-创建实时呼叫任务") @PostMapping("/createActualTimeTask") - public R createActualTimeTask(@RequestBody CreateAiboActualTimeTaskDto createAiboActualTimeTaskDto) { - Long memberId = signPatientManageRouteService.createActualTimeTask(createAiboActualTimeTaskDto); + public R createActualTimeTask(@RequestBody CreateAiobActualTimeTaskDto createAiobActualTimeTaskDto) { + Long memberId = signPatientManageRouteService.createActualTimeTask(createAiobActualTimeTaskDto); return memberId != null && memberId > 0L ? R.ok() : R.fail(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ActualTimeTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ActualTimeTaskDto.java similarity index 97% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ActualTimeTaskDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ActualTimeTaskDto.java index 1f7c49b6..16486f6b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ActualTimeTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ActualTimeTaskDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import com.alibaba.fastjson2.JSONObject; import lombok.Data; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/AiboRecord.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/AiobRecord.java similarity index 86% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/AiboRecord.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/AiobRecord.java index 0823a809..0ae538c0 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/AiboRecord.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/AiobRecord.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data; * @create: 2024-09-10 16:06 **/ @Data -public class AiboRecord { +public class AiobRecord { /** * 会话角色,分为机器人侧(speech)和客户侧(voice) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CreateTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CreateTaskDto.java similarity index 97% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CreateTaskDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CreateTaskDto.java index 7f84b162..7152eebc 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CreateTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CreateTaskDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import java.util.List; import lombok.Data; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CustomerInfoDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CustomerInfoDto.java similarity index 95% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CustomerInfoDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CustomerInfoDto.java index 25c38ab7..23d5e1b1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/CustomerInfoDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/CustomerInfoDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import com.alibaba.fastjson2.JSONObject; import lombok.Data; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ImportTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ImportTaskDto.java similarity index 96% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ImportTaskDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ImportTaskDto.java index 4938daee..23cf3fc4 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/ImportTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/ImportTaskDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import java.util.List; import lombok.Data; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDataDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDataDto.java similarity index 98% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDataDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDataDto.java index cbe89b9f..22538f0b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDataDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDataDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDto.java similarity index 92% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDto.java index e04dab74..526bcba1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aibo/TaskCallbackDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/aiob/TaskCallbackDto.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.dto.aibo; +package com.xinelu.manage.dto.aiob; import lombok.Data; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiboActualTimeTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiobActualTimeTaskDto.java similarity index 92% rename from postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiboActualTimeTaskDto.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiobActualTimeTaskDto.java index 15463f4a..9214d53c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiboActualTimeTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/CreateAiobActualTimeTaskDto.java @@ -11,7 +11,7 @@ import lombok.Data; **/ @ApiModel("创建百度外呼实时任务传输对象") @Data -public class CreateAiboActualTimeTaskDto { +public class CreateAiobActualTimeTaskDto { @ApiModelProperty("任务表ID") private Long signPatientManageRouteNodeId; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/IAIOBService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/IAIOBService.java similarity index 89% rename from postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/IAIOBService.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/IAIOBService.java index b268d58e..1f94833f 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/IAIOBService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/IAIOBService.java @@ -1,12 +1,12 @@ -package com.xinelu.manage.service.aibo; +package com.xinelu.manage.service.aiob; import com.alibaba.fastjson2.JSONObject; import com.aliyuncs.exceptions.ClientException; -import com.xinelu.manage.dto.aibo.ActualTimeTaskDto; -import com.xinelu.manage.dto.aibo.CreateTaskDto; -import com.xinelu.manage.dto.aibo.ImportTaskDto; -import com.xinelu.manage.dto.aibo.TaskCallbackDataDto; -import com.xinelu.manage.vo.aibo.ImportTaskVo; +import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; +import com.xinelu.manage.dto.aiob.CreateTaskDto; +import com.xinelu.manage.dto.aiob.ImportTaskDto; +import com.xinelu.manage.dto.aiob.TaskCallbackDataDto; +import com.xinelu.manage.vo.aiob.ImportTaskVo; import java.util.List; /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/impl/AIOBServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/impl/AIOBServiceImpl.java similarity index 97% rename from postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/impl/AIOBServiceImpl.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/impl/AIOBServiceImpl.java index cb96971f..121760c2 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/aibo/impl/AIOBServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/aiob/impl/AIOBServiceImpl.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.service.aibo.impl; +package com.xinelu.manage.service.aiob.impl; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson2.JSON; @@ -7,7 +7,7 @@ import com.alibaba.fastjson2.JSONObject; import com.aliyuncs.exceptions.ClientException; import com.xinelu.common.config.AliYunSmsTwoConfig; import com.xinelu.common.config.SystemBusinessConfig; -import com.xinelu.common.constant.AiboTaskTypeContant; +import com.xinelu.common.constant.AiobTaskTypeContant; import com.xinelu.common.constant.Constants; import com.xinelu.common.constant.PhoneMessageRemindConstants; import com.xinelu.common.constant.TaskCreateTypeConstant; @@ -36,12 +36,12 @@ import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; import com.xinelu.manage.domain.textmessage.TextMessage; -import com.xinelu.manage.dto.aibo.ActualTimeTaskDto; -import com.xinelu.manage.dto.aibo.AiboRecord; -import com.xinelu.manage.dto.aibo.CreateTaskDto; -import com.xinelu.manage.dto.aibo.CustomerInfoDto; -import com.xinelu.manage.dto.aibo.ImportTaskDto; -import com.xinelu.manage.dto.aibo.TaskCallbackDataDto; +import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; +import com.xinelu.manage.dto.aiob.AiobRecord; +import com.xinelu.manage.dto.aiob.CreateTaskDto; +import com.xinelu.manage.dto.aiob.CustomerInfoDto; +import com.xinelu.manage.dto.aiob.ImportTaskDto; +import com.xinelu.manage.dto.aiob.TaskCallbackDataDto; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper; @@ -61,11 +61,11 @@ import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMap import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper; import com.xinelu.manage.mapper.textmessage.TextMessageMapper; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.service.aiob.IAIOBService; import com.xinelu.manage.service.patienttaskstatistics.IPatientTaskStatisticsService; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService; -import com.xinelu.manage.vo.aibo.ImportTaskVo; +import com.xinelu.manage.vo.aiob.ImportTaskVo; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo; import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO; import java.io.BufferedInputStream; @@ -407,6 +407,7 @@ public class AIOBServiceImpl implements IAIOBService { } } else { signPatientManageRouteNode.setPhoneNodeExecuteResultStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo()); + if (StringUtils.equals(PhoneMessageRemindConstants.CONNECTED_SEND_MESSAGE, signPatientManageRouteNode.getPhoneMessageRemind())) { // 发送短信 needSendSms = true; @@ -590,18 +591,18 @@ public class AIOBServiceImpl implements IAIOBService { * @Date 2024-9-6 14:30 */ private void parseQuestionInfo(JSONArray records, SignPatientManageRouteNode node, Long patientInfoId, Long taskExecuteRecordId) { - List aiboRecords = records.toList(AiboRecord.class); - List speechList = aiboRecords.stream().filter(record -> StringUtils.equals("speech", record.getRole()) && !StringUtils.equals("抱歉,我不太理解您的意思", record.getContextText())) - .collect(Collectors.toMap(AiboRecord::getContextText, p -> p, (p1, p2) -> p2)) + List aiobRecords = records.toList(AiobRecord.class); + List speechList = aiobRecords.stream().filter(record -> StringUtils.equals("speech", record.getRole()) && !StringUtils.equals("抱歉,我不太理解您的意思", record.getContextText())) + .collect(Collectors.toMap(AiobRecord::getContextText, p -> p, (p1, p2) -> p2)) .values() .stream() - .sorted(Comparator.comparing(AiboRecord::getTimestamp)) + .sorted(Comparator.comparing(AiobRecord::getTimestamp)) .collect(Collectors.toList()); // 查询患者画像信息 List labelFieldContentList = labelFieldContentMapper.selectByPatientId(patientInfoId); - Map contextMap = speechList.stream().collect(Collectors.toMap(AiboRecord::getContextText, AiboRecord::getIntent)); + Map contextMap = speechList.stream().collect(Collectors.toMap(AiobRecord::getContextText, AiobRecord::getIntent)); PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(patientInfoId); QuestionInfo questionInfo = questionInfoMapper.selectQuestionInfoById(node.getQuestionInfoId()); @@ -663,7 +664,7 @@ public class AIOBServiceImpl implements IAIOBService { BeanUtils.copyProperties(questionSubjectOption, patientQuestionOptionResult); // 设置是否选中, 通过通话记录中下一个问题的intent字段查询QuestionSubjectOption, List intents = Arrays.asList(questionSubjectOption.getIntent().split("\\|")); - AiboRecord nextRecord = getNextQuestion(speechList, finalAiobQuestionName); + AiobRecord nextRecord = getNextQuestion(speechList, finalAiobQuestionName); if (ObjectUtils.isNotEmpty(nextRecord) && intents.contains(nextRecord.getIntent())) { patientQuestionOptionResult.setOptionChooseSign(0); } else { @@ -710,7 +711,7 @@ public class AIOBServiceImpl implements IAIOBService { questionSubmitResultMapper.updatePatientQuestionSubmitResult(patientQuestionSubmitResult); } - private AiboRecord getNextQuestion(List speechList, String currentQuestion) { + private AiobRecord getNextQuestion(List speechList, String currentQuestion) { if (StringUtils.isNotBlank(currentQuestion)) { for (int i = 0; i < speechList.size(); i++) { if (StringUtils.equals(speechList.get(i).getContextText(), currentQuestion)) { @@ -746,7 +747,7 @@ public class AIOBServiceImpl implements IAIOBService { scriptInfoTaskInfo.setRobotId(signPatientManageRouteNode.getRobotPublishId()); scriptInfoTaskInfo.setCreateTime(LocalDateTime.now()); scriptInfoTaskInfo.setSignPatientManageRouteNodeId(signPatientManageRouteNode.getId()); - scriptInfoTaskInfo.setAiobTaskType(AiboTaskTypeContant.ACTUALTIMETASK); + scriptInfoTaskInfo.setAiobTaskType(AiobTaskTypeContant.ACTUALTIMETASK); scriptInfoTaskInfo.setExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo()); LocalDateTime executeTime = signPatientManageRouteNodeService.getExecuteTime(signPatientManageRouteNode.getExecuteTime(), signPatientManageRouteNode.getRouteNodeName(), signPatientManageRouteNode.getRouteNodeDay(), patientVisitRecord); scriptInfoTaskInfo.setExecuteTime(executeTime.plusMinutes(signPatientManageRouteNode.getPhoneTimeInterval())); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java index b17dcb10..d3c3391c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java @@ -81,37 +81,6 @@ public class PatientInfoServiceImpl implements IPatientInfoService { @DataScope(agencyAlias = "p", userAlias = "p.attending_physician_id") @Override public List getPatientList(PatientInfoDto patientInfo) { List patientInfoVoList = patientInfoMapper.getPatientList(patientInfo); - //patientInfoVoList.forEach(patientInfoVo -> { - // // 下次任务 - // PatientNextTaskVo patientNextTask = patientInfoMapper.getPatientNextTask(patientInfoVo.getId()); - // if (ObjectUtils.isNotEmpty(patientNextTask)) { - // patientInfoVo.setNextTaskName(patientNextTask.getTaskName()); - // patientInfoVo.setNextTaskTime(patientNextTask.getExecuteDateTime()); - // } - //}); - - // 按照患者id分组 - //Map> groupById = patientInfoVoList.stream().collect(Collectors.groupingBy(PatientInfoVo::getId)); - //// 计算患者任务总数、已执行任务数量、已完成任务数量 - //for (Long patientId : groupById.keySet()) { - // PatientInfoVo patientInfoVo = groupById.get(patientId).get(0); - // List perPatientList = groupById.get(patientId); - // // 任务总数 - // patientInfoVo.setTaskNum(BigDecimal.valueOf(perPatientList.size())); - // // 任务执行数量 - // Map> groupByExecute = patientInfoVoList.stream().collect(Collectors.groupingBy(PatientInfoVo::getNodeExecuteStatus)); - // BigDecimal taskExecuteNum = BigDecimal.valueOf(groupByExecute.get(groupByExecute.get(NodeExecuteStatusEnum.EXECUTED.getInfo())).size()); - // patientInfoVo.setTaskExecuteNum(taskExecuteNum); - // // 任务执行率 - // patientInfoVo.setTaskExecuteRate(patientInfoVo.getTaskExecuteNum().divide(patientInfoVo.getTaskNum(), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100"))); - // // 任务完成数量 - // BigDecimal taskFinishNum = BigDecimal.valueOf(perPatientList.stream().filter(perPatient -> perPatient.getNodeFinishDate() != null).count()); - // patientInfoVo.setTaskFinishNum(taskFinishNum); - // // 任务完成率 - // patientInfoVo.setTaskFinishRate(patientInfoVo.getTaskFinishNum().divide(patientInfoVo.getTaskNum(), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100"))); - // // - //} - return patientInfoVoList; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskstatistics/impl/PatientTaskStatisticsServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskstatistics/impl/PatientTaskStatisticsServiceImpl.java index dff13fc0..622d2fdc 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskstatistics/impl/PatientTaskStatisticsServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskstatistics/impl/PatientTaskStatisticsServiceImpl.java @@ -155,12 +155,18 @@ public class PatientTaskStatisticsServiceImpl implements IPatientTaskStatisticsS PatientTaskStatistics patientTaskStatistics = patientTaskStatisticsMapper.selectPatientTaskStatisticsByPatientId(patientId); PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(patientId); if (ObjectUtils.isNotEmpty(patientInfo) && StringUtils.equals(SignRecordServiceStatusConstants.SERVICE_CENTER, patientInfo.getServiceStatus())) { + PatientTaskStatistics patientTaskStatisticsView = patientTaskStatisticsMapper.selectNum(patientId); switch (type) { case TaskStatisticsTypeConstants.TASK_NUM: patientTaskStatistics.setTaskNum(patientTaskStatistics.getTaskNum().add(BigDecimal.valueOf(count))); break; case TaskStatisticsTypeConstants.TASK_EXECUTE_NUM: - patientTaskStatistics.setTaskExecuteNum(patientTaskStatistics.getTaskExecuteNum().add(BigDecimal.valueOf(count))); + if (ObjectUtils.isEmpty(patientTaskStatisticsView)) { + patientTaskStatistics.setTaskExecuteNum(patientTaskStatistics.getTaskExecuteNum().add(BigDecimal.valueOf(count))); + } else { + patientTaskStatistics.setTaskExecuteNum(patientTaskStatisticsView.getTaskExecuteNum()); + patientTaskStatistics.setTaskFinishNum(patientTaskStatisticsView.getTaskFinishNum()); + } // 下次任务 PatientNextTaskVo patientNextTask = patientTaskStatisticsMapper.getPatientNextTask(patientId); if (ObjectUtils.isNotEmpty(patientNextTask)) { @@ -170,7 +176,12 @@ public class PatientTaskStatisticsServiceImpl implements IPatientTaskStatisticsS } break; case TaskStatisticsTypeConstants.TASK_FINISH_NUM: - patientTaskStatistics.setTaskFinishNum(patientTaskStatistics.getTaskFinishNum().add(BigDecimal.valueOf(count))); + if (ObjectUtils.isEmpty(patientTaskStatisticsView)) { + patientTaskStatistics.setTaskFinishNum(patientTaskStatistics.getTaskFinishNum().add(BigDecimal.valueOf(count))); + } else { + patientTaskStatistics.setTaskExecuteNum(patientTaskStatisticsView.getTaskExecuteNum()); + patientTaskStatistics.setTaskFinishNum(patientTaskStatisticsView.getTaskFinishNum()); + } break; } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java index 39f1e4ea..b24062e9 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java @@ -6,7 +6,7 @@ import com.xinelu.common.exception.ServiceException; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; -import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiboActualTimeTaskDto; +import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiobActualTimeTaskDto; import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO; import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO; @@ -86,7 +86,7 @@ public interface ISignPatientManageRouteService { * @Author haown * @Date 2024-11-4 16:06 */ - Long createActualTimeTask(@RequestBody CreateAiboActualTimeTaskDto createAiboActualTimeTaskDto); + Long createActualTimeTask(@RequestBody CreateAiobActualTimeTaskDto createAiboActualTimeTaskDto); /** * 查询人工随访患者基本信息 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java index e6da4b41..ef4b09b5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java @@ -46,12 +46,12 @@ import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; import com.xinelu.manage.domain.signroutetriggercondition.SignRouteTriggerCondition; -import com.xinelu.manage.dto.aibo.ActualTimeTaskDto; +import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO; import com.xinelu.manage.dto.patientquestionoptionresult.PatientQuestionOptionResultDTO; import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; -import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiboActualTimeTaskDto; +import com.xinelu.manage.dto.signpatientmanageroutenode.CreateAiobActualTimeTaskDto; import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; @@ -67,7 +67,7 @@ import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMap import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper; import com.xinelu.manage.mapper.signroutetriggercondition.SignRouteTriggerConditionMapper; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.service.aiob.IAIOBService; import com.xinelu.manage.service.patienttaskstatistics.IPatientTaskStatisticsService; import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService; import com.xinelu.manage.service.questioninfo.IQuestionInfoService; @@ -353,7 +353,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout * @Author haown * @Date 2024-11-4 16:06 */ - @Override public Long createActualTimeTask(CreateAiboActualTimeTaskDto createAiboActualTimeTaskDto) { + @Override public Long createActualTimeTask(CreateAiobActualTimeTaskDto createAiboActualTimeTaskDto) { ScriptInfo scriptInfo = scriptInfoMapper.selectScriptInfoById(createAiboActualTimeTaskDto.getScriptInfoId()); SignPatientManageRoute signPatientManageRoute = signPatientManageRouteMapper.selectSignPatientManageRouteById(createAiboActualTimeTaskDto.getManageRouteId()); PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(signPatientManageRoute.getPatientId()); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java index d89c64f1..524a0a1b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java @@ -64,7 +64,7 @@ import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper; import com.xinelu.manage.mapper.textmessage.TextMessageMapper; import com.xinelu.manage.mapper.wechattemplate.WechatTemplateMapper; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.service.aiob.IAIOBService; import com.xinelu.manage.service.patienttaskstatistics.IPatientTaskStatisticsService; import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService; import com.xinelu.manage.service.questioninfo.IQuestionInfoService; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/aibo/ImportTaskVo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/aiob/ImportTaskVo.java similarity index 93% rename from postdischarge-manage/src/main/java/com/xinelu/manage/vo/aibo/ImportTaskVo.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/vo/aiob/ImportTaskVo.java index 1d4642ed..b0d20f13 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/aibo/ImportTaskVo.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/aiob/ImportTaskVo.java @@ -1,4 +1,4 @@ -package com.xinelu.manage.vo.aibo; +package com.xinelu.manage.vo.aiob; import lombok.Data; diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskstatistics/PatientTaskStatisticsMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskstatistics/PatientTaskStatisticsMapper.xml index 17708841..549cceb8 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskstatistics/PatientTaskStatisticsMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskstatistics/PatientTaskStatisticsMapper.xml @@ -128,7 +128,7 @@ where patient_id = #{patientId} - select id as patientId, sign_patient_record_id as signPatientRecordId, sum(task_execute_status) as taskExecuteNum, sum(task_finish_status) as taskFinishNum from patient_task_statistics_view diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiboRecordVideoTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiobRecordVideoTask.java similarity index 94% rename from postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiboRecordVideoTask.java rename to postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiobRecordVideoTask.java index 8d9894d1..bbbb1201 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiboRecordVideoTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/GetAiobRecordVideoTask.java @@ -5,7 +5,7 @@ import com.xinelu.common.utils.StringUtils; import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord; import com.xinelu.manage.dto.phonedialrecord.PhoneDialRecordDto; import com.xinelu.manage.mapper.phonedialrecord.PhoneDialRecordMapper; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.service.aiob.IAIOBService; import java.time.LocalDateTime; import java.util.List; import javax.annotation.Resource; @@ -19,7 +19,7 @@ import org.springframework.stereotype.Component; **/ @Slf4j @Component("GetAiboRecordVideoTask") -public class GetAiboRecordVideoTask { +public class GetAiobRecordVideoTask { @Resource private PhoneDialRecordMapper phoneDialRecordMapper; diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/UploadRobotPublishTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/UploadRobotPublishTask.java index cee0fd75..c132c31e 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/UploadRobotPublishTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/UploadRobotPublishTask.java @@ -1,7 +1,7 @@ package com.xinelu.quartz.task; import com.alibaba.fastjson2.JSONObject; -import com.xinelu.common.constant.AiboTaskTypeContant; +import com.xinelu.common.constant.AiobTaskTypeContant; import com.xinelu.common.enums.NodeExecuteStatusEnum; import com.xinelu.common.enums.PhoneDialMethodEnum; import com.xinelu.common.enums.PhoneRedialTimesEnum; @@ -13,10 +13,10 @@ import com.xinelu.manage.domain.scriptinfotaskinfo.ScriptInfoTaskInfo; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; -import com.xinelu.manage.dto.aibo.ActualTimeTaskDto; -import com.xinelu.manage.dto.aibo.CreateTaskDto; -import com.xinelu.manage.dto.aibo.CustomerInfoDto; -import com.xinelu.manage.dto.aibo.ImportTaskDto; +import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; +import com.xinelu.manage.dto.aiob.CreateTaskDto; +import com.xinelu.manage.dto.aiob.CustomerInfoDto; +import com.xinelu.manage.dto.aiob.ImportTaskDto; import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto; import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; @@ -26,9 +26,9 @@ import com.xinelu.manage.mapper.scriptinfotaskinfo.ScriptInfoTaskInfoMapper; import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper; -import com.xinelu.manage.service.aibo.IAIOBService; +import com.xinelu.manage.service.aiob.IAIOBService; import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService; -import com.xinelu.manage.vo.aibo.ImportTaskVo; +import com.xinelu.manage.vo.aiob.ImportTaskVo; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo; import java.time.LocalDate; import java.time.LocalDateTime; @@ -105,7 +105,7 @@ public class UploadRobotPublishTask { // 根据机器人id查询智能外呼系统的任务id executeNodeList.forEach(node -> { ScriptInfo scriptInfo = scriptInfoMapper.selectScriptInfoById(node.getScriptInfoId()); - String taskId = scriptInfoTaskInfoMapper.getByNodeId(node.getId(), AiboTaskTypeContant.BATCHTASK); + String taskId = scriptInfoTaskInfoMapper.getByNodeId(node.getId(), AiobTaskTypeContant.BATCHTASK); if (StringUtils.isBlank(taskId)) { // 没有任务则创建任务 if (ObjectUtils.isNotEmpty(scriptInfo)) { @@ -132,7 +132,7 @@ public class UploadRobotPublishTask { scriptInfoTaskInfo.setRobotId(scriptInfo.getRobotPublishId()); scriptInfoTaskInfo.setCreateTime(LocalDateTime.now()); scriptInfoTaskInfo.setSignPatientManageRouteNodeId(node.getId()); - scriptInfoTaskInfo.setAiobTaskType(AiboTaskTypeContant.BATCHTASK); + scriptInfoTaskInfo.setAiobTaskType(AiobTaskTypeContant.BATCHTASK); scriptInfoTaskInfoMapper.insertScriptInfoTaskInfo(scriptInfoTaskInfo); } } @@ -207,7 +207,7 @@ public class UploadRobotPublishTask { // 查询需要重拨的任务 ScriptInfoTaskInfo scriptInfoTaskInfo = new ScriptInfoTaskInfo(); scriptInfoTaskInfo.setExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo()); - scriptInfoTaskInfo.setAiobTaskType(AiboTaskTypeContant.ACTUALTIMETASK); + scriptInfoTaskInfo.setAiobTaskType(AiobTaskTypeContant.ACTUALTIMETASK); List scriptInfoTaskInfoList = scriptInfoTaskInfoMapper.selectList(scriptInfoTaskInfo); scriptInfoTaskInfoList.forEach(taskInfo -> { SignPatientManageRouteNode node = signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(taskInfo.getSignPatientManageRouteNodeId());