From 30d06cd40ab7c59a0bb8641f5d28e219af2c085c Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 24 五月 2023 16:59:23 +0800
Subject: [PATCH] 协同个人已办

---
 src/main/java/com/product/face/entity/FaceListEntity.java |  574 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 291 insertions(+), 283 deletions(-)

diff --git a/src/main/java/com/product/face/entity/FaceListEntity.java b/src/main/java/com/product/face/entity/FaceListEntity.java
index e2fbd06..047830c 100644
--- a/src/main/java/com/product/face/entity/FaceListEntity.java
+++ b/src/main/java/com/product/face/entity/FaceListEntity.java
@@ -28,319 +28,327 @@
  */
 public class FaceListEntity implements Serializable {
 
-    private static final long serialVersionUID = -6777140406080679771L;
-    /**
-     * 琛╱uid
-     */
-    private String tableUuid;
-    /**
-     * face_uuid
-     */
-    private String uuid;
-    /**
-     * 琛ㄥ崟鍚�
-     */
-    private String faceName;
-    /**
-     * 鍔熻兘uuid
-     */
-    @Deprecated
-    private String functionUuid;
-    /**
-     * 瀛楁闆嗗悎
-     */
-    private List<FaceField> faceFields;
-    /**
-     * 琛ㄥ悕
-     */
-    private String tableName;
+	private static final long serialVersionUID = -6777140406080679771L;
+	/**
+	 * 琛╱uid
+	 */
+	private String tableUuid;
+	/**
+	 * face_uuid
+	 */
+	private String uuid;
+	/**
+	 * 琛ㄥ崟鍚�
+	 */
+	private String faceName;
+	/**
+	 * 鍔熻兘uuid
+	 */
+	@Deprecated
+	private String functionUuid;
+	/**
+	 * 瀛楁闆嗗悎
+	 */
+	private List<FaceField> faceFields;
+	/**
+	 * 琛ㄥ悕
+	 */
+	private String tableName;
 
-    /**
-     * 鑾峰彇琛ㄥ悕
-     *
-     * @return
-     */
-    public String getTableName() {
-        if (this.tableName == null && this.tableUuid != null) {
-            //浠庣紦瀛樹腑鑾峰彇
-            DataTableEntity cacheData = DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夎〃淇℃伅(uuid)", new String[]{this.tableUuid});
-            if (cacheData != null && cacheData.getRows() > 0) {
-                String table_name = cacheData.getString(0, "table_name");
-                this.tableName = table_name;
-            }
-        }
-        return tableName;
-    }
+	/**
+	 * 鑾峰彇琛ㄥ悕
+	 *
+	 * @return
+	 */
+	public String getTableName() {
+		if (this.tableName == null && this.tableUuid != null) {
+			//浠庣紦瀛樹腑鑾峰彇
+			DataTableEntity cacheData = DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夎〃淇℃伅(uuid)", new String[]{this.tableUuid});
+			if (cacheData != null && cacheData.getRows() > 0) {
+				String table_name = cacheData.getString(0, "table_name");
+				this.tableName = table_name;
+			}
+		}
+		return tableName;
+	}
 
-    /**
-     * 鏉′欢瀛楁
-     *
-     * @param fieldName      瀛楁鍚嶇О
-     * @param faceUuid       瀛楁uuid
-     * @param columnName     鍒楀悕
-     * @param columnWidth    鍒楀
-     * @param sequence       鎺掑簭
-     * @param fieldReference 鍙傜収
-     */
-    public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference) {
-        FaceField faceField = new FaceField();
-        faceField.setFieldName(fieldName);
-        faceField.setFieldUuid(faceUuid);
-        faceField.setColumnName(columnName);
-        faceField.setColumnWidth(columnWidth);
-        faceField.setSequence(sequence);
-        faceField.setFieldReference(fieldReference);
-        if (this.faceFields == null) {
-            this.faceFields = Lists.newArrayList();
-        }
-        this.faceFields.add(faceField);
-    }
+	/**
+	 * 鏉′欢瀛楁
+	 *
+	 * @param fieldName      瀛楁鍚嶇О
+	 * @param faceUuid       瀛楁uuid
+	 * @param columnName     鍒楀悕
+	 * @param columnWidth    鍒楀
+	 * @param sequence       鎺掑簭
+	 * @param fieldReference 鍙傜収
+	 */
+	public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference) {
+		FaceField faceField = new FaceField();
+		faceField.setFieldName(fieldName);
+		faceField.setFieldUuid(faceUuid);
+		faceField.setColumnName(columnName);
+		faceField.setColumnWidth(columnWidth);
+		faceField.setSequence(sequence);
+		faceField.setFieldReference(fieldReference);
+		if (this.faceFields == null) {
+			this.faceFields = Lists.newArrayList();
+		}
+		this.faceFields.add(faceField);
+	}
 
-    /**
-     * 瀛楁鎺掑簭鏂规硶
-     */
-    public void sortField() {
-        if (this.faceFields != null && this.faceFields.size() > 0) {
-            this.faceFields.sort((a, b) -> {
-                return a.getSequence().compareTo(b.getSequence());
-            });
-        }
-    }
+	/**
+	 * 瀛楁鎺掑簭鏂规硶
+	 */
+	public void sortField() {
+		if (this.faceFields != null && this.faceFields.size() > 0) {
+			this.faceFields.sort((a, b) -> {
+				return a.getSequence().compareTo(b.getSequence());
+			});
+		}
+	}
 
-    public String getTableUuid() {
-        return tableUuid;
-    }
+	public String getTableUuid() {
+		return tableUuid;
+	}
 
-    public void setTableUuid(String tableUuid) {
-        this.tableUuid = tableUuid;
-    }
+	public void setTableUuid(String tableUuid) {
+		this.tableUuid = tableUuid;
+	}
 
-    public String getUuid() {
-        return uuid;
-    }
+	public String getUuid() {
+		return uuid;
+	}
 
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
-    }
+	public void setUuid(String uuid) {
+		this.uuid = uuid;
+	}
 
-    public String getFaceName() {
-        return faceName;
-    }
+	public String getFaceName() {
+		return faceName;
+	}
 
-    public void setFaceName(String faceName) {
-        this.faceName = faceName;
-    }
+	public void setFaceName(String faceName) {
+		this.faceName = faceName;
+	}
 
-    public String getFunctionUuid() {
-        return functionUuid;
-    }
+	public String getFunctionUuid() {
+		return functionUuid;
+	}
 
-    public void setFunctionUuid(String functionUuid) {
-        this.functionUuid = functionUuid;
-    }
+	public void setFunctionUuid(String functionUuid) {
+		this.functionUuid = functionUuid;
+	}
 
-    public List<FaceField> getFaceFields() {
-        return faceFields;
-    }
+	public List<FaceField> getFaceFields() {
+		return faceFields;
+	}
 
-    public void setFaceFields(List<FaceField> faceFields) {
-        this.faceFields = faceFields;
-    }
+	public void setFaceFields(List<FaceField> faceFields) {
+		this.faceFields = faceFields;
+	}
 
-    /**
-     * 鑾峰彇鍙傜収鏉′欢
-     *
-     * @param fieldName
-     * @param dictName
-     * @return
-     */
-    private String getDictFilter(String fieldName, String dictName) {
-        StringBuilder filter = new StringBuilder();
-        DictService bean = SpringBeanUtil.getBean(DictService.class);
-        String manager_type = null;
-        SystemUser currentUser = SpringMVCContextHolder.getCurrentUser();
-        if (currentUser != null && currentUser.getCurrentManager() != null) {
-            manager_type = currentUser.getCurrentManager().getString(CmnConst.MANAGER_TYPE);
-        } else {
-            manager_type = null;
-        }
-        //鎷艰鏅�氬弬鐓ф煡璇㈡墍闇�鍙傛暟
-        FieldSetEntity fse = new FieldSetEntity();
-        fse.setTableName(CmnConst.PRODUCT_SYS_DICT);
-        fse.setValue(CmnConst.DICT_NAME, dictName);
-        fse.setValue(CoreConst.SYSTEM_CLIENT_TYPE_, currentUser.getClientType());
-        //鑾峰彇鍙傜収闆嗗悎
-        DataTableEntity dataTableEntity = bean.listDictByname(fse, manager_type);
-        if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
-            //缁勬垚鏉′欢
-            Object[] uuids = dataTableEntity.getUuids();
-            filter.append(fieldName);
-            filter.append(" in  (SELECT  dict_value FROM product_sys_dict where ");
-            filter.append(BaseUtil.buildQuestionMarkFilter("uuid", uuids, true));
-            filter.append(" and dict_label like concat('%','~val~','%') ) ");
-        }
-        return filter.toString();
-    }
+	/**
+	 * 鑾峰彇鍙傜収鏉′欢
+	 *
+	 * @param fieldName
+	 * @param dictName
+	 * @return
+	 */
+	private String getDictFilter(String fieldName, String dictName) {
+		StringBuilder filter = new StringBuilder();
+		DictService bean = SpringBeanUtil.getBean(DictService.class);
+		String manager_type = null;
+		SystemUser currentUser = SpringMVCContextHolder.getCurrentUser();
+		if (currentUser != null && currentUser.getCurrentManager() != null) {
+			manager_type = currentUser.getCurrentManager().getString(CmnConst.MANAGER_TYPE);
+		} else {
+			manager_type = null;
+		}
+		//鎷艰鏅�氬弬鐓ф煡璇㈡墍闇�鍙傛暟
+		FieldSetEntity fse = new FieldSetEntity();
+		fse.setTableName(CmnConst.PRODUCT_SYS_DICT);
+		fse.setValue(CmnConst.DICT_NAME, dictName);
+		fse.setValue(CoreConst.SYSTEM_CLIENT_TYPE_, currentUser.getClientType());
+		//鑾峰彇鍙傜収闆嗗悎
+		DataTableEntity dataTableEntity = bean.listDictByname(fse, manager_type);
+		if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
+			//缁勬垚鏉′欢
+			Object[] uuids = dataTableEntity.getUuids();
+			filter.append(fieldName);
+			filter.append(" in  (SELECT  dict_value FROM product_sys_dict where ");
+			filter.append(BaseUtil.buildQuestionMarkFilter("uuid", uuids, true));
+			filter.append(" and dict_label like concat('%','~val~','%') ) ");
+		}
+		return filter.toString();
+	}
 
-    /**
-     * 鑾峰彇鏉′欢
-     *
-     * @param tableAlias 琛ㄥ埆鍚�
-     * @param aliasField 瀛楁鍒悕
-     * @return
-     */
-    public Map<String, List<String>> getFilters(String tableAlias, Map<String, List<String>> aliasField) {
-        DataPoolCacheImpl poolCache = null;
-        //鎵�鏈夊瓧娈甸泦鍚�
-        List<FaceField> faceFields = this.getFaceFields();
-        //鏅�氭ā绯婃煡璇㈠瓧娈甸泦鍚�
-        List<String> fieldNames = Lists.newArrayList();
-        //鍙傜収妯$硦鏌ヨ鏉′欢闆嗗悎
-        List<String> filters = Lists.newArrayList();
-        //杩斿洖鐨勭粨鏋滈泦
-        Map<String, List<String>> maps = Maps.newHashMap();
-        maps.put("fields", fieldNames);
-        maps.put("filter", filters);
-        for (int i = 0; i < faceFields.size(); i++) {
-            FaceField faceField = faceFields.get(i);
-            if (StringUtils.isEmpty(faceField.getFieldName()) || StringUtils.isEmpty(faceField.getFieldReference())) {
-                if (poolCache == null) {
-                    poolCache = DataPoolCacheImpl.getInstance();
-                }
-                DataTableEntity dt = poolCache.getCacheData("琛ㄥ瓧娈典俊鎭�", new String[]{getTableUuid(), faceField.getFieldName()});
-                if (BaseUtil.dataTableIsEmpty(dt)) {
-                } else {
-                    FieldSetEntity f = dt.getFieldSetEntity(0);
-                    faceField.setFieldName(f.getString(CmnConst.FIELD_NAME));
-                    faceField.setFieldReference(f.getString("field_reference"));
-                }
-            }
-            //瀛楁鍚嶇О
-            String fieldName = faceField.getFieldName();
-            if (aliasField != null && !StringUtils.isEmpty(fieldName)) {
-                List<String> fieldAlias = aliasField.get(getTableName() + "." + fieldName);
-                if (fieldAlias != null && fieldAlias.size() > 0) {
-                    String alias = fieldAlias.get(0);
-                    if (!StringUtils.isEmpty(alias)) {
-                        fieldName = alias;
-                    }
-                }
-            }
-            //鍙傜収澶勭悊
-            String field_reference = faceField.getFieldReference();
-            if (!StringUtils.isEmpty(field_reference)) {
-                if (field_reference.indexOf("銆�") == 0 && field_reference.indexOf("銆�") > 0) {
-                    //鏅�氬弬鐓�
-                    filters.add(getDictFilter(fieldName, field_reference.replace("銆�", "").replace("銆�", "")));
-                    continue;
-                } else {
-                    if (poolCache == null) {
-                        poolCache = DataPoolCacheImpl.getInstance();
-                    }
-                    //楂樼骇鍙傜収
-                    DataTableEntity prompt = poolCache.getCacheData("楂樼骇鍙傜収閰嶇疆淇℃伅", new String[]{field_reference});
-                    if (BaseUtil.dataTableIsEmpty(prompt)) {
-                        continue;
-                    }
-                    FieldSetEntity ff = prompt.getFieldSetEntity(0);
-                    StringBuilder p = new StringBuilder();
-                    p.append(fieldName).append(" in ").append(" ( SELECT ").append(ff.getString("value_field")).append(" FROM ").append(ff.getString("source_table"));
-                    p.append(" WHERE ").append(ff.getString("view_fields")).append(" like concat('%','~val~','%') )");
-                    filters.add(p.toString());
-                    continue;
-                }
-            }
+	/**
+	 * 鑾峰彇鏉′欢
+	 *
+	 * @param tableAlias 琛ㄥ埆鍚�
+	 * @param aliasField 瀛楁鍒悕
+	 * @return
+	 */
+	public Map<String, List<String>> getFilters(String tableAlias, Map<String, List<String>> aliasField) {
+		DataPoolCacheImpl poolCache = null;
+		//鎵�鏈夊瓧娈甸泦鍚�
+		List<FaceField> faceFields = this.getFaceFields();
+		//鏅�氭ā绯婃煡璇㈠瓧娈甸泦鍚�
+		List<String> fieldNames = Lists.newArrayList();
+		//鍙傜収妯$硦鏌ヨ鏉′欢闆嗗悎
+		List<String> filters = Lists.newArrayList();
+		//杩斿洖鐨勭粨鏋滈泦
+		Map<String, List<String>> maps = Maps.newHashMap();
+		maps.put("fields", fieldNames);
+		maps.put("filter", filters);
+		for (int i = 0; i < faceFields.size(); i++) {
+			FaceField faceField = faceFields.get(i);
+			if (StringUtils.isEmpty(faceField.getFieldName()) || StringUtils.isEmpty(faceField.getFieldReference())) {
+				if (poolCache == null) {
+					poolCache = DataPoolCacheImpl.getInstance();
+				}
+				DataTableEntity dt = poolCache.getCacheData("琛ㄥ瓧娈典俊鎭�", new String[]{getTableUuid(), faceField.getFieldName()});
+				if (BaseUtil.dataTableIsEmpty(dt)) {
+				} else {
+					FieldSetEntity f = dt.getFieldSetEntity(0);
+					faceField.setFieldName(f.getString(CmnConst.FIELD_NAME));
+					faceField.setFieldReference(f.getString("field_reference"));
+				}
+			}
+			//瀛楁鍚嶇О
+			String fieldName = faceField.getFieldName();
+			if (aliasField != null && !StringUtils.isEmpty(fieldName)) {
+				List<String> fieldAlias = aliasField.get(getTableName() + "." + fieldName);
+				if (fieldAlias != null && fieldAlias.size() > 0) {
+					String alias = fieldAlias.get(0);
+					if (!StringUtils.isEmpty(alias)) {
+						fieldName = alias;
+					}
+				}
+			}
+			//鍙傜収澶勭悊
+			String field_reference = faceField.getFieldReference();
+			if (!StringUtils.isEmpty(field_reference)) {
+				if (field_reference.indexOf("銆�") == 0 && field_reference.indexOf("銆�") > 0) {
+					//鏅�氬弬鐓�
+					filters.add(getDictFilter(getFieldName(tableAlias, fieldName), field_reference.replace("銆�", "").replace("銆�", "")));
+					continue;
+				} else {
+					if (poolCache == null) {
+						poolCache = DataPoolCacheImpl.getInstance();
+					}
+					//楂樼骇鍙傜収
+					DataTableEntity prompt = poolCache.getCacheData("楂樼骇鍙傜収閰嶇疆淇℃伅", new String[]{field_reference});
+					if (BaseUtil.dataTableIsEmpty(prompt)) {
+						continue;
+					}
+					FieldSetEntity ff = prompt.getFieldSetEntity(0);
+					StringBuilder p = new StringBuilder();
+					p.append(getFieldName(tableAlias, fieldName)).append("` in ").append(" ( SELECT `").append(ff.getString("value_field")).append("` FROM ").append(ff.getString("source_table"));
+					p.append(" WHERE ").append(ff.getString("view_fields")).append(" like concat('%','~val~','%') )");
+					filters.add(p.toString());
+					continue;
+				}
+			}
 
-            if (!StringUtils.isEmpty(faceField.getFieldName())) {
-                fieldNames.add(StringUtils.isEmpty(tableAlias) ? faceField.getFieldName() : ("`" + tableAlias + "`.`" + fieldName + "`"));
-            }
-        }
-        //鑾峰彇redis 璧峰key
-        String faceListKey = SystemFaceService.FACE_LIST_KEY;
-        //閲嶆柊鏀惧叆redis
-        RedisUtil.set(faceListKey + getUuid(), this);
-        return maps;
-    }
+			if (!StringUtils.isEmpty(faceField.getFieldName())) {
+				fieldNames.add(getFieldName(tableAlias, fieldName));
+			}
+		}
+		//鑾峰彇redis 璧峰key
+		String faceListKey = SystemFaceService.FACE_LIST_KEY;
+		//閲嶆柊鏀惧叆redis
+		RedisUtil.set(faceListKey + getUuid(), this);
+		return maps;
+	}
 
-    /**
-     * 瀛楁瀹炰綋绫�
-     */
-    public class FaceField implements Serializable {
+	private String getFieldName(String tableAlias, String fieldName) {
+		fieldName = "`" + fieldName + "`";
+		if (!StringUtils.isEmpty(tableAlias)) {
+			return "`" + tableAlias + "`." + fieldName;
+		}
+		return fieldName;
+	}
 
-        private static final long serialVersionUID = 3154509166818911568L;
-        /**
-         * 瀛楁鍚嶇О
-         */
-        private String fieldName;
-        /**
-         * 瀛楁uuid
-         */
-        private String fieldUuid;
-        /**
-         * 鍒楀悕
-         */
-        private String columnName;
-        /**
-         * 鍒楀
-         */
-        private String columnWidth;
-        /**
-         * 鎺掑簭
-         */
-        private Integer sequence;
-        /**
-         * 瀛楁鍙傜収
-         */
-        private String fieldReference;
+	/**
+	 * 瀛楁瀹炰綋绫�
+	 */
+	public class FaceField implements Serializable {
 
-        public String getFieldReference() {
-            return fieldReference;
-        }
+		private static final long serialVersionUID = 3154509166818911568L;
+		/**
+		 * 瀛楁鍚嶇О
+		 */
+		private String fieldName;
+		/**
+		 * 瀛楁uuid
+		 */
+		private String fieldUuid;
+		/**
+		 * 鍒楀悕
+		 */
+		private String columnName;
+		/**
+		 * 鍒楀
+		 */
+		private String columnWidth;
+		/**
+		 * 鎺掑簭
+		 */
+		private Integer sequence;
+		/**
+		 * 瀛楁鍙傜収
+		 */
+		private String fieldReference;
 
-        public void setFieldReference(String fieldReference) {
-            this.fieldReference = fieldReference;
-        }
+		public String getFieldReference() {
+			return fieldReference;
+		}
 
-        public String getFieldName() {
-            return fieldName;
-        }
+		public void setFieldReference(String fieldReference) {
+			this.fieldReference = fieldReference;
+		}
 
-        public void setFieldName(String fieldName) {
-            this.fieldName = fieldName;
-        }
+		public String getFieldName() {
+			return fieldName;
+		}
 
-        public String getFieldUuid() {
-            return fieldUuid;
-        }
+		public void setFieldName(String fieldName) {
+			this.fieldName = fieldName;
+		}
 
-        public void setFieldUuid(String fieldUuid) {
-            this.fieldUuid = fieldUuid;
-        }
+		public String getFieldUuid() {
+			return fieldUuid;
+		}
 
-        public String getColumnName() {
-            return columnName;
-        }
+		public void setFieldUuid(String fieldUuid) {
+			this.fieldUuid = fieldUuid;
+		}
 
-        public void setColumnName(String columnName) {
-            this.columnName = columnName;
-        }
+		public String getColumnName() {
+			return columnName;
+		}
 
-        public String getColumnWidth() {
-            return columnWidth;
-        }
+		public void setColumnName(String columnName) {
+			this.columnName = columnName;
+		}
 
-        public void setColumnWidth(String columnWidth) {
-            this.columnWidth = columnWidth;
-        }
+		public String getColumnWidth() {
+			return columnWidth;
+		}
 
-        public Integer getSequence() {
-            return sequence;
-        }
+		public void setColumnWidth(String columnWidth) {
+			this.columnWidth = columnWidth;
+		}
 
-        public void setSequence(Integer sequence) {
-            this.sequence = sequence;
-        }
+		public Integer getSequence() {
+			return sequence;
+		}
 
-    }
+		public void setSequence(Integer sequence) {
+			this.sequence = sequence;
+		}
+
+	}
 
 }

--
Gitblit v1.9.2