Commit 3f5ee21b084329e0cc4cfc24a0dee3015bf8fba4

Authored by wangqian
1 parent 4cf824f0

增加排序

urbanops-framework/urbanops-common/src/main/java/com/zteits/urbanops/framework/common/pojo/PageParam.java
... ... @@ -6,6 +6,8 @@ import lombok.Data;
6 6 import jakarta.validation.constraints.Min;
7 7 import jakarta.validation.constraints.Max;
8 8 import jakarta.validation.constraints.NotNull;
  9 +import org.springframework.util.StringUtils;
  10 +
9 11 import java.io.Serializable;
10 12  
11 13 @Schema(description="分页参数")
... ... @@ -33,4 +35,25 @@ public class PageParam implements Serializable {
33 35 @Max(value = 100, message = "每页条数最大值为 100")
34 36 private Integer pageSize = PAGE_SIZE;
35 37  
  38 + /**
  39 + * 排序字段
  40 + */
  41 + private String sortField = "id";
  42 + /**
  43 + * 排序方向:asc(升序)/ desc(降序)
  44 + */
  45 + private String sortOrder = "desc";
  46 + /**
  47 + * isAsc=true(升序)
  48 + */
  49 + private Boolean isAsc = true;
  50 + /*执行该排序逻辑*/
  51 + private Boolean sortCondition = true;
  52 +
  53 +
  54 + public void setSortOrder(String sortOrder) {
  55 + this.sortOrder = StringUtils.hasText(sortOrder) ? sortOrder.trim() : "desc";
  56 + this.isAsc = "asc".equalsIgnoreCase(this.sortOrder);
  57 + }
  58 +
36 59 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/vo/DepartmentCostPageReqVO.java
1 1 package com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo;
2 2  
  3 +import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
  4 +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO;
3 5 import lombok.*;
4 6 import java.util.*;
5 7 import io.swagger.v3.oas.annotations.media.Schema;
... ... @@ -45,4 +47,13 @@ public class DepartmentCostPageReqVO extends PageParam {
45 47 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
46 48 private LocalDateTime[] createTime;
47 49  
48   -}
49 50 \ No newline at end of file
  51 + //对应前端排序字段
  52 + public static final Map<String, SFunction<DepartmentCostDO, ?>> SORT_FIELD_MAP = Map.of(
  53 + "id", DepartmentCostDO::getId,
  54 + "salaryMonth", DepartmentCostDO::getSalaryMonth,
  55 + "personCount", DepartmentCostDO::getPersonCount,
  56 + "deptTotalCost", DepartmentCostDO::getDeptTotalCost,
  57 + "createTime", DepartmentCostDO::getCreateTime
  58 + );
  59 +
  60 +}
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/vo/RentalMechanicalCostPageReqVO.java
1 1 package com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo;
2 2  
3   -import cn.idev.excel.annotation.ExcelProperty;
4   -import com.fasterxml.jackson.annotation.JsonFormat;
  3 +import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
5 4 import com.zteits.urbanops.framework.common.pojo.PageParam;
6   -import com.zteits.urbanops.module.garden.controller.admin.costfee.vo.TeamBizdomainRelVo;
  5 +import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO;
7 6 import io.swagger.v3.oas.annotations.media.Schema;
8 7 import lombok.Data;
9 8 import org.springframework.format.annotation.DateTimeFormat;
10 9  
11 10 import java.math.BigDecimal;
12 11 import java.time.LocalDate;
13   -import java.time.LocalDateTime;
14 12 import java.util.Date;
15   -import java.util.List;
16   -
17   -import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
18   -import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  13 +import java.util.Map;
19 14  
20 15 @Schema(description = "管理后台 - 租赁机械费用录入分页 Request VO")
21 16 @Data
22 17 public class RentalMechanicalCostPageReqVO extends PageParam {
23 18  
  19 + private String id;
24 20 @Schema(description = "机械名称", example = "张三")
25 21 private String mechName;
26 22  
... ... @@ -34,4 +30,17 @@ public class RentalMechanicalCostPageReqVO extends PageParam {
34 30 @Schema(description = "使用时长(天)")
35 31 private Integer useDuration;
36 32  
  33 + @Schema(description = "结束日期")
  34 + private LocalDate endUseTime;
  35 +
  36 + @Schema(description = "数量")
  37 + private Integer quantity;
  38 +
  39 + public static final Map<String, SFunction<RentalMechanicalCostDO, ?>> SORT_FIELD_MAP = Map.of(
  40 + "id", RentalMechanicalCostDO::getId,
  41 + "quantity", RentalMechanicalCostDO::getQuantity,
  42 + "useDuration", RentalMechanicalCostDO::getUseDuration,
  43 + "startUseTime", RentalMechanicalCostDO::getStartUseTime,
  44 + "endUseTime", RentalMechanicalCostDO::getEndUseTime
  45 + );
37 46 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/wasterecord/vo/WasteRecordPageReqVO.java
... ... @@ -2,7 +2,9 @@ package com.zteits.urbanops.module.garden.controller.admin.wasterecord.vo;
2 2  
3 3 import cn.hutool.core.annotation.Alias;
4 4 import cn.idev.excel.annotation.ExcelProperty;
  5 +import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
5 6 import com.zteits.urbanops.framework.common.pojo.PageParam;
  7 +import com.zteits.urbanops.module.garden.dal.dataobject.wasterecord.WasteRecordDO;
6 8 import io.swagger.v3.oas.annotations.media.Schema;
7 9 import lombok.Data;
8 10 import org.springframework.format.annotation.DateTimeFormat;
... ... @@ -11,6 +13,7 @@ import java.math.BigDecimal;
11 13 import java.time.LocalDate;
12 14 import java.time.LocalDateTime;
13 15 import java.util.List;
  16 +import java.util.Map;
14 17  
15 18 import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
16 19  
... ... @@ -61,4 +64,11 @@ public class WasteRecordPageReqVO extends PageParam {
61 64 @Alias("deptId")
62 65 private List<String> teamIdList;
63 66  
  67 + public static final Map<String, SFunction<WasteRecordDO, ?>> SORT_FIELD_MAP = Map.of(
  68 + "id", WasteRecordDO::getId,
  69 + "vehicleLoad", WasteRecordDO::getWasteType,
  70 + "transportTimes", WasteRecordDO::getTransportTimes,
  71 + "totalCost", WasteRecordDO::getTotalCost,
  72 + "createTime", WasteRecordDO::getCreateTime
  73 + );
64 74 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/waterfee/vo/WaterFeePageReqVO.java
1 1 package com.zteits.urbanops.module.garden.controller.admin.waterfee.vo;
2 2  
3   -import lombok.*;
4   -import java.util.*;
5   -import io.swagger.v3.oas.annotations.media.Schema;
  3 +import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
6 4 import com.zteits.urbanops.framework.common.pojo.PageParam;
7   -import java.math.BigDecimal;
  5 +import com.zteits.urbanops.module.garden.dal.dataobject.waterfee.WaterFeeDO;
  6 +import io.swagger.v3.oas.annotations.media.Schema;
  7 +import lombok.Data;
8 8 import org.springframework.format.annotation.DateTimeFormat;
  9 +
  10 +import java.math.BigDecimal;
9 11 import java.time.LocalDateTime;
  12 +import java.util.Map;
10 13  
11 14 import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
12 15  
... ... @@ -45,4 +48,10 @@ public class WaterFeePageReqVO extends PageParam {
45 48 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
46 49 private LocalDateTime[] createTime;
47 50  
48   -}
49 51 \ No newline at end of file
  52 + public static final Map<String, SFunction<WaterFeeDO, ?>> SORT_FIELD_MAP = Map.of(
  53 + "id", WaterFeeDO::getId,
  54 + "totalFee", WaterFeeDO::getTotalFee,
  55 + "waterUsage", WaterFeeDO::getWaterUsage,
  56 + "createTime", WaterFeeDO::getCreateTime
  57 + );
  58 +}
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/mechanicalcost/MechanicalCostDO.java
... ... @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
4 4 import com.baomidou.mybatisplus.annotation.TableField;
5 5 import com.baomidou.mybatisplus.annotation.TableId;
6 6 import com.baomidou.mybatisplus.annotation.TableName;
  7 +import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
7 8 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
8 9 import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO;
9 10 import lombok.*;
... ... @@ -11,6 +12,7 @@ import lombok.*;
11 12 import java.math.BigDecimal;
12 13 import java.time.LocalDate;
13 14 import java.util.List;
  15 +import java.util.Map;
14 16  
15 17 /**
16 18 * 自有机械费用录入 DO
... ... @@ -98,5 +100,16 @@ public class MechanicalCostDO extends BaseDO {
98 100 */
99 101 private String remark;
100 102  
  103 + static final Map<String, SFunction<MechanicalCostDO, ?>> SORT_FIELD_MAP = Map.of(
  104 + "id", MechanicalCostDO::getId,
  105 + "unitPrice", MechanicalCostDO::getUnitPrice,
  106 + "quantity", MechanicalCostDO::getQuantity,
  107 + "licensePlate", MechanicalCostDO::getLicensePlate,
  108 + "vehicleCategory", MechanicalCostDO::getVehicleCategory,
  109 + "vehicleType", MechanicalCostDO::getVehicleType,
  110 + "startUseTime", MechanicalCostDO::getStartUseTime,
  111 + "endUseTime", MechanicalCostDO::getEndUseTime,
  112 + "serviceLife", MechanicalCostDO::getServiceLife
  113 + );
101 114  
102 115 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/departmentcost/DepartmentCostMapper.java
1 1 package com.zteits.urbanops.module.garden.dal.mysql.departmentcost;
2 2  
3   -import java.util.*;
4   -
5 3 import com.zteits.urbanops.framework.common.pojo.PageResult;
6   -import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
7 4 import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX;
  5 +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.DepartmentCostPageReqVO;
8 7 import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO;
9 8 import org.apache.ibatis.annotations.Mapper;
10   -import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.*;
  9 +
  10 +import java.util.List;
11 11  
12 12 /**
13 13 * 部门费用录入 Mapper
... ... @@ -29,7 +29,10 @@ public interface DepartmentCostMapper extends BaseMapperX&lt;DepartmentCostDO&gt; {
29 29 .eqIfPresent(DepartmentCostDO::getDeptId, reqVO.getDeptId())
30 30 .eqIfPresent(DepartmentCostDO::getRemark, reqVO.getRemark())
31 31 .betweenIfPresent(DepartmentCostDO::getCreateTime, reqVO.getCreateTime())
32   - .orderByDesc(DepartmentCostDO::getId));
  32 + .orderBy(reqVO.getSortCondition(), reqVO.getIsAsc(),
  33 + DepartmentCostPageReqVO.SORT_FIELD_MAP.get(reqVO.getSortField())
  34 + )
  35 + );
33 36 }
34 37 /**
35 38 * 批量查询重复数据
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/rentalmechanicalcost/RentalMechanicalCostMapper.java
1 1 package com.zteits.urbanops.module.garden.dal.mysql.rentalmechanicalcost;
2 2  
3   -import java.util.*;
4   -
5 3 import com.zteits.urbanops.framework.common.pojo.PageResult;
6   -import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
7 4 import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX;
  5 +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.DepartmentCostPageReqVO;
  7 +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.RentalMechanicalCostPageReqVO;
8 8 import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO;
9 9 import org.apache.ibatis.annotations.Mapper;
10   -import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.*;
11 10  
12 11 /**
13 12 * 租赁机械费用录入 Mapper
... ... @@ -36,7 +35,10 @@ public interface RentalMechanicalCostMapper extends BaseMapperX&lt;RentalMechanical
36 35 //.eqIfPresent(RentalMechanicalCostDO::getRoadIds, reqVO.getRoadIds())
37 36 ///.//eqIfPresent(RentalMechanicalCostDO::getRemark, reqVO.getRemark())
38 37 //.betweenIfPresent(RentalMechanicalCostDO::getCreateTime, reqVO.getCreateTime())
39   - .orderByDesc(RentalMechanicalCostDO::getId));
  38 + .orderBy(reqVO.getSortCondition(), reqVO.getIsAsc(),
  39 + RentalMechanicalCostPageReqVO.SORT_FIELD_MAP.get(reqVO.getSortField())
  40 + )
  41 + );
40 42 }
41 43  
42 44 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/wasterecord/WasteRecordMapper.java
1 1 package com.zteits.urbanops.module.garden.dal.mysql.wasterecord;
2 2  
3   -import java.util.*;
4   -
5 3 import com.zteits.urbanops.framework.common.pojo.PageResult;
6   -import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
7 4 import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX;
  5 +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import com.zteits.urbanops.module.garden.controller.admin.wasterecord.vo.WasteRecordPageReqVO;
8 7 import com.zteits.urbanops.module.garden.dal.dataobject.wasterecord.WasteRecordDO;
9 8 import org.apache.ibatis.annotations.Mapper;
10   -import com.zteits.urbanops.module.garden.controller.admin.wasterecord.vo.*;
11 9  
12 10 /**
13 11 * 园林废弃物录入 Mapper
... ... @@ -31,7 +29,11 @@ public interface WasteRecordMapper extends BaseMapperX&lt;WasteRecordDO&gt; {
31 29 .eqIfPresent(WasteRecordDO::getDeptId, reqVO.getDeptId())
32 30 .eqIfPresent(WasteRecordDO::getRemark, reqVO.getRemark())
33 31 .betweenIfPresent(WasteRecordDO::getCreateTime, reqVO.getCreateTime())
34   - .orderByDesc(WasteRecordDO::getId));
  32 + //.orderByDesc(WasteRecordDO::getId));
  33 + .orderBy(reqVO.getSortCondition(), reqVO.getIsAsc(),
  34 + WasteRecordPageReqVO.SORT_FIELD_MAP.get(reqVO.getSortField())
  35 + )
  36 + );
35 37 }
36 38  
37 39 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/waterfee/WaterFeeMapper.java
1 1 package com.zteits.urbanops.module.garden.dal.mysql.waterfee;
2 2  
3   -import java.util.*;
4   -
5 3 import com.zteits.urbanops.framework.common.pojo.PageResult;
6   -import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
7 4 import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX;
  5 +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import com.zteits.urbanops.module.garden.controller.admin.waterfee.vo.WaterFeePageReqVO;
8 7 import com.zteits.urbanops.module.garden.dal.dataobject.waterfee.WaterFeeDO;
9 8 import org.apache.ibatis.annotations.Mapper;
10   -import com.zteits.urbanops.module.garden.controller.admin.waterfee.vo.*;
  9 +
  10 +import java.util.List;
11 11  
12 12 /**
13 13 * 水费录入信息 Mapper
... ... @@ -29,7 +29,11 @@ public interface WaterFeeMapper extends BaseMapperX&lt;WaterFeeDO&gt; {
29 29 .eqIfPresent(WaterFeeDO::getDeptId, reqVO.getDeptId())
30 30 .eqIfPresent(WaterFeeDO::getCompanyId, reqVO.getCompanyId())
31 31 .betweenIfPresent(WaterFeeDO::getCreateTime, reqVO.getCreateTime())
32   - .orderByDesc(WaterFeeDO::getId));
  32 + //.orderByDesc(WaterFeeDO::getId));
  33 + .orderBy(reqVO.getSortCondition(), reqVO.getIsAsc(),
  34 + WaterFeePageReqVO.SORT_FIELD_MAP.get(reqVO.getSortField())
  35 + )
  36 + );
33 37 }
34 38  
35 39  
... ...