From 1468abbfadd8ba623c85e0c871aade69607ce085 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 25 二月 2025 14:24:54 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 90 ++++++++++++++++++++++++++++----------------- 1 files changed, 56 insertions(+), 34 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 c3058b5..d22dc99 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,9 @@ private IServiceTaskdeptService serviceTaskdeptService; @Autowired + private IServiceTaskdiagService serviceTaskdiagService; + + @Autowired private RedisCache redisCache; @Autowired @@ -251,8 +254,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,39 +380,55 @@ serviceTask.setTemplatename(tempName); serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes()); serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode()); - if (serviceTaskVO.getLongTask() == 1L) 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); + if (serviceTaskVO.getLongTask() == 1L) { + serviceTask.setSendState(2L); + serviceTaskService.insertServiceTask(serviceTask); + if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) { + ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); + serviceTaskdept.setTaskId(serviceTask.getTaskid()); + serviceTaskdept.setTaskName(serviceTask.getTaskName()); + serviceTaskdept.setLongtask(1L); + 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); + } + } + 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); + } + } + + } else { + ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); + serviceTaskdiag.setTaskId(serviceTask.getTaskid()); + serviceTaskdiag.setTaskName(serviceTask.getTaskName()); + serviceTaskdiag.setLongtask(1L); + serviceTaskdiag.setGuid(serviceTask.getGuid()); + serviceTaskdiag.setOrgid(serviceTask.getOrgid()); + if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L); + 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()); - 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()); + return map; } - } -// - if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) { - Map<String, Integer> map = new HashMap<>(); - map.put("taskId", serviceTask.getTaskid().intValue()); - return map; + } else { + serviceTaskService.insertServiceTask(serviceTask); } //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓� @@ -1858,6 +1877,7 @@ //鏃犱汉鎺ュ惉 getSmsCompensate(Long.valueOf(phoneCallRecordVO.getTaskid())); redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); + redisCache.removeElementFromList("cache-exist", phoneCallRecordVO.getTaskid()); } else if (ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("2")) { // if (phoneCallRecordVO.getAnswered() != null && phoneCallRecordVO.getAnswered() == true) { log.error("鏈変汉鎺ョ數璇濅簡锛屽苟涓斿畬浜�"); @@ -1875,6 +1895,8 @@ redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup"); } else { //鎮h�呮嫆缁濋殢璁� + //鍏堟妸璇ubId浠巆ache_exist涓墧闄わ紝鍙鏈夊洖璋冨氨鍓旈櫎锛堢洰鐨勬槸锛屽敖蹇cache-exist涓虹┖锛屽幓缂撳瓨涓嬩竴鎵硅鎵撶殑鐢佃瘽;杩欓噷鍓旈櫎涓嶅奖鍝嶇數璇濈殑姝e父涓氬姟锛� + redisCache.removeElementFromList("cache-exist", phoneCallRecordVO.getTaskid()); ServiceSubtask serviceSubtask = new ServiceSubtask(); serviceSubtask.setRemark("鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�"); serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid())); @@ -1933,7 +1955,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; -- Gitblit v1.9.3