From 718bd7efbc0d959d0b9050c34be2fd639a1f74b6 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 26 二月 2025 18:03:27 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 210 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 145 insertions(+), 65 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 56fff07..fcb5559 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,62 @@ 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); + 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); + if (serviceTaskVO.getLongTask() == 1) serviceTaskoper.setLongtask(1L); + serviceTaskoper.setGuid(serviceTask.getGuid()); + serviceTaskoper.setOrgid(serviceTask.getOrgid()); + serviceTaskoper.setCreateTime(new Date()); + 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,45 +498,89 @@ 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()); - - 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 (serviceTaskVO.getAppltype().equals("1") || serviceTaskVO.getAppltype().equals("2")) { + 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()); + 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); + 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()); + List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag); + serviceTaskdiag.setLongtask(1L); + serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name()); + serviceTaskdiag.setGuid(serviceTask.getGuid()); + serviceTaskdiag.setOrgid(serviceTask.getOrgid()); + serviceTaskdiag.setUpdateTime(new Date()); + log.error("----serviceTaskdiag鏇存柊鐨勫�间负锛歿}", serviceTaskdiag); + if (CollectionUtils.isNotEmpty(serviceTaskdiags)) { + serviceTaskdiag.setId(serviceTaskdiags.get(0).getId()); + serviceTaskdiagService.updateServiceTaskdiag(serviceTaskdiag); + } else { + serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag); + } + + } 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()); + List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper); + serviceTaskoper.setTaskName(serviceTask.getTaskName()); + serviceTaskoper.setLongtask(1L); + serviceTaskoper.setGuid(serviceTask.getGuid()); + serviceTaskoper.setOrgid(serviceTask.getOrgid()); + serviceTaskoper.setCreateTime(new Date()); + 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())) { @@ -1858,6 +1935,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("鏈変汉鎺ョ數璇濅簡锛屽苟涓斿畬浜�"); @@ -1869,6 +1947,7 @@ serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�"); serviceSubtask.setSendstate(6L); serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid())); + serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //涓嬭浇鏂囦欢 ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString()); @@ -1881,6 +1960,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("/"); @@ -1935,7 +2015,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