西部信托,个人薪资报表

This commit is contained in:
钱涛 2025-11-07 15:39:27 +08:00
parent 75ff6ba959
commit 702cb6f647
3 changed files with 51 additions and 4 deletions

View File

@ -0,0 +1 @@
salaryItemIds=1695204436120,1695204436123,1695204436124,1695204436125,1695204436126,1695204436127,1695204436128,1695204436129,1695204436130,1695204436131,1695204436132,1695204436133,1695204436134,1695204436135,1695204436136,

View File

@ -134,4 +134,12 @@ public class SalaryStatisticsEmployeeController {
throw e;
}
}
@POST
@Path("/salaryReport")
@Produces(MediaType.APPLICATION_JSON)
public String salaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryStatisticsEmployeeSalaryQueryParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<SalaryStatisticsEmployeeSalaryQueryParam, Map<String, Object>>(user).run(getSalaryStatisticsEmployeeWrapper(user)::salaryReport, queryParam);
}
}

View File

@ -42,15 +42,13 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.file.ImageFileManager;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import static com.engine.salary.enums.setting.PageListSettingPageEnum.SALARY_DETAILS_REPORT;
@ -361,4 +359,44 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
//
// return map;
// }
public Map<String, Object> salaryReport(SalaryStatisticsEmployeeSalaryQueryParam queryParam) {
Map<String, Object> resultMap = Maps.newHashMap();
if (StringUtils.isBlank(queryParam.getStartDateStr()) || StringUtils.isBlank(queryParam.getEndDateStr())) {
return resultMap;
}
// 获取发薪人员
PageInfo<SalaryAcctEmployeePO> salaryAcctEmployeePageInfo = getSalaryStatisticsEmployeeService(user).listSalaryAcctEmp(queryParam);
// 获取薪资核算结果
SalaryStatisticsEmployeeDetailResultDTO salaryStatisticsEmployeeDetailResult = getSalaryStatisticsEmployeeService(user).getDetailSalaryAcctResultByAcctEmp(salaryAcctEmployeePageInfo.getList());
List<Map<String, Object>> records = getSalaryStatisticsEmployeeService(user).listDetailPage(salaryStatisticsEmployeeDetailResult, null);
PageInfo<Map<String, Object>> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize());
pageInfo.setList(records);
pageInfo.setTotal(salaryAcctEmployeePageInfo.getTotal());
List<WeaTableColumn> weaTableColumns = new ArrayList<>();
weaTableColumns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(87614, "薪资所属月"), "salaryMonth"));
weaTableColumns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "姓名"), "userName"));
weaTableColumns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "部门"), "department"));
weaTableColumns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "工号"), "workCode"));
String salaryItemIds = new BaseBean().getPropValue("xbxtSalaryReport", "salaryItemIds");
List<Long> ids = Arrays.stream(salaryItemIds.split(",")).map(Long::valueOf).collect(Collectors.toList());
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listByIds(ids);
List<WeaTableColumn> salaryItemCols = salaryItemList
.stream()
.map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX))
.collect(Collectors.toList());
weaTableColumns.addAll(salaryItemCols);
// 结果
resultMap.put("columns", weaTableColumns);
resultMap.put("pageInfo", pageInfo);
return resultMap;
}
}