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