From 55aeb4dcd17fa5c83bb5e986bd1be9f076489767 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 三月 2025 13:52:04 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 258 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 192 insertions(+), 66 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 cbfbd00..0ec3a73 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -66,6 +66,12 @@
private IServiceTaskdeptService serviceTaskdeptService;
@Autowired
+ private IServiceTaskdiagService serviceTaskdiagService;
+
+ @Autowired
+ private IServiceTaskoperService serviceTaskoperService;
+
+ @Autowired
private RedisCache redisCache;
@Autowired
@@ -251,8 +257,8 @@
public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) {
List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO);
//鏍规嵁鍑洪櫌 鏃堕棿鍊掑簭
-// List<ServiceSubtask> sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime).reversed()).collect(Collectors.toList());
- return selectServiceSubtaskList;
+ List<ServiceSubtask> sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
+ return sortedServiceSubtaskList;
}
@Override
@@ -377,35 +383,75 @@
serviceTask.setTemplatename(tempName);
serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
- if (serviceTaskVO.getLongTask() == 1L) serviceTask.setSendState(2L);
+ serviceTask.setSendState(2L);
serviceTaskService.insertServiceTask(serviceTask);
- ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
- serviceTaskdept.setTaskId(serviceTask.getTaskid());
- serviceTaskdept.setTaskName(serviceTask.getTaskName());
- serviceTaskdept.setLongtask(0L);
- serviceTaskdept.setGuid(serviceTask.getGuid());
- serviceTaskdept.setOrgid(serviceTask.getOrgid());
- serviceTaskdept.setOrgid(serviceTask.getOrgid());
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
- if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
- String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
- for (String deptCode : deptcodes) {
- serviceTaskdept.setDeptCode(deptCode);
- serviceTaskdept.setDeptType("1");
- serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ log.error("----serviceTaskVO.getAppltype()鐨勫�间负锛歿}", serviceTaskVO.getAppltype());
+ if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype())) {
+ if (serviceTaskVO.getAppltype().equals("3")) {
+ ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+ serviceTaskdiag.setTaskId(serviceTask.getTaskid());
+ serviceTaskdiag.setTaskName(serviceTask.getTaskName());
+ serviceTaskdiag.setLongtask(0L);
+ if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
+ serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
+ serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+ serviceTaskdiag.setGuid(serviceTask.getGuid());
+ serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+ serviceTaskdiag.setCreateTime(new Date());
+ log.error("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
+ if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
+ String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
+ for (String icd10code : Icd10codes) {
+ serviceTaskdiag.setIcd10code(icd10code);
+ serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
+ }
+ }
+ } else if (serviceTaskVO.getAppltype().equals("4")) {
+ ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
+ serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
+ serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+ serviceTaskoper.setTaskId(serviceTask.getTaskid());
+ serviceTaskoper.setTaskName(serviceTask.getTaskName());
+ serviceTaskoper.setLongtask(0L);
+ serviceTaskoper.setGuid(serviceTask.getGuid());
+ serviceTaskoper.setOrgid(serviceTask.getOrgid());
+ serviceTaskoper.setCreateTime(new Date());
+ if (serviceTaskVO.getLongTask() == 1) serviceTaskoper.setLongtask(1L);
+ if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+ String[] opcodes = serviceTaskVO.getOpcode().split(",");
+ for (String opcode : opcodes) {
+ serviceTaskoper.setOpcode(opcode);
+ log.error("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+ serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+ }
+ }
+
+ } else {
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setTaskId(serviceTask.getTaskid());
+ serviceTaskdept.setTaskName(serviceTask.getTaskName());
+ serviceTaskdept.setLongtask(0L);
+ if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
+ if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
+ String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
+ for (String deptCode : deptcodes) {
+ serviceTaskdept.setDeptCode(deptCode);
+ serviceTaskdept.setDeptType("1");
+ serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ }
+ }
+ if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
+ String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
+ for (String districtcode : leavehospitaldistrictcodes) {
+ serviceTaskdept.setDeptCode(districtcode);
+ serviceTaskdept.setDeptType("2");
+ serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ }
+ }
}
}
- if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
- String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
- for (String districtcode : leavehospitaldistrictcodes) {
- serviceTaskdept.setDeptCode(districtcode);
- serviceTaskdept.setDeptType("2");
- serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
- }
- }
-//
if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
Map<String, Integer> map = new HashMap<>();
map.put("taskId", serviceTask.getTaskid().intValue());
@@ -465,46 +511,115 @@
serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
serviceTask.setLongTask(serviceTaskVO.getLongTask());
serviceTaskService.updateServiceTask(serviceTask);
- ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
- serviceTaskdept.setTaskId(serviceTask.getTaskid());
- serviceTaskdept.setTaskName(serviceTask.getTaskName());
- serviceTaskdept.setLongtask(0L);
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
- if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
- String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
- for (String deptCode : deptcodes) {
- serviceTaskdept.setDeptCode(deptCode);
- serviceTaskdept.setDeptType("1");
- serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+ 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.setDeptCode(deptCode);
+ serviceTaskdept.setDeptType("1");
+ serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+ ServiceTaskdept st = new ServiceTaskdept();
+ st.setDeptCode(deptCode);
+ st.setTaskId(serviceTask.getTaskid());
+ List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+ if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ } else {
+ serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+ }
+ }
+ }
+ if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
+ String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
+ for (String districtcode : leavehospitaldistrictcodes) {
+ serviceTaskdept.setDeptCode(districtcode);
+ serviceTaskdept.setDeptType("2");
+ serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+ //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
+ ServiceTaskdept st = new ServiceTaskdept();
+ st.setDeptCode(districtcode);
+ st.setTaskId(serviceTask.getTaskid());
+ List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+ if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ } else {
+ serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+ }
+ }
+ }
+ } else if (serviceTaskVO.getAppltype().equals("3")) {
+ ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+ serviceTaskdiag.setTaskId(serviceTask.getTaskid());
+ serviceTaskdiag.setTaskName(serviceTask.getTaskName());
+ if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) {
+ throw new BaseException("鐤剧梾缂栫爜涓虹┖");
+ }
+// serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
- ServiceTaskdept st = new ServiceTaskdept();
- st.setDeptCode(deptCode);
- st.setTaskId(serviceTask.getTaskid());
- List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
- if (CollectionUtils.isEmpty(serviceTaskdepts)) {
- serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
- } else {
- serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+ serviceTaskdiag.setLongtask(1L);
+ serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+ serviceTaskdiag.setGuid(serviceTask.getGuid());
+ serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+ serviceTaskdiag.setUpdateTime(new Date());
+ if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
+ String[] icd10codes = serviceTaskVO.getIcd10code().split(",");
+ for (String icdcode : icd10codes) {
+ //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+ ServiceTaskdiag serviceTaskdiag2 = new ServiceTaskdiag();
+ serviceTaskdiag2.setTaskId(serviceTaskVO.getTaskid());
+ serviceTaskdiag2.setIcd10code(icdcode);
+ List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag2);
+ serviceTaskdiag.setIcd10code(icdcode);
+ log.error("----serviceTaskdiag鏇存柊鐨勫�间负锛歿}", serviceTaskdiag);
+ if (CollectionUtils.isNotEmpty(serviceTaskdiags)) {
+ serviceTaskdiag.setId(serviceTaskdiags.get(0).getId());
+ serviceTaskdiagService.updateServiceTaskdiag(serviceTaskdiag);
+ } else {
+ serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
+ }
}
}
- }
- if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
- String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
- for (String districtcode : leavehospitaldistrictcodes) {
- serviceTaskdept.setDeptCode(districtcode);
- serviceTaskdept.setDeptType("2");
- serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
- ServiceTaskdept st = new ServiceTaskdept();
- st.setDeptCode(districtcode);
- st.setTaskId(serviceTask.getTaskid());
- List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
- if (CollectionUtils.isEmpty(serviceTaskdepts)) {
- serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
- } else {
- serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+
+
+ } else if (serviceTaskVO.getAppltype().equals("4")) {
+ ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
+ if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
+ throw new BaseException("鎵嬫湳缂栫爜涓虹┖");
+ }
+// serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
+ serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+ serviceTaskoper.setTaskId(serviceTask.getTaskid());
+ serviceTaskoper.setTaskName(serviceTask.getTaskName());
+ serviceTaskoper.setLongtask(1L);
+ serviceTaskoper.setGuid(serviceTask.getGuid());
+ serviceTaskoper.setOrgid(serviceTask.getOrgid());
+ serviceTaskoper.setCreateTime(new Date());
+ if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+ String[] opcodes = serviceTaskVO.getOpcode().split(",");
+ for (String opcode : opcodes) {
+ //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+ ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+ serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+ serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
+ List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+
+ serviceTaskoper.setOpcode(opcode);
+ log.error("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+ if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+ serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+ serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+ } else {
+ serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+ }
}
}
+
}
if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
IvrTaskTemplate ivrTaskTemplate = new IvrTaskTemplate();
@@ -967,6 +1082,8 @@
double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE");
serviceSubtask.setScore(BigDecimal.valueOf(score));
serviceSubtask.setFinishtime(new Date());
+ serviceSubtask.setUpdateTime(new Date());
+ log.error("鍏堟洿鏂颁竴涓嬪垎鏁�,鐢佃瘽鐨剆erviceSubtask鐨勫�间负锛歿}", serviceSubtask);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
Map<String, String> map = delRedisValue(null, id.toString());
if (ObjectUtils.isNotEmpty(map)) redisCache.setCacheObject(map.get("cacheName"), map.get("val"));
@@ -1492,7 +1609,7 @@
}
}
if (existList.size() != 0) redisCache.setCacheListRight("cache-exist", existList);
- log.error("-----------瀹為檯鎷夊彇鐨勭數璇濇暟鎹噺锛歿}", pullTaskVOList.size());
+ log.error("-----------瀹為檯鎷夊彇鐨勭數璇濇暟鎹噺锛歿}", CollectionUtils.isNotEmpty(pullTaskVOList) ? pullTaskVOList.size() : null);
return pullTaskVOList;
}
@@ -1531,7 +1648,10 @@
}
}
//濡傛灉ivrTaskTemplateScript涓虹┖锛屼篃灏辨病鏈夊線涓嬫墽琛岀殑蹇呰浜�
- if (ObjectUtils.isEmpty(ivrTaskTemplateScript)) return null;
+ if (ObjectUtils.isEmpty(ivrTaskTemplateScript)) {
+ log.error("---------杩欎釜ivrTaskTemplate.getId()鐨勯棶棰樹负绌猴細{}", ivrTaskTemplate.getId());
+ continue;
+ }
//鑾峰彇閫氶厤绗﹀尮閰嶈繃鍚庣殑闂
String scrContent = getObject(serviceSubtask, ivrTaskTemplateScript.getIvrtext());
String kcb = serviceTask.getKcb() + "," + scrContent;
@@ -1870,6 +1990,9 @@
serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtask.setSendstate(6L);
serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid()));
+ serviceSubtask.setFinishtime(new Date());
+ serviceSubtask.setUpdateTime(new Date());
+ log.error("鐢佃瘽鎷ㄦ墦宸插畬鎴恠erviceSubtask鐨勫�间负:{}", serviceSubtask);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
//涓嬭浇鏂囦欢
ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
@@ -1882,6 +2005,7 @@
serviceSubtask.setRemark("鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�");
serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid()));
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("/");
@@ -1936,7 +2060,7 @@
public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
- Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(ServiceSubtask::getLeavehospitaldistrictname));
+ Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
for (List<ServiceSubtask> serviceSubtaskList : collect.values()) {
if (CollectionUtils.isEmpty(serviceSubtaskList)) {
continue;
@@ -2060,10 +2184,12 @@
RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
String taskId = rsaPublicKeyExample.encryptedData(serviceSubtask.getTaskid().toString(), pub_key);
String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
+ String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
ServiceOutPath serviceOutPath = new ServiceOutPath();
serviceOutPath.setParam1(taskId);
serviceOutPath.setParam2(patid);
serviceOutPath.setCreateTime(new Date());
+ serviceOutPath.setParam6(subId);
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
//杞垚16杩涘埗
String format = String.format("%03X", serviceOutPath.getId());
--
Gitblit v1.9.3