84 lines
2.7 KiB
Plaintext
84 lines
2.7 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||
<%@page import="weaver.general.Util"%>
|
||
<%@ page import="weaver.conn.RecordSet" %>
|
||
<%@ page import="java.util.*" %>
|
||
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
|
||
<%
|
||
int sum = 0;
|
||
|
||
String specialSubcomids = "";
|
||
|
||
String subcomid = request.getParameter("subcomid");
|
||
List<String> allSubDepartmentIds = getAllSubDepartmentIds(subcomid);
|
||
System.out.println(allSubDepartmentIds);
|
||
for(String subcomId : allSubDepartmentIds){
|
||
specialSubcomids += subcomId + ",";
|
||
}
|
||
if(specialSubcomids.endsWith(",")){
|
||
specialSubcomids = specialSubcomids.substring(0,specialSubcomids.length()-1);
|
||
}
|
||
|
||
String userids = "";
|
||
rs.executeQuery("select * from hrmresource where subcompanyid1 in ("+ specialSubcomids +") ");
|
||
while (rs.next()){
|
||
String userid = Util.null2String(rs.getString("id"));
|
||
userids += userid + ",";
|
||
}
|
||
if(userids.endsWith(",")){
|
||
userids = userids.substring(0,userids.length()-1);
|
||
}
|
||
sum++;
|
||
|
||
%>
|
||
|
||
<%!
|
||
|
||
// 递归查询所有子部门ID
|
||
public List<String> getAllSubDepartmentIds(String topLevelDepartmentId) {
|
||
List<String> allSubDepartmentIds = new ArrayList<>();
|
||
getAllSubDepartmentIdsRecursive(topLevelDepartmentId, allSubDepartmentIds);
|
||
return allSubDepartmentIds;
|
||
}
|
||
|
||
private void getAllSubDepartmentIdsRecursive(String departmentId, List<String> allSubDepartmentIds) {
|
||
// 添加当前部门ID
|
||
allSubDepartmentIds.add(departmentId);
|
||
// 获取当前部门的子部门ID列表
|
||
List<String> subDepartmentIds = getSubDepartments(departmentId);
|
||
// 递归获取子部门的子部门ID
|
||
for (String subDepartmentId : subDepartmentIds) {
|
||
getAllSubDepartmentIdsRecursive(subDepartmentId, allSubDepartmentIds);
|
||
}
|
||
}
|
||
|
||
// 假设这是一个模拟的数据库查询方法,它返回给定部门ID的子部门列表
|
||
public List<String> getSubDepartments(String subcomId) {
|
||
// 这里只是示例,实际情况需要查询数据库
|
||
// 假设每个部门都有两个子部门
|
||
List<String> subDepartmentIds = new ArrayList<>();
|
||
RecordSet rs = new RecordSet();
|
||
rs.executeQuery("select * from HrmSubCompany where canceled is null and supsubcomid = "+ subcomId);
|
||
while(rs.next()){
|
||
String subcomid = Util.null2String(rs.getString("id"));
|
||
subDepartmentIds.add(subcomid);
|
||
}
|
||
return subDepartmentIds;
|
||
}
|
||
|
||
|
||
%>
|
||
|
||
|
||
<HEAD>
|
||
</HEAD>
|
||
<BODY>
|
||
|
||
<h1>Congratulation Mode 666666 !</h1>
|
||
|
||
<h1> subcomids <%=specialSubcomids%> </h1>
|
||
|
||
<h1> userids <%=userids%></h1>
|
||
|
||
<h1> sum <%=sum%> </h1>
|
||
|
||
</BODY> |