From c0ddb9dad45beceb6afefb03fce409878079775b Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 14 十月 2026 16:30:19 +0800
Subject: [PATCH] 【丽水】1.已拨通/未拨通要在综合统计处体现 2.过滤患者页面增加时间查询
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 91 ++++++++++++++++++++++++++++-----------------
1 files changed, 57 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 86a1719..ed1b0f0 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
@@ -23,6 +23,7 @@
import com.ruoyi.quartz.task.RyTask;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
+import com.smartor.common.MydOptionRatioChartBuilder;
import com.smartor.domain.*;
import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.VO.*;
@@ -194,13 +195,14 @@
//@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
@Log(title = "鍗曚竴浠诲姟", businessType = BusinessType.EXPORT)
@PostMapping("/patItemExport")
- public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
+ public void patItemExport(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
LoginUser loginUser = getLoginUser();
SysUser user = loginUser.getUser();
serviceSubtaskVO.setOrgid(user.getOrgid());
List<ServiceSubtaskRes> serviceSubtaskList = null;
if (serviceSubtaskVO != null) {
- serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
+ ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+ serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskEntity);
}
List<ServiceSubtaskExport> serviceSubtaskExports = null;
List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null;
@@ -220,16 +222,22 @@
serviceSubtaskExport.setEndDay(endDay);
}
}
- QuestionResultVO questionResultVO = new QuestionResultVO();
- questionResultVO.setServiceType(serviceSubtaskVO.getServiceType());
- questionResultVO.setEndOutHospTime(serviceSubtaskVO.getEndOutHospTime());
- questionResultVO.setStartOutHospTime(serviceSubtaskVO.getStartOutHospTime());
- serviceSubtaskDetailRatioExports = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskList);
+ //闂璇︽儏鍗犳瘮锛氬彧缁熻鏈瀵煎嚭鐨勮繖鎵规偅鑰咃紝鏁伴噺=閫夎閫夐」鐨勬偅鑰呮暟锛屾瘮渚�=鍗犺棰樹綔绛斾汉鏁�
+ List<Long> subtaskIds = new ArrayList<>();
+ for (ServiceSubtaskRes serviceSubtaskRes : serviceSubtaskList) {
+ if (serviceSubtaskRes.getId() != null) {
+ subtaskIds.add(serviceSubtaskRes.getId());
+ }
+ }
+ serviceSubtaskDetailRatioExports = serviceSubtaskService.statMydQuestionOptionForExport(subtaskIds, null);
}
ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
- util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�", serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
+ //绗笁涓猄heet锛氶棶棰樿鎯呭崰姣斿浘琛紙鎸変换鍔″悕绉板垎缁勶紝涓�涓换鍔′竴寮犳煴鐘跺浘锛�
+ util.exportExcelTwoSheetWithChart(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�",
+ serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class,
+ new MydOptionRatioChartBuilder(serviceSubtaskDetailRatioExports));
}
/**
@@ -701,6 +709,7 @@
* taskSituation4Info - taskSituation = 4
* taskSituation5Info - taskSituation = 5
* taskSituation6Info - taskSituation = 7
+ * manuallyCalledInfo - isManuallyCalled = 1L
* filterCountList - taskSituation = 6 && sendstate = 4
*
*/
@@ -835,37 +844,38 @@
@ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛闅忚鏁伴噺缁熻")
@PostMapping("/getCurrentUserServiceSubtaskCount")
public Map<String, Object> getCurrentUserServiceSubtaskCount() {
- Map<String, Object> map = new HashMap<>();
- LoginUser loginUser = getLoginUser();
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ if (loginUser == null || loginUser.getUser() == null) {
+ return new HashMap<>();
+ }
SysUser sysUser = loginUser.getUser();
- SysUserDept sysUserDept = new SysUserDept();
- sysUserDept.setUserId(sysUser.getUserId());
- sysUserDept.setOrgid(sysUser.getOrgid());
- sysUserDept.setCampusid(sysUser.getCampusid());
- sysUserDept.setDeptType("1");
- List<SysUserDept> sysUserDepts = sysUserDeptService.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<String> deptCodes = sysUserDepts.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
- List<String> wardCodes = sysUserWards.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
+ List<String> deptCodes = CollectionUtils.emptyIfNull(sysUser.getBelongDepts()).stream()
+ .map(item -> item.get("deptCode"))
+ .filter(Objects::nonNull) // 鍓旈櫎null
+ .map(Object::toString)
+ .collect(Collectors.toList());
+ List<String> wardCodes = CollectionUtils.emptyIfNull(sysUser.getBelongWards()).stream()
+ .map(item -> item.get("districtCode"))
+ .filter(Objects::nonNull) // 鍓旈櫎null
+ .map(Object::toString)
+ .collect(Collectors.toList());
ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
entity.setOrgid(sysUser.getOrgid());
entity.setLeaveldeptcodes(deptCodes);
entity.setLeavehospitaldistrictcodes(wardCodes);
- if (ObjectUtils.isNotEmpty(sysUser)) {
- if (!("admin").equals(sysUser.getUserName())) {
- if (ObjectUtils.isNotEmpty(sysUserWards) && ObjectUtils.isNotEmpty(sysUserDepts)) {
- map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
- }
- } else {
- map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
- }
+ // admin 鏌ョ湅鍏ㄩ櫌锛涢潪 admin 鍙閰嶇疆浜嗙瀹ゆ垨鐥呭尯浠讳竴缁村害鍗冲彲鏌ヨ锛圫QL 涓负 OR 鍏崇郴锛�
+ boolean isAdmin = "admin".equals(sysUser.getUserName());
+ if (isAdmin || CollectionUtils.isNotEmpty(deptCodes) || CollectionUtils.isNotEmpty(wardCodes)) {
+ return serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
}
- return map;
+ // 闈� admin 涓旀湭閰嶇疆浠讳綍绉戝/鐥呭尯鏉冮檺鏃讹紝杩斿洖榛樿 0 鍊硷紝閬垮厤鍓嶇鍙栦笉鍒� key
+ Map<String, Object> empty = new HashMap<>();
+ empty.put("pendingVisitCount", 0);
+ empty.put("failedVisitCount", 0);
+ empty.put("abnormalVisitCount", 0);
+ empty.put("warnningVisitCount", 0);
+ empty.put("allVisitCount", 0);
+ return empty;
}
@ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛瀹f暀鏁伴噺缁熻")
@@ -960,6 +970,13 @@
ryTask.dealSubtaskDeadline(orgid, day);
return AjaxResult.success("銆恉ealSubtaskDeadline銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
}
+
+ @PostMapping("/sendExceptInfo")
+ public AjaxResult sendExceptInfo() throws Exception {
+ ryTask.sendExceptInfo();
+ return AjaxResult.success("sendExceptInfo");
+ }
+
/**
* 甯edis缂撳瓨鐨勭粺璁℃煡璇紝渚沺atItem鍜宲atItemCount鍏辩敤锛屾潯浠朵笉鍙樻椂鐩存帴鍛戒腑缂撳瓨
*/
@@ -1014,5 +1031,11 @@
}
-
+ @ApiOperation("鑾峰彇缁熻鏁�")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/countByCondition")
+ public Map<String, Object> countByCondition(@RequestBody ServiceSubtaskEntity condition) {
+ Map<String, Object> map = serviceSubtaskService.countByCondition(condition);
+ return map;
+ }
}
--
Gitblit v1.9.3