From ae086bc3ad6f785e6368b84e57a7e199c675779b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 02 四月 2025 11:42:28 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   77 ++++++++++++++++++++++++++++----------
 1 files changed, 56 insertions(+), 21 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 28d8cde..c2f3ecb 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -256,14 +256,8 @@
     @Override
     public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) {
         List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO);
-        //鏍规嵁鍑洪櫌 鏃堕棿鍊掑簭
-        List<ServiceSubtask> sortedServiceSubtaskList = null;
-        if (serviceSubtaskVO.getSort() == null || serviceSubtaskVO.getSort() == 0)
-            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
-        if (serviceSubtaskVO.getSort() != null && serviceSubtaskVO.getSort() == 1)
-            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getLongSendTime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
 
-        return sortedServiceSubtaskList;
+        return selectServiceSubtaskList;
     }
 
     @Override
@@ -294,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;
         }
@@ -391,6 +385,8 @@
             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())) {
@@ -513,23 +509,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());
@@ -547,6 +571,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());
@@ -674,9 +704,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)
@@ -2024,9 +2057,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");
@@ -2159,6 +2192,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());
@@ -2173,12 +2207,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