package org.security.trans.dataStatistics.service;

import org.security.trans.dataStatistics.vo.HistogramDataVO;
import org.security.trans.dataStatistics.vo.PieChartDataVO;
import org.security.trans.basic.dto.EmployeeDTO;
import org.springblade.core.mp.support.Query;
import java.util.List;

/**
 * @author Create by wzf
 * @date 2022/5/23 14:45
 */
public interface IEmployeeDataService {
	/**
	 * 获取员工性别比列
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<PieChartDataVO> getSexData(EmployeeDTO employeeDTO, Query query);

	/**
	 * 年龄结构柱状图
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<HistogramDataVO> getAgeData(EmployeeDTO employeeDTO, Query query);

	/**
	 * 学历构成饼图
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<PieChartDataVO> getEducateData(EmployeeDTO employeeDTO, Query query);

	/**
	 * 企业工龄柱状图
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<HistogramDataVO> getSeniorityInEnterpriseData(EmployeeDTO employeeDTO, Query query);

	/**
	 * 行内工龄柱状图
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<HistogramDataVO> getProfessionalLengthOfServiceData(EmployeeDTO employeeDTO, Query query);

	/**
	 * 人防类型构成饼图
	 * @param employeeDTO 数据统计条件
	 * @param query
	 * @return
	 */
	List<PieChartDataVO> getCivilAirDefenseTypeData(EmployeeDTO employeeDTO, Query query);

	List<PieChartDataVO> getNationTypeData(EmployeeDTO employeeDTO);

	List<PieChartDataVO> getPoliticalOutlookTypeData(EmployeeDTO employeeDTO);
}
