Я работаю над приложением spring mvc, в котором мне нужно проиллюстрировать графические данные о зарплате за месяц, для этого я использую высокие графики, в высоких графиках нужно указать серию '
Я решил выбрать серию, например, для каждого месяца Валовый заработок, Валовый вычет и Чистая оплата
У меня уже есть готовый сервис, который отображает месячные значения, но я просто хочу серию месяцев, я хочу модификацию в моемсуществующий запрос, чтобы я мог связать все три серии в одном объекте.
это код сервиса Java, который в настоящее время выбирает только счетчик.
public AttOfficerDashboardDTO getDashboardCount(final String yearMonth, String refId) {
String query = "SELECT "
+ "Count(DISTINCT EMPLOYEE_ID) tot_emp, "
+ "SUM(NET_SALARY)net_salary, "
+ "SUM(GROSS_EARNING) gross_earn, "
+ "SUM(GROSS_DEDUCTION)gros_deduct "
+ "FROM EMPLOYEE_SALARY_SUMMARY "
+ "WHERE REFERENCE_ID= :REFERENCE_ID "
+ "AND YEAR_MONTH= :YEAR_MONTH ";
MapSqlParameterSource param = new MapSqlParameterSource();
param.addValue("YEAR_MONTH", yearMonth);
param.addValue("REFERENCE_ID", refId);
AttOfficerDashboardDTO dto = getNamedParameterJdbcTemplate().queryForObject(query, param, new RowMapper<AttOfficerDashboardDTO>() {
@Override
public AttOfficerDashboardDTO mapRow(ResultSet rs, int i) throws SQLException {
AttOfficerDashboardDTO dto = new AttOfficerDashboardDTO();
dto.setTotEmp(rs.getInt("tot_emp"));
dto.setGrossEarning(rs.getDouble("gross_earn"));
dto.setGrossDeduction(rs.getDouble("gros_deduct"));
dto.setGrossDeduction(rs.getDouble("gros_deduct"));
dto.setNetPay(rs.getDouble("net_salary"));
dto.setYearMonth(yearMonth);
return dto;
}
});
return dto;
Запрос:
SELECT
COUNT(DISTINCT employee_id) tot_emp,
SUM(net_salary) net_salary,
SUM(gross_earning) gross_earn,
SUM(gross_deduction) gros_deduct
FROM
employee_salary_summary
WHERE
reference_id =:reference_id
AND
year_month =:year_month