分页bug修复

This commit is contained in:
attiya 2025-08-20 17:24:09 +08:00
parent 85e99bff3b
commit de9ba177bb
2 changed files with 24 additions and 23 deletions

View File

@ -841,7 +841,7 @@ public class EbikeBikeInfoController {
* @return * @return
*/ */
@PostMapping("getOperationalBikeList") @PostMapping("getOperationalBikeList")
public JsonResult<Object> getOperationalBikeList(@RequestBody ReqEbikeCheckinDto request) { public JsonResult<?> getOperationalBikeList(@RequestBody ReqEbikeCheckinDto request) {
//查询车辆信息列表 //查询车辆信息列表
Page<ResInventoryBikeListDto> inventoryBikeListDtoPage = ebikeBikeInfoService.getOperationalBikeList(request); Page<ResInventoryBikeListDto> inventoryBikeListDtoPage = ebikeBikeInfoService.getOperationalBikeList(request);

View File

@ -29,6 +29,7 @@ import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryColumn; import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.util.StringUtil;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -764,11 +765,11 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
// return ebikeBikeFaultReportMapper.selectListByQuery(query); // return ebikeBikeFaultReportMapper.selectListByQuery(query);
QueryWrapper queryWrapper1 = QueryWrapper.create().from(EBIKE_BIKE_FAULT_REPAIR_RECORD).select(EBIKE_BIKE_FAULT_REPAIR_RECORD.FAULT_REPORT_ID) QueryWrapper queryWrapper1 = QueryWrapper.create().from(EBIKE_BIKE_FAULT_REPAIR_RECORD).select(EBIKE_BIKE_FAULT_REPAIR_RECORD.FAULT_REPORT_ID)
.where(EBIKE_BIKE_FAULT_REPAIR_RECORD.REPAIR_STATE.in("0","1")); .where(EBIKE_BIKE_FAULT_REPAIR_RECORD.REPAIR_STATE.in("0", "1"));
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.from(EBIKE_BIKE_FAULT_REPORT) .from(EBIKE_BIKE_FAULT_REPORT)
.select(EBIKE_BIKE_FAULT_REPORT.ALL_COLUMNS) .select(EBIKE_BIKE_FAULT_REPORT.ALL_COLUMNS)
.notIn(EbikeBikeFaultReport::getFaultReportId,queryWrapper1) .notIn(EbikeBikeFaultReport::getFaultReportId, queryWrapper1)
.orderBy(EBIKE_BIKE_FAULT_REPORT.REPORT_AT.getName(), true); .orderBy(EBIKE_BIKE_FAULT_REPORT.REPORT_AT.getName(), true);
return ebikeBikeFaultReportMapper.selectListByQuery(queryWrapper); return ebikeBikeFaultReportMapper.selectListByQuery(queryWrapper);
@ -1343,8 +1344,20 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
@Override @Override
public Page<ResInventoryBikeListDto> getOperationalBikeList(ReqEbikeCheckinDto queryParam) { public Page<ResInventoryBikeListDto> getOperationalBikeList(ReqEbikeCheckinDto queryParam) {
QueryWrapper query = QueryWrapper.create(); QueryWrapper query = QueryWrapper.create();
query.select(EBIKE_BIKE_INFO.BIKE_ID, EBIKE_BIKE_INFO.BIKE_NUMBER, EBIKE_BIKE_INFO.BIKE_MODEL); query.select(
query.select(EBIKE_BIKE_INFO.BIKE_CODE, EBIKE_BIKE_INFO.STATE, new QueryColumn("CHECKIN_TEMP", "enter_time")); EBIKE_BIKE_INFO.BIKE_ID,
EBIKE_BIKE_INFO.BIKE_NUMBER,
EBIKE_BIKE_INFO.BIKE_MODEL,
EBIKE_BIKE_INFO.BIKE_CODE,
EBIKE_BIKE_INFO.STATE,
EBIKE_BIKE_INFO.ECU_ID,
max(EBIKE_BIKE_CHECKIN.OPERATE_TIME).as("enter_time")
)
.leftJoin(EBIKE_BIKE_CHECKIN).on(EBIKE_BIKE_INFO.BIKE_ID.eq(EBIKE_BIKE_CHECKIN.BIKE_ID))
.leftJoin(EBIKE_CAR_STATUS_INFO).on(EBIKE_BIKE_INFO.STATE.eq(EBIKE_CAR_STATUS_INFO.CODE))
.leftJoin(EBIKE_DISPATCH_RECORDS).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_DISPATCH_RECORDS.BIKE_CODE)
.and(EBIKE_DISPATCH_RECORDS.DISPATCH_STATE.eq(0)))
.groupBy(EBIKE_BIKE_INFO.BIKE_ID);
query.select( query.select(
case_() case_()
.when(EBIKE_DISPATCH_RECORDS.BIKE_CODE.isNotNull()) .when(EBIKE_DISPATCH_RECORDS.BIKE_CODE.isNotNull())
@ -1356,32 +1369,20 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
.end().as("state_name") .end().as("state_name")
); );
query.leftJoin(select(EBIKE_BIKE_CHECKIN.BIKE_ID, max(EBIKE_BIKE_CHECKIN.OPERATE_TIME).as("enter_time")) query.where(EBIKE_BIKE_INFO.BIKE_CODE.like(queryParam.getBikeCode(), StringUtil.hasText(queryParam.getBikeCode())));
.from(EBIKE_BIKE_CHECKIN).groupBy(EBIKE_BIKE_CHECKIN.BIKE_ID)).as("CHECKIN_TEMP")
.on(EBIKE_BIKE_INFO.BIKE_ID.eq(new QueryColumn("CHECKIN_TEMP", "bike_id")));
query.leftJoin(EBIKE_CAR_STATUS_INFO).on(EBIKE_BIKE_INFO.STATE.eq(EBIKE_CAR_STATUS_INFO.CODE));
query.leftJoin(EBIKE_DISPATCH_RECORDS).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_DISPATCH_RECORDS.BIKE_CODE).and(
EBIKE_DISPATCH_RECORDS.DISPATCH_STATE.eq(0)
));
if (queryParam.getBikeCode() != null && !queryParam.getBikeCode().isEmpty()) {
query.where(EBIKE_BIKE_INFO.BIKE_CODE.like(queryParam.getBikeCode()));
}
if (queryParam.getState() != null && !queryParam.getState().isEmpty()) { if (queryParam.getState() != null && !queryParam.getState().isEmpty()) {
String[] stateList = queryParam.getState().split(","); String[] stateList = queryParam.getState().split(",");
if (stateList.length == 1) { if (stateList.length == 1) {
query.eq(EBIKE_BIKE_INFO.STATE.getName(), queryParam.getState()); query.where(EBIKE_BIKE_INFO.STATE.eq(queryParam.getState()));
} else { } else {
query.in(EBIKE_BIKE_INFO.STATE.getName(), Arrays.stream(stateList).toList()); query.where(EBIKE_BIKE_INFO.STATE.in(Arrays.stream(stateList).toList()));
} }
} }
if (queryParam.getEnterTime() != null && !queryParam.getEnterTime().toString().isEmpty()) { query.where(EBIKE_BIKE_CHECKIN.OPERATE_TIME.ge(queryParam.getEnterTime(), queryParam.getEnterTime() != null));
query.ge(new QueryColumn("CHECKIN_TEMP", "enter_time").getName(), queryParam.getEnterTime());
} return ebikeBikeInfoMapper.paginateAs(queryParam.getPageParam().getPage(), query, ResInventoryBikeListDto.class);
Page<ResInventoryBikeListDto> page = Page.of(queryParam.getPageParam().getPage().getPageNumber(), queryParam.getPageParam().getPageSize());
return ebikeBikeInfoMapper.paginateAs(page, query, ResInventoryBikeListDto.class);
} }
public JsonResult<?> updateVehicleStatus(ReqVehicleStatusUpdateDto queryParam) { public JsonResult<?> updateVehicleStatus(ReqVehicleStatusUpdateDto queryParam) {