<%@ 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> dataList = new ArrayList>(); Map 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(); 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; } %>