From 4b81304e73c093795ae418cfb4ce537b603660c9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 16 四月 2026 09:36:46 +0800
Subject: [PATCH] 修改任务模板的基本templateid不存在,去基本模板查询
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 73 ++++++++++++++++++++++++++++++------
1 files changed, 61 insertions(+), 12 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index 63a6fa3..efc5708 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -14,9 +14,7 @@
import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
-import com.smartor.service.IServiceSubtaskAnswerService;
-import com.smartor.service.IServiceSubtaskDetailTraceService;
-import com.smartor.service.IServiceTaskService;
+import com.smartor.service.*;
import com.sun.org.apache.bcel.internal.generic.NEW;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -75,6 +73,18 @@
@Autowired
private IServiceSubtaskDetailTraceService traceService;
+
+ @Autowired
+ private ISvyTaskTemplateService svyTaskTemplateService;
+
+ @Autowired
+ private ISvyLibTemplateScriptService svyLibTemplateScriptService;
+
+ @Autowired
+ private IIvrTaskTemplateService ivrTaskTemplateService;
+
+ @Autowired
+ private IIvrLibaTemplateScriptService ivrLibaTemplateScriptService;
@Value("${pri_key}")
private String pri_key;
@@ -377,9 +387,7 @@
}
} else if (serviceSubTaskCacheReq.getType() == 1) {
List<IvrTaskTemplateScriptVO> cacheList = serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList();
- cacheList.sort(Comparator.comparingLong(
- vo -> Optional.ofNullable(vo.getSort()).orElse(0)
- ));
+ cacheList.sort(Comparator.comparingLong(vo -> Optional.ofNullable(vo.getSort()).orElse(0)));
log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", cacheList.size());
for (int i = 0; i < cacheList.size(); i++) {
if (i == 0) {
@@ -431,6 +439,7 @@
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(ssVO);
ServiceSubtask serviceSubtask = new ServiceSubtask();
+ serviceSubtask.setId(subid);
serviceSubtask.setTaskid(tid);
serviceSubtask.setPatid(pid);
serviceSubtask.setSubmit(1L);
@@ -818,6 +827,9 @@
}
nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno();
+ if (StringUtils.isEmpty(nextScriptNo)) {
+ nextScriptNo = getNextScriptNo(svyTaskTemplateScriptVO.getTemplateID(), svyTaskTemplateScriptVO.getScriptContent());
+ }
if (svyTaskTemplateScriptVO.getScore() != null) {
score = String.valueOf(svyTaskTemplateScriptVO.getScore());
}
@@ -832,7 +844,10 @@
score = String.valueOf(svyTaskTemplateScriptVO.getScore());
}
}
- nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString();
+ nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno();
+ if (StringUtils.isEmpty(nextScriptNo)) {
+ nextScriptNo = getNextScriptNo(svyTaskTemplateScriptVO.getTemplateID(), svyTaskTemplateScriptVO.getScriptContent());
+ }
}
ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(taskid);
serviceSubtaskDetailVO.setQuestiontext(svyTaskTemplateScriptVO.getScriptContent());
@@ -847,12 +862,12 @@
serviceSubtaskDetailVO.setCreateTime(new Date());
serviceSubtaskDetailVO.setUpdateTime(new Date());
serviceSubtaskDetailVO.setTemplateType(2);
- serviceSubtaskDetailVO.setLibTemplateid(CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.get(0).getLibtemplateid().intValue() : null);
+ serviceSubtaskDetailVO.setLibTemplateid(CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? (ObjectUtils.isNotEmpty(selectServiceSubtaskList.get(0).getLibtemplateid()) ? selectServiceSubtaskList.get(0).getLibtemplateid().intValue() : null) : null);
if (ObjectUtils.isNotEmpty(serviceTask)) {
serviceSubtaskDetailVO.setGuid(serviceTask.getGuid());
serviceSubtaskDetailVO.setOrgid(serviceTask.getOrgid());
}
- serviceSubtaskDetailVO.setSubId(subid == null ? CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.get(0).getId() : null : null);
+ serviceSubtaskDetailVO.setSubId(subid == null ? CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.get(0).getId() : null : subid);
serviceSubtaskDetailVO.setTemplatequestionnum(svyTaskTemplateScriptVO.getId());
ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class);
@@ -951,6 +966,33 @@
map.put("isabnormal", isabnormalFlag.toString());
return map;
}
+
+ private String getNextScriptNo(Long taskTemplateID, String scriptContent) {
+ SvyTaskTemplate svyTaskTemplate = svyTaskTemplateService.selectSvyTaskTemplateBySvyid(taskTemplateID);
+ SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+ svyLibTemplateScript.setSvyid(svyTaskTemplate.getTemplateid());
+ svyLibTemplateScript.setScriptContent(scriptContent);
+ List<SvyLibTemplateScript> svyLibTemplateScriptList = svyLibTemplateScriptService.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+ if (CollectionUtils.isNotEmpty(svyLibTemplateScriptList)) {
+ return svyLibTemplateScriptList.get(0).getNextScriptno();
+ }
+ return null;
+ }
+
+ private Long getVoiceNextScriptNo(Long taskTemplateID, String scriptContent) {
+ IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(taskTemplateID);
+ IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
+ if (StringUtils.isEmpty(ivrTaskTemplate.getLibtemplateid())) return null;
+ ivrLibaTemplateScript.setTemplateid(Long.valueOf(ivrTaskTemplate.getLibtemplateid()));
+ ivrLibaTemplateScript.setScriptContent(scriptContent);
+ List<IvrLibaTemplateScript> ivrLibaTemplateScriptList = ivrLibaTemplateScriptService.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
+
+ if (CollectionUtils.isNotEmpty(ivrLibaTemplateScriptList)) {
+ return ivrLibaTemplateScriptList.get(0).getNextScriptno();
+ }
+ return null;
+ }
+
private Boolean sendTaskIds(List<Integer> sendTaskids, ServiceSubtask serviceSubtask) {
for (Integer taskId : sendTaskids) {
@@ -1058,6 +1100,10 @@
}
nextScriptNo = ivrTaskTemplateScriptVO.getNextScriptno() == null ? null : ivrTaskTemplateScriptVO.getNextScriptno().toString();
+ if (StringUtils.isEmpty(nextScriptNo)) {
+ nextScriptNo = "" + getVoiceNextScriptNo(ivrTaskTemplateScriptVO.getTemplateID(), ivrTaskTemplateScriptVO.getScriptContent());
+ }
+
if (ivrTaskTemplateScriptVO.getScore() != null) {
score = String.valueOf(ivrTaskTemplateScriptVO.getScore());
}
@@ -1071,11 +1117,14 @@
}
} else {
//闈炲崟澶氶��
- if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getQuestionResult())) {
- serviceSubtaskDetailVO.setAsrtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", ""));
- serviceSubtaskDetailVO.setMatchedtext(ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", ""));
+ if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getQuestionResult()) || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrtext())) {
+ serviceSubtaskDetailVO.setAsrtext(ivrTaskTemplateScriptVO.getQuestionResult() != null ? ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "") : ivrTaskTemplateScriptVO.getIvrtext());
+ serviceSubtaskDetailVO.setMatchedtext(ivrTaskTemplateScriptVO.getQuestionResult() != null ? ivrTaskTemplateScriptVO.getQuestionResult().replaceAll("^\"|\"$", "") : ivrTaskTemplateScriptVO.getIvrtext());
serviceSubtaskDetailVO.setScore(ivrTaskTemplateScriptVO.getScore() != null ? ivrTaskTemplateScriptVO.getScore().toString() : "0");
nextScriptNo = ivrTaskTemplateScriptVO.getNextScriptno() == null ? null : ivrTaskTemplateScriptVO.getNextScriptno().toString();
+ if (StringUtils.isEmpty(nextScriptNo)) {
+ nextScriptNo = "" + getVoiceNextScriptNo(ivrTaskTemplateScriptVO.getTemplateID(), ivrTaskTemplateScriptVO.getScriptContent());
+ }
if (ivrTaskTemplateScriptVO.getScore() != null) {
score = String.valueOf(ivrTaskTemplateScriptVO.getScore());
}
--
Gitblit v1.9.3