124 lines
6.3 KiB
Java
124 lines
6.3 KiB
Java
//package com.engine.salary.entity.salaryacct.bo;
|
|
//
|
|
//import com.google.common.collect.Lists;
|
|
//import com.google.common.collect.Sets;
|
|
//import com.weaver.common.distribution.genid.IdGenerator;
|
|
//import com.weaver.hrm.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO;
|
|
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
|
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.po.TaxAgentPO;
|
|
//import com.weaver.hrm.salary.util.SalaryDateUtil;
|
|
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
|
|
//import com.weaver.teams.domain.user.SimpleEmployee;
|
|
//import org.apache.commons.collections4.CollectionUtils;
|
|
//import org.apache.commons.lang3.StringUtils;
|
|
//
|
|
//import java.time.LocalDateTime;
|
|
//import java.util.*;
|
|
//import java.util.stream.Collectors;
|
|
//
|
|
///**
|
|
// * @description: 薪资核算人员
|
|
// * @author: xiajun
|
|
// * @modified By: xiajun
|
|
// * @date: Created in 1/21/22 4:20 PM
|
|
// * @version:v1.0
|
|
// */
|
|
//public class SalaryAcctEmployeeBO {
|
|
//
|
|
// /**
|
|
// * 将薪资核算人员po转换成薪资核算人员列表dto
|
|
// *
|
|
// * @param salaryAccountingEmployees
|
|
// * @param taxAgents
|
|
// * @param simpleEmployees
|
|
// * @return
|
|
// */
|
|
// public static List<SalaryAccEmployeeListDTO> convert2EmployeeListDTO(List<SalaryAcctEmployeePO> salaryAccountingEmployees,
|
|
// List<TaxAgentPO> taxAgents,
|
|
// List<SimpleEmployee> simpleEmployees) {
|
|
// if (CollectionUtils.isEmpty(salaryAccountingEmployees)) {
|
|
// return Collections.emptyList();
|
|
// }
|
|
// Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
|
|
// Map<Long, SimpleEmployee> simpleEmployeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, SimpleEmployee::getId);
|
|
// return salaryAccountingEmployees.stream()
|
|
// .map(e -> {
|
|
// SimpleEmployee simpleEmployee = simpleEmployeeMap.get(e.getEmployeeId());
|
|
// if (simpleEmployee == null) {
|
|
// return SalaryAccEmployeeListDTO.builder()
|
|
// .id(e.getId())
|
|
// .employeeId(e.getId())
|
|
// .taxAgentId(e.getTaxAgentId())
|
|
// .taxAgentName(taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY))
|
|
// .build();
|
|
// }
|
|
// return SalaryAccEmployeeListDTO.builder()
|
|
// .id(e.getId())
|
|
// .employeeId(simpleEmployee.getEmployeeId())
|
|
// .employeeName(simpleEmployee.getUsername())
|
|
// .taxAgentId(e.getTaxAgentId())
|
|
// .taxAgentName(taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY))
|
|
// .departmentId(simpleEmployee.getDepartment().getId())
|
|
// .departmentName(simpleEmployee.getDepartment().getName())
|
|
// .status(simpleEmployee.getStatus().getDescription())
|
|
// .mobile(simpleEmployee.getMobile())
|
|
// .jobNum(simpleEmployee.getJobNum())
|
|
// .hireDate(SalaryDateUtil.getFormatLocalDate(simpleEmployee.getHiredate()))
|
|
// .dismissDate("")
|
|
// .build();
|
|
// }).collect(Collectors.toList());
|
|
// }
|
|
//
|
|
// /**
|
|
// * 转换成薪资核算人员的po
|
|
// *
|
|
// * @param employeeIds
|
|
// * @param salaryAcctRecord
|
|
// * @param salaryArchiveTaxAgentData
|
|
// * @param employeeId
|
|
// * @param tenantKey
|
|
// * @return
|
|
// */
|
|
// public static List<SalaryAcctEmployeePO> convert2EmployeePO(Collection<Long> employeeIds,
|
|
// SalaryAcctRecordPO salaryAcctRecord,
|
|
// List<SalaryArchiveDataDTO> salaryArchiveTaxAgentData,
|
|
// Long employeeId, String tenantKey) {
|
|
// if (CollectionUtils.isEmpty(employeeIds)) {
|
|
// return Collections.emptyList();
|
|
// }
|
|
// List<SalaryAcctEmployeePO> resultList = Lists.newArrayList();
|
|
// Map<Long, Set<List<SalaryArchiveTaxAgentDataDTO>>> empIdKeyTaxAgentMap = SalaryEntityUtil.group2Map(salaryArchiveTaxAgentData, SalaryArchiveDataDTO::getEmployeeId, SalaryArchiveDataDTO::getTaxAgents);
|
|
// LocalDateTime now = LocalDateTime.now();
|
|
// for (Long id : employeeIds) {
|
|
// Set<Long> taxAgentIds = Sets.newHashSet();
|
|
// Set<List<SalaryArchiveTaxAgentDataDTO>> taxAgentSet = empIdKeyTaxAgentMap.getOrDefault(id, Collections.emptySet());
|
|
// for (List<SalaryArchiveTaxAgentDataDTO> taxAgents : taxAgentSet) {
|
|
// taxAgentIds.addAll(SalaryEntityUtil.properties(taxAgents, SalaryArchiveTaxAgentDataDTO::getTaxAgentId));
|
|
// }
|
|
// if (CollectionUtils.isEmpty(taxAgentIds)) {
|
|
// taxAgentIds.add(0L);
|
|
// }
|
|
// for (Long taxAgentId : taxAgentIds) {
|
|
// SalaryAcctEmployeePO salaryAcctEmployee = SalaryAcctEmployeePO.builder()
|
|
// .id(IdGenerator.generate())
|
|
// .salaryAcctRecordId(salaryAcctRecord.getId())
|
|
// .salarySobId(salaryAcctRecord.getSalarySobId())
|
|
// .salaryMonth(salaryAcctRecord.getSalaryMonth())
|
|
// .employeeId(id)
|
|
// .taxAgentId(taxAgentId)
|
|
// .creator(employeeId)
|
|
// .createTime(now)
|
|
// .updateTime(now)
|
|
// .deleteType(0)
|
|
// .tenantKey(tenantKey)
|
|
// .build();
|
|
// resultList.add(salaryAcctEmployee);
|
|
// }
|
|
// }
|
|
// return resultList;
|
|
// }
|
|
//}
|