From fff919c829b20fa2e8aa87e6967478aef3f15eb7 Mon Sep 17 00:00:00 2001
From: shicf <shi_chongfu@163.com>
Date: 星期一, 20 十月 2025 15:09:43 +0800
Subject: [PATCH] Merge branch 'dev' of http://nonxin.cn:8090/r/product/product-server-mobile-core/V2.0.0 into dev

---
 src/main/java/com/product/mobile/core/service/CommonMVCService.java  |    7 ++++++-
 src/main/java/com/product/mobile/core/service/FaceMobileService.java |   32 +++++++++++++++++++++++++++++---
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/product/mobile/core/service/CommonMVCService.java b/src/main/java/com/product/mobile/core/service/CommonMVCService.java
index 5dfb8f5..c68b0c4 100644
--- a/src/main/java/com/product/mobile/core/service/CommonMVCService.java
+++ b/src/main/java/com/product/mobile/core/service/CommonMVCService.java
@@ -63,12 +63,16 @@
     	}
     	FieldSetEntity page=null;
 
+        DataTableEntity curButtonDte = new DataTableEntity();
     	if(!StringUtils.isEmpty(functionUuid)) {
     		//鏍规嵁鎸夐挳绫诲瀷鏌ュ嚭鎸夐挳uuid
     		if(StringUtils.isEmpty(buttonUuid)&& !StringUtils.isEmpty(buttonType) ) {
     			DataTableEntity d=baseDao.listTable("product_sys_function_buttons", " function_uuid=? and button_category_uuid=? ", new String[] {functionUuid,buttonType},"button_type");
         		if(!DataTableEntity.isEmpty(d)) {
-        			buttonUuid=d.getFieldSetEntity(0).getUUID();//鍙栫涓�鏉�
+                    FieldSetEntity curButtonFse = d.getFieldSetEntity(0);
+                    curButtonFse.setTableName("cur_button");
+                    curButtonDte.addFieldSetEntity(curButtonFse);
+        			buttonUuid=curButtonFse.getUUID();//鍙栫涓�鏉�
         		}
     		}
     		//鏌ュ嚭鎸夐挳瀵瑰簲鐣岄潰锛屽彲鑳芥寜閽湁澶氫釜锛屽彇绗竴涓�
@@ -95,6 +99,7 @@
     			.append(")");
     			DataTableEntity d=baseDao.listTable(b.toString() , new String[] {functionUuid,functionUuid,page.getUUID()} );
         		page.addSubDataTable(d);
+                page.addSubDataTable(curButtonDte);
     		}else {
     			throw new BaseException(MobileCoreCode.GET_ROUTER_FAIL);
     		}
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 7b59f98..812571d 100644
--- a/src/main/java/com/product/mobile/core/service/FaceMobileService.java
+++ b/src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -30,6 +30,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author cheng
@@ -55,7 +56,7 @@
 	 */
 	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"))) {
 			//閫氳繃涓氬姟琛ㄤ俊鎭煡琛ㄥ崟淇℃伅
@@ -86,13 +87,31 @@
 
 		Object o = getFaceFieldByTable(fse);
 		if (o instanceof FaceListEntity) {
-			return o;
+            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;
 
 	}
@@ -251,7 +270,14 @@
 			throw new BaseException(MobileCoreCode.SYSTEM_FORM_COUNT);
 		}
 		String faceType = BaseUtil.ifNull(fse.getString("face_type"), "2");
-		FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", "table_uuid=? and face_type=?", new Object[]{tableUuid, faceType}, true);
+        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)) {

--
Gitblit v1.9.2