From 9f9e9be084ea03f7b7eb301f2f6e201c6c2589d7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 05 八月 2026 17:10:31 +0800
Subject: [PATCH] 【景宁】手术随访增加出院科室、病区限制

---
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 38ba8e1..2deee1d 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -10,6 +10,7 @@
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -68,6 +69,23 @@
     public int insertServiceSubtask(ServiceSubtask ServiceSubtask);
 
     /**
+     * 浠诲姟缁勶紙appltype=5锛夛細缁熻鏌愪竴杞鍐呬粛鍦ㄨ繍琛岀殑 subtask 鏁伴噺銆�
+     * 浠嶅湪杩愯 = sendstate in (1,2,3) 涓旀湭鍒犻櫎銆�
+     * 鐢ㄤ簬鍒ゆ柇鏈疆鏄惁宸插叏閮� finalize锛堟垚鍔�/澶辫触/涓嶆墽琛�/瓒呮椂锛夈��
+     *
+     * @param scheduleId 璁″垝涓婚敭
+     * @param loopCount  杞锛�0=棣栬疆锛�
+     */
+    public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
+                                              @Param("loopCount") Long loopCount);
+
+    /**
+     * 浠诲姟缁勶紙appltype=5锛夛細鎷夊彇鏌愪竴杞鐨勫叏閮� subtask锛堢敤浜庡厠闅嗗埌涓嬩竴杞級銆�
+     */
+    public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
+                                                          @Param("loopCount") Long loopCount);
+
+    /**
      * 闅忚鍙婃椂鐜囷細搴旈殢璁挎椂闂�<瀹為檯闅忚鏃堕棿
      *
      * @param ServiceSubtask
@@ -76,7 +94,14 @@
     public Double selectTimelyRate(ServiceSubtask ServiceSubtask);
 
     /**
-     * 闅忚鍙婃椂鐜囷細搴旈殢璁挎椂闂�<瀹為檯闅忚鏃堕棿
+     * 闅忚鍙婃椂鐜囷紙鎸� groupKey 鍒嗙粍鎵归噺缁熻锛�
+     * <p>
+     * rate锛氬嚭闄㈡椂闂�(endtime)璧� rateDay + 琛ュ伩澶╂暟 鍐呭畬鎴愰殢璁跨殑鍗犳瘮銆�
+     * 琛ュ伩澶╂暟鍙栬嚜 service_subtask_preachform.compensate_time 鎸夊瓙浠诲姟姹傚拰锛�
+     * 鐢ㄥ瓙浠诲姟蹇収鑰岄潪 service_task.preachform_desc锛屼繚璇佸巻鍙叉暟鎹笉闅忎换鍔℃敼閰嶇疆鑰屽彉鍔ㄣ��
+     * rateDay 涓虹┖鏃� rate 杩斿洖 NULL銆�
+     * <p>
+     * finishRate锛氬簲闅忚鏃堕棿(visit_time) &lt;= 瀹為檯瀹屾垚鏃堕棿(finishtime) 鐨勫崰姣旓紝褰撳墠鏈闅忚缁熻浣跨敤銆�
      *
      * @param ServiceSubtaskvo
      * @return
@@ -126,6 +151,8 @@
 
     public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    public List<ServiceSubtaskStatistic> getSpecialSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
     public List<ServiceSubtask> getSfStatisticsHyperlink(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
     public List<String> getSfStatisticsGroupKey(ServiceSubtaskCountReq serviceSubtaskCountReq);
@@ -166,13 +193,13 @@
      *
      * @param serviceSubtaskVO 鏌ヨ鏉′欢
      * @return Map<String, Object> 鍖呭惈鍚勭姸鎬佺粺璁℃暟鎹�
-     * wzx: 鏈墽琛屾暟閲�
-     * ysf: 宸查殢璁挎暟閲�
-     * fssb: 鍙戦�佸け璐ユ暟閲�
-     * yfs: 宸插彂閫佹暟閲�
-     * dsf: 寰呴殢璁挎暟閲�
-     * blq: 涓嶇悊鐫暟閲�
-     * yc: 寮傚父鏁伴噺
+     * total: 鎮h�呮湇鍔℃�婚噺
+     * wxsf: 鏃犻渶闅忚鏁伴噺 sendstate != 4
+     * xsf: 闇�闅忚鏁伴噺 sendstate = 4
+     * dsf: 寰呴殢璁挎暟閲� sendstate = 1L, 2L, 3L, 5L, 7L
+     * ywc: 宸插畬鎴愭暟閲� sendstate = 6L
+     * yc: 寮傚父鏁伴噺 excep = '1'
+     * yc: 璀﹀憡鏁伴噺 excep = '2'
      */
     public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskVO);
 
@@ -222,4 +249,17 @@
      */
     List<Map<String, Object>> getHeLibraryCount(HeLibraryCountVO heLibraryCountVO);
 
+    /**
+     * 瀹f暀缁熻瓒呴摼鎺�
+     */
+    List<ServiceSubtask> gethelibraryCountHyperlink(HeLibraryCountVO heLibraryCountVO);
+
+    /**
+     * 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮
+     *
+     * @param taskIds
+     * @return
+     */
+    List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime);
+
 }

--
Gitblit v1.9.3