From d3cbcd265d0ee70eca677972403afcff1a0fc990 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期四, 18 五月 2023 09:37:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 product-server-admin/src/main/java/com/product/admin/service/OrganizationCacheService.java |  724 +++++++++++++++++++++++++++---------------------------
 home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java         |    3 
 2 files changed, 365 insertions(+), 362 deletions(-)

diff --git a/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java b/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java
index ffdf4e6..9c19a98 100644
--- a/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java
+++ b/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java
@@ -74,6 +74,9 @@
 //                filter += " and "+dataFilter;
 //            }
 //        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
         DataTableEntity dt = baseDao.listTable(CmnConst.APP_GZRYCCSPB,filter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
         baseDao.loadPromptData(dt);
         return dt;
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