From d76e92d1a0586865e75cf36b95363c433435fa02 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 23 四月 2025 13:23:02 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 81 insertions(+), 22 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 0ec3a73..ab37179 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -256,9 +256,8 @@
@Override
public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) {
List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO);
- //鏍规嵁鍑洪櫌 鏃堕棿鍊掑簭
- List<ServiceSubtask> sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
- return sortedServiceSubtaskList;
+
+ return selectServiceSubtaskList;
}
@Override
@@ -289,7 +288,7 @@
if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1;
else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1;
if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1;
- if (serviceSubtask.getSendstate() == 3L) yfs = yfs + 1;
+ if (serviceSubtask.getSendstate() >= 3L || serviceSubtask.getSendstate() == 1L) yfs = yfs + 1;
if (serviceSubtask.getSendstate() == 1L) blq = blq + 1;
if (serviceSubtask.getExcep().equals("1")) yc = yc + 1;
}
@@ -324,6 +323,8 @@
@Override
public Boolean updateServiceSubtask(ServiceSubtask serviceSubtask) {
serviceSubtask.setUpdateTime(DateUtils.getNowDate());
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6)
+ serviceSubtask.setFinishtime(new Date());
return serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
}
@@ -374,16 +375,25 @@
if (serviceTask.getSendState() == null) {
serviceTask.setSendState(1L);
serviceTaskVO.setSendState(1L);
+ }else {
+ serviceTask.setSendState(serviceTaskVO.getSendState());
}
if (StringUtils.isNotEmpty(serviceTaskVO.getLibtemplateid())) {
serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid());
serviceTask.setLibtemplatename(serviceTaskVO.getLibtemplatename());
}
- serviceTask.setTemplateid(tempid);
- serviceTask.setTemplatename(tempName);
+ if (serviceTaskVO.getTemplateid() != null) {
+ serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
+ serviceTask.setTemplatename(serviceTaskVO.getTemplatename());
+ } else {
+ serviceTask.setTemplateid(tempid);
+ serviceTask.setTemplatename(tempName);
+ }
serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
serviceTask.setSendState(2L);
+ serviceTask.setCreateTime(new Date());
+ serviceTask.setUpdateTime(new Date());
serviceTaskService.insertServiceTask(serviceTask);
log.error("----serviceTaskVO.getAppltype()鐨勫�间负锛歿}", serviceTaskVO.getAppltype());
if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype())) {
@@ -491,6 +501,8 @@
serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
+ serviceSubtask.setCreateBy(serviceTask.getCreateBy());
+ serviceSubtask.setUpdateBy(serviceTask.getCreateBy());
if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime());
serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
@@ -504,23 +516,51 @@
serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
//淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceTask.getTaskid());
- long l = serviceTask1.getStopState() + 1;
- serviceTask.setStopState(l);
+// long l = serviceTask1.getStopState() + 1;
+// serviceTask.setStopState(l);
+ //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+ }
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.error("insertOrUpdateTask闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
+
if (serviceTaskVO.getLibtemplateid() != null)
serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid().toString());
serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
serviceTask.setLongTask(serviceTaskVO.getLongTask());
+ serviceTask.setUpdateTime(new Date());
serviceTaskService.updateServiceTask(serviceTask);
if (serviceTaskVO.getAppltype().equals("1") || serviceTaskVO.getAppltype().equals("2")) {
- ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
- serviceTaskdept.setTaskId(serviceTask.getTaskid());
- serviceTaskdept.setTaskName(serviceTask.getTaskName());
- serviceTaskdept.setLongtask(0L);
- serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
+
+
if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
for (String deptCode : deptcodes) {
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setTaskId(serviceTask.getTaskid());
+ serviceTaskdept.setTaskName(serviceTask.getTaskName());
+ serviceTaskdept.setLongtask(0L);
+ serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
+ if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
serviceTaskdept.setDeptCode(deptCode);
serviceTaskdept.setDeptType("1");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
@@ -538,6 +578,12 @@
if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
for (String districtcode : leavehospitaldistrictcodes) {
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setTaskId(serviceTask.getTaskid());
+ serviceTaskdept.setTaskName(serviceTask.getTaskName());
+ serviceTaskdept.setLongtask(0L);
+ serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
+ if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
serviceTaskdept.setDeptCode(districtcode);
serviceTaskdept.setDeptType("2");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
@@ -665,9 +711,12 @@
serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam()));
if (patTaskRelevance.getIsoperation() != null) {
if (patTaskRelevance.getIsoperation() == 2)
- serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
if (patTaskRelevance.getIsoperation() == 1) {
serviceSubtask.setSendstate(1L);
+ serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
+ serviceSubtask.setCreateBy(serviceTask.getUpdateBy());
serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
}
if (patTaskRelevance.getIsoperation() == 3)
@@ -1632,6 +1681,14 @@
log.error("璇ubId鏈夐棶棰橈紝鍦ㄨ〃涓煡璇笉鍒帮細{}", subId);
continue;
}
+ if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
+ serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�");
+ serviceSubtask.setSendstate(4L);
+ serviceSubtask.setResult("error");
+ serviceSubtask.setFinishtime(new Date());
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ continue;
+ }
ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(serviceSubtask.getTemplateid());
if (ObjectUtils.isEmpty(ivrTaskTemplate)) continue;
@@ -2007,9 +2064,9 @@
serviceSubtask.setSendstate(6L);
serviceSubtask.setFinishtime(new Date());
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
- int startIndex = phoneCallRecordVO.getRecord_path().indexOf("voice") + "voice".length() + 1; // 鍔�1鏄烦杩�/绗﹀彿
- int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/");
- String result = phoneCallRecordVO.getRecord_path().substring(startIndex, endIndex);
+// int startIndex = phoneCallRecordVO.getRecord_path().indexOf("voice") + "voice".length() + 1; // 鍔�1鏄烦杩�/绗﹀彿
+// int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/");
+// String result = phoneCallRecordVO.getRecord_path().substring(startIndex, endIndex);
//涓嬭浇鏂囦欢
ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup");
@@ -2111,12 +2168,12 @@
serviceSubtaskStatistic.setYczs(serviceSubtaskStatistic.getYczs() + 1L);
}
}
- //闅忚瀹屾垚鐜�=宸插彂閫�/闅忚鏁�
- if (serviceSubtaskStatistic.getYfsCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) {
+ //闅忚瀹屾垚鐜�=宸插畬鎴�/搴旈殢璁块噺
+ if (serviceSubtaskStatistic.getYwcCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) {
serviceSubtaskStatistic.setSfwcl("0");
} else {
// BigDecimal multiply = BigDecimal.valueOf(serviceSubtaskStatistic.getYfsCount()).divide(BigDecimal.valueOf(serviceSubtaskList.size()), 2, BigDecimal.ROUND_HALF_UP);
- BigDecimal multiply = new BigDecimal(serviceSubtaskStatistic.getYfsCount().toString()).divide(new BigDecimal(serviceSubtaskList.size() + ""), 2, BigDecimal.ROUND_HALF_UP);
+ BigDecimal multiply = new BigDecimal(serviceSubtaskStatistic.getYwcCount().toString()).divide(new BigDecimal(serviceSubtaskStatistic.getYsfCount().toString()), 2, BigDecimal.ROUND_HALF_UP);
serviceSubtaskStatistic.setSfwcl(multiply.toString());
}
@@ -2142,6 +2199,7 @@
serviceSubtaskDetail.setTaskid(serviceSubtask1.getTaskid());
serviceSubtaskDetail.setPatid(serviceSubtask1.getPatid());
}
+ serviceSubtaskDetail.setTargetid(ivrTaskTemplateScriptVO.getTargetid() != null ? ivrTaskTemplateScriptVO.getTargetid().intValue() : null);
serviceSubtaskDetail.setUuid(phoneCallReqYQVO.getUuid());
serviceSubtaskDetail.setPhone(phoneCallReqYQVO.getPhone());
serviceSubtaskDetail.setOperate(serviceSubtask.getCreateBy());
@@ -2156,12 +2214,13 @@
serviceSubtaskDetail.setEndTime(System.currentTimeMillis());
serviceSubtaskDetail.setSentEnd(1L);
serviceSubtaskDetail.setTemplateid(ivrTaskTemplate.getId().toString());
- serviceSubtaskDetail.setTemplatequestionnum(ivrTaskTemplateScriptVO.getId());
+ serviceSubtaskDetail.setTemplatequestionnum(ivrTaskTemplateScriptVO.getScriptno());
serviceSubtaskDetail.setQuestiontext(ivrTaskTemplateScriptVO.getIvrtext());
serviceSubtaskDetail.setQuestionvoice(phoneCallReqYQVO.getRecordpath());
serviceSubtaskDetail.setCategoryname(ivrTaskTemplateScriptVO.getScriptType());
serviceSubtaskDetail.setTargetoptions(ivrTaskTemplateScriptVO.getTargetOptions());
serviceSubtaskDetail.setExtemplateText(ivrTaskTemplateScriptVO.getExtemplateText());
+ serviceSubtaskDetail.setScriptid(ivrTaskTemplateScriptVO.getId());
int i = 1;
for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption : ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList()) {
--
Gitblit v1.9.3