From 78f297bfcf2f5c49fa11b8f99c2400241c02a934 Mon Sep 17 00:00:00 2001 From: 许鹏程 <1821349743@qq.com> Date: 星期五, 02 六月 2023 10:19:12 +0800 Subject: [PATCH] 组织机构多类型用户解析 --- src/main/java/com/product/face/service/FaceDesignService.java | 9 ++++++++- src/main/java/com/product/face/util/FaceUtil.java | 17 ++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/product/face/service/FaceDesignService.java b/src/main/java/com/product/face/service/FaceDesignService.java index 5cc1b4d..1f89e1b 100644 --- a/src/main/java/com/product/face/service/FaceDesignService.java +++ b/src/main/java/com/product/face/service/FaceDesignService.java @@ -48,7 +48,7 @@ if (DataTableEntity.isEmpty(fieldPropertyDt)) { throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL); } - List<JSONObject> result = FaceUtil.getFaceControlList(fse,fieldPropertyDt); + List<JSONObject> result = FaceUtil.getFaceControlList(fse, fieldPropertyDt); Map<String, Object> other = new HashMap<>(); other.put("drawingList", result); fse.getSubData().clear(); @@ -72,6 +72,13 @@ } List<FieldSetEntity> fieldSetEntityList = new ArrayList<>(); for (int i = 0; i < fields.getRows(); i++) { + if (fields.getBoolean(i, "event_property")) { + DataTableEntity subDataTable = fields.getFieldSetEntity(i).getSubDataTable("event_array"); + if(DataTableEntity.isEmpty(subDataTable)){ + continue; + } + fields.setFieldValue(i, "event_array", BaseUtil.dataTableEntityToJson(subDataTable)); + } fieldSetEntityList.addAll(controlTraverse(new JSONObject((Map) fields.getFieldSetEntity(i).getValues()), null, i)); } fse.removeSubData(FaceConst.FACE_FIELD); diff --git a/src/main/java/com/product/face/util/FaceUtil.java b/src/main/java/com/product/face/util/FaceUtil.java index 0dd235a..cae7d2e 100644 --- a/src/main/java/com/product/face/util/FaceUtil.java +++ b/src/main/java/com/product/face/util/FaceUtil.java @@ -23,7 +23,7 @@ public class FaceUtil { - public static List<JSONObject> getFaceControlList(FieldSetEntity face,DataTableEntity faceControlDt) { + public static List<JSONObject> getFaceControlList(FieldSetEntity face, DataTableEntity faceControlDt) { List<JSONObject> result = new ArrayList<>(); List<FieldSetEntity> data = faceControlDt.getData(); Map<String, List<FieldSetEntity>> collect = data.stream() @@ -37,8 +37,19 @@ List<FieldSetEntity> propertyList = entry.getValue(); JSONObject propertyJson = getPropertyJson(propertyList, groupContainer); Boolean eventProperty = propertyJson.getBoolean("event_property"); - if(eventProperty!=null && eventProperty){ - face.setValue("events",propertyJson.get("events")); + if (eventProperty != null && eventProperty && propertyJson.get("event_array") != null) { + JSONArray eventArray = propertyJson.getJSONArray("event_array"); + for (int i = 0; i < eventArray.size(); i++) { + String params = eventArray.getJSONObject(i).getString("params"); + String[] paramsArray; + if (StringUtils.isEmpty(params)) { + paramsArray = new String[]{}; + } else { + paramsArray = params.split(","); + } + eventArray.getJSONObject(i).put("params", paramsArray); + } + face.setValue("events", eventArray); continue; } result.add(propertyJson); -- Gitblit v1.9.2