From 0fbdfb6da5693caee65ce82ff32f12fb0e29b7c3 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 28 四月 2026 11:42:30 +0800
Subject: [PATCH] 【丽水】随访异常导出
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 43 insertions(+), 2 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 53b97f1..0cefff1 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -16,6 +16,7 @@
import com.smartor.config.PhoneUtils;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.*;
+import com.smartor.domain.VO.HeLibraryCountVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
@@ -31,6 +32,7 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -2475,7 +2477,7 @@
return jsRates;
}
- @Override
+
public List<ServiceSubtaskStatistic> getSfStatisticsExport(ServiceSubtaskCountReq serviceSubtaskCountReq) {
List<ServiceSubtaskStatistic> sfStatistics = getSfStatistics(serviceSubtaskCountReq);
// 娣诲姞鎬昏琛�
@@ -2487,6 +2489,12 @@
}
return sfStatistics;
+ }
+
+ @Override
+ public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq){
+
+ return null;
}
/**
@@ -3589,7 +3597,8 @@
map.put("content", sendMagParam.getContent());
String result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
- if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
+ if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
+ serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
else serviceSubtask.setRemark("鐭俊琛ュ伩鍙戦�佹垚鍔�");
serviceSubtask.setSendstate(3L);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
@@ -4172,6 +4181,38 @@
}
}
+ @Override
+ public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO) {
+ if (ObjectUtils.isEmpty(heLibraryCountVO)) {
+ return new HashMap<>();
+ }
+ // 1. 鏌ヨ鍒嗙粍缁熻锛堝彂閫佹�婚噺銆佸彂閫佹垚鍔熼噺銆佸凡璇婚噺锛�
+ List<Map<String, Object>> groupStats = serviceSubtaskMapper.getHeLibraryCount(heLibraryCountVO);
+
+ // 2. 璁$畻鍚勭粍鐨勫彂閫佹垚鍔熺巼鍜屽凡璇荤巼
+ List<Map<String, Object>> result = new ArrayList<>();
+ if (CollectionUtils.isNotEmpty(groupStats)) {
+ for (Map<String, Object> row : groupStats) {
+ long totalCount = row.get("totalCount") != null ? ((Number) row.get("totalCount")).longValue() : 0L;
+ long sendSuccessCount = row.get("sendSuccessCount") != null ? ((Number) row.get("sendSuccessCount")).longValue() : 0L;
+ long readCount = row.get("readCount") != null ? ((Number) row.get("readCount")).longValue() : 0L;
+ // 鍙戦�佹垚鍔熺巼
+ double sendSuccessRate = totalCount > 0 ? (double) sendSuccessCount / totalCount : 0.0;
+ // 宸茶鐜囷紙鍩轰簬鍙戦�佹垚鍔熺殑鏁伴噺璁$畻锛�
+ double readRate = sendSuccessCount > 0 ? (double) readCount / sendSuccessCount : 0.0;
+ row.put("sendSuccessRate", sendSuccessRate);
+ row.put("readRate", readRate);
+ result.add(row);
+ }
+ }
+
+ Map<String, Object> resultMap = new HashMap<>();
+ resultMap.put("list", result);
+ resultMap.put("total", result.size());
+ return resultMap;
+ }
+
+
private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
Boolean result = true;
//3.4 濡傛灉3.1鎴�3.2涓簍rue鐨勮瘽锛屾牴鎹畉ype鍒ゆ柇浠�涔堢被鍨�
--
Gitblit v1.9.3