From 9b992ec72dde89dedfc71497f44a8cca36cca870 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 18 三月 2026 15:00:14 +0800
Subject: [PATCH] 【丽水】获取当前用户随访数量统计
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 24 ++++++++++++
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 3 +
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 9 ++++
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 2 +
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 24 ++++++++++++
5 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index 507e492..10d2848 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -32,6 +32,7 @@
import com.smartor.service.IServiceSubtaskRecordService;
import com.smartor.service.IServiceSubtaskService;
import com.smartor.service.IServiceTaskService;
+import com.smartor.service.impl.ServiceSubtaskServiceImpl;
import com.sun.org.apache.bcel.internal.generic.NEW;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -651,4 +652,27 @@
return map;
}
+ /**
+ * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堜紭鍖栫増锛�
+ * @return Map<String, Object> 鍖呭惈鍚勭姸鎬佺粺璁℃暟鎹�
+ * pendingVisitCount: 褰撳墠鐧诲綍浜烘埅姝粖鏃ュ緟闅忚鎬婚噺
+ * failedVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″け璐ユ�婚噺
+ * abnormalVisitVount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″紓甯告�婚噺
+ */
+ @ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛闅忚鏁伴噺缁熻")
+ @PostMapping("/getCurrentUserServiceSubtaskCount")
+ public Map<String, Object> getCurrentUserServiceSubtaskCount() {
+ Map<String, Object> map = new HashMap<>();
+ LoginUser loginUser = getLoginUser();
+ SysUser sysUser = loginUser.getUser();
+ if (ObjectUtils.isNotEmpty(sysUser)) {
+ List<String> deptCodes = sysUser.getDeptCodes();
+ List<String> wardCodes = sysUser.getWardCodes();
+ ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
+ entity.setLeaveldeptcodes(deptCodes);
+ entity.setLeavehospitaldistrictcodes(wardCodes);
+ map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
+ }
+ return map;
+ }
}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index cc20b7e..9a0ffc8 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -166,4 +166,13 @@
*/
public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskVO);
+ /**
+ * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堜紭鍖栫増锛�
+ * @param serviceSubtaskVO 鏌ヨ鏉′欢
+ * @return Map<String, Object> 鍖呭惈鍚勭姸鎬佺粺璁℃暟鎹�
+ * pendingVisitCount: 褰撳墠鐧诲綍浜烘埅姝粖鏃ュ緟闅忚鎬婚噺
+ * failedVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″け璐ユ�婚噺
+ * abnormalVisitVount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″紓甯告�婚噺
+ */
+ public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity serviceSubtaskVO);
}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 68443df..83f15bb 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -147,4 +147,6 @@
public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) ;
+
+ public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity);
}
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 b7a5d61..7117122 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -3543,4 +3543,7 @@
}).collect(Collectors.toList());
}
+ public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity){
+ return serviceSubtaskMapper.getCurrentUserServiceSubtaskCount(entity);
+ }
}
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index c9698fc..0190f40 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -2257,4 +2257,28 @@
</if>
</select>
+ <select id="getCurrentUserServiceSubtaskCount" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
+ SELECT
+ COUNT(CASE WHEN sendstate IN (1, 2) AND date_format(senddate,'%y%m%d') <= date_format(CURDATE(),'%y%m%d') THEN 1 END) AS pendingVisitCount,
+ COUNT(CASE WHEN sendstate = 5 THEN 1 END) AS failedVisitCount,
+ COUNT(CASE WHEN isabnormal IN (1, 2) THEN 1 END) AS abnormalVisitCount
+ FROM service_subtask
+ WHERE del_flag = '0'
+ <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+ AND leavehospitaldistrictcode IN
+ <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
+ separator=","
+ close=")">
+ #{leavehospitaldistrictcode}
+ </foreach>
+ </if>
+ <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
+ AND deptcode IN
+ <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+ close=")">
+ #{leaveldeptcode}
+ </foreach>
+ </if>
+ </select>
+
</mapper>
--
Gitblit v1.9.3