From fcb98e4558897945a316d04555923355b8e60605 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 10:16:56 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |  204 +++++++++++++++++++++++++-------------------------
 1 files changed, 103 insertions(+), 101 deletions(-)

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 14acb1a..a0c8a9a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -6,6 +6,7 @@
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.dx.MessageSend;
 import com.ruoyi.common.exception.base.BaseException;
@@ -16,6 +17,7 @@
 import com.ruoyi.system.mapper.SysConfigMapper;
 import com.smartor.common.FtpService;
 import com.smartor.common.MtSubmitSmUtil;
+import com.smartor.common.ScheduleSubtaskBuilder;
 import com.smartor.config.PhoneUtils;
 import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
 import com.smartor.domain.*;
@@ -28,6 +30,7 @@
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.Cacheable;
@@ -119,7 +122,7 @@
     private IServiceTaskScheduleService serviceTaskScheduleService;
 
     @Autowired
-    private com.smartor.common.ScheduleSubtaskBuilder scheduleSubtaskBuilder;
+    private ScheduleSubtaskBuilder scheduleSubtaskBuilder;
 
     @Autowired
     private FtpService ftpService;
@@ -182,6 +185,8 @@
 
     @Autowired
     private IPatMedOuthospService patMedOuthospService;
+    @Autowired
+    private SysDept2Mapper sysDept2Mapper;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -408,6 +413,13 @@
                 serviceSubtaskRes.setSendstateView(1L);
             if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(2L);
             if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(3L);
+            // 濉厖褰撳墠琛ュ伩
+            if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
+                if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) {
+                    //榛樿鍙栫涓�涓�
+                    serviceSubtaskRes.setCurrentPreachform(serviceSubtask.getPreachform().split(",")[0]);
+                }
+            }
             serviceSubtaskResList.add(serviceSubtaskRes);
         }
         return serviceSubtaskResList;
@@ -683,7 +695,10 @@
                 serviceTask.setTemplatename(tempName);
             }
             serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
-            serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
+            if (StringUtils.isEmpty(serviceTask.getLeavehospitaldistrictname()) && StringUtils.isNotEmpty(serviceTask.getLeavehospitaldistrictcode())) {
+                SysDept sysDept = sysDept2Mapper.selectDeptByCode(serviceTask.getLeavehospitaldistrictcode(), null);
+                serviceTask.setLeavehospitaldistrictname(sysDept.getDeptName());
+            }
             if (serviceTaskVO.getLongTask() == 1) serviceTask.setSendState(2L);
             serviceTask.setCreateTime(new Date());
             serviceTask.setUpdateTime(new Date());
@@ -709,8 +724,8 @@
                     //鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
                     log.info("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
                     if (!StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
-                        String[] Icd10Names = serviceTaskVO.getIcd10name().split("$");
-                        String[] Icd10codes = serviceTaskVO.getIcd10code().split("$");
+                        String[] Icd10Names = serviceTaskVO.getIcd10name().split(",");
+                        String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
                         for (int i = 0; i < Icd10Names.length; i++) {
                             serviceTaskdiag.setIcd10code(Icd10codes[i]);
                             serviceTaskdiag.setIcd10name(Icd10Names[i]);
@@ -721,16 +736,27 @@
                     ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                     serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                     serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
-                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
+//                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                     serviceTaskoper.setTaskId(serviceTask.getTaskid());
                     serviceTaskoper.setTaskName(serviceTask.getTaskName());
                     serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                     serviceTaskoper.setGuid(serviceTask.getGuid());
                     serviceTaskoper.setOrgid(serviceTask.getOrgid());
                     serviceTaskoper.setCreateTime(new Date());
+                    //閰嶇疆绉戝銆佺梾鍖�
+                    serviceTaskoper.setDeptCode(serviceTaskVO.getDeptcode());
+                    serviceTaskoper.setDeptName(serviceTaskVO.getDeptname());
+                    serviceTaskoper.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+                    serviceTaskoper.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
+                    //澶氶�夋墜鏈瓑绾�
                     if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
-                        log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
-                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                        String[] opLevelcodes = serviceTaskVO.getOplevelcode().split(",");
+                        for (String opLevelcode : opLevelcodes) {
+                            //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+                            serviceTaskoper.setOplevelcode(opLevelcode);
+                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                        }
                     }
 
                 } else if (serviceTaskVO.getAppltype().equals("5")) {
@@ -747,10 +773,14 @@
                     scheduleVO.setOrgid(serviceTask.getOrgid());
                     scheduleVO.setCampusid(serviceTask.getCampusid());
                     scheduleVO.setCreateBy(serviceTask.getCreateBy());
+
+                    scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
+                    scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
+                    scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
+                    scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
+
                     log.info("----serviceTaskSchedule鐨勫�间负锛歿}", scheduleVO);
                     serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
-                    // 缁戝畾缁村害鍐欐潯浠惰〃锛堜緵 HIS 鑷姩绾冲叆鍖归厤锛宭ongtask 鎭�=1锛�
-                    bindDimensionCondition(serviceTask, serviceTaskVO);
                 } else {
                     ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
                     serviceTaskdept.setTaskId(serviceTask.getTaskid());
@@ -846,7 +876,7 @@
                         List<ServiceTaskScheduleDetail> detailList =
                                 serviceTaskScheduleService.selectDetailByScheduleid(schedule.getId());
                         scheduleSubtaskBuilder.buildSubtasksForPatient(
-                                serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
+                                serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
                         continue;
                     }
 
@@ -1076,11 +1106,12 @@
                     scheduleVO.setTaskid(serviceTask.getTaskid());
                     scheduleVO.setOrgid(serviceTask.getOrgid());
                     scheduleVO.setCampusid(serviceTask.getCampusid());
+                    scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
+                    scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
+                    scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
+                    scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
                     scheduleVO.setCreateBy(serviceTask.getUpdateBy());
                     serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
-                    // 鍏堟竻鏃х淮搴︽潯浠惰〃锛屽啀鎸夋渶鏂板叆鍙傞噸鍐欙紙闃茶繃鏈熺淮搴︽畫鐣欏鑷磋绾冲叆锛�
-                    clearDimensionCondition(serviceTask.getTaskid());
-                    bindDimensionCondition(serviceTask, serviceTaskVO);
                 }
             }
             if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
@@ -1145,7 +1176,7 @@
                             serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
                             serviceSubtask.setCreateBy(serviceTask.getUpdateBy());
                             scheduleSubtaskBuilder.buildSubtasksForPatient(
-                                    serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
+                                    serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
                             continue;
                         }
                         if (patTaskRelevance.getIsoperation() == 2) {
@@ -1199,86 +1230,6 @@
         Map<String, Integer> map = new HashMap<>();
         map.put("taskId", serviceTask.getTaskid().intValue());
         return map;
-    }
-
-    /**
-     * 浠诲姟缁勶紙appltype=5锛夌粦瀹氱淮搴﹀啓鏉′欢琛紝渚� HIS 鑷姩绾冲叆鍖归厤銆�
-     * longtask 鎭�=1锛堝惁鍒欑嫭绔嬫壂鎻�/涓绘壂鎻忔寜 longtask=1 鏌ヤ笉鍒帮級銆�
-     * 澶嶇敤鐜版湁 service_taskdept锛堢瀹eptType=1/鐥呭尯deptType=2锛夈�乻ervice_taskdiag锛堢柧鐥咃級銆�
-     * 鎵嬫湳缁村害鏈湡涓嶅啓锛堟殏涓嶆敮鎸佽嚜鍔ㄧ撼鍏ワ級銆�
-     */
-    private void bindDimensionCondition(ServiceTask serviceTask, ServiceTaskVO vo) {
-        // 绉戝
-        if (StringUtils.isNotEmpty(vo.getDeptcode())) {
-            for (String deptCode : vo.getDeptcode().split(",")) {
-                if (StringUtils.isEmpty(deptCode)) continue;
-                ServiceTaskdept d = new ServiceTaskdept();
-                d.setTaskId(serviceTask.getTaskid());
-                d.setTaskName(serviceTask.getTaskName());
-                d.setOrgid(serviceTask.getOrgid());
-                d.setLongtask(1L);
-                d.setDeptCode(deptCode);
-                d.setDeptType("1");
-                d.setServiceType(vo.getServiceType());
-                serviceTaskdeptService.insertServiceTaskdept(d);
-            }
-        }
-        // 鐥呭尯
-        if (StringUtils.isNotEmpty(vo.getLeavehospitaldistrictcode())) {
-            for (String wardCode : vo.getLeavehospitaldistrictcode().split(",")) {
-                if (StringUtils.isEmpty(wardCode)) continue;
-                ServiceTaskdept d = new ServiceTaskdept();
-                d.setTaskId(serviceTask.getTaskid());
-                d.setTaskName(serviceTask.getTaskName());
-                d.setOrgid(serviceTask.getOrgid());
-                d.setLongtask(1L);
-                d.setDeptCode(wardCode);
-                d.setDeptType("2");
-                d.setServiceType(vo.getServiceType());
-                serviceTaskdeptService.insertServiceTaskdept(d);
-            }
-        }
-        // 鐤剧梾锛堢敤 split(",")锛屽嬁鐓ф妱 appltype=3 鐜扮綉鐨� split("$") bug锛�
-        if (StringUtils.isNotEmpty(vo.getIcd10code())) {
-            String[] codes = vo.getIcd10code().split(",");
-            String[] names = StringUtils.isNotEmpty(vo.getIcd10name()) ? vo.getIcd10name().split(",") : new String[0];
-            for (int i = 0; i < codes.length; i++) {
-                if (StringUtils.isEmpty(codes[i])) continue;
-                ServiceTaskdiag dg = new ServiceTaskdiag();
-                dg.setTaskId(serviceTask.getTaskid());
-                dg.setTaskName(serviceTask.getTaskName());
-                dg.setOrgid(serviceTask.getOrgid());
-                dg.setLongtask(1L);
-                dg.setServiceType(vo.getServiceType());
-                dg.setIcd10code(codes[i]);
-                dg.setIcd10name(i < names.length ? names[i] : null);
-                dg.setGuid(serviceTask.getGuid());
-                dg.setCreateTime(new Date());
-                serviceTaskdiagService.insertServiceTaskdiag(dg);
-            }
-        }
-    }
-
-    /**
-     * 浠诲姟缁勪慨鏀规椂锛屽厛杞垹璇� task 鏃х殑缁村害鏉′欢琛ㄨ褰曪紙闃茶繃鏈熺淮搴︽畫鐣欏鑷磋绾冲叆锛夈��
-     */
-    private void clearDimensionCondition(Long taskId) {
-        ServiceTaskdept dq = new ServiceTaskdept();
-        dq.setTaskId(taskId);
-        List<ServiceTaskdept> depts = serviceTaskdeptService.selectServiceTaskdeptList(dq);
-        if (CollectionUtils.isNotEmpty(depts)) {
-            for (ServiceTaskdept d : depts) {
-                serviceTaskdeptService.deleteServiceTaskdeptById(d.getId());
-            }
-        }
-        ServiceTaskdiag gq = new ServiceTaskdiag();
-        gq.setTaskId(taskId);
-        List<ServiceTaskdiag> diags = serviceTaskdiagService.selectServiceTaskdiagList(gq);
-        if (CollectionUtils.isNotEmpty(diags)) {
-            for (ServiceTaskdiag g : diags) {
-                serviceTaskdiagService.deleteServiceTaskdiagById(g.getId());
-            }
-        }
     }
 
     @Override
@@ -2490,7 +2441,6 @@
             serviceSubtask.setRemark("鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�");
             serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid()));
             serviceSubtask.setSendstate(6L);
-            serviceSubtask.setFinishtime(new Date());
             serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
 //            int startIndex = phoneCallRecordVO.getRecord_path().indexOf("voice") + "voice".length() + 1;  // 鍔�1鏄烦杩�/绗﹀彿
 //            int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/");
@@ -2993,15 +2943,15 @@
                 //棣栨鍑洪櫌闅忚
                 if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
                     //棣栨搴旈殢璁�
-                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+                    if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L)) {
                         serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
                     }
-                    //棣栨寰呴殢璁�
-                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
-                        serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
+                    //棣栨鏃犻渶闅忚
+                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(4L)) {
+                        serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                     }
                     //棣栨闅忚澶辫触(鍖呮嫭闅忚澶辫触+浜哄伐瓒呮椂)
-                    if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
+                    if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(5L) || serviceSubtask.getSendstate().equals(7L))) {
                         serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                     }
                     /**
@@ -3011,6 +2961,10 @@
                         //棣栨闅忚鎴愬姛
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
+                        }
+                        //棣栨鏃犻渶闅忚
+                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
+                            serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                         }
                         //棣栨闅忚浜哄伐 (涓嶇粺璁′笉鎵ц)
                         if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
@@ -3033,6 +2987,10 @@
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                         }
+                        //棣栨鏃犻渶闅忚
+                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
+                            serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
+                        }
                         //棣栨闅忚浜哄伐 (鍙粺璁″凡瀹屾垚)
                         if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(6L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
                             serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
@@ -3053,6 +3011,10 @@
                         //棣栨闅忚鎴愬姛 - 缁熻鏃跺�欏姞涓婁笉鎵ц鐨勶紝宸插彂閫佺殑
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L) || serviceSubtask.getSendstate().equals(3L) || serviceSubtask.getSendstate().equals(4L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
+                        }
+                        //棣栨鏃犻渶闅忚
+                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
+                            serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                         }
                         //棣栨闅忚浜哄伐 (缁熻涓嶆墽琛�)
                         if (serviceSubtask.getSendstate() != null && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
@@ -3086,6 +3048,10 @@
                     //鍐嶆搴旈殢璁�
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                         serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
+                    }
+                    //鍐嶆鏃犻渶闅忚
+                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                        serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
                     }
                     //鍐嶆寰呴殢璁�
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3237,6 +3203,10 @@
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                     serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
                 }
+                //棣栨鏃犻渶闅忚
+                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
+                    serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
+                }
                 //棣栨寰呴殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
                     serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
@@ -3383,6 +3353,10 @@
                 //鍐嶆搴旈殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                     serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
+                }
+                //鍐嶆鏃犻渶闅忚
+                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                    serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
                 }
                 //鍐嶆寰呴殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3805,7 +3779,7 @@
         Map<String, String> map = new HashMap<>();
         map.put("phone", serviceSubtask.getPhone());
         map.put("content", sendMagParam.getContent());
-        String result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
+        HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
         redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
         if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
             serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
@@ -4641,6 +4615,29 @@
     }
 
     @Override
+    public List<ServiceSubtask> gethelibraryCountHyperlink(HeLibraryCountVO heLibraryCountVO){
+        String hyperLinkInfoType = heLibraryCountVO.getHyperLinkInfoType();
+        if(StringUtils.isNotEmpty(hyperLinkInfoType)){
+            heLibraryCountVO.setSendstate(null);
+            heLibraryCountVO.setIsFinished(null);
+            switch (hyperLinkInfoType) {
+                case "totalCountInfo":
+                    break;
+                case "sendSuccessCountInfo":
+                    heLibraryCountVO.setSendstate(6L);
+                    break;
+                case "readCountInfo":
+                    heLibraryCountVO.setIsFinished("1");
+                    break;
+                default:
+                    break;
+            }
+        }
+        List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.gethelibraryCountHyperlink(heLibraryCountVO);
+        return serviceSubtasks;
+    }
+
+    @Override
     public Map<String, Object> smsSubTask(Long subid) {
         log.info("smsSubTask鐨勫叆鍙備负锛歿}", subid);
         Map<String, Object> resultMap = new HashMap<>();
@@ -4695,6 +4692,11 @@
         return resultMap;
     }
 
+    @Override
+    public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime) {
+        return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime);
+    }
+
     private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
         Boolean result = true;
         //3.4 濡傛灉3.1鎴�3.2涓簍rue鐨勮瘽锛屾牴鎹畉ype鍒ゆ柇浠�涔堢被鍨�

--
Gitblit v1.9.3