From e1b933c0c344494afe86bae9162dca9bdc34fd56 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 22 七月 2026 17:04:14 +0800
Subject: [PATCH] 【丽水】扫码生成外链
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 158 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 124 insertions(+), 34 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 56c6428..0844150 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,8 +1,7 @@
package com.ruoyi.web.controller.smartor;
+import com.alibaba.fastjson.JSON;
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;
@@ -17,10 +16,7 @@
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;
@@ -51,6 +47,8 @@
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+
+import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
/**
* 鍗曚竴浠诲姟锛堥殢璁匡級Controller
@@ -92,6 +90,15 @@
@Value("${spring.profiles.active}")
private String active;
+ @Value("${localIP}")
+ private String localIP;
+
+ @Value("${req_path}")
+ private String req_path;
+
+ @Value("${isAdmin}")
+ private List<Long> isAdmin;
+
@Autowired
private RedisCache redisCache;
@@ -101,7 +108,6 @@
@ApiOperation("鏌ヨ鎮h�呴殢璁夸俊鎭�")
@PostMapping("/patItem")
public Map<String, Object> patItem(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
-
serviceSubtaskVO.setPageNum(PageUtils.getOffset(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize()));
List<ServiceSubtaskRes> serviceSubtaskList = null;
LoginUser loginUser = getLoginUser();
@@ -179,6 +185,15 @@
if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) {
userId = loginUser.getUser().getUserId();
}
+ if (serviceSubtaskEntity.getSendstateView() != null) {
+ // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
+ if (serviceSubtaskEntity.getSendstateView() == 1)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
+ if (serviceSubtaskEntity.getSendstateView() == 2)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+ if (serviceSubtaskEntity.getSendstateView() == 3)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+ }
if (ObjectUtils.isNotEmpty(userId)) {
Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount");
Boolean redisFlag = false;
@@ -214,10 +229,10 @@
/**
- * 瀵煎嚭鍗曚竴浠诲姟锛堥殢璁垮鏁欙級鍒楄〃
+ * 瀵煎嚭鍗曚竴浠诲姟鍒楄〃
*/
//@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
- @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT)
+ @Log(title = "鍗曚竴浠诲姟", businessType = BusinessType.EXPORT)
@PostMapping("/patItemExport")
public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
LoginUser loginUser = getLoginUser();
@@ -228,12 +243,13 @@
serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
}
List<ServiceSubtaskExport> serviceSubtaskExports = null;
+ List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null;
if (!CollectionUtils.isEmpty(serviceSubtaskList)) {
serviceSubtaskExports = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExport.class);
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);
}
@@ -245,11 +261,16 @@
}
}
- }
- ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
- util.exportExcel(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�");
- }
+ //鑾峰彇serviceSubtaskList涓殑鎵�鏈塼askid
+ List<Long> taskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList());
+ serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOption(taskIds, serviceSubtaskVO.getStartOutHospTime(), serviceSubtaskVO.getEndOutHospTime());
+ }
+
+
+ ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
+ util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�", serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
+ }
/**
* 鏌ヨ鎮h�呴殢璁夸俊鎭�
@@ -550,27 +571,37 @@
Integer statisticaltype = serviceSubtaskCountReq.getStatisticaltype();
- if(ObjectUtils.isNotEmpty(statisticaltype)){
+ if (ObjectUtils.isNotEmpty(statisticaltype)) {
SysUser user = getLoginUser().getUser();
- if(statisticaltype==1){
- if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())){
- //鍏ㄩ儴鐥呭尯
- String deptInfo = user.getDeptInfo();
- Gson gson = new Gson();
- // 3. 瀹氫箟 List 绫诲瀷锛堟牳蹇冿級
- TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
- List<String> leavehospitaldistrictcodes = gson.fromJson(deptInfo, typeToken.getType());
- serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes);
- }
- }else if(statisticaltype==2){
- if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())){
- //鍏ㄩ儴绉戝
- String hospInfo = user.getHospInfo();
- Gson gson = new Gson();
- // 3. 瀹氫箟 List 绫诲瀷锛堟牳蹇冿級
- TypeToken<List<String>> typeToken = new TypeToken<List<String>>() {};
- List<String> deptCodes = gson.fromJson(hospInfo, typeToken.getType());
- serviceSubtaskCountReq.setDeptcodes(deptCodes);
+ if (!isAdmin.contains(user.getUserId())) {
+ if (statisticaltype == 1) {
+ if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) {
+ //鍏ㄩ儴鐥呭尯
+ List<String> leavehospitaldistrictcodes = null;
+ SysUserDept sysUserWard = new SysUserDept();
+ sysUserWard.setUserId(user.getUserId());
+ sysUserWard.setOrgid(user.getOrgid());
+ sysUserWard.setDeptType("2");
+ List<SysUserDept> wardList = sysUserDeptService.selectSysUserDeptList(sysUserWard);
+ if(CollectionUtils.isNotEmpty(wardList)) {
+ leavehospitaldistrictcodes = wardList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
+ }
+ serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes);
+ }
+ } else if (statisticaltype == 2) {
+ if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())) {
+ //鍏ㄩ儴绉戝
+ List<String> deptCodes = null;
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setOrgid(user.getOrgid());
+ sysUserDept.setDeptType("1");
+ List<SysUserDept> deptList = sysUserDeptService.selectSysUserDeptList(sysUserDept);
+ if(CollectionUtils.isNotEmpty(deptList)){
+ deptCodes = deptList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
+ }
+ serviceSubtaskCountReq.setDeptcodes(deptCodes);
+ }
}
}
}
@@ -873,10 +904,61 @@
return serviceSubtaskService.getHeLibraryCount(heLibraryCountVO);
}
+ @ApiOperation("鑾峰彇瀹f暀缁熻瓒呴摼鎺�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/gethelibraryCountHyperlink")
+ public AjaxResult gethelibraryCountHyperlink(@RequestBody HeLibraryCountVO heLibraryCountVO) {
+ return success(serviceSubtaskService.gethelibraryCountHyperlink(heLibraryCountVO));
+ }
+
+ /**
+ * 鎵嬪姩鍙戦�侀棶鍗锋ā鏉跨殑鐭俊鍔熻兘
+ *
+ * @param subid
+ * @return
+ */
+ @GetMapping(value = "/smsSubTask/{subid}")
+ public Map<String, Object> smsSubTask(@PathVariable("subid") Long subid) {
+ return serviceSubtaskService.smsSubTask(subid);
+ }
+
+ /**
+ * 璺宠浆涓棿椤�
+ *
+ * @param taskId
+ * @return
+ */
+ @PostMapping(value = "/goSfRelay")
+ public AjaxResult goSfRelay(@RequestParam("taskId") Long taskId) {
+ String url = localIP + ":" + req_path + "/SfRelay?taskid=" + taskId;
+ return AjaxResult.success(url);
+ }
+
+ /**
+ * 鎵爜鐢熸垚瀛愪换鍔�
+ *
+ * @param serviceTask
+ * @return
+ */
+ @PostMapping(value = "/scanGenerateSubtask")
+ public AjaxResult scanGenerateSubtask(@RequestBody ServiceTask serviceTask) {
+ return AjaxResult.success(serviceSubtaskService.scanGenerateSubtask(serviceTask));
+ }
+
@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")
@@ -888,4 +970,12 @@
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