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