From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 11 十二月 2024 22:16:23 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/ServiceSubtask.java                                |    2 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                                |    6 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java    |   33 ++
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java                        |  528 +++++++++++++++++++++++++++++++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java |    8 
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java                       |   80 +++++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java               |   96 ++++++
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java                        |    6 
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java                          |    2 
 smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java                       |    7 
 smartor/src/main/java/com/smartor/domain/PatArchivecontact.java                             |    4 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                          |   26 +
 12 files changed, 781 insertions(+), 17 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java
index 144760f..4a490e7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchivecontactController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.PatArchivecontact;
@@ -37,10 +38,13 @@
     @ApiOperation("鏌ヨ鎮h�呰仈绯绘柟寮忓垪琛�")
     //@PreAuthorize("@ss.hasPermi('system:archivecontact:list')")
     @PostMapping("/selectPatArchivecontactList")
-    public TableDataInfo selectPatArchivecontactlist(@RequestBody PatArchivecontact patArchivecontact) {
+    public AjaxResult selectPatArchivecontactlist(@RequestBody PatArchivecontact patArchivecontact) {
         PageUtils.startPageByPost(patArchivecontact.getPageNum(), patArchivecontact.getPageSize());
+        if (patArchivecontact.getPatid() == null) {
+            return error("鎮h�匢D涓嶈兘涓虹┖");
+        }
         List<PatArchivecontact> list = patArchivecontactService.selectPatArchivecontactList(patArchivecontact);
-        return getDataTable(list);
+        return success(list);
     }
 
     /**
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 5b3aa1e..ec2f820 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
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -17,6 +18,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -83,11 +85,13 @@
     //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
     @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ServiceSubtask serviceSubtask) {
-        ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
-        List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO);
-        ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class);
-        util.exportExcel(response, list, "鍗曚竴浠诲姟锛堥殢璁匡級鏁版嵁");
+    public void export(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
+        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
+        if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+            List<ServiceSubtaskExportVO> serviceSubtaskExportVOS = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExportVO.class);
+            ExcelUtil<ServiceSubtaskExportVO> util = new ExcelUtil<ServiceSubtaskExportVO>(ServiceSubtaskExportVO.class);
+            util.exportExcel(response, serviceSubtaskExportVOS, "闅忚瀵煎嚭鏁版嵁");
+        }
     }
 
     /**
@@ -118,6 +122,12 @@
     @PostMapping("/update")
     public AjaxResult update(@RequestBody ServiceSubtask serviceSubtask) {
         return toAjax(serviceSubtaskService.updateServiceSubtask(serviceSubtask));
+    }
+
+    @ApiOperation("鏂板瀛愪换鍔�")
+    @PostMapping("/addSubTask")
+    public AjaxResult addSubTask(@RequestBody ServiceSubtask serviceSubtask) {
+        return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
     }
 
     /**
@@ -201,4 +211,17 @@
         return getDataTable(serviceSubtaskService.getSfFzInfoEveryMonth(serviceSubtaskCountReq));
     }
 
+
+    /**
+     * 鑾峰彇闅忚缁熻姣斾緥
+     */
+    @ApiOperation("鑾峰彇闅忚缁熻姣斾緥")
+    @PostMapping("/getSfStatistics")
+    public AjaxResult getSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) {
+            return error("鏈嶅姟绫诲瀷涓嶈兘涓虹┖");
+        }
+        return success(serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
+    }
+
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index f126715..dd4509f 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -608,7 +608,7 @@
                         patArchive.setNotrequiredreason(thiedInhospInfo.getOutWayName());
                     }
                     if (cry.equals("1") && StringUtils.isEmpty(thiedInhospInfo.getOutWayId())) {
-                        //濡傛灉涓�4灏辨槸姝讳骸
+                        //鍑洪櫌鏂瑰紡涓虹┖
                         patArchive.setNotrequiredFlag("1");
                         patArchive.setNotrequiredreason("鍑洪櫌鏂瑰紡涓虹┖");
                     }
@@ -636,7 +636,9 @@
                     patArchive.setName(thiedInhospInfo.getPatiRecordName());
                     patArchiveService.insertPatArchive(patArchive);
                 } else {
-                    patArchive = patArchives.get(0);
+                    patArchive.setId(patArchives.get(0).getId());
+                    patArchiveService.update(patArchive);
+//                    patArchive = patArchives.get(0);
                 }
 
                 log.error("鍏ュ弬鐨刾atArchive锛歿}", patArchive);
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java b/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java
index a82eab5..eb53f3e 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchivecontact.java
@@ -30,8 +30,8 @@
     /**
      * 鑱旂郴鏂瑰紡ID
      */
-    @Excel(name = " 鑱旂郴鏂瑰紡ID ")
-    @ApiModelProperty(value = "鑱旂郴鏂瑰紡ID")
+    @Excel(name = " 鎮h�匢D ")
+    @ApiModelProperty(value = "鎮h�匢D")
     private Long patid;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index 2ee55de..a851f20 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -216,7 +216,7 @@
      * 鍙戦�佺姸鎬�
      */
     @Excel(name = " 鍙戦�佺姸鎬� ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 鏂板缓  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
     private Long sendstate;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
index fd6127e..91336a7 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
@@ -1,5 +1,6 @@
 package com.smartor.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -21,13 +22,18 @@
     @ApiModelProperty(value = "鐢ㄦ埛ID")
     private Long userId;
 
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     private Date startTime;
 
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "缁撴潫鏃堕棿")
     private Date endTime;
 
     @ApiModelProperty(value = "鏈嶅姟绫诲瀷")
     private List<Long> serviceType;
 
+    @ApiModelProperty(value = "鐥呭尯Code闆嗗悎")
+    private List<String> leavehospitaldistrictcodes;
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java
new file mode 100644
index 0000000..cd7c88d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskExportVO.java
@@ -0,0 +1,528 @@
+package com.smartor.domain;
+
+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;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_tasksingle
+ *
+ * @author ruoyi
+ * @date 2024-02-02
+ */
+@ApiModel(value = "ServiceSubtask", description = "鍗曚竴闅忚浠诲姟")
+@Data
+public class ServiceSubtaskExportVO {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭
+     */
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
+
+    /**
+     * 浠诲姟ID
+     */
+    @ApiModelProperty(value = "浠诲姟ID")
+    private Long taskid;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String guid;
+
+    /**
+     * 寮傚父鏍囪瘑
+     */
+    @ApiModelProperty(value = "寮傚父鏍囪瘑")
+    @Excel(name = " 寮傚父鏍囪瘑 ")
+    private String excep;
+
+    /**
+     * 鍑洪櫌鏃堕棿
+     */
+    @ApiModelProperty(value = "鍑洪櫌鏃堕棿")
+    @Excel(name = " 鍑洪櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date endtime;
+
+    /**
+     * 鍏ラ櫌鏃堕棿
+     */
+    @ApiModelProperty(value = "鍏ラ櫌鏃堕棿")
+    @Excel(name = " 鍏ラ櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date starttime;
+
+    /**
+     * 鏄惁鎻愪氦
+     */
+    @ApiModelProperty(value = "鏄惁鎻愪氦锛�0鏈彁浜�   1宸叉彁浜�")
+    private Long submit;
+
+    /**
+     * 鍙戦�佷汉
+     */
+    @Excel(name = " 鍙戦�佷汉锛堟偅鑰咃級 ")
+    @ApiModelProperty(value = "鍙戦�佷汉锛堟偅鑰咃級")
+    private String sendname;
+
+    /**
+     * 鎵嬫満鍙�
+     */
+    @Excel(name = " 鎵嬫満鍙� ")
+    @ApiModelProperty(value = "鎵嬫満鍙�")
+    private String phone;
+
+    /**
+     * 鎵嬫満鍙�
+     */
+    @Excel(name = " 鎵嬫満鍙� ")
+    @ApiModelProperty(value = "鎵嬫満鍙�")
+    private String openid;
+
+    /**
+     * 鎬у埆
+     */
+    @Excel(name = "  鎬у埆")
+    @ApiModelProperty(value = "鎬у埆")
+    private Long sex;
+
+    /**
+     * 骞撮緞
+     */
+    @Excel(name = " 骞撮緞 ")
+    @ApiModelProperty(value = "骞撮緞")
+    private Long age;
+
+    /**
+     * 韬唤璇佸彿
+     */
+    @Excel(name = " 韬唤璇佸彿 ")
+    @ApiModelProperty(value = "韬唤璇佸彿")
+    private String sfzh;
+
+    /**
+     * 鍦板潃
+     */
+    @Excel(name = " 鍦板潃 ")
+    @ApiModelProperty(value = "鍦板潃")
+    private String addr;
+
+    /**
+     * 鍙戦�佷汉璇︽儏
+     */
+    @Excel(name = "  鍙戦�佷汉璇︽儏")
+    @ApiModelProperty(value = "鍙戦�佷汉璇︽儏")
+    private String senderdetail;
+
+    /**
+     * 浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)
+     */
+    @Excel(name = "浠诲姟绫诲瀷(0閫氱煡銆�1瀹f暀銆�2闂ㄨ瘖銆�3鍑洪櫌銆�4澶嶈瘖銆�5浣撴銆�6闂嵎銆�7鍖绘妧鈥︹��)")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷(0閫氱煡銆�1瀹f暀銆�2闂ㄨ瘖銆�3鍑洪櫌銆�4澶嶈瘖銆�5浣撴銆�6闂嵎銆�7鍖绘妧鈥︹��)")
+    private String type;
+
+    /**
+     * 鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)
+     */
+    @Excel(name = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+    @ApiModelProperty(value = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+    private String serviceType;
+
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = "  妯℃澘ID")
+    @ApiModelProperty(value = "妯℃澘ID")
+    private Long templateid;
+
+    /**
+     * 妯℃澘鍚�
+     */
+    @Excel(name = " 妯℃澘鍚� ")
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
+    private String templatename;
+
+    /**
+     * 鍙戝鐞嗘剰瑙侊細1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫閫乁UID
+     */
+    @Excel(name = " 澶勭悊鎰忚锛�1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫 ")
+    @ApiModelProperty(value = "澶勭悊鎰忚锛�1鏆備笉澶勭悊銆�2閫氱煡灏辫瘖銆�3鐥呮儏绋冲畾銆�4浜哄伐闅忚銆�5澶辫")
+    private String suggest;
+
+    /**
+     * 鍙戦�佹棩鏈�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍙戦�佹棩鏈� ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鍙戦�佹棩鏈�")
+    private Date senddate;
+
+    /**
+     * 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitabegin;
+
+    /**
+     * 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitaend;
+
+    /**
+     * 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitpbegin;
+
+    /**
+     * 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitpend;
+
+    /**
+     * 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitnbegin;
+
+    /**
+     * 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitnend;
+
+    /**
+     * 鍙戦�佺姸鎬�
+     */
+    @Excel(name = " 鍙戦�佺姸鎬� ")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐�  1 琚鍙�   6 宸插畬鎴�")
+    private Long sendstate;
+
+    /**
+     * 鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1
+     */
+    @Excel(name = " 鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1 ")
+    @ApiModelProperty(value = "鏆傚仠鐘� 锛� 鐘舵�佸鏋滃彂鐢熶慨鏀癸紝鍊煎氨鍔�1")
+    private Long stopState;
+
+    /**
+     * 鍙戦�乁UID
+     */
+    @Excel(name = " 鍙戦�乁UID ")
+    @ApiModelProperty(value = "鍙戦�乁UID")
+    private String senduuid;
+
+    /**
+     * 缁撴灉
+     */
+    @Excel(name = " 缁撴灉 ")
+    @ApiModelProperty(value = "缁撴灉")
+    private String result;
+
+    /**
+     * 瀹屾垚鏃堕棿
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "瀹屾垚鏃堕棿")
+    private Date finishtime;
+
+    /**
+     * 灏辫瘖璁板綍缂栧彿
+     */
+    @Excel(name = " 灏辫瘖璁板綍缂栧彿 ")
+    @ApiModelProperty(value = "灏辫瘖璁板綍缂栧彿")
+    private Long recordid;
+
+    /**
+     * 褰撳墠閲嶆嫧娆℃暟
+     */
+    @Excel(name = " 褰撳墠閲嶆嫧娆℃暟 ")
+    @ApiModelProperty(value = "褰撳墠閲嶆嫧娆℃暟")
+    private Long exrecallcount;
+
+    /**
+     * 鎷夊彇鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鎷夊彇鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
+    private Date pulltime;
+
+    /**
+     * 閮ㄩ棬code
+     */
+    @Excel(name = "  閮ㄩ棬code")
+    @ApiModelProperty(value = "閮ㄩ棬code")
+    private String deptcode;
+
+    /**
+     * 鍖荤敓缂栫爜
+     */
+    @Excel(name = "  鍖荤敓缂栫爜")
+    @ApiModelProperty(value = "鍖荤敓缂栫爜")
+    private String drcode;
+
+    /**
+     * 鍖荤敓濮撳悕
+     */
+    @Excel(name = "  鍖荤敓濮撳悕")
+    @ApiModelProperty(value = "鍖荤敓濮撳悕")
+    private String drname;
+
+    /**
+     * 鏍囩鐘舵��
+     */
+    @Excel(name = "  鏍囩鐘舵��")
+    @ApiModelProperty(value = "鏍囩鐘舵��")
+    private Long labelstatus;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private String delFlag;
+
+    /**
+     * 涓婁紶鏍囪
+     */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    @ApiModelProperty(value = "涓婁紶鏍囪")
+    private Long isupload;
+
+    /**
+     * 涓婁紶鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "涓婁紶鏃堕棿")
+    private Date uploadTime;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(value = "鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private String textParam;
+
+    /**
+     * 瀹f暀褰㈠紡 : 1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川  6.閾炬帴  7.閽夐拤   8.寰俊
+     */
+    @Excel(name = " 瀹f暀褰㈠紡 : 1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川  6.浜岀淮鐮�  7.閽夐拤   8.寰俊")
+    @ApiModelProperty("瀹f暀褰㈠紡 :  1,鐭俊銆�2,绾夸笅銆�3,璇煶銆�4,瑙嗛銆�5,绾歌川  6.閾炬帴  7.閽夐拤  8.寰俊")
+    private String preachform;
+
+    /**
+     * 搴婂彿
+     */
+    @Excel(name = "搴婂彿")
+    @ApiModelProperty(value = "搴婂彿")
+    private String bedNo;
+
+    /**
+     * pageNum
+     */
+    @Excel(name = "pageNum")
+    @ApiModelProperty(value = "pageNum")
+    private Integer pageNum;
+
+    /**
+     * pageSize
+     */
+    @Excel(name = "pageSize")
+    @ApiModelProperty(value = "pageSize")
+    private Integer pageSize;
+
+
+    /**
+     * 鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��
+     */
+    @ApiModelProperty(value = "鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��")
+    private String sendType;
+
+    /**
+     * 浠诲姟鍚嶇О
+     */
+    @Excel(name = "浠诲姟鍚嶇О")
+    @ApiModelProperty(value = "浠诲姟鍚嶇О")
+    private String taskName;
+
+    /**
+     * 浠诲姟鎻忚堪
+     */
+    @Excel(name = "浠诲姟鎻忚堪")
+    @ApiModelProperty(value = "浠诲姟鎻忚堪")
+    private String taskDesc;
+
+
+    /**
+     * 闅忚浜�
+     */
+    @Excel(name = "  闅忚浜�  ")
+    @ApiModelProperty(value = "闅忚浜�")
+    private String operator;
+
+    /**
+     * 闅忚浜�
+     */
+    @Excel(name = "  闅忚浜虹紪鍙�  ")
+    @ApiModelProperty(value = "闅忚浜虹紪鍙�")
+    private String operatorNo;
+
+    /**
+     * 灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛�
+     */
+    @Excel(name = "  灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛�  ")
+    @ApiModelProperty(value = "灏辫瘖缂栧彿锛堝搴旂殑outhospno銆乮nhospno锛�")
+    private String hospno;
+
+    /**
+     * 灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�
+     */
+    @Excel(name = "  灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�")
+    @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌 3.涓撶梾 4.澶栭儴瀵煎叆锛�")
+    private String hospType;
+
+
+    /**
+     * 寰俊
+     */
+    @Excel(name = "  寰俊")
+    @ApiModelProperty(value = "寰俊")
+    private String wechat;
+
+    /**
+     * 璇婃柇鍚嶇О
+     */
+    @Excel(name = "  璇婃柇鍚嶇О")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
+     * 鎮h�匢D
+     */
+    @Excel(name = "  鎮h�匢D")
+    @ApiModelProperty(value = "鎮h�匢D")
+    private Long patid;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @Excel(name = "绉戝鍚嶇О")
+    @ApiModelProperty(value = "绉戝鍚嶇О")
+    private String deptname;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @Excel(name = " 灏辫瘖鏃ユ湡")
+    @ApiModelProperty(value = "灏辫瘖鏃ユ湡")
+    private Date admindate;
+
+    /**
+     * 鐥呮埧鍙�
+     */
+    @Excel(name = "  鐥呮埧鍙�")
+    @ApiModelProperty(value = "鐥呮埧鍙�")
+    private String roomno;
+
+    /**
+     * 妯℃澘搴撴ā鐗圛D
+     */
+    @Excel(name = "妯℃澘搴撴ā鐗圛D")
+    @ApiModelProperty(value = "妯℃澘搴撴ā鐗圛D")
+    private Long libtemplateid;
+
+    /**
+     * 鎬诲垎
+     */
+    @Excel(name = "鎬诲垎")
+    @ApiModelProperty(value = "鎬诲垎")
+    private BigDecimal score;
+
+    /**
+     * 妯℃澘搴撴ā鐗堝悕绉�
+     */
+    @Excel(name = "妯℃澘搴撴ā鐗堝悕绉�")
+    @ApiModelProperty(value = "妯℃澘搴撴ā鐗堝悕绉�")
+    private String libtemplatename;
+
+
+    /**
+     * 闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿
+     */
+    @Excel(name = " 闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿")
+    @ApiModelProperty(value = "闀挎湡浠诲姟锛岀粰鎮h�呭彂閫佺殑鏃堕棿")
+    private Date longSendTime;
+
+    /**
+     * 璐d换鎶ゅ+缂栫爜
+     */
+    @Excel(name = "璐d换鎶ゅ+缂栫爜")
+    @ApiModelProperty("璐d换鎶ゅ+缂栫爜")
+    private String nurseId;
+
+    /**
+     * 璐d换鎶ゅ+濮撳悕
+     */
+    @Excel(name = "璐d换鎶ゅ+濮撳悕")
+    @ApiModelProperty("璐d换鎶ゅ+濮撳悕")
+    private String nurseName;
+
+    /**
+     * 鍑洪櫌鐥呭尯缂栧彿
+     */
+    @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿")
+    private String leavehospitaldistrictcode;
+
+    /**
+     * 鍑洪櫌鐥呭尯鍚嶇О
+     */
+    @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О")
+    @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
+    private String leavehospitaldistrictname;
+
+    /**
+     * 鍑洪櫌鐥呭尯缂栧彿
+     */
+    @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿闆嗗悎")
+    private List<String> leavehospitaldistrictcodes;
+
+    /**
+     * 鍑洪櫌鐥呭尯缂栧彿
+     */
+    @ApiModelProperty(value = "鍑洪櫌閮ㄩ棬缂栧彿闆嗗悎")
+    private List<String> leaveldeptcodes;
+
+    @ApiModelProperty(value = "鍙戦�佽鎯�")
+    private List<ServiceSubtaskRecord> serviceSubtaskRecordList;
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
new file mode 100644
index 0000000..66363b8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
@@ -0,0 +1,80 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 鍚勭梾鍖洪殢璁跨粺璁℃瘮渚�
+ *
+ * @author ruoyi
+ * @date 2024-12-11
+ */
+@ApiModel(value = "ServiceSubtaskStatistic", description = "鍚勭梾鍖洪殢璁跨粺璁℃瘮渚�")
+@Data
+public class ServiceSubtaskStatistic {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍑洪櫌鐥呭尯缂栧彿
+     */
+    @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿")
+    private String leavehospitaldistrictcode;
+
+    /**
+     * 鍑洪櫌鐥呭尯鍚嶇О
+     */
+    @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О")
+    @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
+    private String leavehospitaldistrictname;
+
+    @ApiModelProperty(value = "鏈嶅姟鎬婚噺")
+    private Integer serviceCount = 0;
+
+    @ApiModelProperty(value = "鎮h�呰繃婊ら噺锛堜笉鎵ц鏁伴噺锛�")
+    private Long bzxCount = 0L;
+
+    @ApiModelProperty(value = "搴旈殢璁块噺")
+    private Long ysfCount = 0L;
+
+    @ApiModelProperty(value = "鍙戦�佸け璐ヨ閲�")
+    private Long fssbCount = 0L;
+
+    @ApiModelProperty(value = "寰呭彂閫佹暟閲�")
+    private Long dfsCount = 0L;
+
+    @ApiModelProperty(value = "宸插彂閫佹暟閲�")
+    private Long yfsCount = 0L;
+
+    @ApiModelProperty(value = "宸插畬鎴愭暟閲�")
+    private Long ywcCount = 0L;
+
+    @ApiModelProperty(value = "闅忚瀹屾垚鐜�")
+    private String sfwcl;
+
+    @ApiModelProperty(value = "鐭俊鍙戦�佹鏁�")
+    private Long dxfscs = 0L;
+
+    @ApiModelProperty(value = "鐭俊闅忚瀹屾垚娆℃暟")
+    private Long dxsfwccs = 0L;
+
+    @ApiModelProperty(value = "鐭俊闅忚瀹屾垚鐜�")
+    private Long dxsfwcl = 0L;
+
+    @ApiModelProperty(value = "鐢佃瘽鍙戦�佹鏁�")
+    private Long dhfscs = 0L;
+
+    @ApiModelProperty(value = "鐢佃瘽闅忚瀹屾垚娆℃暟")
+    private Long dhsfwccs = 0L;
+
+    @ApiModelProperty(value = "鐢佃瘽闅忚瀹屾垚鐜�")
+    private Long dhsfwcl = 0L;
+
+    @ApiModelProperty(value = "寮傚父鎬绘暟")
+    private Long yczs = 0L;
+
+    @ApiModelProperty(value = "鍥炲寮傚父鏁�")
+    private Long hfycs = 0L;
+
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 0a56930..6bc5372 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -71,4 +71,6 @@
 
     public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
 }
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 1b990c4..7888f1e 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -115,4 +115,11 @@
      */
     public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    /**
+     * 鑾峰彇闅忚缁熻姣斾緥
+     * @param serviceSubtaskCountReq
+     * @return
+     */
+    public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
 }
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 e6c1691..a34347b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -4,6 +4,7 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
@@ -252,13 +253,18 @@
         Integer yc = 0;
         Integer fssb = 0;
         Integer yfs = 0;
-        Integer blq = 0;
+        Integer xj = 0;
+        Integer dfs = 0;
+        Integer ywc = 0;
+        Integer ywc2 = 0;
         for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
             if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1;
             else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1;
             if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1;
             if (serviceSubtask.getSendstate() == 3L) yfs = yfs + 1;
-            if (serviceSubtask.getSendstate() == 1L) blq = blq + 1;
+            if (serviceSubtask.getSendstate() == 1L) xj = xj + 1;
+            if (serviceSubtask.getSendstate() == 2L) dfs = dfs + 1;
+            if (serviceSubtask.getSendstate() == 6L) ywc = ywc + 1;
             if (serviceSubtask.getExcep().equals("1")) yc = yc + 1;
         }
         map.put("wzx", wzx);
@@ -266,8 +272,10 @@
         map.put("yc", yc);
         map.put("fssb", fssb);
         map.put("yfs", yfs);
-        map.put("blq", blq);
-
+        map.put("xj", xj);
+        map.put("dfs", dfs);
+        map.put("ywc", ywc);
+        map.put("yfs2", yfs + ywc);
         return map;
     }
 
@@ -391,7 +399,7 @@
                     serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
                     serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
                     serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
-                    if (serviceTaskVO.getLongTask() != null &&serviceTaskVO.getLongTask() == 1)
+                    if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
                         serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime());
                     serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                     integer = serviceSubtask.getId().intValue();
@@ -1775,6 +1783,80 @@
         return result2;
     }
 
+    /**
+     * 鑾峰彇闅忚缁熻姣斾緥
+     *
+     * @param serviceSubtaskCountReq
+     * @return
+     */
+    @Override
+    public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
+        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
+        Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(ServiceSubtask::getLeavehospitaldistrictname));
+        for (List<ServiceSubtask> serviceSubtaskList : collect.values()) {
+            if (CollectionUtils.isEmpty(serviceSubtaskList)) {
+                continue;
+            }
+            ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList);
+            if (ObjectUtils.isNotEmpty(statistic)) {
+                serviceSubtaskStatistics.add(statistic);
+            }
+        }
+        return serviceSubtaskStatistics;
+    }
+
+    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList) {
+        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
+        serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname());
+        serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+        serviceSubtaskStatistic.setServiceCount(serviceSubtaskList.size());
+        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+            //涓嶉殢璁挎暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                serviceSubtaskStatistic.setBzxCount(serviceSubtaskStatistic.getBzxCount() + 1L);
+            }
+            //搴旈殢璁挎暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+                serviceSubtaskStatistic.setYsfCount(serviceSubtaskStatistic.getYsfCount() + 1L);
+            }
+            //鍙戦�佸け璐ユ暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                serviceSubtaskStatistic.setFssbCount(serviceSubtaskStatistic.getFssbCount() + 1L);
+            }
+            //寰呭彂閫佹暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
+                serviceSubtaskStatistic.setDfsCount(serviceSubtaskStatistic.getDfsCount() + 1L);
+            }
+            //宸插彂閫佹暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 3) {
+                serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L);
+            }
+            //宸插畬鎴愭暟閲�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) {
+                //宸插彂閫侊紝鍖呭惈宸插畬鎴�
+                serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L);
+                serviceSubtaskStatistic.setYwcCount(serviceSubtaskStatistic.getYwcCount() + 1L);
+            }
+
+            if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && serviceSubtask.getExcep().equals("1")) {
+                //寮傚父鏍囪瘑
+                serviceSubtaskStatistic.setYczs(serviceSubtaskStatistic.getYczs() + 1L);
+
+            }
+
+        }
+        //闅忚瀹屾垚鐜�=宸插彂閫�/闅忚鏁�
+        if (serviceSubtaskStatistic.getYfsCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) {
+            serviceSubtaskStatistic.setSfwcl("0");
+        } else {
+            BigDecimal multiply = BigDecimal.valueOf(serviceSubtaskStatistic.getYfsCount()).divide(BigDecimal.valueOf(serviceSubtaskList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            serviceSubtaskStatistic.setSfwcl(multiply.toString());
+        }
+
+        return serviceSubtaskStatistic;
+    }
+
     private IvrTaskTemplateScriptVO getNextQuestion(List<IvrTaskTemplateScriptVO> IvrTaskTemplateScriptVOList, IvrTaskTemplateScriptVO IvrTaskTemplateScriptVO) {
 
         for (int j = 0; j < IvrTaskTemplateScriptVOList.size(); j++) {
@@ -1856,6 +1938,10 @@
         redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
         if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
         else serviceSubtask.setRemark("鐭俊琛ュ伩鍙戦�佹垚鍔�");
+        //璁板綍涓�涓嬭ˉ鍋挎柟寮�
+        if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) {
+            serviceSubtask.setPreachform(serviceSubtask.getPreachform() + ",1");
+        }
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
     }
 }
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 75c9356..f2f6aa2 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -637,6 +637,32 @@
         where patid = #{patid} and taskid = #{taskid}
     </update>
 
+    <select id="getSfStatistics" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
+            resultMap="ServiceSubtaskResult">
+        <include refid="selectServiceSubtaskVo"/>
+        <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="serviceType != null and serviceType.size() > 0">
+                AND service_type IN
+                <foreach collection="serviceType" item="serviceType" open="(" separator=","
+                         close=")">
+                    #{serviceType}
+                </foreach>
+            </if>
+            <if test="startTime != null and endTime!=null">
+                AND endtime > #{startTime}
+                AND endtime &lt;= #{endTime}
+            </if>
+        </where>
+    </select>
+
     <select id="getDataByTime" resultMap="ServiceSubtaskResult">
 
         select id,

--
Gitblit v1.9.3