From 732024c03df1d810b8f5a8a526066967f1bfbb5d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 26 六月 2026 17:53:27 +0800
Subject: [PATCH] 南华部分功能提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 97 insertions(+), 5 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 9382fd6..f73cbce 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
@@ -1,6 +1,11 @@
package com.ruoyi.web.controller.smartor;
+import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.ISelect;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.HttpStatus;
@@ -11,20 +16,22 @@
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.dx.MessageSend;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.enums.MsgLSEnum;
import com.ruoyi.common.enums.PreachFormEnum;
import com.ruoyi.common.enums.SendStateEnum;
import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.DtoConversionUtils;
-import com.ruoyi.common.utils.PageUtils;
-import com.ruoyi.common.utils.StringUtils;
+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.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
+import com.smartor.common.LSHospTokenUtil;
+import com.smartor.common.QwenLLMUtil;
import com.smartor.domain.*;
import com.smartor.domain.VO.HeLibraryCountVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
@@ -46,6 +53,8 @@
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -89,6 +98,9 @@
@Value("${spring.profiles.active}")
private String active;
+
+ @Value("${isAdmin}")
+ private List<Long> isAdmin;
@Autowired
private RedisCache redisCache;
@@ -231,7 +243,7 @@
for (ServiceSubtaskExport serviceSubtaskExport : serviceSubtaskExports) {
String pf = PreachFormEnum.getDescByCode(serviceSubtaskExport.getPreachform());
serviceSubtaskExport.setPreachform(pf);
- if(serviceSubtaskExport.getSendstate() != null) {
+ if (serviceSubtaskExport.getSendstate() != null) {
String stName = SendStateEnum.getDescByCode("" + serviceSubtaskExport.getSendstate());
serviceSubtaskExport.setStName(stName);
}
@@ -546,6 +558,29 @@
Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
serviceSubtaskCountReq.setPageNum(offset);
+ Integer statisticaltype = serviceSubtaskCountReq.getStatisticaltype();
+
+ if (ObjectUtils.isNotEmpty(statisticaltype)) {
+ SysUser user = getLoginUser().getUser();
+ if (!isAdmin.contains(user.getUserId())) {
+ if (statisticaltype == 1) {
+ if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) {
+ //鍏ㄩ儴鐥呭尯
+ String deptInfo = user.getDeptInfo();
+ List<String> leavehospitaldistrictcodes = JSON.parseArray(deptInfo).stream().map(item -> (String) ((List<?>) item).get(0)).collect(Collectors.toList());
+ serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes);
+ }
+ } else if (statisticaltype == 2) {
+ if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())) {
+ //鍏ㄩ儴绉戝
+ String hospInfo = user.getHospInfo();
+ List<String> deptCodes = JSON.parseArray(hospInfo).stream().map(item -> (String) ((List<?>) item).get(0)).collect(Collectors.toList());
+ serviceSubtaskCountReq.setDeptcodes(deptCodes);
+ }
+ }
+ }
+ }
+
String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
@@ -556,6 +591,31 @@
serviceSubtaskCountReq.setPageSize(null);
List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq);
return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
+ }
+
+ /**
+ * 鑾峰彇涓撶梾闅忚缁熻姣斾緥
+ */
+ @ApiOperation("鑾峰彇涓撶梾闅忚缁熻姣斾緥")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/getSpecialSfStatistics")
+ public Map<String, Object> getSpecialSfStatistics(@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");
+ }
+ serviceSubtaskCountReq.setPageNum(null);
+ serviceSubtaskCountReq.setPageSize(null);
+ List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq);
+ return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq));
}
/**
@@ -819,14 +879,46 @@
return serviceSubtaskService.getHeLibraryCount(heLibraryCountVO);
}
+ /**
+ * 鎵嬪姩鍙戦�侀棶鍗锋ā鏉跨殑鐭俊鍔熻兘
+ *
+ * @param subid
+ * @return
+ */
+ @GetMapping(value = "/smsSubTask/{subid}")
+ public Map<String, Object> smsSubTask(@PathVariable("subid") Long subid) {
+ return serviceSubtaskService.smsSubTask(subid);
+ }
+
@PostMapping("/test")
public void test() {
ryTask.dealOutHospInfo();
}
+ @PostMapping("/compensateTasktest")
+ public void compensateTasktest(@RequestParam("subId") Long subId) {
+ ryTask.compensateTaskTest(subId);
+ }
+
+ @PostMapping("/longTaskSendtest")
+ public void longTaskSendtest(@RequestParam("subId") Long subId) {
+ ryTask.longTaskSendTest(subId);
+ }
+
@PostMapping("/syncMedInhospForShiyi")
public void syncMedInhospForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
collectHISService.syncMedInhosp(startTime, endTime);
}
+
+ @PostMapping("/syncMedOperForShiyi")
+ public void syncMedOperForShiyi(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) {
+ collectHISService.syncOper(startTime, endTime);
+ }
+
+ @PostMapping("/qwenLLMTest")
+ public int qwenLLMTest(@RequestParam("voiceText") String questionText, @RequestParam("voiceText") String voiceText, @RequestParam("value") String value, @RequestParam("regexText") String regexText) {
+ int result = ryTask.qwenLLMTest(questionText, voiceText, value, regexText);
+ return result;
+ }
}
--
Gitblit v1.9.3