处理分页查询问题

master
lisai 2022-07-24 01:24:07 +08:00
parent 81cc670158
commit 38befe0401
2 changed files with 22 additions and 2 deletions

View File

@ -3,12 +3,24 @@ package com.whdc.zhdbaqapi.model.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Pattern;
/** /**
* @author * @author
* @date 2022-07-01 1:17 * @date 2022-07-01 1:17
*/ */
@Data @Data
public class FindDeviceDto extends FindPageDto { public class FindDeviceDto extends FindPageDto {
@ApiModelProperty(value = "起始时间格式应为yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String")
@Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$",
message = "时间格式应为yyyy-MM-dd HH:mm:ss")
private String stm;
@ApiModelProperty(value = "截止时间格式应为yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String")
@Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$",
message = "时间格式应为yyyy-MM-dd HH:mm:ss")
private String etm;
@ApiModelProperty(value = "站点编码", dataType = "java.lang.String") @ApiModelProperty(value = "站点编码", dataType = "java.lang.String")
private String deviceId; private String deviceId;

View File

@ -4,14 +4,22 @@
<select id="page" resultType="com.whdc.zhdbaqapi.model.vo.DeviceDataVo"> <select id="page" resultType="com.whdc.zhdbaqapi.model.vo.DeviceDataVo">
SELECT D.*, I.STATION_CODE FROM DEVICE_DATA D SELECT D.*, I.STATION_CODE FROM DEVICE_DATA D
LEFT JOIN DEVICE_INFO I ON D.DEVICE_ID = I.DEVICE_ID AND D.CHANNEL_NUM = I.CHANNEL_NUM LEFT JOIN DEVICE_INFO I ON D.DEVICE_ID = I.DEVICE_ID AND D.CHANNEL_NUM = I.CHANNEL_NUM AND I.DEL = 0
WHERE DEL = 0 WHERE 1=1
<if test="obj.deviceId != null and obj.deviceId != '' "> <if test="obj.deviceId != null and obj.deviceId != '' ">
AND D.DEVICE_ID LIKE CONCAT('%', #{obj.deviceId}, '%') AND D.DEVICE_ID LIKE CONCAT('%', #{obj.deviceId}, '%')
</if> </if>
<if test="obj.stationCode != null and obj.stationCode != '' "> <if test="obj.stationCode != null and obj.stationCode != '' ">
AND I.STATION_CODE LIKE CONCAT('%', #{obj.stationCode}, '%') AND I.STATION_CODE LIKE CONCAT('%', #{obj.stationCode}, '%')
</if> </if>
<if test="obj.stm != null and obj.stm != '' ">
AND D.TIMESTAMP >= #{obj.stm}
</if>
<if test="obj.etm != null and obj.etm != '' ">
AND D.TIMESTAMP &lt; #{obj.etm}
</if>
ORDER BY D.TIMESTAMP DESC
</select> </select>
</mapper> </mapper>