bug修复

This commit is contained in:
guo 2023-12-25 13:44:28 +08:00
parent fdab6f8123
commit 147de25b70
3 changed files with 28 additions and 9 deletions

View File

@ -74,7 +74,7 @@ public class QueryGenerator {
public static <T> QueryWrapper<T> initQueryWrapper(T searchObj) { public static <T> QueryWrapper<T> initQueryWrapper(T searchObj) {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
QueryWrapper<T> queryWrapper = new QueryWrapper<T>(); QueryWrapper<T> queryWrapper = new QueryWrapper<T>();
installMplus_(queryWrapper, searchObj, null, null); installMplus_(queryWrapper, searchObj, null, null, null, null);
log.info("---查询条件构造器初始化完成,耗时:" + (System.currentTimeMillis() - start) + "毫秒----"); log.info("---查询条件构造器初始化完成,耗时:" + (System.currentTimeMillis() - start) + "毫秒----");
return queryWrapper; return queryWrapper;
} }
@ -82,19 +82,24 @@ public class QueryGenerator {
/** /**
* 获取查询条件构造器QueryWrapper实例 通用查询条件已被封装完成 * 获取查询条件构造器QueryWrapper实例 通用查询条件已被封装完成
* *
* @param map 查询map * @param map 查询map
* @param likeFields RefUtil.fieldNames
* @return QueryWrapper实例 * @return QueryWrapper实例
*/ */
public static <T> QueryWrapper<T> initPageQueryWrapper(Class T, Map<String, Object> map, String alias) { public static <T> QueryWrapper<T> initPageQueryWrapper(Class t, Map<String, Object> map, String alias, List<String> excludeFields, List<String> likeFields) {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
QueryWrapper<T> queryWrapper = new QueryWrapper<T>(); QueryWrapper<T> queryWrapper = new QueryWrapper<T>();
installMplus_(queryWrapper, JSONObject.parseObject(JSONObject.toJSONString(map), T), initParamMap(map), alias); installMplus_(queryWrapper, JSONObject.parseObject(JSONObject.toJSONString(map), t), initParamMap(map), alias, excludeFields, likeFields);
log.info("---查询条件构造器初始化完成,耗时:" + (System.currentTimeMillis() - start) + "毫秒----"); log.info("---查询条件构造器初始化完成,耗时:" + (System.currentTimeMillis() - start) + "毫秒----");
return queryWrapper; return queryWrapper;
} }
public static <T> QueryWrapper<T> initPageQueryWrapper(Class T, Map<String, Object> map) { public static <T> QueryWrapper<T> initPageQueryWrapper(Class t, Map<String, Object> map, String alias) {
return initPageQueryWrapper(T, map, null); return initPageQueryWrapper(t, map, alias, null, null);
}
public static <T> QueryWrapper<T> initPageQueryWrapper(Class t, Map<String, Object> map) {
return initPageQueryWrapper(t, map, null);
} }
private static Map<String, String[]> initParamMap(Map<String, Object> map) { private static Map<String, String[]> initParamMap(Map<String, Object> map) {
@ -116,7 +121,7 @@ public class QueryGenerator {
* <br>正确示例:QueryWrapper<JeecgDemo> queryWrapper = new QueryWrapper<JeecgDemo>(); * <br>正确示例:QueryWrapper<JeecgDemo> queryWrapper = new QueryWrapper<JeecgDemo>();
* <br>3.也可以不使用这个方法直接调用 {@link #initQueryWrapper}直接获取实例 * <br>3.也可以不使用这个方法直接调用 {@link #initQueryWrapper}直接获取实例
*/ */
public static void installMplus_(QueryWrapper<?> queryWrapper, Object searchObj, Map<String, String[]> parameterMap, String alias) { public static void installMplus_(QueryWrapper<?> queryWrapper, Object searchObj, Map<String, String[]> parameterMap, String alias, List<String> excludeFields, List<String> likeFields) {
/* /*
* 注意:权限查询由前端配置数据规则 当一个人有多个所属部门时候 可以在规则配置包含条件 orgCode 包含 #{sys_org_code} * 注意:权限查询由前端配置数据规则 当一个人有多个所属部门时候 可以在规则配置包含条件 orgCode 包含 #{sys_org_code}
@ -127,6 +132,11 @@ public class QueryGenerator {
//区间条件组装 模糊查询 高级查询组装 简单排序 权限查询 //区间条件组装 模糊查询 高级查询组装 简单排序 权限查询
PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(searchObj); PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(searchObj);
Set<String> fieldNameSet = null;
boolean enableAlias = org.apache.commons.lang3.StringUtils.isNotBlank(alias);
if (likeFields != null) {
fieldNameSet = new HashSet<>(likeFields);
}
String name, type; String name, type;
for (int i = 0; i < origDescriptors.length; i++) { for (int i = 0; i < origDescriptors.length; i++) {
@ -134,7 +144,13 @@ public class QueryGenerator {
name = origDescriptors[i].getName(); name = origDescriptors[i].getName();
type = origDescriptors[i].getPropertyType().toString(); type = origDescriptors[i].getPropertyType().toString();
try { try {
if (judgedIsUselessField(name) || !PropertyUtils.isReadable(searchObj, name) || !isExistTable(searchObj, name)) { if (judgedIsUselessField(name) || !PropertyUtils.isReadable(searchObj, name) || !isExistTable(searchObj, name) || (excludeFields != null && excludeFields.contains(name))) {
continue;
}
//模糊查询
if (fieldNameSet != null && fieldNameSet.contains(name)) {
Object v = PropertyUtils.getSimpleProperty(searchObj, name);
queryWrapper.like(!StrUtil.isBlankIfStr(v), enableAlias ? alias + StrUtil.toUnderlineCase(name) : StrUtil.toUnderlineCase(name), v);
continue; continue;
} }

View File

@ -43,6 +43,9 @@ public class RtProgressPaymentContract implements Serializable {
@Excel(name = "合同总价", width = 15) @Excel(name = "合同总价", width = 15)
@ApiModelProperty(value = "合同总价") @ApiModelProperty(value = "合同总价")
private java.lang.String totalContractPrice; private java.lang.String totalContractPrice;
@ApiModelProperty(value = "合同编号")
private java.lang.String contractNumber;
/** /**
* 申请进度款 * 申请进度款
*/ */

View File

@ -51,7 +51,7 @@ public class RtToolServiceImpl extends ServiceImpl<RtToolMapper, RtTool> impleme
private QueryWrapper<RtTool> getQueryWrapper(HashMap<String, Object> paramMap) { private QueryWrapper<RtTool> getQueryWrapper(HashMap<String, Object> paramMap) {
String alias = ""; String alias = "";
QueryWrapper<RtTool> queryWrapper = QueryGenerator.initPageQueryWrapper(RtTool.class, paramMap, alias); QueryWrapper<RtTool> queryWrapper = QueryGenerator.initPageQueryWrapper(RtTool.class, paramMap, alias, null, RefUtil.fieldNames(RtTool::getDevSn));
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtTool::getId)); queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtTool::getId));
return queryWrapper; return queryWrapper;
} }