diff --git a/common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java b/common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java index 01b1119..73ba97f 100644 --- a/common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java +++ b/common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java @@ -40,14 +40,20 @@ public class ListDataOrmService extends ListDataService { protected Filter getFilter() { Filter f = super.getFilter(); for (OnlineFilterDto onlineFilterDto : filterDtoList) { + Object columnValue = onlineFilterDto.getColumnValue(); + if (columnValue instanceof JSONObject) { + JSONObject jsonObject = (JSONObject) columnValue; + columnValue = jsonObject.get("id"); + } + if (onlineFilterDto.getFilterType() == FieldFilterType.EQUAL_FILTER) { - f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.equals, onlineFilterDto.getColumnValue())); + f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.equals, columnValue)); } else if (onlineFilterDto.getFilterType() == FieldFilterType.EXSITS) { - f.add(new FilterItem(null, FilterItem.EXISTS, onlineFilterDto.getColumnValue())); + f.add(new FilterItem(null, FilterItem.EXISTS, columnValue)); } else if (onlineFilterDto.getFilterType() == FieldFilterType.IN_LIST_FILTER) { - f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.INNER, onlineFilterDto.getColumnValue())); + f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.INNER, columnValue)); } else if (onlineFilterDto.getFilterType() == FieldFilterType.LIKE_FILTER) { - f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.like, "%" + onlineFilterDto.getColumnValue() + "%")); + f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.like, "%" + columnValue + "%")); } else if (onlineFilterDto.getFilterType() == FieldFilterType.RANGE_FILTER) { if (onlineFilterDto.getColumnValueStart() != null) { f.add(new FilterItem(onlineFilterDto.getColumnName(), FilterItem.large_equals, onlineFilterDto.getColumnValueStart()));