From f0a09ee996ab2605869844d6a3d812709e2bf0fa Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 16 十月 2026 16:07:25 +0800
Subject: [PATCH] 任务模块、电话模块

---
 ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java |  160 +++++++++++++++++++++--------------------------------
 1 files changed, 63 insertions(+), 97 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
similarity index 90%
rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
rename to ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
index df90895..ae47d97 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
@@ -1,4 +1,4 @@
-package com.ruoyi.web.controller.smartor;
+package com.ruoyi.task.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.ISelect;
@@ -19,18 +19,12 @@
 import com.ruoyi.common.utils.*;
 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.ruoyi.common.core.service.TaskOpsTriggerApi;
+import com.ruoyi.task.api.spi.TaskSysConfigPort;
+import com.ruoyi.task.api.spi.TaskSysUserDeptPort;
 import com.ruoyi.satisfaction.api.SatisfactionExportBundle;
 import com.ruoyi.satisfaction.api.SatisfactionFacade;
-import com.smartor.domain.*;
-import com.smartor.domain.VO.*;
-import com.smartor.domain.entity.ServiceSubtaskEntity;
-import com.smartor.service.IServiceSubtaskRecordService;
-import com.smartor.service.IServiceSubtaskService;
-import com.smartor.service.IServiceTaskService;
+import com.ruoyi.task.api.spi.TaskSubtaskRecordPort;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -51,9 +45,35 @@
 
 import com.ruoyi.template.domain.VO.HeLibraryCountVO;
 import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
+import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
+import com.ruoyi.task.domain.ServiceStatisticsRequest;
+import com.ruoyi.task.domain.ServiceStatisticsResponse;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.domain.ServiceSubtaskCountReq;
+import com.ruoyi.task.domain.ServiceSubtaskRecord;
+import com.ruoyi.task.domain.ServiceSubtaskStatistic;
+import com.ruoyi.task.domain.ServiceTask;
+import com.ruoyi.task.domain.VO.ServiceSubtaskCotinueCountVO;
+import com.ruoyi.task.service.IServiceSubtaskService;
+import com.ruoyi.task.service.IServiceTaskService;
+import com.ruoyi.task.domain.PatArchiveSrmVO;
+import com.ruoyi.task.domain.ServiceSubTaskDetailReq;
+import com.ruoyi.task.domain.ServiceSubtaskDiagname;
+import com.ruoyi.task.domain.ServiceSubtaskRes;
+import com.ruoyi.task.domain.ServiceSubtaskTemplateVO;
+import com.ruoyi.task.domain.ServiceTaskVO;
+import com.ruoyi.task.domain.VO.ServiceSubtaskVO;
+import com.ruoyi.task.domain.VO.TransferDeptVO;
+import com.ruoyi.task.domain.ServiceSubtaskExport;
 
 /**
  * 鍗曚竴浠诲姟锛堥殢璁匡級Controller
+ * <p>
+ * 鈿狅笍 鐢佃瘽鐩稿叧鐨� 6 涓鐐癸紙phoneCallBack / phoneCallBackYQ / taskPull /
+ * saveQuestionAnswerPhone / recordAcceptshanghai / recordAccept锛夊凡闅忕數璇濇ā鍧楀寲
+ * 鏁翠綋鎼繘 {@code ruoyi-phone} 鐨� {@code PhoneCallbackController}锛�<b>URL 淇濇寔涓嶅彉</b>
+ * 锛堝閮ㄧ數璇濆钩鍙扮殑鍥炶皟鍦板潃涓嶈兘鏀癸級锛屽洜姝ゆ湰 Controller 涓庣數璇濇ā鍧楀叡鐢�
+ * {@code /smartor/serviceSubtask} 杩欎竴鍓嶇紑锛屽彧瑕佸畬鏁磋矾寰勪笉閲嶅鍗冲彲姝e父娉ㄥ唽銆�
  *
  * @author ruoyi
  * @date 2024-02-02
@@ -84,19 +104,28 @@
     private IServiceTaskService serviceTaskService;
 
     @Autowired
-    private ISysUserDeptService sysUserDeptService;
+    private TaskSysUserDeptPort taskSysUserDeptPort;
 
     @Autowired
-    private IServiceSubtaskRecordService serviceSubtaskRecordService;
+    private TaskSubtaskRecordPort serviceSubtaskRecordService;
 
     @Autowired
-    private ISysConfigService configService;
+    private TaskSysConfigPort taskSysConfigPort;
 
+    /**
+     * 浠诲姟杩愮淮瑙﹀彂鑳藉姏銆�
+     * <p>
+     * 鍘熷厛姝ゅ鐩存帴娉ㄥ叆 {@code ruoyi-quartz} 鐨� {@code RyTask} / {@code ICollectHISService}锛�
+     * 浼氳銆岀鐐瑰綊灞炪�嶄笌銆孒IS 閲囬泦瀹炵幇銆嶇粦姝伙細杩� 6 涓鐐圭殑褰掑睘瑕佹惉杩� {@code ruoyi-task}锛�
+     * 鑰屽疄鐜帮紙{@code RyTask} 2214 琛屻�佹敞鍏ョ害 20 涓� smartor service锛変笉鑳芥惉锛�
+     * 鍚﹀垯褰㈡垚 {@code ruoyi-task -> smartor} + {@code ruoyi-quartz -> ruoyi-task} 鐨勭‖寰幆銆�
+     * <p>
+     * 鏀逛负缁� {@code ruoyi-common} 鐨勭鍙e彇鐢細鎺ュ彛鍦� ruoyi-common锛�
+     * 瀹炵幇锛坽@code TaskOpsTriggerApiImpl}锛夌暀鍦� ruoyi-quartz銆�
+     * 杩欐牱绔偣鍙互鏁翠綋鎼蛋鑰�<b>涓嶉渶瑕�</b>渚濊禆 ruoyi-quartz銆�
+     */
     @Autowired
-    private RyTask ryTask;
-
-    @Autowired
-    private ICollectHISService collectHISService;
+    private TaskOpsTriggerApi taskOpsTriggerApi;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -478,69 +507,6 @@
     }
 
     /**
-     * 鐢佃瘽鍥炶皟浠诲姟(涓婃捣)
-     */
-    @ApiOperation("鐢佃瘽鍥炶皟浠诲姟")
-    @PostMapping("/phoneCallBack")
-    public AjaxResult phoneCallBack(@RequestBody PhoneCallBackVO phoneCallBackVO) {
-        serviceSubtaskService.phoneCallBack(phoneCallBackVO);
-        return success();
-    }
-
-    @ApiOperation("鐢佃瘽ASR閫氳瘽鍥炶皟(闆ㄧ划)")
-    @PostMapping("/phoneCallBackYQ")
-    public PhoneCallBackYQVO phoneCallBackYQ(@RequestBody PhoneCallReqYQVO phoneCallReqYQVO) {
-        log.info("鐢佃瘽ASR閫氳瘽鍥炶皟(闆ㄧ划) 锛焮}", phoneCallReqYQVO);
-        PhoneCallBackYQVO phoneCallBackYQVO = serviceSubtaskService.phoneCallBackYQ(phoneCallReqYQVO);
-        return phoneCallBackYQVO;
-    }
-
-    /**
-     * 鐢佃瘽浠诲姟鎷夊彇(闆ㄧ划)
-     */
-    @ApiOperation("鐢佃瘽浠诲姟鎷夊彇(闆ㄧ划)")
-    @PostMapping("/taskPull")
-    public List<PullTaskVO> taskPull() {
-        log.info("鐢佃瘽浠诲姟鎷夊彇(闆ㄧ划)");
-        List<PullTaskVO> pullTaskVOList = serviceSubtaskService.taskPull();
-        log.info("鐢佃瘽浠诲姟鎷夊彇鏁版嵁(闆ㄧ划):{}", pullTaskVOList);
-        return pullTaskVOList;
-    }
-
-    /**
-     * 鎮h�呴棶棰樼粨鏋滆褰�
-     */
-    @ApiOperation("鎮h�呴棶棰樼粨鏋滆褰曪紙鐢佃瘽锛�")
-    @PostMapping("/saveQuestionAnswerPhone")
-    public AjaxResult saveQuestionAnswerPhone(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
-//        SysUser user = getLoginUser().getUser();
-//        serviceSubTaskDetailReq.setOrgid(user.getOrgid());
-        log.info("鎮h�呴棶棰樼粨鏋滆褰�(鐢佃瘽):{}", serviceSubTaskDetailReq);
-        return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
-    }
-
-    /**
-     * 閫氳瘽璁板綍鍥炶皟
-     */
-    @ApiOperation("閫氳瘽璁板綍鍥炶皟(涓婃捣)")
-    @PostMapping("/recordAcceptshanghai")
-    public AjaxResult recordAccepshanghait(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
-        log.info("閫氳瘽璁板綍鍥炶皟(涓婃捣):{}", serviceSubTaskDetailReq);
-        return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
-    }
-
-    /**
-     * 閫氳瘽璁板綍鍥炶皟
-     */
-    @ApiOperation("閫氳瘽璁板綍鍥炶皟(闆ㄧ划)")
-    @PostMapping("/recordAccept")
-    public AjaxResult recordAccept(@RequestBody PhoneCallRecordVO phoneCallRecordVO) {
-        log.info("閫氳瘽璁板綍鍥炶皟(闆ㄧ划):{}", phoneCallRecordVO);
-        serviceSubtaskService.recordAccept(phoneCallRecordVO);
-        return success();
-    }
-
-    /**
      * 鑾峰彇姣忎釜鏈堢殑闅忚銆佸璇婇噺
      */
     @ApiOperation("鑾峰彇姣忎釜鏈堢殑闅忚銆佸璇婇噺")
@@ -577,7 +543,7 @@
                         sysUserWard.setOrgid(user.getOrgid());
                         sysUserWard.setCampusid(user.getCampusid());
                         sysUserWard.setDeptType("2");
-                        List<SysUserDept> wardList = sysUserDeptService.selectSysUserDeptList(sysUserWard);
+                        List<SysUserDept> wardList = taskSysUserDeptPort.selectSysUserDeptList(sysUserWard);
                         if (CollectionUtils.isNotEmpty(wardList)) {
                             leavehospitaldistrictcodes = wardList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
                         }
@@ -592,7 +558,7 @@
                         sysUserDept.setOrgid(user.getOrgid());
                         sysUserDept.setCampusid(user.getCampusid());
                         sysUserDept.setDeptType("1");
-                        List<SysUserDept> deptList = sysUserDeptService.selectSysUserDeptList(sysUserDept);
+                        List<SysUserDept> deptList = taskSysUserDeptPort.selectSysUserDeptList(sysUserDept);
                         if (CollectionUtils.isNotEmpty(deptList)) {
                             deptCodes = deptList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
                         }
@@ -602,7 +568,7 @@
             }
         }
 
-        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
+        String followUpCountStyle = taskSysConfigPort.selectConfigValue("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
         if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
         } else {
@@ -627,7 +593,7 @@
         Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
         serviceSubtaskCountReq.setPageNum(offset);
 
-        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
+        String followUpCountStyle = taskSysConfigPort.selectConfigValue("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
         if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
         } else {
@@ -739,7 +705,7 @@
         String orgid = loginUser.getUser().getOrgid();
         String configKey = serviceSubtaskCountReq.getConfigKey();
         if (StringUtils.isNotEmpty(configKey)) {
-            String configValue = configService.selectConfigByKey(configKey, orgid);
+            String configValue = taskSysConfigPort.selectConfigValue(configKey, orgid);
             serviceSubtaskCountReq.setConfigValue(configValue);
             if (StringUtils.isEmpty(configValue)) {
                 String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
@@ -748,7 +714,7 @@
             }
         }
 
-        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", orgid);
+        String followUpCountStyle = taskSysConfigPort.selectConfigValue("followUpCountStyle", orgid);
         if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
         } else {
@@ -788,7 +754,7 @@
         }
         String configKey = serviceSubtaskCountReq.getConfigKey();
         if (StringUtils.isNotEmpty(configKey)) {
-            String configValue = configService.selectConfigByKey(configKey, serviceSubtaskCountReq.getOrgid());
+            String configValue = taskSysConfigPort.selectConfigValue(configKey, serviceSubtaskCountReq.getOrgid());
             serviceSubtaskCountReq.setConfigValue(configValue);
             if (StringUtils.isEmpty(configValue)) {
                 String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
@@ -814,7 +780,7 @@
         //澶嶈瘖缁熻
         String configKey = serviceSubtaskCountReq.getConfigKey();
         if (StringUtils.isNotEmpty(configKey)) {
-            String configValue = configService.selectConfigByKey(configKey, serviceSubtaskCountReq.getOrgid());
+            String configValue = taskSysConfigPort.selectConfigValue(configKey, serviceSubtaskCountReq.getOrgid());
             if (StringUtils.isEmpty(configValue)) {
                 String logInfo = "getSfStatisticsCountDetails-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
                 log.error(logInfo);
@@ -870,13 +836,13 @@
         sysUserDept.setOrgid(sysUser.getOrgid());
         sysUserDept.setCampusid(sysUser.getCampusid());
         sysUserDept.setDeptType("1");
-        List<SysUserDept> sysUserDepts = sysUserDeptService.selectSysUserDeptList(sysUserDept);
+        List<SysUserDept> sysUserDepts = taskSysUserDeptPort.selectSysUserDeptList(sysUserDept);
         SysUserDept sysUserWard = new SysUserDept();
         sysUserWard.setUserId(sysUser.getUserId());
         sysUserWard.setOrgid(sysUser.getOrgid());
         sysUserWard.setCampusid(sysUser.getCampusid());
         sysUserWard.setDeptType("2");
-        List<SysUserDept> sysUserWards = sysUserDeptService.selectSysUserDeptList(sysUserWard);
+        List<SysUserDept> sysUserWards = taskSysUserDeptPort.selectSysUserDeptList(sysUserWard);
         List<String> deptCodes = sysUserDepts.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
         List<String> wardCodes = sysUserWards.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
         ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
@@ -953,7 +919,7 @@
     public AjaxResult syncMedInhospForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
         // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
         CompletableFuture.runAsync(() -> {
-            collectHISService.syncMedInhosp(startTime, endTime);
+            taskOpsTriggerApi.syncMedInhosp(startTime, endTime);
         });
         return AjaxResult.success("鍚屾浠诲姟宸插惎鍔紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
@@ -961,14 +927,14 @@
     @PostMapping("/syncMedInhospForShiyiYesterday")
     public AjaxResult syncMedInhospForShiyiYesterday() {
         // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
-        ryTask.collectHISYesterday();
+        taskOpsTriggerApi.collectHISYesterday();
         return AjaxResult.success("鍚屾浠诲姟宸插惎鍔紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
 
     @PostMapping("/syncMedInhospForShiyiDaysBefore")
     public AjaxResult syncMedInhospForShiyiDaysBefore(@RequestParam("day") Long day) {
         // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
-        ryTask.collectHISDaysBefore(day);
+        taskOpsTriggerApi.collectHISDaysBefore(day);
         return AjaxResult.success("銆恈ollectHISDaysBefore銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
 
@@ -976,7 +942,7 @@
     public AjaxResult syncMedOperForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
         // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
         CompletableFuture.runAsync(() -> {
-            collectHISService.syncOper(startTime, endTime);
+            taskOpsTriggerApi.syncOper(startTime, endTime);
         });
         return AjaxResult.success("鍚屾浠诲姟宸插惎鍔紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
@@ -984,13 +950,13 @@
     @PostMapping("/dealSubtaskDeadline")
     public AjaxResult dealSubtaskDeadline(@RequestParam("orgid") String orgid, @RequestParam("day") Integer day) {
         // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
-        ryTask.dealSubtaskDeadline(orgid, day);
+        taskOpsTriggerApi.dealSubtaskDeadline(orgid, day);
         return AjaxResult.success("銆恉ealSubtaskDeadline銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
 
     @PostMapping("/sendExceptInfo")
     public AjaxResult sendExceptInfo() throws Exception {
-        ryTask.sendExceptInfo();
+        taskOpsTriggerApi.sendExceptInfo();
         return AjaxResult.success("sendExceptInfo");
     }
 

--
Gitblit v1.9.3