From b65c4cdd68b72771634fcfd52709edfd77d7abc6 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 07 八月 2026 17:47:43 +0800
Subject: [PATCH] 【景宁】发送方式改执行方式

---
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java |  141 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 128 insertions(+), 13 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index e44108c..2deee1d 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -1,9 +1,16 @@
 package com.smartor.mapper;
 
 import com.smartor.domain.*;
+import com.smartor.domain.VO.PatSatisfactionReqVO;
+import com.smartor.domain.VO.HeLibraryCountVO;
+import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
+import com.smartor.domain.entity.ServiceSubtaskSatisfactionEntity;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -29,17 +36,27 @@
      * @param serviceSubtaskVO 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 鍗曚竴浠诲姟锛堥殢璁匡級闆嗗悎
      */
-    public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO);
+    public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskEntity serviceSubtaskVO);
+
+    public List<ServiceSubtask> selectSatisfactionSubtaskList(PatSatisfactionReqVO serviceSubtaskVO);
+
+    /**
+     * 鐢ㄤ簬琛ュ伩鏌ヨ
+     *
+     * @param serviceSubtaskVO
+     * @return
+     */
+    public List<ServiceSubtask> getCompensateServiceSubtaskList(ServiceSubtaskEntity serviceSubtaskVO);
 
     public List<ServiceSubtask> selectServiceSubtaskByDiagname(ServiceSubtask serviceSubtask);
 
-    public List<ServiceSubtask> queryServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO);
+    public List<ServiceSubtask> queryServiceSubtaskList(ServiceSubtaskEntity serviceSubtaskVO);
 
-    public List<ServiceSubtask> selectServiceSubtaskBySendstate(ServiceSubtaskVO serviceSubtaskVO);
+    public List<ServiceSubtask> selectServiceSubtaskBySendstate(ServiceSubtaskEntity serviceSubtaskVO);
 
-    public List<ServiceSubtask> selectServiceSubtaskListByCreateTime(ServiceSubtaskVO serviceSubtaskVO);
+    public List<ServiceSubtask> selectServiceSubtaskListByCreateTime(ServiceSubtaskEntity serviceSubtaskVO);
 
-    public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskVO serviceSubtaskVO);
+    public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskEntity serviceSubtaskVO);
 
     public List<Integer> selectSendstateByCondition(ServiceSubtask serviceSubtask);
 
@@ -52,12 +69,45 @@
     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
      * @return
      */
     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
+     */
+    @MapKey("groupKey")
+    public Map<String, Map<String, Object>> selectTimelyRateBatch(ServiceSubtaskEntity ServiceSubtaskvo);
 
     /**
      * 闅忚鍙婃椂鐜囪鎯�
@@ -101,6 +151,12 @@
 
     public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    public List<ServiceSubtaskStatistic> getSpecialSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
+    public List<ServiceSubtask> getSfStatisticsHyperlink(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
+    public List<String> getSfStatisticsGroupKey(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
     public List<ServiceSubtaskCount> getSfStatisticsJoy(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
     public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
@@ -137,14 +193,73 @@
      *
      * @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(ServiceSubtaskVO serviceSubtaskVO);
+    public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskVO);
+
+    /**
+     * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堜紭鍖栫増锛�
+     *
+     * @param serviceSubtaskVO 鏌ヨ鏉′欢
+     * @return Map<String, Object> 鍖呭惈鍚勭姸鎬佺粺璁℃暟鎹�
+     * pendingVisitCount: 褰撳墠鐧诲綍浜烘埅姝粖鏃ュ緟闅忚鎬婚噺
+     * failedVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″け璐ユ�婚噺
+     * abnormalVisitVount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″紓甯告�婚噺
+     * allVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔℃�婚噺
+     */
+    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity serviceSubtaskVO);
+
+    /**
+     * 鑾峰彇闂ㄨ瘖闅忚浜烘暟
+     *
+     * @param patMedReq
+     * @return
+     */
+    PatMedRes selectVisitCount(PatMedReq patMedReq);
+
+    List<Long> querySendCount(ServiceSubtaskSatisfactionEntity serviceSubtaskSatisfactionEntity);
+
+    /**
+     * 鎸夌梾鍖哄垎缁勭粺璁″欢缁姢鐞嗘暟閲�
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 姣忎釜鐥呭尯鐨勭粺璁$粨鏋�
+     */
+    List<Map<String, Object>> getContinueNurseCount(ServiceSubtaskCotinueCountVO vo);
+
+    /**
+     * 鎸夌瀹ゅ垎缁勭粺璁″欢缁姢鐞嗘暟閲�
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 姣忎釜绉戝鐨勭粺璁$粨鏋�
+     */
+    List<Map<String, Object>> getContinueNurseCountByDept(ServiceSubtaskCotinueCountVO vo);
+
+    /**
+     * 瀹f暀缁熻锛氭寜鐥呭尯鎴栫瀹ゅ垎缁勭粺璁″彂閫佹垚鍔熺巼鍜屽凡璇荤巼
+     *
+     * @param heLibraryCountVO 鏌ヨ鏉′欢
+     * @return 姣忕粍鐨勭粺璁$粨鏋滐紙groupName, sendSuccessCount, totalCount, readCount锛�
+     */
+    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