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 |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 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 d560ef9..1aba511 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -187,6 +187,37 @@
         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
     public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish, String patfrom) {
         Map<String, Object> map = new HashMap<>();
@@ -303,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