From 816eea15ab68b3efb03786be616687b2e197014f Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 15 十月 2026 17:35:47 +0800
Subject: [PATCH] 【丽水】insertOrUpdateTask报错问题处理
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 64 +++++++++++++++++---------------
1 files changed, 34 insertions(+), 30 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 986a89d..3fef07c 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
@@ -302,8 +302,7 @@
public AjaxResult querySubtaskList(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
- PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
- serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity);
+ // 璇� SQL 宸插唴缃� limit ${pageSize} OFFSET ${pageNum}锛屼笉鍐嶈蛋 PageHelper锛岄伩鍏嶄袱濂楀垎椤靛彔鍔犱骇鐢熶袱涓� LIMIT
return success(serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity));
}
@@ -317,8 +316,8 @@
public TableDataInfo querySubtaskListAgain(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+ // 璇� SQL 鏈唴缃� limit锛屼娇鐢� PageHelper 鍒嗛〉锛涘彧璋冪敤涓�娆★紝getDataTable 鍙熀浜� Page 鍙栧埌姝g‘ total
PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
- serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity);
return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity));
}
@@ -709,6 +708,7 @@
* taskSituation4Info - taskSituation = 4
* taskSituation5Info - taskSituation = 5
* taskSituation6Info - taskSituation = 7
+ * manuallyCalledInfo - isManuallyCalled = 1L
* filterCountList - taskSituation = 6 && sendstate = 4
*
*/
@@ -832,50 +832,54 @@
}
/**
- * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堜紭鍖栫増锛�
+ * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堜紭鍖栫増锛�-銆愰殢璁垮伐浣滃彴銆�
*
+ * @param soonTimeoutHours 鍗冲皢瓒呮椂鏃堕棿锛堝皬鏃讹級锛岄粯璁� 48
* @return Map<String, Object> 鍖呭惈鍚勭姸鎬佺粺璁℃暟鎹�
* pendingVisitCount: 褰撳墠鐧诲綍浜烘埅姝粖鏃ュ緟闅忚鎬婚噺
* failedVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″け璐ユ�婚噺
* abnormalVisitVount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″紓甯告�婚噺
* allVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔℃�婚噺
+ * soonTimeoutCount: 褰撳墠鐧诲綍浜哄嵆灏嗚秴鏃舵暟閲忥紙瓒呮椂鎴鏃堕棿鍦� soonTimeoutHours 灏忔椂鍐咃級
*/
@ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛闅忚鏁伴噺缁熻")
@PostMapping("/getCurrentUserServiceSubtaskCount")
- public Map<String, Object> getCurrentUserServiceSubtaskCount() {
- Map<String, Object> map = new HashMap<>();
- SysUser sysUser = SecurityUtils.getLoginUser().getUser();
- SysUserDept sysUserDept = new SysUserDept();
- sysUserDept.setUserId(sysUser.getUserId());
- sysUserDept.setOrgid(sysUser.getOrgid());
- sysUserDept.setCampusid(sysUser.getCampusid());
- sysUserDept.setDeptType("1");
- List<Map<String, Object>> deptCodesMap = sysUser.getBelongDepts();
- List<Map<String, Object>> wardCodesMap = sysUser.getBelongWards();
- List<String> deptCodes = deptCodesMap.stream()
- .map(item -> item.get("deptCode"))
- .filter(obj -> obj != null) // 鍓旈櫎null
- .map(Object::toString)
- .collect(Collectors.toList());
- List<String> wardCodes = wardCodesMap.stream()
+ public Map<String, Object> getCurrentUserServiceSubtaskCount(
+ @RequestParam(value = "soonTimeoutHours", required = false, defaultValue = "48") Integer soonTimeoutHours) {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ if (loginUser == null || loginUser.getUser() == null) {
+ return new HashMap<>();
+ }
+ SysUser sysUser = loginUser.getUser();
+ 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(obj -> obj != null) // 鍓旈櫎null
+ .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 (CollectionUtils.isNotEmpty(deptCodes) && CollectionUtils.isNotEmpty(wardCodes)) {
- map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
- }
- } else {
- map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
- }
+ entity.setSoonTimeoutHours(soonTimeoutHours);
+ // 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);
+ empty.put("soonTimeoutCount", 0);
+ return empty;
}
@ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛瀹f暀鏁伴噺缁熻")
--
Gitblit v1.9.3