package com.engine.salary.biz; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.hrm.DeptInfo; import com.engine.salary.entity.hrm.PositionInfo; import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.mapper.datacollection.EmployMapper; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; import weaver.general.BaseBean; import java.util.ArrayList; import java.util.List; public class EmployBiz extends BaseBean { public List listAll(){ SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.listAll(); } finally { sqlSession.close(); } } /** * 查询人员列表 * * @return */ public List listEmployee() { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.listEmployee(); } finally { sqlSession.close(); } } public List getEmployeeByIds(List list) { if (CollectionUtils.isEmpty(list)) { return new ArrayList<>(); } SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { List dataList = new ArrayList<>(); EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); List> partition = Lists.partition(list, 1000); for (List longs : partition) { dataList.addAll(mapper.getEmployeeByIds(longs)); } return dataList; } finally { sqlSession.close(); } } public List getEmployeeByIdsAll(List list) { if (CollectionUtils.isEmpty(list)) { return new ArrayList<>(); } SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { List employeeList = new ArrayList<>(); EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); List> partition = Lists.partition(list, 1000); partition.forEach(e->{ List employeeByIdsAll = mapper.getEmployeeByIdsAll(e); employeeList.addAll(employeeByIdsAll); }); return employeeList; } finally { sqlSession.close(); } } /** * 岗位信息 * * @param list * @return */ public List listPositionInfo(List list) { if (CollectionUtils.isEmpty(list)) { return new ArrayList<>(); } SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.listPositionInfo(list); } finally { sqlSession.close(); } } public List listByParams(List includeQueryParams) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); List emps = new ArrayList<>(); List> partition = Lists.partition(includeQueryParams, 100); partition.forEach(list->{ emps.addAll(mapper.listByParams(list)); }); return emps; } finally { sqlSession.close(); } } public DataCollectionEmployee getEmployeeById(Long employeeId) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.getEmployeeById(employeeId); } finally { sqlSession.close(); } } public List getDeptInfoList(List list) { if (CollectionUtils.isEmpty(list)) { return new ArrayList<>(); } SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.getDeptInfoList(list); } finally { sqlSession.close(); } } public List getSubCompanyInfoList(List list) { if (CollectionUtils.isEmpty(list)) { return new ArrayList<>(); } SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.getSubCompanyInfoList(list); } finally { sqlSession.close(); } } public List listAllForReport() { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.listAllForReport(); } finally { sqlSession.close(); } } public List listByDismissDate(String dismissDate) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); return mapper.listByDismissDate(dismissDate); } finally { sqlSession.close(); } } }