| | |
| | | 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)); |
| | | } |
| | | |
| | |
| | | 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 取到正确 total |
| | | PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize()); |
| | | serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity); |
| | | return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity)); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 统计任务各种状态的数量(优化版) |
| | | * 统计任务各种状态的数量(优化版)-【随访工作台】 |
| | | * |
| | | * @param soonTimeoutHours 即将超时时间(小时),默认 48 |
| | | * @return Map<String, Object> 包含各状态统计数据 |
| | | * pendingVisitCount: 当前登录人截止今日待随访总量 |
| | | * failedVisitCount: 当前登录人随访任务失败总量 |
| | | * abnormalVisitVount: 当前登录人随访任务异常总量 |
| | | * allVisitCount: 当前登录人随访任务总量 |
| | | * soonTimeoutCount: 当前登录人即将超时数量(超时截止时间在 soonTimeoutHours 小时内) |
| | | */ |
| | | @ApiOperation("获取当前用户随访数量统计") |
| | | @PostMapping("/getCurrentUserServiceSubtaskCount") |
| | | public Map<String, Object> getCurrentUserServiceSubtaskCount() { |
| | | 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<>(); |
| | |
| | | entity.setOrgid(sysUser.getOrgid()); |
| | | entity.setLeaveldeptcodes(deptCodes); |
| | | entity.setLeavehospitaldistrictcodes(wardCodes); |
| | | entity.setSoonTimeoutHours(soonTimeoutHours); |
| | | // admin 查看全院;非 admin 只要配置了科室或病区任一维度即可查询(SQL 中为 OR 关系) |
| | | boolean isAdmin = "admin".equals(sysUser.getUserName()); |
| | | if (isAdmin || CollectionUtils.isNotEmpty(deptCodes) || CollectionUtils.isNotEmpty(wardCodes)) { |
| | |
| | | empty.put("abnormalVisitCount", 0); |
| | | empty.put("warnningVisitCount", 0); |
| | | empty.put("allVisitCount", 0); |
| | | empty.put("soonTimeoutCount", 0); |
| | | return empty; |
| | | } |
| | | |