You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.6 KiB
Plaintext
114 lines
4.6 KiB
Plaintext
1 year ago
|
<%@ page import="weaver.general.*" %>
|
||
|
<%@page import="weaver.conn.RecordSet"%>
|
||
|
<%@ page import="com.alibaba.fastjson.JSONObject" %>
|
||
|
<%@ page import="java.text.SimpleDateFormat" %>
|
||
|
<%@ page import="java.util.*" %>
|
||
|
<%@ page import="org.apache.commons.lang3.StringUtils" %>
|
||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||
|
|
||
|
<%
|
||
|
List<Map<String,String>> dataList = new ArrayList<Map<String,String>>();
|
||
|
Map<String,String> dataMap = null;
|
||
|
RecordSet rs = new RecordSet();
|
||
|
BaseBean bb = new BaseBean();
|
||
|
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd" ) ;
|
||
|
// Calendar calendar = Calendar.getInstance() ;
|
||
|
// String currentDay = sdf.format(calendar.getTime()) ;
|
||
|
// bb.writeLog("currentDay:"+currentDay);
|
||
|
|
||
|
for(int i=0;i<30;i++)
|
||
|
{
|
||
|
Calendar calendar = Calendar.getInstance();
|
||
|
calendar.add(Calendar.DAY_OF_YEAR, 0-i);
|
||
|
String currentDay = sdf.format(calendar.getTime()) ;
|
||
|
bb.writeLog("currentDay:"+currentDay);
|
||
|
|
||
|
String sql =" select k.* from (select h.id,h.lastname,h.sex,h.departmentid,d.departmentname,s.subcompanyname,k.jobtitlename," +
|
||
|
" datediff(year,h.companystartdate,convert(varchar(50), getdate(), 23)) as zn" +
|
||
|
" from hrmresource h\n" +
|
||
|
" inner join HrmDepartment d on d.id = h.departmentid\n" +
|
||
|
" inner join HrmSubCompany s on s.id = h.subcompanyid1\n" +
|
||
|
" inner join HrmJobTitles k on k.id = h.jobtitle\n" +
|
||
|
" where h.companystartdate like '%"+currentDay+"'\n" +
|
||
|
" and h.status in(0,1,2,3)" +
|
||
|
" and h.belongto is null " +
|
||
|
" ) k where k.zn > 0 " ;
|
||
|
|
||
|
bb.writeLog("sql:"+sql);
|
||
|
rs.executeQuery(sql);
|
||
|
while (rs.next()){
|
||
|
String id = Util.null2String(rs.getString("id"));
|
||
|
String lastname = Util.null2String(rs.getString("lastname"));
|
||
|
String sex = Util.null2String(rs.getString("sex"));
|
||
|
String departmentname = Util.null2String(rs.getString("departmentname"));
|
||
|
String subcompanyname = Util.null2String(rs.getString("subcompanyname"));
|
||
|
String zn = Util.null2String(rs.getString("zn"));
|
||
|
String departmentid = Util.null2String(rs.getString("departmentid"));
|
||
|
String jobtitlename = Util.null2String(rs.getString("jobtitlename"));
|
||
|
|
||
|
String deptnamenew = "" ;
|
||
|
dataMap = new HashMap<String, String>();
|
||
|
dataMap.put("userid",id);
|
||
|
dataMap.put("sex",sex);
|
||
|
dataMap.put("jobtitlename",jobtitlename);
|
||
|
dataMap.put("lastname",lastname);
|
||
|
dataMap.put("departmentname",departmentname);
|
||
|
dataMap.put("subcompanyname",subcompanyname);
|
||
|
if(StringUtils.isNotBlank(departmentid)){
|
||
|
deptnamenew = getTopDepartment(departmentid);
|
||
|
}
|
||
|
dataMap.put("deptnamenew",deptnamenew);
|
||
|
dataMap.put("zn",zn);
|
||
|
dataList.add(dataMap);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
JSONObject jsonObject = new JSONObject();
|
||
|
jsonObject.put("data",dataList);
|
||
|
|
||
|
%>
|
||
|
<%=jsonObject.toString() %>
|
||
|
|
||
|
|
||
|
<%!
|
||
|
|
||
|
public String getTopDepartment(String departmentid){
|
||
|
RecordSet rs = new RecordSet();
|
||
|
BaseBean bb = new BaseBean();
|
||
|
String departmentname = "" ;
|
||
|
if(StringUtils.isNotBlank(departmentid)){
|
||
|
String sql = " with tem_table(department_id,department_name,supdep_id,curlevel) as (\n" +
|
||
|
" select id,departmentname,supdepid, 1 as level \n" +
|
||
|
" from HrmDepartment where id = " + departmentid+
|
||
|
" union all \n" +
|
||
|
" select a.id,a.departmentname,a.supdepid, b.curlevel+1 \n" +
|
||
|
" from HrmDepartment a \n" +
|
||
|
" inner join tem_table b on (a.id = b.supdep_id)\n" +
|
||
|
" ) \n" +
|
||
|
" select * from tem_table ";
|
||
|
|
||
|
bb.writeLog("sql:"+sql);
|
||
|
rs.executeQuery(sql);
|
||
|
while (rs.next()){
|
||
|
String department_id = Util.null2String(rs.getString("department_id"));
|
||
|
String department_name = Util.null2String(rs.getString("department_name"));
|
||
|
String supdep_id = Util.null2String(rs.getString("supdep_id"));
|
||
|
if(StringUtils.isBlank(supdep_id) || "0".equals(supdep_id)){
|
||
|
departmentname = department_name ;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
bb.writeLog("departmentname:"+departmentname);
|
||
|
|
||
|
return departmentname;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
%>
|
||
|
|
||
|
|
||
|
|
||
|
|