初始代码

This commit is contained in:
wangmingwei
2026-04-21 16:49:46 +08:00
parent aae9dc4036
commit f0453ff3a3
2396 changed files with 256575 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yunzhupaas</groupId>
<artifactId>yunzhupaas-java-boot</artifactId>
<version>5.2.0-RELEASE</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>yunzhupaas-generater-base</artifactId>
<dependencies>
<dependency>
<groupId>com.yunzhupaas</groupId>
<artifactId>yunzhupaas-provider</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.yunzhupaas</groupId>
<artifactId>yunzhupaas-visualdev-onlinedev-biz</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,15 @@
package com.yunzhupaas.model;
import java.lang.annotation.*;
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface FieLdsModelExcel {
String fieLdsModel() default "{}";
String type() default "mast";
}

View File

@@ -0,0 +1,32 @@
package com.yunzhupaas.model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description="子表条件组合模型")
public class GeneraterSwapModel {
@Schema(description = "表单json")
private String formDataStr;
@Schema(description = "表列表")
private String tableList;
@Schema(description = "子表名称")
private String childTable;
@Schema(description = "菜单id")
private String menuId;
@Schema(description = "查询条件json")
private String queryJson;
@Schema(description = "高级查询条件json")
private String superQueryJson;
@Schema(description = "pc列表")
private String columnData;
@Schema(description = "app列表")
private String appColumnData;
}

View File

@@ -0,0 +1,39 @@
package com.yunzhupaas.model;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.yunzhupaas.database.model.superQuery.SuperJsonModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.formula.functions.T;
import java.util.List;
import java.util.Map;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QueryAllModel {
private MPJLambdaWrapper wrapper;
private Map<String,Class> classMap;
/**
* 数据过滤
*/
private String ruleJson;
/**
* 高级查询
*/
private String superJson;
/**
* 数据权限-通过菜单id查询
*/
private String moduleId;
private String dbLink;
private String dbType;
/**
* 所有分组都放进来统一处理
*/
private List<List<SuperJsonModel>> queryList;
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.model;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QueryModel<T> {
private QueryWrapper<T> obj;
private Class<T> entity;
private String queryJson;
private String moduleId;
private String dbLink;
private String dbType;
public QueryModel(QueryWrapper<T> obj, Class<T> entity, String queryJsonOrModuleId, String dbLink) {
this.obj = obj;
this.entity = entity;
this.queryJson = queryJsonOrModuleId;
this.moduleId = queryJsonOrModuleId;
this.dbLink = dbLink;
}
}

View File

@@ -0,0 +1,502 @@
package com.yunzhupaas.util;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yunzhupaas.util.visiual.YunzhupaasKeyConsts;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class GenUtil {
/**
* 字段说明
*/
private String fieldName;
/**
* 运算符
*/
private String operator;
/**
* 逻辑拼接符号
*/
private String logic;
/**
* 组件标识
*/
private String yunzhupaasKey;
/**
* 字段key
*/
private String field;
/**
* 自定义的值
*/
private String fieldValue;
/**
* 自定义的值2
*/
private String fieldValue2;
private List<String> selectIgnore;
/**
* 数据库类型
*/
private String dbType;
/**
* 日期格式
*/
private String format;
/**
* 数字精度
*/
private String precision;
/**
* @param wrapper wrapper对象
* @param fieldDb 数据库字段名实际包括前缀
* @return
*/
public QueryWrapper<?> solveValue(QueryWrapper<?> wrapper, String fieldDb) {
MyType myType = myControl(yunzhupaasKey);
if ("||".equals(logic)) {
wrapper.or();
}
if (fieldValue == null) {
fieldValue = "";
}
try {
ArrayList splitKey = new ArrayList<String>() {{
add(YunzhupaasKeyConsts.DATE);
add(YunzhupaasKeyConsts.TIME);
add(YunzhupaasKeyConsts.NUM_INPUT);
add(YunzhupaasKeyConsts.CREATETIME);
add(YunzhupaasKeyConsts.MODIFYTIME);
}};
if (splitKey.contains(yunzhupaasKey) && "between".equals(operator)) {
List<String> data = JsonUtil.getJsonToList(fieldValue, String.class);
fieldValue = data.get(0);
fieldValue2 = data.get(1);
}
selectIgnore = new ArrayList<String>() {{
add(YunzhupaasKeyConsts.COMSELECT);
add(YunzhupaasKeyConsts.ADDRESS);
add(YunzhupaasKeyConsts.CASCADER);
add(YunzhupaasKeyConsts.CHECKBOX);
add(YunzhupaasKeyConsts.DEPSELECT);
}};
myType.judge(wrapper, fieldDb);
return wrapper;
} catch (Exception e) {
return wrapper;
}
}
/**
* 判断控件的所属类型
*
* @param yunzhupaasKey 控件标识
* @return 控件类型
*/
public MyType myControl(String yunzhupaasKey) {
MyType myType = null;
switch (yunzhupaasKey) {
/** 基础 */
case YunzhupaasKeyConsts.COM_INPUT:
case YunzhupaasKeyConsts.TEXTAREA:
case YunzhupaasKeyConsts.BILLRULE:
case YunzhupaasKeyConsts.POPUPTABLESELECT:
case YunzhupaasKeyConsts.RELATIONFORM:
case YunzhupaasKeyConsts.RELATIONFORM_ATTR:
case YunzhupaasKeyConsts.POPUPSELECT:
case YunzhupaasKeyConsts.POPUPSELECT_ATTR:
myType = new BasicControl();
break;
// 数字类型
case YunzhupaasKeyConsts.CALCULATE:
case YunzhupaasKeyConsts.NUM_INPUT:
myType = new NumControl();
break;
// 日期类型
case YunzhupaasKeyConsts.DATE:
case YunzhupaasKeyConsts.CREATETIME:
case YunzhupaasKeyConsts.MODIFYTIME:
myType = new DateControl();
break;
// 时间类型
case YunzhupaasKeyConsts.TIME:
myType = new TimeControl();
break;
// 下拉类型
default:
myType = new SelectControl();
}
return myType;
}
public void getNullWrapper(QueryWrapper<?> wrapper, String fieldDb) {
if ("||".equals(logic)) {
wrapper.or(t -> {
t.isNull(fieldDb);
t.or().eq(fieldDb, "");
t.or().eq(fieldDb, "[]");
});
} else {
wrapper.and(t -> {
t.isNull(fieldDb);
t.or().eq(fieldDb, "");
t.or().eq(fieldDb, "[]");
});
}
}
private void getNotNullWrapper(QueryWrapper<?> wrapper, String fieldDb) {
if ("||".equals(logic)) {
wrapper.or(t -> {
t.isNotNull(fieldDb);
t.ne(fieldDb, "");
t.ne(fieldDb, "[]");
});
} else {
wrapper.and(t -> {
t.isNotNull(fieldDb);
t.ne(fieldDb, "");
t.ne(fieldDb, "[]");
});
}
}
/**
* 基础类型
*/
class BasicControl extends MyType {
@Override
void judge(QueryWrapper<?> wrapper, String fieldDb) {
switch (operator) {
case "null":
getNullWrapper(wrapper, fieldDb);
break;
case "notNull":
getNotNullWrapper(wrapper, fieldDb);
break;
case "==":
wrapper.eq(fieldDb, fieldValue);
break;
case "<>":
wrapper.ne(fieldDb, fieldValue);
break;
case "like":
wrapper.like(fieldDb, fieldValue);
break;
case "notLike":
wrapper.notLike(fieldDb, fieldValue);
break;
}
}
}
class NumControl extends MyType {
@Override
void judge(QueryWrapper<?> wrapper, String fieldDb) {
BigDecimal num1 = new BigDecimal(fieldValue);
BigDecimal num2 = null;
if (fieldValue2 != null) {
num2 = new BigDecimal(fieldValue2);
}
// 精度处理
String fieldPrecisionValue;
String fieldPrecisionValue2;
if (StringUtils.isNotBlank(precision)) {
String yunzhupaasNum = "0." + StringUtils.repeat("0", Integer.parseInt(precision));
DecimalFormat numFormat = new DecimalFormat(yunzhupaasNum);
fieldPrecisionValue = numFormat.format(new BigDecimal(fieldValue));
num1 = new BigDecimal(fieldPrecisionValue);
if (fieldValue2 != null) {
fieldPrecisionValue2 = numFormat.format(new BigDecimal(fieldValue2));
num2 = new BigDecimal(fieldPrecisionValue2);
}
}
switch (operator) {
case "null":
getNullWrapper(wrapper, fieldDb);
break;
case "notNull":
getNotNullWrapper(wrapper, fieldDb);
break;
case "==":
wrapper.eq(fieldDb, num1);
break;
case "<>":
wrapper.ne(fieldDb, num1);
break;
case ">":
wrapper.gt(fieldDb, num1);
break;
case "<":
wrapper.lt(fieldDb, num1);
break;
case ">=":
wrapper.ge(fieldDb, num1);
break;
case "<=":
wrapper.le(fieldDb, num1);
break;
case "between":
wrapper.between(fieldDb, num1, num2);
break;
}
}
}
class DateControl extends MyType {
@Override
void judge(QueryWrapper<?> wrapper, String fieldDb) {
Long time = null;
Long time2 = null;
Date date = new Date();
Date date2 = new Date();
if (StringUtils.isNoneBlank(fieldValue)) {
time = Long.valueOf(fieldValue);
date = new Date(time);
}
if (StringUtils.isNoneBlank(fieldValue2)) {
time2 = Long.valueOf(fieldValue2);
// 日期类型的要加上当天的23:59:59
if (YunzhupaasKeyConsts.DATE.equals(yunzhupaasKey)) {
date2 = new Date(time2 + 60 * 60 * 24 * 1000 - 1000);
} else {
date2 = new Date(time2);
}
}
switch (operator) {
case "null":
getNullWrapper(wrapper, fieldDb);
break;
case "notNull":
getNotNullWrapper(wrapper, fieldDb);
break;
case "==":
if (YunzhupaasKeyConsts.DATE.equals(yunzhupaasKey)) {
wrapper.between(fieldDb, date, new Date(time + 60 * 60 * 24 * 1000));
} else {
wrapper.eq(fieldDb, date);
}
break;
case "<>":
wrapper.ne(fieldDb, date);
break;
case ">":
wrapper.gt(fieldDb, date);
break;
case "<":
wrapper.lt(fieldDb, date);
break;
case ">=":
wrapper.ge(fieldDb, date);
break;
case "<=":
wrapper.le(fieldDb, date);
break;
case "between":
wrapper.between(fieldDb, date, date2);
break;
}
}
}
class TimeControl extends MyType {
@Override
void judge(QueryWrapper<?> wrapper, String fieldDb) {
switch (operator) {
case "null":
getNullWrapper(wrapper, fieldDb);
break;
case "notNull":
getNotNullWrapper(wrapper, fieldDb);
break;
case "==":
wrapper.eq(fieldDb, fieldValue);
break;
case "<>":
wrapper.ne(fieldDb, fieldValue);
break;
case ">":
wrapper.gt(fieldDb, fieldValue);
break;
case "<":
wrapper.lt(fieldDb, fieldValue);
break;
case ">=":
wrapper.ge(fieldDb, fieldValue);
break;
case "<=":
wrapper.le(fieldDb, fieldValue);
break;
case "between":
wrapper.between(fieldDb, fieldValue, fieldValue2);
break;
}
}
}
private ArrayList<String> solveListValue(String fieldValue) {
ArrayList<String> result = new ArrayList<>();
try {
List<List> list = JsonUtil.getJsonToList(fieldValue, List.class);
for (List listSub : list) {
result.add(JSONArray.toJSONString(listSub));
// 组织选择需要取最后每个数组最后一个
String value = (String)listSub.get(listSub.size() - 1);
result.add(value);
}
}catch (Exception e){
List<String> list = JsonUtil.getJsonToList(fieldValue, String.class);
result.add(JSONArray.toJSONString(list));
String value = list.get(list.size() - 1);
result.add(value);
}
return result;
}
/**
* 下拉控件类型
*/
class SelectControl extends MyType {
@Override
void judge(QueryWrapper<?> wrapper, String fieldDb) {
List<String> list = solveListValue(fieldValue);
if (StringUtils.isNoneBlank(fieldValue) && fieldValue.charAt(0) == '[' && !selectIgnore.contains(yunzhupaasKey)) {
list = JSONUtil.toList(fieldValue, String.class);
}
if (selectIgnore.contains(yunzhupaasKey) && StringUtils.isBlank(fieldValue)) {
fieldValue = "[]";
}
switch (operator) {
case "null":
getNullWrapper(wrapper, fieldDb);
break;
case "notNull":
getNotNullWrapper(wrapper, fieldDb);
break;
case "==":
wrapper.eq(fieldDb, fieldValue);
break;
case "<>":
wrapper.ne(fieldDb, fieldValue);
break;
case "like":
wrapper.like(fieldDb, fieldValue);
break;
case "notLike":
wrapper.notLike(fieldDb, fieldValue);
break;
case "in":
if (list.size() > 0) {
List<String> finalList = list;
if ("||".equals(logic)) {
wrapper.or(t -> {
if (finalList.size() > 0) {
for (int i = 0; i < finalList.size(); i++) {
String value = finalList.get(i);
if (i == 0) {
t.like(fieldDb, value);
} else {
t.or().like(fieldDb, value);
}
}
}
});
} else {
wrapper.and(t -> {
if (finalList.size() > 0) {
for (int i = 0; i < finalList.size(); i++) {
String value = finalList.get(i);
if (i == 0) {
t.like(fieldDb, value);
} else {
t.or().like(fieldDb, value);
}
}
}
});
}
if(YunzhupaasKeyConsts.CASCADER.equals(yunzhupaasKey) || YunzhupaasKeyConsts.COMSELECT.equals(yunzhupaasKey) || YunzhupaasKeyConsts.ADDRESS.equals(yunzhupaasKey)){
getNotNullWrapper(wrapper,fieldDb);
}
}
break;
case "notIn":
if (list.size() > 0) {
List<String> finalList1 = list;
if ("||".equals(logic)) {
wrapper.or(t -> {
if (finalList1.size() > 0) {
for (int i = 0; i < finalList1.size(); i++) {
String value = finalList1.get(i);
if (i == 0) {
t.notLike(fieldDb, value);
} else {
t.notLike(fieldDb, value);
}
}
}
});
} else {
wrapper.and(t -> {
if (finalList1.size() > 0) {
for (int i = 0; i < finalList1.size(); i++) {
String value = finalList1.get(i);
if (i == 0) {
t.notLike(fieldDb, value);
} else {
t.notLike(fieldDb, value);
}
}
}
});
}
if(YunzhupaasKeyConsts.CASCADER.equals(yunzhupaasKey) || YunzhupaasKeyConsts.COMSELECT.equals(yunzhupaasKey) || YunzhupaasKeyConsts.ADDRESS.equals(yunzhupaasKey)){
getNotNullWrapper(wrapper,fieldDb);
}
}
break;
}
}
}
abstract class MyType {
abstract void judge(QueryWrapper<?> wrapper, String fieldDb);
}
}

View File

@@ -0,0 +1,284 @@
package com.yunzhupaas.util;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.yunzhupaas.database.model.superQuery.SuperJsonModel;
import com.yunzhupaas.database.model.superQuery.SuperQueryJsonModel;
import com.yunzhupaas.emnus.SearchMethodEnum;
import com.yunzhupaas.model.QueryAllModel;
import com.yunzhupaas.model.visualJson.FieLdsModel;
import com.yunzhupaas.model.visualJson.config.ConfigModel;
import com.yunzhupaas.onlinedev.util.onlineDevUtil.OnlineProductSqlUtils;
import lombok.Data;
import org.apache.poi.ss.formula.functions.T;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Data
public class QueryUtil {
/**
* 运算符
*/
private SearchMethodEnum symbol;
/**
* 逻辑拼接符号
*/
private boolean and;
/**
* 组件标识
*/
private String yunzhupaasKey;
/**
* 字段key
*/
private String vModel;
/**
* 自定义的值
*/
private Object fieldValue;
/**
* 自定义的值2
*/
private Object fieldValueTwo;
/**
* 实体对象
*/
private Map<String, Class> classMap;
/**
* 数据库类型
*/
private String dbType;
private Boolean isSqlServer = false;
private List<String> dataList = new ArrayList<>();
public <T> MPJLambdaWrapper<T> queryList(QueryAllModel queryAllModel) {
MPJLambdaWrapper<T> wrapper = queryAllModel.getWrapper();
classMap = queryAllModel.getClassMap();
dbType = queryAllModel.getDbType();
isSqlServer = "Microsoft SQL Server".equalsIgnoreCase(dbType);
List<List<SuperJsonModel>> superJsonModelList = queryAllModel.getQueryList();
for (List<SuperJsonModel> list : superJsonModelList) {
boolean flag = false;
for (SuperJsonModel superJsonModel : list) {
if (superJsonModel.getConditionList().size() > 0) {
for (SuperQueryJsonModel item : superJsonModel.getConditionList()) {
if (item.getGroups().size() > 0) {
flag = true;
}
}
}
}
if (list.size() > 0 && flag) {
wrapper.and(gw -> {
for (SuperJsonModel superJsonModel : list) {
String matchLogic = superJsonModel.getMatchLogic();
Boolean authorizeLogic = superJsonModel.getAuthorizeLogic();
boolean isAddMatchLogic = SearchMethodEnum.And.getSymbol().equalsIgnoreCase(matchLogic);
List<SuperQueryJsonModel> conditionList = superJsonModel.getConditionList();
if (conditionList.size() == 0)
continue;
// 参数值转换
OnlineProductSqlUtils.superList(conditionList, true);
if (authorizeLogic) {
gw.and(tw -> {
queryWrapperList(tw, conditionList, isAddMatchLogic);
});
} else {
gw.or(tw -> {
queryWrapperList(tw, conditionList, isAddMatchLogic);
});
}
}
});
}
}
return wrapper;
}
private <T> void queryWrapperList(MPJLambdaWrapper<T> tw, List<SuperQueryJsonModel> conditionList,
boolean isAddMatchLogic) {
for (SuperQueryJsonModel superQueryJsonModel : conditionList) {
String logic = superQueryJsonModel.getLogic();
and = SearchMethodEnum.And.getSymbol().equalsIgnoreCase(logic);
List<FieLdsModel> queryList = superQueryJsonModel.getGroups();
if (queryList.size() > 0) {
queryWrapper(tw, queryList, isAddMatchLogic);
}
}
}
private <T> void queryWrapper(MPJLambdaWrapper<T> tw, List<FieLdsModel> queryListAll, boolean isAnd) {
if (isAnd) {
tw.and(qw -> {
query(qw, queryListAll);
});
} else {
tw.or(qw -> {
query(qw, queryListAll);
});
}
}
private <T> void query(MPJLambdaWrapper<T> qw, List<FieLdsModel> queryListAll) {
for (FieLdsModel fieLdsModel : queryListAll) {
List<FieLdsModel> queryList = new ArrayList() {
{
add(fieLdsModel);
}
};
if (and) {
qw.and(ew -> {
fieldsModel(ew, queryList);
});
} else {
qw.or(ew -> {
fieldsModel(ew, queryList);
});
}
}
}
private void fieldsModel(MPJLambdaWrapper wrapper, List<FieLdsModel> queryList) {
for (FieLdsModel fieLdsModel : queryList) {
ConfigModel config = fieLdsModel.getConfig();
yunzhupaasKey = config.getYunzhupaasKey();
symbol = SearchMethodEnum.getSearchMethod(fieLdsModel.getSymbol());
vModel = fieLdsModel.getVModel();
if (!and) {
wrapper.or();
}
String table = ObjectUtil.isNotEmpty(config.getRelationTable()) ? config.getRelationTable()
: config.getTableName();
Class<T> tClass = classMap.get(table);
try {
Field declaredField = null;
Field[] declaredFields = tClass.getDeclaredFields();
for (Field item : declaredFields) {
String tableFieldName = item.getAnnotation(TableField.class) == null ? ""
: item.getAnnotation(TableField.class).value();
if (vModel.equalsIgnoreCase(tableFieldName) || item.getName().equals(vModel)) {
declaredField = item;
break;
}
}
declaredField.setAccessible(true);
vModel = table + "." + declaredField.getAnnotation(TableField.class).value();
} catch (Exception e) {
e.printStackTrace();
}
fieldValue = fieLdsModel.getFieldValueOne();
fieldValueTwo = fieLdsModel.getFieldValueTwo();
dataList = fieLdsModel.getDataList();
getSymbolWrapper(wrapper);
}
}
private void getNullWrapper(MPJLambdaWrapper<?> wrapper) {
if (!and) {
wrapper.or(t -> t.isNull(vModel));
} else {
wrapper.and(t -> t.isNull(vModel));
}
}
private void getNotNullWrapper(MPJLambdaWrapper<?> wrapper) {
if (!and) {
wrapper.or(t -> t.isNotNull(vModel));
} else {
wrapper.and(t -> t.isNotNull(vModel));
}
}
private void getInWrapper(MPJLambdaWrapper<?> wrapper) {
if (!and) {
wrapper.or(qw -> {
for (String id : dataList) {
if (isSqlServer) {
id = String.valueOf(id).replaceAll("\\[", "[[]");
}
switch (symbol) {
case Included:
qw.or().like(vModel, id);
break;
default:
qw.notLike(vModel, id);
break;
}
}
});
} else {
wrapper.and(qw -> {
for (String id : dataList) {
if (isSqlServer) {
id = String.valueOf(id).replaceAll("\\[", "[[]");
}
switch (symbol) {
case Included:
qw.or().like(vModel, id);
break;
default:
qw.notLike(vModel, id);
break;
}
}
});
}
}
private void getSymbolWrapper(MPJLambdaWrapper<?> wrapper) {
switch (symbol) {
case IsNull:
getNullWrapper(wrapper);
break;
case IsNotNull:
getNotNullWrapper(wrapper);
break;
case Equal:
wrapper.eq(vModel, fieldValue);
break;
case NotEqual:
wrapper.ne(vModel, fieldValue);
break;
case GreaterThan:
wrapper.gt(vModel, fieldValue);
break;
case LessThan:
wrapper.lt(vModel, fieldValue);
break;
case GreaterThanOrEqual:
wrapper.ge(vModel, fieldValue);
break;
case LessThanOrEqual:
wrapper.le(vModel, fieldValue);
break;
case Like:
if (isSqlServer) {
fieldValue = String.valueOf(fieldValue).replaceAll("\\[", "[[]");
}
wrapper.like(vModel, fieldValue);
break;
case NotLike:
if (isSqlServer) {
fieldValue = String.valueOf(fieldValue).replaceAll("\\[", "[[]");
}
wrapper.notLike(vModel, fieldValue);
break;
case Included:
case NotIncluded:
getInWrapper(wrapper);
break;
case Between:
wrapper.between(vModel, fieldValue, fieldValueTwo);
break;
default:
break;
}
}
}