@Override public IPage<ReportPrintVO> reportPrintingPage(IPage<ReportPrintVO> page, QueryWrapper<ReportPrintVO> wrapper) { List<ReportPrintVO> reportPrintVOS = baseMapper.reportPrintingPage(page, wrapper); Map<String, String> testTypeMap = BusDictBizCache.getValueMap(BusDictConstant.INSPECTION_TYPE); if (CollectionUtils.isNotEmpty(reportPrintVOS)) { for (ReportPrintVO reportPrint : reportPrintVOS) { LocalDate wranDate = LocalDate.now(); Integer expireDay = Optional.ofNullable(BasParamCache.getValue(BusParamConstant.INSTRUMENT_EXPIRE_DAY)) .map(v -> StringUtils.isEmpty(v) ? 1 : Integer.parseInt(v)).orElse(1); wranDate = wranDate.plusDays(expireDay); BusSampleReportPageVO busSampleReportPageVO = new BusSampleReportPageVO(); busSampleReportPageVO.setPlanCompleteDate(reportPrint.getPlanCompleteDate()); setWarnType(busSampleReportPageVO, wranDate); reportPrint.setWarnType(busSampleReportPageVO.getWarnType()); reportPrint.setQrcodeUrl(BusTemplateUtil.getQrCodeContent(reportPrint.getReportId())); // 检校类型 reportPrint.setInspectionTypeName(testTypeMap.get(reportPrint.getInspectionType())); } } return page.setRecords(reportPrintVOS); }我要在这段代码中加上查询条件 根据bs.report_no 从小到大进行排序
时间: 2024-04-15 10:29:03 浏览: 19
要在这段代码中添加根据 "bs.report_no" 字段从小到大进行排序的查询条件,可以使用 QueryWrapper 类的 orderByAsc 方法。请将以下代码添加到你的方法中:
```java
wrapper.orderByAsc("bs.report_no");
```
确保在调用 `baseMapper.reportPrintingPage(page, wrapper)` 前设置了排序条件。这样就会按照 "bs.report_no" 字段从小到大进行排序。
相关问题
@Override public List<Food> getFoods(String foodName, String foodType) { Food f=new Food(); f.setFoodname(foodName); f.setFoodtype(foodType); QueryWrapper<Food> lqw=new QueryWrapper<>(); lqw.like(Strings.isNotEmpty(foodName),"foodname",foodName); lqw.like(Strings.isNotEmpty(foodType),"foodtype",foodType); IPage<Food> pages = foodService.getPage(1, 10, f); List<Food> records = pages.getRecords(); return records; }分析这段代码
这段代码是一个 Service 类中的方法,用于根据 foodName 和 foodType 查询出符合条件的 Food 数据记录列表。
方法名为 getFoods,接收两个参数 foodName 和 foodType,分别表示查询的条件。方法内部首先创建一个 Food 对象 f,将 foodName 和 foodType 两个参数设置到 f 对象中。
然后根据 f 对象中的属性值,创建一个 QueryWrapper 对象 lqw,用于构建 MyBatis-Plus 中的查询条件。这里使用了 lqw.like 方法来设置模糊查询条件,如果 foodName 和 foodType 参数不为空,则将对应的查询条件设置到 QueryWrapper 对象中。
接下来调用了 foodService.getPage 方法,该方法用于分页查询符合条件的数据记录列表。传入的参数分别是当前页码、页大小和查询条件对象 f。getPage 方法内部会自动根据传入的参数进行分页查询,并返回一个 IPage 对象,表示查询结果的分页数据。
最后从 IPage 对象中获取数据记录列表,将其转换成 List<Food> 类型,并将其返回给调用方。
补充userService.page(page, wrapper)
userService.page(page, wrapper)是一个方法,它的作用是根据分页条件和查询条件查询用户信息并返回分页结果。其中,page是分页条件,包括当前页码、每页显示数量等信息;wrapper是查询条件,通常是一个封装了查询条件的实体类对象或者Wrapper对象。
具体实现可以使用MyBatis-Plus提供的Page类实现分页查询,同时使用LambdaQueryWrapper或QueryWrapper构建查询条件。示例代码如下:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> page(Page<User> page, QueryWrapper<User> wrapper) {
return baseMapper.selectPage(page, wrapper);
}
}
```
调用方法时,可以先创建一个Page对象和一个LambdaQueryWrapper对象,然后将它们传入page方法中,示例代码如下:
```java
@Autowired
private UserService userService;
public void queryUsers(int pageNum, int pageSize, String userName) {
Page<User> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(userName), User::getUserName, userName);
IPage<User> userPage = userService.page(page, wrapper);
List<User> userList = userPage.getRecords();
// TODO: 处理查询结果
}
```
在上面的示例代码中,我们根据传入的参数构建了分页条件和查询条件,然后调用userService的page方法进行查询,最后获取查询结果并进行处理。