假期余额

This commit is contained in:
钱涛 2023-11-10 10:55:38 +08:00
parent d86b00e5f7
commit eb61811766
1 changed files with 23 additions and 13 deletions

View File

@ -14,6 +14,7 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.general.BaseBean;
import weaver.general.Util;
@ -131,23 +132,29 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt
//假期余额信息
List<Map<String, String>> balanceOfLeaveDatas = getBalanceOfLeaveDatas(attend4Salary);
Map<String, String> balanceMap = SalaryEntityUtil.convert2Map(balanceOfLeaveDatas, m -> m.get("id"), m -> m.get("2"));
Map<String, Map<String, String>> balanceMap = SalaryEntityUtil.convert2Map(balanceOfLeaveDatas, m -> m.get("id"));
//给有考勤的赋值
List<String> attendEmpIds = list.stream().map(attend -> {
String resourceId = attend.get("resourceId");
attend.put("balanceOfLeave2", balanceMap.get(resourceId));
Map<String, String> map = balanceMap.getOrDefault(resourceId, new HashMap<>());
for (String key : map.keySet()) {
attend.put("balanceOfLeave_" + key, map.get(key));
}
return resourceId;
}).collect(Collectors.toList());
//没有考勤但有假期余额的人赋值
List<Map<String, String>> balanceOfLeaveList = balanceMap.keySet().stream()
List<Map<String, String>> balanceOfLeaveList = balanceMap.keySet().stream()
.filter(k -> !attendEmpIds.contains(k))
.map(k -> {
Map<String, String> map = new HashMap<>();
map.put("resourceId", k);
map.put("balanceOfLeave2", balanceMap.get(k));
return map;
Map<String, String> result = new HashMap<>();
result.put("resourceId", k);
Map<String, String> map = balanceMap.get(k);
for (String key : map.keySet()) {
result.put("balanceOfLeave_" + key, map.get(key));
}
return result;
})
.collect(Collectors.toList());
list.addAll(balanceOfLeaveList);
@ -167,13 +174,16 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt
paramsMap.put("status", "9");
paramsMap.put("isNoAccount", true);
List<Map<String, String>> columns = (List<Map<String, String>>) commandExecutor.execute(new GetSearchListCmd(paramsMap, user)).get("columns");
Map<String, String> map = Maps.newHashMapWithExpectedSize(2);
//年假
map.put("code", "balanceOfLeave" + 2);
map.put("name", columns.stream().filter(m -> "2".equals(m.get("key"))).findFirst().map(m -> m.get("title")).orElse("年假余额"));
List<Map<String, String>> balanceOfLeaveColumns = new ArrayList<>();
balanceOfLeaveColumns.add(map);
List<Map<String, String>> balanceOfLeaveColumns = columns.stream()
.filter(column -> NumberUtils.isCreatable(column.get("key")))
.map(column -> {
Map<String, String> map = Maps.newHashMapWithExpectedSize(2);
map.put("code", "balanceOfLeave_" + column.get("key"));
map.put("name", "假期余额-" + column.get("title"));
return map;
}).collect(Collectors.toList());
return balanceOfLeaveColumns;
}