From 75dd91a2aa8682d458fd3dc6df6a52feb43a0c89 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 03 四月 2026 14:17:28 +0800
Subject: [PATCH] 【丽水】随访统计 首次再次分开

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |  280 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 212 insertions(+), 68 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 44461fa..bbbda9e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -104,10 +104,16 @@
     private IServiceOutPathService iServiceOutPathService;
 
     @Autowired
+    private IPatMedOuthospService iPatMedOuthospService;
+
+    @Autowired
     private FtpService ftpService;
 
     @Autowired
     private PatMedInhospMapper patMedInhospMapper;
+
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
 
     @Autowired
     private PatArchiveMapper patArchiveMapper;
@@ -199,6 +205,15 @@
             try {
                 List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
                 serviceTaskVO.setPreachformList(mapList);
+                if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
+                    ServiceTaskoper operVo = new ServiceTaskoper();
+                    operVo.setTaskId(serviceTask.getTaskid());
+                    operVo.setOrgid(serviceTask.getOrgid());
+                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
+                    if(ObjectUtils.isNotEmpty(serviceTaskopers)){
+                        serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
+                    }
+                }
 //
 //                String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
 //                serviceTaskVO.setPreachform(result);
@@ -216,6 +231,15 @@
         serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon());
         serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight());
         serviceTaskVO.setPreachform(serviceTask.getPreachform());
+        if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
+            ServiceTaskoper operVo = new ServiceTaskoper();
+            operVo.setTaskId(serviceTask.getTaskid());
+            operVo.setOrgid(serviceTask.getOrgid());
+            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
+            if(ObjectUtils.isNotEmpty(serviceTaskopers)){
+                serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
+            }
+        }
         String sendTimeSlot = serviceTask.getSendTimeSlot();
         ObjectMapper objectMapper = new ObjectMapper();
         try {
@@ -303,7 +327,6 @@
 //            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
 //            serviceTaskVO.setPreachform(result);
         }
-
         serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
         return serviceTaskVO;
     }
@@ -315,7 +338,10 @@
         List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>();
         for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
             ServiceSubtaskRes serviceSubtaskRes = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskRes.class);
-            serviceSubtaskRes.setContinueContent(JSONObject.parseObject(serviceSubtask.getContinueContent()));
+            if (ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())) {
+                serviceSubtaskRes.setContinueContent(serviceSubtask.getContinueContent());
+            }
+            serviceSubtaskResList.add(serviceSubtaskRes);
         }
         return serviceSubtaskResList;
     }
@@ -590,19 +616,22 @@
                     ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                     serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                     serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+                    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());
-                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
-                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
-                        for (String opcode : opcodes) {
-                            serviceTaskoper.setOpcode(opcode);
-                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
-                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
-                        }
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
+//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
+//                        for (String opcode : opcodes) {
+//                            serviceTaskoper.setOpcode(opcode);
+//                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+//                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+//                        }
+                        log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                     }
 
                 } else {
@@ -826,35 +855,48 @@
 
                 } else if (serviceTaskVO.getAppltype().equals("4")) {
                     ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
-                    if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
-                        throw new BaseException("鎵嬫湳缂栫爜涓虹┖");
-                    }
+//                    if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
+//                        throw new BaseException("鎵嬫湳缂栫爜涓虹┖");
+//                    }
 //                serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                     serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+                    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());
-                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
-                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
-                        for (String opcode : opcodes) {
-                            //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
-                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
-                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
-                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
-                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+//                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
+//                        for (String opcode : opcodes) {
+//                            //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+//                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+//                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+//                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
+//                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+//
+//                            serviceTaskoper.setOpcode(opcode);
+//                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+//                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+//                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+//                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+//                            } else {
+//                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+//                            }
+//                        }
+//                    }
+                    ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+                    serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+                    serviceTaskoper2.setOrgid(serviceTask.getOrgid());
+//                    serviceTaskoper2.setOplevelcode(serviceTaskVO.getOplevelcode());
+                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
 
-                            serviceTaskoper.setOpcode(opcode);
-                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
-                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
-                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
-                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
-                            } else {
-                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
-                            }
-                        }
+                    if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+                        serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+                        serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+                    } else {
+                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                     }
                 }
             }
@@ -2191,6 +2233,26 @@
 
         List<ServiceStatisticsResponse> result = serviceSubtaskMapper.getServiceStatistics(request);
 
+        //鑾峰彇闂ㄦ�ヨ瘖鏁版嵁
+
+        //濉厖闂ㄨ瘖鏁版嵁
+        for (ServiceStatisticsResponse serviceStatisticsResponse : result) {
+            PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
+            String deptcodes = CollectionUtils.isEmpty(request.getDeptcodes()) ? null : String.join(",", request.getDeptcodes());
+            if (!request.getTimeType().equals("month")) {
+                req.setBeginAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
+                req.setEndAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
+            } else {
+                // year 绫诲瀷锛歵imePeriod 鏍煎紡涓� "yyyy-MM"锛屽彇褰撴湀绗竴澶╁拰鏈�鍚庝竴澶�
+                java.time.YearMonth ym = java.time.YearMonth.parse(serviceStatisticsResponse.getTimePeriod());
+                req.setBeginAdmitdate(DateUtils.toDate(ym.atDay(1)));
+                req.setEndAdmitdate(DateUtils.toDate(ym.atEndOfMonth()));
+            }
+            req.setDeptcode(deptcodes);
+            req.setOrgid(request.getOrgid());
+            Long count = patMedOuthospMapper.callSpQueryOuthospCount(req);
+            serviceStatisticsResponse.setPmoCount(count);
+        }
 
         log.info("getServiceStatistics杩斿洖缁撴灉鏁伴噺锛歿}", result.size());
         return result;
@@ -2288,7 +2350,7 @@
             if (CollectionUtils.isEmpty(serviceSubtaskList)) {
                 continue;
             }
-            ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList, serviceSubtaskCountReq.getFollowUpCountStyle());
+            ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList, serviceSubtaskCountReq.getFollowUpCountStyle(), serviceSubtaskCountReq.getVisitCount());
             if (ObjectUtils.isNotEmpty(jsRates)) {
                 Map<String, Object> jsRateMap = jsRates.get(collectKey);
                 BigDecimal jsRate = new BigDecimal("0");
@@ -2330,6 +2392,7 @@
         ssRate.setOrgid(serviceSubtaskCountReq.getOrgid());
         ssRate.setStarttime(serviceSubtaskCountReq.getStartTime());
         ssRate.setEndtime(serviceSubtaskCountReq.getEndTime());
+        ssRate.setVisitCount(serviceSubtaskCountReq.getVisitCount());
         if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) {
             ssRate.setEndtime(new Date());
         }
@@ -2536,7 +2599,24 @@
     }
 
 
-    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
+    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle, Integer visitCount) {
+        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
+
+        if (visitCount != null && visitCount > 1) {
+            serviceSubtaskStatistic = getStatisticAgain(serviceSubtaskList, followUpCountStyle);
+        }else {
+            serviceSubtaskStatistic = getStatisticFirst(serviceSubtaskList, followUpCountStyle);
+        }
+        return serviceSubtaskStatistic;
+    }
+
+    /**
+     * 棣栨闅忚缁熻
+     * @param serviceSubtaskList
+     * @param followUpCountStyle
+     * @return
+     */
+    private ServiceSubtaskStatistic getStatisticFirst(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
         ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
         //鏍煎紡鍖栦负涓や綅灏忔暟鐨勭櫨鍒嗘瘮
         DecimalFormat percentFormat = new DecimalFormat("##.##%");
@@ -2565,21 +2645,6 @@
         //璁板綍棣栨闅忚寰俊璇︽儏
         List<ServiceSubtask> wechatInfo = new ArrayList<>();
 
-        //璁板綍鍐嶆搴旈殢璁胯鎯�
-        List<ServiceSubtask> needFollowUpAgainInfo = new ArrayList<>();
-        //璁板綍鍐嶆寰呴殢璁胯鎯�
-        List<ServiceSubtask> pendingFollowUpAgainInfo = new ArrayList<>();
-        //璁板綍鍐嶆闅忚鎴愬姛璇︽儏
-        List<ServiceSubtask> followUpSuccessAgainInfo = new ArrayList<>();
-        //璁板綍鍐嶆闅忚澶辫触璇︽儏
-        List<ServiceSubtask> followUpFailAgainInfo = new ArrayList<>();
-        //璁板綍棣栨闅忚浜哄伐璇︽儏
-        List<ServiceSubtask> manualAgainInfo = new ArrayList<>();
-        //璁板綍棣栨闅忚鐭俊璇︽儏
-        List<ServiceSubtask> smsAgainInfo = new ArrayList<>();
-        //璁板綍棣栨闅忚寰俊璇︽儏
-        List<ServiceSubtask> wechatAgainInfo = new ArrayList<>();
-
         for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
             //鏃犻渶闅忚浜烘
             if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
@@ -2606,8 +2671,8 @@
                     serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
                     pendingFollowUpInfo.add(serviceSubtask);
                 }
-                //棣栨闅忚澶辫触
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                //棣栨闅忚澶辫触(鍖呮嫭闅忚澶辫触+浜哄伐瓒呮椂)
+                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                     followUpFailInfo.add(serviceSubtask);
                 }
@@ -2667,8 +2732,97 @@
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                     serviceSubtaskStatistic.setAbnormal(serviceSubtaskStatistic.getAbnormal() + 1L);
                 }
-            }//浜屾鍑洪櫌闅忚
-            else if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
+            }
+            //闅忚鎯呭喌
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 1) {
+                serviceSubtaskStatistic.setTaskSituation1(serviceSubtaskStatistic.getTaskSituation1() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 2) {
+                serviceSubtaskStatistic.setTaskSituation2(serviceSubtaskStatistic.getTaskSituation2() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 3) {
+                serviceSubtaskStatistic.setTaskSituation3(serviceSubtaskStatistic.getTaskSituation3() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 4) {
+                serviceSubtaskStatistic.setTaskSituation4(serviceSubtaskStatistic.getTaskSituation4() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 5) {
+                serviceSubtaskStatistic.setTaskSituation5(serviceSubtaskStatistic.getTaskSituation5() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 7) {
+                serviceSubtaskStatistic.setTaskSituation6(serviceSubtaskStatistic.getTaskSituation6() + 1);
+            }
+        }
+        serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
+        //璁板綍棣栨搴旈殢璁胯鎯�
+        serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
+        //璁板綍棣栨寰呴殢璁胯鎯�
+        serviceSubtaskStatistic.setPendingFollowUpInfo(pendingFollowUpInfo);
+        //璁板綍棣栨闅忚鎴愬姛璇︽儏
+        serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
+        //璁板綍棣栨闅忚澶辫触璇︽儏
+        serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
+        //璁板綍棣栨闅忚浜哄伐璇︽儏
+        serviceSubtaskStatistic.setManualInfo(manualInfo);
+        //璁板綍棣栨闅忚鐭俊璇︽儏
+        serviceSubtaskStatistic.setSmsInfo(smsInfo);
+        //璁板綍棣栨闅忚寰俊璇︽儏
+        serviceSubtaskStatistic.setWechatInfo(wechatInfo);
+        return serviceSubtaskStatistic;
+    }
+
+    /**
+     * 鍐嶆闅忚缁熻
+     * @param serviceSubtaskList
+     * @param followUpCountStyle
+     * @return
+     */
+    private ServiceSubtaskStatistic getStatisticAgain(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
+        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
+        //鏍煎紡鍖栦负涓や綅灏忔暟鐨勭櫨鍒嗘瘮
+        DecimalFormat percentFormat = new DecimalFormat("##.##%");
+        serviceSubtaskStatistic.setDeptname(serviceSubtaskList.get(0).getDeptname());
+        serviceSubtaskStatistic.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
+        serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname());
+        serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+        serviceSubtaskStatistic.setDrcode(serviceSubtaskList.get(0).getDrcode());
+        serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
+        //鍑洪櫌浜烘
+        serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
+        //璁板綍杩囨护鎮h�呰鎯�
+        List<ServiceSubtask> filterServiceSubtasks = new ArrayList<>();
+
+        //璁板綍鍐嶆搴旈殢璁胯鎯�
+        List<ServiceSubtask> needFollowUpAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆寰呴殢璁胯鎯�
+        List<ServiceSubtask> pendingFollowUpAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆闅忚鎴愬姛璇︽儏
+        List<ServiceSubtask> followUpSuccessAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆闅忚澶辫触璇︽儏
+        List<ServiceSubtask> followUpFailAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆闅忚浜哄伐璇︽儏
+        List<ServiceSubtask> manualAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆闅忚鐭俊璇︽儏
+        List<ServiceSubtask> smsAgainInfo = new ArrayList<>();
+        //璁板綍鍐嶆闅忚寰俊璇︽儏
+        List<ServiceSubtask> wechatAgainInfo = new ArrayList<>();
+
+        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+            //鏃犻渶闅忚浜烘
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
+                if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
+                    serviceSubtaskStatistic.setFilterCount(serviceSubtaskStatistic.getFilterCount() + 1L);
+                    filterServiceSubtasks.add(serviceSubtask);
+                }
+            }
+            //搴旈殢璁夸汉娆�
+            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+                serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
+            }
+
+            //鍐嶆鍑洪櫌闅忚
+            if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
                 //鍐嶆搴旈殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                     serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
@@ -2762,20 +2916,6 @@
             }
         }
         serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
-        //璁板綍棣栨搴旈殢璁胯鎯�
-        serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
-        //璁板綍棣栨寰呴殢璁胯鎯�
-        serviceSubtaskStatistic.setPendingFollowUpInfo(pendingFollowUpInfo);
-        //璁板綍棣栨闅忚鎴愬姛璇︽儏
-        serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
-        //璁板綍棣栨闅忚澶辫触璇︽儏
-        serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
-        //璁板綍棣栨闅忚浜哄伐璇︽儏
-        serviceSubtaskStatistic.setManualInfo(manualInfo);
-        //璁板綍棣栨闅忚鐭俊璇︽儏
-        serviceSubtaskStatistic.setSmsInfo(smsInfo);
-        //璁板綍棣栨闅忚寰俊璇︽儏
-        serviceSubtaskStatistic.setWechatInfo(wechatInfo);
         //璁板綍鍐嶆搴旈殢璁胯鎯�
         serviceSubtaskStatistic.setNeedFollowUpAgainInfo(needFollowUpAgainInfo);
         //璁板綍鍐嶆寰呴殢璁胯鎯�
@@ -2792,6 +2932,7 @@
         serviceSubtaskStatistic.setWechatAgainInfo(wechatAgainInfo);
         return serviceSubtaskStatistic;
     }
+
 
     private ServiceSubtaskStatistic getStatisticJoy(List<ServiceSubtask> serviceSubtaskList, List<ServiceSubtaskCount> joySubCount) {
         ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
@@ -2836,7 +2977,7 @@
                 if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                     serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                 }
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                 }
                 if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -2954,7 +3095,7 @@
                 if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                     serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                 }
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                 }
                 if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -3177,7 +3318,7 @@
      * @return
      */
     @Override
-    @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
+//    @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
     public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq) {
         log.info("getSfStatisticsScript鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
         List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
@@ -3532,7 +3673,7 @@
             diagname.setSuggest(subtask.getSuggest());
             diagname.setOperator(subtask.getOperator());
             diagname.setFinishtime(subtask.getFinishtime());
-            diagname.setLongSendTime(subtask.getLongSendTime());
+            diagname.setVisitTime(subtask.getVisitTime());
             diagname.setEndtime(subtask.getEndtime());
             //璁$畻鍑洪櫌澶╂暟
             if (!Objects.isNull(diagname.getEndtime())) {
@@ -3553,4 +3694,7 @@
         }).collect(Collectors.toList());
     }
 
+    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity){
+        return serviceSubtaskMapper.getCurrentUserServiceSubtaskCount(entity);
+    }
 }

--
Gitblit v1.9.3