优化查询

master
chenxiwang 2024-07-10 17:03:50 +08:00
parent 20119ee039
commit 70846b4377
2 changed files with 35 additions and 23 deletions

View File

@ -1,6 +1,5 @@
package com.gunshi.project.xyt.controller; package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -83,27 +82,31 @@ public class OsmoticWaterRController {
@Operation(summary = "列表") @Operation(summary = "列表")
@PostMapping("/list") @PostMapping("/list")
public R<List<OsmoticWaterR>> list(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { public R<List<OsmoticWaterR>> list(@RequestBody @Validated OsmoticWaterR osmoticWaterR) {
LambdaQueryWrapper<OsmoticWaterR> wrapper = new QueryWrapper<OsmoticWaterR>().lambda() QueryWrapper<OsmoticWaterR> wrapper = new QueryWrapper<OsmoticWaterR>()
.ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), OsmoticWaterR::getTm, osmoticWaterR.getStartTime()) .ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime())
.le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), OsmoticWaterR::getTm, osmoticWaterR.getEndTime()) .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime());
.orderBy(StringUtils.isNotBlank(osmoticWaterR.getSortField()), ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), OsmoticWaterR::getTm); if(StringUtils.isNotBlank(osmoticWaterR.getSortField())){
wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getSortField());
}
return R.ok(service.list(wrapper)); return R.ok(service.list(wrapper));
} }
@Operation(summary = "分页") @Operation(summary = "分页")
@PostMapping("/page") @PostMapping("/page")
public R<Page<OsmoticWaterR>> page(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { public R<Page<OsmoticWaterR>> page(@RequestBody @Validated OsmoticWaterR osmoticWaterR) {
QueryWrapper<OsmoticWaterR> qw = new QueryWrapper<>(); QueryWrapper<OsmoticWaterR> wrapper = new QueryWrapper<>();
qw.ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime()) wrapper.ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime())
.le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime()) .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime());
.orderBy(StringUtils.isNotBlank(osmoticWaterR.getSortField()), ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), "tm"); if(StringUtils.isNotBlank(osmoticWaterR.getSortField())){
return R.ok(service.page(osmoticWaterR.getPageSo().toPage(), qw)); wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getSortField());
}
return R.ok(service.page(osmoticWaterR.getPageSo().toPage(), wrapper));
} }
/** /**
* *
*/ */
@Operation(summary = "导入模板") @Operation(summary = "获取导入模板")
@PostMapping("/importTemplate") @PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) { public void importTemplate(HttpServletResponse response) {
ExcelUtil.exportExcel(new ArrayList<>(), "水质整编表", OsmoticWaterRVo.class, response, "水质整编表"); ExcelUtil.exportExcel(new ArrayList<>(), "水质整编表", OsmoticWaterRVo.class, response, "水质整编表");
@ -126,7 +129,13 @@ public class OsmoticWaterRController {
@PostMapping("/exportOsmoticWaterRDataExcel") @PostMapping("/exportOsmoticWaterRDataExcel")
@CrossOrigin @CrossOrigin
public void exportOsmoticWaterRDataExcel(@RequestBody @Validated OsmoticWaterR osmoticWaterR, HttpServletResponse response) { public void exportOsmoticWaterRDataExcel(@RequestBody @Validated OsmoticWaterR osmoticWaterR, HttpServletResponse response) {
String filename = "水质整编表" + DateUtil.convertDateToString(osmoticWaterR.getStartTime()) + "_" + DateUtil.convertDateToString(osmoticWaterR.getEndTime()); String filename = "水质整编表";
if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) {
filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getStartTime()));
}
if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) {
filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getEndTime()));
}
List<OsmoticWaterRVo> vos = ConvertUtil.entityToVoList(this.list(osmoticWaterR).getData(), OsmoticWaterRVo.class); List<OsmoticWaterRVo> vos = ConvertUtil.entityToVoList(this.list(osmoticWaterR).getData(), OsmoticWaterRVo.class);
ExcelUtil.exportExcel(vos, filename, OsmoticWaterRVo.class, response, "水质整编表"); ExcelUtil.exportExcel(vos, filename, OsmoticWaterRVo.class, response, "水质整编表");
} }

View File

@ -1,6 +1,5 @@
package com.gunshi.project.xyt.controller; package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -68,23 +67,27 @@ public class StWaterRController {
@Operation(summary = "列表") @Operation(summary = "列表")
@PostMapping("/list") @PostMapping("/list")
public R<List<StWaterR>> list(@RequestBody @Validated StWaterR stWaterR) { public R<List<StWaterR>> list(@RequestBody @Validated StWaterR stWaterR) {
LambdaQueryWrapper<StWaterR> wrapper = new QueryWrapper<StWaterR>().lambda() QueryWrapper<StWaterR> wrapper = new QueryWrapper<StWaterR>()
.eq(StringUtils.isNotBlank(stWaterR.getStcd()), StWaterR::getStcd, stWaterR.getStcd()) .eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd())
.ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), StWaterR::getTm, stWaterR.getStartTime()) .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime())
.le(ObjectUtils.isNotNull(stWaterR.getEndTime()), StWaterR::getTm, stWaterR.getEndTime()) .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime());
.orderBy(StringUtils.isNotBlank(stWaterR.getSortField()), ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), StWaterR::getTm); if(StringUtils.isNotBlank(stWaterR.getSortField())){
wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getSortField());
}
return R.ok(service.list(wrapper)); return R.ok(service.list(wrapper));
} }
@Operation(summary = "分页") @Operation(summary = "分页")
@PostMapping("/page") @PostMapping("/page")
public R<Page<StWaterR>> page(@RequestBody @Validated StWaterR stWaterR) { public R<Page<StWaterR>> page(@RequestBody @Validated StWaterR stWaterR) {
QueryWrapper<StWaterR> qw = new QueryWrapper<>(); QueryWrapper<StWaterR> wrapper = new QueryWrapper<>();
qw.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd()) wrapper.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd())
.ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime())
.le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()) .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime());
.orderBy(StringUtils.isNotBlank(stWaterR.getSortField()), ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), "tm"); if(StringUtils.isNotBlank(stWaterR.getSortField())){
return R.ok(service.page(stWaterR.getPageSo().toPage(), qw)); wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getSortField());
}
return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper));
} }
@Operation(summary = "导出") @Operation(summary = "导出")