| | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String val = String.valueOf(entry.getValue()); |
| | | // 跳过空值和 "null" 字符串 |
| | | if (Cools.isEmpty(val) || "null".equals(val)) { |
| | | continue; |
| | | } |
| | |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else if (val.contains(",") && !val.equals("null")) { |
| | | // 多值查询:工作状态等多选用 IN(与 AGV 任务管理一致) |
| | | String[] values = val.split(","); |
| | | List<Object> valueList = new ArrayList<>(); |
| | | for (String v : values) { |
| | | v = v.trim(); |
| | | if (!Cools.isEmpty(v) && !v.equals("null")) { |
| | | try { |
| | | valueList.add(Long.parseLong(v)); |
| | | } catch (NumberFormatException e) { |
| | | valueList.add(v); |
| | | } |
| | | } |
| | | } |
| | | if (!valueList.isEmpty()) { |
| | | wrapper.in(entry.getKey(), valueList); |
| | | } |
| | | } else { |
| | | wrapper.like(entry.getKey(), val); |
| | | } |