From c24bb5c5abdba213aaf490b4061b41608fa843bb Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 19 五月 2026 17:29:50 +0800
Subject: [PATCH] 【丽水】获取随访详情-指标详情(超链接) 接口

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
index 6554d27..f96a3d0 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
@@ -109,7 +109,8 @@
                 }
             }
         }
-        Collections.sort(serviceSubtaskDetailSET, Comparator.comparingLong(ServiceSubtaskDetail::getTemplatequestionnum));
+        Collections.sort(serviceSubtaskDetailSET,
+                Comparator.comparing(ServiceSubtaskDetail::getTemplatequestionnum, Comparator.nullsLast(Long::compareTo)));
         map1.put("filteredDetails", serviceSubtaskDetailSET);
 
         map1.put("voice", "");
@@ -129,12 +130,17 @@
         return map;
     }
 
-    /**
-     * 鏂板璇煶浠诲姟鍛煎彨鏄庣粏
-     *
-     * @param serviceSubtaskDetail 璇煶浠诲姟鍛煎彨鏄庣粏
-     * @return 缁撴灉
-     */
+    @Override
+    public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVO) {
+        List<Map<String, Object>> serviceSubtaskDetails = ServiceSubtaskDetailMapper.getServiceSubtaskDetails(serviceSubtaskDetailVO);
+        return serviceSubtaskDetails;
+    }
+        /**
+         * 鏂板璇煶浠诲姟鍛煎彨鏄庣粏
+         *
+         * @param serviceSubtaskDetail 璇煶浠诲姟鍛煎彨鏄庣粏
+         * @return 缁撴灉
+         */
     @Override
     public int insertServiceSubtaskDetail(ServiceSubtaskDetail serviceSubtaskDetail) {
         serviceSubtaskDetail.setCreateTime(DateUtils.getNowDate());
@@ -246,7 +252,6 @@
             Long totalCount = serviceSubtaskDetailTargets.stream().filter(target -> target.getMatchedtext() == null || target.getMatchedtext().isEmpty()).mapToLong(target -> target.getCount() != null ? target.getCount() : 0) // 纭繚 count 涓� 0 濡傛灉涓� null
                     .sum();
 
-
             Long allShowCount = 0L;
 
             // 閬嶅巻鍒楄〃锛屽皢 matchedText 涓�""璧嬪�肩粰 null
@@ -272,7 +277,8 @@
                 target.setTargetShowCount(allShowCount.toString());
                 BigDecimal count = new BigDecimal(target.getCount() != null ? target.getCount().toString() : "0");
                 BigDecimal allCount = new BigDecimal(allShowCount.toString());
-                target.setPercentage(count.divide(allCount, 2, RoundingMode.HALF_UP).toString());
+                if (allCount.compareTo(BigDecimal.ZERO) == 0)
+                    target.setPercentage(count.divide(allCount, 2, RoundingMode.HALF_UP).toString());
             }
         }
 

--
Gitblit v1.9.3