From 2b1143b767e35e982d74fdeae1d713d696461a64 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 26 五月 2026 09:54:52 +0800
Subject: [PATCH] 【丽水】超链接新增接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |  102 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 80 insertions(+), 22 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 e9abbe2..48ab2da 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
@@ -20,9 +20,12 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.utils.reflect.ReflectUtils;
+import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.quartz.task.RyTask;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserDeptService;
 import com.smartor.domain.*;
+import com.smartor.domain.VO.HeLibraryCountVO;
 import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
 import com.smartor.domain.VO.ServiceSubtaskVO;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -77,6 +80,12 @@
     @Autowired
     private ISysConfigService configService;
 
+    @Autowired
+    private RyTask ryTask;
+
+    @Autowired
+    private ICollectHISService collectHISService;
+
     @Value("${spring.profiles.active}")
     private String active;
 
@@ -119,16 +128,6 @@
         // 鐩存帴浠庡凡鏈夎仛鍚堢粨鏋滄帹绠梩otal锛岄伩鍏嶅幓鎺夊垎椤靛悗鍐嶅叏閲忔煡涓�閬嶅ぇ琛�
         long total = 0L;
         try {
-//                 * wzx: 鏈墽琛屾暟閲�
-//                    * ysf: 宸查殢璁挎暟閲�
-//                    * fssb: 鍙戦�佸け璐ユ暟閲�
-//                    * yfs: 宸插彂閫佹暟閲�
-//                    * dsf: 寰呴殢璁挎暟閲�
-
-//            long wzx = map.get("wzx") != null ? ((Number) map.get("wzx")).longValue() : 0L;
-//            long ysf = map.get("ysf") != null ? ((Number) map.get("ysf")).longValue() : 0L;
-//            long dsf = map.get("dsf") != null ? ((Number) map.get("dsf")).longValue() : 0L;
-//            long fssb = map.get("fssb") != null ? ((Number) map.get("fssb")).longValue() : 0L;
             total = map.get("total") != null ? ((Number) map.get("total")).longValue() : 0L;
 
         } catch (Exception e) {
@@ -185,7 +184,7 @@
                 if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) {
                     redisFlag = true;
                     map = redisMap;
-                    redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES);
+                    redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES);
                 }
             }
             if (!redisFlag) {
@@ -252,13 +251,12 @@
     //@PreAuthorize("@ss.hasPermi('system:taskcall:list')")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/patItemByCondition")
-    public TableDataInfo patItemByCondition(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
+    public Map<String, Object> patItemByCondition(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
         List<ServiceSubtask> serviceSubtaskList = null;
         ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
         serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
         if (serviceSubtaskEntity != null) {
-            PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
-
+            serviceSubtaskEntity.setPageNum(PageUtils.getOffset(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize()));
             serviceSubtaskList = serviceSubtaskService.patItem2(serviceSubtaskEntity);
         }
         for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
@@ -283,7 +281,7 @@
                 serviceSubtaskService.patItem2(serviceSubtaskEntity);
             }
         });
-        return getDataTable2(total, list);
+        return getDataTable3(total, list);
     }
 
     /**
@@ -403,6 +401,7 @@
         ivrTaskVO.setCreateBy(user.getNickName());
         ivrTaskVO.setUpdateBy(user.getNickName());
         ivrTaskVO.setOrgid(user.getOrgid());
+        ivrTaskVO.setCampusid(user.getCampusid());
         return success(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO));
     }
 
@@ -414,12 +413,21 @@
         return toAjax(serviceSubtaskService.updateServiceSubtask(serviceSubtask));
     }
 
+    @ApiOperation("淇敼瀛愪换鍔℃ā鏉�")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/updateTemplate")
+    public AjaxResult updateTemplate(@RequestBody ServiceSubtaskTemplateVO serviceSubtaskTemplateVO) {
+        serviceSubtaskTemplateVO.setUpdateBy(getLoginUser().getUser().getNickName());
+        return toAjax(serviceSubtaskService.updateTemplate(serviceSubtaskTemplateVO));
+    }
+
     @ApiOperation("鏂板瀛愪换鍔�")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/addSubTask")
     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));
     }
 
@@ -429,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));
     }
 
@@ -525,17 +534,23 @@
     @ApiOperation("鑾峰彇闅忚缁熻姣斾緥")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/getSfStatistics")
-    public AjaxResult getSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+    public Map<String, Object> getSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
         if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) {
             return error("鏈嶅姟绫诲瀷涓嶈兘涓虹┖");
         }
+        Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
+        serviceSubtaskCountReq.setPageNum(offset);
+
         String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
         if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
         } else {
             serviceSubtaskCountReq.setFollowUpCountStyle("1");
         }
-        return success(serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
+        serviceSubtaskCountReq.setPageNum(null);
+        serviceSubtaskCountReq.setPageSize(null);
+        List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq);
+        return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
     }
 
     /**
@@ -598,7 +613,36 @@
         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"
+     */
+    @ApiOperation("鑾峰彇闅忚缁熻瓒呴摼鎺�")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/getSfStatisticsHyperlink")
+    public AjaxResult getSfStatisticsHyperlink(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        return success(serviceSubtaskService.getSfStatisticsHyperlink(serviceSubtaskCountReq));
+    }
 
     /**
      * 寤剁画鎶ょ悊缁熻
@@ -617,9 +661,6 @@
         }
         return success(serviceSubtaskService.getContinueNurseCount(serviceSubtaskCotinueCountVO));
     }
-
-
-
 
 
     /**
@@ -646,7 +687,8 @@
             log.error(logInfo);
             return error(logInfo);
         }
-        return success(serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq));
+        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = serviceSubtaskService.getSfStatisticsScript(serviceSubtaskCountReq);
+        return success(serviceSubtaskStatistics);
     }
 
     @ApiOperation("鑾峰彇闅忚鍒嗙被缁熻鏄庣粏璇︽儏")
@@ -738,5 +780,21 @@
         return map;
     }
 
+    @ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛瀹f暀鏁伴噺缁熻")
+    @PostMapping("/gethelibraryCount")
+    public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO) {
+        log.info("鑾峰彇褰撳墠鐢ㄦ埛瀹f暀鏁伴噺缁熻鐨勫叆鍙備负锛歿}", heLibraryCountVO);
+        return serviceSubtaskService.getHeLibraryCount(heLibraryCountVO);
+    }
 
+
+    @PostMapping("/test")
+    public void test() {
+        ryTask.dealOutHospInfo();
+    }
+
+    @PostMapping("/syncMedInhospForShiyi")
+    public void syncMedInhospForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
+        collectHISService.syncMedInhosp(startTime, endTime);
+    }
 }

--
Gitblit v1.9.3