From d49c2dbfbec7fef674e933e82a72a7d4aff1028c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 26 五月 2026 14:10:57 +0800
Subject: [PATCH] 【丽水】超链接新增接口 工厂模式

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index 3915cc4..a0e194c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -401,6 +401,7 @@
         ivrTaskVO.setCreateBy(user.getNickName());
         ivrTaskVO.setUpdateBy(user.getNickName());
         ivrTaskVO.setOrgid(user.getOrgid());
+        ivrTaskVO.setCampusid(user.getCampusid());
         return success(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO));
     }
 
@@ -426,6 +427,7 @@
     public AjaxResult addSubTask(@RequestBody ServiceSubtask serviceSubtask) {
         SysUser user = getLoginUser().getUser();
         if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
+        if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid());
         return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
     }
 
@@ -435,6 +437,7 @@
     public AjaxResult addSubTaskAgain(@RequestBody ServiceSubtask serviceSubtask) {
         SysUser user = getLoginUser().getUser();
         if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
+        if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid());
         return success(serviceSubtaskService.addSubTaskAgain(serviceSubtask));
     }
 
@@ -610,6 +613,63 @@
         return success(serviceSubtaskService.getSfStatisticsJoydetails(serviceSubtaskCountReq));
     }
 
+    /**
+     * 鑾峰彇闅忚缁熻瓒呴摼鎺�
+     * dischargeCountInfo
+     * followUpNeededAllInfo - sendstate != 4 (1,2,3,5,6,7)
+     * nonFollowUpInfo - sendstate = 4
+     * needFollowUpInfo - visitCount = 1 && sendstate != 4
+     * pendingFollowUpInfo - visitCount = 1 && sendstate = 2
+     * followUpSuccessInfo - visitCount = 1 && sendstate = 6
+     * followUpFailInfo - visitCount = 1 && (sendstate = 5 || sendstate = 7)
+     * manualInfo - visitCount = 1 && currentPreachForm = "1"
+     * voiceInfo - visitCount = 1 && currentPreachForm = "3"
+     * smsInfo - visitCount = 1 && currentPreachForm = "4"
+     * wechatInfo - visitCount = 1 && currentPreachForm = "5"
+     * abnormalInfo - visitCount = 1 && excep = "1"
+     * needFollowUpAgainInfo - visitCount > 1 && sendstate != 4
+     * pendingFollowUpAgainInfo -  visitCount > 1 && sendstate = 2
+     * followUpSuccessAgainInfo - visitCount > 1 && sendstate =6
+     * followUpFailAgainInfo - visitCount > 1 && (sendstate = 5 || sendstate = 7)
+     * manualAgainInfo - visitCount > 1 && currentPreachForm = "1"
+     * voiceAgainInfo - visitCount > 1 && currentPreachForm = "3"
+     * smsAgainInfo - visitCount > 1 && currentPreachForm = "4"
+     * wechatAgainInfo -  visitCount > 1 && currentPreachForm = "5"
+     * abnormalAgainInfo- visitCount > 1 && excep = "1"
+     * taskSituation1Info - taskSituation = 1
+     * taskSituation2Info - taskSituation = 2
+     * taskSituation3Info - taskSituation = 3
+     * taskSituation4Info - taskSituation = 4
+     * taskSituation5Info - taskSituation = 5
+     * taskSituation6Info - taskSituation = 7
+     * filterCountList - taskSituation = 6 && sendstate = 4
+     *
+     */
+    @ApiOperation("鑾峰彇闅忚缁熻瓒呴摼鎺�")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/getSfStatisticsHyperlink")
+    public AjaxResult getSfStatisticsHyperlink(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        LoginUser loginUser = getLoginUser();
+        String orgid = loginUser.getUser().getOrgid();
+        String configKey = serviceSubtaskCountReq.getConfigKey();
+        if (StringUtils.isNotEmpty(configKey)) {
+            String configValue = configService.selectConfigByKey(configKey, orgid);
+            serviceSubtaskCountReq.setConfigValue(configValue);
+            if (StringUtils.isEmpty(configValue)) {
+                String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
+                log.error(logInfo);
+                return error(logInfo);
+            }
+        }
+
+        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", orgid);
+        if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
+            serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
+        } else {
+            serviceSubtaskCountReq.setFollowUpCountStyle("1");
+        }
+        return success(serviceSubtaskService.getSfStatisticsHyperlink(serviceSubtaskCountReq));
+    }
 
     /**
      * 寤剁画鎶ょ悊缁熻
@@ -654,7 +714,8 @@
             log.error(logInfo);
             return error(logInfo);
         }
-        return success(serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq));
+        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq);
+        return success(serviceSubtaskStatistics);
     }
 
     @ApiOperation("鑾峰彇闅忚鍒嗙被缁熻鏄庣粏璇︽儏")

--
Gitblit v1.9.3