From 4141aff4286fe78bff88f037b3935b2754e38ada Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 26 一月 2026 20:12:17 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java |   29 
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java        |    1 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                              |   16 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java       |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java                    |    1 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                        | 1326 ++++++++++++++++++++++++++++----------------------------
 6 files changed, 685 insertions(+), 692 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 8778df8..e8139a0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -334,6 +334,7 @@
 //                                sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "&param2=" + patid + "&param3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=false");
                         sendMagParam.setPhone(serviceSubtask.getPhone());
                         sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format);
+                        log.info("sendMagParam鐨勫�间负锛歿}", sendMagParam);
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
                             sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index af9e233..4bd18fc 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -71,6 +71,7 @@
         // 鐢ㄦ埛楠岃瘉
         Authentication authentication = null;
         try {
+            if (StringUtils.isEmpty(campusid)) campusid = "1";
             UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username + "&" + orgid + "&" + campusid, password);
             AuthenticationContextHolder.setContext(authenticationToken);
             // 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
index e22d207..5fc01ad 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
@@ -20,8 +20,7 @@
  * @author ruoyi
  */
 @Service
-public class UserDetailsServiceImpl implements UserDetailsService
-{
+public class UserDetailsServiceImpl implements UserDetailsService {
     private static final Logger log = LoggerFactory.getLogger(UserDetailsServiceImpl.class);
 
     @Autowired
@@ -34,27 +33,24 @@
     private SysPermissionService permissionService;
 
     @Override
-    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
-    {
+    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
         String[] split = username.split("&");
         SysUser user = userService.selectUserByUserName2(username);
-        if (StringUtils.isNull(user))
-        {
+        if (StringUtils.isNull(user)) {
             log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", username);
             throw new ServiceException("鐧诲綍鐢ㄦ埛锛�" + split[0] + " 涓嶅瓨鍦�,鎴栨満鏋勪笉姝g‘锛岃妫�鏌ュ悗閲嶆柊鐧婚檰");
-        }
-        else if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
-        {
+        } else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
             log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍒犻櫎.", username);
             throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + split[0] + " 宸茶鍒犻櫎");
-        }
-        else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
-        {
+        } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
             log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", username);
             throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + split[0] + " 宸插仠鐢�");
-        }else if(!user.getOrgid().trim().equals(split[1].trim())){
-            log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶆槸鏈櫌甯愬彿锛歿}", username,split[1]);
-            throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + split[0] + " 涓嶆槸鏈櫌鐨�");
+        } else if (StringUtils.isEmpty(user.getOrgid()) || StringUtils.isEmpty(split[1]) || !user.getOrgid().trim().equals(split[1].trim())) {
+            log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶆槸鏈尰闄㈠笎鍙凤細{}", username, split[1]);
+            throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + split[0] + " 涓嶆槸鏈尰闄㈢殑");
+        } else if (StringUtils.isEmpty(user.getCampusid()) || StringUtils.isEmpty(split[2]) || !user.getCampusid().trim().equals(split[2].trim())) {
+            log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶆槸鏈櫌鍖哄笎鍙凤細{}", username, split[1]);
+            throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + split[0] + " 涓嶆槸鏈櫌鍖哄笎鍙�");
         }
 
         passwordService.validate(user);
@@ -62,8 +58,7 @@
         return createLoginUser(user);
     }
 
-    public UserDetails createLoginUser(SysUser user)
-    {
+    public UserDetails createLoginUser(SysUser user) {
         return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
     }
 }
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 25cd045..0855f2b 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
@@ -337,7 +337,6 @@
                     serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
                     serviceSLTDInhospReqVO.setStartTailTime(nowTime);
                     List<String> listStr = new ArrayList<>();
-//                    list.add("FH0108.02");
                     listStr.add("FH0109.26");
                     serviceSLTDInhospReqVO.setStatusList(listStr);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
@@ -374,9 +373,6 @@
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
                 }
-//                SysConfig sysConfig = sysConfigs.get(0);
-//                sysConfig.setConfigValue(nowTime);
-//                configService.updateConfig(sysConfig);
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
@@ -597,7 +593,8 @@
                 redisCache.setCacheListLeftAndDistinct("cache-0", list);
                 log.info("銆恠fHandlle銆戠數璇濅换鍔″凡鍔犲叆闃熷垪锛屾暟閲忥細{}", list.size());
             }
-        } else if (descByCode.equals("寰俊灏忕▼搴�")) {
+        }
+        else if (descByCode.equals("寰俊灏忕▼搴�")) {
             //寰俊灏忕▼搴�
             if (ObjectUtils.isNotEmpty(ivrTask1) && ivrTask1.getPatCycle() == 1) {
                 //璇存槑璇ヤ换鍔$殑鎮h�呮槸寰幆鎵ц鐨�
@@ -624,7 +621,8 @@
                 //灏嗗綋鍓嶈鎵ц鐨勬偅鑰呮斁鍒拌繃婊ゆ偅鑰呴泦鍚堜腑
                 serviceSubtaskListFilter.add(serviceSubtask);
             }
-        } else if (descByCode.equals("鐭俊")) {
+        }
+        else if (descByCode.equals("鐭俊")) {
             RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
             String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
             log.info("銆恠fHandlle銆戝鐞嗙煭淇¢暱鏈熶换鍔★紝鎮h�匢D锛歿}", serviceSubtask.getPatid());
@@ -656,6 +654,9 @@
                         if (serviceSubtask.getType().equals("1"))
                             sendMagParam.setUrl(localIP + ":" + req_path + "/sf?p=" + format);
                         sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        if (active.equals("xh")) {
+                            sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        }
                     } else {
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
                         if (heLibrary.getHetype().equals("1")) {
@@ -754,7 +755,7 @@
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佹垚鍔�", "2");
                     } else {
                         serviceSubtask.setResult("error");
-                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," +"鐭俊鍙戦�佸け璐�" + now);
+                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佸け璐�" + now);
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�" + now, "5");
                     }
                 } catch (Exception e) {
@@ -1056,7 +1057,6 @@
             serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
             return true;
         }
-
 
         ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
         serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
index e2802c7..d0f4049 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java
@@ -136,9 +136,7 @@
                 }
             }
             log.info("-----------map鐨勫�间负锛歿}", msgInfo);
-//
-//            String url = configService.selectConfigByKey("token.360",orgid);
-//            Map<String, String> map = MsgLSEnum.getAddressByCode(orgid);
+
             String token = LSHospTokenUtil.getToken(orgid,msgInfo.get("tokenUrl"));
             log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫侊紝鍦板潃锛歿}锛屽弬鏁帮細{}锛屾満鏋処D锛歿}", msgInfo.get("address"), orgid);
             String dxCode = getDXCode(msgInfo.get("address"), phone, content, msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token);
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index b5588c7..a479da0 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -247,166 +247,166 @@
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
         where 1=1
-            and del_flag = 0
-            <if test="sendname != null  and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
-            <if test="phone != null  and phone != ''">and phone = #{phone}</if>
-            <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">and
-                leavehospitaldistrictcode = #{leavehospitaldistrictcode}
-            </if>
-            <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and
-                leavehospitaldistrictname = #{leavehospitaldistrictname}
-            </if>
-            <if test="leavediagname != null  and leavediagname != ''">and leavediagname like concat('%',
-                #{leavediagname}, '%')
-            </if>
-            <if test="managementDoctor != null  and managementDoctor != ''">and management_doctor like concat('%',
-                #{managementDoctor}, '%')
-            </if>
-            <if test="sex != null  and sex != ''">and sex = #{sex}</if>
-            <if test="age != null ">and age = #{age}</if>
-            <if test="patguid != null ">and patguid = #{patguid}</if>
-            <if test="subId != null ">and id = #{subId}</if>
-            <if test="inhospid != null ">and inhospid = #{inhospid}</if>
-            <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
-            <if test="submit != null ">and submit = #{submit}</if>
-            <if test="upid != null ">and upid = #{upid}</if>
-            <if test="patfrom != null ">and patfrom = #{patfrom}</if>
-            <if test="serviceType != null ">and service_type = #{serviceType}</if>
-            <if test="patid != null ">and patid = #{patid}</if>
-            <if test="sfzh != null  and sfzh != ''">and sfzh = #{sfzh}</if>
-            <if test="addr != null  and addr != ''">and addr = #{addr}</if>
-            <if test="senderdetail != null  and senderdetail != ''">and senderdetail = #{senderdetail}</if>
-            <if test="type != null  and type != ''">and type = #{type}</if>
-            <if test="taskid != null ">and taskid = #{taskid}</if>
-            <!-- taskIds绛涢�� -->
-            <if test="taskIds != null and taskIds.size() > 0">
-                AND taskid IN
-                <foreach collection="taskIds" item="itemTaskId" open="(" separator=","
-                         close=")">
-                    #{itemTaskId}
-                </foreach>
-            </if>
-            <if test="templateid != null  and templateid != ''">and templateid = #{templateid}</if>
-            <if test="templatename != null  and templatename != ''">and templatename like concat('%', #{templatename},
-                '%')
-            </if>
-            <if test="startOutHospTime != null">
-                AND date_format(endtime,'%y%m%d') &gt;= date_format(#{startOutHospTime},'%y%m%d')
-            </if>
-            <if test="endOutHospTime != null">
-                AND date_format(endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
-            </if>
-            <if test="startSendDateTime != null">
-                AND date_format(long_send_time,'%y%m%d') &gt;= date_format(#{startSendDateTime},'%y%m%d')
-            </if>
-            <if test="endSendDateTime != null">
-                AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{endSendDateTime},'%y%m%d')
-            </if>
+        and del_flag = 0
+        <if test="sendname != null  and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
+        <if test="phone != null  and phone != ''">and phone = #{phone}</if>
+        <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">and
+            leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+        </if>
+        <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and
+            leavehospitaldistrictname = #{leavehospitaldistrictname}
+        </if>
+        <if test="leavediagname != null  and leavediagname != ''">and leavediagname like concat('%',
+            #{leavediagname}, '%')
+        </if>
+        <if test="managementDoctor != null  and managementDoctor != ''">and management_doctor like concat('%',
+            #{managementDoctor}, '%')
+        </if>
+        <if test="sex != null  and sex != ''">and sex = #{sex}</if>
+        <if test="age != null ">and age = #{age}</if>
+        <if test="patguid != null ">and patguid = #{patguid}</if>
+        <if test="subId != null ">and id = #{subId}</if>
+        <if test="inhospid != null ">and inhospid = #{inhospid}</if>
+        <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
+        <if test="submit != null ">and submit = #{submit}</if>
+        <if test="upid != null ">and upid = #{upid}</if>
+        <if test="patfrom != null ">and patfrom = #{patfrom}</if>
+        <if test="serviceType != null ">and service_type = #{serviceType}</if>
+        <if test="patid != null ">and patid = #{patid}</if>
+        <if test="sfzh != null  and sfzh != ''">and sfzh = #{sfzh}</if>
+        <if test="addr != null  and addr != ''">and addr = #{addr}</if>
+        <if test="senderdetail != null  and senderdetail != ''">and senderdetail = #{senderdetail}</if>
+        <if test="type != null  and type != ''">and type = #{type}</if>
+        <if test="taskid != null ">and taskid = #{taskid}</if>
+        <!-- taskIds绛涢�� -->
+        <if test="taskIds != null and taskIds.size() > 0">
+            AND taskid IN
+            <foreach collection="taskIds" item="itemTaskId" open="(" separator=","
+                     close=")">
+                #{itemTaskId}
+            </foreach>
+        </if>
+        <if test="templateid != null  and templateid != ''">and templateid = #{templateid}</if>
+        <if test="templatename != null  and templatename != ''">and templatename like concat('%', #{templatename},
+            '%')
+        </if>
+        <if test="startOutHospTime != null">
+            AND date_format(endtime,'%y%m%d') &gt;= date_format(#{startOutHospTime},'%y%m%d')
+        </if>
+        <if test="endOutHospTime != null">
+            AND date_format(endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
+        </if>
+        <if test="startSendDateTime != null">
+            AND date_format(long_send_time,'%y%m%d') &gt;= date_format(#{startSendDateTime},'%y%m%d')
+        </if>
+        <if test="endSendDateTime != null">
+            AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{endSendDateTime},'%y%m%d')
+        </if>
 
-            <if test="longSendTime != null">
-                AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{longSendTime},'%y%m%d')
-            </if>
-            <if test="deptOrDistrict==1">
-                <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>
-            </if>
-            <if test="deptOrDistrict==2">
-                <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">
-                    OR deptcode IN
-                    <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
-                             close="))">
-                        #{leaveldeptcode}
-                    </foreach>
-                </if>
-            </if>
-
-            <if test="visitTime != null">
-                AND date_format(visit_time,'%y%m%d') = date_format(#{visitTime},'%y%m%d')
-            </if>
-            <if test="senddate != null ">and senddate = #{senddate}</if>
-            <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
-            <if test="result != null  and result != ''">and result = #{result}</if>
-            <if test="finishtime != null ">and finishtime = #{finishtime}</if>
-            <if test="recordid != null ">and recordid = #{recordid}</if>
-            <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
-            <if test="pulltime != null ">and pulltime = #{pulltime}</if>
-            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
-            <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
-            <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
-            <if test="isupload != null ">and isupload = #{isupload}</if>
-            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
-            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
-            <if test="pid != null ">and pid = #{pid}</if>
-            <if test="preachform != null ">and preachform = #{preachform}</if>
-            <if test="currentPreachform != null ">and current_preachform = #{currentPreachform}</if>
-            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
-            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
-            <if test="bedNo != null">and bed_no = #{bedNo}</if>
-            <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
-            <if test="operator != null  and operator != ''">and operator = #{operator}</if>
-            <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
-            <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
-            <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
-            <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
-            <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
-            <if test="openid != null ">and openid = #{openid}</if>
-            <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
-            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
-            <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
-            <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
-            <if test="drcode != null and drcode != ''">and (drcode = #{drcode}</if>
-            <if test="nurseId != null  and nurseId != ''">or nurse_id = #{nurseId})</if>
-            <if test="starttime != null ">and starttime = #{starttime}</if>
-            <if test="endtime != null ">and endtime = #{endtime}</if>
-            <if test="excep != null ">and excep = #{excep}</if>
-            <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
-            <if test="score != null">and score = #{score}</if>
-            <!--            <if test="visitCount != null">and visit_count = #{visitCount}</if>-->
-            <if test="visitCount != null and visitCount == 1">
-                AND visit_count = 1
-            </if>
-            <if test="visitCount != null and visitCount > 1">
-                AND visit_count > 1
-            </if>
-            <if test="remark != null">and remark = #{remark}</if>
-            <if test="suggest != null">and suggest = #{suggest}</if>
-            <if test="createBy != null">and create_by = #{createBy}</if>
-            <if test="taskGuid != null">and task_guid = #{taskGuid}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
-            <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if>
-            <!--            <if test="dateLimit != null and dateLimit = '1'"> and CURDATE() + 1 > long_send_time</if>-->
-            <!-- <if test="visitTime != null">and visit_time = #{visitTime}</if> -->
-            <!--<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>-->
-            <if test="visitCount != null and visitCount > 1 and visitDeptCodes != null and visitDeptCodes.size() > 0">
-                AND visit_dept_code IN
-                <foreach collection="visitDeptCodes" item="visitDeptCodes" open="("
+        <if test="longSendTime != null">
+            AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{longSendTime},'%y%m%d')
+        </if>
+        <if test="deptOrDistrict==1">
+            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                AND leavehospitaldistrictcode IN
+                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
                          separator=","
                          close=")">
-                    #{visitDeptCodes}
+                    #{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>
+        </if>
+        <if test="deptOrDistrict==2">
+            <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">
+                OR deptcode IN
+                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+                         close="))">
+                    #{leaveldeptcode}
+                </foreach>
+            </if>
+        </if>
+
+        <if test="visitTime != null">
+            AND date_format(visit_time,'%y%m%d') = date_format(#{visitTime},'%y%m%d')
+        </if>
+        <if test="senddate != null ">and senddate = #{senddate}</if>
+        <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
+        <if test="result != null  and result != ''">and result = #{result}</if>
+        <if test="finishtime != null ">and finishtime = #{finishtime}</if>
+        <if test="recordid != null ">and recordid = #{recordid}</if>
+        <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
+        <if test="pulltime != null ">and pulltime = #{pulltime}</if>
+        <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
+        <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
+        <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
+        <if test="isupload != null ">and isupload = #{isupload}</if>
+        <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
+        <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+        <if test="pid != null ">and pid = #{pid}</if>
+        <if test="preachform != null ">and preachform = #{preachform}</if>
+        <if test="currentPreachform != null ">and current_preachform = #{currentPreachform}</if>
+        <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+        <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
+        <if test="bedNo != null">and bed_no = #{bedNo}</if>
+        <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
+        <if test="operator != null  and operator != ''">and operator = #{operator}</if>
+        <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
+        <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
+        <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
+        <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
+        <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
+        <if test="openid != null ">and openid = #{openid}</if>
+        <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
+        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+        <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
+        <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
+        <if test="drcode != null and drcode != ''">and (drcode = #{drcode}</if>
+        <if test="nurseId != null  and nurseId != ''">or nurse_id = #{nurseId})</if>
+        <if test="starttime != null ">and starttime = #{starttime}</if>
+        <if test="endtime != null ">and endtime = #{endtime}</if>
+        <if test="excep != null ">and excep = #{excep}</if>
+        <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
+        <if test="score != null">and score = #{score}</if>
+        <!--            <if test="visitCount != null">and visit_count = #{visitCount}</if>-->
+        <if test="visitCount != null and visitCount == 1">
+            AND visit_count = 1
+        </if>
+        <if test="visitCount != null and visitCount > 1">
+            AND visit_count > 1
+        </if>
+        <if test="remark != null">and remark = #{remark}</if>
+        <if test="suggest != null">and suggest = #{suggest}</if>
+        <if test="createBy != null">and create_by = #{createBy}</if>
+        <if test="taskGuid != null">and task_guid = #{taskGuid}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if>
+        <!--            <if test="dateLimit != null and dateLimit = '1'"> and CURDATE() + 1 > long_send_time</if>-->
+        <!-- <if test="visitTime != null">and visit_time = #{visitTime}</if> -->
+        <!--<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>-->
+        <if test="visitCount != null and visitCount > 1 and visitDeptCodes != null and visitDeptCodes.size() > 0">
+            AND visit_dept_code IN
+            <foreach collection="visitDeptCodes" item="visitDeptCodes" open="("
+                     separator=","
+                     close=")">
+                #{visitDeptCodes}
+            </foreach>
+        </if>
         <if test="sort != null  and sort==0">order by endtime asc</if>
         <if test="sort != null  and sort==1">order by endtime desc</if>
         <if test="sort != null  and sort==2">order by long_send_time asc</if>
@@ -421,41 +421,39 @@
     <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
-        where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="visitTime != null">
-                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
-            </if>
-            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+        where del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="visitTime != null">
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
+        </if>
+        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
     </select>
 
     <select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.ServiceSubtaskVO"
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
-        where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
-                #{createEndTime}
-            </if>
-            <if test="createBy != null ">and create_by = #{createBy}</if>
-            <if test="sendname != null ">and sendname = #{sendname}</if>
-            <if test="sfzh != null ">and sfzh = #{sfzh}</if>
-            <if test="patguid != null ">and patguid = #{patguid}</if>
-            <if test="upid != null ">and upid = #{upid}</if>
-            <if test="visitCount != null ">and visit_count = #{visitCount}</if>
-            <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</if>
-            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
-            <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
-            <if test="managementDoctor != null">and management_doctor = #{managementDoctor}</if>
-            <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        where del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
+            #{createEndTime}
+        </if>
+        <if test="createBy != null ">and create_by = #{createBy}</if>
+        <if test="sendname != null ">and sendname = #{sendname}</if>
+        <if test="sfzh != null ">and sfzh = #{sfzh}</if>
+        <if test="patguid != null ">and patguid = #{patguid}</if>
+        <if test="upid != null ">and upid = #{upid}</if>
+        <if test="visitCount != null ">and visit_count = #{visitCount}</if>
+        <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</if>
+        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+        <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
+        <if test="managementDoctor != null">and management_doctor = #{managementDoctor}</if>
+        <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
 
     </select>
 
@@ -464,55 +462,55 @@
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
         where 1=1
-            and del_flag = 0
-            and upid is not null
-            and visit_count > 1
-            <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
-                #{createEndTime}
-            </if>
-            <if test="senddate != null ">and senddate = #{senddate}</if>
-            <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
-            <if test="result != null  and result != ''">and result = #{result}</if>
-            <if test="finishtime != null ">and finishtime = #{finishtime}</if>
-            <if test="recordid != null ">and recordid = #{recordid}</if>
-            <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
-            <if test="pulltime != null ">and pulltime = #{pulltime}</if>
-            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
-            <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
-            <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
-            <if test="isupload != null ">and isupload = #{isupload}</if>
-            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
-            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
-            <if test="pid != null ">and pid = #{pid}</if>
-            <if test="preachform != null ">and preachform = #{preachform}</if>
-            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
-            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
-            <if test="bedNo != null">and bed_no = #{bedNo}</if>
-            <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
-            <if test="operator != null  and operator != ''">and operator = #{operator}</if>
-            <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
-            <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
-            <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
-            <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
-            <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
-            <if test="openid != null ">and openid = #{openid}</if>
-            <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
-            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
-            <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
-            <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
-            <if test="drcode != null and drcode != ''">and (drcode = #{drcode}</if>
-            <if test="nurseId != null  and nurseId != ''">or nurse_id = #{nurseId})</if>
-            <if test="starttime != null ">and starttime = #{starttime}</if>
-            <if test="endtime != null ">and endtime = #{endtime}</if>
-            <if test="excep != null ">and excep = #{excep}</if>
-            <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
-            <if test="visitTime != null ">and visit_time = #{visitTime}</if>
-            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
-            <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
-            <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
-            <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
+        and del_flag = 0
+        and upid is not null
+        and visit_count > 1
+        <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
+            #{createEndTime}
+        </if>
+        <if test="senddate != null ">and senddate = #{senddate}</if>
+        <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
+        <if test="result != null  and result != ''">and result = #{result}</if>
+        <if test="finishtime != null ">and finishtime = #{finishtime}</if>
+        <if test="recordid != null ">and recordid = #{recordid}</if>
+        <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
+        <if test="pulltime != null ">and pulltime = #{pulltime}</if>
+        <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
+        <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
+        <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
+        <if test="isupload != null ">and isupload = #{isupload}</if>
+        <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
+        <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+        <if test="pid != null ">and pid = #{pid}</if>
+        <if test="preachform != null ">and preachform = #{preachform}</if>
+        <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+        <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
+        <if test="bedNo != null">and bed_no = #{bedNo}</if>
+        <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
+        <if test="operator != null  and operator != ''">and operator = #{operator}</if>
+        <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
+        <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
+        <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
+        <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
+        <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
+        <if test="openid != null ">and openid = #{openid}</if>
+        <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
+        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+        <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
+        <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
+        <if test="drcode != null and drcode != ''">and (drcode = #{drcode}</if>
+        <if test="nurseId != null  and nurseId != ''">or nurse_id = #{nurseId})</if>
+        <if test="starttime != null ">and starttime = #{starttime}</if>
+        <if test="endtime != null ">and endtime = #{endtime}</if>
+        <if test="excep != null ">and excep = #{excep}</if>
+        <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
+        <if test="visitTime != null ">and visit_time = #{visitTime}</if>
+        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+        <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
+        <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
 
     </select>
 
@@ -521,15 +519,15 @@
         from service_task a
         JOIN service_subtask b on a.taskid = b.taskid and a.pat_cycle = 0 and b.del_flag = 0
         where 1=1
-            and b.taskid = #{taskid}
-            and b.patid = #{patid}
-            <if test="createTime != null and createTime != ''">
-                DATE_FORMAT(b.create_time, '%Y-%m-%d') LIKE CONCAT(#{createTimeNew}, '%')
-            </if>
-            <if test="sendstate != null ">and b.sendstate = #{sendstate}</if>
-            <if test="orgid != null and orgid != ''">
-                and b.orgid = #{orgid}
-            </if>
+        and b.taskid = #{taskid}
+        and b.patid = #{patid}
+        <if test="createTime != null and createTime != ''">
+            DATE_FORMAT(b.create_time, '%Y-%m-%d') LIKE CONCAT(#{createTimeNew}, '%')
+        </if>
+        <if test="sendstate != null ">and b.sendstate = #{sendstate}</if>
+        <if test="orgid != null and orgid != ''">
+            and b.orgid = #{orgid}
+        </if>
     </select>
 
     <select id="selectTimelyRate" parameterType="com.smartor.domain.ServiceSubtask" resultType="double">
@@ -604,32 +602,32 @@
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
         where 1=1
-            and id in (
-            SELECT id FROM
-            (SELECT id, visit_time, finishtime,
-            (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) &lt; DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(),
-            finishtime
-            ), '%y%m%d' ) )
-            THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask
-            WHERE del_flag=0
-            -- AND visit_time &lt; NOW()
-            <if test="starttime != null and endtime!=null">
-                AND date_format(visit_time,'%y%m%d') >= date_format(#{starttime},'%y%m%d')
-                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endtime},'%y%m%d')
-            </if>
-            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
-            <if test="isabnormal != null ">and isabnormal = #{isabnormal}</if>
-            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
-            <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
-            <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">and
-                leavehospitaldistrictcode = #{leavehospitaldistrictcode}
-            </if>
-            <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and
-                leavehospitaldistrictname = #{leavehospitaldistrictname}
-            </if>
-            <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
-            <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
-            ) a where a.finished =1)
+        and id in (
+        SELECT id FROM
+        (SELECT id, visit_time, finishtime,
+        (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) &lt; DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(),
+        finishtime
+        ), '%y%m%d' ) )
+        THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask
+        WHERE del_flag=0
+        -- AND visit_time &lt; NOW()
+        <if test="starttime != null and endtime!=null">
+            AND date_format(visit_time,'%y%m%d') >= date_format(#{starttime},'%y%m%d')
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endtime},'%y%m%d')
+        </if>
+        <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+        <if test="isabnormal != null ">and isabnormal = #{isabnormal}</if>
+        <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
+        <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
+        <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">and
+            leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+        </if>
+        <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and
+            leavehospitaldistrictname = #{leavehospitaldistrictname}
+        </if>
+        <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
+        <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
+        ) a where a.finished =1)
     </select>
 
     <select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult">
@@ -1010,11 +1008,11 @@
             <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
         </trim>
         where 1=1
-            <if test="patid != null ">and patid = #{patid}</if>
-            <if test="taskid != null ">and taskid = #{taskid}</if>
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
+        <if test="patid != null ">and patid = #{patid}</if>
+        <if test="taskid != null ">and taskid = #{taskid}</if>
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
     </update>
 
     <update id="updateServiceSubtaskByCondition" parameterType="com.smartor.domain.ServiceSubtask">
@@ -1220,41 +1218,41 @@
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
         where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </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="serviceType != null and serviceType.size() > 0">
-                AND service_type IN
-                <foreach collection="serviceType" item="serviceType" open="(" separator=","
-                         close=")">
-                    #{serviceType}
-                </foreach>
-            </if>
+        and del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+            AND leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </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="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 visit_time >= DATE(#{startTime})
             AND visit_time &lt; DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
         </if>
         <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
-            <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
-            <if test="type != null">
-                and type = #{type}
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+        <if test="type != null">
+            and type = #{type}
         </if>
         <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0">
             AND ${groupKey} IN
@@ -1266,54 +1264,54 @@
     </select>
     <select id="getSfStatisticsGroupKey" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
             resultType="String">
-            select
-            <if test="groupKey != null and groupKey != ''">
-                ${groupKey} as groupKey
-            </if>
-            from service_subtask
-            where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
+        select
+        <if test="groupKey != null and groupKey != ''">
+            ${groupKey} as groupKey
+        </if>
+        from service_subtask
+        where 1=1
+        and del_flag = 0
+        <if test="orgid != null and orgid != ''">
             and orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
             AND leavehospitaldistrictcode IN
             <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                      close=")">
                 #{leavehospitaldistrictcode}
             </foreach>
-            </if>
-            <if test="deptcodes != null and deptcodes.size() > 0">
+        </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="serviceType != null and serviceType.size() > 0">
+        </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">
+        </if>
+        <if test="startTime != null and endTime!=null">
             AND visit_time >= DATE(#{startTime})
             AND visit_time &lt; DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
-            </if>
-            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
-            <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
-            <if test="type != null">
+        </if>
+        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+        <if test="type != null">
             and type = #{type}
-            </if>
-            <if test="groupKey != null and groupKey != ''">
-                group by ${groupKey}
-            </if>
-            <if test="pageSize != null  and pageNum != null">
-                limit ${pageSize} OFFSET ${pageNum}
-            </if>
+        </if>
+        <if test="groupKey != null and groupKey != ''">
+            group by ${groupKey}
+        </if>
+        <if test="pageSize != null  and pageNum != null">
+            limit ${pageSize} OFFSET ${pageNum}
+        </if>
     </select>
 
     <select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
@@ -1324,38 +1322,38 @@
         FROM service_subtask_detail a
         WHERE sub_id IN(SELECT id FROM service_subtask t
         where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
-                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
-            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
-            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
-            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+        and del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+            AND leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
+        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
         )
         AND targetid IN ( SELECT id FROM ivr_liba_target WHERE assortid IN (SELECT config_value FROM sys_config WHERE
         config_key='joyCount'))
@@ -1368,68 +1366,68 @@
         SELECT targetname joyName,
         (select COUNT(sub_id) FROM service_subtask_detail WHERE sub_id IN(SELECT id FROM service_subtask t
         where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
-                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
+        and del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+            AND leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
         ) AND targetid=a.id) joyCount , (SELECT COUNT(*) from (select sub_id FROM service_subtask_detail
         WHERE sub_id IN(SELECT id FROM service_subtask t
         where 1=1
-            and del_flag = 0
-            <if test="orgid != null and orgid != ''">
-                and orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">AND
-                leavehospitaldistrictcode IN
-                <foreach
-                        collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                        close=")">
-                    #{leavehospitaldistrictcode}
-                </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
-                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
+        and del_flag = 0
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">AND
+            leavehospitaldistrictcode IN
+            <foreach
+                    collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                    close=")">
+                #{leavehospitaldistrictcode}
+            </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="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 date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
         GROUP BY sub_id ) ) ta ) joyAllCount
         FROM ivr_liba_target a
         WHERE assortid IN (SELECT config_value FROM sys_config WHERE config_key=
@@ -1446,64 +1444,64 @@
         </if>
         <if test="configValue != null and configValue != ''">
             SUM(CASE WHEN a.categoryid IN(${configValue})
-                AND IFNULL(a.matchedtext,a.asrtext) is not null
-                AND IFNULL(a.matchedtext,a.asrtext) != ''
+            AND IFNULL(a.matchedtext,a.asrtext) is not null
+            AND IFNULL(a.matchedtext,a.asrtext) != ''
             THEN 1 ELSE 0 END) AS joyCount,
         </if>
         a.sub_id as subTaskId
         FROM service_subtask_detail a
         INNER JOIN service_subtask t ON a.sub_id = t.id
         where 1=1
-            and a.del_flag=0
-            AND t.del_flag=0
-            <if test="orgid != null and orgid != ''">
-                and t.orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND t.leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </foreach>
-            </if>
-            <if test="deptcodes != null and deptcodes.size() > 0">
-                AND t.deptcode IN
-                <foreach collection="deptcodes" item="deptcode" open="(" separator=","
-                         close=")">
-                    #{deptcode}
-                </foreach>
-            </if>
-            <if test="subTaskIds != null and subTaskIds.size() > 0">
-                AND t.id IN
-                <foreach collection="subTaskIds" item="subTaskId" open="(" separator=","
-                         close=")">
-                    #{subTaskId}
-                </foreach>
-            </if>
-            <if test="serviceType != null and serviceType.size() > 0">
-                AND t.service_type IN
-                <foreach collection="serviceType" item="serviceType" open="(" separator=","
-                         close=")">
-                    #{serviceType}
-                </foreach>
-            </if>
-            <if test="startTime != null and endTime!=null">
-                AND date_format(t.visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
-                AND date_format(t.visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
-            <if test="visitDeptCode != null">
-                and t.visit_dept_code = #{visitDeptCode}
-            </if>
-            <if test="visitDeptName != null">
-                and t.visit_dept_name = #{visitDeptName}
-            </if>
-            <if test="isabnormal != null">
-                and t.isabnormal = #{isabnormal}
-            </if>
-            <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
-            <if test="type != null">
-                and t.type = #{type}
-            </if>
+        and a.del_flag=0
+        AND t.del_flag=0
+        <if test="orgid != null and orgid != ''">
+            and t.orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+            AND t.leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </foreach>
+        </if>
+        <if test="deptcodes != null and deptcodes.size() > 0">
+            AND t.deptcode IN
+            <foreach collection="deptcodes" item="deptcode" open="(" separator=","
+                     close=")">
+                #{deptcode}
+            </foreach>
+        </if>
+        <if test="subTaskIds != null and subTaskIds.size() > 0">
+            AND t.id IN
+            <foreach collection="subTaskIds" item="subTaskId" open="(" separator=","
+                     close=")">
+                #{subTaskId}
+            </foreach>
+        </if>
+        <if test="serviceType != null and serviceType.size() > 0">
+            AND t.service_type IN
+            <foreach collection="serviceType" item="serviceType" open="(" separator=","
+                     close=")">
+                #{serviceType}
+            </foreach>
+        </if>
+        <if test="startTime != null and endTime!=null">
+            AND date_format(t.visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+            AND date_format(t.visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
+        <if test="visitDeptCode != null">
+            and t.visit_dept_code = #{visitDeptCode}
+        </if>
+        <if test="visitDeptName != null">
+            and t.visit_dept_name = #{visitDeptName}
+        </if>
+        <if test="isabnormal != null">
+            and t.isabnormal = #{isabnormal}
+        </if>
+        <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+        <if test="type != null">
+            and t.type = #{type}
+        </if>
         GROUP BY a.sub_id
     </select>
 
@@ -1595,42 +1593,42 @@
         service_subtask_detail ssd
         INNER JOIN service_subtask ss ON ssd.sub_id = ss.id
         where 1=1
-            and ss.del_flag=0
-            <if test="orgid != null and orgid != ''">
-                and ss.orgid = #{orgid}
-            </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND ss.leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </foreach>
-            </if>
-            <if test="deptcodes != null and deptcodes.size() > 0">
-                AND ss.deptcode IN
-                <foreach collection="deptcodes" item="deptcode" open="(" separator=","
-                         close=")">
-                    #{deptcode}
-                </foreach>
-            </if>
-            <if test="serviceType != null and serviceType.size() > 0">
-                AND ss.service_type IN
-                <foreach collection="serviceType" item="serviceType" open="(" separator=","
-                         close=")">
-                    #{serviceType}
-                </foreach>
-            </if>
-            <if test="startTime != null and endTime!=null">
-                AND date_format(ss.visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
-                AND date_format(ss.visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
-            </if>
-            <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
-            <if test="type != null">
-                and ss.type = #{type}
-            </if>
-            <if test="configValue != null and configValue != ''">
-                AND ssd.categoryid IN (${configValue})
-            </if>
+        and ss.del_flag=0
+        <if test="orgid != null and orgid != ''">
+            and ss.orgid = #{orgid}
+        </if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+            AND ss.leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </foreach>
+        </if>
+        <if test="deptcodes != null and deptcodes.size() > 0">
+            AND ss.deptcode IN
+            <foreach collection="deptcodes" item="deptcode" open="(" separator=","
+                     close=")">
+                #{deptcode}
+            </foreach>
+        </if>
+        <if test="serviceType != null and serviceType.size() > 0">
+            AND ss.service_type IN
+            <foreach collection="serviceType" item="serviceType" open="(" separator=","
+                     close=")">
+                #{serviceType}
+            </foreach>
+        </if>
+        <if test="startTime != null and endTime!=null">
+            AND date_format(ss.visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+            AND date_format(ss.visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
+        <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+        <if test="type != null">
+            and ss.type = #{type}
+        </if>
+        <if test="configValue != null and configValue != ''">
+            AND ssd.categoryid IN (${configValue})
+        </if>
         group by ssd.scriptid, IFNULL(ssd.matchedtext,ssd.asrtext)
     </select>
 
@@ -1988,164 +1986,164 @@
         SUM(CASE WHEN excep IS NOT NULL AND excep != '0' THEN 1 ELSE 0 END) AS yc
         FROM service_subtask
         where 1=1
-            and del_flag = 0
-            <if test="sendname != null and sendname != ''">
-                AND sendname LIKE CONCAT('%', #{sendname}, '%')
-            </if>
-            <if test="phone != null and phone != ''">
-                AND phone = #{phone}
-            </if>
-            <if test="deptOrDistrict==1">
-                <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>
-            </if>
-            <if test="deptOrDistrict==2">
-                <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">
-                    OR deptcode IN
-                    <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
-                             close="))">
-                        #{leaveldeptcode}
-                    </foreach>
-                </if>
-            </if>
-            <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">
-                AND leavehospitaldistrictname = #{leavehospitaldistrictname}
-            </if>
-            <if test="leavediagname != null and leavediagname != ''">
-                AND leavediagname LIKE CONCAT('%', #{leavediagname}, '%')
-            </if>
-            <if test="managementDoctor != null and managementDoctor != ''">
-                AND management_doctor LIKE CONCAT('%', #{managementDoctor}, '%')
-            </if>
-            <if test="sex != null and sex != ''">
-                AND sex = #{sex}
-            </if>
-            <if test="age != null">
-                AND age = #{age}
-            </if>
-            <if test="patguid != null">
-                AND patguid = #{patguid}
-            </if>
-            <if test="subId != null">
-                AND id = #{subId}
-            </if>
-            <if test="inhospid != null">
-                AND inhospid = #{inhospid}
-            </if>
-            <if test="managementDoctorCode != null">
-                AND management_doctor_code = #{managementDoctorCode}
-            </if>
-            <if test="submit != null">
-                AND submit = #{submit}
-            </if>
-            <if test="upid != null">
-                AND upid = #{upid}
-            </if>
-            <if test="patfrom != null">
-                AND patfrom = #{patfrom}
-            </if>
-            <if test="serviceType != null">
-                AND service_type = #{serviceType}
-            </if>
-            <if test="patid != null">
-                AND patid = #{patid}
-            </if>
-            <if test="sfzh != null and sfzh != ''">
-                AND sfzh = #{sfzh}
-            </if>
-            <if test="addr != null and addr != ''">
-                AND addr = #{addr}
-            </if>
-            <if test="senderdetail != null and senderdetail != ''">
-                AND senderdetail = #{senderdetail}
-            </if>
-            <if test="type != null and type != ''">
-                AND type = #{type}
-            </if>
-            <if test="taskid != null">
-                AND taskid = #{taskid}
-            </if>
-            <if test="templateid != null and templateid != ''">
-                AND templateid = #{templateid}
-            </if>
-            <if test="templatename != null and templatename != ''">
-                AND templatename LIKE CONCAT('%', #{templatename}, '%')
-            </if>
-            <if test="startOutHospTime != null">
-                AND DATE_FORMAT(endtime,'%y%m%d') &gt;= DATE_FORMAT(#{startOutHospTime},'%y%m%d')
-            </if>
-            <if test="endOutHospTime != null">
-                AND DATE_FORMAT(endtime,'%y%m%d') &lt;= DATE_FORMAT(#{endOutHospTime},'%y%m%d')
-            </if>
-            <if test="startSendDateTime != null">
-                AND DATE_FORMAT(long_send_time,'%y%m%d') &gt;= DATE_FORMAT(#{startSendDateTime},'%y%m%d')
-            </if>
-            <if test="endSendDateTime != null">
-                AND DATE_FORMAT(long_send_time,'%y%m%d') &lt;= DATE_FORMAT(#{endSendDateTime},'%y%m%d')
-            </if>
-            <if test="longSendTime != null">
-                AND DATE_FORMAT(long_send_time,'%y%m%d') &lt;= DATE_FORMAT(#{longSendTime},'%y%m%d')
-            </if>
-            <if test="deptOrDistrict == 1">
-                <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>
-            </if>
-            <if test="deptcode != null and deptcode != ''">
-                AND deptcode = #{deptcode}
-            </if>
-            <if test="sendstate != null">
-                AND sendstate = #{sendstate}
-            </if>
-            <if test="sendstates != null and sendstates.size() > 0">
-                AND sendstate IN
-                <foreach collection="sendstates" item="state" open="(" separator="," close=")">
-                    #{state}
+        and del_flag = 0
+        <if test="sendname != null and sendname != ''">
+            AND sendname LIKE CONCAT('%', #{sendname}, '%')
+        </if>
+        <if test="phone != null and phone != ''">
+            AND phone = #{phone}
+        </if>
+        <if test="deptOrDistrict==1">
+            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                AND leavehospitaldistrictcode IN
+                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
+                         separator=","
+                         close=")">
+                    #{leavehospitaldistrictcode}
                 </foreach>
             </if>
-            <if test="orgid != null and orgid != ''">
-                AND orgid = #{orgid}
+            <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
+                AND deptcode IN
+                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+                         close=")">
+                    #{leaveldeptcode}
+                </foreach>
             </if>
-            <if test="guid != null and guid != ''">
-                AND guid = #{guid}
+        </if>
+        <if test="deptOrDistrict==2">
+            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                AND (leavehospitaldistrictcode IN
+                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
+                         separator=","
+                         close=")">
+                    #{leavehospitaldistrictcode}
+                </foreach>
             </if>
-            <if test="visitCount != null and visitCount == 1">
-                AND visit_count = 1
+            <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
+                OR deptcode IN
+                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+                         close="))">
+                    #{leaveldeptcode}
+                </foreach>
             </if>
-            <if test="visitCount != null and visitCount > 1">
-                AND visit_count > 1
+        </if>
+        <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">
+            AND leavehospitaldistrictname = #{leavehospitaldistrictname}
+        </if>
+        <if test="leavediagname != null and leavediagname != ''">
+            AND leavediagname LIKE CONCAT('%', #{leavediagname}, '%')
+        </if>
+        <if test="managementDoctor != null and managementDoctor != ''">
+            AND management_doctor LIKE CONCAT('%', #{managementDoctor}, '%')
+        </if>
+        <if test="sex != null and sex != ''">
+            AND sex = #{sex}
+        </if>
+        <if test="age != null">
+            AND age = #{age}
+        </if>
+        <if test="patguid != null">
+            AND patguid = #{patguid}
+        </if>
+        <if test="subId != null">
+            AND id = #{subId}
+        </if>
+        <if test="inhospid != null">
+            AND inhospid = #{inhospid}
+        </if>
+        <if test="managementDoctorCode != null">
+            AND management_doctor_code = #{managementDoctorCode}
+        </if>
+        <if test="submit != null">
+            AND submit = #{submit}
+        </if>
+        <if test="upid != null">
+            AND upid = #{upid}
+        </if>
+        <if test="patfrom != null">
+            AND patfrom = #{patfrom}
+        </if>
+        <if test="serviceType != null">
+            AND service_type = #{serviceType}
+        </if>
+        <if test="patid != null">
+            AND patid = #{patid}
+        </if>
+        <if test="sfzh != null and sfzh != ''">
+            AND sfzh = #{sfzh}
+        </if>
+        <if test="addr != null and addr != ''">
+            AND addr = #{addr}
+        </if>
+        <if test="senderdetail != null and senderdetail != ''">
+            AND senderdetail = #{senderdetail}
+        </if>
+        <if test="type != null and type != ''">
+            AND type = #{type}
+        </if>
+        <if test="taskid != null">
+            AND taskid = #{taskid}
+        </if>
+        <if test="templateid != null and templateid != ''">
+            AND templateid = #{templateid}
+        </if>
+        <if test="templatename != null and templatename != ''">
+            AND templatename LIKE CONCAT('%', #{templatename}, '%')
+        </if>
+        <if test="startOutHospTime != null">
+            AND DATE_FORMAT(endtime,'%y%m%d') &gt;= DATE_FORMAT(#{startOutHospTime},'%y%m%d')
+        </if>
+        <if test="endOutHospTime != null">
+            AND DATE_FORMAT(endtime,'%y%m%d') &lt;= DATE_FORMAT(#{endOutHospTime},'%y%m%d')
+        </if>
+        <if test="startSendDateTime != null">
+            AND DATE_FORMAT(long_send_time,'%y%m%d') &gt;= DATE_FORMAT(#{startSendDateTime},'%y%m%d')
+        </if>
+        <if test="endSendDateTime != null">
+            AND DATE_FORMAT(long_send_time,'%y%m%d') &lt;= DATE_FORMAT(#{endSendDateTime},'%y%m%d')
+        </if>
+        <if test="longSendTime != null">
+            AND DATE_FORMAT(long_send_time,'%y%m%d') &lt;= DATE_FORMAT(#{longSendTime},'%y%m%d')
+        </if>
+        <if test="deptOrDistrict == 1">
+            <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>
+        </if>
+        <if test="deptcode != null and deptcode != ''">
+            AND deptcode = #{deptcode}
+        </if>
+        <if test="sendstate != null">
+            AND sendstate = #{sendstate}
+        </if>
+        <if test="sendstates != null and sendstates.size() > 0">
+            AND sendstate IN
+            <foreach collection="sendstates" item="state" open="(" separator="," close=")">
+                #{state}
+            </foreach>
+        </if>
+        <if test="orgid != null and orgid != ''">
+            AND orgid = #{orgid}
+        </if>
+        <if test="guid != null and guid != ''">
+            AND guid = #{guid}
+        </if>
+        <if test="visitCount != null and visitCount == 1">
+            AND visit_count = 1
+        </if>
+        <if test="visitCount != null and visitCount > 1">
+            AND visit_count > 1
+        </if>
     </select>
 
 </mapper>

--
Gitblit v1.9.3