#
luxiaotao1123
2024-02-16 02eb9d41eb2f201ce18d8481f56d82fb89641d42
#
3个文件已修改
216 ■■■■■ 已修改文件
zy-asrs-flow/src/components/TableSearch/index.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/components/TableSearch/index.jsx
@@ -1,8 +1,10 @@
import React from 'react';
import { Input, Button, Space, Select, DatePicker } from 'antd';
import Http from '@/utils/http';
import moment from 'moment';
const NONE_OPTION = -9999;
const DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss';
const TextFilter = (props) => {
    return (
@@ -120,9 +122,9 @@
                        onChange={changeDates => {
                            setDates(changeDates);
                            if (changeDates && changeDates[0] && changeDates[1]) {
                                const changeStartStr = changeDates[0]?.toISOString()
                                const changeStartStr = moment(changeDates[0]).format(DATE_FORMAT);
                                setStartDate(changeStartStr);
                                const changeEndStr = changeDates[1]?.toISOString()
                                const changeEndStr = moment(changeDates[1]).format(DATE_FORMAT);
                                setEndDate(changeEndStr);
                                props.setSelectedKeys([changeStartStr + '-' + changeEndStr]);
                            }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
@@ -1,17 +1,11 @@
package com.zy.asrs.wcs.common.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.domain.QueryField;
import com.zy.asrs.framework.domain.QueryType;
import com.zy.asrs.framework.common.DateUtils;
import com.zy.asrs.wcs.utils.Utils;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
/**
@@ -50,124 +44,97 @@
        }
    }
    /**
     * @param excludes 不包含的字段
     */
    public QueryWrapper<T> getWrapper(String... excludes) {
        return buildWrapper(null, Arrays.asList(excludes));
    public QueryWrapper<T> buildWrapper() {
        return this.buildWrapper(false);
    }
    /**
     * @param columns 只包含的字段
     */
    public QueryWrapper<T> getWrapperWith(String... columns) {
        return buildWrapper(Arrays.asList(columns), null);
    }
    private QueryWrapper<T> buildWrapper(List<String> columns, List<String> excludes) {
    @SuppressWarnings("all")
    public QueryWrapper<T> buildWrapper(boolean like) {
        QueryWrapper<T> queryWrapper = new QueryWrapper<>();
        Map<String, Object> map = Cools.conver(where);
        for (String fieldName : map.keySet()) {
            Object fieldValue = map.get(fieldName);
            Field field = Cools.getField(where.getClass(), fieldName);
            assert field != null;
            // 过滤不包含的字段
            if (columns != null && !columns.contains(fieldName)) {
                continue;
            }
        Map<String, Object> map = where.getMap();
        for (String key : map.keySet()) {
            Object val = map.get(key);
            // 过滤排除的字段
            if (excludes != null && excludes.contains(fieldName)) {
                continue;
            }
            // 过滤逻辑删除字段
            if (field.getAnnotation(TableLogic.class) != null) {
                continue;
            }
            // 过滤租户id字段
            if (fieldName.equals("hostId")) {
                continue;
            }
            // 获取注解指定的查询字段及查询方式
            QueryType queryType = QueryType.LIKE;
            QueryField queryField = field.getAnnotation(QueryField.class);
            if (queryField != null) {
                if (!Cools.isEmpty(queryField.value())) {
                    fieldName = queryField.value();
            if (key.contains("Range")) {
                ArrayList<String> list = null;
                if (val instanceof ArrayList) {
                    list = (ArrayList<String>) val;
                }
                queryField.type();
                queryType = queryField.type();
                if (null != list) {
                    key = key.replaceAll("Range", "");
                    if (this.isToUnderlineCase) {
                        key = Utils.toSymbolCase(key, '_');
                    }
                    queryWrapper.ge(key, DateUtils.convert(list.get(0)));
                    queryWrapper.le(key, DateUtils.convert(list.get(1)));
                }
            } else {
                // 过滤非本表的字段
                TableField tableField = field.getAnnotation(TableField.class);
                if (tableField != null && !tableField.exist()) {
                    continue;
                if (this.isToUnderlineCase) {
                    key = Utils.toSymbolCase(key, '_');
                }
                if (like) {
                    queryWrapper.like(key, val);
                } else {
                    queryWrapper.eq(key, val);
                }
            }
            // 字段名驼峰转下划线
            if (this.isToUnderlineCase) {
                fieldName = Utils.toSymbolCase(fieldName, '_');
            }
            switch (queryType) {
                case EQ:
                    queryWrapper.eq(fieldName, fieldValue);
                    break;
                case NE:
                    queryWrapper.ne(fieldName, fieldValue);
                    break;
                case GT:
                    queryWrapper.gt(fieldName, fieldValue);
                    break;
                case GE:
                    queryWrapper.ge(fieldName, fieldValue);
                    break;
                case LT:
                    queryWrapper.lt(fieldName, fieldValue);
                    break;
                case LE:
                    queryWrapper.le(fieldName, fieldValue);
                    break;
                case LIKE:
                    queryWrapper.like(fieldName, fieldValue);
                    break;
                case NOT_LIKE:
                    queryWrapper.notLike(fieldName, fieldValue);
                    break;
                case LIKE_LEFT:
                    queryWrapper.likeLeft(fieldName, fieldValue);
                    break;
                case LIKE_RIGHT:
                    queryWrapper.likeRight(fieldName, fieldValue);
                    break;
                case IS_NULL:
                    queryWrapper.isNull(fieldName);
                    break;
                case IS_NOT_NULL:
                    queryWrapper.isNotNull(fieldName);
                    break;
                case IN:
                    queryWrapper.in(fieldName, fieldValue);
                    break;
                case NOT_IN:
                    queryWrapper.notIn(fieldName, fieldValue);
                    break;
                case IN_STR:
                    if (fieldValue instanceof String) {
                        queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(",")));
                    }
                    break;
                case NOT_IN_STR:
                    if (fieldValue instanceof String) {
                        queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(",")));
                    }
                    break;
            }
//            switch (queryType) {
//                case EQ:
//                    queryWrapper.eq(fieldName, fieldValue);
//                    break;
//                case NE:
//                    queryWrapper.ne(fieldName, fieldValue);
//                    break;
//                case GT:
//                    queryWrapper.gt(fieldName, fieldValue);
//                    break;
//                case GE:
//                    queryWrapper.ge(fieldName, fieldValue);
//                    break;
//                case LT:
//                    queryWrapper.lt(fieldName, fieldValue);
//                    break;
//                case LE:
//                    queryWrapper.le(fieldName, fieldValue);
//                    break;
//                case LIKE:
//                    queryWrapper.like(fieldName, fieldValue);
//                    break;
//                case NOT_LIKE:
//                    queryWrapper.notLike(fieldName, fieldValue);
//                    break;
//                case LIKE_LEFT:
//                    queryWrapper.likeLeft(fieldName, fieldValue);
//                    break;
//                case LIKE_RIGHT:
//                    queryWrapper.likeRight(fieldName, fieldValue);
//                    break;
//                case IS_NULL:
//                    queryWrapper.isNull(fieldName);
//                    break;
//                case IS_NOT_NULL:
//                    queryWrapper.isNotNull(fieldName);
//                    break;
//                case IN:
//                    queryWrapper.in(fieldName, fieldValue);
//                    break;
//                case NOT_IN:
//                    queryWrapper.notIn(fieldName, fieldValue);
//                    break;
//                case IN_STR:
//                    if (fieldValue instanceof String) {
//                        queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(",")));
//                    }
//                    break;
//                case NOT_IN_STR:
//                    if (fieldValue instanceof String) {
//                        queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(",")));
//                    }
//                    break;
//            }
        }
        return queryWrapper;
    }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
@@ -25,19 +25,12 @@
    @Autowired
    private RoleService roleService;
//    @PreAuthorize("hasAuthority('sys:role:list')")
//    @PostMapping("/role/page")
//    public R page(@RequestBody BaseParam param) {
//        PageParam<Role, BaseParam> page = new PageParam<>(param);
//        return R.ok().add(roleService.page(page, page.getWrapper()));
//    }
    @PreAuthorize("hasAuthority('sys:role:list')")
    @PostMapping("/role/page")
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Role, BaseParam> page = new PageParam<>(baseParam);
        return R.ok().add(roleService.page(page, page.getWrapper()));
        PageParam<Role, BaseParam> pageParam = new PageParam<>(baseParam);
        return R.ok().add(roleService.page(pageParam, pageParam.buildWrapper()));
    }
    @PreAuthorize("hasAuthority('sys:role:list')")