Browse Source

fix: 优化批量下发选择通报期数慢问题

master
buaixuexideshitongxue 2 weeks ago
parent
commit
091d30b4e4
  1. 16
      src/main/java/com/biutag/supervision/controller/supervise/SuperviseReportController.java
  2. 13
      src/main/java/com/biutag/supervision/pojo/vo/SuperviseReportOptionVo.java
  3. 30
      src/main/java/com/biutag/supervision/service/SuperviseReportService.java

16
src/main/java/com/biutag/supervision/controller/supervise/SuperviseReportController.java

@ -1,24 +1,19 @@
package com.biutag.supervision.controller.supervise; package com.biutag.supervision.controller.supervise;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.SuperviseReport; import com.biutag.supervision.pojo.entity.SuperviseReport;
import com.biutag.supervision.pojo.entity.SuperviseReportFile; import com.biutag.supervision.pojo.entity.SuperviseReportFile;
import com.biutag.supervision.pojo.param.SupRiskPersonalQueryParam;
import com.biutag.supervision.pojo.param.SuperviseReportQueryParam; import com.biutag.supervision.pojo.param.SuperviseReportQueryParam;
import com.biutag.supervision.pojo.vo.SupRiskPersonalVo; import com.biutag.supervision.pojo.vo.SuperviseReportOptionVo;
import com.biutag.supervision.pojo.vo.SuperviseReportVo; import com.biutag.supervision.pojo.vo.SuperviseReportVo;
import com.biutag.supervision.service.SuperviseReportFileService;
import com.biutag.supervision.service.SuperviseReportService; import com.biutag.supervision.service.SuperviseReportService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List; import java.util.List;
@RestController @RestController
@ -27,6 +22,15 @@ import java.util.List;
public class SuperviseReportController { public class SuperviseReportController {
private final SuperviseReportService service; private final SuperviseReportService service;
/**
* 通报期数下拉选项。
*/
@GetMapping("/options")
Result<List<SuperviseReportOptionVo>> options(@RequestParam(value = "reportName", required = false) String reportName) {
return Result.success(service.options(reportName));
}
/** /**
* 分页 * 分页
* */ * */

13
src/main/java/com/biutag/supervision/pojo/vo/SuperviseReportOptionVo.java

@ -0,0 +1,13 @@
package com.biutag.supervision.pojo.vo;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SuperviseReportOptionVo {
private String id;
private String reportName;
}

30
src/main/java/com/biutag/supervision/service/SuperviseReportService.java

@ -16,6 +16,7 @@ import com.biutag.supervision.mapper.SuperviseReportMapper;
import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.SuperviseReportQueryParam; import com.biutag.supervision.pojo.param.SuperviseReportQueryParam;
import com.biutag.supervision.pojo.vo.SuperviseReportOptionVo;
import com.biutag.supervision.pojo.vo.SuperviseReportVo; import com.biutag.supervision.pojo.vo.SuperviseReportVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -38,6 +39,35 @@ public class SuperviseReportService extends ServiceImpl<SuperviseReportMapper, S
private final NegativeService negativeService; private final NegativeService negativeService;
private final SuperviseReportDepartService superviseReportDepartService; private final SuperviseReportDepartService superviseReportDepartService;
/**
* 通报期数选项,仅查询最新的100条报告ID和名称。
*/
public List<SuperviseReportOptionVo> options(String reportName) {
LambdaQueryWrapper<SuperviseReport> queryWrapper = new LambdaQueryWrapper<>();
UserAuth user = UserContextHolder.getCurrentUser();
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) {
if (user.getAuthDepartIds().isEmpty() || user.getRoleCodes().isEmpty()) {
return new ArrayList<>();
}
List<String> orgIds = departService.getAllNodeIds(user.getAuthDepartIds());
if (CollectionUtil.isEmpty(orgIds)) {
return new ArrayList<>();
}
queryWrapper.in(SuperviseReport::getCrtDepartId, orgIds);
}
queryWrapper.select(SuperviseReport::getId, SuperviseReport::getReportName)
.like(StrUtil.isNotEmpty(reportName), SuperviseReport::getReportName, reportName)
.orderByDesc(SuperviseReport::getCrtTime)
.last("limit 100");
return list(queryWrapper).stream().map(report -> {
SuperviseReportOptionVo option = new SuperviseReportOptionVo();
option.setId(report.getId());
option.setReportName(report.getReportName());
return option;
}).collect(Collectors.toList());
}
/** /**
* 分页查询 * 分页查询
* */ * */

Loading…
Cancel
Save