%@ page import="weaver.general.*" %>
<%@page import="weaver.conn.RecordSet"%>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="java.util.*" %>
<%@ page import="com.engine.matfron.util.CommonUtils" %>
<%@ page import="com.engine.matfron.entity.OptionVO" %>
<%@ page import="java.time.YearMonth" %>
<%@ page import="com.engine.matfron.util.CommonDateUtil" %>
<%@ page import="java.time.LocalDate" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
String subcompanyid1 = "62";
JSONObject jsonObject = new JSONObject();
OptionVO optionVO = getPortalSubCompany(subcompanyid1);
jsonObject.put("data",optionVO);
jsonObject.put("status",true);
%>
<%=jsonObject.toJSONString() %>
<%!
public OptionVO getPortalSubCompany(String subcompanyid1) {
RecordSet rs = new RecordSet();
LinkedList yData = new LinkedList<>();
LinkedList monthData = new LinkedList<>();
String where = " and (belongto is null or belongto = -1 ) and subcompanyid1 = "+subcompanyid1;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String nowMonth = sdf.format(new Date());
List yearMonths = CommonDateUtil.getYearMonths(LocalDate.now());
yearMonths.forEach(yearMonth -> {
String startMonth = CommonDateUtil.getFormatYear(CommonDateUtil.toDateStartOfMonth(yearMonth));
String endMonth = CommonDateUtil.getFormatYear(CommonDateUtil.toDateEndOfMonth(yearMonth));
String selectMonth = sdf.format(CommonDateUtil.toDateEndOfMonth(yearMonth));
if(selectMonth.compareTo(nowMonth)<=0){
rs.executeQuery("select count(1) as sum from hrmresource where status < 4 and companystartdate <= ?" + where ,endMonth);
if (rs.next()) {
Integer sum = Util.getIntValue(rs.getString("sum"),0);
yData.add(sum);
}
monthData.add(selectMonth);
}
});
int max = Collections.max(yData);
int ceil =(int) Math.ceil((double) max / 5);
ceil = CommonUtils.roundUpToNearestTen(ceil);
int roundedMax = CommonUtils.roundedMax(ceil, 5);
return OptionVO.builder()
.titleText("各月份分部总人数")
.yMin(0)
.yMax(roundedMax)
.yInterval(ceil)
.yData(yData)
.xData(monthData)
.legendDataFirst(null)
.legendDataTwo(null)
.barSeriesData(null)
.barSeriesDataTwo(null)
.barSeriesDataThree(null)
.seriesData(null)
.build();
}
%>