薪资明细接口优化
This commit is contained in:
parent
7aa3d12d4f
commit
ce80905ad0
|
|
@ -180,31 +180,8 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
SalaryStatisticsEmployeeDetailResultDTO salaryStatisticsEmployeeDetailResult = getSalaryStatisticsEmployeeService(user).getDetailSalaryAcctResultByAcctEmp(salaryAcctEmployeePageInfo.getList());
|
||||
List<Map<String, Object>> records = getSalaryStatisticsEmployeeService(user).listDetailPage(salaryStatisticsEmployeeDetailResult, null);
|
||||
|
||||
Map<String, Object> countResultMap = Maps.newHashMap();
|
||||
if (CollectionUtils.isNotEmpty(records)) {
|
||||
List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList();
|
||||
for (SalaryItemPO item : salaryItems) {
|
||||
BigDecimal sumBigDecimal = new BigDecimal(SalaryStatisticsReportBO.ZERO);
|
||||
String itemKey = item.getId() + SalaryConstant.DYNAMIC_SUFFIX;
|
||||
for (Map<String, Object> record : records) {
|
||||
if (record.containsKey(itemKey)) {
|
||||
if (Objects.nonNull(record.get(itemKey)) && StringUtils.isNotEmpty(record.get(itemKey).toString()) && NumberUtils.isCreatable(record.get(itemKey).toString())) {
|
||||
sumBigDecimal = sumBigDecimal.add(new BigDecimal(record.get(itemKey).toString()));
|
||||
record.put(itemKey, record.get(itemKey).toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
// 薪资项目合计
|
||||
if (queryParam.isExport()) {
|
||||
countResultMap.put(itemKey, sumBigDecimal.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
PageInfo<Map<String, Object>> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
pageInfo.setList(records);
|
||||
if (queryParam.isExport()) {
|
||||
pageInfo.setList(records);
|
||||
}
|
||||
pageInfo.setTotal(salaryAcctEmployeePageInfo.getTotal());
|
||||
|
||||
List<WeaTableColumn> weaTableColumns;
|
||||
|
|
@ -219,6 +196,20 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
// 结果
|
||||
resultMap.put("columns", weaTableColumns);
|
||||
if (queryParam.isExport()) {
|
||||
Map<String, Object> countResultMap = Maps.newHashMap();
|
||||
List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList();
|
||||
if (CollectionUtils.isNotEmpty(records)) {
|
||||
for (SalaryItemPO item : salaryItems) {
|
||||
BigDecimal sumBigDecimal = new BigDecimal(SalaryStatisticsReportBO.ZERO);
|
||||
String itemKey = item.getId() + SalaryConstant.DYNAMIC_SUFFIX;
|
||||
for (Map<String, Object> record : records) {
|
||||
if (Objects.nonNull(record.get(itemKey)) && NumberUtils.isCreatable(record.get(itemKey).toString())) {
|
||||
sumBigDecimal = sumBigDecimal.add(new BigDecimal(record.get(itemKey).toString()));
|
||||
}
|
||||
}
|
||||
countResultMap.put(itemKey, sumBigDecimal.toString());
|
||||
}
|
||||
}
|
||||
resultMap.put("salaryItems", salaryStatisticsEmployeeDetailResult.getSalaryItemList());
|
||||
resultMap.put("countResult", countResultMap);
|
||||
} else {
|
||||
|
|
@ -275,7 +266,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
String itemKey = item.getId() + SalaryConstant.DYNAMIC_SUFFIX;
|
||||
for (Map<String, Object> record : records) {
|
||||
if (record.containsKey(itemKey)) {
|
||||
if (Objects.nonNull(record.get(itemKey)) && StringUtils.isNotEmpty(record.get(itemKey).toString()) && NumberUtils.isCreatable(record.get(itemKey).toString())) {
|
||||
if (Objects.nonNull(record.get(itemKey)) && NumberUtils.isCreatable(record.get(itemKey).toString())) {
|
||||
sumBigDecimal = sumBigDecimal.add(new BigDecimal(record.get(itemKey).toString()));
|
||||
}
|
||||
}
|
||||
|
|
@ -313,7 +304,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
SalaryItemPO salaryItemPO = salaryItemMap.get(column.getColumn());
|
||||
Integer pattern = salaryItemPO == null ? 0 : salaryItemPO.getPattern();
|
||||
String dataType = salaryItemPO == null ? SalaryDataTypeEnum.STRING.getValue() : salaryItemPO.getDataType();
|
||||
finalColumns.add(new WeaTableColumnGroup("100px", column.getText(), column.getColumn(), "false", pattern, dataType));
|
||||
finalColumns.add(new WeaTableColumnGroup("100px", Util.formatMultiLang(column.getText()), column.getColumn(), "false", pattern, dataType));
|
||||
}
|
||||
});
|
||||
List<List<Object>> rowList = new ArrayList<>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue