weaver-hrm-salary/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java

166 lines
5.3 KiB
Java
Raw Normal View History

2023-03-01 09:05:03 +08:00
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
2023-03-06 17:57:20 +08:00
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
2023-03-01 09:05:03 +08:00
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
2023-03-03 16:57:52 +08:00
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
2023-03-01 09:05:03 +08:00
import com.engine.salary.entity.extemp.po.ExtEmpPO;
2023-03-13 15:53:56 +08:00
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
2023-03-01 09:05:03 +08:00
import com.engine.salary.mapper.extemp.ExternalEmployeeMapper;
import com.engine.salary.service.ExtEmpService;
import com.engine.salary.util.db.MapperProxyFactory;
2023-03-03 16:57:52 +08:00
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
2023-03-13 15:53:56 +08:00
import com.google.common.collect.Lists;
2023-03-03 16:57:52 +08:00
import dm.jdbc.util.IdGenerator;
2023-03-01 09:05:03 +08:00
import org.apache.commons.collections4.CollectionUtils;
2023-03-03 16:57:52 +08:00
import org.springframework.beans.BeanUtils;
2023-03-01 09:05:03 +08:00
2023-03-08 16:36:47 +08:00
import java.util.ArrayList;
2023-03-01 09:05:03 +08:00
import java.util.Collection;
2023-03-03 16:57:52 +08:00
import java.util.Date;
2023-03-01 09:05:03 +08:00
import java.util.List;
2023-03-06 17:57:20 +08:00
import java.util.stream.Collectors;
2023-03-01 09:05:03 +08:00
/**
* 累计专项
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public class ExtEmpServiceImpl extends Service implements ExtEmpService {
private ExternalEmployeeMapper getExternalEmployeeMapper() {
return MapperProxyFactory.getProxy(ExternalEmployeeMapper.class);
}
@Override
public List<ExtEmpPO> list(ExtEmpQueryParam param) {
2023-03-03 16:57:52 +08:00
return getExternalEmployeeMapper().listSome(ExtEmpPO.builder().username(param.getUsername()).build());
2023-03-01 09:05:03 +08:00
}
@Override
2023-03-03 16:57:52 +08:00
public PageInfo<ExtEmpPO> listPage(ExtEmpQueryParam param) {
List<ExtEmpPO> extEmpPOS = list(param);
return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), extEmpPOS, ExtEmpPO.class);
}
@Override
public void save(ExtEmpSaveParam param) {
ExtEmpPO po = new ExtEmpPO();
BeanUtils.copyProperties(param, po);
po.setId(IdGenerator.generate());
2023-03-13 16:04:19 +08:00
po.setStatus("3");
2023-03-03 16:57:52 +08:00
po.setCreator((long) user.getUID());
po.setModifier((long) user.getUID());
Date now = new Date();
po.setCreateTime(now);
po.setUpdateTime(now);
po.setDeleteType(0);
2023-03-01 09:05:03 +08:00
getExternalEmployeeMapper().insertIgnoreNull(po);
}
@Override
2023-03-03 16:57:52 +08:00
public void update(ExtEmpSaveParam param) {
ExtEmpPO po = new ExtEmpPO();
BeanUtils.copyProperties(param, po);
po.setModifier((long) user.getUID());
Date now = new Date();
po.setUpdateTime(now);
2023-03-01 09:05:03 +08:00
getExternalEmployeeMapper().updateIgnoreNull(po);
}
@Override
public void delete(Collection<Long> ids) {
if (CollectionUtils.isNotEmpty(ids)) {
ids.forEach(getExternalEmployeeMapper()::delete);
}
}
2023-03-06 17:57:20 +08:00
2023-03-08 16:36:47 +08:00
@Override
public DataCollectionEmployee getEmployeeById(Long id) {
ExtEmpPO po = getExternalEmployeeMapper().getById(id);
return cover(po);
}
@Override
public List<DataCollectionEmployee> getEmployeeByIds(List<Long> ids) {
if (CollectionUtils.isEmpty(ids)) {
return new ArrayList<>();
}
List<ExtEmpPO> extEmpPOS = getExternalEmployeeMapper().listSome(ExtEmpPO.builder().ids(ids).build());
return coverList(extEmpPOS);
}
2023-03-13 15:53:56 +08:00
@Override
public List<DataCollectionEmployee> listByParams(List<SalarySobRangeEmpQueryParam> includeQueryParams) {
List<DataCollectionEmployee> emps = new ArrayList<>();
List<List<SalarySobRangeEmpQueryParam>> partition = Lists.partition(includeQueryParams, 100);
partition.forEach(list->{
emps.addAll(getExternalEmployeeMapper().listByParams(list));
});
return emps;
}
@Override
public List<DataCollectionEmployee> listEmployee() {
return getExternalEmployeeMapper().listEmployee();
}
@Override
public Collection<DataCollectionEmployee> getEmployeeByIdsAll(List<Long> ids) {
List<DataCollectionEmployee> employeeList = new ArrayList<>();
List<List<Long>> partition = Lists.partition(ids, 1000);
partition.forEach(e->{
List<DataCollectionEmployee> employeeByIdsAll = getExternalEmployeeMapper().getEmployeeByIdsAll(e);
employeeList.addAll(employeeByIdsAll);
});
return employeeList;
}
@Override
public Collection<DataCollectionEmployee> listAllForReport() {
return getExternalEmployeeMapper().listAllForReport();
}
2023-03-13 16:04:19 +08:00
@Override
public ExtEmpPO getById(Long id) {
return getExternalEmployeeMapper().getById(id);
}
2023-03-08 16:36:47 +08:00
public DataCollectionEmployee cover(ExtEmpPO extPo) {
if (extPo == null) {
return null;
}
DataCollectionEmployee employee = new DataCollectionEmployee();
BeanUtils.copyProperties(extPo, employee);
employee.setEmployeeId(extPo.getId());
return employee;
}
public List<DataCollectionEmployee> coverList(List<ExtEmpPO> extEmps) {
if (CollectionUtils.isEmpty(extEmps)) {
return new ArrayList<>();
}
2023-03-06 17:57:20 +08:00
return extEmps.stream().map(emp -> {
DataCollectionEmployee employee = new DataCollectionEmployee();
BeanUtils.copyProperties(emp, employee);
2023-03-08 16:36:47 +08:00
employee.setEmployeeId(emp.getId());
2023-03-06 17:57:20 +08:00
return employee;
}).collect(Collectors.toList());
}
2023-03-01 09:05:03 +08:00
}