From 04345420e457ccffcfc94646fde4f5a2204164c3 Mon Sep 17 00:00:00 2001
From: 6c <420680616@qq.com>
Date: 星期三, 15 十月 2025 10:31:18 +0800
Subject: [PATCH] 移动端加载mvc

---
 src/main/java/com/product/mobile/core/service/FaceMobileService.java |   72 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/product/mobile/core/service/FaceMobileService.java b/src/main/java/com/product/mobile/core/service/FaceMobileService.java
index 04ffadc..07f3484 100644
--- a/src/main/java/com/product/mobile/core/service/FaceMobileService.java
+++ b/src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -17,6 +17,8 @@
 import com.product.core.entity.FieldSetEntity;
 import com.product.core.exception.BaseException;
 import com.product.core.service.support.AbstractBaseService;
+import com.product.face.entity.FaceListEntity;
+import com.product.face.service.FaceApplyService;
 import com.product.face.util.FaceUtil;
 import com.product.mobile.core.config.MobileCoreCode;
 import com.product.mobile.core.entity.FaceFieldEntity;
@@ -28,6 +30,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author cheng
@@ -42,6 +45,8 @@
 
 	@Autowired
 	public BaseDao baseDao;
+	@Autowired
+	private FaceApplyService faceApplyService;
 
 	///鑾峰彇琛ㄥ崟鎬诲叆鍙�
 	/**
@@ -49,9 +54,9 @@
 	 * @param fse浼犲叆琛ㄥ悕锛屾垨 琛║UID
 	 * @return
 	 */
-	public List<FaceFieldEntity> getFaceConfig(FieldSetEntity fse) {
+	public Object getFaceConfig(FieldSetEntity fse) {
 
-		String tableUuid = fse.getString("table_uuid");
+        String tableUuid = fse.getString("table_uuid");
 		if (tableUuid == null && StringUtils.isNotEmpty(fse.getString("uuid"))
 				&& StringUtils.isEmpty(fse.getString("table_name"))) {
 			//閫氳繃涓氬姟琛ㄤ俊鎭煡琛ㄥ崟淇℃伅
@@ -80,10 +85,32 @@
 			}
 		}
 
-		List<FaceFieldEntity> ls = getFaceFieldByTable(fse);
+		Object o = getFaceFieldByTable(fse);
+		if (o instanceof FaceListEntity) {
+            FaceListEntity faceListEntity = (FaceListEntity) o;
+            List<FaceListEntity.FaceField> faceFieldList = faceListEntity.getFaceFields();
+            List<JSONObject> objList = faceFieldList.stream().map(faceField -> {
+                JSONObject obj = JSONObject.parseObject(com.alibaba.fastjson.JSONObject.toJSONString(faceField));
+                obj.put("name", obj.getString("columnName"));
+                obj.put("field", obj.getString("fieldName"));
+                return obj;
+            }).collect(Collectors.toList());
+			return objList;
+		}
+		List<FaceFieldEntity> ls = (List<FaceFieldEntity>) o;
 		if (ls == null) ls = new ArrayList<FaceFieldEntity>();
 		addproperty(tableUuid, fse.getString("table_name"), ls);
 		//鎵�鏈夎〃鍗晆uid鑷姩娣诲姞锛屽苟涓篽idden
+
+        // 绉诲姩绔嫢鏄病鏈夐厤缃〃鍗曚俊鎭紝閭d箞灏辨渶澶氭樉绀�10涓瓧娈碉紝涓旈渶瑕佸墧闄ゅ埌閮ㄥ垎瀛楁
+        String clientType = fse.getString("client_type");
+        if ("app".equals(clientType)) {
+            List<String> exceptList = Arrays.asList("uuid", "org_level_uuid", "created_by", "created_utc_datetime");
+            ls = ls.stream().filter(obj -> !exceptList.contains(obj.getField())).collect(Collectors.toList());
+            if (ls.size() > 10) {
+                ls = ls.subList(0, 10);
+            }
+        }
 		return ls;
 
 	}
@@ -149,6 +176,7 @@
 				uuid.setType("String");
 				uuid.setTable(table_name);
 				uuid.setHidden("1");
+				uuid.setDisabled("1");
 				ls.add(uuid);
 			}
 
@@ -181,6 +209,8 @@
 			FaceFieldEntity uuid = new FaceFieldEntity();
 			FieldSetEntity f = dte.getFieldSetEntity(j);
 			if ("pk".equals(f.getString("field_type"))
+//					|| "created_by".equals(f.getString("field_name"))
+//					|| "created_utc_datetime".equals(f.getString("field_name"))
 					|| "updated_by".equals(f.getString("field_name"))
 					|| "updated_utc_datetime".equals(f.getString("field_name"))
 					|| "flowsign".equals(f.getString("field_type"))
@@ -189,11 +219,18 @@
 			}
 			if ("uuid".equals(f.getString("field_name"))) {
 				uuid.setHidden("1");
+				uuid.setDisabled("1");
 			}
 			if ("userids".equals(f.getString("field_type")) || "orgUuids".equals(f.getString("field_type"))) {
 				uuid.setMultiple("1");
 			} else {
 				uuid.setMultiple("0");
+			}
+
+			if ("userids".equals(f.getString("field_type")) || "userid".equals(f.getString("field_type"))) {
+				uuid.setOrganizationType("5");
+			} else if ("orgUuids".equals(f.getString("field_type")) || "orgUuid".equals(f.getString("field_type"))) {
+				uuid.setOrganizationType("2");
 			}
 
 			uuid.setComponentType("");
@@ -219,7 +256,7 @@
 		}
 	}
 
-	public List<FaceFieldEntity> getFaceFieldByTable(FieldSetEntity fse) {
+	public Object getFaceFieldByTable(FieldSetEntity fse) {
 		String tableUuid = fse.getString("table_uuid");
 		String tableName = fse.getString("table_name");
 		if (StringUtils.isEmpty(tableUuid) && !StringUtils.isEmpty(tableName)) {
@@ -231,8 +268,20 @@
 		if (StringUtils.isEmpty(tableUuid)) {
 			throw new BaseException(MobileCoreCode.SYSTEM_FORM_COUNT);
 		}
-		FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", "table_uuid=? and face_type=2", new Object[]{tableUuid}, true);
+		String faceType = BaseUtil.ifNull(fse.getString("face_type"), "2");
+        String faceNumber = fse.getString("face_number");
+        String filter = "table_uuid=? and face_type=? AND LENGTH(IFNULL(face_number,''))>0";
+        Object[] paramArr = new Object[]{tableUuid, faceType};
+        if (!StringUtils.isEmpty(faceNumber)) {
+            filter = "face_number=?";
+            paramArr = new Object[]{faceNumber};
+        }
+		FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", filter, paramArr, true);
 		faceFse.setTableName(tableName);
+		if ("1".equals(faceType) && !FieldSetEntity.isEmpty(faceFse)) {
+			//鍒楄〃
+			return faceApplyService.getFaceListConf(faceFse);
+		}
 		return getFaceField(faceFse);
 	}
 
@@ -471,6 +520,19 @@
 						faceFieldEntity.setAllowDelete(setEntity.getBoolean("property_value"));
 					} else if ("control_sequence".equals(propertyName)) {
 						faceFieldEntity.putOtherParam("controlSequence", setEntity.getInteger("property_value"));
+					} else if ("__config__".equals(propertyName)) {
+
+						String __config__ = setEntity.getUUID();
+						List<FieldSetEntity> fieldSetEntities2 = parentMap.get(__config__);
+						if (!CollectionUtil.isEmpty(fieldSetEntities2)) {
+							for (FieldSetEntity fieldSetEntity4 : fieldSetEntities2) {
+								if ("label".equals(fieldSetEntity4.getString("property_name"))) {
+									faceFieldEntity.setName(fieldSetEntity4.getString("property_value"));
+								} else if ("required".equals(fieldSetEntity4.getString("property_name"))) {
+									faceFieldEntity.setRequired(fieldSetEntity4.getBoolean("property_value") ? "1" : "0");
+								}
+							}
+						}
 					}
 				}
 				List<FaceFieldEntity> subFieldList = faceFieldEntity.getSubField();

--
Gitblit v1.9.2