From e6456d2196b3e57bd06be0fbc74dd3e0fc28fdeb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 22 七月 2025 19:17:55 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java |   70 ++++++++++++++++++++++++++++++-----
 1 files changed, 60 insertions(+), 10 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
index 9192e8f..1aba511 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -38,7 +38,7 @@
     private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
-    private IvrTaskTemplateMapper ivrTaskTemplateMapper;
+    private ServiceTaskdeptMapper serviceTaskdeptMapper;
 
     @Autowired
     private PatArchiveImportMapper patArchiveImportMapper;
@@ -155,16 +155,67 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean deleteServiceTaskByTaskid(Long taskid) {
-        ServiceSubtask ServiceTaskcall = new ServiceSubtask();
-        ServiceTaskcall.setTaskid(taskid);
-        ServiceTaskcall.setDelFlag("1");
-        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(ServiceTaskcall);
+        ServiceSubtask serviceSubtask = new ServiceSubtask();
+        serviceSubtask.setTaskid(taskid);
+
+        //鏌ヨ瀛愪换鍔�
+        ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
+        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        for (ServiceSubtask ss : serviceSubtaskList) {
+            log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", ss.getId().toString());
+            redisCache.removeElementFromList("cache-exist", ss.getId().toString());
+            redisCache.removeElementFromList("cache-0", ss.getId().toString());
+            redisCache.removeElementFromList("cache-1", ss.getId().toString());
+            redisCache.removeElementFromList("cache-2", ss.getId().toString());
+            redisCache.removeElementFromList("cache-3", ss.getId().toString());
+            redisCache.removeElementFromList("cache-4", ss.getId().toString());
+        }
+
+        serviceSubtask.setDelFlag("1");
+        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
+
+        //鍏宠仈琛ㄥ垹闄�
+        ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+        serviceTaskdept.setTaskId(taskid);
+        int i = serviceTaskdeptMapper.deleteServiceTaskdeptByTaskId(serviceTaskdept);
+
         Boolean isSuccess = false;
-        if (!aBoolean) {
+        if (!aBoolean || i <= 0) {
             new BaseException("浠诲姟鍒犻櫎澶辫触");
         }
         isSuccess = serviceTaskMapper.deleteServiceTaskByTaskid(taskid);
         return isSuccess;
+    }
+
+
+    /**
+     * 鑾峰彇闅忚鍙婃椂鐜�
+     *
+     * @param serviceSubtask
+     * @return
+     */
+    public Map<String, Object> selectTimelyRate(ServiceSubtask serviceSubtask) {
+        if (serviceSubtask.getEndtime() != null && new Date().before(serviceSubtask.getEndtime())) {
+            serviceSubtask.setEndtime(new Date());
+        }
+        Double dob = serviceSubtaskMapper.selectTimelyRate(serviceSubtask);
+        // 1. 鏌ヨ鍏ㄩ儴鏁版嵁锛圫QL涓嶅垎椤碉級
+        List<ServiceSubtask> allList = serviceSubtaskMapper.selectTimelyRateDetail(serviceSubtask);
+        // 2. Java浠g爜鍒嗛〉
+        int pageNum = serviceSubtask.getPn() != null ? serviceSubtask.getPn() : 1;
+        int pageSize = serviceSubtask.getPs() != null ? serviceSubtask.getPs() : 10;
+        int fromIndex = (pageNum - 1) * pageSize;
+        int toIndex = Math.min(fromIndex + pageSize, allList.size());
+        List<ServiceSubtask> pageList = new ArrayList<>();
+        if (fromIndex < allList.size()) {
+            pageList = allList.subList(fromIndex, toIndex);
+        }
+        log.info("浠g爜鍒嗛〉鍙傛暟: pageNum={}, pageSize={}, fromIndex={}, toIndex={}, total={}", pageNum, pageSize, fromIndex, toIndex, allList.size());
+        Map<String, Object> map = new HashMap<>();
+        map.put("rate", dob);
+        map.put("detail", pageList);
+        map.put("total", allList.size()); // 鍙�夛細杩斿洖鎬绘暟
+        return map;
     }
 
     @Override
@@ -204,8 +255,8 @@
                 Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss);
                 if (integer != null && integer != 6) {
                     ss.setSendstate(1L);
-                    ss.setResult("success");
-                    ss.setFinishtime(new Date());
+//                    ss.setResult("success");
+//                    ss.setFinishtime(new Date());
                     serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
                 }
             }
@@ -218,7 +269,6 @@
         map.put("type", serviceTask.getType());
         map.put("taskName", serviceTask.getTaskName());
         map.put("submit", "0");
-
         return map;
     }
 
@@ -284,7 +334,7 @@
                 ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
             }
         }
-        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort));
+        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort));
 
         return ivrLibaTemplateScriptVOS;
     }

--
Gitblit v1.9.3