From c93b5be2de361e5625ed199dbbeb42704d5e1cb1 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 13 七月 2026 16:22:41 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 7 ++
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 18 ++++++
smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java | 11 +++
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 5 +
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 2
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 90 ++++++++++++++++++++++++++++++
smartor/src/main/java/com/smartor/domain/VO/HeLibraryCountVO.java | 22 +++++++
7 files changed, 155 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 4db09ad..2954bb2 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
@@ -886,6 +886,13 @@
return serviceSubtaskService.getHeLibraryCount(heLibraryCountVO);
}
+ @ApiOperation("鑾峰彇瀹f暀缁熻瓒呴摼鎺�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/gethelibraryCountHyperlink")
+ public AjaxResult gethelibraryCountHyperlink(@RequestBody HeLibraryCountVO heLibraryCountVO) {
+ return success(serviceSubtaskService.gethelibraryCountHyperlink(heLibraryCountVO));
+ }
+
/**
* 鎵嬪姩鍙戦�侀棶鍗锋ā鏉跨殑鐭俊鍔熻兘
*
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
index c27d624..023a85d 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
@@ -207,6 +207,17 @@
@ApiModelProperty(value = "diagType闆嗗悎")
private List<String> diagTypes;
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "鍙戦�佹椂闂�")
+ private Date visittime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "瀹屾垚鏃堕棿")
+ private Date finishtime;
+
+ @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖 2鍑洪櫌 3.涓撶梾 4.澶栭儴瀵煎叆 5鎬ヨ瘖銆�6浣忛櫌銆�7浣撴锛�")
+ private String hospType;
+
/**
* pageNum
*/
diff --git a/smartor/src/main/java/com/smartor/domain/VO/HeLibraryCountVO.java b/smartor/src/main/java/com/smartor/domain/VO/HeLibraryCountVO.java
index e6158d7..c398c38 100644
--- a/smartor/src/main/java/com/smartor/domain/VO/HeLibraryCountVO.java
+++ b/smartor/src/main/java/com/smartor/domain/VO/HeLibraryCountVO.java
@@ -1,6 +1,7 @@
package com.smartor.domain.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -37,4 +38,25 @@
@ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖 2鍑洪櫌 3.涓撶梾 4.澶栭儴瀵煎叆 5鎬ヨ瘖銆�6浣忛櫌銆�7浣撴锛�")
private String hospType;
+ @ApiModelProperty(value = "鏈烘瀯ID")
+ private String orgid;
+
+ @ApiModelProperty("鍙戦�佺姸鎬�")
+ private String sendstate;
+
+ @ApiModelProperty("瀹屾垚鐘舵�侊紙0鏈畬鎴� 1宸插畬鎴� 瀵瑰簲finishtime鏄惁鏈夊�硷級")
+ private String isFinished;
+
+ /**
+ * pageNum
+ */
+ @ApiModelProperty("pageNum")
+ private Integer pageNum;
+
+ /**
+ * pageSize
+ */
+ @ApiModelProperty("pageSize")
+ private Integer pageSize;
+
}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 9cf5b38..c00c91f 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -242,6 +242,11 @@
List<Map<String, Object>> getHeLibraryCount(HeLibraryCountVO heLibraryCountVO);
/**
+ * 瀹f暀缁熻瓒呴摼鎺�
+ */
+ List<ServiceSubtask> gethelibraryCountHyperlink(HeLibraryCountVO heLibraryCountVO);
+
+ /**
* 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮
* @param taskIds
* @return
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 93ae55b..daa0128 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -187,6 +187,8 @@
public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO);
+ public List<ServiceSubtask> gethelibraryCountHyperlink(@RequestBody HeLibraryCountVO heLibraryCountVO);
+
Map<String, Object> smsSubTask(Long subid);
/**
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 b81b373..5d7cd97 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -3176,6 +3176,18 @@
serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
}
+ //棣栨鍑洪櫌闅忚-缁熻鍐嶆鎺ㄩ�佹暟閲�
+ if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
+ //鍐嶆搴旈殢璁�
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+ serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
+ }
+ //鍐嶆闅忚瀹屾垚
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) {
+ serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
+ }
+ }
+
//棣栨鍑洪櫌闅忚
if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
//棣栨搴旈殢璁�
@@ -4586,6 +4598,12 @@
}
@Override
+ public List<ServiceSubtask> gethelibraryCountHyperlink(HeLibraryCountVO heLibraryCountVO){
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.gethelibraryCountHyperlink(heLibraryCountVO);
+ return serviceSubtasks;
+ }
+
+ @Override
public Map<String, Object> smsSubTask(Long subid) {
log.info("smsSubTask鐨勫叆鍙備负锛歿}", subid);
Map<String, Object> resultMap = new HashMap<>();
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 7e4b4b2..6982d8f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -2701,6 +2701,9 @@
<if test="visitCount != null and visitCount > 1">
AND visit_count > 1
</if>
+ <if test="drname != null and drname != ''">
+ AND drname like concat('%', #{drname}, '%')
+ </if>
</select>
@@ -2889,6 +2892,15 @@
FROM service_subtask
WHERE del_flag = 0
AND service_type = 4
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </if>
+ <if test="sendstate != null">
+ AND sendstate = #{sendstate}
+ </if>
+ <if test="isFinished != null and isFinished != '0'">
+ AND finishtime is not null
+ </if>
<if test="starttime != null">AND starttime >= #{starttime}</if>
<if test="endtime != null">AND endtime <= #{endtime}</if>
<if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
@@ -2935,6 +2947,84 @@
order by schedule_seq asc, id asc
</select>
+ <select id="gethelibraryCountHyperlink" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
+ resultMap="ServiceSubtaskResult">
+ select id,
+ visit_count,
+ is_visit_again,
+ type,
+ orgid,
+ drcode,
+ drname,
+ leavehospitaldistrictcode,
+ leavehospitaldistrictname,
+ deptcode,
+ deptname,
+ sendstate,
+ preachform,
+ current_preachform,
+ excep,
+ nurse_id,
+ nurse_name,
+ taskid,
+ task_name,
+ visit_time,
+ finishtime,
+ endtime,
+ senddate,
+ suggest,
+ result,
+ templateid,
+ templatename,
+ patid,
+ sendname,
+ send_type,
+ recordid,
+ exrecallcount,
+ continue_flag,
+ continue_time_now,
+ continue_content,
+ continue_count,
+ continue_time_next,
+ task_situation
+ from service_subtask
+ where 1=1
+ and del_flag = 0
+ AND service_type = 4
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </if>
+ <if test="sendstate != null and isFinished != '0'">
+ AND sendstate = #{sendstate}
+ </if>
+ <if test="isFinished != null">
+ AND finishtime is not null
+ </if>
+ <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0">
+ AND leavehospitaldistrictcode IN
+ <foreach collection="hospitaldistrictcodes" item="hospitaldistrictcode" open="(" separator=","
+ close=")">
+ #{hospitaldistrictcode}
+ </foreach>
+ </if>
+ <if test="deptcodes != null and deptcodes.size() > 0">
+ AND deptcode IN
+ <foreach collection="deptcodes" item="deptcode" open="(" separator=","
+ close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ <if test="starttime != null">AND starttime >= #{starttime}</if>
+ <if test="endtime != null">AND endtime <= #{endtime}</if>
+ <if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
+ <if test="finishtime != null">AND DATE(finishtime) = DATE(#{finishtime})</if>
+ <if test="hospType != null and hospType != ''">AND hosp_type = #{hospType}</if>
+ order by endtime desc
+ <if test="pageSize != null and pageNum != null">
+ limit ${pageSize} OFFSET ${pageNum}
+ </if>
+ </select>
+
<select id="statQuestionOption" resultType="com.smartor.domain.ServiceSubtaskDetailRatioExport">
SELECT
d.questiontext AS questiontext,
--
Gitblit v1.9.3