| | |
| | | Map<String, List<FieldSetEntity>> groupContainer = data.stream() |
| | | .filter(item -> !StringUtils.isEmpty(item.getString(FaceConst.FIELD_PARENT_UUID))) //过滤 取子级 |
| | | .collect(Collectors.groupingBy(item -> item.getString(FaceConst.FIELD_PARENT_UUID))); //分组 |
| | | int maxFormId = 100; |
| | | for (Map.Entry<String, List<FieldSetEntity>> entry : collect.entrySet()) { |
| | | List<FieldSetEntity> propertyList = entry.getValue(); |
| | | JSONObject propertyJson = getPropertyJson(propertyList, groupContainer); |
| | | Integer o = propertyJson.getInteger("~formId~"); |
| | | if (o != null && o > maxFormId) { |
| | | maxFormId = o; |
| | | } |
| | | propertyJson.remove("~formId~"); |
| | | Boolean eventProperty = propertyJson.getBoolean("event_property"); |
| | | if (eventProperty != null && eventProperty && propertyJson.get("event_array") != null) { |
| | | JSONArray eventArray = propertyJson.getJSONArray("event_array"); |
| | |
| | | result.add(propertyJson); |
| | | } |
| | | result.sort(Comparator.comparing(item -> item.getInteger(FaceConst.CONTROL_SEQUENCE))); |
| | | face.setValue("maxFormId", maxFormId); |
| | | return result; |
| | | } |
| | | |
| | |
| | | try { |
| | | JSONObject propertyJson = getPropertyJson(groupContainer.get(groupUuid), groupContainer); |
| | | property.put(propertyName, propertyJson); |
| | | if ("__config__".equals(propertyName)) { |
| | | String o = propertyJson.getString("formId"); |
| | | if (NumberUtil.isNumber(o)) { |
| | | Integer formId = property.getInteger("formId"); |
| | | if (formId == null || formId < NumberUtil.parseInt(o)) { |
| | | property.put("~formId~", NumberUtil.parseInt(o)); |
| | | } |
| | | } |
| | | propertyJson.remove("~formId~"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | throw e; |
| | |
| | | if (propertyListChild != null && !propertyListChild.isEmpty()) { |
| | | List<Object> array = propertyListChild.stream() |
| | | .collect(Collectors.groupingBy(item -> item.getString(FaceConst.FIELD_GROUP_UUID))) |
| | | .values().stream().map(item -> getPropertyJson(item, groupContainer)).sorted(Comparator.comparing(item -> item.getInteger(FaceConst.CONTROL_SEQUENCE))).collect(Collectors.toList()); |
| | | .values().stream().map(item -> { |
| | | JSONObject propertyJson = getPropertyJson(item, groupContainer); |
| | | String o = propertyJson.getString("~formId~"); |
| | | if (NumberUtil.isNumber(o)) { |
| | | Integer formId = property.getInteger("formId"); |
| | | if (formId == null || formId < NumberUtil.parseInt(o)) { |
| | | property.put("~formId~", NumberUtil.parseInt(o)); |
| | | } |
| | | } |
| | | propertyJson.remove("~formId~"); |
| | | |
| | | return propertyJson; |
| | | }).sorted(Comparator.comparing(item -> item.getInteger(FaceConst.CONTROL_SEQUENCE))).collect(Collectors.toList()); |
| | | property.put(propertyName, new JSONArray(array)); |
| | | } |
| | | |