From ea9ab51324547ce3264e73931018a3e477c7a7b6 Mon Sep 17 00:00:00 2001
From: shicf <shi_chongfu@163.com>
Date: 星期三, 25 九月 2024 11:24:52 +0800
Subject: [PATCH] 表单获取
---
src/main/java/com/product/mobile/core/entity/FaceFieldEntity.java | 62 +++++++++++----
src/main/java/com/product/mobile/core/service/SysMessageService.java | 2
src/main/java/com/product/mobile/core/service/SystemTableMetaService.java | 2
src/main/java/com/product/mobile/core/service/FaceMobileService.java | 129 +++++++++++++++++++++++++++++++
src/main/java/com/product/mobile/core/controller/FaceMobileController.java | 12 ++
5 files changed, 185 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/product/mobile/core/controller/FaceMobileController.java b/src/main/java/com/product/mobile/core/controller/FaceMobileController.java
index 749054a..2a4ea8a 100644
--- a/src/main/java/com/product/mobile/core/controller/FaceMobileController.java
+++ b/src/main/java/com/product/mobile/core/controller/FaceMobileController.java
@@ -1,5 +1,6 @@
package com.product.mobile.core.controller;
+import com.product.common.lang.StringUtils;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.mobile.core.config.MobileCoreCode;
@@ -57,7 +58,16 @@
try {
//涓嶉獙璇佷紶鍏ョ殑琛ㄥ悕 鍙兘浼氭槸 product_sys_flow_task/product_sys_flow_detail
FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
- return BaseUtil.success(faceMobileService.getFlowFaceField(fse));
+// //閫氳繃瀹℃壒浠诲姟鐨剈uid鏉ユ煡琛ㄥ崟淇℃伅
+// if (StringUtils.isEmpty(fse.getString("table_uuid")) && StringUtils.isEmpty(fse.getString("table_name"))) {
+// return BaseUtil.success(faceMobileService.getFlowFaceField(fse));
+// }else {
+// //閫氳繃涓氬姟琛ㄤ俊鎭煡琛ㄥ崟淇℃伅
+// return BaseUtil.success(faceMobileService.getFaceFieldByTable(fse));
+// }
+
+ return BaseUtil.success(faceMobileService.getFaceConfig(fse));
+
} catch (BaseException e) {
e.printStackTrace();
return error(e);
diff --git a/src/main/java/com/product/mobile/core/entity/FaceFieldEntity.java b/src/main/java/com/product/mobile/core/entity/FaceFieldEntity.java
index 840e556..04c68bf 100644
--- a/src/main/java/com/product/mobile/core/entity/FaceFieldEntity.java
+++ b/src/main/java/com/product/mobile/core/entity/FaceFieldEntity.java
@@ -1,7 +1,6 @@
package com.product.mobile.core.entity;
import java.util.List;
-import java.util.Map;
/**
* @Author cheng
@@ -9,8 +8,10 @@
* @Desc
*/
public class FaceFieldEntity {
+
+ private String table;
- private String fieldName;
+ private String field;
/**
* 鏄惁蹇呭~
@@ -19,12 +20,12 @@
/**
* 鏄剧ず鍚嶇О
*/
- private String label;
+ private String name;
/**
* 鍙傜収鍚嶇О
*/
- private String advanceName;
+ private String prompt;
/**
* 缁勪欢绫诲瀷
@@ -86,13 +87,35 @@
private List<FaceFieldEntity> subField;
+ private String type;
+
+ private String length;
- public String getFieldName() {
- return fieldName;
+ public String getType() {
+ return type;
+ }
+
+
+ public String getLength() {
+ return length;
}
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
+
+ public void setLength(String length) {
+ this.length = length;
+ }
+
+
+ public void setType(String fieldType) {
+ this.type = fieldType;
+ }
+
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String fieldName) {
+ this.field = fieldName;
}
public String getRequired() {
@@ -103,20 +126,20 @@
this.required = required;
}
- public String getLabel() {
- return label;
+ public String getName() {
+ return name;
}
- public void setLabel(String label) {
- this.label = label;
+ public void setName(String label) {
+ this.name = label;
}
- public String getAdvanceName() {
- return advanceName;
+ public String getPrompt() {
+ return prompt;
}
- public void setAdvanceName(String advanceName) {
- this.advanceName = advanceName;
+ public void setPrompt(String advanceName) {
+ this.prompt = advanceName;
}
public String getComponentType() {
@@ -230,4 +253,11 @@
public void setSubField(List<FaceFieldEntity> subField) {
this.subField = subField;
}
+ public String getTable() {
+ return table;
+ }
+
+ public void setTable(String tableUuid) {
+ this.table = tableUuid;
+ }
}
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 d87f095..e35c3a7 100644
--- a/src/main/java/com/product/mobile/core/service/FaceMobileService.java
+++ b/src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -34,7 +34,129 @@
@Resource
FlowDetailService flowDetailService;
-
+
+ ///鑾峰彇琛ㄥ崟鎬诲叆鍙�
+ /**
+ *
+ * @param fse浼犲叆琛ㄥ悕锛屾垨 琛║UID
+ * @return
+ */
+ public List<FaceFieldEntity> getFaceConfig(FieldSetEntity fse) {
+
+ String tableUuid=fse.getString("table_uuid");
+ if (tableUuid==null && StringUtils.isNotEmpty(fse.getString("uuid"))
+ && StringUtils.isEmpty(fse.getString("table_name"))) {
+ //閫氳繃涓氬姟琛ㄤ俊鎭煡琛ㄥ崟淇℃伅
+ FieldSetEntity detailFse = getBaseDao().getFieldSetEntity(CmnConst.TABLE_FLOW_DETAIL, fse.getString(CmnConst.FIELD_UUID), false);
+ if(detailFse!=null) {
+ //鑾峰彇琛ㄥ悕
+ fse.setValue("table_name", detailFse.getString("table_name"));
+ }
+
+ }
+ //閫氳繃瀹℃壒浠诲姟鐨剈uid鏉ユ煡琛ㄥ崟淇℃伅
+ if (tableUuid==null && StringUtils.isNotEmpty(fse.getString("table_name"))) {
+ FieldSetEntity tableInfo = BaseUtil.getSingleInfoByCache("鎵�鏈夎〃淇℃伅", new String[]{fse.getString("table_name")});
+ if (!FieldSetEntity.isEmpty(tableInfo)) {
+ tableUuid = tableInfo.getString("uuid");
+ fse.setValue("table_uuid", tableUuid);
+ }
+ }
+
+ if(tableUuid!=null) {
+
+ FieldSetEntity tableInfo = BaseUtil.getSingleInfoByCache("鎵�鏈夎〃淇℃伅(uuid)", new String[]{tableUuid});
+ if (!FieldSetEntity.isEmpty(tableInfo)) {
+ //鑾峰彇琛ㄥ悕
+ fse.setValue("table_name", tableInfo.getString("table_name"));
+ }
+ }
+
+ List<FaceFieldEntity> ls=getFaceFieldByTable(fse);
+
+ addproperty(tableUuid,fse.getString("table_name"),ls);
+ //鎵�鏈夎〃鍗晆uid鑷姩娣诲姞锛屽苟涓篽idden
+ return ls;
+
+ }
+ //閫掑綊鎶婁富琛ㄥ拰瀛愯〃鐨勫瓧娈靛睘鎬ф坊鍔犺繘鍘伙紝濡傛灉娌℃湁閰嶈〃鍗曪紝鍒欏彇琛ㄦ暟鎹粨鏋勮繘琛屽睍绀�
+ /**
+ *
+ * @param ls鏌ュ嚭鏉ョ殑琛ㄥ崟淇℃伅
+ * @param tables 璁板綍鐨勬墍鏈夎〃锛屽搴旂殑琛ㄥ崟淇℃伅
+ */
+ private void addproperty(String table_uuid,String table_name,List<FaceFieldEntity> ls) {
+ if(ls==null) {
+ ls=new ArrayList<FaceFieldEntity>();
+ }
+ if(ls.size()>0) {
+ for(int i=0;i<ls.size();i++) {
+ String subTableName=ls.get(i).getSubTableName();///鍙兘鏄瓙琛�
+ if(StringUtils.isEmpty(subTableName)) {///涓昏〃瀛楁
+ DataTableEntity dt = DataPoolCacheImpl.getInstance().getCacheData("琛ㄥ瓧娈典俊鎭�"
+ ,new String[] {table_uuid,ls.get(i).getField()});
+
+ if(!DataTableEntity.isEmpty(dt)) {
+// if(StringUtils.isEmpty(ls.get(i).getType())) {
+// ls.get(i).setType(dt.getFieldSetEntity(0).getString("field_type"));
+// }
+ if(StringUtils.isEmpty(ls.get(i).getPrompt()) &&
+ !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("field_reference"))) {
+ ls.get(i).setPrompt(dt.getFieldSetEntity(0).getString("field_reference"));
+ }
+ if(StringUtils.isEmpty(ls.get(i).getRequired()) &&
+ !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("is_required"))) {
+ ls.get(i).setRequired(dt.getFieldSetEntity(0).getString("is_required"));
+ }
+ if(StringUtils.isEmpty(ls.get(i).getName()) &&
+ !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("field_show_name"))) {
+ ls.get(i).setName(dt.getFieldSetEntity(0).getString("field_show_name"));
+ }
+ }
+ ls.get(i).setTable(table_name);
+ }else {
+ //============鎶婂瓙琛ㄥ瓧娈典篃澶勭悊涓�涓�
+ //瀛愯〃
+ FieldSetEntity tableInfo = BaseUtil.getSingleInfoByCache("鎵�鏈夎〃淇℃伅", new String[]{subTableName});
+ if (!FieldSetEntity.isEmpty(tableInfo)) {
+ addproperty(tableInfo.getString("uuid"),tableInfo.getString("table_name"),ls.get(i).getSubField());
+ }
+ }
+
+ }
+ DataTableEntity dt = DataPoolCacheImpl.getInstance().getCacheData("琛ㄥ瓧娈典俊鎭�",new String[] {table_uuid,"uuid"});
+ if(!DataTableEntity.isEmpty(dt)) {
+ FaceFieldEntity uuid=new FaceFieldEntity();
+ uuid.setField("uuid");
+ uuid.setType("String");
+ uuid.setTable(table_name);
+ uuid.setDisabled("0");
+ ls.add(uuid);
+ }
+
+ }else {///浠ヨ〃鍗曡璁′负鍑嗭紝濡傛灉娌℃湁閰嶇疆琛ㄥ崟锛屽垯浠ユ暟鎹〃涓哄噯锛屽叏閮ㄤ繚鐣�
+ DataTableEntity dte = DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夊瓧娈典俊鎭苟鎸夎〃鍒嗙粍",new String[] {table_uuid});
+ for(int j=0;j<dte.getRows();j++) {
+ FaceFieldEntity uuid=new FaceFieldEntity();
+ FieldSetEntity f=dte.getFieldSetEntity(j);
+ if("pk".equals(f.getString("field_type"))
+ ||"updated_by".equals(f.getString("field_name"))
+ ||"uuid".equals(f.getString("field_name"))
+ ||"updated_utc_datetime".equals(f.getString("field_name"))) {
+ continue;
+ }
+ uuid.setPrompt(f.getString("field_reference"));
+ uuid.setName(f.getString("field_show_name"));
+ uuid.setField(f.getString("field_name"));
+ uuid.setType(f.getString("field_type"));
+ uuid.setTable(table_name);
+ ls.add(uuid);
+ }
+ }
+ }
+
+
+
public List<FaceFieldEntity> getFaceFieldByTable(FieldSetEntity fse) {
String tableUuid = fse.getString("table_uuid");
String tableName = fse.getString("table_name");
@@ -48,6 +170,7 @@
throw new BaseException(MobileCoreCode.SYSTEM_FORM_COUNT);
}
FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", "table_uuid=?", new Object[]{tableUuid}, true);
+ faceFse.setTableName(tableName);
return getFaceField(faceFse);
}
@@ -244,7 +367,7 @@
}
if ("__vModel__".equals(setEntity.getString("property_name"))) {
result.add(faceFieldEntity);
- propertyName = "fieldName";
+ propertyName = "field";
} else if ("defaultNow".equals(propertyName)) {
propertyName = "defaultValue";
} else if ("__config__".equals(propertyName)) {
@@ -266,7 +389,7 @@
}
}
- if (StringUtils.isEmpty(faceFieldEntity.getFieldName())) {
+ if (StringUtils.isEmpty(faceFieldEntity.getField())) {
return;
}
if (parentGroup == other) {
diff --git a/src/main/java/com/product/mobile/core/service/SysMessageService.java b/src/main/java/com/product/mobile/core/service/SysMessageService.java
index 447cc98..48cc1eb 100644
--- a/src/main/java/com/product/mobile/core/service/SysMessageService.java
+++ b/src/main/java/com/product/mobile/core/service/SysMessageService.java
@@ -82,7 +82,7 @@
ps.add(type);
}
StringBuilder sql = new StringBuilder();
- sql.append("\nselect SUBSTRING(message_type,1,1) message_type, count(*) num from product_db_lift.product_sys_message m inner join product_db_lift.product_sys_message_user u on u.message_uuid=m.uuid \r\n"
+ sql.append("\nselect SUBSTRING(message_type,1,1) message_type, count(*) num from product_sys_message m inner join product_sys_message_user u on u.message_uuid=m.uuid \r\n"
+ "and u.user_id=? and u.read_type=?").append(f).append(" group by SUBSTRING(message_type,1,1) ");
DataTableEntity dte = baseDao.listTable(sql.toString(),ps.toArray(),Integer.MAX_VALUE, 1);
return dte;
diff --git a/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java b/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java
index b006ad9..064a472 100644
--- a/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java
+++ b/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java
@@ -36,7 +36,7 @@
Map<Object,Object> vs=fse.getValues();
StringBuilder b=new StringBuilder();
- b.append("select t.table_name,f.field_name,f.field_length,f.field_show_name,f.field_type,f.field_reference,f.is_more_value,f.is_required from product_sys_datamodel_field f left join product_sys_datamodel_table t on f.table_uuid=t.uuid");
+ b.append("select t.table_name,f.field_name,f.field_length,f.field_show_name,f.field_type,f.field_reference,f.is_required from product_sys_datamodel_field f left join product_sys_datamodel_table t on f.table_uuid=t.uuid");
List<Object> ps=new ArrayList<>();
if(vs!=null && vs.size()>0) {
b.append(" where ");
--
Gitblit v1.9.2