From e1819d439bb79d6fc124e111f0f3abeb4d11a927 Mon Sep 17 00:00:00 2001 From: 2369059705@qq.com <2369059705@qq.com> Date: 星期三, 17 五月 2023 15:32:32 +0800 Subject: [PATCH] 送审组织机构打不开 --- product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java | 724 +++++++++++++++++++++++++++--------------------------- 1 files changed, 362 insertions(+), 362 deletions(-) diff --git a/product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java b/product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java index f5acb1f..c4da5cf 100644 --- a/product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java +++ b/product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java @@ -22,408 +22,408 @@ */ @Service public class OrganizationCacheService extends AbstractBaseService { - protected final static String ORG_CACHE_KEY = "system:org:"; - protected final static String ORG_UUID_CACHE_KEY = "system:org:uuid:"; - protected final static String POST_DEPT_CACHE_KEY = "system:post:"; - protected final static String POST_UUID_CACHE_KEY = "system:post:uuid:"; - protected final static String DEPT_STAFF_CACHE_KEY = "system:user:dept:"; - protected final static String POST_STAFF_CACHE_KEY = "system:user:post:"; - protected final static String USER_STAFF_CACHE_KEY = "system:user:id:"; + protected final static String ORG_CACHE_KEY = "system:org:"; + protected final static String ORG_UUID_CACHE_KEY = "system:org:uuid:"; + protected final static String POST_DEPT_CACHE_KEY = "system:post:"; + protected final static String POST_UUID_CACHE_KEY = "system:post:uuid:"; + protected final static String DEPT_STAFF_CACHE_KEY = "system:user:dept:"; + protected final static String POST_STAFF_CACHE_KEY = "system:user:post:"; + protected final static String USER_STAFF_CACHE_KEY = "system:user:id:"; - /** - * 鑾峰彇hash缂撳瓨 鎵�鏈夌殑value - * - * @param cacheKey - * @param streamFilter - * @return - */ - private static DataTableEntity getHashCache(String cacheKey, StreamFilter streamFilter) { - DataTableEntity values = new DataTableEntity(); - // 鍦╮edis 涓ā绯婅幏鍙杒ey - try (Jedis jedis = RedisUtil.getJedis();) { - Set<byte[]> keyBytes = jedis.keys((cacheKey + "*").getBytes(StandardCharsets.UTF_8)); - if (!CollectionUtil.isEmpty(keyBytes)) { - // 灏唊ey 搴忓垪鍖栫炕杞� 杩囨护涓嶉渶瑕佺殑key 杞负鏁扮粍 - String[] keys = keyBytes.stream().map(item -> new String(item, StandardCharsets.UTF_8)) - .filter(f -> streamFilter.keyFilter(f)).toArray(String[]::new); - for (String key : keys) { - //寰幆鍙栧嚭鏁版嵁 - Map<String, Object> result = RedisUtil.getHash(key); - //灏唌ap.value锛圤bject) 杞负 List (FieldSetEntity) - List<FieldSetEntity> collect = result.values().stream().map(item -> ((FieldSetEntity) item)) - .filter(item -> streamFilter.itemFilter(item)).collect(Collectors.toList()); - if (collect != null) { - if (values.getRows() <= 0) { - values.setData(collect); - } else { - values.getData().addAll(collect); - } - } - } - } + /** + * 鑾峰彇hash缂撳瓨 鎵�鏈夌殑value + * + * @param cacheKey + * @param streamFilter + * @return + */ + private static DataTableEntity getHashCache(String cacheKey, StreamFilter streamFilter) { + DataTableEntity values = new DataTableEntity(); + // 鍦╮edis 涓ā绯婅幏鍙杒ey + try (Jedis jedis = RedisUtil.getJedis();) { + Set<byte[]> keyBytes = jedis.keys((cacheKey + "*").getBytes(StandardCharsets.UTF_8)); + if (!CollectionUtil.isEmpty(keyBytes)) { + // 灏唊ey 搴忓垪鍖栫炕杞� 杩囨护涓嶉渶瑕佺殑key 杞负鏁扮粍 + String[] keys = keyBytes.stream().map(item -> new String(item, StandardCharsets.UTF_8)) + .filter(f -> streamFilter.keyFilter(f)).toArray(String[]::new); + for (String key : keys) { + //寰幆鍙栧嚭鏁版嵁 + Map<String, Object> result = RedisUtil.getHash(key); + //灏唌ap.value锛圤bject) 杞负 List (FieldSetEntity) + List<FieldSetEntity> collect = result.values().stream().map(item -> ((FieldSetEntity) item)) + .filter(item -> streamFilter.itemFilter(item)).collect(Collectors.toList()); + if (collect != null) { + if (values.getRows() <= 0) { + values.setData(collect); + } else { + values.getData().addAll(collect); + } + } + } + } - if (!DataTableEntity.isEmpty(values) && !StringUtils.isEmpty(values.getData().get(0).getString(CmnConst.SEQUENCE))) { - //濡傛灉 f.getInteger = null ,default value =Integer.MAX_VALUE - values.getData().sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); - } - values.setData(values.getData()); - return values; - } - } + if (!DataTableEntity.isEmpty(values) && !StringUtils.isEmpty(values.getData().get(0).getString(CmnConst.SEQUENCE))) { + //濡傛灉 f.getInteger = null ,default value =Integer.MAX_VALUE + values.getData().sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); + } + values.setData(values.getData()); + return values; + } + } - /** - * 鑾峰彇鎸囧畾绫诲瀷鐨勬満鏋勭紦瀛� - * - * @param type 鏈烘瀯绫诲瀷 1 = 鍏徃 2=閮ㄩ棬 - * @return - */ - public static DataTableEntity getOrgData(String type) { - return getHashCache(ORG_CACHE_KEY, new StreamFilter() { - @Override - public boolean keyFilter(String f) { - return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); - } + /** + * 鑾峰彇鎸囧畾绫诲瀷鐨勬満鏋勭紦瀛� + * + * @param type 鏈烘瀯绫诲瀷 1 = 鍏徃 2=閮ㄩ棬 + * @return + */ + public static DataTableEntity getOrgData(String type) { + return getHashCache(ORG_CACHE_KEY, new StreamFilter() { + @Override + public boolean keyFilter(String f) { + return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); + } - @Override - public boolean itemFilter(FieldSetEntity f) { - if (FieldSetEntity.isEmpty(f)) { - return false; - } - if (!StringUtils.isEmpty(type) && !type.equals(f.getString("type"))) { - return false; - } - return true; - } - }); - } + @Override + public boolean itemFilter(FieldSetEntity f) { + if (FieldSetEntity.isEmpty(f)) { + return false; + } + if (!StringUtils.isEmpty(type) && !type.equals(f.getString("type"))) { + return false; + } + return true; + } + }); + } - /** - * 鑾峰彇鎵�鏈夋満鏋勭殑缂撳瓨 - * - * @return - */ - public static DataTableEntity getOrgData() { - return getHashCache(ORG_CACHE_KEY, new StreamFilter() { - @Override - public boolean keyFilter(String f) { - return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); - } - }); - } + /** + * 鑾峰彇鎵�鏈夋満鏋勭殑缂撳瓨 + * + * @return + */ + public static DataTableEntity getOrgData() { + return getHashCache(ORG_CACHE_KEY, new StreamFilter() { + @Override + public boolean keyFilter(String f) { + return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); + } + }); + } - /** - * 鑾峰彇鎵�鏈夊矖浣嶇紦瀛� - * - * @return - */ - public static DataTableEntity getPostData() { + /** + * 鑾峰彇鎵�鏈夊矖浣嶇紦瀛� + * + * @return + */ + public static DataTableEntity getPostData() { - return getHashCache(POST_DEPT_CACHE_KEY, new StreamFilter() { - @Override - public boolean keyFilter(String f) { - return !(f == null || f.startsWith(POST_UUID_CACHE_KEY)); - } - }); - } + return getHashCache(POST_DEPT_CACHE_KEY, new StreamFilter() { + @Override + public boolean keyFilter(String f) { + return !(f == null || f.startsWith(POST_UUID_CACHE_KEY)); + } + }); + } - /** - * 鑾峰彇宀椾綅缂撳瓨鏍规嵁閮ㄩ棬 - * - * @param deptUuid - * @return - */ - public static DataTableEntity getPostDataByDept(String deptUuid) { - List<FieldSetEntity> postCache = getPostCache(deptUuid); - DataTableEntity dataTableEntity = new DataTableEntity(); - if (postCache != null) { - dataTableEntity.setData(postCache); - } - return dataTableEntity; - } + /** + * 鑾峰彇宀椾綅缂撳瓨鏍规嵁閮ㄩ棬 + * + * @param deptUuid + * @return + */ + public static DataTableEntity getPostDataByDept(String deptUuid) { + List<FieldSetEntity> postCache = getPostCache(deptUuid); + DataTableEntity dataTableEntity = new DataTableEntity(); + if (postCache != null) { + dataTableEntity.setData(postCache); + } + return dataTableEntity; + } - /** - * 鑾峰彇鎵�鏈夌敤鎴� - * - * @return - */ - public static DataTableEntity getUserData() { - return getHashCache(DEPT_STAFF_CACHE_KEY, new StreamFilter() { - }); - } + /** + * 鑾峰彇鎵�鏈夌敤鎴� + * + * @return + */ + public static DataTableEntity getUserData() { + return getHashCache(DEPT_STAFF_CACHE_KEY, new StreamFilter() { + }); + } - /** - * 鑾峰彇閮ㄩ棬鏍规嵁鍏徃 - * - * @param org_level_uuid - * @return - */ - public static DataTableEntity getDeptDataByCompany(String org_level_uuid) { - return getHashCache(ORG_CACHE_KEY, new StreamFilter() { - @Override - public boolean keyFilter(String f) { - return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); - } + /** + * 鑾峰彇閮ㄩ棬鏍规嵁鍏徃 + * + * @param org_level_uuid + * @return + */ + public static DataTableEntity getDeptDataByCompany(String org_level_uuid) { + return getHashCache(ORG_CACHE_KEY, new StreamFilter() { + @Override + public boolean keyFilter(String f) { + return !(f == null || f.startsWith(ORG_UUID_CACHE_KEY)); + } - @Override - public boolean itemFilter(FieldSetEntity f) { - return org_level_uuid != null && org_level_uuid.equals(f.getString("parent_uuid")) && "2".equals(f.getString("type")); - } - }); - } + @Override + public boolean itemFilter(FieldSetEntity f) { + return org_level_uuid != null && org_level_uuid.equals(f.getString("parent_uuid")) && "2".equals(f.getString("type")); + } + }); + } - /** - * 鑾峰彇鐢ㄦ埛鏍规嵁閮ㄩ棬 - * - * @param deptUuid - * @return - */ - public static DataTableEntity getUserDataByDept(String deptUuid) { - List<FieldSetEntity> staffCacheByDept = getStaffCacheByDept(deptUuid); - DataTableEntity dataTableEntity = new DataTableEntity(); - if (staffCacheByDept != null) { - staffCacheByDept.sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); - dataTableEntity.setData(staffCacheByDept); - } - return dataTableEntity; - } + /** + * 鑾峰彇鐢ㄦ埛鏍规嵁閮ㄩ棬 + * + * @param deptUuid + * @return + */ + public static DataTableEntity getUserDataByDept(String deptUuid) { + List<FieldSetEntity> staffCacheByDept = getStaffCacheByDept(deptUuid); + DataTableEntity dataTableEntity = new DataTableEntity(); + if (staffCacheByDept != null) { + staffCacheByDept.sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); + dataTableEntity.setData(staffCacheByDept); + } + return dataTableEntity; + } - /** - * 鑾峰彇鐢ㄦ埛鏍规嵁宀椾綅 - * - * @param postUuid - * @return - */ + /** + * 鑾峰彇鐢ㄦ埛鏍规嵁宀椾綅 + * + * @param postUuid + * @return + */ - public static DataTableEntity getUserDataByPost(String postUuid) { - List<FieldSetEntity> staffCacheByPost = getStaffCacheByPost(postUuid); - DataTableEntity dataTableEntity = new DataTableEntity(); - if (staffCacheByPost != null) { - staffCacheByPost.sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); - dataTableEntity.setData(staffCacheByPost); - } - return dataTableEntity; - } + public static DataTableEntity getUserDataByPost(String postUuid) { + List<FieldSetEntity> staffCacheByPost = getStaffCacheByPost(postUuid); + DataTableEntity dataTableEntity = new DataTableEntity(); + if (staffCacheByPost != null) { + staffCacheByPost.sort(Comparator.comparing(f -> Optional.ofNullable(f.getInteger(CmnConst.SEQUENCE)).orElse(Integer.MAX_VALUE))); + dataTableEntity.setData(staffCacheByPost); + } + return dataTableEntity; + } - interface StreamFilter { - default boolean keyFilter(String f) { - return true; - } + interface StreamFilter { + default boolean keyFilter(String f) { + return true; + } - default boolean itemFilter(FieldSetEntity f) { - return true; - } + default boolean itemFilter(FieldSetEntity f) { + return true; + } - } + } - public void cacheOrganization(String uuid) { - StringBuilder sql = new StringBuilder(); - sql.append("\n SELECT "); - sql.append("\n a.uuid, "); - sql.append("\n a.client_uuid, "); - sql.append("\n a.org_level_uuid, "); - sql.append("\n a.org_level_name, "); - sql.append("\n a.org_level_all,b.uuid parent_uuid, "); - sql.append("\n a.org_level_code, "); - sql.append("\n a.org_level_type + 1 type,a.sequence, "); - sql.append("\n b.org_level_all parent_org_level_all, "); - sql.append("\n case when length(a.org_level_code_parent)>0 then b.org_level_type+1 "); - sql.append("\n else null end as parent_type, "); - sql.append("\n CASE "); - sql.append("\n WHEN a.org_level_type = 0 THEN "); - sql.append("\n ifnull(( SELECT 1 FROM product_sys_org_levels c WHERE c.org_level_code_parent = a.org_level_code AND c.org_level_type = 0 and c.org_level_status=0 LIMIT 1 ), 0 ) ELSE 0 "); - sql.append("\n END childrenCompany, "); - sql.append("\n ifnull(( SELECT 1 FROM product_sys_org_levels WHERE org_level_code_parent = a.org_level_code AND org_level_type = 1 and org_level_status=0 LIMIT 1 ), 0 ) childrenDept, "); - sql.append("\n case when a.org_level_type=1 then ifnull((select 1 from product_sys_staff_user_v where dept_uuid=a.uuid and `status`=1 limit 1 ),0) else 0 end childrenStaff, "); - sql.append("\n CASE WHEN a.org_level_type=1 then ifnull((select 1 from product_sys_job_posts where is_used=1 and dept_uuid=a.uuid limit 1 ),0) else 0 end childrenPost, "); - sql.append("\n CASE "); - sql.append("\n WHEN length( a.org_level_code_parent )> 0 THEN "); - sql.append("\n a.org_level_code_parent ELSE a.client_uuid "); - sql.append("\n END org_level_code_parent, "); - sql.append("\n a.org_level_type "); - sql.append("\n FROM "); - sql.append("\n product_sys_org_levels a "); - sql.append("\n join product_sys_org_levels b on b.org_level_status=0 "); - sql.append("\n and (a.org_level_code_parent=b.org_level_code OR (a.org_level_code_parent is null or a.org_level_code_parent=''))"); - sql.append("\n where a.org_level_status=0 "); + public void cacheOrganization(String uuid) { + StringBuilder sql = new StringBuilder(); + sql.append("\n SELECT "); + sql.append("\n a.uuid, "); + sql.append("\n a.client_uuid, "); + sql.append("\n a.org_level_uuid, "); + sql.append("\n a.org_level_name, "); + sql.append("\n a.org_level_all,b.uuid parent_uuid, "); + sql.append("\n a.org_level_code, "); + sql.append("\n a.org_level_type + 1 type,a.sequence, "); + sql.append("\n b.org_level_all parent_org_level_all, "); + sql.append("\n case when length(a.org_level_code_parent)>0 then b.org_level_type+1 "); + sql.append("\n else null end as parent_type, "); + sql.append("\n CASE "); + sql.append("\n WHEN a.org_level_type = 0 THEN "); + sql.append("\n ifnull(( SELECT 1 FROM product_sys_org_levels c WHERE c.org_level_code_parent = a.org_level_code AND c.org_level_type = 0 and c.org_level_status=0 LIMIT 1 ), 0 ) ELSE 0 "); + sql.append("\n END childrenCompany, "); + sql.append("\n ifnull(( SELECT 1 FROM product_sys_org_levels WHERE org_level_code_parent = a.org_level_code AND org_level_type = 1 and org_level_status=0 LIMIT 1 ), 0 ) childrenDept, "); + sql.append("\n case when a.org_level_type=1 then ifnull((select 1 from product_sys_staff_user_v where dept_uuid=a.uuid and `status`=1 limit 1 ),0) else 0 end childrenStaff, "); + sql.append("\n CASE WHEN a.org_level_type=1 then ifnull((select 1 from product_sys_job_posts where is_used=1 and dept_uuid=a.uuid limit 1 ),0) else 0 end childrenPost, "); + sql.append("\n CASE "); + sql.append("\n WHEN length( a.org_level_code_parent )> 0 THEN "); + sql.append("\n a.org_level_code_parent ELSE a.client_uuid "); + sql.append("\n END org_level_code_parent, "); + sql.append("\n a.org_level_type "); + sql.append("\n FROM "); + sql.append("\n product_sys_org_levels a "); + sql.append("\n LEFT JOIN product_sys_org_levels b on b.org_level_status=0 "); + sql.append("\n and (a.org_level_code_parent=b.org_level_code )"); + sql.append("\n where a.org_level_status=0 "); - Object[] params = null; - if (!StringUtils.isEmpty(uuid)) { - sql.append(" AND a.uuid=? "); - params = new Object[]{uuid}; - } else { - RedisUtil.del(this.ORG_CACHE_KEY); - } - DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); - if (!DataTableEntity.isEmpty(dt)) { - for (int i = 0; i < dt.getRows(); i++) { - FieldSetEntity fse = dt.getFieldSetEntity(i); - addOrgCache(fse); - } - } + Object[] params = null; + if (!StringUtils.isEmpty(uuid)) { + sql.append(" AND a.uuid=? "); + params = new Object[]{uuid}; + } else { + RedisUtil.del(this.ORG_CACHE_KEY); + } + DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); + if (!DataTableEntity.isEmpty(dt)) { + for (int i = 0; i < dt.getRows(); i++) { + FieldSetEntity fse = dt.getFieldSetEntity(i); + addOrgCache(fse); + } + } - } + } - public void cachePost() { - this.cachePost(null); - } + public void cachePost() { + this.cachePost(null); + } - public void cachePost(String uuid) { - StringBuilder sql = new StringBuilder(); - sql.append("\n select a.sequence,3 type,a.uuid,a.job_post_name,a.dept_uuid,b.org_level_all,org_level_code, "); - sql.append("\n (select 1 from product_sys_staff_user_v c where a.uuid=job_post_uuid and c.`status`=1 limit 1 ) childrenStaff "); - sql.append("\n from product_sys_job_posts a "); - sql.append("\n join product_sys_org_levels b on a.dept_uuid=b.uuid and b.org_level_type=1 "); - Object[] params = null; - if (!StringUtils.isEmpty(uuid)) { - sql.append(" where a.uuid=? "); - params = new Object[]{uuid}; - } else { - RedisUtil.del(this.POST_DEPT_CACHE_KEY); - } - DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); - for (int i = 0; !DataTableEntity.isEmpty(dt) && i < dt.getRows(); i++) { - addPostCache(dt.getFieldSetEntity(i)); - } - } + public void cachePost(String uuid) { + StringBuilder sql = new StringBuilder(); + sql.append("\n select a.sequence,3 type,a.uuid,a.job_post_name,a.dept_uuid,b.org_level_all,org_level_code, "); + sql.append("\n (select 1 from product_sys_staff_user_v c where a.uuid=job_post_uuid and c.`status`=1 limit 1 ) childrenStaff "); + sql.append("\n from product_sys_job_posts a "); + sql.append("\n join product_sys_org_levels b on a.dept_uuid=b.uuid and b.org_level_type=1 "); + Object[] params = null; + if (!StringUtils.isEmpty(uuid)) { + sql.append(" where a.uuid=? "); + params = new Object[]{uuid}; + } else { + RedisUtil.del(this.POST_DEPT_CACHE_KEY); + } + DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); + for (int i = 0; !DataTableEntity.isEmpty(dt) && i < dt.getRows(); i++) { + addPostCache(dt.getFieldSetEntity(i)); + } + } - public void cacheStaff() { - this.cacheStaff(null); - } + public void cacheStaff() { + this.cacheStaff(null); + } - public void cacheStaff(String uuid) { - StringBuilder sql = new StringBuilder(); - sql.append("\n SELECT "); - sql.append("\n staff.user_id,users.uuid,staff.sequence,staff.sex, "); - sql.append("\n staff.uuid staff_uuid, "); - sql.append("\n user_name, user_name show_name,user_account, "); - sql.append("\n dept_uuid,org.org_level_code, "); - sql.append("\n job_post_uuid,staff.org_level_uuid,org.org_level_all, "); - sql.append("\n 4 type "); - sql.append("\n FROM "); - sql.append("\n product_sys_staffs staff "); - sql.append("\n JOIN product_sys_users users ON staff.user_id = users.user_id "); - sql.append("\n AND users.`status` =1 "); - Object[] params = null; - if (!StringUtils.isEmpty(uuid)) { - sql.append(" and users.uuid=? "); - params = new Object[]{uuid}; - } else { - RedisUtil.del(this.POST_STAFF_CACHE_KEY); - RedisUtil.del(this.DEPT_STAFF_CACHE_KEY); - RedisUtil.del(this.USER_STAFF_CACHE_KEY); - } + public void cacheStaff(String uuid) { + StringBuilder sql = new StringBuilder(); + sql.append("\n SELECT "); + sql.append("\n staff.user_id,users.uuid,staff.sequence,staff.sex, "); + sql.append("\n staff.uuid staff_uuid, "); + sql.append("\n user_name, user_name show_name,user_account, "); + sql.append("\n dept_uuid,org.org_level_code, "); + sql.append("\n job_post_uuid,staff.org_level_uuid,org.org_level_all, "); + sql.append("\n 4 type "); + sql.append("\n FROM "); + sql.append("\n product_sys_staffs staff "); + sql.append("\n JOIN product_sys_users users ON staff.user_id = users.user_id "); + sql.append("\n AND users.`status` =1 "); + Object[] params = null; + if (!StringUtils.isEmpty(uuid)) { + sql.append(" and users.uuid=? "); + params = new Object[]{uuid}; + } else { + RedisUtil.del(this.POST_STAFF_CACHE_KEY); + RedisUtil.del(this.DEPT_STAFF_CACHE_KEY); + RedisUtil.del(this.USER_STAFF_CACHE_KEY); + } - sql.append("\n JOIN product_sys_org_levels org on org.uuid=staff.dept_uuid and org.org_level_type=1 and org_level_status=0 "); - DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); - for (int i = 0; !DataTableEntity.isEmpty(dt) && i < dt.getRows(); i++) { - addStaffCache(dt.getFieldSetEntity(i)); - } + sql.append("\n JOIN product_sys_org_levels org on org.uuid=staff.dept_uuid and org.org_level_type=1 and org_level_status=0 "); + DataTableEntity dt = getBaseDao().listTable(sql.toString(), params); + for (int i = 0; !DataTableEntity.isEmpty(dt) && i < dt.getRows(); i++) { + addStaffCache(dt.getFieldSetEntity(i)); + } - } + } - /** - * 鍛樺伐缂撳瓨 - * - * @param fse - */ - public void addStaffCache(FieldSetEntity fse) { - if (!FieldSetEntity.isEmpty(fse)) { - RedisUtil.setHash(this.DEPT_STAFF_CACHE_KEY + fse.getString(CmnConst.DEPT_UUID), fse.getUUID(), fse); - RedisUtil.setHash(this.POST_STAFF_CACHE_KEY + fse.getString("job_post_uuid"), fse.getUUID(), fse); - RedisUtil.setHash(this.USER_STAFF_CACHE_KEY, fse.getString("user_id"), fse); - } - } + /** + * 鍛樺伐缂撳瓨 + * + * @param fse + */ + public void addStaffCache(FieldSetEntity fse) { + if (!FieldSetEntity.isEmpty(fse)) { + RedisUtil.setHash(this.DEPT_STAFF_CACHE_KEY + fse.getString(CmnConst.DEPT_UUID), fse.getUUID(), fse); + RedisUtil.setHash(this.POST_STAFF_CACHE_KEY + fse.getString("job_post_uuid"), fse.getUUID(), fse); + RedisUtil.setHash(this.USER_STAFF_CACHE_KEY, fse.getString("user_id"), fse); + } + } - public static List<FieldSetEntity> getStaffCacheByDept(String dept_uuid) { - if (!StringUtils.isEmpty((dept_uuid)) && RedisUtil.exists(DEPT_STAFF_CACHE_KEY + dept_uuid)) { - Collection<Object> values = RedisUtil.getHash(DEPT_STAFF_CACHE_KEY + dept_uuid).values(); - return BeanUtil.copyToList(values, FieldSetEntity.class); - } - return null; - } + public static List<FieldSetEntity> getStaffCacheByDept(String dept_uuid) { + if (!StringUtils.isEmpty((dept_uuid)) && RedisUtil.exists(DEPT_STAFF_CACHE_KEY + dept_uuid)) { + Collection<Object> values = RedisUtil.getHash(DEPT_STAFF_CACHE_KEY + dept_uuid).values(); + return BeanUtil.copyToList(values, FieldSetEntity.class); + } + return null; + } - public static FieldSetEntity getStaffCacheByUserId(String userId) { - if (StringUtils.isEmpty(userId)) { - return null; - } - return (FieldSetEntity) RedisUtil.getHash(USER_STAFF_CACHE_KEY, userId); - } + public static FieldSetEntity getStaffCacheByUserId(String userId) { + if (StringUtils.isEmpty(userId)) { + return null; + } + return (FieldSetEntity) RedisUtil.getHash(USER_STAFF_CACHE_KEY, userId); + } - public static List<FieldSetEntity> getStaffCacheByPost(String post_uuid) { - if (!StringUtils.isEmpty((post_uuid)) && RedisUtil.exists(POST_STAFF_CACHE_KEY + post_uuid)) { - Collection<Object> values = RedisUtil.getHash(POST_STAFF_CACHE_KEY + post_uuid).values(); - return BeanUtil.copyToList(values, FieldSetEntity.class); - } - return null; - } + public static List<FieldSetEntity> getStaffCacheByPost(String post_uuid) { + if (!StringUtils.isEmpty((post_uuid)) && RedisUtil.exists(POST_STAFF_CACHE_KEY + post_uuid)) { + Collection<Object> values = RedisUtil.getHash(POST_STAFF_CACHE_KEY + post_uuid).values(); + return BeanUtil.copyToList(values, FieldSetEntity.class); + } + return null; + } - /** - * 宀椾綅缂撳瓨 - * - * @param fse - */ - public void addPostCache(FieldSetEntity fse) { - if (!FieldSetEntity.isEmpty(fse) && !StringUtils.isEmpty(fse.getUUID())) { - RedisUtil.setHash(POST_DEPT_CACHE_KEY + fse.getString(CmnConst.DEPT_UUID), fse.getUUID(), fse); - RedisUtil.set(POST_UUID_CACHE_KEY + fse.getUUID(), new Object[]{fse.getString("job_post_name"), fse.getString(CmnConst.DEPT_UUID)}); - } - } + /** + * 宀椾綅缂撳瓨 + * + * @param fse + */ + public void addPostCache(FieldSetEntity fse) { + if (!FieldSetEntity.isEmpty(fse) && !StringUtils.isEmpty(fse.getUUID())) { + RedisUtil.setHash(POST_DEPT_CACHE_KEY + fse.getString(CmnConst.DEPT_UUID), fse.getUUID(), fse); + RedisUtil.set(POST_UUID_CACHE_KEY + fse.getUUID(), new Object[]{fse.getString("job_post_name"), fse.getString(CmnConst.DEPT_UUID)}); + } + } - public static List<FieldSetEntity> getPostCache(String dept_uuid) { - if (!StringUtils.isEmpty((dept_uuid)) && RedisUtil.exists(POST_DEPT_CACHE_KEY + dept_uuid)) { - Collection<Object> values = RedisUtil.getHash(POST_DEPT_CACHE_KEY + dept_uuid).values(); - return BeanUtil.copyToList(values, FieldSetEntity.class); - } - return null; - } + public static List<FieldSetEntity> getPostCache(String dept_uuid) { + if (!StringUtils.isEmpty((dept_uuid)) && RedisUtil.exists(POST_DEPT_CACHE_KEY + dept_uuid)) { + Collection<Object> values = RedisUtil.getHash(POST_DEPT_CACHE_KEY + dept_uuid).values(); + return BeanUtil.copyToList(values, FieldSetEntity.class); + } + return null; + } - public static Object[] getPostCacheByUUID(String uuid) { - if (!StringUtils.isEmpty((uuid)) && RedisUtil.exists(POST_UUID_CACHE_KEY + uuid)) { - Object[] values = (Object[]) RedisUtil.get(POST_UUID_CACHE_KEY + uuid); - return values; - } - return null; - } + public static Object[] getPostCacheByUUID(String uuid) { + if (!StringUtils.isEmpty((uuid)) && RedisUtil.exists(POST_UUID_CACHE_KEY + uuid)) { + Object[] values = (Object[]) RedisUtil.get(POST_UUID_CACHE_KEY + uuid); + return values; + } + return null; + } - /** - * 缁勭粐鏈烘瀯琛ㄧ紦瀛� - * - * @param fse - */ - public void addOrgCache(FieldSetEntity fse) { - if (!FieldSetEntity.isEmpty(fse) && !StringUtils.isEmpty(fse.getUUID())) { - RedisUtil.setHash(this.ORG_CACHE_KEY + fse.getString(CmnConst.ORG_LEVEL_CODE_PARENT), fse.getUUID(), fse); - Map<String, Object> orgMap = new HashMap<>(); - orgMap.put(CmnConst.ORG_LEVEL_NAME, fse.getString(CmnConst.ORG_LEVEL_NAME)); - orgMap.put(CmnConst.ORG_LEVEL_CODE, fse.getString(CmnConst.ORG_LEVEL_CODE)); - orgMap.put(CmnConst.ORG_LEVEL_CODE_PARENT, fse.getString(CmnConst.ORG_LEVEL_CODE_PARENT)); - orgMap.put(CmnConst.ORG_LEVEL_UUID, fse.getString(CmnConst.ORG_LEVEL_UUID)); - orgMap.put(CmnConst.ORG_LEVEL_ALL, fse.getString(CmnConst.ORG_LEVEL_ALL)); - orgMap.put("uuid", fse.getUUID()); - orgMap.put("parent_uuid", fse.getString("parent_uuid")); - orgMap.put("parent_type", fse.getString("parent_type")); - RedisUtil.set(this.ORG_UUID_CACHE_KEY + fse.getUUID(), orgMap); + /** + * 缁勭粐鏈烘瀯琛ㄧ紦瀛� + * + * @param fse + */ + public void addOrgCache(FieldSetEntity fse) { + if (!FieldSetEntity.isEmpty(fse) && !StringUtils.isEmpty(fse.getUUID())) { + RedisUtil.setHash(this.ORG_CACHE_KEY + fse.getString(CmnConst.ORG_LEVEL_CODE_PARENT), fse.getUUID(), fse); + Map<String, Object> orgMap = new HashMap<>(); + orgMap.put(CmnConst.ORG_LEVEL_NAME, fse.getString(CmnConst.ORG_LEVEL_NAME)); + orgMap.put(CmnConst.ORG_LEVEL_CODE, fse.getString(CmnConst.ORG_LEVEL_CODE)); + orgMap.put(CmnConst.ORG_LEVEL_CODE_PARENT, fse.getString(CmnConst.ORG_LEVEL_CODE_PARENT)); + orgMap.put(CmnConst.ORG_LEVEL_UUID, fse.getString(CmnConst.ORG_LEVEL_UUID)); + orgMap.put(CmnConst.ORG_LEVEL_ALL, fse.getString(CmnConst.ORG_LEVEL_ALL)); + orgMap.put("uuid", fse.getUUID()); + orgMap.put("parent_uuid", fse.getString("parent_uuid")); + orgMap.put("parent_type", fse.getString("parent_type")); + RedisUtil.set(this.ORG_UUID_CACHE_KEY + fse.getUUID(), orgMap); - } - } + } + } - public static Map<String, Object> getOrgCacheByUuid(String uuid) { - if (!StringUtils.isEmpty(uuid) && RedisUtil.exists(ORG_UUID_CACHE_KEY + uuid)) { - return (Map<String, Object>) RedisUtil.get(ORG_UUID_CACHE_KEY + uuid); - } - return null; - } + public static Map<String, Object> getOrgCacheByUuid(String uuid) { + if (!StringUtils.isEmpty(uuid) && RedisUtil.exists(ORG_UUID_CACHE_KEY + uuid)) { + return (Map<String, Object>) RedisUtil.get(ORG_UUID_CACHE_KEY + uuid); + } + return null; + } - public static List<FieldSetEntity> getOrgCache(String org_level_code_parent) { - if (!StringUtils.isEmpty((org_level_code_parent)) && RedisUtil.exists(ORG_CACHE_KEY + org_level_code_parent)) { - Collection<Object> values = RedisUtil.getHash(ORG_CACHE_KEY + org_level_code_parent).values(); - return BeanUtil.copyToList(values, FieldSetEntity.class); - } - return null; - } + public static List<FieldSetEntity> getOrgCache(String org_level_code_parent) { + if (!StringUtils.isEmpty((org_level_code_parent)) && RedisUtil.exists(ORG_CACHE_KEY + org_level_code_parent)) { + Collection<Object> values = RedisUtil.getHash(ORG_CACHE_KEY + org_level_code_parent).values(); + return BeanUtil.copyToList(values, FieldSetEntity.class); + } + return null; + } } -- Gitblit v1.9.2