diff --git a/src/main/java/com/zhgd/jeecg/common/system/query/QueryGenerator.java b/src/main/java/com/zhgd/jeecg/common/system/query/QueryGenerator.java index e673fa5af..613b8e05c 100644 --- a/src/main/java/com/zhgd/jeecg/common/system/query/QueryGenerator.java +++ b/src/main/java/com/zhgd/jeecg/common/system/query/QueryGenerator.java @@ -74,7 +74,7 @@ public class QueryGenerator { public static QueryWrapper initQueryWrapper(T searchObj) { long start = System.currentTimeMillis(); QueryWrapper queryWrapper = new QueryWrapper(); - installMplus_(queryWrapper, searchObj, null, null); + installMplus_(queryWrapper, searchObj, null, null, null, null); log.info("---查询条件构造器初始化完成,耗时:" + (System.currentTimeMillis() - start) + "毫秒----"); return queryWrapper; } @@ -82,19 +82,24 @@ public class QueryGenerator { /** * 获取查询条件构造器QueryWrapper实例 通用查询条件已被封装完成 * - * @param map 查询map + * @param map 查询map + * @param likeFields RefUtil.fieldNames * @return QueryWrapper实例 */ - public static QueryWrapper initPageQueryWrapper(Class T, Map map, String alias) { + public static QueryWrapper initPageQueryWrapper(Class t, Map map, String alias, List excludeFields, List likeFields) { long start = System.currentTimeMillis(); QueryWrapper queryWrapper = new QueryWrapper(); - 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) + "毫秒----"); return queryWrapper; } - public static QueryWrapper initPageQueryWrapper(Class T, Map map) { - return initPageQueryWrapper(T, map, null); + public static QueryWrapper initPageQueryWrapper(Class t, Map map, String alias) { + return initPageQueryWrapper(t, map, alias, null, null); + } + + public static QueryWrapper initPageQueryWrapper(Class t, Map map) { + return initPageQueryWrapper(t, map, null); } private static Map initParamMap(Map map) { @@ -116,7 +121,7 @@ public class QueryGenerator { *
正确示例:QueryWrapper queryWrapper = new QueryWrapper(); *
3.也可以不使用这个方法直接调用 {@link #initQueryWrapper}直接获取实例 */ - public static void installMplus_(QueryWrapper queryWrapper, Object searchObj, Map parameterMap, String alias) { + public static void installMplus_(QueryWrapper queryWrapper, Object searchObj, Map parameterMap, String alias, List excludeFields, List likeFields) { /* * 注意:权限查询由前端配置数据规则 当一个人有多个所属部门时候 可以在规则配置包含条件 orgCode 包含 #{sys_org_code} @@ -127,6 +132,11 @@ public class QueryGenerator { //区间条件组装 模糊查询 高级查询组装 简单排序 权限查询 PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(searchObj); + Set fieldNameSet = null; + boolean enableAlias = org.apache.commons.lang3.StringUtils.isNotBlank(alias); + if (likeFields != null) { + fieldNameSet = new HashSet<>(likeFields); + } String name, type; for (int i = 0; i < origDescriptors.length; i++) { @@ -134,7 +144,13 @@ public class QueryGenerator { name = origDescriptors[i].getName(); type = origDescriptors[i].getPropertyType().toString(); 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; } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtProgressPaymentContract.java b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtProgressPaymentContract.java index 2c8e5067e..0ea6fc50a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtProgressPaymentContract.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtProgressPaymentContract.java @@ -43,6 +43,9 @@ public class RtProgressPaymentContract implements Serializable { @Excel(name = "合同总价", width = 15) @ApiModelProperty(value = "合同总价") private java.lang.String totalContractPrice; + @ApiModelProperty(value = "合同编号") + private java.lang.String contractNumber; + /** * 申请进度款 */ diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtToolServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtToolServiceImpl.java index e9b38e706..fa736c9ac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtToolServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtToolServiceImpl.java @@ -51,7 +51,7 @@ public class RtToolServiceImpl extends ServiceImpl impleme private QueryWrapper getQueryWrapper(HashMap paramMap) { String alias = ""; - QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(RtTool.class, paramMap, alias); + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(RtTool.class, paramMap, alias, null, RefUtil.fieldNames(RtTool::getDevSn)); queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtTool::getId)); return queryWrapper; }